@openeuropa/bcl-bootstrap 0.28.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (283) hide show
  1. package/bootstrap-icons.svg +1 -1
  2. package/icons/0-circle-fill.svg +4 -0
  3. package/icons/0-circle.svg +4 -0
  4. package/icons/0-square-fill.svg +4 -0
  5. package/icons/0-square.svg +4 -0
  6. package/icons/1-circle-fill.svg +1 -1
  7. package/icons/amd.svg +3 -0
  8. package/icons/arrow-bar-left.svg +1 -1
  9. package/icons/arrow-bar-right.svg +1 -1
  10. package/icons/arrows-collapse.svg +1 -1
  11. package/icons/arrows-expand.svg +1 -1
  12. package/icons/building-add.svg +5 -0
  13. package/icons/building-check.svg +5 -0
  14. package/icons/building-dash.svg +5 -0
  15. package/icons/building-down.svg +5 -0
  16. package/icons/building-exclamation.svg +4 -0
  17. package/icons/building-fill-add.svg +4 -0
  18. package/icons/building-fill-check.svg +4 -0
  19. package/icons/building-fill-dash.svg +4 -0
  20. package/icons/building-fill-down.svg +4 -0
  21. package/icons/building-fill-exclamation.svg +4 -0
  22. package/icons/building-fill-gear.svg +4 -0
  23. package/icons/building-fill-lock.svg +4 -0
  24. package/icons/building-fill-slash.svg +4 -0
  25. package/icons/building-fill-up.svg +4 -0
  26. package/icons/building-fill-x.svg +4 -0
  27. package/icons/building-fill.svg +3 -0
  28. package/icons/building-gear.svg +4 -0
  29. package/icons/building-lock.svg +4 -0
  30. package/icons/building-slash.svg +5 -0
  31. package/icons/building-up.svg +5 -0
  32. package/icons/building-x.svg +4 -0
  33. package/icons/building.svg +2 -2
  34. package/icons/buildings-fill.svg +3 -0
  35. package/icons/buildings.svg +4 -0
  36. package/icons/bus-front-fill.svg +3 -0
  37. package/icons/bus-front.svg +4 -0
  38. package/icons/capsule-pill.svg +1 -1
  39. package/icons/capsule.svg +1 -1
  40. package/icons/car-front-fill.svg +1 -1
  41. package/icons/car-front.svg +1 -1
  42. package/icons/database-add.svg +4 -0
  43. package/icons/database-check.svg +4 -0
  44. package/icons/database-dash.svg +4 -0
  45. package/icons/database-down.svg +4 -0
  46. package/icons/database-exclamation.svg +4 -0
  47. package/icons/database-fill-add.svg +4 -0
  48. package/icons/database-fill-check.svg +4 -0
  49. package/icons/database-fill-dash.svg +4 -0
  50. package/icons/database-fill-down.svg +4 -0
  51. package/icons/database-fill-exclamation.svg +5 -0
  52. package/icons/database-fill-gear.svg +4 -0
  53. package/icons/database-fill-lock.svg +5 -0
  54. package/icons/database-fill-slash.svg +4 -0
  55. package/icons/database-fill-up.svg +4 -0
  56. package/icons/database-fill-x.svg +5 -0
  57. package/icons/database-fill.svg +6 -0
  58. package/icons/database-gear.svg +4 -0
  59. package/icons/database-lock.svg +4 -0
  60. package/icons/database-slash.svg +4 -0
  61. package/icons/database-up.svg +4 -0
  62. package/icons/database-x.svg +4 -0
  63. package/icons/database.svg +3 -0
  64. package/icons/envelope-at-fill.svg +4 -0
  65. package/icons/envelope-at.svg +4 -0
  66. package/icons/ev-front-fill.svg +3 -0
  67. package/icons/ev-front.svg +4 -0
  68. package/icons/globe-americas.svg +3 -0
  69. package/icons/globe-asia-australia.svg +4 -0
  70. package/icons/globe-central-south-asia.svg +3 -0
  71. package/icons/globe-europe-africa.svg +3 -0
  72. package/icons/heart-pulse-fill.svg +2 -1
  73. package/icons/heart-pulse.svg +2 -1
  74. package/icons/heartbreak-fill.svg +1 -1
  75. package/icons/heartbreak.svg +1 -1
  76. package/icons/house-add-fill.svg +5 -0
  77. package/icons/house-add.svg +4 -0
  78. package/icons/house-check-fill.svg +5 -0
  79. package/icons/house-check.svg +4 -0
  80. package/icons/house-dash-fill.svg +5 -0
  81. package/icons/house-dash.svg +4 -0
  82. package/icons/house-door-fill.svg +1 -1
  83. package/icons/house-door.svg +1 -1
  84. package/icons/house-down-fill.svg +5 -0
  85. package/icons/house-down.svg +4 -0
  86. package/icons/house-exclamation-fill.svg +5 -0
  87. package/icons/house-exclamation.svg +4 -0
  88. package/icons/house-fill.svg +2 -2
  89. package/icons/house-gear-fill.svg +5 -0
  90. package/icons/house-gear.svg +4 -0
  91. package/icons/house-lock-fill.svg +5 -0
  92. package/icons/house-lock.svg +4 -0
  93. package/icons/house-slash-fill.svg +5 -0
  94. package/icons/house-slash.svg +4 -0
  95. package/icons/house-up-fill.svg +5 -0
  96. package/icons/house-up.svg +4 -0
  97. package/icons/house-x-fill.svg +5 -0
  98. package/icons/house-x.svg +4 -0
  99. package/icons/house.svg +1 -2
  100. package/icons/houses-fill.svg +4 -0
  101. package/icons/houses.svg +3 -0
  102. package/icons/lungs-fill.svg +1 -1
  103. package/icons/nvidia.svg +3 -0
  104. package/icons/people-fill.svg +1 -3
  105. package/icons/people.svg +1 -1
  106. package/icons/person-add.svg +4 -0
  107. package/icons/person-check.svg +2 -2
  108. package/icons/person-dash.svg +2 -2
  109. package/icons/person-down.svg +4 -0
  110. package/icons/person-exclamation.svg +4 -0
  111. package/icons/person-fill-add.svg +4 -0
  112. package/icons/person-fill-check.svg +4 -0
  113. package/icons/person-fill-dash.svg +4 -0
  114. package/icons/person-fill-down.svg +4 -0
  115. package/icons/person-fill-exclamation.svg +4 -0
  116. package/icons/person-fill-gear.svg +3 -0
  117. package/icons/person-fill-lock.svg +3 -0
  118. package/icons/person-fill-slash.svg +3 -0
  119. package/icons/person-fill-up.svg +4 -0
  120. package/icons/person-fill-x.svg +4 -0
  121. package/icons/person-fill.svg +1 -1
  122. package/icons/person-gear.svg +3 -0
  123. package/icons/person-lock.svg +3 -0
  124. package/icons/person-slash.svg +3 -0
  125. package/icons/person-up.svg +4 -0
  126. package/icons/person-vcard-fill.svg +3 -0
  127. package/icons/person-vcard.svg +4 -0
  128. package/icons/person-x.svg +2 -2
  129. package/icons/person.svg +1 -1
  130. package/icons/prescription.svg +2 -2
  131. package/icons/prescription2.svg +1 -1
  132. package/icons/regex.svg +3 -0
  133. package/icons/rocket-fill.svg +4 -0
  134. package/icons/rocket-takeoff-fill.svg +4 -0
  135. package/icons/rocket-takeoff.svg +5 -0
  136. package/icons/rocket.svg +5 -0
  137. package/icons/scooter.svg +3 -0
  138. package/icons/sign-dead-end-fill.svg +4 -0
  139. package/icons/sign-dead-end.svg +4 -0
  140. package/icons/sign-do-not-enter-fill.svg +4 -0
  141. package/icons/sign-do-not-enter.svg +4 -0
  142. package/icons/sign-intersection-fill.svg +3 -0
  143. package/icons/sign-intersection-side-fill.svg +3 -0
  144. package/icons/sign-intersection-side.svg +4 -0
  145. package/icons/sign-intersection-t-fill.svg +3 -0
  146. package/icons/sign-intersection-t.svg +4 -0
  147. package/icons/sign-intersection-y-fill.svg +3 -0
  148. package/icons/sign-intersection-y.svg +4 -0
  149. package/icons/sign-intersection.svg +4 -0
  150. package/icons/sign-merge-left-fill.svg +3 -0
  151. package/icons/sign-merge-left.svg +4 -0
  152. package/icons/sign-merge-right-fill.svg +3 -0
  153. package/icons/sign-merge-right.svg +4 -0
  154. package/icons/sign-no-left-turn-fill.svg +4 -0
  155. package/icons/sign-no-left-turn.svg +3 -0
  156. package/icons/sign-no-parking-fill.svg +4 -0
  157. package/icons/sign-no-parking.svg +3 -0
  158. package/icons/sign-no-right-turn-fill.svg +4 -0
  159. package/icons/sign-no-right-turn.svg +3 -0
  160. package/icons/sign-railroad-fill.svg +5 -0
  161. package/icons/sign-railroad.svg +4 -0
  162. package/icons/sign-stop-fill.svg +1 -1
  163. package/icons/sign-stop-lights-fill.svg +1 -1
  164. package/icons/sign-turn-left-fill.svg +1 -1
  165. package/icons/sign-turn-right-fill.svg +1 -1
  166. package/icons/sign-turn-slight-left-fill.svg +1 -1
  167. package/icons/sign-turn-slight-right-fill.svg +1 -1
  168. package/icons/sign-yield-fill.svg +1 -1
  169. package/icons/sina-weibo.svg +4 -0
  170. package/icons/stripe.svg +3 -0
  171. package/icons/subscript.svg +3 -0
  172. package/icons/superscript.svg +3 -0
  173. package/icons/taxi-front-fill.svg +3 -0
  174. package/icons/taxi-front.svg +4 -0
  175. package/icons/tencent-qq.svg +4 -0
  176. package/icons/text-wrap.svg +3 -0
  177. package/icons/train-freight-front-fill.svg +1 -1
  178. package/icons/train-freight-front.svg +1 -1
  179. package/icons/train-front-fill.svg +1 -1
  180. package/icons/train-front.svg +1 -1
  181. package/icons/train-lightrail-front-fill.svg +1 -1
  182. package/icons/train-lightrail-front.svg +1 -1
  183. package/icons/trello.svg +3 -0
  184. package/icons/truck-front-fill.svg +1 -1
  185. package/icons/truck-front.svg +2 -3
  186. package/icons/virus.svg +1 -1
  187. package/icons/virus2.svg +1 -1
  188. package/icons/wikipedia.svg +3 -0
  189. package/js/dist/alert.js +14 -25
  190. package/js/dist/alert.js.map +1 -1
  191. package/js/dist/base-component.js +13 -30
  192. package/js/dist/base-component.js.map +1 -1
  193. package/js/dist/button.js +11 -15
  194. package/js/dist/button.js.map +1 -1
  195. package/js/dist/carousel.js +36 -120
  196. package/js/dist/carousel.js.map +1 -1
  197. package/js/dist/collapse.js +27 -88
  198. package/js/dist/collapse.js.map +1 -1
  199. package/js/dist/dependency/manipulator.js +72 -0
  200. package/js/dist/dependency/manipulator.js.map +1 -0
  201. package/js/dist/dom/data.js +6 -10
  202. package/js/dist/dom/data.js.map +1 -1
  203. package/js/dist/dom/event-handler.js +7 -52
  204. package/js/dist/dom/event-handler.js.map +1 -1
  205. package/js/dist/dom/manipulator.js +2 -15
  206. package/js/dist/dom/manipulator.js.map +1 -1
  207. package/js/dist/dom/selector-engine.js +2 -16
  208. package/js/dist/dom/selector-engine.js.map +1 -1
  209. package/js/dist/dropdown.js +52 -124
  210. package/js/dist/dropdown.js.map +1 -1
  211. package/js/dist/modal.js +40 -119
  212. package/js/dist/modal.js.map +1 -1
  213. package/js/dist/offcanvas.js +36 -89
  214. package/js/dist/offcanvas.js.map +1 -1
  215. package/js/dist/popover.js +15 -22
  216. package/js/dist/popover.js.map +1 -1
  217. package/js/dist/scrollspy-legacy.js +216 -0
  218. package/js/dist/scrollspy-legacy.js.map +1 -0
  219. package/js/dist/scrollspy.js +42 -80
  220. package/js/dist/scrollspy.js.map +1 -1
  221. package/js/dist/tab.js +40 -98
  222. package/js/dist/tab.js.map +1 -1
  223. package/js/dist/toast.js +30 -69
  224. package/js/dist/toast.js.map +1 -1
  225. package/js/dist/tooltip.js +74 -196
  226. package/js/dist/tooltip.js.map +1 -1
  227. package/js/dist/util/backdrop.js +13 -40
  228. package/js/dist/util/backdrop.js.map +1 -1
  229. package/js/dist/util/component-functions.js +5 -11
  230. package/js/dist/util/component-functions.js.map +1 -1
  231. package/js/dist/util/config.js +6 -18
  232. package/js/dist/util/config.js.map +1 -1
  233. package/js/dist/util/focustrap.js +16 -33
  234. package/js/dist/util/focustrap.js.map +1 -1
  235. package/js/dist/util/index.js +28 -75
  236. package/js/dist/util/index.js.map +1 -1
  237. package/js/dist/util/sanitizer.js +7 -17
  238. package/js/dist/util/sanitizer.js.map +1 -1
  239. package/js/dist/util/scrollbar.js +16 -43
  240. package/js/dist/util/scrollbar.js.map +1 -1
  241. package/js/dist/util/swipe.js +18 -40
  242. package/js/dist/util/swipe.js.map +1 -1
  243. package/js/dist/util/template-factory.js +13 -41
  244. package/js/dist/util/template-factory.js.map +1 -1
  245. package/js/src/alert.js +1 -1
  246. package/js/src/base-component.js +2 -2
  247. package/js/src/button.js +1 -1
  248. package/js/src/carousel.js +1 -1
  249. package/js/src/collapse.js +1 -1
  250. package/js/src/dependency/manipulator.js +80 -0
  251. package/js/src/dom/data.js +1 -1
  252. package/js/src/dom/event-handler.js +1 -1
  253. package/js/src/dom/manipulator.js +1 -1
  254. package/js/src/dom/selector-engine.js +1 -1
  255. package/js/src/dropdown.js +10 -3
  256. package/js/src/modal.js +3 -3
  257. package/js/src/offcanvas.js +1 -1
  258. package/js/src/popover.js +1 -1
  259. package/js/src/scrollspy-legacy.js +294 -0
  260. package/js/src/scrollspy.js +1 -1
  261. package/js/src/tab.js +2 -4
  262. package/js/src/toast.js +9 -4
  263. package/js/src/tooltip.js +27 -48
  264. package/js/src/util/backdrop.js +1 -1
  265. package/js/src/util/component-functions.js +1 -1
  266. package/js/src/util/config.js +1 -1
  267. package/js/src/util/focustrap.js +1 -1
  268. package/js/src/util/index.js +1 -1
  269. package/js/src/util/sanitizer.js +1 -1
  270. package/js/src/util/scrollbar.js +1 -1
  271. package/js/src/util/swipe.js +1 -1
  272. package/js/src/util/template-factory.js +1 -1
  273. package/legacy/dependency/manipulator.js +80 -0
  274. package/legacy/scrollspy-legacy.js +294 -0
  275. package/package.json +6 -6
  276. package/scss/_buttons.scss +8 -2
  277. package/scss/_carousel.scss +0 -3
  278. package/scss/_functions.scss +1 -1
  279. package/scss/_toasts.scss +2 -0
  280. package/scss/_variables.scss +1 -1
  281. package/scss/bootstrap-utilities.scss +3 -0
  282. package/scss/mixins/_banner.scss +1 -1
  283. package/scss/mixins/_table-variants.scss +2 -2
