@openeuropa/bcl-bootstrap 0.28.1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bootstrap-icons.svg +1 -1
- package/icons/0-circle-fill.svg +4 -0
- package/icons/0-circle.svg +4 -0
- package/icons/0-square-fill.svg +4 -0
- package/icons/0-square.svg +4 -0
- package/icons/1-circle-fill.svg +1 -1
- package/icons/amd.svg +3 -0
- package/icons/arrow-bar-left.svg +1 -1
- package/icons/arrow-bar-right.svg +1 -1
- package/icons/arrows-collapse.svg +1 -1
- package/icons/arrows-expand.svg +1 -1
- package/icons/building-add.svg +5 -0
- package/icons/building-check.svg +5 -0
- package/icons/building-dash.svg +5 -0
- package/icons/building-down.svg +5 -0
- package/icons/building-exclamation.svg +4 -0
- package/icons/building-fill-add.svg +4 -0
- package/icons/building-fill-check.svg +4 -0
- package/icons/building-fill-dash.svg +4 -0
- package/icons/building-fill-down.svg +4 -0
- package/icons/building-fill-exclamation.svg +4 -0
- package/icons/building-fill-gear.svg +4 -0
- package/icons/building-fill-lock.svg +4 -0
- package/icons/building-fill-slash.svg +4 -0
- package/icons/building-fill-up.svg +4 -0
- package/icons/building-fill-x.svg +4 -0
- package/icons/building-fill.svg +3 -0
- package/icons/building-gear.svg +4 -0
- package/icons/building-lock.svg +4 -0
- package/icons/building-slash.svg +5 -0
- package/icons/building-up.svg +5 -0
- package/icons/building-x.svg +4 -0
- package/icons/building.svg +2 -2
- package/icons/buildings-fill.svg +3 -0
- package/icons/buildings.svg +4 -0
- package/icons/bus-front-fill.svg +3 -0
- package/icons/bus-front.svg +4 -0
- package/icons/capsule-pill.svg +1 -1
- package/icons/capsule.svg +1 -1
- package/icons/car-front-fill.svg +1 -1
- package/icons/car-front.svg +1 -1
- package/icons/database-add.svg +4 -0
- package/icons/database-check.svg +4 -0
- package/icons/database-dash.svg +4 -0
- package/icons/database-down.svg +4 -0
- package/icons/database-exclamation.svg +4 -0
- package/icons/database-fill-add.svg +4 -0
- package/icons/database-fill-check.svg +4 -0
- package/icons/database-fill-dash.svg +4 -0
- package/icons/database-fill-down.svg +4 -0
- package/icons/database-fill-exclamation.svg +5 -0
- package/icons/database-fill-gear.svg +4 -0
- package/icons/database-fill-lock.svg +5 -0
- package/icons/database-fill-slash.svg +4 -0
- package/icons/database-fill-up.svg +4 -0
- package/icons/database-fill-x.svg +5 -0
- package/icons/database-fill.svg +6 -0
- package/icons/database-gear.svg +4 -0
- package/icons/database-lock.svg +4 -0
- package/icons/database-slash.svg +4 -0
- package/icons/database-up.svg +4 -0
- package/icons/database-x.svg +4 -0
- package/icons/database.svg +3 -0
- package/icons/envelope-at-fill.svg +4 -0
- package/icons/envelope-at.svg +4 -0
- package/icons/ev-front-fill.svg +3 -0
- package/icons/ev-front.svg +4 -0
- package/icons/globe-americas.svg +3 -0
- package/icons/globe-asia-australia.svg +4 -0
- package/icons/globe-central-south-asia.svg +3 -0
- package/icons/globe-europe-africa.svg +3 -0
- package/icons/heart-pulse-fill.svg +2 -1
- package/icons/heart-pulse.svg +2 -1
- package/icons/heartbreak-fill.svg +1 -1
- package/icons/heartbreak.svg +1 -1
- package/icons/house-add-fill.svg +5 -0
- package/icons/house-add.svg +4 -0
- package/icons/house-check-fill.svg +5 -0
- package/icons/house-check.svg +4 -0
- package/icons/house-dash-fill.svg +5 -0
- package/icons/house-dash.svg +4 -0
- package/icons/house-door-fill.svg +1 -1
- package/icons/house-door.svg +1 -1
- package/icons/house-down-fill.svg +5 -0
- package/icons/house-down.svg +4 -0
- package/icons/house-exclamation-fill.svg +5 -0
- package/icons/house-exclamation.svg +4 -0
- package/icons/house-fill.svg +2 -2
- package/icons/house-gear-fill.svg +5 -0
- package/icons/house-gear.svg +4 -0
- package/icons/house-lock-fill.svg +5 -0
- package/icons/house-lock.svg +4 -0
- package/icons/house-slash-fill.svg +5 -0
- package/icons/house-slash.svg +4 -0
- package/icons/house-up-fill.svg +5 -0
- package/icons/house-up.svg +4 -0
- package/icons/house-x-fill.svg +5 -0
- package/icons/house-x.svg +4 -0
- package/icons/house.svg +1 -2
- package/icons/houses-fill.svg +4 -0
- package/icons/houses.svg +3 -0
- package/icons/lungs-fill.svg +1 -1
- package/icons/nvidia.svg +3 -0
- package/icons/people-fill.svg +1 -3
- package/icons/people.svg +1 -1
- package/icons/person-add.svg +4 -0
- package/icons/person-check.svg +2 -2
- package/icons/person-dash.svg +2 -2
- package/icons/person-down.svg +4 -0
- package/icons/person-exclamation.svg +4 -0
- package/icons/person-fill-add.svg +4 -0
- package/icons/person-fill-check.svg +4 -0
- package/icons/person-fill-dash.svg +4 -0
- package/icons/person-fill-down.svg +4 -0
- package/icons/person-fill-exclamation.svg +4 -0
- package/icons/person-fill-gear.svg +3 -0
- package/icons/person-fill-lock.svg +3 -0
- package/icons/person-fill-slash.svg +3 -0
- package/icons/person-fill-up.svg +4 -0
- package/icons/person-fill-x.svg +4 -0
- package/icons/person-fill.svg +1 -1
- package/icons/person-gear.svg +3 -0
- package/icons/person-lock.svg +3 -0
- package/icons/person-slash.svg +3 -0
- package/icons/person-up.svg +4 -0
- package/icons/person-vcard-fill.svg +3 -0
- package/icons/person-vcard.svg +4 -0
- package/icons/person-x.svg +2 -2
- package/icons/person.svg +1 -1
- package/icons/prescription.svg +2 -2
- package/icons/prescription2.svg +1 -1
- package/icons/regex.svg +3 -0
- package/icons/rocket-fill.svg +4 -0
- package/icons/rocket-takeoff-fill.svg +4 -0
- package/icons/rocket-takeoff.svg +5 -0
- package/icons/rocket.svg +5 -0
- package/icons/scooter.svg +3 -0
- package/icons/sign-dead-end-fill.svg +4 -0
- package/icons/sign-dead-end.svg +4 -0
- package/icons/sign-do-not-enter-fill.svg +4 -0
- package/icons/sign-do-not-enter.svg +4 -0
- package/icons/sign-intersection-fill.svg +3 -0
- package/icons/sign-intersection-side-fill.svg +3 -0
- package/icons/sign-intersection-side.svg +4 -0
- package/icons/sign-intersection-t-fill.svg +3 -0
- package/icons/sign-intersection-t.svg +4 -0
- package/icons/sign-intersection-y-fill.svg +3 -0
- package/icons/sign-intersection-y.svg +4 -0
- package/icons/sign-intersection.svg +4 -0
- package/icons/sign-merge-left-fill.svg +3 -0
- package/icons/sign-merge-left.svg +4 -0
- package/icons/sign-merge-right-fill.svg +3 -0
- package/icons/sign-merge-right.svg +4 -0
- package/icons/sign-no-left-turn-fill.svg +4 -0
- package/icons/sign-no-left-turn.svg +3 -0
- package/icons/sign-no-parking-fill.svg +4 -0
- package/icons/sign-no-parking.svg +3 -0
- package/icons/sign-no-right-turn-fill.svg +4 -0
- package/icons/sign-no-right-turn.svg +3 -0
- package/icons/sign-railroad-fill.svg +5 -0
- package/icons/sign-railroad.svg +4 -0
- package/icons/sign-stop-fill.svg +1 -1
- package/icons/sign-stop-lights-fill.svg +1 -1
- package/icons/sign-turn-left-fill.svg +1 -1
- package/icons/sign-turn-right-fill.svg +1 -1
- package/icons/sign-turn-slight-left-fill.svg +1 -1
- package/icons/sign-turn-slight-right-fill.svg +1 -1
- package/icons/sign-yield-fill.svg +1 -1
- package/icons/sina-weibo.svg +4 -0
- package/icons/stripe.svg +3 -0
- package/icons/subscript.svg +3 -0
- package/icons/superscript.svg +3 -0
- package/icons/taxi-front-fill.svg +3 -0
- package/icons/taxi-front.svg +4 -0
- package/icons/tencent-qq.svg +4 -0
- package/icons/text-wrap.svg +3 -0
- package/icons/train-freight-front-fill.svg +1 -1
- package/icons/train-freight-front.svg +1 -1
- package/icons/train-front-fill.svg +1 -1
- package/icons/train-front.svg +1 -1
- package/icons/train-lightrail-front-fill.svg +1 -1
- package/icons/train-lightrail-front.svg +1 -1
- package/icons/trello.svg +3 -0
- package/icons/truck-front-fill.svg +1 -1
- package/icons/truck-front.svg +2 -3
- package/icons/virus.svg +1 -1
- package/icons/virus2.svg +1 -1
- package/icons/wikipedia.svg +3 -0
- package/js/dist/alert.js +14 -25
- package/js/dist/alert.js.map +1 -1
- package/js/dist/base-component.js +13 -30
- package/js/dist/base-component.js.map +1 -1
- package/js/dist/button.js +11 -15
- package/js/dist/button.js.map +1 -1
- package/js/dist/carousel.js +36 -120
- package/js/dist/carousel.js.map +1 -1
- package/js/dist/collapse.js +27 -88
- package/js/dist/collapse.js.map +1 -1
- package/js/dist/dependency/manipulator.js +72 -0
- package/js/dist/dependency/manipulator.js.map +1 -0
- package/js/dist/dom/data.js +6 -10
- package/js/dist/dom/data.js.map +1 -1
- package/js/dist/dom/event-handler.js +7 -52
- package/js/dist/dom/event-handler.js.map +1 -1
- package/js/dist/dom/manipulator.js +2 -15
- package/js/dist/dom/manipulator.js.map +1 -1
- package/js/dist/dom/selector-engine.js +2 -16
- package/js/dist/dom/selector-engine.js.map +1 -1
- package/js/dist/dropdown.js +52 -124
- package/js/dist/dropdown.js.map +1 -1
- package/js/dist/modal.js +40 -119
- package/js/dist/modal.js.map +1 -1
- package/js/dist/offcanvas.js +36 -89
- package/js/dist/offcanvas.js.map +1 -1
- package/js/dist/popover.js +15 -22
- package/js/dist/popover.js.map +1 -1
- package/js/dist/scrollspy-legacy.js +216 -0
- package/js/dist/scrollspy-legacy.js.map +1 -0
- package/js/dist/scrollspy.js +42 -80
- package/js/dist/scrollspy.js.map +1 -1
- package/js/dist/tab.js +40 -98
- package/js/dist/tab.js.map +1 -1
- package/js/dist/toast.js +30 -69
- package/js/dist/toast.js.map +1 -1
- package/js/dist/tooltip.js +74 -196
- package/js/dist/tooltip.js.map +1 -1
- package/js/dist/util/backdrop.js +13 -40
- package/js/dist/util/backdrop.js.map +1 -1
- package/js/dist/util/component-functions.js +5 -11
- package/js/dist/util/component-functions.js.map +1 -1
- package/js/dist/util/config.js +6 -18
- package/js/dist/util/config.js.map +1 -1
- package/js/dist/util/focustrap.js +16 -33
- package/js/dist/util/focustrap.js.map +1 -1
- package/js/dist/util/index.js +28 -75
- package/js/dist/util/index.js.map +1 -1
- package/js/dist/util/sanitizer.js +7 -17
- package/js/dist/util/sanitizer.js.map +1 -1
- package/js/dist/util/scrollbar.js +16 -43
- package/js/dist/util/scrollbar.js.map +1 -1
- package/js/dist/util/swipe.js +18 -40
- package/js/dist/util/swipe.js.map +1 -1
- package/js/dist/util/template-factory.js +13 -41
- package/js/dist/util/template-factory.js.map +1 -1
- package/js/src/alert.js +1 -1
- package/js/src/base-component.js +2 -2
- package/js/src/button.js +1 -1
- package/js/src/carousel.js +1 -1
- package/js/src/collapse.js +1 -1
- package/js/src/dependency/manipulator.js +80 -0
- package/js/src/dom/data.js +1 -1
- package/js/src/dom/event-handler.js +1 -1
- package/js/src/dom/manipulator.js +1 -1
- package/js/src/dom/selector-engine.js +1 -1
- package/js/src/dropdown.js +10 -3
- package/js/src/modal.js +3 -3
- package/js/src/offcanvas.js +1 -1
- package/js/src/popover.js +1 -1
- package/js/src/scrollspy-legacy.js +294 -0
- package/js/src/scrollspy.js +1 -1
- package/js/src/tab.js +2 -4
- package/js/src/toast.js +9 -4
- package/js/src/tooltip.js +27 -48
- package/js/src/util/backdrop.js +1 -1
- package/js/src/util/component-functions.js +1 -1
- package/js/src/util/config.js +1 -1
- package/js/src/util/focustrap.js +1 -1
- package/js/src/util/index.js +1 -1
- package/js/src/util/sanitizer.js +1 -1
- package/js/src/util/scrollbar.js +1 -1
- package/js/src/util/swipe.js +1 -1
- package/js/src/util/template-factory.js +1 -1
- package/legacy/dependency/manipulator.js +80 -0
- package/legacy/scrollspy-legacy.js +294 -0
- package/package.json +6 -6
- package/scss/_buttons.scss +8 -2
- package/scss/_carousel.scss +0 -3
- package/scss/_functions.scss +1 -1
- package/scss/_toasts.scss +2 -0
- package/scss/_variables.scss +1 -1
- package/scss/bootstrap-utilities.scss +3 -0
- package/scss/mixins/_banner.scss +1 -1
- package/scss/mixins/_table-variants.scss +2 -2
package/js/dist/toast.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toast.js","sources":["../src/toast.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin, reflow } from './util/index'\nimport EventHandler from './dom/event-handler'\nimport BaseComponent from './base-component'\nimport { enableDismissTrigger } from './util/component-functions'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide' // @deprecated - kept here only for backwards compatibility\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 5000\n}\n\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._timeout = null\n this._hasMouseInteraction = false\n this._hasKeyboardInteraction = false\n this._setListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n show() {\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._clearTimeout()\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_SHOWING)\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n this._maybeScheduleHide()\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n this._queueCallback(complete, this._element, this._config.animation)\n }\n\n hide() {\n if (!this.isShown()) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(CLASS_NAME_HIDE) // @deprecated\n this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.add(CLASS_NAME_SHOWING)\n this._queueCallback(complete, this._element, this._config.animation)\n }\n\n dispose() {\n this._clearTimeout()\n\n if (this.isShown()) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n super.dispose()\n }\n\n isShown() {\n return this._element.classList.contains(CLASS_NAME_SHOW)\n }\n\n // Private\n\n _maybeScheduleHide() {\n if (!this._config.autohide) {\n return\n }\n\n if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n return\n }\n\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n\n _onInteraction(event, isInteracting) {\n switch (event.type) {\n case 'mouseover':\n case 'mouseout':\n this._hasMouseInteraction = isInteracting\n break\n case 'focusin':\n case 'focusout':\n this._hasKeyboardInteraction = isInteracting\n break\n default:\n break\n }\n\n if (isInteracting) {\n this._clearTimeout()\n return\n }\n\n const nextElement = event.relatedTarget\n if (this._element === nextElement || this._element.contains(nextElement)) {\n return\n }\n\n this._maybeScheduleHide()\n }\n\n _setListeners() {\n EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n }\n\n _clearTimeout() {\n clearTimeout(this._timeout)\n this._timeout = null\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Toast.getOrCreateInstance(this, config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Toast)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Toast)\n\nexport default Toast\n"],"names":["NAME","DATA_KEY","EVENT_KEY","EVENT_MOUSEOVER","EVENT_MOUSEOUT","EVENT_FOCUSIN","EVENT_FOCUSOUT","EVENT_HIDE","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","CLASS_NAME_FADE","CLASS_NAME_HIDE","CLASS_NAME_SHOW","CLASS_NAME_SHOWING","DefaultType","animation","autohide","delay","Default","Toast","BaseComponent","constructor","element","config","_timeout","_hasMouseInteraction","_hasKeyboardInteraction","_setListeners","show","showEvent","EventHandler","trigger","_element","defaultPrevented","_clearTimeout","_config","classList","add","complete","remove","_maybeScheduleHide","reflow","_queueCallback","hide","isShown","hideEvent","dispose","contains","setTimeout","_onInteraction","event","isInteracting","type","nextElement","relatedTarget","on","clearTimeout","jQueryInterface","each","data","getOrCreateInstance","TypeError","enableDismissTrigger","defineJQueryPlugin"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"toast.js","sources":["../src/toast.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.2.3): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { defineJQueryPlugin, reflow } from './util/index'\nimport EventHandler from './dom/event-handler'\nimport BaseComponent from './base-component'\nimport { enableDismissTrigger } from './util/component-functions'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide' // @deprecated - kept here only for backwards compatibility\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n animation: 'boolean',\n autohide: 'boolean',\n delay: 'number'\n}\n\nconst Default = {\n animation: true,\n autohide: true,\n delay: 5000\n}\n\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._timeout = null\n this._hasMouseInteraction = false\n this._hasKeyboardInteraction = false\n this._setListeners()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n show() {\n const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n if (showEvent.defaultPrevented) {\n return\n }\n\n this._clearTimeout()\n\n if (this._config.animation) {\n this._element.classList.add(CLASS_NAME_FADE)\n }\n\n const complete = () => {\n this._element.classList.remove(CLASS_NAME_SHOWING)\n EventHandler.trigger(this._element, EVENT_SHOWN)\n\n this._maybeScheduleHide()\n }\n\n this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n reflow(this._element)\n this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n this._queueCallback(complete, this._element, this._config.animation)\n }\n\n hide() {\n if (!this.isShown()) {\n return\n }\n\n const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (hideEvent.defaultPrevented) {\n return\n }\n\n const complete = () => {\n this._element.classList.add(CLASS_NAME_HIDE) // @deprecated\n this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n\n this._element.classList.add(CLASS_NAME_SHOWING)\n this._queueCallback(complete, this._element, this._config.animation)\n }\n\n dispose() {\n this._clearTimeout()\n\n if (this.isShown()) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n super.dispose()\n }\n\n isShown() {\n return this._element.classList.contains(CLASS_NAME_SHOW)\n }\n\n // Private\n\n _maybeScheduleHide() {\n if (!this._config.autohide) {\n return\n }\n\n if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n return\n }\n\n this._timeout = setTimeout(() => {\n this.hide()\n }, this._config.delay)\n }\n\n _onInteraction(event, isInteracting) {\n switch (event.type) {\n case 'mouseover':\n case 'mouseout': {\n this._hasMouseInteraction = isInteracting\n break\n }\n\n case 'focusin':\n case 'focusout': {\n this._hasKeyboardInteraction = isInteracting\n break\n }\n\n default: {\n break\n }\n }\n\n if (isInteracting) {\n this._clearTimeout()\n return\n }\n\n const nextElement = event.relatedTarget\n if (this._element === nextElement || this._element.contains(nextElement)) {\n return\n }\n\n this._maybeScheduleHide()\n }\n\n _setListeners() {\n EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n }\n\n _clearTimeout() {\n clearTimeout(this._timeout)\n this._timeout = null\n }\n\n // Static\n static jQueryInterface(config) {\n return this.each(function () {\n const data = Toast.getOrCreateInstance(this, config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](this)\n }\n })\n }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Toast)\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(Toast)\n\nexport default Toast\n"],"names":["NAME","DATA_KEY","EVENT_KEY","EVENT_MOUSEOVER","EVENT_MOUSEOUT","EVENT_FOCUSIN","EVENT_FOCUSOUT","EVENT_HIDE","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","CLASS_NAME_FADE","CLASS_NAME_HIDE","CLASS_NAME_SHOW","CLASS_NAME_SHOWING","DefaultType","animation","autohide","delay","Default","Toast","BaseComponent","constructor","element","config","_timeout","_hasMouseInteraction","_hasKeyboardInteraction","_setListeners","show","showEvent","EventHandler","trigger","_element","defaultPrevented","_clearTimeout","_config","classList","add","complete","remove","_maybeScheduleHide","reflow","_queueCallback","hide","isShown","hideEvent","dispose","contains","setTimeout","_onInteraction","event","isInteracting","type","nextElement","relatedTarget","on","clearTimeout","jQueryInterface","each","data","getOrCreateInstance","TypeError","enableDismissTrigger","defineJQueryPlugin"],"mappings":"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"}
|
package/js/dist/tooltip.js
CHANGED
|
@@ -4,10 +4,7 @@
|
|
|
4
4
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Tooltip = factory(global["@popperjs/core"], global.Index, global.Sanitizer, global.EventHandler, global.Manipulator, global.BaseComponent, global.TemplateFactory));
|
|
5
5
|
})(this, (function (Popper, index, sanitizer, EventHandler, Manipulator, BaseComponent, TemplateFactory) { 'use strict';
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
function _interopNamespace(e) {
|
|
10
|
-
if (e && e.__esModule) return e;
|
|
7
|
+
function _interopNamespaceDefault(e) {
|
|
11
8
|
const n = Object.create(null, { [Symbol.toStringTag]: { value: 'Module' } });
|
|
12
9
|
if (e) {
|
|
13
10
|
for (const k in e) {
|
|
@@ -24,18 +21,15 @@
|
|
|
24
21
|
return Object.freeze(n);
|
|
25
22
|
}
|
|
26
23
|
|
|
27
|
-
const Popper__namespace = /*#__PURE__*/
|
|
28
|
-
const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
|
|
29
|
-
const Manipulator__default = /*#__PURE__*/_interopDefaultLegacy(Manipulator);
|
|
30
|
-
const BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
|
|
31
|
-
const TemplateFactory__default = /*#__PURE__*/_interopDefaultLegacy(TemplateFactory);
|
|
24
|
+
const Popper__namespace = /*#__PURE__*/_interopNamespaceDefault(Popper);
|
|
32
25
|
|
|
33
26
|
/**
|
|
34
27
|
* --------------------------------------------------------------------------
|
|
35
|
-
* Bootstrap (v5.2.
|
|
28
|
+
* Bootstrap (v5.2.3): tooltip.js
|
|
36
29
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
37
30
|
* --------------------------------------------------------------------------
|
|
38
31
|
*/
|
|
32
|
+
|
|
39
33
|
/**
|
|
40
34
|
* Constants
|
|
41
35
|
*/
|
|
@@ -107,191 +101,140 @@
|
|
|
107
101
|
title: '(string|element|function)',
|
|
108
102
|
trigger: 'string'
|
|
109
103
|
};
|
|
104
|
+
|
|
110
105
|
/**
|
|
111
106
|
* Class definition
|
|
112
107
|
*/
|
|
113
108
|
|
|
114
|
-
class Tooltip extends
|
|
109
|
+
class Tooltip extends BaseComponent {
|
|
115
110
|
constructor(element, config) {
|
|
116
111
|
if (typeof Popper__namespace === 'undefined') {
|
|
117
112
|
throw new TypeError('Bootstrap\'s tooltips require Popper (https://popper.js.org)');
|
|
118
113
|
}
|
|
114
|
+
super(element, config);
|
|
119
115
|
|
|
120
|
-
|
|
121
|
-
|
|
116
|
+
// Private
|
|
122
117
|
this._isEnabled = true;
|
|
123
118
|
this._timeout = 0;
|
|
124
119
|
this._isHovered = null;
|
|
125
120
|
this._activeTrigger = {};
|
|
126
121
|
this._popper = null;
|
|
127
122
|
this._templateFactory = null;
|
|
128
|
-
this._newContent = null;
|
|
123
|
+
this._newContent = null;
|
|
129
124
|
|
|
125
|
+
// Protected
|
|
130
126
|
this.tip = null;
|
|
131
|
-
|
|
132
127
|
this._setListeners();
|
|
133
|
-
|
|
134
|
-
|
|
128
|
+
if (!this._config.selector) {
|
|
129
|
+
this._fixTitle();
|
|
130
|
+
}
|
|
131
|
+
}
|
|
135
132
|
|
|
133
|
+
// Getters
|
|
136
134
|
static get Default() {
|
|
137
135
|
return Default;
|
|
138
136
|
}
|
|
139
|
-
|
|
140
137
|
static get DefaultType() {
|
|
141
138
|
return DefaultType;
|
|
142
139
|
}
|
|
143
|
-
|
|
144
140
|
static get NAME() {
|
|
145
141
|
return NAME;
|
|
146
|
-
}
|
|
147
|
-
|
|
142
|
+
}
|
|
148
143
|
|
|
144
|
+
// Public
|
|
149
145
|
enable() {
|
|
150
146
|
this._isEnabled = true;
|
|
151
147
|
}
|
|
152
|
-
|
|
153
148
|
disable() {
|
|
154
149
|
this._isEnabled = false;
|
|
155
150
|
}
|
|
156
|
-
|
|
157
151
|
toggleEnabled() {
|
|
158
152
|
this._isEnabled = !this._isEnabled;
|
|
159
153
|
}
|
|
160
|
-
|
|
161
|
-
toggle(event) {
|
|
154
|
+
toggle() {
|
|
162
155
|
if (!this._isEnabled) {
|
|
163
156
|
return;
|
|
164
157
|
}
|
|
165
|
-
|
|
166
|
-
if (event) {
|
|
167
|
-
const context = this._initializeOnDelegatedTarget(event);
|
|
168
|
-
|
|
169
|
-
context._activeTrigger.click = !context._activeTrigger.click;
|
|
170
|
-
|
|
171
|
-
if (context._isWithActiveTrigger()) {
|
|
172
|
-
context._enter();
|
|
173
|
-
} else {
|
|
174
|
-
context._leave();
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
return;
|
|
178
|
-
}
|
|
179
|
-
|
|
158
|
+
this._activeTrigger.click = !this._activeTrigger.click;
|
|
180
159
|
if (this._isShown()) {
|
|
181
160
|
this._leave();
|
|
182
|
-
|
|
183
161
|
return;
|
|
184
162
|
}
|
|
185
|
-
|
|
186
163
|
this._enter();
|
|
187
164
|
}
|
|
188
|
-
|
|
189
165
|
dispose() {
|
|
190
166
|
clearTimeout(this._timeout);
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
this.tip.remove();
|
|
167
|
+
EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);
|
|
168
|
+
if (this._element.getAttribute('data-bs-original-title')) {
|
|
169
|
+
this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'));
|
|
195
170
|
}
|
|
196
|
-
|
|
197
|
-
if (this._config.originalTitle) {
|
|
198
|
-
this._element.setAttribute('title', this._config.originalTitle);
|
|
199
|
-
}
|
|
200
|
-
|
|
201
171
|
this._disposePopper();
|
|
202
|
-
|
|
203
172
|
super.dispose();
|
|
204
173
|
}
|
|
205
|
-
|
|
206
174
|
show() {
|
|
207
175
|
if (this._element.style.display === 'none') {
|
|
208
176
|
throw new Error('Please use show on visible elements');
|
|
209
177
|
}
|
|
210
|
-
|
|
211
178
|
if (!(this._isWithContent() && this._isEnabled)) {
|
|
212
179
|
return;
|
|
213
180
|
}
|
|
214
|
-
|
|
215
|
-
const showEvent = EventHandler__default.default.trigger(this._element, this.constructor.eventName(EVENT_SHOW));
|
|
181
|
+
const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW));
|
|
216
182
|
const shadowRoot = index.findShadowRoot(this._element);
|
|
217
|
-
|
|
218
183
|
const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element);
|
|
219
|
-
|
|
220
184
|
if (showEvent.defaultPrevented || !isInTheDom) {
|
|
221
185
|
return;
|
|
222
|
-
} // todo v6 remove this OR make it optional
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
if (this.tip) {
|
|
226
|
-
this.tip.remove();
|
|
227
|
-
this.tip = null;
|
|
228
186
|
}
|
|
229
187
|
|
|
188
|
+
// todo v6 remove this OR make it optional
|
|
189
|
+
this._disposePopper();
|
|
230
190
|
const tip = this._getTipElement();
|
|
231
|
-
|
|
232
191
|
this._element.setAttribute('aria-describedby', tip.getAttribute('id'));
|
|
233
|
-
|
|
234
192
|
const {
|
|
235
193
|
container
|
|
236
194
|
} = this._config;
|
|
237
|
-
|
|
238
195
|
if (!this._element.ownerDocument.documentElement.contains(this.tip)) {
|
|
239
196
|
container.append(tip);
|
|
240
|
-
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
if (this._popper) {
|
|
244
|
-
this._popper.update();
|
|
245
|
-
} else {
|
|
246
|
-
this._popper = this._createPopper(tip);
|
|
197
|
+
EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED));
|
|
247
198
|
}
|
|
199
|
+
this._popper = this._createPopper(tip);
|
|
200
|
+
tip.classList.add(CLASS_NAME_SHOW);
|
|
248
201
|
|
|
249
|
-
|
|
202
|
+
// If this is a touch-enabled device we add extra
|
|
250
203
|
// empty mouseover listeners to the body's immediate children;
|
|
251
204
|
// only needed because of broken event delegation on iOS
|
|
252
205
|
// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
|
|
253
|
-
|
|
254
206
|
if ('ontouchstart' in document.documentElement) {
|
|
255
207
|
for (const element of [].concat(...document.body.children)) {
|
|
256
|
-
|
|
208
|
+
EventHandler.on(element, 'mouseover', index.noop);
|
|
257
209
|
}
|
|
258
210
|
}
|
|
259
|
-
|
|
260
211
|
const complete = () => {
|
|
261
|
-
|
|
262
|
-
|
|
212
|
+
EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN));
|
|
263
213
|
if (this._isHovered === false) {
|
|
264
214
|
this._leave();
|
|
265
215
|
}
|
|
266
|
-
|
|
267
216
|
this._isHovered = false;
|
|
268
217
|
};
|
|
269
|
-
|
|
270
218
|
this._queueCallback(complete, this.tip, this._isAnimated());
|
|
271
219
|
}
|
|
272
|
-
|
|
273
220
|
hide() {
|
|
274
221
|
if (!this._isShown()) {
|
|
275
222
|
return;
|
|
276
223
|
}
|
|
277
|
-
|
|
278
|
-
const hideEvent = EventHandler__default.default.trigger(this._element, this.constructor.eventName(EVENT_HIDE));
|
|
279
|
-
|
|
224
|
+
const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE));
|
|
280
225
|
if (hideEvent.defaultPrevented) {
|
|
281
226
|
return;
|
|
282
227
|
}
|
|
283
|
-
|
|
284
228
|
const tip = this._getTipElement();
|
|
229
|
+
tip.classList.remove(CLASS_NAME_SHOW);
|
|
285
230
|
|
|
286
|
-
|
|
231
|
+
// If this is a touch-enabled device we remove the extra
|
|
287
232
|
// empty mouseover listeners we added for iOS support
|
|
288
|
-
|
|
289
233
|
if ('ontouchstart' in document.documentElement) {
|
|
290
234
|
for (const element of [].concat(...document.body.children)) {
|
|
291
|
-
|
|
235
|
+
EventHandler.off(element, 'mouseover', index.noop);
|
|
292
236
|
}
|
|
293
237
|
}
|
|
294
|
-
|
|
295
238
|
this._activeTrigger[TRIGGER_CLICK] = false;
|
|
296
239
|
this._activeTrigger[TRIGGER_FOCUS] = false;
|
|
297
240
|
this._activeTrigger[TRIGGER_HOVER] = false;
|
|
@@ -301,135 +244,107 @@
|
|
|
301
244
|
if (this._isWithActiveTrigger()) {
|
|
302
245
|
return;
|
|
303
246
|
}
|
|
304
|
-
|
|
305
247
|
if (!this._isHovered) {
|
|
306
|
-
|
|
248
|
+
this._disposePopper();
|
|
307
249
|
}
|
|
308
|
-
|
|
309
250
|
this._element.removeAttribute('aria-describedby');
|
|
310
|
-
|
|
311
|
-
EventHandler__default.default.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN));
|
|
312
|
-
|
|
313
|
-
this._disposePopper();
|
|
251
|
+
EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN));
|
|
314
252
|
};
|
|
315
|
-
|
|
316
253
|
this._queueCallback(complete, this.tip, this._isAnimated());
|
|
317
254
|
}
|
|
318
|
-
|
|
319
255
|
update() {
|
|
320
256
|
if (this._popper) {
|
|
321
257
|
this._popper.update();
|
|
322
258
|
}
|
|
323
|
-
}
|
|
324
|
-
|
|
259
|
+
}
|
|
325
260
|
|
|
261
|
+
// Protected
|
|
326
262
|
_isWithContent() {
|
|
327
263
|
return Boolean(this._getTitle());
|
|
328
264
|
}
|
|
329
|
-
|
|
330
265
|
_getTipElement() {
|
|
331
266
|
if (!this.tip) {
|
|
332
267
|
this.tip = this._createTipElement(this._newContent || this._getContentForTemplate());
|
|
333
268
|
}
|
|
334
|
-
|
|
335
269
|
return this.tip;
|
|
336
270
|
}
|
|
337
|
-
|
|
338
271
|
_createTipElement(content) {
|
|
339
|
-
const tip = this._getTemplateFactory(content).toHtml();
|
|
340
|
-
|
|
272
|
+
const tip = this._getTemplateFactory(content).toHtml();
|
|
341
273
|
|
|
274
|
+
// todo: remove this check on v6
|
|
342
275
|
if (!tip) {
|
|
343
276
|
return null;
|
|
344
277
|
}
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
278
|
+
tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW);
|
|
279
|
+
// todo: on v6 the following can be achieved with CSS only
|
|
348
280
|
tip.classList.add(`bs-${this.constructor.NAME}-auto`);
|
|
349
281
|
const tipId = index.getUID(this.constructor.NAME).toString();
|
|
350
282
|
tip.setAttribute('id', tipId);
|
|
351
|
-
|
|
352
283
|
if (this._isAnimated()) {
|
|
353
284
|
tip.classList.add(CLASS_NAME_FADE);
|
|
354
285
|
}
|
|
355
|
-
|
|
356
286
|
return tip;
|
|
357
287
|
}
|
|
358
|
-
|
|
359
288
|
setContent(content) {
|
|
360
289
|
this._newContent = content;
|
|
361
|
-
|
|
362
290
|
if (this._isShown()) {
|
|
363
291
|
this._disposePopper();
|
|
364
|
-
|
|
365
292
|
this.show();
|
|
366
293
|
}
|
|
367
294
|
}
|
|
368
|
-
|
|
369
295
|
_getTemplateFactory(content) {
|
|
370
296
|
if (this._templateFactory) {
|
|
371
297
|
this._templateFactory.changeContent(content);
|
|
372
298
|
} else {
|
|
373
|
-
this._templateFactory = new
|
|
299
|
+
this._templateFactory = new TemplateFactory({
|
|
300
|
+
...this._config,
|
|
374
301
|
// the `content` var has to be after `this._config`
|
|
375
302
|
// to override config.content in case of popover
|
|
376
303
|
content,
|
|
377
304
|
extraClass: this._resolvePossibleFunction(this._config.customClass)
|
|
378
305
|
});
|
|
379
306
|
}
|
|
380
|
-
|
|
381
307
|
return this._templateFactory;
|
|
382
308
|
}
|
|
383
|
-
|
|
384
309
|
_getContentForTemplate() {
|
|
385
310
|
return {
|
|
386
311
|
[SELECTOR_TOOLTIP_INNER]: this._getTitle()
|
|
387
312
|
};
|
|
388
313
|
}
|
|
389
|
-
|
|
390
314
|
_getTitle() {
|
|
391
|
-
return this._resolvePossibleFunction(this._config.title) || this.
|
|
392
|
-
}
|
|
393
|
-
|
|
315
|
+
return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title');
|
|
316
|
+
}
|
|
394
317
|
|
|
318
|
+
// Private
|
|
395
319
|
_initializeOnDelegatedTarget(event) {
|
|
396
320
|
return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig());
|
|
397
321
|
}
|
|
398
|
-
|
|
399
322
|
_isAnimated() {
|
|
400
323
|
return this._config.animation || this.tip && this.tip.classList.contains(CLASS_NAME_FADE);
|
|
401
324
|
}
|
|
402
|
-
|
|
403
325
|
_isShown() {
|
|
404
326
|
return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW);
|
|
405
327
|
}
|
|
406
|
-
|
|
407
328
|
_createPopper(tip) {
|
|
408
329
|
const placement = typeof this._config.placement === 'function' ? this._config.placement.call(this, tip, this._element) : this._config.placement;
|
|
409
330
|
const attachment = AttachmentMap[placement.toUpperCase()];
|
|
410
331
|
return Popper__namespace.createPopper(this._element, tip, this._getPopperConfig(attachment));
|
|
411
332
|
}
|
|
412
|
-
|
|
413
333
|
_getOffset() {
|
|
414
334
|
const {
|
|
415
335
|
offset
|
|
416
336
|
} = this._config;
|
|
417
|
-
|
|
418
337
|
if (typeof offset === 'string') {
|
|
419
338
|
return offset.split(',').map(value => Number.parseInt(value, 10));
|
|
420
339
|
}
|
|
421
|
-
|
|
422
340
|
if (typeof offset === 'function') {
|
|
423
341
|
return popperData => offset(popperData, this._element);
|
|
424
342
|
}
|
|
425
|
-
|
|
426
343
|
return offset;
|
|
427
344
|
}
|
|
428
|
-
|
|
429
345
|
_resolvePossibleFunction(arg) {
|
|
430
346
|
return typeof arg === 'function' ? arg.call(this._element) : arg;
|
|
431
347
|
}
|
|
432
|
-
|
|
433
348
|
_getPopperConfig(attachment) {
|
|
434
349
|
const defaultBsPopperConfig = {
|
|
435
350
|
placement: attachment,
|
|
@@ -464,196 +379,159 @@
|
|
|
464
379
|
}
|
|
465
380
|
}]
|
|
466
381
|
};
|
|
467
|
-
return {
|
|
382
|
+
return {
|
|
383
|
+
...defaultBsPopperConfig,
|
|
468
384
|
...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig)
|
|
469
385
|
};
|
|
470
386
|
}
|
|
471
|
-
|
|
472
387
|
_setListeners() {
|
|
473
388
|
const triggers = this._config.trigger.split(' ');
|
|
474
|
-
|
|
475
389
|
for (const trigger of triggers) {
|
|
476
390
|
if (trigger === 'click') {
|
|
477
|
-
|
|
391
|
+
EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {
|
|
392
|
+
const context = this._initializeOnDelegatedTarget(event);
|
|
393
|
+
context.toggle();
|
|
394
|
+
});
|
|
478
395
|
} else if (trigger !== TRIGGER_MANUAL) {
|
|
479
396
|
const eventIn = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSEENTER) : this.constructor.eventName(EVENT_FOCUSIN);
|
|
480
397
|
const eventOut = trigger === TRIGGER_HOVER ? this.constructor.eventName(EVENT_MOUSELEAVE) : this.constructor.eventName(EVENT_FOCUSOUT);
|
|
481
|
-
|
|
398
|
+
EventHandler.on(this._element, eventIn, this._config.selector, event => {
|
|
482
399
|
const context = this._initializeOnDelegatedTarget(event);
|
|
483
|
-
|
|
484
400
|
context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;
|
|
485
|
-
|
|
486
401
|
context._enter();
|
|
487
402
|
});
|
|
488
|
-
|
|
403
|
+
EventHandler.on(this._element, eventOut, this._config.selector, event => {
|
|
489
404
|
const context = this._initializeOnDelegatedTarget(event);
|
|
490
|
-
|
|
491
405
|
context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = context._element.contains(event.relatedTarget);
|
|
492
|
-
|
|
493
406
|
context._leave();
|
|
494
407
|
});
|
|
495
408
|
}
|
|
496
409
|
}
|
|
497
|
-
|
|
498
410
|
this._hideModalHandler = () => {
|
|
499
411
|
if (this._element) {
|
|
500
412
|
this.hide();
|
|
501
413
|
}
|
|
502
414
|
};
|
|
503
|
-
|
|
504
|
-
EventHandler__default.default.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);
|
|
505
|
-
|
|
506
|
-
if (this._config.selector) {
|
|
507
|
-
this._config = { ...this._config,
|
|
508
|
-
trigger: 'manual',
|
|
509
|
-
selector: ''
|
|
510
|
-
};
|
|
511
|
-
} else {
|
|
512
|
-
this._fixTitle();
|
|
513
|
-
}
|
|
415
|
+
EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);
|
|
514
416
|
}
|
|
515
|
-
|
|
516
417
|
_fixTitle() {
|
|
517
|
-
const title = this.
|
|
518
|
-
|
|
418
|
+
const title = this._element.getAttribute('title');
|
|
519
419
|
if (!title) {
|
|
520
420
|
return;
|
|
521
421
|
}
|
|
522
|
-
|
|
523
422
|
if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {
|
|
524
423
|
this._element.setAttribute('aria-label', title);
|
|
525
424
|
}
|
|
526
|
-
|
|
425
|
+
this._element.setAttribute('data-bs-original-title', title); // DO NOT USE IT. Is only for backwards compatibility
|
|
527
426
|
this._element.removeAttribute('title');
|
|
528
427
|
}
|
|
529
|
-
|
|
530
428
|
_enter() {
|
|
531
429
|
if (this._isShown() || this._isHovered) {
|
|
532
430
|
this._isHovered = true;
|
|
533
431
|
return;
|
|
534
432
|
}
|
|
535
|
-
|
|
536
433
|
this._isHovered = true;
|
|
537
|
-
|
|
538
434
|
this._setTimeout(() => {
|
|
539
435
|
if (this._isHovered) {
|
|
540
436
|
this.show();
|
|
541
437
|
}
|
|
542
438
|
}, this._config.delay.show);
|
|
543
439
|
}
|
|
544
|
-
|
|
545
440
|
_leave() {
|
|
546
441
|
if (this._isWithActiveTrigger()) {
|
|
547
442
|
return;
|
|
548
443
|
}
|
|
549
|
-
|
|
550
444
|
this._isHovered = false;
|
|
551
|
-
|
|
552
445
|
this._setTimeout(() => {
|
|
553
446
|
if (!this._isHovered) {
|
|
554
447
|
this.hide();
|
|
555
448
|
}
|
|
556
449
|
}, this._config.delay.hide);
|
|
557
450
|
}
|
|
558
|
-
|
|
559
451
|
_setTimeout(handler, timeout) {
|
|
560
452
|
clearTimeout(this._timeout);
|
|
561
453
|
this._timeout = setTimeout(handler, timeout);
|
|
562
454
|
}
|
|
563
|
-
|
|
564
455
|
_isWithActiveTrigger() {
|
|
565
456
|
return Object.values(this._activeTrigger).includes(true);
|
|
566
457
|
}
|
|
567
|
-
|
|
568
458
|
_getConfig(config) {
|
|
569
|
-
const dataAttributes =
|
|
570
|
-
|
|
459
|
+
const dataAttributes = Manipulator.getDataAttributes(this._element);
|
|
571
460
|
for (const dataAttribute of Object.keys(dataAttributes)) {
|
|
572
461
|
if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {
|
|
573
462
|
delete dataAttributes[dataAttribute];
|
|
574
463
|
}
|
|
575
464
|
}
|
|
576
|
-
|
|
577
|
-
|
|
465
|
+
config = {
|
|
466
|
+
...dataAttributes,
|
|
578
467
|
...(typeof config === 'object' && config ? config : {})
|
|
579
468
|
};
|
|
580
469
|
config = this._mergeConfigObj(config);
|
|
581
470
|
config = this._configAfterMerge(config);
|
|
582
|
-
|
|
583
471
|
this._typeCheckConfig(config);
|
|
584
|
-
|
|
585
472
|
return config;
|
|
586
473
|
}
|
|
587
|
-
|
|
588
474
|
_configAfterMerge(config) {
|
|
589
475
|
config.container = config.container === false ? document.body : index.getElement(config.container);
|
|
590
|
-
|
|
591
476
|
if (typeof config.delay === 'number') {
|
|
592
477
|
config.delay = {
|
|
593
478
|
show: config.delay,
|
|
594
479
|
hide: config.delay
|
|
595
480
|
};
|
|
596
481
|
}
|
|
597
|
-
|
|
598
|
-
config.originalTitle = this._element.getAttribute('title') || '';
|
|
599
|
-
|
|
600
482
|
if (typeof config.title === 'number') {
|
|
601
483
|
config.title = config.title.toString();
|
|
602
484
|
}
|
|
603
|
-
|
|
604
485
|
if (typeof config.content === 'number') {
|
|
605
486
|
config.content = config.content.toString();
|
|
606
487
|
}
|
|
607
|
-
|
|
608
488
|
return config;
|
|
609
489
|
}
|
|
610
|
-
|
|
611
490
|
_getDelegateConfig() {
|
|
612
491
|
const config = {};
|
|
613
|
-
|
|
614
492
|
for (const key in this._config) {
|
|
615
493
|
if (this.constructor.Default[key] !== this._config[key]) {
|
|
616
494
|
config[key] = this._config[key];
|
|
617
495
|
}
|
|
618
|
-
}
|
|
496
|
+
}
|
|
497
|
+
config.selector = false;
|
|
498
|
+
config.trigger = 'manual';
|
|
499
|
+
|
|
500
|
+
// In the future can be replaced with:
|
|
619
501
|
// const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])
|
|
620
502
|
// `Object.fromEntries(keysWithDifferentValues)`
|
|
621
|
-
|
|
622
|
-
|
|
623
503
|
return config;
|
|
624
504
|
}
|
|
625
|
-
|
|
626
505
|
_disposePopper() {
|
|
627
506
|
if (this._popper) {
|
|
628
507
|
this._popper.destroy();
|
|
629
|
-
|
|
630
508
|
this._popper = null;
|
|
631
509
|
}
|
|
632
|
-
|
|
633
|
-
|
|
510
|
+
if (this.tip) {
|
|
511
|
+
this.tip.remove();
|
|
512
|
+
this.tip = null;
|
|
513
|
+
}
|
|
514
|
+
}
|
|
634
515
|
|
|
516
|
+
// Static
|
|
635
517
|
static jQueryInterface(config) {
|
|
636
518
|
return this.each(function () {
|
|
637
519
|
const data = Tooltip.getOrCreateInstance(this, config);
|
|
638
|
-
|
|
639
520
|
if (typeof config !== 'string') {
|
|
640
521
|
return;
|
|
641
522
|
}
|
|
642
|
-
|
|
643
523
|
if (typeof data[config] === 'undefined') {
|
|
644
524
|
throw new TypeError(`No method named "${config}"`);
|
|
645
525
|
}
|
|
646
|
-
|
|
647
526
|
data[config]();
|
|
648
527
|
});
|
|
649
528
|
}
|
|
650
|
-
|
|
651
529
|
}
|
|
530
|
+
|
|
652
531
|
/**
|
|
653
532
|
* jQuery
|
|
654
533
|
*/
|
|
655
534
|
|
|
656
|
-
|
|
657
535
|
index.defineJQueryPlugin(Tooltip);
|
|
658
536
|
|
|
659
537
|
return Tooltip;
|