0
0
mirror of https://github.com/twbs/bootstrap.git synced 2024-12-12 00:08:59 +01:00
Bootstrap/js/dist/tooltip.js.map
Mark Otto c0fd91788e dist
2018-08-18 20:22:08 -07:00

1 line
40 KiB
Plaintext

{"version":3,"file":"tooltip.js","sources":["../src/tooltip.js"],"sourcesContent":["import $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.3): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst Tooltip = (($) => {\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n const NAME = 'tooltip'\n const VERSION = '4.1.3'\n const DATA_KEY = 'bs.tooltip'\n const EVENT_KEY = `.${DATA_KEY}`\n const JQUERY_NO_CONFLICT = $.fn[NAME]\n const CLASS_PREFIX = 'bs-tooltip'\n const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\n const 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)',\n container : '(string|element|boolean)',\n fallbackPlacement : '(string|array)',\n boundary : '(string|element)'\n }\n\n const AttachmentMap = {\n AUTO : 'auto',\n TOP : 'top',\n RIGHT : 'right',\n BOTTOM : 'bottom',\n LEFT : 'left'\n }\n\n const Default = {\n animation : true,\n template : '<div class=\"tooltip\" role=\"tooltip\">' +\n '<div class=\"arrow\"></div>' +\n '<div class=\"tooltip-inner\"></div></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 }\n\n const HoverState = {\n SHOW : 'show',\n OUT : 'out'\n }\n\n const 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\n const ClassName = {\n FADE : 'fade',\n SHOW : 'show'\n }\n\n const Selector = {\n TOOLTIP : '.tooltip',\n TOOLTIP_INNER : '.tooltip-inner',\n ARROW : '.arrow'\n }\n\n const Trigger = {\n HOVER : 'hover',\n FOCUS : 'focus',\n CLICK : 'click',\n MANUAL : 'manual'\n }\n\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n class Tooltip {\n constructor(element, config) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap tooltips require Popper.js (https://popper.js.org)')\n }\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.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\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 = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(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()).hasClass(ClassName.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 $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal')\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const isInTheDom = $.contains(\n this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.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).addClass(ClassName.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.config.container === false ? document.body : $(document).find(this.config.container)\n\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, {\n placement: attachment,\n modifiers: {\n offset: {\n offset: this.config.offset\n },\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: Selector.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) => {\n this._handlePopperPlacementChange(data)\n }\n })\n\n $(tip).addClass(ClassName.SHOW)\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 $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HoverState.OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HoverState.SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(ClassName.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 $(document.body).children().off('mouseover', null, $.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).hasClass(ClassName.FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(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 addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent($(tip.querySelectorAll(Selector.TOOLTIP_INNER)), this.getTitle())\n $(tip).removeClass(`${ClassName.FADE} ${ClassName.SHOW}`)\n }\n\n setElementContent($element, content) {\n const html = this.config.html\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n } else {\n $element[html ? 'html' : 'text'](content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-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 // Private\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 $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n (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 $(this.element)\n .on(\n eventIn,\n this.config.selector,\n (event) => this._enter(event)\n )\n .on(\n eventOut,\n this.config.selector,\n (event) => this._leave(event)\n )\n }\n\n $(this.element).closest('.modal').on(\n 'hide.bs.modal',\n () => this.hide()\n )\n })\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 titleType = typeof this.element.getAttribute('data-original-title')\n if (this.element.getAttribute('title') ||\n titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(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()).hasClass(ClassName.SHOW) ||\n context._hoverState === HoverState.SHOW) {\n context._hoverState = HoverState.SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HoverState.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 === HoverState.SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(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 = HoverState.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 === HoverState.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 config = {\n ...this.constructor.Default,\n ...$(this.element).data(),\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 Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\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.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n const popperInstance = popperData.instance\n this.tip = popperInstance.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 $(tip).removeClass(ClassName.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 = $(this).data(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 $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n data[config]()\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\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 return Tooltip\n})($, Popper)\n\nexport default Tooltip\n"],"names":["Tooltip","$","NAME","VERSION","DATA_KEY","EVENT_KEY","JQUERY_NO_CONFLICT","fn","CLASS_PREFIX","BSCLS_PREFIX_REGEX","RegExp","DefaultType","animation","template","title","trigger","delay","html","selector","placement","offset","container","fallbackPlacement","boundary","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","Default","HoverState","SHOW","OUT","Event","HIDE","HIDDEN","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","ClassName","FADE","Selector","TOOLTIP","TOOLTIP_INNER","ARROW","Trigger","HOVER","FOCUS","MANUAL","element","config","Popper","TypeError","_isEnabled","_timeout","_hoverState","_activeTrigger","_popper","_getConfig","tip","_setListeners","enable","disable","toggleEnabled","toggle","event","dataKey","constructor","context","currentTarget","data","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","hasClass","dispose","clearTimeout","removeData","off","closest","remove","destroy","show","css","Error","showEvent","isWithContent","isInTheDom","contains","ownerDocument","documentElement","isDefaultPrevented","tipId","Util","getUID","setAttribute","setContent","addClass","call","attachment","_getAttachment","addAttachmentClass","document","body","find","appendTo","modifiers","flip","behavior","arrow","preventOverflow","boundariesElement","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","children","on","noop","complete","_fixTransition","prevHoverState","transitionDuration","getTransitionDurationFromElement","one","TRANSITION_END","emulateTransitionEnd","hide","callback","hideEvent","parentNode","removeChild","_cleanTipClass","removeAttribute","removeClass","update","scheduleUpdate","Boolean","getTitle","setElementContent","querySelectorAll","$element","content","nodeType","jquery","parent","is","empty","append","text","getAttribute","toUpperCase","triggers","split","forEach","eventIn","eventOut","_fixTitle","titleType","type","setTimeout","toString","typeCheckConfig","key","$tip","tabClass","attr","match","length","join","popperData","popperInstance","instance","popper","initConfigAnimation","_jQueryInterface","each","_config","test","Constructor","noConflict"],"mappings":"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"}