@@ -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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"}
@@ -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
- const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };
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__*/_interopNamespace(Popper);
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.1): tooltip.js
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 BaseComponent__default.default {
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
- super(element, config); // Private
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; // Protected
123
+ this._newContent = null;
129
124
 
125
+ // Protected
130
126
  this.tip = null;
131
-
132
127
  this._setListeners();
133
- } // Getters
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
- } // Public
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
- EventHandler__default.default.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler);
192
-
193
- if (this.tip) {
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
- EventHandler__default.default.trigger(this._element, this.constructor.eventName(EVENT_INSERTED));
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
- tip.classList.add(CLASS_NAME_SHOW); // If this is a touch-enabled device we add extra
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
- EventHandler__default.default.on(element, 'mouseover', index.noop);
208
+ EventHandler.on(element, 'mouseover', index.noop);
257
209
  }
258
210
  }
259
-
260
211
  const complete = () => {
261
- EventHandler__default.default.trigger(this._element, this.constructor.eventName(EVENT_SHOWN));
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
- tip.classList.remove(CLASS_NAME_SHOW); // If this is a touch-enabled device we remove the extra
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
- EventHandler__default.default.off(element, 'mouseover', index.noop);
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
- tip.remove();
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
- } // Protected
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(); // todo: remove this check on v6
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
- tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW); // todo: on v6 the following can be achieved with CSS only
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 TemplateFactory__default.default({ ...this._config,
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._config.originalTitle;
392
- } // Private
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 { ...defaultBsPopperConfig,
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
- EventHandler__default.default.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => this.toggle(event));
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
- EventHandler__default.default.on(this._element, eventIn, this._config.selector, event => {
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
- EventHandler__default.default.on(this._element, eventOut, this._config.selector, event => {
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._config.originalTitle;
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 = Manipulator__default.default.getDataAttributes(this._element);
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
- config = { ...dataAttributes,
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
- } // In the future can be replaced with:
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
- } // Static
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;