@openeuropa/bcl-bootstrap 1.10.7 → 1.10.9

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 (53) hide show
  1. package/bin/build-plugins.js +3 -2
  2. package/bootstrap-icons.svg +1 -1
  3. package/icons/calendar3-event-fill.svg +1 -1
  4. package/icons/calendar3-range-fill.svg +1 -1
  5. package/icons/calendar3-week-fill.svg +1 -1
  6. package/icons/lock-fill.svg +1 -1
  7. package/icons/lock.svg +1 -1
  8. package/icons/meta.svg +1 -1
  9. package/icons/unlock-fill.svg +1 -1
  10. package/icons/unlock.svg +1 -1
  11. package/js/dist/alert.js.map +1 -1
  12. package/js/dist/base-component.js +1 -1
  13. package/js/dist/base-component.js.map +1 -1
  14. package/js/dist/button.js.map +1 -1
  15. package/js/dist/carousel.js.map +1 -1
  16. package/js/dist/collapse.js.map +1 -1
  17. package/js/dist/dependency/manipulator.js.map +1 -1
  18. package/js/dist/dependency/util/index.js.map +1 -1
  19. package/js/dist/dom/data.js.map +1 -1
  20. package/js/dist/dom/event-handler.js.map +1 -1
  21. package/js/dist/dom/manipulator.js.map +1 -1
  22. package/js/dist/dom/selector-engine.js.map +1 -1
  23. package/js/dist/dropdown.js +0 -3
  24. package/js/dist/dropdown.js.map +1 -1
  25. package/js/dist/modal.js.map +1 -1
  26. package/js/dist/offcanvas.js.map +1 -1
  27. package/js/dist/popover.js.map +1 -1
  28. package/js/dist/scrollspy-legacy.js.map +1 -1
  29. package/js/dist/scrollspy.js.map +1 -1
  30. package/js/dist/tab.js.map +1 -1
  31. package/js/dist/toast.js.map +1 -1
  32. package/js/dist/tooltip.js +1 -0
  33. package/js/dist/tooltip.js.map +1 -1
  34. package/js/dist/util/backdrop.js.map +1 -1
  35. package/js/dist/util/component-functions.js.map +1 -1
  36. package/js/dist/util/config.js.map +1 -1
  37. package/js/dist/util/focustrap.js.map +1 -1
  38. package/js/dist/util/index.js.map +1 -1
  39. package/js/dist/util/sanitizer.js +0 -1
  40. package/js/dist/util/sanitizer.js.map +1 -1
  41. package/js/dist/util/scrollbar.js.map +1 -1
  42. package/js/dist/util/swipe.js.map +1 -1
  43. package/js/dist/util/template-factory.js.map +1 -1
  44. package/js/src/base-component.js +1 -1
  45. package/js/src/dropdown.js +0 -3
  46. package/js/src/tooltip.js +1 -0
  47. package/js/src/util/sanitizer.js +0 -1
  48. package/package.json +7 -7
  49. package/scss/_functions.scss +1 -1
  50. package/scss/_reboot.scss +6 -0
  51. package/scss/_spinners.scss +1 -0
  52. package/scss/mixins/_banner.scss +1 -1
  53. package/scss/mixins/_box-shadow.scss +11 -5
