Subversion Repository Public Repository

ChrisCompleteCodeTrunk

1
{"version":3,"file":"tooltip.min.js","sources":["../../../popper/src/utils/isFunction.js","../../src/index.js"],"sourcesContent":["/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nexport default function isFunction(functionToCheck) {\n  const getType = {};\n  return (\n    functionToCheck &&\n    getType.toString.call(functionToCheck) === '[object Function]'\n  );\n}\n","import Popper from 'popper.js';\nimport isFunction from '../../popper/src/utils/isFunction';\n\nconst DEFAULT_OPTIONS = {\n  container: false,\n  delay: 0,\n  html: false,\n  placement: 'top',\n  title: '',\n  template:\n    '<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>',\n  trigger: 'hover focus',\n  offset: 0,\n};\n\nexport default class Tooltip {\n  /**\n   * Create a new Tooltip.js instance\n   * @class Tooltip\n   * @param {HTMLElement} reference - The DOM node used as reference of the tooltip (it can be a jQuery element).\n   * @param {Object} options\n   * @param {String|PlacementFunction} options.placement=top\n   *      Placement of the popper accepted values: `top(-start, -end), right(-start, -end), bottom(-start, -end),\n   *      left(-start, -end)`\n   * @param {HTMLElement|String|false} options.container=false - Append the tooltip to a specific element.\n   * @param {Number|Object} options.delay=0\n   *      Delay showing and hiding the tooltip (ms) - does not apply to manual trigger type.\n   *      If a number is supplied, delay is applied to both hide/show.\n   *      Object structure is: `{ show: 500, hide: 100 }`\n   * @param {Boolean} options.html=false - Insert HTML into the tooltip. If false, the content will inserted with `textContent`.\n   * @param {String|PlacementFunction} options.placement='top' - One of the allowed placements, or a function returning one of them.\n   * @param {String} [options.template='<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>']\n   *      Base HTML to used when creating the tooltip.\n   *      The tooltip's `title` will be injected into the `.tooltip-inner` or `.tooltip__inner`.\n   *      `.tooltip-arrow` or `.tooltip__arrow` will become the tooltip's arrow.\n   *      The outermost wrapper element should have the `.tooltip` class.\n   * @param {String|HTMLElement|TitleFunction} options.title='' - Default title value if `title` attribute isn't present.\n   * @param {String} [options.trigger='hover focus']\n   *      How tooltip is triggered - click, hover, focus, manual.\n   *      You may pass multiple triggers; separate them with a space. `manual` cannot be combined with any other trigger.\n   * @param {String|HTMLElement} options.boundariesElement\n   *      The element used as boundaries for the tooltip. For more information refer to Popper.js'\n   *      [boundariesElement docs](https://popper.js.org/popper-documentation.html)\n   * @param {Number|String} options.offset=0 - Offset of the tooltip relative to its reference. For more information refer to Popper.js'\n   *      [offset docs](https://popper.js.org/popper-documentation.html)\n   * @param {Object} options.popperOptions={} - Popper options, will be passed directly to popper instance. For more information refer to Popper.js'\n   *      [options docs](https://popper.js.org/popper-documentation.html)\n   * @return {Object} instance - The generated tooltip instance\n   */\n  constructor(reference, options) {\n    // apply user options over default ones\n    options = { ...DEFAULT_OPTIONS, ...options };\n\n    reference.jquery && (reference = reference[0]);\n\n    // cache reference and options\n    this.reference = reference;\n    this.options = options;\n\n    // get events list\n    const events =\n      typeof options.trigger === 'string'\n        ? options.trigger\n            .split(' ')\n            .filter(\n              trigger => ['click', 'hover', 'focus'].indexOf(trigger) !== -1\n            )\n        : [];\n\n    // set initial state\n    this._isOpen = false;\n    this._popperOptions = {};\n\n    // set event listeners\n    this._setEventListeners(reference, events, options);\n  }\n\n  //\n  // Public methods\n  //\n\n  /**\n   * Reveals an element's tooltip. This is considered a \"manual\" triggering of the tooltip.\n   * Tooltips with zero-length titles are never displayed.\n   * @method Tooltip#show\n   * @memberof Tooltip\n   */\n  show = () => this._show(this.reference, this.options);\n\n  /**\n   * Hides an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n   * @method Tooltip#hide\n   * @memberof Tooltip\n   */\n  hide = () => this._hide();\n\n  /**\n   * Hides and destroys an element’s tooltip.\n   * @method Tooltip#dispose\n   * @memberof Tooltip\n   */\n  dispose = () => this._dispose();\n\n  /**\n   * Toggles an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n   * @method Tooltip#toggle\n   * @memberof Tooltip\n   */\n  toggle = () => {\n    if (this._isOpen) {\n      return this.hide();\n    } else {\n      return this.show();\n    }\n  };\n\n  /**\n   * Updates the tooltip's title content\n   * @method Tooltip#updateTitleContent\n   * @memberof Tooltip\n   * @param {String|HTMLElement} title - The new content to use for the title\n   */\n  updateTitleContent = (title) => this._updateTitleContent(title);\n\n  //\n  // Defaults\n  //\n  arrowSelector = '.tooltip-arrow, .tooltip__arrow';\n  innerSelector = '.tooltip-inner, .tooltip__inner';\n\n  //\n  // Private methods\n  //\n\n  _events = [];\n\n  /**\n   * Creates a new tooltip node\n   * @memberof Tooltip\n   * @private\n   * @param {HTMLElement} reference\n   * @param {String} template\n   * @param {String|HTMLElement|TitleFunction} title\n   * @param {Boolean} allowHtml\n   * @return {HTMLElement} tooltipNode\n   */\n  _create(reference, template, title, allowHtml) {\n    // create tooltip element\n    const tooltipGenerator = window.document.createElement('div');\n    tooltipGenerator.innerHTML = template.trim();\n    const tooltipNode = tooltipGenerator.childNodes[0];\n\n    // add unique ID to our tooltip (needed for accessibility reasons)\n    tooltipNode.id = `tooltip_${Math.random()\n      .toString(36)\n      .substr(2, 10)}`;\n\n    // set initial `aria-hidden` state to `false` (it's visible!)\n    tooltipNode.setAttribute('aria-hidden', 'false');\n\n    // add title to tooltip\n    const titleNode = tooltipGenerator.querySelector(this.innerSelector);\n    this._addTitleContent(reference, title, allowHtml, titleNode);\n\n    // return the generated tooltip node\n    return tooltipNode;\n  }\n\n  _addTitleContent(reference, title, allowHtml, titleNode) {\n    if (title.nodeType === 1 || title.nodeType === 11) {\n      // if title is a element node or document fragment, append it only if allowHtml is true\n      allowHtml && titleNode.appendChild(title);\n    } else if (isFunction(title)) {\n      // if title is a function, call it and set textContent or innerHtml depending by `allowHtml` value\n      const titleText = title.call(reference);\n      allowHtml\n        ? (titleNode.innerHTML = titleText)\n        : (titleNode.textContent = titleText);\n    } else {\n      // if it's just a simple text, set textContent or innerHtml depending by `allowHtml` value\n      allowHtml ? (titleNode.innerHTML = title) : (titleNode.textContent = title);\n    }\n  }\n\n  _show(reference, options) {\n    // don't show if it's already visible\n    // or if it's not being showed\n    if (this._isOpen && !this._isOpening) {\n      return this;\n    }\n    this._isOpen = true;\n\n    // if the tooltipNode already exists, just show it\n    if (this._tooltipNode) {\n      this._tooltipNode.style.display = '';\n      this._tooltipNode.setAttribute('aria-hidden', 'false');\n      this.popperInstance.update();\n      return this;\n    }\n\n    // get title\n    const title = reference.getAttribute('title') || options.title;\n\n    // don't show tooltip if no title is defined\n    if (!title) {\n      return this;\n    }\n\n    // create tooltip node\n    const tooltipNode = this._create(\n      reference,\n      options.template,\n      title,\n      options.html\n    );\n\n    // Add `aria-describedby` to our reference element for accessibility reasons\n    reference.setAttribute('aria-describedby', tooltipNode.id);\n\n    // append tooltip to container\n    const container = this._findContainer(options.container, reference);\n\n    this._append(tooltipNode, container);\n\n    this._popperOptions = {\n      ...options.popperOptions,\n      placement: options.placement,\n    };\n\n    this._popperOptions.modifiers = {\n      ...this._popperOptions.modifiers,\n      arrow: {\n        element: this.arrowSelector,\n      },\n      offset: {\n        offset: options.offset,\n      },\n    };\n\n    if (options.boundariesElement) {\n      this._popperOptions.modifiers.preventOverflow = {\n        boundariesElement: options.boundariesElement,\n      };\n    }\n\n    this.popperInstance = new Popper(\n      reference,\n      tooltipNode,\n      this._popperOptions\n    );\n\n    this._tooltipNode = tooltipNode;\n\n    return this;\n  }\n\n  _hide(/*reference, options*/) {\n    // don't hide if it's already hidden\n    if (!this._isOpen) {\n      return this;\n    }\n\n    this._isOpen = false;\n\n    // hide tooltipNode\n    this._tooltipNode.style.display = 'none';\n    this._tooltipNode.setAttribute('aria-hidden', 'true');\n\n    return this;\n  }\n\n  _dispose() {\n    // remove event listeners first to prevent any unexpected behaviour\n    this._events.forEach(({ func, event }) => {\n      this.reference.removeEventListener(event, func);\n    });\n    this._events = [];\n\n    if (this._tooltipNode) {\n      this._hide();\n\n      // destroy instance\n      this.popperInstance.destroy();\n\n      // destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n      if (!this.popperInstance.options.removeOnDestroy) {\n        this._tooltipNode.parentNode.removeChild(this._tooltipNode);\n        this._tooltipNode = null;\n      }\n    }\n    return this;\n  }\n\n  _findContainer(container, reference) {\n    // if container is a query, get the relative element\n    if (typeof container === 'string') {\n      container = window.document.querySelector(container);\n    } else if (container === false) {\n      // if container is `false`, set it to reference parent\n      container = reference.parentNode;\n    }\n    return container;\n  }\n\n  /**\n   * Append tooltip to container\n   * @memberof Tooltip\n   * @private\n   * @param {HTMLElement} tooltipNode\n   * @param {HTMLElement|String|false} container\n   */\n  _append(tooltipNode, container) {\n    container.appendChild(tooltipNode);\n  }\n\n  _setEventListeners(reference, events, options) {\n    const directEvents = [];\n    const oppositeEvents = [];\n\n    events.forEach(event => {\n      switch (event) {\n        case 'hover':\n          directEvents.push('mouseenter');\n          oppositeEvents.push('mouseleave');\n          break;\n        case 'focus':\n          directEvents.push('focus');\n          oppositeEvents.push('blur');\n          break;\n        case 'click':\n          directEvents.push('click');\n          oppositeEvents.push('click');\n          break;\n      }\n    });\n\n    // schedule show tooltip\n    directEvents.forEach(event => {\n      const func = evt => {\n        if (this._isOpening === true) {\n          return;\n        }\n        evt.usedByTooltip = true;\n        this._scheduleShow(reference, options.delay, options, evt);\n      };\n      this._events.push({ event, func });\n      reference.addEventListener(event, func);\n    });\n\n    // schedule hide tooltip\n    oppositeEvents.forEach(event => {\n      const func = evt => {\n        if (evt.usedByTooltip === true) {\n          return;\n        }\n        this._scheduleHide(reference, options.delay, options, evt);\n      };\n      this._events.push({ event, func });\n      reference.addEventListener(event, func);\n    });\n  }\n\n  _scheduleShow(reference, delay, options /*, evt */) {\n    this._isOpening = true;\n    // defaults to 0\n    const computedDelay = (delay && delay.show) || delay || 0;\n    this._showTimeout = window.setTimeout(\n      () => this._show(reference, options),\n      computedDelay\n    );\n  }\n\n  _scheduleHide(reference, delay, options, evt) {\n    this._isOpening = false;\n    // defaults to 0\n    const computedDelay = (delay && delay.hide) || delay || 0;\n    window.setTimeout(() => {\n      window.clearTimeout(this._showTimeout);\n      if (this._isOpen === false) {\n        return;\n      }\n      if (!document.body.contains(this._tooltipNode)) {\n        return;\n      }\n\n      // if we are hiding because of a mouseleave, we must check that the new\n      // reference isn't the tooltip, because in this case we don't want to hide it\n      if (evt.type === 'mouseleave') {\n        const isSet = this._setTooltipNodeEvent(evt, reference, delay, options);\n\n        // if we set the new event, don't hide the tooltip yet\n        // the new event will take care to hide it if necessary\n        if (isSet) {\n          return;\n        }\n      }\n\n      this._hide(reference, options);\n    }, computedDelay);\n  }\n\n  _setTooltipNodeEvent = (evt, reference, delay, options) => {\n    const relatedreference =\n      evt.relatedreference || evt.toElement || evt.relatedTarget;\n\n    const callback = evt2 => {\n      const relatedreference2 =\n        evt2.relatedreference || evt2.toElement || evt2.relatedTarget;\n\n      // Remove event listener after call\n      this._tooltipNode.removeEventListener(evt.type, callback);\n\n      // If the new reference is not the reference element\n      if (!reference.contains(relatedreference2)) {\n        // Schedule to hide tooltip\n        this._scheduleHide(reference, options.delay, options, evt2);\n      }\n    };\n\n    if (this._tooltipNode.contains(relatedreference)) {\n      // listen to mouseleave on the tooltip element to be able to hide the tooltip\n      this._tooltipNode.addEventListener(evt.type, callback);\n      return true;\n    }\n\n    return false;\n  };\n  \n  _updateTitleContent(title) {\n    if(typeof this._tooltipNode === 'undefined') {\n      if(typeof this.options.title !== 'undefined') {\n        this.options.title = title;\n      }\n      return;\n    }\n    const titleNode = this._tooltipNode.parentNode.querySelector(this.innerSelector);    \n    this._clearTitleContent(titleNode, this.options.html, this.reference.getAttribute('title') || this.options.title)\n    this._addTitleContent(this.reference, title, this.options.html, titleNode);\n    this.options.title = title;\n    this.popperInstance.update();\n  }\n\n  _clearTitleContent(titleNode, allowHtml, lastTitle) {\n    if(lastTitle.nodeType === 1 || lastTitle.nodeType === 11) {\n      allowHtml && titleNode.removeChild(lastTitle);\n    } else {\n      allowHtml ? titleNode.innerHTML = '' : titleNode.textContent = '';\n    }\n  }\n\n}\n\n/**\n * Placement function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback PlacementFunction\n * @param {HTMLElement} tooltip - tooltip DOM node.\n * @param {HTMLElement} reference - reference DOM node.\n * @return {String} placement - One of the allowed placement options.\n */\n\n/**\n * Title function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback TitleFunction\n * @return {String} placement - The desired title.\n */\n"],"names":["functionToCheck","getType","toString","call","DEFAULT_OPTIONS","Tooltip","jquery","reference","options","events","trigger","split","filter","indexOf","_isOpen","_popperOptions","_setEventListeners","tooltipGenerator","window","document","createElement","innerHTML","template","trim","tooltipNode","childNodes","id","Math","random","substr","setAttribute","titleNode","querySelector","innerSelector","_addTitleContent","title","nodeType","appendChild","isFunction","titleText","textContent","_isOpening","_tooltipNode","style","display","popperInstance","update","getAttribute","_create","html","container","_findContainer","_append","popperOptions","placement","modifiers","arrowSelector","offset","boundariesElement","preventOverflow","_events","forEach","func","event","removeEventListener","_hide","destroy","removeOnDestroy","parentNode","removeChild","directEvents","oppositeEvents","push","usedByTooltip","_scheduleShow","delay","addEventListener","evt","_scheduleHide","computedDelay","show","_showTimeout","setTimeout","_show","hide","clearTimeout","body","contains","type","isSet","_setTooltipNodeEvent","_clearTitleContent","lastTitle","dispose","_dispose","toggle","updateTitleContent","_updateTitleContent","relatedreference","toElement","relatedTarget","relatedreference2","evt2"],"mappings":";;;kOAOA,aAAoD,OAGhDA,IAC2C,mBAA3CC,MAAQC,QAARD,CAAiBE,IAAjBF,yiBCREG,EAAkB,aAAA,OAEf,CAFe,QAAA,WAIX,KAJW,OAKf,EALe,UAOpB,8GAPoB,SAQb,aARa,QASd,CATc,EAYHC,4BAkCa,UAAA,aAAA,YAAA,GAIpBC,SAAWC,EAAYA,EAAU,CAAVA,EAJH,MAOzBA,WAPyB,MAQzBC,SARyB,IAWxBC,GACuB,QAA3B,QAAOD,GAAQE,OAAf,CACIF,EAAQE,OAARF,CACGG,KADHH,CACS,GADTA,EAEGI,MAFHJ,CAGI,kBAA4D,CAAC,CAAlD,6BAA4BK,OAA5B,GAHf,CAAAL,CADJ,SASGM,UArByB,MAsBzBC,iBAtByB,MAyBzBC,4EAwEwC,IAEvCC,GAAmBC,OAAOC,QAAPD,CAAgBE,aAAhBF,CAA8B,KAA9BA,IACRG,UAAYC,EAASC,IAATD,EAHgB,IAIvCE,GAAcP,EAAiBQ,UAAjBR,CAA4B,CAA5BA,IAGRS,cAAgBC,KAAKC,MAALD,GACzBzB,QADyByB,CAChB,EADgBA,EAEzBE,MAFyBF,CAElB,CAFkBA,CAEf,EAFeA,CAPiB,GAYjCG,aAAa,cAAe,QAZK,IAevCC,GAAYd,EAAiBe,aAAjBf,CAA+B,KAAKgB,aAApChB,cACbiB,6EAMkD,IAChC,CAAnBC,KAAMC,QAAND,EAA2C,EAAnBA,KAAMC,YAEnBL,EAAUM,WAAVN,QACR,IAAIO,IAAJ,CAAuB,IAEtBC,GAAYJ,EAAMhC,IAANgC,MAEbJ,EAAUV,SAAVU,GACAA,EAAUS,WAAVT,EALA,CAAA,OAQQA,EAAUV,SAAVU,GAAgCA,EAAUS,WAAVT,qCAIvB,IAGpB,KAAKjB,OAAL,EAAgB,CAAC,KAAK2B,iBACjB,cAEJ3B,WAGD,KAAK4B,yBACFA,aAAaC,MAAMC,QAAU,QAC7BF,aAAaZ,aAAa,cAAe,cACzCe,eAAeC,SACb,QAIHX,GAAQ5B,EAAUwC,YAAVxC,CAAuB,OAAvBA,GAAmCC,EAAQ2B,SAGrD,SACK,SAIHX,GAAc,KAAKwB,OAAL,GAElBxC,EAAQc,QAFU,GAIlBd,EAAQyC,IAJU,IAQVnB,aAAa,mBAAoBN,EAAYE,GAjC/B,IAoClBwB,GAAY,KAAKC,cAAL,CAAoB3C,EAAQ0C,SAA5B,gBAEbE,kBAEArC,oBACAP,EAAQ6C,yBACA7C,EAAQ8C,iBAGhBvC,eAAewC,eACf,KAAKxC,cAAL,CAAoBwC,iBAChB,SACI,KAAKC,aADT,SAGC,QACEhD,EAAQiD,MADV,IAKNjD,EAAQkD,yBACL3C,eAAewC,UAAUI,gBAAkB,mBAC3BnD,EAAQkD,iBADmB,QAK7Cb,eAAiB,UAGpB,KAAK9B,cAHe,OAMjB2B,eAEE,oCAGqB,OAEvB,MAAK5B,OAFkB,OAMvBA,UANuB,MASvB4B,aAAaC,MAAMC,QAAU,MATN,MAUvBF,aAAaZ,aAAa,cAAe,OAVlB,CAYrB,IAZqB,EAGnB,uCAYA,wBAEJ8B,QAAQC,QAAQ,WAAqB,IAAlBC,KAAAA,KAAMC,IAAAA,QACvBxD,UAAUyD,wBADjB,QAGKJ,WAED,KAAKlB,oBACFuB,aAGApB,eAAeqB,UAGhB,CAAC,KAAKrB,cAAL,CAAoBrC,OAApB,CAA4B2D,uBAC1BzB,aAAa0B,WAAWC,YAAY,KAAK3B,mBACzCA,aAAe,OAGjB,gDAG4B,OAEV,QAArB,aACUxB,OAAOC,QAAPD,CAAgBc,aAAhBd,IACHgC,WAEG3C,EAAU6D,kDAYM,GACpB/B,gEAGmC,YACvCiC,KACAC,OAECV,QAAQ,WAAS,CAEf,OAFe,QAGLW,KAAK,aAHA,GAIHA,KAAK,aAJF,EAMf,OANe,QAOLA,KAAK,QAPA,GAQHA,KAAK,OARF,EAUf,OAVe,QAWLA,KAAK,QAXA,GAYHA,KAAK,QAZF,QAAxB,EAJ6C,GAsBhCX,QAAQ,WAAS,IACtBC,GAAO,WAAO,CACd,OAAKrB,UADS,KAIdgC,gBAJc,GAKbC,gBAAyBlE,EAAQmE,UALpB,CAApB,IAOKf,QAAQY,KAAK,CAAET,OAAF,CAASD,MAAT,EARU,GASlBc,qBATZ,EAtB6C,GAmC9Bf,QAAQ,WAAS,IACxBC,GAAO,WAAO,CACde,OAAIJ,aADU,IAIbK,gBAAyBtE,EAAQmE,UAJxC,IAMKf,QAAQY,KAAK,CAAET,OAAF,CAASD,MAAT,EAPY,GAQpBc,qBARZ,+CAYkD,iBAC7CnC,aAD6C,IAG5CsC,GAAiBJ,GAASA,EAAMK,IAAfL,KAAiC,OACnDM,aAAe/D,OAAOgE,UAAPhE,CAClB,iBAAM,GAAKiE,KAAL,KADY,CAAAjE,kDAMwB,iBACvCuB,aADuC,IAGtCsC,GAAiBJ,GAASA,EAAMS,IAAfT,KAAiC,SACjDO,WAAW,UAAM,YACfG,aAAa,EAAKJ,cACrB,OAAKnE,UAGJK,SAASmE,IAATnE,CAAcoE,QAAdpE,CAAuB,EAAKuB,YAA5BvB,MAMY,YAAb0D,KAAIW,KAAuB,IACvBC,GAAQ,EAAKC,oBAAL,wBASXzB,WArBP,mDAoDyB,IACO,WAA7B,QAAO,MAAKvB,yBACoB,WAA9B,QAAO,MAAKlC,OAAL,CAAa2B,aAChB3B,QAAQ2B,aAIXJ,GAAY,KAAKW,YAAL,CAAkB0B,UAAlB,CAA6BpC,aAA7B,CAA2C,KAAKC,aAAhD,OACb0D,qBAA8B,KAAKnF,OAAL,CAAayC,KAAM,KAAK1C,SAAL,CAAewC,YAAf,CAA4B,OAA5B,GAAwC,KAAKvC,OAAL,CAAa2B,MARlF,MASpBD,iBAAiB,KAAK3B,YAAkB,KAAKC,OAAL,CAAayC,OATjC,MAUpBzC,QAAQ2B,OAVY,MAWpBU,eAAeC,0DAG8B,CACxB,CAAvB8C,KAAUxD,QAAVwD,EAAmD,EAAvBA,KAAUxD,QADS,IAEnCL,EAAUsC,WAAVtC,GAFmC,GAIpCA,EAAUV,SAAVU,CAAsB,GAAKA,EAAUS,WAAVT,CAAwB,yCAvWnEiD,KAAO,iBAAM,GAAKG,KAAL,CAAW,EAAK5E,SAAhB,CAA2B,EAAKC,OAAhC,QAOb4E,KAAO,iBAAM,GAAKnB,KAAL,SAOb4B,QAAU,iBAAM,GAAKC,QAAL,SAOhBC,OAAS,UAAM,OACT,GAAKjF,OADI,CAEJ,EAAKsE,IAAL,EAFI,CAIJ,EAAKJ,IAAL,SAUXgB,mBAAqB,kBAAW,GAAKC,mBAAL,UAKhCzC,cAAgB,uCAChBvB,cAAgB,uCAMhB2B,gBA2QA8B,qBAAuB,iBAAoC,IACnDQ,GACJrB,EAAIqB,gBAAJrB,EAAwBA,EAAIsB,SAA5BtB,EAAyCA,EAAIuB,cAFU,QAkBrD,EAAK1D,YAAL,CAAkB6C,QAAlB,GAlBqD,KAoBlD7C,aAAakC,iBAAiBC,EAAIW,KAhBxB,aAAQ,IACjBa,GACJC,EAAKJ,gBAALI,EAAyBA,EAAKH,SAA9BG,EAA2CA,EAAKF,gBAG7C1D,aAAasB,oBAAoBa,EAAIW,OALnB,CAQlBjF,EAAUgF,QAAVhF,GARkB,IAUhBuE,gBAAyBtE,EAAQmE,UAV1C,EAJyD"}

Commits for ChrisCompleteCodeTrunk/ActionTireCo/ActionTireCo.Crm/Scripts/tooltip.js/tooltip.min.js.map

Diff revisions: vs.
Revision Author Commited Message
1 BBDSCHRIS picture BBDSCHRIS Wed 22 Aug, 2018 20:08:03 +0000