Welcome to mirror list, hosted at ThFree Co, Russian Federation.

tooltip.js.map « dist « js - github.com/twbs/bootstrap.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: b30dc54b2e6593719bfec9cc61704e82a2a3f3d7 (plain)
1
{"version":3,"file":"tooltip.js","sources":["../src/util/index.js","../src/util/sanitizer.js","../src/base-component.js","../src/tooltip.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nconst toType = obj => {\n  if (obj === null || obj === undefined) {\n    return `${obj}`\n  }\n\n  return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst getUID = prefix => {\n  do {\n    prefix += Math.floor(Math.random() * MAX_UID)\n  } while (document.getElementById(prefix))\n\n  return prefix\n}\n\nconst getSelector = element => {\n  let selector = element.getAttribute('data-bs-target')\n\n  if (!selector || selector === '#') {\n    const hrefAttr = element.getAttribute('href')\n\n    selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null\n  }\n\n  return selector\n}\n\nconst getSelectorFromElement = element => {\n  const selector = getSelector(element)\n\n  if (selector) {\n    return document.querySelector(selector) ? selector : null\n  }\n\n  return null\n}\n\nconst getElementFromSelector = element => {\n  const selector = getSelector(element)\n\n  return selector ? document.querySelector(selector) : null\n}\n\nconst getTransitionDurationFromElement = element => {\n  if (!element) {\n    return 0\n  }\n\n  // Get transition-duration of the element\n  let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n  const floatTransitionDuration = Number.parseFloat(transitionDuration)\n  const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n  // Return 0 if element or transition duration is not found\n  if (!floatTransitionDuration && !floatTransitionDelay) {\n    return 0\n  }\n\n  // If multiple durations are defined, take the first\n  transitionDuration = transitionDuration.split(',')[0]\n  transitionDelay = transitionDelay.split(',')[0]\n\n  return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n  element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = obj => (obj[0] || obj).nodeType\n\nconst emulateTransitionEnd = (element, duration) => {\n  let called = false\n  const durationPadding = 5\n  const emulatedDuration = duration + durationPadding\n\n  function listener() {\n    called = true\n    element.removeEventListener(TRANSITION_END, listener)\n  }\n\n  element.addEventListener(TRANSITION_END, listener)\n  setTimeout(() => {\n    if (!called) {\n      triggerTransitionEnd(element)\n    }\n  }, emulatedDuration)\n}\n\nconst typeCheckConfig = (componentName, config, configTypes) => {\n  Object.keys(configTypes).forEach(property => {\n    const expectedTypes = configTypes[property]\n    const value = config[property]\n    const valueType = value && isElement(value) ?\n      'element' :\n      toType(value)\n\n    if (!new RegExp(expectedTypes).test(valueType)) {\n      throw new Error(\n        `${componentName.toUpperCase()}: ` +\n        `Option \"${property}\" provided type \"${valueType}\" ` +\n        `but expected type \"${expectedTypes}\".`)\n    }\n  })\n}\n\nconst isVisible = element => {\n  if (!element) {\n    return false\n  }\n\n  if (element.style && element.parentNode && element.parentNode.style) {\n    const elementStyle = getComputedStyle(element)\n    const parentNodeStyle = getComputedStyle(element.parentNode)\n\n    return elementStyle.display !== 'none' &&\n      parentNodeStyle.display !== 'none' &&\n      elementStyle.visibility !== 'hidden'\n  }\n\n  return false\n}\n\nconst findShadowRoot = element => {\n  if (!document.documentElement.attachShadow) {\n    return null\n  }\n\n  // Can find the shadow root otherwise it'll return the document\n  if (typeof element.getRootNode === 'function') {\n    const root = element.getRootNode()\n    return root instanceof ShadowRoot ? root : null\n  }\n\n  if (element instanceof ShadowRoot) {\n    return element\n  }\n\n  // when we don't find a shadow root\n  if (!element.parentNode) {\n    return null\n  }\n\n  return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => function () {}\n\nconst reflow = element => element.offsetHeight\n\nconst getjQuery = () => {\n  const { jQuery } = window\n\n  if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {\n    return jQuery\n  }\n\n  return null\n}\n\nconst onDOMContentLoaded = callback => {\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', callback)\n  } else {\n    callback()\n  }\n}\n\nconst isRTL = document.documentElement.dir === 'rtl'\n\nexport {\n  TRANSITION_END,\n  getUID,\n  getSelectorFromElement,\n  getElementFromSelector,\n  getTransitionDurationFromElement,\n  triggerTransitionEnd,\n  isElement,\n  emulateTransitionEnd,\n  typeCheckConfig,\n  isVisible,\n  findShadowRoot,\n  noop,\n  reflow,\n  getjQuery,\n  onDOMContentLoaded,\n  isRTL\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = new Set([\n  'background',\n  'cite',\n  'href',\n  'itemtype',\n  'longdesc',\n  'poster',\n  'src',\n  'xlink:href'\n])\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i\n\nconst allowedAttribute = (attr, allowedAttributeList) => {\n  const attrName = attr.nodeName.toLowerCase()\n\n  if (allowedAttributeList.includes(attrName)) {\n    if (uriAttrs.has(attrName)) {\n      return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n    }\n\n    return true\n  }\n\n  const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n  // Check if a regular expression validates the attribute.\n  for (let i = 0, len = regExp.length; i < len; i++) {\n    if (attrName.match(regExp[i])) {\n      return true\n    }\n  }\n\n  return false\n}\n\nexport const DefaultAllowlist = {\n  // Global attributes allowed on any supplied element below.\n  '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n  a: ['target', 'href', 'title', 'rel'],\n  area: [],\n  b: [],\n  br: [],\n  col: [],\n  code: [],\n  div: [],\n  em: [],\n  hr: [],\n  h1: [],\n  h2: [],\n  h3: [],\n  h4: [],\n  h5: [],\n  h6: [],\n  i: [],\n  img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n  li: [],\n  ol: [],\n  p: [],\n  pre: [],\n  s: [],\n  small: [],\n  span: [],\n  sub: [],\n  sup: [],\n  strong: [],\n  u: [],\n  ul: []\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFn) {\n  if (!unsafeHtml.length) {\n    return unsafeHtml\n  }\n\n  if (sanitizeFn && typeof sanitizeFn === 'function') {\n    return sanitizeFn(unsafeHtml)\n  }\n\n  const domParser = new window.DOMParser()\n  const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n  const allowlistKeys = Object.keys(allowList)\n  const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n  for (let i = 0, len = elements.length; i < len; i++) {\n    const el = elements[i]\n    const elName = el.nodeName.toLowerCase()\n\n    if (!allowlistKeys.includes(elName)) {\n      el.parentNode.removeChild(el)\n\n      continue\n    }\n\n    const attributeList = [].concat(...el.attributes)\n    const allowedAttributes = [].concat(allowList['*'] || [], allowList[elName] || [])\n\n    attributeList.forEach(attr => {\n      if (!allowedAttribute(attr, allowedAttributes)) {\n        el.removeAttribute(attr.nodeName)\n      }\n    })\n  }\n\n  return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst VERSION = '5.0.0-alpha3'\n\nclass BaseComponent {\n  constructor(element) {\n    if (!element) {\n      return\n    }\n\n    this._element = element\n    Data.setData(element, this.constructor.DATA_KEY, this)\n  }\n\n  dispose() {\n    Data.removeData(this._element, this.constructor.DATA_KEY)\n    this._element = null\n  }\n\n  /** Static */\n\n  static getInstance(element) {\n    return Data.getData(element, this.DATA_KEY)\n  }\n\n  static get VERSION() {\n    return VERSION\n  }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha3): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  getjQuery,\n  onDOMContentLoaded,\n  TRANSITION_END,\n  emulateTransitionEnd,\n  findShadowRoot,\n  getTransitionDurationFromElement,\n  getUID,\n  isElement,\n  isRTL,\n  noop,\n  typeCheckConfig\n} from './util/index'\nimport {\n  DefaultAllowlist,\n  sanitizeHtml\n} from './util/sanitizer'\nimport Data from './dom/data'\nimport EventHandler from './dom/event-handler'\nimport Manipulator from './dom/manipulator'\nimport Popper from 'popper.js'\nimport SelectorEngine from './dom/selector-engine'\nimport BaseComponent from './base-component'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst DefaultType = {\n  animation: 'boolean',\n  template: 'string',\n  title: '(string|element|function)',\n  trigger: 'string',\n  delay: '(number|object)',\n  html: 'boolean',\n  selector: '(string|boolean)',\n  placement: '(string|function)',\n  offset: '(number|string|function)',\n  container: '(string|element|boolean)',\n  fallbackPlacement: '(string|array)',\n  boundary: '(string|element)',\n  customClass: '(string|function)',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  allowList: 'object',\n  popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n  AUTO: 'auto',\n  TOP: 'top',\n  RIGHT: isRTL ? 'left' : 'right',\n  BOTTOM: 'bottom',\n  LEFT: isRTL ? 'right' : 'left'\n}\n\nconst Default = {\n  animation: true,\n  template: '<div class=\"tooltip\" role=\"tooltip\">' +\n              '<div class=\"tooltip-arrow\"></div>' +\n              '<div class=\"tooltip-inner\"></div>' +\n            '</div>',\n  trigger: 'hover focus',\n  title: '',\n  delay: 0,\n  html: false,\n  selector: false,\n  placement: 'top',\n  offset: 0,\n  container: false,\n  fallbackPlacement: 'flip',\n  boundary: 'scrollParent',\n  customClass: '',\n  sanitize: true,\n  sanitizeFn: null,\n  allowList: DefaultAllowlist,\n  popperConfig: null\n}\n\nconst Event = {\n  HIDE: `hide${EVENT_KEY}`,\n  HIDDEN: `hidden${EVENT_KEY}`,\n  SHOW: `show${EVENT_KEY}`,\n  SHOWN: `shown${EVENT_KEY}`,\n  INSERTED: `inserted${EVENT_KEY}`,\n  CLICK: `click${EVENT_KEY}`,\n  FOCUSIN: `focusin${EVENT_KEY}`,\n  FOCUSOUT: `focusout${EVENT_KEY}`,\n  MOUSEENTER: `mouseenter${EVENT_KEY}`,\n  MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip extends BaseComponent {\n  constructor(element, config) {\n    if (typeof Popper === 'undefined') {\n      throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)')\n    }\n\n    super(element)\n\n    // private\n    this._isEnabled = true\n    this._timeout = 0\n    this._hoverState = ''\n    this._activeTrigger = {}\n    this._popper = null\n\n    // Protected\n    this.config = this._getConfig(config)\n    this.tip = null\n\n    this._setListeners()\n  }\n\n  // Getters\n\n  static get Default() {\n    return Default\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  static get DATA_KEY() {\n    return DATA_KEY\n  }\n\n  static get Event() {\n    return Event\n  }\n\n  static get EVENT_KEY() {\n    return EVENT_KEY\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  // Public\n\n  enable() {\n    this._isEnabled = true\n  }\n\n  disable() {\n    this._isEnabled = false\n  }\n\n  toggleEnabled() {\n    this._isEnabled = !this._isEnabled\n  }\n\n  toggle(event) {\n    if (!this._isEnabled) {\n      return\n    }\n\n    if (event) {\n      const dataKey = this.constructor.DATA_KEY\n      let context = Data.getData(event.delegateTarget, dataKey)\n\n      if (!context) {\n        context = new this.constructor(event.delegateTarget, this._getDelegateConfig())\n        Data.setData(event.delegateTarget, dataKey, context)\n      }\n\n      context._activeTrigger.click = !context._activeTrigger.click\n\n      if (context._isWithActiveTrigger()) {\n        context._enter(null, context)\n      } else {\n        context._leave(null, context)\n      }\n    } else {\n      if (this.getTipElement().classList.contains(CLASS_NAME_SHOW)) {\n        this._leave(null, this)\n        return\n      }\n\n      this._enter(null, this)\n    }\n  }\n\n  dispose() {\n    clearTimeout(this._timeout)\n\n    EventHandler.off(this._element, this.constructor.EVENT_KEY)\n    EventHandler.off(this._element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler)\n\n    if (this.tip) {\n      this.tip.parentNode.removeChild(this.tip)\n    }\n\n    this._isEnabled = null\n    this._timeout = null\n    this._hoverState = null\n    this._activeTrigger = null\n    if (this._popper) {\n      this._popper.destroy()\n    }\n\n    this._popper = null\n    this.config = null\n    this.tip = null\n    super.dispose()\n  }\n\n  show() {\n    if (this._element.style.display === 'none') {\n      throw new Error('Please use show on visible elements')\n    }\n\n    if (this.isWithContent() && this._isEnabled) {\n      const showEvent = EventHandler.trigger(this._element, this.constructor.Event.SHOW)\n      const shadowRoot = findShadowRoot(this._element)\n      const isInTheDom = shadowRoot === null ?\n        this._element.ownerDocument.documentElement.contains(this._element) :\n        shadowRoot.contains(this._element)\n\n      if (showEvent.defaultPrevented || !isInTheDom) {\n        return\n      }\n\n      const tip = this.getTipElement()\n      const tipId = getUID(this.constructor.NAME)\n\n      tip.setAttribute('id', tipId)\n      this._element.setAttribute('aria-describedby', tipId)\n\n      this.setContent()\n\n      if (this.config.animation) {\n        tip.classList.add(CLASS_NAME_FADE)\n      }\n\n      const placement = typeof this.config.placement === 'function' ?\n        this.config.placement.call(this, tip, this._element) :\n        this.config.placement\n\n      const attachment = this._getAttachment(placement)\n      this._addAttachmentClass(attachment)\n\n      const container = this._getContainer()\n      Data.setData(tip, this.constructor.DATA_KEY, this)\n\n      if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n        container.appendChild(tip)\n      }\n\n      EventHandler.trigger(this._element, this.constructor.Event.INSERTED)\n\n      this._popper = new Popper(this._element, tip, this._getPopperConfig(attachment))\n\n      tip.classList.add(CLASS_NAME_SHOW)\n\n      const customClass = typeof this.config.customClass === 'function' ? this.config.customClass() : this.config.customClass\n      if (customClass) {\n        tip.classList.add(...customClass.split(' '))\n      }\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) {\n        [].concat(...document.body.children).forEach(element => {\n          EventHandler.on(element, 'mouseover', noop())\n        })\n      }\n\n      const complete = () => {\n        if (this.config.animation) {\n          this._fixTransition()\n        }\n\n        const prevHoverState = this._hoverState\n        this._hoverState = null\n\n        EventHandler.trigger(this._element, this.constructor.Event.SHOWN)\n\n        if (prevHoverState === HOVER_STATE_OUT) {\n          this._leave(null, this)\n        }\n      }\n\n      if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n        const transitionDuration = getTransitionDurationFromElement(this.tip)\n        EventHandler.one(this.tip, TRANSITION_END, complete)\n        emulateTransitionEnd(this.tip, transitionDuration)\n      } else {\n        complete()\n      }\n    }\n  }\n\n  hide() {\n    if (!this._popper) {\n      return\n    }\n\n    const tip = this.getTipElement()\n    const complete = () => {\n      if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n        tip.parentNode.removeChild(tip)\n      }\n\n      this._cleanTipClass()\n      this._element.removeAttribute('aria-describedby')\n      EventHandler.trigger(this._element, this.constructor.Event.HIDDEN)\n      this._popper.destroy()\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, this.constructor.Event.HIDE)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    tip.classList.remove(CLASS_NAME_SHOW)\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      [].concat(...document.body.children)\n        .forEach(element => EventHandler.off(element, 'mouseover', noop))\n    }\n\n    this._activeTrigger[TRIGGER_CLICK] = false\n    this._activeTrigger[TRIGGER_FOCUS] = false\n    this._activeTrigger[TRIGGER_HOVER] = false\n\n    if (this.tip.classList.contains(CLASS_NAME_FADE)) {\n      const transitionDuration = getTransitionDurationFromElement(tip)\n\n      EventHandler.one(tip, TRANSITION_END, complete)\n      emulateTransitionEnd(tip, transitionDuration)\n    } else {\n      complete()\n    }\n\n    this._hoverState = ''\n  }\n\n  update() {\n    if (this._popper !== null) {\n      this._popper.scheduleUpdate()\n    }\n  }\n\n  // Protected\n\n  isWithContent() {\n    return Boolean(this.getTitle())\n  }\n\n  getTipElement() {\n    if (this.tip) {\n      return this.tip\n    }\n\n    const element = document.createElement('div')\n    element.innerHTML = this.config.template\n\n    this.tip = element.children[0]\n    return this.tip\n  }\n\n  setContent() {\n    const tip = this.getTipElement()\n    this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER, tip), this.getTitle())\n    tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n  }\n\n  setElementContent(element, content) {\n    if (element === null) {\n      return\n    }\n\n    if (typeof content === 'object' && isElement(content)) {\n      if (content.jquery) {\n        content = content[0]\n      }\n\n      // content is a DOM node or a jQuery\n      if (this.config.html) {\n        if (content.parentNode !== element) {\n          element.innerHTML = ''\n          element.appendChild(content)\n        }\n      } else {\n        element.textContent = content.textContent\n      }\n\n      return\n    }\n\n    if (this.config.html) {\n      if (this.config.sanitize) {\n        content = sanitizeHtml(content, this.config.allowList, this.config.sanitizeFn)\n      }\n\n      element.innerHTML = content\n    } else {\n      element.textContent = content\n    }\n  }\n\n  getTitle() {\n    let title = this._element.getAttribute('data-bs-original-title')\n\n    if (!title) {\n      title = typeof this.config.title === 'function' ?\n        this.config.title.call(this._element) :\n        this.config.title\n    }\n\n    return title\n  }\n\n  updateAttachment(attachment) {\n    if (attachment === 'right') {\n      return 'end'\n    }\n\n    if (attachment === 'left') {\n      return 'start'\n    }\n\n    return attachment\n  }\n\n  // Private\n\n  _getPopperConfig(attachment) {\n    const defaultBsConfig = {\n      placement: attachment,\n      modifiers: {\n        offset: this._getOffset(),\n        flip: {\n          behavior: this.config.fallbackPlacement\n        },\n        arrow: {\n          element: `.${this.constructor.NAME}-arrow`\n        },\n        preventOverflow: {\n          boundariesElement: this.config.boundary\n        }\n      },\n      onCreate: data => {\n        if (data.originalPlacement !== data.placement) {\n          this._handlePopperPlacementChange(data)\n        }\n      },\n      onUpdate: data => this._handlePopperPlacementChange(data)\n    }\n\n    return {\n      ...defaultBsConfig,\n      ...this.config.popperConfig\n    }\n  }\n\n  _addAttachmentClass(attachment) {\n    this.getTipElement().classList.add(`${CLASS_PREFIX}-${this.updateAttachment(attachment)}`)\n  }\n\n  _getOffset() {\n    const offset = {}\n\n    if (typeof this.config.offset === 'function') {\n      offset.fn = data => {\n        data.offsets = {\n          ...data.offsets,\n          ...(this.config.offset(data.offsets, this._element) || {})\n        }\n\n        return data\n      }\n    } else {\n      offset.offset = this.config.offset\n    }\n\n    return offset\n  }\n\n  _getContainer() {\n    if (this.config.container === false) {\n      return document.body\n    }\n\n    if (isElement(this.config.container)) {\n      return this.config.container\n    }\n\n    return SelectorEngine.findOne(this.config.container)\n  }\n\n  _getAttachment(placement) {\n    return AttachmentMap[placement.toUpperCase()]\n  }\n\n  _setListeners() {\n    const triggers = this.config.trigger.split(' ')\n\n    triggers.forEach(trigger => {\n      if (trigger === 'click') {\n        EventHandler.on(this._element, this.constructor.Event.CLICK, this.config.selector, event => this.toggle(event)\n        )\n      } else if (trigger !== TRIGGER_MANUAL) {\n        const eventIn = trigger === TRIGGER_HOVER ?\n          this.constructor.Event.MOUSEENTER :\n          this.constructor.Event.FOCUSIN\n        const eventOut = trigger === TRIGGER_HOVER ?\n          this.constructor.Event.MOUSELEAVE :\n          this.constructor.Event.FOCUSOUT\n\n        EventHandler.on(this._element, eventIn, this.config.selector, event => this._enter(event))\n        EventHandler.on(this._element, eventOut, this.config.selector, event => this._leave(event))\n      }\n    })\n\n    this._hideModalHandler = () => {\n      if (this._element) {\n        this.hide()\n      }\n    }\n\n    EventHandler.on(this._element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler)\n\n    if (this.config.selector) {\n      this.config = {\n        ...this.config,\n        trigger: 'manual',\n        selector: ''\n      }\n    } else {\n      this._fixTitle()\n    }\n  }\n\n  _fixTitle() {\n    const title = this._element.getAttribute('title')\n    const originalTitleType = typeof this._element.getAttribute('data-bs-original-title')\n\n    if (title || originalTitleType !== 'string') {\n      this._element.setAttribute('data-bs-original-title', title || '')\n      if (title && !this._element.getAttribute('aria-label') && !this._element.textContent) {\n        this._element.setAttribute('aria-label', title)\n      }\n\n      this._element.setAttribute('title', '')\n    }\n  }\n\n  _enter(event, context) {\n    const dataKey = this.constructor.DATA_KEY\n    context = context || Data.getData(event.delegateTarget, dataKey)\n\n    if (!context) {\n      context = new this.constructor(\n        event.delegateTarget,\n        this._getDelegateConfig()\n      )\n      Data.setData(event.delegateTarget, dataKey, context)\n    }\n\n    if (event) {\n      context._activeTrigger[\n        event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n      ] = true\n    }\n\n    if (context.getTipElement().classList.contains(CLASS_NAME_SHOW) || context._hoverState === HOVER_STATE_SHOW) {\n      context._hoverState = HOVER_STATE_SHOW\n      return\n    }\n\n    clearTimeout(context._timeout)\n\n    context._hoverState = HOVER_STATE_SHOW\n\n    if (!context.config.delay || !context.config.delay.show) {\n      context.show()\n      return\n    }\n\n    context._timeout = setTimeout(() => {\n      if (context._hoverState === HOVER_STATE_SHOW) {\n        context.show()\n      }\n    }, context.config.delay.show)\n  }\n\n  _leave(event, context) {\n    const dataKey = this.constructor.DATA_KEY\n    context = context || Data.getData(event.delegateTarget, dataKey)\n\n    if (!context) {\n      context = new this.constructor(\n        event.delegateTarget,\n        this._getDelegateConfig()\n      )\n      Data.setData(event.delegateTarget, dataKey, context)\n    }\n\n    if (event) {\n      context._activeTrigger[\n        event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n      ] = false\n    }\n\n    if (context._isWithActiveTrigger()) {\n      return\n    }\n\n    clearTimeout(context._timeout)\n\n    context._hoverState = HOVER_STATE_OUT\n\n    if (!context.config.delay || !context.config.delay.hide) {\n      context.hide()\n      return\n    }\n\n    context._timeout = setTimeout(() => {\n      if (context._hoverState === HOVER_STATE_OUT) {\n        context.hide()\n      }\n    }, context.config.delay.hide)\n  }\n\n  _isWithActiveTrigger() {\n    for (const trigger in this._activeTrigger) {\n      if (this._activeTrigger[trigger]) {\n        return true\n      }\n    }\n\n    return false\n  }\n\n  _getConfig(config) {\n    const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n    Object.keys(dataAttributes).forEach(dataAttr => {\n      if (DISALLOWED_ATTRIBUTES.has(dataAttr)) {\n        delete dataAttributes[dataAttr]\n      }\n    })\n\n    if (config && typeof config.container === 'object' && config.container.jquery) {\n      config.container = config.container[0]\n    }\n\n    config = {\n      ...this.constructor.Default,\n      ...dataAttributes,\n      ...(typeof config === 'object' && config ? config : {})\n    }\n\n    if (typeof config.delay === 'number') {\n      config.delay = {\n        show: config.delay,\n        hide: config.delay\n      }\n    }\n\n    if (typeof config.title === 'number') {\n      config.title = config.title.toString()\n    }\n\n    if (typeof config.content === 'number') {\n      config.content = config.content.toString()\n    }\n\n    typeCheckConfig(NAME, config, this.constructor.DefaultType)\n\n    if (config.sanitize) {\n      config.template = sanitizeHtml(config.template, config.allowList, config.sanitizeFn)\n    }\n\n    return config\n  }\n\n  _getDelegateConfig() {\n    const config = {}\n\n    if (this.config) {\n      for (const key in this.config) {\n        if (this.constructor.Default[key] !== this.config[key]) {\n          config[key] = this.config[key]\n        }\n      }\n    }\n\n    return config\n  }\n\n  _cleanTipClass() {\n    const tip = this.getTipElement()\n    const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX)\n    if (tabClass !== null && tabClass.length > 0) {\n      tabClass.map(token => token.trim())\n        .forEach(tClass => tip.classList.remove(tClass))\n    }\n  }\n\n  _handlePopperPlacementChange(popperData) {\n    this.tip = popperData.instance.popper\n    this._cleanTipClass()\n    this._addAttachmentClass(this._getAttachment(popperData.placement))\n  }\n\n  _fixTransition() {\n    const tip = this.getTipElement()\n    const initConfigAnimation = this.config.animation\n    if (tip.getAttribute('x-placement') !== null) {\n      return\n    }\n\n    tip.classList.remove(CLASS_NAME_FADE)\n    this.config.animation = false\n    this.hide()\n    this.show()\n    this.config.animation = initConfigAnimation\n  }\n\n  // Static\n\n  static jQueryInterface(config) {\n    return this.each(function () {\n      let data = Data.getData(this, DATA_KEY)\n      const _config = typeof config === 'object' && config\n\n      if (!data && /dispose|hide/.test(config)) {\n        return\n      }\n\n      if (!data) {\n        data = new Tooltip(this, _config)\n      }\n\n      if (typeof config === 'string') {\n        if (typeof data[config] === 'undefined') {\n          throw new TypeError(`No method named \"${config}\"`)\n        }\n\n        data[config]()\n      }\n    })\n  }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n * add .Tooltip to jQuery only if jQuery is present\n */\n\nonDOMContentLoaded(() => {\n  const $ = getjQuery()\n  /* istanbul ignore if */\n  if ($) {\n    const JQUERY_NO_CONFLICT = $.fn[NAME]\n    $.fn[NAME] = Tooltip.jQueryInterface\n    $.fn[NAME].Constructor = Tooltip\n    $.fn[NAME].noConflict = () => {\n      $.fn[NAME] = JQUERY_NO_CONFLICT\n      return Tooltip.jQueryInterface\n    }\n  }\n})\n\nexport default Tooltip\n"],"names":["MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","toType","obj","undefined","toString","call","match","toLowerCase","getUID","prefix","Math","floor","random","document","getElementById","getTransitionDurationFromElement","element","window","getComputedStyle","transitionDuration","transitionDelay","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","dispatchEvent","Event","isElement","nodeType","emulateTransitionEnd","duration","called","durationPadding","emulatedDuration","listener","removeEventListener","addEventListener","setTimeout","typeCheckConfig","componentName","config","configTypes","Object","keys","forEach","property","expectedTypes","value","valueType","RegExp","test","Error","toUpperCase","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","parentNode","noop","getjQuery","jQuery","body","hasAttribute","onDOMContentLoaded","callback","readyState","isRTL","dir","uriAttrs","Set","ARIA_ATTRIBUTE_PATTERN","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attr","allowedAttributeList","attrName","nodeName","includes","has","Boolean","nodeValue","regExp","filter","attrRegex","i","len","length","DefaultAllowlist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","allowList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","allowlistKeys","elements","concat","querySelectorAll","el","elName","removeChild","attributeList","attributes","allowedAttributes","removeAttribute","innerHTML","VERSION","BaseComponent","_element","Data","setData","constructor","DATA_KEY","dispose","removeData","getInstance","getData","NAME","EVENT_KEY","CLASS_PREFIX","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","DefaultType","animation","template","title","trigger","delay","html","selector","placement","offset","container","fallbackPlacement","boundary","customClass","sanitize","popperConfig","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","Default","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","CLASS_NAME_FADE","CLASS_NAME_MODAL","CLASS_NAME_SHOW","HOVER_STATE_SHOW","HOVER_STATE_OUT","SELECTOR_TOOLTIP_INNER","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","Tooltip","Popper","TypeError","_isEnabled","_timeout","_hoverState","_activeTrigger","_popper","_getConfig","tip","_setListeners","enable","disable","toggleEnabled","toggle","event","dataKey","context","delegateTarget","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","classList","contains","clearTimeout","EventHandler","off","closest","_hideModalHandler","destroy","show","style","display","isWithContent","showEvent","shadowRoot","isInTheDom","ownerDocument","defaultPrevented","tipId","setAttribute","setContent","add","attachment","_getAttachment","_addAttachmentClass","_getContainer","appendChild","_getPopperConfig","children","on","complete","_fixTransition","prevHoverState","one","hide","_cleanTipClass","hideEvent","remove","update","scheduleUpdate","getTitle","createElement","setElementContent","SelectorEngine","findOne","content","jquery","textContent","getAttribute","updateAttachment","defaultBsConfig","modifiers","_getOffset","flip","behavior","arrow","preventOverflow","boundariesElement","onCreate","data","originalPlacement","_handlePopperPlacementChange","onUpdate","fn","offsets","triggers","eventIn","eventOut","_fixTitle","originalTitleType","type","dataAttributes","Manipulator","getDataAttributes","dataAttr","key","tabClass","map","token","trim","tClass","popperData","instance","popper","initConfigAnimation","jQueryInterface","each","_config","$","JQUERY_NO_CONFLICT","Constructor","noConflict"],"mappings":"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"}