@@ -1 +1 @@
1
- {"version":3,"file":"event-handler.js","sources":["../../src/dom/event-handler.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index.js'\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n const uid = makeEventUid(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n hydrateObj(event, { delegateTarget: element })\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (const domElement of domElements) {\n if (domElement !== target) {\n continue\n }\n\n hydrateObj(event, { delegateTarget: target })\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, selector, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n return Object.values(events)\n .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n const isDelegated = typeof handler === 'string'\n // TODO: tooltip passes `false` instead of selector, so we need to check\n const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n let typeEvent = getTypeEvent(originalTypeEvent)\n\n if (!nativeEvents.has(typeEvent)) {\n typeEvent = originalTypeEvent\n }\n\n return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n if (originalTypeEvent in customEvents) {\n const wrapFunction = fn => {\n return function (event) {\n if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n return fn.call(this, event)\n }\n }\n }\n\n callable = wrapFunction(callable)\n }\n\n const events = getElementEvents(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n if (previousFunction) {\n previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n return\n }\n\n const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = isDelegated ?\n bootstrapDelegationHandler(element, handler, callable) :\n bootstrapHandler(element, callable)\n\n fn.delegationSelector = isDelegated ? handler : null\n fn.callable = callable\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n if (handlerKey.includes(namespace)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n }\n }\n}\n\nfunction getTypeEvent(event) {\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n event = event.replace(stripNameRegex, '')\n return customEvents[event] || event\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, false)\n },\n\n one(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFunction) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getElementEvents(element)\n const storeElementEvent = events[typeEvent] || {}\n const isNamespace = originalTypeEvent.startsWith('.')\n\n if (typeof callable !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!Object.keys(storeElementEvent).length) {\n return\n }\n\n removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n return\n }\n\n if (isNamespace) {\n for (const elementEvent of Object.keys(events)) {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n }\n }\n\n for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n }\n }\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const $ = getjQuery()\n const typeEvent = getTypeEvent(event)\n const inNamespace = event !== typeEvent\n\n let jQueryEvent = null\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n const evt = hydrateObj(new Event(event, { bubbles, cancelable: true }), args)\n\n if (defaultPrevented) {\n evt.preventDefault()\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && jQueryEvent) {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n for (const [key, value] of Object.entries(meta)) {\n try {\n obj[key] = value\n } catch {\n Object.defineProperty(obj, key, {\n configurable: true,\n get() {\n return value\n }\n })\n }\n }\n\n return obj\n}\n\nexport default EventHandler\n"],"names":["namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","element","uid","getElementEvents","bootstrapHandler","fn","handler","event","hydrateObj","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","selector","domElements","querySelectorAll","target","parentNode","domElement","findHandler","events","callable","delegationSelector","Object","values","find","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","has","addHandler","wrapFunction","relatedTarget","contains","call","handlers","previousFunction","replace","addEventListener","removeHandler","removeEventListener","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","keys","length","elementEvent","slice","keyHandlers","trigger","args","$","getjQuery","jQueryEvent","bubbles","nativeDispatch","defaultPrevented","Event","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","evt","cancelable","preventDefault","dispatchEvent","obj","meta","key","value","defineProperty","configurable","get"],"mappings":"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"}
1
+ {"version":3,"file":"event-handler.js","sources":["../../src/dom/event-handler.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } from '../util/index.js'\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n mouseenter: 'mouseover',\n mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n 'click',\n 'dblclick',\n 'mouseup',\n 'mousedown',\n 'contextmenu',\n 'mousewheel',\n 'DOMMouseScroll',\n 'mouseover',\n 'mouseout',\n 'mousemove',\n 'selectstart',\n 'selectend',\n 'keydown',\n 'keypress',\n 'keyup',\n 'orientationchange',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'pointerdown',\n 'pointermove',\n 'pointerup',\n 'pointerleave',\n 'pointercancel',\n 'gesturestart',\n 'gesturechange',\n 'gestureend',\n 'focus',\n 'blur',\n 'change',\n 'reset',\n 'select',\n 'submit',\n 'focusin',\n 'focusout',\n 'load',\n 'unload',\n 'beforeunload',\n 'resize',\n 'move',\n 'DOMContentLoaded',\n 'readystatechange',\n 'error',\n 'abort',\n 'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n const uid = makeEventUid(element)\n\n element.uidEvent = uid\n eventRegistry[uid] = eventRegistry[uid] || {}\n\n return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n return function handler(event) {\n hydrateObj(event, { delegateTarget: element })\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, fn)\n }\n\n return fn.apply(element, [event])\n }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n return function handler(event) {\n const domElements = element.querySelectorAll(selector)\n\n for (let { target } = event; target && target !== this; target = target.parentNode) {\n for (const domElement of domElements) {\n if (domElement !== target) {\n continue\n }\n\n hydrateObj(event, { delegateTarget: target })\n\n if (handler.oneOff) {\n EventHandler.off(element, event.type, selector, fn)\n }\n\n return fn.apply(target, [event])\n }\n }\n }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n return Object.values(events)\n .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n const isDelegated = typeof handler === 'string'\n // TODO: tooltip passes `false` instead of selector, so we need to check\n const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n let typeEvent = getTypeEvent(originalTypeEvent)\n\n if (!nativeEvents.has(typeEvent)) {\n typeEvent = originalTypeEvent\n }\n\n return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n if (originalTypeEvent in customEvents) {\n const wrapFunction = fn => {\n return function (event) {\n if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n return fn.call(this, event)\n }\n }\n }\n\n callable = wrapFunction(callable)\n }\n\n const events = getElementEvents(element)\n const handlers = events[typeEvent] || (events[typeEvent] = {})\n const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n if (previousFunction) {\n previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n return\n }\n\n const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n const fn = isDelegated ?\n bootstrapDelegationHandler(element, handler, callable) :\n bootstrapHandler(element, callable)\n\n fn.delegationSelector = isDelegated ? handler : null\n fn.callable = callable\n fn.oneOff = oneOff\n fn.uidEvent = uid\n handlers[uid] = fn\n\n element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n if (!fn) {\n return\n }\n\n element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n const storeElementEvent = events[typeEvent] || {}\n\n for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n if (handlerKey.includes(namespace)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n }\n }\n}\n\nfunction getTypeEvent(event) {\n // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n event = event.replace(stripNameRegex, '')\n return customEvents[event] || event\n}\n\nconst EventHandler = {\n on(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, false)\n },\n\n one(element, event, handler, delegationFunction) {\n addHandler(element, event, handler, delegationFunction, true)\n },\n\n off(element, originalTypeEvent, handler, delegationFunction) {\n if (typeof originalTypeEvent !== 'string' || !element) {\n return\n }\n\n const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n const inNamespace = typeEvent !== originalTypeEvent\n const events = getElementEvents(element)\n const storeElementEvent = events[typeEvent] || {}\n const isNamespace = originalTypeEvent.startsWith('.')\n\n if (typeof callable !== 'undefined') {\n // Simplest case: handler is passed, remove that listener ONLY.\n if (!Object.keys(storeElementEvent).length) {\n return\n }\n\n removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n return\n }\n\n if (isNamespace) {\n for (const elementEvent of Object.keys(events)) {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n }\n }\n\n for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n }\n }\n },\n\n trigger(element, event, args) {\n if (typeof event !== 'string' || !element) {\n return null\n }\n\n const $ = getjQuery()\n const typeEvent = getTypeEvent(event)\n const inNamespace = event !== typeEvent\n\n let jQueryEvent = null\n let bubbles = true\n let nativeDispatch = true\n let defaultPrevented = false\n\n if (inNamespace && $) {\n jQueryEvent = $.Event(event, args)\n\n $(element).trigger(jQueryEvent)\n bubbles = !jQueryEvent.isPropagationStopped()\n nativeDispatch = !jQueryEvent.isImmediatePropagationStopped()\n defaultPrevented = jQueryEvent.isDefaultPrevented()\n }\n\n const evt = hydrateObj(new Event(event, { bubbles, cancelable: true }), args)\n\n if (defaultPrevented) {\n evt.preventDefault()\n }\n\n if (nativeDispatch) {\n element.dispatchEvent(evt)\n }\n\n if (evt.defaultPrevented && jQueryEvent) {\n jQueryEvent.preventDefault()\n }\n\n return evt\n }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n for (const [key, value] of Object.entries(meta)) {\n try {\n obj[key] = value\n } catch {\n Object.defineProperty(obj, key, {\n configurable: true,\n get() {\n return value\n }\n })\n }\n }\n\n return obj\n}\n\nexport default EventHandler\n"],"names":["namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","element","uid","getElementEvents","bootstrapHandler","fn","handler","event","hydrateObj","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","selector","domElements","querySelectorAll","target","parentNode","domElement","findHandler","events","callable","delegationSelector","Object","values","find","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","has","addHandler","wrapFunction","relatedTarget","contains","call","handlers","previousFunction","replace","addEventListener","removeHandler","removeEventListener","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","keys","length","elementEvent","slice","keyHandlers","trigger","args","$","getjQuery","jQueryEvent","bubbles","nativeDispatch","defaultPrevented","Event","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","evt","cancelable","preventDefault","dispatchEvent","obj","meta","key","value","defineProperty","configurable","get"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"manipulator.js","sources":["../../src/dom/manipulator.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n if (value === 'true') {\n return true\n }\n\n if (value === 'false') {\n return false\n }\n\n if (value === Number(value).toString()) {\n return Number(value)\n }\n\n if (value === '' || value === 'null') {\n return null\n }\n\n if (typeof value !== 'string') {\n return value\n }\n\n try {\n return JSON.parse(decodeURIComponent(value))\n } catch {\n return value\n }\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {}\n const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n for (const key of bsKeys) {\n let pureKey = key.replace(/^bs/, '')\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1)\n attributes[pureKey] = normalizeData(element.dataset[key])\n }\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n }\n}\n\nexport default Manipulator\n"],"names":["normalizeData","value","Number","toString","JSON","parse","decodeURIComponent","normalizeDataKey","key","replace","chr","toLowerCase","Manipulator","setDataAttribute","element","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","Object","keys","dataset","filter","startsWith","pureKey","charAt","slice","getDataAttribute","getAttribute"],"mappings":";;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;EAEA,SAASA,aAAaA,CAACC,KAAK,EAAE;IAC5B,IAAIA,KAAK,KAAK,MAAM,EAAE;EACpB,IAAA,OAAO,IAAI;EACb;IAEA,IAAIA,KAAK,KAAK,OAAO,EAAE;EACrB,IAAA,OAAO,KAAK;EACd;IAEA,IAAIA,KAAK,KAAKC,MAAM,CAACD,KAAK,CAAC,CAACE,QAAQ,EAAE,EAAE;MACtC,OAAOD,MAAM,CAACD,KAAK,CAAC;EACtB;EAEA,EAAA,IAAIA,KAAK,KAAK,EAAE,IAAIA,KAAK,KAAK,MAAM,EAAE;EACpC,IAAA,OAAO,IAAI;EACb;EAEA,EAAA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;EAC7B,IAAA,OAAOA,KAAK;EACd;IAEA,IAAI;MACF,OAAOG,IAAI,CAACC,KAAK,CAACC,kBAAkB,CAACL,KAAK,CAAC,CAAC;EAC9C,GAAC,CAAC,MAAM;EACN,IAAA,OAAOA,KAAK;EACd;EACF;EAEA,SAASM,gBAAgBA,CAACC,GAAG,EAAE;EAC7B,EAAA,OAAOA,GAAG,CAACC,OAAO,CAAC,QAAQ,EAAEC,GAAG,IAAI,CAAA,CAAA,EAAIA,GAAG,CAACC,WAAW,EAAE,EAAE,CAAC;EAC9D;AAEA,QAAMC,WAAW,GAAG;EAClBC,EAAAA,gBAAgBA,CAACC,OAAO,EAAEN,GAAG,EAAEP,KAAK,EAAE;MACpCa,OAAO,CAACC,YAAY,CAAC,CAAWR,QAAAA,EAAAA,gBAAgB,CAACC,GAAG,CAAC,CAAA,CAAE,EAAEP,KAAK,CAAC;KAChE;EAEDe,EAAAA,mBAAmBA,CAACF,OAAO,EAAEN,GAAG,EAAE;MAChCM,OAAO,CAACG,eAAe,CAAC,CAAA,QAAA,EAAWV,gBAAgB,CAACC,GAAG,CAAC,CAAA,CAAE,CAAC;KAC5D;IAEDU,iBAAiBA,CAACJ,OAAO,EAAE;MACzB,IAAI,CAACA,OAAO,EAAE;EACZ,MAAA,OAAO,EAAE;EACX;MAEA,MAAMK,UAAU,GAAG,EAAE;EACrB,IAAA,MAAMC,MAAM,GAAGC,MAAM,CAACC,IAAI,CAACR,OAAO,CAACS,OAAO,CAAC,CAACC,MAAM,CAAChB,GAAG,IAAIA,GAAG,CAACiB,UAAU,CAAC,IAAI,CAAC,IAAI,CAACjB,GAAG,CAACiB,UAAU,CAAC,UAAU,CAAC,CAAC;EAE9G,IAAA,KAAK,MAAMjB,GAAG,IAAIY,MAAM,EAAE;QACxB,IAAIM,OAAO,GAAGlB,GAAG,CAACC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;EACpCiB,MAAAA,OAAO,GAAGA,OAAO,CAACC,MAAM,CAAC,CAAC,CAAC,CAAChB,WAAW,EAAE,GAAGe,OAAO,CAACE,KAAK,CAAC,CAAC,CAAC;EAC5DT,MAAAA,UAAU,CAACO,OAAO,CAAC,GAAG1B,aAAa,CAACc,OAAO,CAACS,OAAO,CAACf,GAAG,CAAC,CAAC;EAC3D;EAEA,IAAA,OAAOW,UAAU;KAClB;EAEDU,EAAAA,gBAAgBA,CAACf,OAAO,EAAEN,GAAG,EAAE;EAC7B,IAAA,OAAOR,aAAa,CAACc,OAAO,CAACgB,YAAY,CAAC,CAAWvB,QAAAA,EAAAA,gBAAgB,CAACC,GAAG,CAAC,CAAA,CAAE,CAAC,CAAC;EAChF;EACF;;;;;;;;"}
1
+ {"version":3,"file":"manipulator.js","sources":["../../src/dom/manipulator.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n if (value === 'true') {\n return true\n }\n\n if (value === 'false') {\n return false\n }\n\n if (value === Number(value).toString()) {\n return Number(value)\n }\n\n if (value === '' || value === 'null') {\n return null\n }\n\n if (typeof value !== 'string') {\n return value\n }\n\n try {\n return JSON.parse(decodeURIComponent(value))\n } catch {\n return value\n }\n}\n\nfunction normalizeDataKey(key) {\n return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n setDataAttribute(element, key, value) {\n element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n },\n\n removeDataAttribute(element, key) {\n element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n },\n\n getDataAttributes(element) {\n if (!element) {\n return {}\n }\n\n const attributes = {}\n const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n for (const key of bsKeys) {\n let pureKey = key.replace(/^bs/, '')\n pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1)\n attributes[pureKey] = normalizeData(element.dataset[key])\n }\n\n return attributes\n },\n\n getDataAttribute(element, key) {\n return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n }\n}\n\nexport default Manipulator\n"],"names":["normalizeData","value","Number","toString","JSON","parse","decodeURIComponent","normalizeDataKey","key","replace","chr","toLowerCase","Manipulator","setDataAttribute","element","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","Object","keys","dataset","filter","startsWith","pureKey","charAt","slice","getDataAttribute","getAttribute"],"mappings":";;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;EAEA,SAASA,aAAaA,CAACC,KAAK,EAAE;IAC5B,IAAIA,KAAK,KAAK,MAAM,EAAE;EACpB,IAAA,OAAO,IAAI;EACb,EAAA;IAEA,IAAIA,KAAK,KAAK,OAAO,EAAE;EACrB,IAAA,OAAO,KAAK;EACd,EAAA;IAEA,IAAIA,KAAK,KAAKC,MAAM,CAACD,KAAK,CAAC,CAACE,QAAQ,EAAE,EAAE;MACtC,OAAOD,MAAM,CAACD,KAAK,CAAC;EACtB,EAAA;EAEA,EAAA,IAAIA,KAAK,KAAK,EAAE,IAAIA,KAAK,KAAK,MAAM,EAAE;EACpC,IAAA,OAAO,IAAI;EACb,EAAA;EAEA,EAAA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;EAC7B,IAAA,OAAOA,KAAK;EACd,EAAA;IAEA,IAAI;MACF,OAAOG,IAAI,CAACC,KAAK,CAACC,kBAAkB,CAACL,KAAK,CAAC,CAAC;EAC9C,EAAA,CAAC,CAAC,MAAM;EACN,IAAA,OAAOA,KAAK;EACd,EAAA;EACF;EAEA,SAASM,gBAAgBA,CAACC,GAAG,EAAE;EAC7B,EAAA,OAAOA,GAAG,CAACC,OAAO,CAAC,QAAQ,EAAEC,GAAG,IAAI,CAAA,CAAA,EAAIA,GAAG,CAACC,WAAW,EAAE,EAAE,CAAC;EAC9D;AAEA,QAAMC,WAAW,GAAG;EAClBC,EAAAA,gBAAgBA,CAACC,OAAO,EAAEN,GAAG,EAAEP,KAAK,EAAE;MACpCa,OAAO,CAACC,YAAY,CAAC,CAAA,QAAA,EAAWR,gBAAgB,CAACC,GAAG,CAAC,CAAA,CAAE,EAAEP,KAAK,CAAC;IACjE,CAAC;EAEDe,EAAAA,mBAAmBA,CAACF,OAAO,EAAEN,GAAG,EAAE;MAChCM,OAAO,CAACG,eAAe,CAAC,CAAA,QAAA,EAAWV,gBAAgB,CAACC,GAAG,CAAC,CAAA,CAAE,CAAC;IAC7D,CAAC;IAEDU,iBAAiBA,CAACJ,OAAO,EAAE;MACzB,IAAI,CAACA,OAAO,EAAE;EACZ,MAAA,OAAO,EAAE;EACX,IAAA;MAEA,MAAMK,UAAU,GAAG,EAAE;EACrB,IAAA,MAAMC,MAAM,GAAGC,MAAM,CAACC,IAAI,CAACR,OAAO,CAACS,OAAO,CAAC,CAACC,MAAM,CAAChB,GAAG,IAAIA,GAAG,CAACiB,UAAU,CAAC,IAAI,CAAC,IAAI,CAACjB,GAAG,CAACiB,UAAU,CAAC,UAAU,CAAC,CAAC;EAE9G,IAAA,KAAK,MAAMjB,GAAG,IAAIY,MAAM,EAAE;QACxB,IAAIM,OAAO,GAAGlB,GAAG,CAACC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;EACpCiB,MAAAA,OAAO,GAAGA,OAAO,CAACC,MAAM,CAAC,CAAC,CAAC,CAAChB,WAAW,EAAE,GAAGe,OAAO,CAACE,KAAK,CAAC,CAAC,CAAC;EAC5DT,MAAAA,UAAU,CAACO,OAAO,CAAC,GAAG1B,aAAa,CAACc,OAAO,CAACS,OAAO,CAACf,GAAG,CAAC,CAAC;EAC3D,IAAA;EAEA,IAAA,OAAOW,UAAU;IACnB,CAAC;EAEDU,EAAAA,gBAAgBA,CAACf,OAAO,EAAEN,GAAG,EAAE;EAC7B,IAAA,OAAOR,aAAa,CAACc,OAAO,CAACgB,YAAY,CAAC,CAAA,QAAA,EAAWvB,gBAAgB,CAACC,GAAG,CAAC,CAAA,CAAE,CAAC,CAAC;EAChF,EAAA;EACF;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"selector-engine.js","sources":["../../src/dom/selector-engine.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttribute = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n }\n\n selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n }\n\n return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null\n}\n\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector)\n },\n\n children(element, selector) {\n return [].concat(...element.children).filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n let ancestor = element.parentNode.closest(selector)\n\n while (ancestor) {\n parents.push(ancestor)\n ancestor = ancestor.parentNode.closest(selector)\n }\n\n return parents\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n // TODO: this is now unused; remove later along with prev()\n next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (next.matches(selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n },\n\n focusableChildren(element) {\n const focusables = [\n 'a',\n 'button',\n 'input',\n 'textarea',\n 'select',\n 'details',\n '[tabindex]',\n '[contenteditable=\"true\"]'\n ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n },\n\n getSelectorFromElement(element) {\n const selector = getSelector(element)\n\n if (selector) {\n return SelectorEngine.findOne(selector) ? selector : null\n }\n\n return null\n },\n\n getElementFromSelector(element) {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.findOne(selector) : null\n },\n\n getMultipleElementsFromSelector(element) {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.find(selector) : []\n }\n}\n\nexport default SelectorEngine\n"],"names":["getSelector","element","selector","getAttribute","hrefAttribute","includes","startsWith","split","trim","map","sel","parseSelector","join","SelectorEngine","find","document","documentElement","concat","Element","prototype","querySelectorAll","call","findOne","querySelector","children","filter","child","matches","parents","ancestor","parentNode","closest","push","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","el","isDisabled","isVisible","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector"],"mappings":"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"}
1
+ {"version":3,"file":"selector-engine.js","sources":["../../src/dom/selector-engine.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n let selector = element.getAttribute('data-bs-target')\n\n if (!selector || selector === '#') {\n let hrefAttribute = element.getAttribute('href')\n\n // The only valid content that could double as a selector are IDs or classes,\n // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n // `document.querySelector` will rightfully complain it is invalid.\n // See https://github.com/twbs/bootstrap/issues/32273\n if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n return null\n }\n\n // Just in case some CMS puts out a full URL with the anchor appended\n if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n }\n\n selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n }\n\n return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null\n}\n\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n },\n\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector)\n },\n\n children(element, selector) {\n return [].concat(...element.children).filter(child => child.matches(selector))\n },\n\n parents(element, selector) {\n const parents = []\n let ancestor = element.parentNode.closest(selector)\n\n while (ancestor) {\n parents.push(ancestor)\n ancestor = ancestor.parentNode.closest(selector)\n }\n\n return parents\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous]\n }\n\n previous = previous.previousElementSibling\n }\n\n return []\n },\n // TODO: this is now unused; remove later along with prev()\n next(element, selector) {\n let next = element.nextElementSibling\n\n while (next) {\n if (next.matches(selector)) {\n return [next]\n }\n\n next = next.nextElementSibling\n }\n\n return []\n },\n\n focusableChildren(element) {\n const focusables = [\n 'a',\n 'button',\n 'input',\n 'textarea',\n 'select',\n 'details',\n '[tabindex]',\n '[contenteditable=\"true\"]'\n ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n },\n\n getSelectorFromElement(element) {\n const selector = getSelector(element)\n\n if (selector) {\n return SelectorEngine.findOne(selector) ? selector : null\n }\n\n return null\n },\n\n getElementFromSelector(element) {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.findOne(selector) : null\n },\n\n getMultipleElementsFromSelector(element) {\n const selector = getSelector(element)\n\n return selector ? SelectorEngine.find(selector) : []\n }\n}\n\nexport default SelectorEngine\n"],"names":["getSelector","element","selector","getAttribute","hrefAttribute","includes","startsWith","split","trim","map","sel","parseSelector","join","SelectorEngine","find","document","documentElement","concat","Element","prototype","querySelectorAll","call","findOne","querySelector","children","filter","child","matches","parents","ancestor","parentNode","closest","push","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","el","isDisabled","isVisible","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector"],"mappings":"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"}
@@ -190,9 +190,6 @@
190
190
  this._element.setAttribute('aria-expanded', 'false');
191
191
  Manipulator.removeDataAttribute(this._menu, 'popper');
192
192
  EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget);
193
-
194
- // Explicitly return focus to the trigger element
195
- this._element.focus();
196
193
  }
197
194
  _getConfig(config) {
198
195
  config = super._getConfig(config);
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown.js","sources":["../src/dropdown.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap 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 = 'bs.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-bs-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 // Explicitly return focus to the trigger element\n this._element.focus()\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('Bootstrap\\'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('--bs-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 * Bootstrap 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 = 'bs.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-bs-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('Bootstrap\\'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('--bs-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":";;;;;;;;;;;;;;;;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;;EAmBA;EACA;EACA;;EAEA,MAAMA,IAAI,GAAG,UAAU;EACvB,MAAMC,QAAQ,GAAG,aAAa;EAC9B,MAAMC,SAAS,GAAG,CAAA,CAAA,EAAID,QAAQ,CAAA,CAAE;EAChC,MAAME,YAAY,GAAG,WAAW;EAEhC,MAAMC,UAAU,GAAG,QAAQ;EAC3B,MAAMC,OAAO,GAAG,KAAK;EACrB,MAAMC,YAAY,GAAG,SAAS;EAC9B,MAAMC,cAAc,GAAG,WAAW;EAClC,MAAMC,kBAAkB,GAAG,CAAC,CAAA;;EAE5B,MAAMC,UAAU,GAAG,CAAA,IAAA,EAAOP,SAAS,CAAA,CAAE;EACrC,MAAMQ,YAAY,GAAG,CAAA,MAAA,EAASR,SAAS,CAAA,CAAE;EACzC,MAAMS,UAAU,GAAG,CAAA,IAAA,EAAOT,SAAS,CAAA,CAAE;EACrC,MAAMU,WAAW,GAAG,CAAA,KAAA,EAAQV,SAAS,CAAA,CAAE;EACvC,MAAMW,oBAAoB,GAAG,CAAA,KAAA,EAAQX,SAAS,CAAA,EAAGC,YAAY,CAAA,CAAE;EAC/D,MAAMW,sBAAsB,GAAG,CAAA,OAAA,EAAUZ,SAAS,CAAA,EAAGC,YAAY,CAAA,CAAE;EACnE,MAAMY,oBAAoB,GAAG,CAAA,KAAA,EAAQb,SAAS,CAAA,EAAGC,YAAY,CAAA,CAAE;EAE/D,MAAMa,eAAe,GAAG,MAAM;EAC9B,MAAMC,iBAAiB,GAAG,QAAQ;EAClC,MAAMC,kBAAkB,GAAG,SAAS;EACpC,MAAMC,oBAAoB,GAAG,WAAW;EACxC,MAAMC,wBAAwB,GAAG,eAAe;EAChD,MAAMC,0BAA0B,GAAG,iBAAiB;EAEpD,MAAMC,oBAAoB,GAAG,2DAA2D;EACxF,MAAMC,0BAA0B,GAAG,CAAA,EAAGD,oBAAoB,CAAA,CAAA,EAAIN,eAAe,CAAA,CAAE;EAC/E,MAAMQ,aAAa,GAAG,gBAAgB;EACtC,MAAMC,eAAe,GAAG,SAAS;EACjC,MAAMC,mBAAmB,GAAG,aAAa;EACzC,MAAMC,sBAAsB,GAAG,6DAA6D;EAE5F,MAAMC,aAAa,GAAGC,cAAK,EAAE,GAAG,SAAS,GAAG,WAAW;EACvD,MAAMC,gBAAgB,GAAGD,cAAK,EAAE,GAAG,WAAW,GAAG,SAAS;EAC1D,MAAME,gBAAgB,GAAGF,cAAK,EAAE,GAAG,YAAY,GAAG,cAAc;EAChE,MAAMG,mBAAmB,GAAGH,cAAK,EAAE,GAAG,cAAc,GAAG,YAAY;EACnE,MAAMI,eAAe,GAAGJ,cAAK,EAAE,GAAG,YAAY,GAAG,aAAa;EAC9D,MAAMK,cAAc,GAAGL,cAAK,EAAE,GAAG,aAAa,GAAG,YAAY;EAC7D,MAAMM,mBAAmB,GAAG,KAAK;EACjC,MAAMC,sBAAsB,GAAG,QAAQ;EAEvC,MAAMC,OAAO,GAAG;EACdC,EAAAA,SAAS,EAAE,IAAI;EACfC,EAAAA,QAAQ,EAAE,iBAAiB;EAC3BC,EAAAA,OAAO,EAAE,SAAS;EAClBC,EAAAA,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;EACdC,EAAAA,YAAY,EAAE,IAAI;EAClBC,EAAAA,SAAS,EAAE;EACb,CAAC;EAED,MAAMC,WAAW,GAAG;EAClBN,EAAAA,SAAS,EAAE,kBAAkB;EAC7BC,EAAAA,QAAQ,EAAE,kBAAkB;EAC5BC,EAAAA,OAAO,EAAE,QAAQ;EACjBC,EAAAA,MAAM,EAAE,yBAAyB;EACjCC,EAAAA,YAAY,EAAE,wBAAwB;EACtCC,EAAAA,SAAS,EAAE;EACb,CAAC;;EAED;EACA;EACA;;EAEA,MAAME,QAAQ,SAASC,aAAa,CAAC;EACnCC,EAAAA,WAAWA,CAACC,OAAO,EAAEC,MAAM,EAAE;EAC3B,IAAA,KAAK,CAACD,OAAO,EAAEC,MAAM,CAAC;MAEtB,IAAI,CAACC,OAAO,GAAG,IAAI;MACnB,IAAI,CAACC,OAAO,GAAG,IAAI,CAACC,QAAQ,CAACC,UAAU,CAAA;EACvC;EACA,IAAA,IAAI,CAACC,KAAK,GAAGC,cAAc,CAACC,IAAI,CAAC,IAAI,CAACJ,QAAQ,EAAE5B,aAAa,CAAC,CAAC,CAAC,CAAC,IAC/D+B,cAAc,CAACE,IAAI,CAAC,IAAI,CAACL,QAAQ,EAAE5B,aAAa,CAAC,CAAC,CAAC,CAAC,IACpD+B,cAAc,CAACG,OAAO,CAAClC,aAAa,EAAE,IAAI,CAAC2B,OAAO,CAAC;EACrD,IAAA,IAAI,CAACQ,SAAS,GAAG,IAAI,CAACC,aAAa,EAAE;EACvC,EAAA;;EAEA;IACA,WAAWvB,OAAOA,GAAG;EACnB,IAAA,OAAOA,OAAO;EAChB,EAAA;IAEA,WAAWO,WAAWA,GAAG;EACvB,IAAA,OAAOA,WAAW;EACpB,EAAA;IAEA,WAAW5C,IAAIA,GAAG;EAChB,IAAA,OAAOA,IAAI;EACb,EAAA;;EAEA;EACA6D,EAAAA,MAAMA,GAAG;EACP,IAAA,OAAO,IAAI,CAACC,QAAQ,EAAE,GAAG,IAAI,CAACC,IAAI,EAAE,GAAG,IAAI,CAACC,IAAI,EAAE;EACpD,EAAA;EAEAA,EAAAA,IAAIA,GAAG;EACL,IAAA,IAAIC,mBAAU,CAAC,IAAI,CAACb,QAAQ,CAAC,IAAI,IAAI,CAACU,QAAQ,EAAE,EAAE;EAChD,MAAA;EACF,IAAA;EAEA,IAAA,MAAMI,aAAa,GAAG;QACpBA,aAAa,EAAE,IAAI,CAACd;OACrB;EAED,IAAA,MAAMe,SAAS,GAAGC,YAAY,CAACC,OAAO,CAAC,IAAI,CAACjB,QAAQ,EAAEzC,UAAU,EAAEuD,aAAa,CAAC;MAEhF,IAAIC,SAAS,CAACG,gBAAgB,EAAE;EAC9B,MAAA;EACF,IAAA;MAEA,IAAI,CAACC,aAAa,EAAE;;EAEpB;EACA;EACA;EACA;EACA,IAAA,IAAI,cAAc,IAAIC,QAAQ,CAACC,eAAe,IAAI,CAAC,IAAI,CAACtB,OAAO,CAACuB,OAAO,CAAChD,mBAAmB,CAAC,EAAE;EAC5F,MAAA,KAAK,MAAMsB,OAAO,IAAI,EAAE,CAAC2B,MAAM,CAAC,GAAGH,QAAQ,CAACI,IAAI,CAACC,QAAQ,CAAC,EAAE;UAC1DT,YAAY,CAACU,EAAE,CAAC9B,OAAO,EAAE,WAAW,EAAE+B,aAAI,CAAC;EAC7C,MAAA;EACF,IAAA;EAEA,IAAA,IAAI,CAAC3B,QAAQ,CAAC4B,KAAK,EAAE;MACrB,IAAI,CAAC5B,QAAQ,CAAC6B,YAAY,CAAC,eAAe,EAAE,IAAI,CAAC;MAEjD,IAAI,CAAC3B,KAAK,CAAC4B,SAAS,CAACC,GAAG,CAACnE,eAAe,CAAC;MACzC,IAAI,CAACoC,QAAQ,CAAC8B,SAAS,CAACC,GAAG,CAACnE,eAAe,CAAC;MAC5CoD,YAAY,CAACC,OAAO,CAAC,IAAI,CAACjB,QAAQ,EAAExC,WAAW,EAAEsD,aAAa,CAAC;EACjE,EAAA;EAEAH,EAAAA,IAAIA,GAAG;EACL,IAAA,IAAIE,mBAAU,CAAC,IAAI,CAACb,QAAQ,CAAC,IAAI,CAAC,IAAI,CAACU,QAAQ,EAAE,EAAE;EACjD,MAAA;EACF,IAAA;EAEA,IAAA,MAAMI,aAAa,GAAG;QACpBA,aAAa,EAAE,IAAI,CAACd;OACrB;EAED,IAAA,IAAI,CAACgC,aAAa,CAAClB,aAAa,CAAC;EACnC,EAAA;EAEAmB,EAAAA,OAAOA,GAAG;MACR,IAAI,IAAI,CAACnC,OAAO,EAAE;EAChB,MAAA,IAAI,CAACA,OAAO,CAACoC,OAAO,EAAE;EACxB,IAAA;MAEA,KAAK,CAACD,OAAO,EAAE;EACjB,EAAA;EAEAE,EAAAA,MAAMA,GAAG;EACP,IAAA,IAAI,CAAC5B,SAAS,GAAG,IAAI,CAACC,aAAa,EAAE;MACrC,IAAI,IAAI,CAACV,OAAO,EAAE;EAChB,MAAA,IAAI,CAACA,OAAO,CAACqC,MAAM,EAAE;EACvB,IAAA;EACF,EAAA;;EAEA;IACAH,aAAaA,CAAClB,aAAa,EAAE;EAC3B,IAAA,MAAMsB,SAAS,GAAGpB,YAAY,CAACC,OAAO,CAAC,IAAI,CAACjB,QAAQ,EAAE3C,UAAU,EAAEyD,aAAa,CAAC;MAChF,IAAIsB,SAAS,CAAClB,gBAAgB,EAAE;EAC9B,MAAA;EACF,IAAA;;EAEA;EACA;EACA,IAAA,IAAI,cAAc,IAAIE,QAAQ,CAACC,eAAe,EAAE;EAC9C,MAAA,KAAK,MAAMzB,OAAO,IAAI,EAAE,CAAC2B,MAAM,CAAC,GAAGH,QAAQ,CAACI,IAAI,CAACC,QAAQ,CAAC,EAAE;UAC1DT,YAAY,CAACqB,GAAG,CAACzC,OAAO,EAAE,WAAW,EAAE+B,aAAI,CAAC;EAC9C,MAAA;EACF,IAAA;MAEA,IAAI,IAAI,CAAC7B,OAAO,EAAE;EAChB,MAAA,IAAI,CAACA,OAAO,CAACoC,OAAO,EAAE;EACxB,IAAA;MAEA,IAAI,CAAChC,KAAK,CAAC4B,SAAS,CAACQ,MAAM,CAAC1E,eAAe,CAAC;MAC5C,IAAI,CAACoC,QAAQ,CAAC8B,SAAS,CAACQ,MAAM,CAAC1E,eAAe,CAAC;MAC/C,IAAI,CAACoC,QAAQ,CAAC6B,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC;MACpDU,WAAW,CAACC,mBAAmB,CAAC,IAAI,CAACtC,KAAK,EAAE,QAAQ,CAAC;MACrDc,YAAY,CAACC,OAAO,CAAC,IAAI,CAACjB,QAAQ,EAAE1C,YAAY,EAAEwD,aAAa,CAAC;EAClE,EAAA;IAEA2B,UAAUA,CAAC5C,MAAM,EAAE;EACjBA,IAAAA,MAAM,GAAG,KAAK,CAAC4C,UAAU,CAAC5C,MAAM,CAAC;MAEjC,IAAI,OAAOA,MAAM,CAACN,SAAS,KAAK,QAAQ,IAAI,CAACmD,kBAAS,CAAC7C,MAAM,CAACN,SAAS,CAAC,IACtE,OAAOM,MAAM,CAACN,SAAS,CAACoD,qBAAqB,KAAK,UAAU,EAC5D;EACA;QACA,MAAM,IAAIC,SAAS,CAAC,CAAA,EAAGhG,IAAI,CAACiG,WAAW,EAAE,CAAA,8FAAA,CAAgG,CAAC;EAC5I,IAAA;EAEA,IAAA,OAAOhD,MAAM;EACf,EAAA;EAEAsB,EAAAA,aAAaA,GAAG;EACd,IAAA,IAAI,OAAO2B,iBAAM,KAAK,WAAW,EAAE;EACjC,MAAA,MAAM,IAAIF,SAAS,CAAC,wEAAwE,CAAC;EAC/F,IAAA;EAEA,IAAA,IAAIG,gBAAgB,GAAG,IAAI,CAAC/C,QAAQ;EAEpC,IAAA,IAAI,IAAI,CAACgD,OAAO,CAACzD,SAAS,KAAK,QAAQ,EAAE;QACvCwD,gBAAgB,GAAG,IAAI,CAAChD,OAAO;MACjC,CAAC,MAAM,IAAI2C,kBAAS,CAAC,IAAI,CAACM,OAAO,CAACzD,SAAS,CAAC,EAAE;QAC5CwD,gBAAgB,GAAGE,mBAAU,CAAC,IAAI,CAACD,OAAO,CAACzD,SAAS,CAAC;MACvD,CAAC,MAAM,IAAI,OAAO,IAAI,CAACyD,OAAO,CAACzD,SAAS,KAAK,QAAQ,EAAE;EACrDwD,MAAAA,gBAAgB,GAAG,IAAI,CAACC,OAAO,CAACzD,SAAS;EAC3C,IAAA;EAEA,IAAA,MAAMD,YAAY,GAAG,IAAI,CAAC4D,gBAAgB,EAAE;EAC5C,IAAA,IAAI,CAACpD,OAAO,GAAGgD,iBAAM,CAACK,YAAY,CAACJ,gBAAgB,EAAE,IAAI,CAAC7C,KAAK,EAAEZ,YAAY,CAAC;EAChF,EAAA;EAEAoB,EAAAA,QAAQA,GAAG;MACT,OAAO,IAAI,CAACR,KAAK,CAAC4B,SAAS,CAACsB,QAAQ,CAACxF,eAAe,CAAC;EACvD,EAAA;EAEAyF,EAAAA,aAAaA,GAAG;EACd,IAAA,MAAMC,cAAc,GAAG,IAAI,CAACvD,OAAO;MAEnC,IAAIuD,cAAc,CAACxB,SAAS,CAACsB,QAAQ,CAACtF,kBAAkB,CAAC,EAAE;EACzD,MAAA,OAAOe,eAAe;EACxB,IAAA;MAEA,IAAIyE,cAAc,CAACxB,SAAS,CAACsB,QAAQ,CAACrF,oBAAoB,CAAC,EAAE;EAC3D,MAAA,OAAOe,cAAc;EACvB,IAAA;MAEA,IAAIwE,cAAc,CAACxB,SAAS,CAACsB,QAAQ,CAACpF,wBAAwB,CAAC,EAAE;EAC/D,MAAA,OAAOe,mBAAmB;EAC5B,IAAA;MAEA,IAAIuE,cAAc,CAACxB,SAAS,CAACsB,QAAQ,CAACnF,0BAA0B,CAAC,EAAE;EACjE,MAAA,OAAOe,sBAAsB;EAC/B,IAAA;;EAEA;EACA,IAAA,MAAMuE,KAAK,GAAGC,gBAAgB,CAAC,IAAI,CAACtD,KAAK,CAAC,CAACuD,gBAAgB,CAAC,eAAe,CAAC,CAACC,IAAI,EAAE,KAAK,KAAK;MAE7F,IAAIJ,cAAc,CAACxB,SAAS,CAACsB,QAAQ,CAACvF,iBAAiB,CAAC,EAAE;EACxD,MAAA,OAAO0F,KAAK,GAAG7E,gBAAgB,GAAGF,aAAa;EACjD,IAAA;EAEA,IAAA,OAAO+E,KAAK,GAAG3E,mBAAmB,GAAGD,gBAAgB;EACvD,EAAA;EAEA6B,EAAAA,aAAaA,GAAG;MACd,OAAO,IAAI,CAACR,QAAQ,CAACsB,OAAO,CAACjD,eAAe,CAAC,KAAK,IAAI;EACxD,EAAA;EAEAsF,EAAAA,UAAUA,GAAG;MACX,MAAM;EAAEtE,MAAAA;OAAQ,GAAG,IAAI,CAAC2D,OAAO;EAE/B,IAAA,IAAI,OAAO3D,MAAM,KAAK,QAAQ,EAAE;EAC9B,MAAA,OAAOA,MAAM,CAACuE,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAACC,KAAK,IAAIC,MAAM,CAACC,QAAQ,CAACF,KAAK,EAAE,EAAE,CAAC,CAAC;EACnE,IAAA;EAEA,IAAA,IAAI,OAAOzE,MAAM,KAAK,UAAU,EAAE;QAChC,OAAO4E,UAAU,IAAI5E,MAAM,CAAC4E,UAAU,EAAE,IAAI,CAACjE,QAAQ,CAAC;EACxD,IAAA;EAEA,IAAA,OAAOX,MAAM;EACf,EAAA;EAEA6D,EAAAA,gBAAgBA,GAAG;EACjB,IAAA,MAAMgB,qBAAqB,GAAG;EAC5BC,MAAAA,SAAS,EAAE,IAAI,CAACd,aAAa,EAAE;EAC/Be,MAAAA,SAAS,EAAE,CAAC;EACVC,QAAAA,IAAI,EAAE,iBAAiB;EACvBC,QAAAA,OAAO,EAAE;EACPnF,UAAAA,QAAQ,EAAE,IAAI,CAAC6D,OAAO,CAAC7D;EACzB;EACF,OAAC,EACD;EACEkF,QAAAA,IAAI,EAAE,QAAQ;EACdC,QAAAA,OAAO,EAAE;EACPjF,UAAAA,MAAM,EAAE,IAAI,CAACsE,UAAU;EACzB;SACD;OACF;;EAED;MACA,IAAI,IAAI,CAACpD,SAAS,IAAI,IAAI,CAACyC,OAAO,CAAC5D,OAAO,KAAK,QAAQ,EAAE;QACvDmD,WAAW,CAACgC,gBAAgB,CAAC,IAAI,CAACrE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;QAC5DgE,qBAAqB,CAACE,SAAS,GAAG,CAAC;EACjCC,QAAAA,IAAI,EAAE,aAAa;EACnBG,QAAAA,OAAO,EAAE;EACX,OAAC,CAAC;EACJ,IAAA;MAEA,OAAO;EACL,MAAA,GAAGN,qBAAqB;EACxB,MAAA,GAAGO,gBAAO,CAAC,IAAI,CAACzB,OAAO,CAAC1D,YAAY,EAAE,CAACoF,SAAS,EAAER,qBAAqB,CAAC;OACzE;EACH,EAAA;EAEAS,EAAAA,eAAeA,CAAC;MAAEC,GAAG;EAAEC,IAAAA;EAAO,GAAC,EAAE;MAC/B,MAAMC,KAAK,GAAG3E,cAAc,CAAC4E,IAAI,CAACxG,sBAAsB,EAAE,IAAI,CAAC2B,KAAK,CAAC,CAAC8E,MAAM,CAACpF,OAAO,IAAIqF,kBAAS,CAACrF,OAAO,CAAC,CAAC;EAE3G,IAAA,IAAI,CAACkF,KAAK,CAACI,MAAM,EAAE;EACjB,MAAA;EACF,IAAA;;EAEA;EACA;MACAC,6BAAoB,CAACL,KAAK,EAAED,MAAM,EAAED,GAAG,KAAKzH,cAAc,EAAE,CAAC2H,KAAK,CAACM,QAAQ,CAACP,MAAM,CAAC,CAAC,CAACjD,KAAK,EAAE;EAC9F,EAAA;;EAEA;IACA,OAAOyD,eAAeA,CAACxF,MAAM,EAAE;EAC7B,IAAA,OAAO,IAAI,CAACyF,IAAI,CAAC,YAAY;QAC3B,MAAMC,IAAI,GAAG9F,QAAQ,CAAC+F,mBAAmB,CAAC,IAAI,EAAE3F,MAAM,CAAC;EAEvD,MAAA,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;EAC9B,QAAA;EACF,MAAA;EAEA,MAAA,IAAI,OAAO0F,IAAI,CAAC1F,MAAM,CAAC,KAAK,WAAW,EAAE;EACvC,QAAA,MAAM,IAAI+C,SAAS,CAAC,CAAA,iBAAA,EAAoB/C,MAAM,GAAG,CAAC;EACpD,MAAA;EAEA0F,MAAAA,IAAI,CAAC1F,MAAM,CAAC,EAAE;EAChB,IAAA,CAAC,CAAC;EACJ,EAAA;IAEA,OAAO4F,UAAUA,CAACC,KAAK,EAAE;EACvB,IAAA,IAAIA,KAAK,CAACC,MAAM,KAAKvI,kBAAkB,IAAKsI,KAAK,CAACE,IAAI,KAAK,OAAO,IAAIF,KAAK,CAACd,GAAG,KAAK3H,OAAQ,EAAE;EAC5F,MAAA;EACF,IAAA;EAEA,IAAA,MAAM4I,WAAW,GAAG1F,cAAc,CAAC4E,IAAI,CAAC5G,0BAA0B,CAAC;EAEnE,IAAA,KAAK,MAAMsC,MAAM,IAAIoF,WAAW,EAAE;EAChC,MAAA,MAAMC,OAAO,GAAGrG,QAAQ,CAACsG,WAAW,CAACtF,MAAM,CAAC;QAC5C,IAAI,CAACqF,OAAO,IAAIA,OAAO,CAAC9C,OAAO,CAAC9D,SAAS,KAAK,KAAK,EAAE;EACnD,QAAA;EACF,MAAA;EAEA,MAAA,MAAM8G,YAAY,GAAGN,KAAK,CAACM,YAAY,EAAE;QACzC,MAAMC,YAAY,GAAGD,YAAY,CAACZ,QAAQ,CAACU,OAAO,CAAC5F,KAAK,CAAC;EACzD,MAAA,IACE8F,YAAY,CAACZ,QAAQ,CAACU,OAAO,CAAC9F,QAAQ,CAAC,IACtC8F,OAAO,CAAC9C,OAAO,CAAC9D,SAAS,KAAK,QAAQ,IAAI,CAAC+G,YAAa,IACxDH,OAAO,CAAC9C,OAAO,CAAC9D,SAAS,KAAK,SAAS,IAAI+G,YAAa,EACzD;EACA,QAAA;EACF,MAAA;;EAEA;EACA,MAAA,IAAIH,OAAO,CAAC5F,KAAK,CAACkD,QAAQ,CAACsC,KAAK,CAACb,MAAM,CAAC,KAAMa,KAAK,CAACE,IAAI,KAAK,OAAO,IAAIF,KAAK,CAACd,GAAG,KAAK3H,OAAO,IAAK,oCAAoC,CAACiJ,IAAI,CAACR,KAAK,CAACb,MAAM,CAACsB,OAAO,CAAC,CAAC,EAAE;EAClK,QAAA;EACF,MAAA;EAEA,MAAA,MAAMrF,aAAa,GAAG;UAAEA,aAAa,EAAEgF,OAAO,CAAC9F;SAAU;EAEzD,MAAA,IAAI0F,KAAK,CAACE,IAAI,KAAK,OAAO,EAAE;UAC1B9E,aAAa,CAACsF,UAAU,GAAGV,KAAK;EAClC,MAAA;EAEAI,MAAAA,OAAO,CAAC9D,aAAa,CAAClB,aAAa,CAAC;EACtC,IAAA;EACF,EAAA;IAEA,OAAOuF,qBAAqBA,CAACX,KAAK,EAAE;EAClC;EACA;;MAEA,MAAMY,OAAO,GAAG,iBAAiB,CAACJ,IAAI,CAACR,KAAK,CAACb,MAAM,CAACsB,OAAO,CAAC;EAC5D,IAAA,MAAMI,aAAa,GAAGb,KAAK,CAACd,GAAG,KAAK5H,UAAU;EAC9C,IAAA,MAAMwJ,eAAe,GAAG,CAACtJ,YAAY,EAAEC,cAAc,CAAC,CAACiI,QAAQ,CAACM,KAAK,CAACd,GAAG,CAAC;EAE1E,IAAA,IAAI,CAAC4B,eAAe,IAAI,CAACD,aAAa,EAAE;EACtC,MAAA;EACF,IAAA;EAEA,IAAA,IAAID,OAAO,IAAI,CAACC,aAAa,EAAE;EAC7B,MAAA;EACF,IAAA;MAEAb,KAAK,CAACe,cAAc,EAAE;;EAEtB;MACA,MAAMC,eAAe,GAAG,IAAI,CAACC,OAAO,CAACzI,oBAAoB,CAAC,GACxD,IAAI,GACHiC,cAAc,CAACE,IAAI,CAAC,IAAI,EAAEnC,oBAAoB,CAAC,CAAC,CAAC,CAAC,IACjDiC,cAAc,CAACC,IAAI,CAAC,IAAI,EAAElC,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAClDiC,cAAc,CAACG,OAAO,CAACpC,oBAAoB,EAAEwH,KAAK,CAACkB,cAAc,CAAC3G,UAAU,CAAE;EAElF,IAAA,MAAM4G,QAAQ,GAAGpH,QAAQ,CAAC+F,mBAAmB,CAACkB,eAAe,CAAC;EAE9D,IAAA,IAAIF,eAAe,EAAE;QACnBd,KAAK,CAACoB,eAAe,EAAE;QACvBD,QAAQ,CAACjG,IAAI,EAAE;EACfiG,MAAAA,QAAQ,CAAClC,eAAe,CAACe,KAAK,CAAC;EAC/B,MAAA;EACF,IAAA;EAEA,IAAA,IAAImB,QAAQ,CAACnG,QAAQ,EAAE,EAAE;EAAE;QACzBgF,KAAK,CAACoB,eAAe,EAAE;QACvBD,QAAQ,CAAClG,IAAI,EAAE;QACf+F,eAAe,CAAC9E,KAAK,EAAE;EACzB,IAAA;EACF,EAAA;EACF;;EAEA;EACA;EACA;;EAEAZ,YAAY,CAACU,EAAE,CAACN,QAAQ,EAAE1D,sBAAsB,EAAEQ,oBAAoB,EAAEuB,QAAQ,CAAC4G,qBAAqB,CAAC;EACvGrF,YAAY,CAACU,EAAE,CAACN,QAAQ,EAAE1D,sBAAsB,EAAEU,aAAa,EAAEqB,QAAQ,CAAC4G,qBAAqB,CAAC;EAChGrF,YAAY,CAACU,EAAE,CAACN,QAAQ,EAAE3D,oBAAoB,EAAEgC,QAAQ,CAACgG,UAAU,CAAC;EACpEzE,YAAY,CAACU,EAAE,CAACN,QAAQ,EAAEzD,oBAAoB,EAAE8B,QAAQ,CAACgG,UAAU,CAAC;EACpEzE,YAAY,CAACU,EAAE,CAACN,QAAQ,EAAE3D,oBAAoB,EAAES,oBAAoB,EAAE,UAAUwH,KAAK,EAAE;IACrFA,KAAK,CAACe,cAAc,EAAE;IACtBhH,QAAQ,CAAC+F,mBAAmB,CAAC,IAAI,CAAC,CAAC/E,MAAM,EAAE;EAC7C,CAAC,CAAC;;EAEF;EACA;EACA;;AAEAsG,6BAAkB,CAACtH,QAAQ,CAAC;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"modal.js","sources":["../src/modal.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap 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 = 'bs.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-bs-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 * Bootstrap 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 = 'bs.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-bs-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 +1 @@
1
- {"version":3,"file":"offcanvas.js","sources":["../src/offcanvas.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.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,\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 = 'bs.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-bs-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 * Bootstrap offcanvas.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,\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 = 'bs.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-bs-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 +1 @@
1
- {"version":3,"file":"popover.js","sources":["../src/popover.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap 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;;;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 * Bootstrap 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;;;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,EAAA;IAEA,WAAWO,WAAWA,GAAG;EACvB,IAAA,OAAOA,WAAW;EACpB,EAAA;IAEA,WAAWV,IAAIA,GAAG;EAChB,IAAA,OAAOA,IAAI;EACb,EAAA;;EAEA;EACAY,EAAAA,cAAcA,GAAG;MACf,OAAO,IAAI,CAACC,SAAS,EAAE,IAAI,IAAI,CAACC,WAAW,EAAE;EAC/C,EAAA;;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,EAAA;EAEAA,EAAAA,WAAWA,GAAG;MACZ,OAAO,IAAI,CAACE,wBAAwB,CAAC,IAAI,CAACC,OAAO,CAACZ,OAAO,CAAC;EAC5D,EAAA;;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,MAAA;EAEA,MAAA,IAAI,OAAOE,IAAI,CAACF,MAAM,CAAC,KAAK,WAAW,EAAE;EACvC,QAAA,MAAM,IAAII,SAAS,CAAC,CAAA,iBAAA,EAAoBJ,MAAM,GAAG,CAAC;EACpD,MAAA;EAEAE,MAAAA,IAAI,CAACF,MAAM,CAAC,EAAE;EAChB,IAAA,CAAC,CAAC;EACJ,EAAA;EACF;;EAEA;EACA;EACA;;AAEAK,6BAAkB,CAACb,OAAO,CAAC;;;;;;;;"}