{"version":3,"file":"TooltipButton-B_uNnvjm-chunk.js","sources":["../../../node_modules/react-tooltip/node_modules/uuid/dist/esm-browser/rng.js","../../../node_modules/react-tooltip/node_modules/uuid/dist/esm-browser/bytesToUuid.js","../../../node_modules/react-tooltip/node_modules/uuid/dist/esm-browser/v4.js","../../../node_modules/react-tooltip/dist/index.es.js","../../../src/components/utility/tooltip/TooltipOverridePosition.jsx","../../../src/components/utility/tooltip/Tooltip.jsx","../../../src/components/utility/tooltip/TooltipButton.jsx"],"sourcesContent":["// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\n// getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n// find the complete implementation of crypto (msCrypto) on IE11.\nvar getRandomValues = typeof crypto != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto != 'undefined' && typeof msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto);\nvar rnds8 = new Uint8Array(16); // eslint-disable-line no-undef\n\nexport default function rng() {\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n\n return getRandomValues(rnds8);\n}","/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex[i] = (i + 0x100).toString(16).substr(1);\n}\n\nfunction bytesToUuid(buf, offset) {\n var i = offset || 0;\n var bth = byteToHex; // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4\n\n return [bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]]].join('');\n}\n\nexport default bytesToUuid;","import rng from './rng.js';\nimport bytesToUuid from './bytesToUuid.js';\n\nfunction v4(options, buf, offset) {\n var i = buf && offset || 0;\n\n if (typeof options == 'string') {\n buf = options === 'binary' ? new Array(16) : null;\n options = null;\n }\n\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n for (var ii = 0; ii < 16; ++ii) {\n buf[i + ii] = rnds[ii];\n }\n }\n\n return buf || bytesToUuid(rnds);\n}\n\nexport default v4;","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { v4 } from 'uuid';\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nvar CONSTANT = {\n GLOBAL: {\n HIDE: '__react_tooltip_hide_event',\n REBUILD: '__react_tooltip_rebuild_event',\n SHOW: '__react_tooltip_show_event'\n }\n};\n\n/**\n * Static methods for react-tooltip\n */\n\nvar dispatchGlobalEvent = function dispatchGlobalEvent(eventName, opts) {\n // Compatible with IE\n // @see http://stackoverflow.com/questions/26596123/internet-explorer-9-10-11-event-constructor-doesnt-work\n // @see https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent\n var event;\n\n if (typeof window.CustomEvent === 'function') {\n event = new window.CustomEvent(eventName, {\n detail: opts\n });\n } else {\n event = document.createEvent('Event');\n event.initEvent(eventName, false, true, opts);\n }\n\n window.dispatchEvent(event);\n};\n\nfunction staticMethods (target) {\n /**\n * Hide all tooltip\n * @trigger ReactTooltip.hide()\n */\n target.hide = function (target) {\n dispatchGlobalEvent(CONSTANT.GLOBAL.HIDE, {\n target: target\n });\n };\n /**\n * Rebuild all tooltip\n * @trigger ReactTooltip.rebuild()\n */\n\n\n target.rebuild = function () {\n dispatchGlobalEvent(CONSTANT.GLOBAL.REBUILD);\n };\n /**\n * Show specific tooltip\n * @trigger ReactTooltip.show()\n */\n\n\n target.show = function (target) {\n dispatchGlobalEvent(CONSTANT.GLOBAL.SHOW, {\n target: target\n });\n };\n\n target.prototype.globalRebuild = function () {\n if (this.mount) {\n this.unbindListener();\n this.bindListener();\n }\n };\n\n target.prototype.globalShow = function (event) {\n if (this.mount) {\n var hasTarget = event && event.detail && event.detail.target && true || false; // Create a fake event, specific show will limit the type to `solid`\n // only `float` type cares e.clientX e.clientY\n\n this.showTooltip({\n currentTarget: hasTarget && event.detail.target\n }, true);\n }\n };\n\n target.prototype.globalHide = function (event) {\n if (this.mount) {\n var hasTarget = event && event.detail && event.detail.target && true || false;\n this.hideTooltip({\n currentTarget: hasTarget && event.detail.target\n }, hasTarget);\n }\n };\n}\n\n/**\n * Events that should be bound to the window\n */\nfunction windowListener (target) {\n target.prototype.bindWindowEvents = function (resizeHide) {\n // ReactTooltip.hide\n window.removeEventListener(CONSTANT.GLOBAL.HIDE, this.globalHide);\n window.addEventListener(CONSTANT.GLOBAL.HIDE, this.globalHide, false); // ReactTooltip.rebuild\n\n window.removeEventListener(CONSTANT.GLOBAL.REBUILD, this.globalRebuild);\n window.addEventListener(CONSTANT.GLOBAL.REBUILD, this.globalRebuild, false); // ReactTooltip.show\n\n window.removeEventListener(CONSTANT.GLOBAL.SHOW, this.globalShow);\n window.addEventListener(CONSTANT.GLOBAL.SHOW, this.globalShow, false); // Resize\n\n if (resizeHide) {\n window.removeEventListener('resize', this.onWindowResize);\n window.addEventListener('resize', this.onWindowResize, false);\n }\n };\n\n target.prototype.unbindWindowEvents = function () {\n window.removeEventListener(CONSTANT.GLOBAL.HIDE, this.globalHide);\n window.removeEventListener(CONSTANT.GLOBAL.REBUILD, this.globalRebuild);\n window.removeEventListener(CONSTANT.GLOBAL.SHOW, this.globalShow);\n window.removeEventListener('resize', this.onWindowResize);\n };\n /**\n * invoked by resize event of window\n */\n\n\n target.prototype.onWindowResize = function () {\n if (!this.mount) return;\n this.hideTooltip();\n };\n}\n\n/**\n * Custom events to control showing and hiding of tooltip\n *\n * @attributes\n * - `event` {String}\n * - `eventOff` {String}\n */\nvar checkStatus = function checkStatus(dataEventOff, e) {\n var show = this.state.show;\n var id = this.props.id;\n var isCapture = this.isCapture(e.currentTarget);\n var currentItem = e.currentTarget.getAttribute('currentItem');\n if (!isCapture) e.stopPropagation();\n\n if (show && currentItem === 'true') {\n if (!dataEventOff) this.hideTooltip(e);\n } else {\n e.currentTarget.setAttribute('currentItem', 'true');\n setUntargetItems(e.currentTarget, this.getTargetArray(id));\n this.showTooltip(e);\n }\n};\n\nvar setUntargetItems = function setUntargetItems(currentTarget, targetArray) {\n for (var i = 0; i < targetArray.length; i++) {\n if (currentTarget !== targetArray[i]) {\n targetArray[i].setAttribute('currentItem', 'false');\n } else {\n targetArray[i].setAttribute('currentItem', 'true');\n }\n }\n};\n\nvar customListeners = {\n id: '9b69f92e-d3fe-498b-b1b4-c5e63a51b0cf',\n set: function set(target, event, listener) {\n if (this.id in target) {\n var map = target[this.id];\n map[event] = listener;\n } else {\n // this is workaround for WeakMap, which is not supported in older browsers, such as IE\n Object.defineProperty(target, this.id, {\n configurable: true,\n value: _defineProperty({}, event, listener)\n });\n }\n },\n get: function get(target, event) {\n var map = target[this.id];\n\n if (map !== undefined) {\n return map[event];\n }\n }\n};\nfunction customEvent (target) {\n target.prototype.isCustomEvent = function (ele) {\n var event = this.state.event;\n return event || !!ele.getAttribute('data-event');\n };\n /* Bind listener for custom event */\n\n\n target.prototype.customBindListener = function (ele) {\n var _this = this;\n\n var _this$state = this.state,\n event = _this$state.event,\n eventOff = _this$state.eventOff;\n var dataEvent = ele.getAttribute('data-event') || event;\n var dataEventOff = ele.getAttribute('data-event-off') || eventOff;\n dataEvent.split(' ').forEach(function (event) {\n ele.removeEventListener(event, customListeners.get(ele, event));\n var customListener = checkStatus.bind(_this, dataEventOff);\n customListeners.set(ele, event, customListener);\n ele.addEventListener(event, customListener, false);\n });\n\n if (dataEventOff) {\n dataEventOff.split(' ').forEach(function (event) {\n ele.removeEventListener(event, _this.hideTooltip);\n ele.addEventListener(event, _this.hideTooltip, false);\n });\n }\n };\n /* Unbind listener for custom event */\n\n\n target.prototype.customUnbindListener = function (ele) {\n var _this$state2 = this.state,\n event = _this$state2.event,\n eventOff = _this$state2.eventOff;\n var dataEvent = event || ele.getAttribute('data-event');\n var dataEventOff = eventOff || ele.getAttribute('data-event-off');\n ele.removeEventListener(dataEvent, customListeners.get(ele, event));\n if (dataEventOff) ele.removeEventListener(dataEventOff, this.hideTooltip);\n };\n}\n\n/**\n * Util method to judge if it should follow capture model\n */\nfunction isCapture (target) {\n target.prototype.isCapture = function (currentTarget) {\n return currentTarget && currentTarget.getAttribute('data-iscapture') === 'true' || this.props.isCapture || false;\n };\n}\n\n/**\n * Util method to get effect\n */\nfunction getEffect (target) {\n target.prototype.getEffect = function (currentTarget) {\n var dataEffect = currentTarget.getAttribute('data-effect');\n return dataEffect || this.props.effect || 'float';\n };\n}\n\n/**\n * Util method to get effect\n */\n\nvar makeProxy = function makeProxy(e) {\n var proxy = {};\n\n for (var key in e) {\n if (typeof e[key] === 'function') {\n proxy[key] = e[key].bind(e);\n } else {\n proxy[key] = e[key];\n }\n }\n\n return proxy;\n};\n\nvar bodyListener = function bodyListener(callback, options, e) {\n var _options$respectEffec = options.respectEffect,\n respectEffect = _options$respectEffec === void 0 ? false : _options$respectEffec,\n _options$customEvent = options.customEvent,\n customEvent = _options$customEvent === void 0 ? false : _options$customEvent;\n var id = this.props.id;\n var tip = e.target.getAttribute('data-tip') || null;\n var forId = e.target.getAttribute('data-for') || null;\n var target = e.target;\n\n if (this.isCustomEvent(target) && !customEvent) {\n return;\n }\n\n var isTargetBelongsToTooltip = id == null && forId == null || forId === id;\n\n if (tip != null && (!respectEffect || this.getEffect(target) === 'float') && isTargetBelongsToTooltip) {\n var proxy = makeProxy(e);\n proxy.currentTarget = target;\n callback(proxy);\n }\n};\n\nvar findCustomEvents = function findCustomEvents(targetArray, dataAttribute) {\n var events = {};\n targetArray.forEach(function (target) {\n var event = target.getAttribute(dataAttribute);\n if (event) event.split(' ').forEach(function (event) {\n return events[event] = true;\n });\n });\n return events;\n};\n\nvar getBody = function getBody() {\n return document.getElementsByTagName('body')[0];\n};\n\nfunction bodyMode (target) {\n target.prototype.isBodyMode = function () {\n return !!this.props.bodyMode;\n };\n\n target.prototype.bindBodyListener = function (targetArray) {\n var _this = this;\n\n var _this$state = this.state,\n event = _this$state.event,\n eventOff = _this$state.eventOff,\n possibleCustomEvents = _this$state.possibleCustomEvents,\n possibleCustomEventsOff = _this$state.possibleCustomEventsOff;\n var body = getBody();\n var customEvents = findCustomEvents(targetArray, 'data-event');\n var customEventsOff = findCustomEvents(targetArray, 'data-event-off');\n if (event != null) customEvents[event] = true;\n if (eventOff != null) customEventsOff[eventOff] = true;\n possibleCustomEvents.split(' ').forEach(function (event) {\n return customEvents[event] = true;\n });\n possibleCustomEventsOff.split(' ').forEach(function (event) {\n return customEventsOff[event] = true;\n });\n this.unbindBodyListener(body);\n var listeners = this.bodyModeListeners = {};\n\n if (event == null) {\n listeners.mouseover = bodyListener.bind(this, this.showTooltip, {});\n listeners.mousemove = bodyListener.bind(this, this.updateTooltip, {\n respectEffect: true\n });\n listeners.mouseout = bodyListener.bind(this, this.hideTooltip, {});\n }\n\n for (var _event in customEvents) {\n listeners[_event] = bodyListener.bind(this, function (e) {\n var targetEventOff = e.currentTarget.getAttribute('data-event-off') || eventOff;\n checkStatus.call(_this, targetEventOff, e);\n }, {\n customEvent: true\n });\n }\n\n for (var _event2 in customEventsOff) {\n listeners[_event2] = bodyListener.bind(this, this.hideTooltip, {\n customEvent: true\n });\n }\n\n for (var _event3 in listeners) {\n body.addEventListener(_event3, listeners[_event3]);\n }\n };\n\n target.prototype.unbindBodyListener = function (body) {\n body = body || getBody();\n var listeners = this.bodyModeListeners;\n\n for (var event in listeners) {\n body.removeEventListener(event, listeners[event]);\n }\n };\n}\n\n/**\n * Tracking target removing from DOM.\n * It's necessary to hide tooltip when it's target disappears.\n * Otherwise, the tooltip would be shown forever until another target\n * is triggered.\n *\n * If MutationObserver is not available, this feature just doesn't work.\n */\n// https://hacks.mozilla.org/2012/05/dom-mutationobserver-reacting-to-dom-changes-without-killing-browser-performance/\nvar getMutationObserverClass = function getMutationObserverClass() {\n return window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;\n};\n\nfunction trackRemoval (target) {\n target.prototype.bindRemovalTracker = function () {\n var _this = this;\n\n var MutationObserver = getMutationObserverClass();\n if (MutationObserver == null) return;\n var observer = new MutationObserver(function (mutations) {\n for (var m1 = 0; m1 < mutations.length; m1++) {\n var mutation = mutations[m1];\n\n for (var m2 = 0; m2 < mutation.removedNodes.length; m2++) {\n var element = mutation.removedNodes[m2];\n\n if (element === _this.state.currentTarget) {\n _this.hideTooltip();\n\n return;\n }\n }\n }\n });\n observer.observe(window.document, {\n childList: true,\n subtree: true\n });\n this.removalTracker = observer;\n };\n\n target.prototype.unbindRemovalTracker = function () {\n if (this.removalTracker) {\n this.removalTracker.disconnect();\n this.removalTracker = null;\n }\n };\n}\n\n/**\n * Calculate the position of tooltip\n *\n * @params\n * - `e` {Event} the event of current mouse\n * - `target` {Element} the currentTarget of the event\n * - `node` {DOM} the react-tooltip object\n * - `place` {String} top / right / bottom / left\n * - `effect` {String} float / solid\n * - `offset` {Object} the offset to default position\n *\n * @return {Object}\n * - `isNewState` {Bool} required\n * - `newState` {Object}\n * - `position` {Object} {left: {Number}, top: {Number}}\n */\nfunction getPosition (e, target, node, place, desiredPlace, effect, offset) {\n var _getDimensions = getDimensions(node),\n tipWidth = _getDimensions.width,\n tipHeight = _getDimensions.height;\n\n var _getDimensions2 = getDimensions(target),\n targetWidth = _getDimensions2.width,\n targetHeight = _getDimensions2.height;\n\n var _getCurrentOffset = getCurrentOffset(e, target, effect),\n mouseX = _getCurrentOffset.mouseX,\n mouseY = _getCurrentOffset.mouseY;\n\n var defaultOffset = getDefaultPosition(effect, targetWidth, targetHeight, tipWidth, tipHeight);\n\n var _calculateOffset = calculateOffset(offset),\n extraOffsetX = _calculateOffset.extraOffsetX,\n extraOffsetY = _calculateOffset.extraOffsetY;\n\n var windowWidth = window.innerWidth;\n var windowHeight = window.innerHeight;\n\n var _getParent = getParent(node),\n parentTop = _getParent.parentTop,\n parentLeft = _getParent.parentLeft; // Get the edge offset of the tooltip\n\n\n var getTipOffsetLeft = function getTipOffsetLeft(place) {\n var offsetX = defaultOffset[place].l;\n return mouseX + offsetX + extraOffsetX;\n };\n\n var getTipOffsetRight = function getTipOffsetRight(place) {\n var offsetX = defaultOffset[place].r;\n return mouseX + offsetX + extraOffsetX;\n };\n\n var getTipOffsetTop = function getTipOffsetTop(place) {\n var offsetY = defaultOffset[place].t;\n return mouseY + offsetY + extraOffsetY;\n };\n\n var getTipOffsetBottom = function getTipOffsetBottom(place) {\n var offsetY = defaultOffset[place].b;\n return mouseY + offsetY + extraOffsetY;\n }; //\n // Functions to test whether the tooltip's sides are inside\n // the client window for a given orientation p\n //\n // _____________\n // | | <-- Right side\n // | p = 'left' |\\\n // | |/ |\\\n // |_____________| |_\\ <-- Mouse\n // / \\ |\n // |\n // |\n // Bottom side\n //\n\n\n var outsideLeft = function outsideLeft(p) {\n return getTipOffsetLeft(p) < 0;\n };\n\n var outsideRight = function outsideRight(p) {\n return getTipOffsetRight(p) > windowWidth;\n };\n\n var outsideTop = function outsideTop(p) {\n return getTipOffsetTop(p) < 0;\n };\n\n var outsideBottom = function outsideBottom(p) {\n return getTipOffsetBottom(p) > windowHeight;\n }; // Check whether the tooltip with orientation p is completely inside the client window\n\n\n var outside = function outside(p) {\n return outsideLeft(p) || outsideRight(p) || outsideTop(p) || outsideBottom(p);\n };\n\n var inside = function inside(p) {\n return !outside(p);\n };\n\n var placesList = ['top', 'bottom', 'left', 'right'];\n var insideList = [];\n\n for (var i = 0; i < 4; i++) {\n var p = placesList[i];\n\n if (inside(p)) {\n insideList.push(p);\n }\n }\n\n var isNewState = false;\n var newPlace;\n var shouldUpdatePlace = desiredPlace !== place;\n\n if (inside(desiredPlace) && shouldUpdatePlace) {\n isNewState = true;\n newPlace = desiredPlace;\n } else if (insideList.length > 0 && outside(desiredPlace) && outside(place)) {\n isNewState = true;\n newPlace = insideList[0];\n }\n\n if (isNewState) {\n return {\n isNewState: true,\n newState: {\n place: newPlace\n }\n };\n }\n\n return {\n isNewState: false,\n position: {\n left: parseInt(getTipOffsetLeft(place) - parentLeft, 10),\n top: parseInt(getTipOffsetTop(place) - parentTop, 10)\n }\n };\n}\n\nvar getDimensions = function getDimensions(node) {\n var _node$getBoundingClie = node.getBoundingClientRect(),\n height = _node$getBoundingClie.height,\n width = _node$getBoundingClie.width;\n\n return {\n height: parseInt(height, 10),\n width: parseInt(width, 10)\n };\n}; // Get current mouse offset\n\n\nvar getCurrentOffset = function getCurrentOffset(e, currentTarget, effect) {\n var boundingClientRect = currentTarget.getBoundingClientRect();\n var targetTop = boundingClientRect.top;\n var targetLeft = boundingClientRect.left;\n\n var _getDimensions3 = getDimensions(currentTarget),\n targetWidth = _getDimensions3.width,\n targetHeight = _getDimensions3.height;\n\n if (effect === 'float') {\n return {\n mouseX: e.clientX,\n mouseY: e.clientY\n };\n }\n\n return {\n mouseX: targetLeft + targetWidth / 2,\n mouseY: targetTop + targetHeight / 2\n };\n}; // List all possibility of tooltip final offset\n// This is useful in judging if it is necessary for tooltip to switch position when out of window\n\n\nvar getDefaultPosition = function getDefaultPosition(effect, targetWidth, targetHeight, tipWidth, tipHeight) {\n var top;\n var right;\n var bottom;\n var left;\n var disToMouse = 3;\n var triangleHeight = 2;\n var cursorHeight = 12; // Optimize for float bottom only, cause the cursor will hide the tooltip\n\n if (effect === 'float') {\n top = {\n l: -(tipWidth / 2),\n r: tipWidth / 2,\n t: -(tipHeight + disToMouse + triangleHeight),\n b: -disToMouse\n };\n bottom = {\n l: -(tipWidth / 2),\n r: tipWidth / 2,\n t: disToMouse + cursorHeight,\n b: tipHeight + disToMouse + triangleHeight + cursorHeight\n };\n left = {\n l: -(tipWidth + disToMouse + triangleHeight),\n r: -disToMouse,\n t: -(tipHeight / 2),\n b: tipHeight / 2\n };\n right = {\n l: disToMouse,\n r: tipWidth + disToMouse + triangleHeight,\n t: -(tipHeight / 2),\n b: tipHeight / 2\n };\n } else if (effect === 'solid') {\n top = {\n l: -(tipWidth / 2),\n r: tipWidth / 2,\n t: -(targetHeight / 2 + tipHeight + triangleHeight),\n b: -(targetHeight / 2)\n };\n bottom = {\n l: -(tipWidth / 2),\n r: tipWidth / 2,\n t: targetHeight / 2,\n b: targetHeight / 2 + tipHeight + triangleHeight\n };\n left = {\n l: -(tipWidth + targetWidth / 2 + triangleHeight),\n r: -(targetWidth / 2),\n t: -(tipHeight / 2),\n b: tipHeight / 2\n };\n right = {\n l: targetWidth / 2,\n r: tipWidth + targetWidth / 2 + triangleHeight,\n t: -(tipHeight / 2),\n b: tipHeight / 2\n };\n }\n\n return {\n top: top,\n bottom: bottom,\n left: left,\n right: right\n };\n}; // Consider additional offset into position calculation\n\n\nvar calculateOffset = function calculateOffset(offset) {\n var extraOffsetX = 0;\n var extraOffsetY = 0;\n\n if (Object.prototype.toString.apply(offset) === '[object String]') {\n offset = JSON.parse(offset.toString().replace(/'/g, '\"'));\n }\n\n for (var key in offset) {\n if (key === 'top') {\n extraOffsetY -= parseInt(offset[key], 10);\n } else if (key === 'bottom') {\n extraOffsetY += parseInt(offset[key], 10);\n } else if (key === 'left') {\n extraOffsetX -= parseInt(offset[key], 10);\n } else if (key === 'right') {\n extraOffsetX += parseInt(offset[key], 10);\n }\n }\n\n return {\n extraOffsetX: extraOffsetX,\n extraOffsetY: extraOffsetY\n };\n}; // Get the offset of the parent elements\n\n\nvar getParent = function getParent(currentTarget) {\n var currentParent = currentTarget;\n\n while (currentParent) {\n var computedStyle = window.getComputedStyle(currentParent); // transform and will-change: transform change the containing block\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_Block\n\n if (computedStyle.getPropertyValue('transform') !== 'none' || computedStyle.getPropertyValue('will-change') === 'transform') break;\n currentParent = currentParent.parentElement;\n }\n\n var parentTop = currentParent && currentParent.getBoundingClientRect().top || 0;\n var parentLeft = currentParent && currentParent.getBoundingClientRect().left || 0;\n return {\n parentTop: parentTop,\n parentLeft: parentLeft\n };\n};\n\n/**\n * To get the tooltip content\n * it may comes from data-tip or this.props.children\n * it should support multiline\n *\n * @params\n * - `tip` {String} value of data-tip\n * - `children` {ReactElement} this.props.children\n * - `multiline` {Any} could be Bool(true/false) or String('true'/'false')\n *\n * @return\n * - String or react component\n */\nfunction getTipContent (tip, children, getContent, multiline) {\n if (children) return children;\n if (getContent !== undefined && getContent !== null) return getContent; // getContent can be 0, '', etc.\n\n if (getContent === null) return null; // Tip not exist and children is null or undefined\n\n var regexp = //;\n\n if (!multiline || multiline === 'false' || !regexp.test(tip)) {\n // No trim(), so that user can keep their input\n return tip;\n } // Multiline tooltip content\n\n\n return tip.split(regexp).map(function (d, i) {\n return React.createElement(\"span\", {\n key: i,\n className: \"multi-line\"\n }, d);\n });\n}\n\n/**\n * Support aria- and role in ReactTooltip\n *\n * @params props {Object}\n * @return {Object}\n */\nfunction parseAria(props) {\n var ariaObj = {};\n Object.keys(props).filter(function (prop) {\n // aria-xxx and role is acceptable\n return /(^aria-\\w+$|^role$)/.test(prop);\n }).forEach(function (prop) {\n ariaObj[prop] = props[prop];\n });\n return ariaObj;\n}\n\n/**\n * Convert nodelist to array\n * @see https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/core/createArrayFromMixed.js#L24\n * NodeLists are functions in Safari\n */\nfunction nodeListToArray (nodeList) {\n var length = nodeList.length;\n\n if (nodeList.hasOwnProperty) {\n return Array.prototype.slice.call(nodeList);\n }\n\n return new Array(length).fill().map(function (index) {\n return nodeList[index];\n });\n}\n\nfunction generateUUID() {\n return 't' + v4();\n}\n\nvar baseCss = \".__react_component_tooltip {\\n border-radius: 3px;\\n display: inline-block;\\n font-size: 13px;\\n left: -999em;\\n opacity: 0;\\n padding: 8px 21px;\\n position: fixed;\\n pointer-events: none;\\n transition: opacity 0.3s ease-out;\\n top: -999em;\\n visibility: hidden;\\n z-index: 999;\\n}\\n.__react_component_tooltip.allow_hover, .__react_component_tooltip.allow_click {\\n pointer-events: auto;\\n}\\n.__react_component_tooltip::before, .__react_component_tooltip::after {\\n content: \\\"\\\";\\n width: 0;\\n height: 0;\\n position: absolute;\\n}\\n.__react_component_tooltip.show {\\n opacity: 0.9;\\n margin-top: 0;\\n margin-left: 0;\\n visibility: visible;\\n}\\n.__react_component_tooltip.place-top::before {\\n border-left: 10px solid transparent;\\n border-right: 10px solid transparent;\\n bottom: -8px;\\n left: 50%;\\n margin-left: -10px;\\n}\\n.__react_component_tooltip.place-bottom::before {\\n border-left: 10px solid transparent;\\n border-right: 10px solid transparent;\\n top: -8px;\\n left: 50%;\\n margin-left: -10px;\\n}\\n.__react_component_tooltip.place-left::before {\\n border-top: 6px solid transparent;\\n border-bottom: 6px solid transparent;\\n right: -8px;\\n top: 50%;\\n margin-top: -5px;\\n}\\n.__react_component_tooltip.place-right::before {\\n border-top: 6px solid transparent;\\n border-bottom: 6px solid transparent;\\n left: -8px;\\n top: 50%;\\n margin-top: -5px;\\n}\\n.__react_component_tooltip .multi-line {\\n display: block;\\n padding: 2px 0;\\n text-align: center;\\n}\";\n\n/**\n * Default pop-up style values (text color, background color).\n */\nvar defaultColors = {\n dark: {\n text: '#fff',\n background: '#222',\n border: 'transparent',\n arrow: '#222'\n },\n success: {\n text: '#fff',\n background: '#8DC572',\n border: 'transparent',\n arrow: '#8DC572'\n },\n warning: {\n text: '#fff',\n background: '#F0AD4E',\n border: 'transparent',\n arrow: '#F0AD4E'\n },\n error: {\n text: '#fff',\n background: '#BE6464',\n border: 'transparent',\n arrow: '#BE6464'\n },\n info: {\n text: '#fff',\n background: '#337AB7',\n border: 'transparent',\n arrow: '#337AB7'\n },\n light: {\n text: '#222',\n background: '#fff',\n border: 'transparent',\n arrow: '#fff'\n }\n};\nfunction getDefaultPopupColors(type) {\n return defaultColors[type] ? _objectSpread2({}, defaultColors[type]) : undefined;\n}\n\n/**\n * Generates the specific tooltip style for use on render.\n */\n\nfunction generateTooltipStyle(uuid, customColors, type, hasBorder) {\n return generateStyle(uuid, getPopupColors(customColors, type, hasBorder));\n}\n/**\n * Generates the tooltip style rules based on the element-specified \"data-type\" property.\n */\n\nfunction generateStyle(uuid, colors) {\n var textColor = colors.text;\n var backgroundColor = colors.background;\n var borderColor = colors.border;\n var arrowColor = colors.arrow;\n return \"\\n \\t.\".concat(uuid, \" {\\n\\t color: \").concat(textColor, \";\\n\\t background: \").concat(backgroundColor, \";\\n\\t border: 1px solid \").concat(borderColor, \";\\n \\t}\\n\\n \\t.\").concat(uuid, \".place-top {\\n margin-top: -10px;\\n }\\n .\").concat(uuid, \".place-top::before {\\n border-top: 8px solid \").concat(borderColor, \";\\n }\\n .\").concat(uuid, \".place-top::after {\\n border-left: 8px solid transparent;\\n border-right: 8px solid transparent;\\n bottom: -6px;\\n left: 50%;\\n margin-left: -8px;\\n border-top-color: \").concat(arrowColor, \";\\n border-top-style: solid;\\n border-top-width: 6px;\\n }\\n\\n .\").concat(uuid, \".place-bottom {\\n margin-top: 10px;\\n }\\n .\").concat(uuid, \".place-bottom::before {\\n border-bottom: 8px solid \").concat(borderColor, \";\\n }\\n .\").concat(uuid, \".place-bottom::after {\\n border-left: 8px solid transparent;\\n border-right: 8px solid transparent;\\n top: -6px;\\n left: 50%;\\n margin-left: -8px;\\n border-bottom-color: \").concat(arrowColor, \";\\n border-bottom-style: solid;\\n border-bottom-width: 6px;\\n }\\n\\n .\").concat(uuid, \".place-left {\\n margin-left: -10px;\\n }\\n .\").concat(uuid, \".place-left::before {\\n border-left: 8px solid \").concat(borderColor, \";\\n }\\n .\").concat(uuid, \".place-left::after {\\n border-top: 5px solid transparent;\\n border-bottom: 5px solid transparent;\\n right: -6px;\\n top: 50%;\\n margin-top: -4px;\\n border-left-color: \").concat(arrowColor, \";\\n border-left-style: solid;\\n border-left-width: 6px;\\n }\\n\\n .\").concat(uuid, \".place-right {\\n margin-left: 10px;\\n }\\n .\").concat(uuid, \".place-right::before {\\n border-right: 8px solid \").concat(borderColor, \";\\n }\\n .\").concat(uuid, \".place-right::after {\\n border-top: 5px solid transparent;\\n border-bottom: 5px solid transparent;\\n left: -6px;\\n top: 50%;\\n margin-top: -4px;\\n border-right-color: \").concat(arrowColor, \";\\n border-right-style: solid;\\n border-right-width: 6px;\\n }\\n \");\n}\n\nfunction getPopupColors(customColors, type, hasBorder) {\n var textColor = customColors.text;\n var backgroundColor = customColors.background;\n var borderColor = customColors.border;\n var arrowColor = customColors.arrow ? customColors.arrow : customColors.background;\n var colors = getDefaultPopupColors(type);\n\n if (textColor) {\n colors.text = textColor;\n }\n\n if (backgroundColor) {\n colors.background = backgroundColor;\n }\n\n if (hasBorder) {\n if (borderColor) {\n colors.border = borderColor;\n } else {\n colors.border = type === 'light' ? 'black' : 'white';\n }\n }\n\n if (arrowColor) {\n colors.arrow = arrowColor;\n }\n\n return colors;\n}\n\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global_1 =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n\nvar fails = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n\n// Detect IE8's incomplete defineProperty implementation\nvar descriptors = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nvar f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n\nvar objectPropertyIsEnumerable = {\n\tf: f\n};\n\nvar createPropertyDescriptor = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\nvar toString = {}.toString;\n\nvar classofRaw = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar indexedObject = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nvar requireObjectCoercible = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n// toObject with fallback for non-array-like ES3 strings\n\n\n\nvar toIndexedObject = function (it) {\n return indexedObject(requireObjectCoercible(it));\n};\n\nvar isObject = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nvar toPrimitive = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nvar toObject = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar has = function hasOwn(it, key) {\n return hasOwnProperty.call(toObject(it), key);\n};\n\nvar document$1 = global_1.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document$1) && isObject(document$1.createElement);\n\nvar documentCreateElement = function (it) {\n return EXISTS ? document$1.createElement(it) : {};\n};\n\n// Thank's IE8 for his funny defineProperty\nvar ie8DomDefine = !descriptors && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n return Object.defineProperty(documentCreateElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nvar f$1 = descriptors ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (ie8DomDefine) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);\n};\n\nvar objectGetOwnPropertyDescriptor = {\n\tf: f$1\n};\n\nvar anObject = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nvar f$2 = descriptors ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (ie8DomDefine) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\nvar objectDefineProperty = {\n\tf: f$2\n};\n\nvar createNonEnumerableProperty = descriptors ? function (object, key, value) {\n return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\nvar setGlobal = function (key, value) {\n try {\n createNonEnumerableProperty(global_1, key, value);\n } catch (error) {\n global_1[key] = value;\n } return value;\n};\n\nvar SHARED = '__core-js_shared__';\nvar store = global_1[SHARED] || setGlobal(SHARED, {});\n\nvar sharedStore = store;\n\nvar functionToString = Function.toString;\n\n// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof sharedStore.inspectSource != 'function') {\n sharedStore.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nvar inspectSource = sharedStore.inspectSource;\n\nvar WeakMap = global_1.WeakMap;\n\nvar nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n\nvar shared = createCommonjsModule(function (module) {\n(module.exports = function (key, value) {\n return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.12.1',\n mode: 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n});\n\nvar id = 0;\nvar postfix = Math.random();\n\nvar uid = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n\nvar keys = shared('keys');\n\nvar sharedKey = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n\nvar hiddenKeys = {};\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar WeakMap$1 = global_1.WeakMap;\nvar set, get, has$1;\n\nvar enforce = function (it) {\n return has$1(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (nativeWeakMap || sharedStore.state) {\n var store$1 = sharedStore.state || (sharedStore.state = new WeakMap$1());\n var wmget = store$1.get;\n var wmhas = store$1.has;\n var wmset = store$1.set;\n set = function (it, metadata) {\n if (wmhas.call(store$1, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset.call(store$1, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store$1, it) || {};\n };\n has$1 = function (it) {\n return wmhas.call(store$1, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (has(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return has(it, STATE) ? it[STATE] : {};\n };\n has$1 = function (it) {\n return has(it, STATE);\n };\n}\n\nvar internalState = {\n set: set,\n get: get,\n has: has$1,\n enforce: enforce,\n getterFor: getterFor\n};\n\nvar redefine = createCommonjsModule(function (module) {\nvar getInternalState = internalState.get;\nvar enforceInternalState = internalState.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global_1) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n});\n\nvar path = global_1;\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nvar getBuiltIn = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace])\n : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];\n};\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.es/ecma262/#sec-tointeger\nvar toInteger = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nvar toLength = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n\nvar max = Math.max;\nvar min$1 = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nvar toAbsoluteIndex = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min$1(integer, length);\n};\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nvar arrayIncludes = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n\nvar indexOf = arrayIncludes.indexOf;\n\n\nvar objectKeysInternal = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n// IE8- don't enum bug keys\nvar enumBugKeys = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n\nvar hiddenKeys$1 = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nvar f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return objectKeysInternal(O, hiddenKeys$1);\n};\n\nvar objectGetOwnPropertyNames = {\n\tf: f$3\n};\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nvar f$4 = Object.getOwnPropertySymbols;\n\nvar objectGetOwnPropertySymbols = {\n\tf: f$4\n};\n\n// all object keys, includes non-enumerable and symbols\nvar ownKeys$1 = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = objectGetOwnPropertyNames.f(anObject(it));\n var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n\nvar copyConstructorProperties = function (target, source) {\n var keys = ownKeys$1(source);\n var defineProperty = objectDefineProperty.f;\n var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nvar isForced_1 = isForced;\n\nvar getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;\n\n\n\n\n\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nvar _export = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global_1;\n } else if (STATIC) {\n target = global_1[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global_1[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor$1(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n\nvar aFunction$1 = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n\n// optional / simple context binding\nvar functionBindContext = function (fn, that, length) {\n aFunction$1(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nvar isArray = Array.isArray || function isArray(arg) {\n return classofRaw(arg) == 'Array';\n};\n\nvar engineUserAgent = getBuiltIn('navigator', 'userAgent') || '';\n\nvar process = global_1.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] < 4 ? 1 : match[0] + match[1];\n} else if (engineUserAgent) {\n match = engineUserAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = engineUserAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nvar engineV8Version = version && +version;\n\n/* eslint-disable es/no-symbol -- required for testing */\n\n\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nvar nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {\n return !String(Symbol()) ||\n // Chrome 38 Symbol has incorrect toString conversion\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && engineV8Version && engineV8Version < 41;\n});\n\n/* eslint-disable es/no-symbol -- required for testing */\n\n\nvar useSymbolAsUid = nativeSymbol\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol$1 = global_1.Symbol;\nvar createWellKnownSymbol = useSymbolAsUid ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid;\n\nvar wellKnownSymbol = function (name) {\n if (!has(WellKnownSymbolsStore, name) || !(nativeSymbol || typeof WellKnownSymbolsStore[name] == 'string')) {\n if (nativeSymbol && has(Symbol$1, name)) {\n WellKnownSymbolsStore[name] = Symbol$1[name];\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n }\n } return WellKnownSymbolsStore[name];\n};\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nvar arraySpeciesCreate = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation\nvar createMethod$1 = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var IS_FILTER_OUT = TYPE == 7;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = indexedObject(O);\n var boundFunction = functionBindContext(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push.call(target, value); // filterOut\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nvar arrayIteration = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod$1(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod$1(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod$1(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod$1(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod$1(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod$1(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod$1(6),\n // `Array.prototype.filterOut` method\n // https://github.com/tc39/proposal-array-filtering\n filterOut: createMethod$1(7)\n};\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nvar objectKeys = Object.keys || function keys(O) {\n return objectKeysInternal(O, enumBugKeys);\n};\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nvar objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n\nvar html = getBuiltIn('document', 'documentElement');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject -- old IE */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nvar objectCreate = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : objectDefineProperties(result, Properties);\n};\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: objectCreate(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nvar addToUnscopables = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n\nvar $find = arrayIteration.find;\n\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n_export({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n\nvar _class, _class2, _temp;\n\nvar ReactTooltip = staticMethods(_class = windowListener(_class = customEvent(_class = isCapture(_class = getEffect(_class = bodyMode(_class = trackRemoval(_class = (_temp = _class2 =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(ReactTooltip, _React$Component);\n\n _createClass(ReactTooltip, null, [{\n key: \"propTypes\",\n get: function get() {\n return {\n uuid: PropTypes.string,\n children: PropTypes.any,\n place: PropTypes.string,\n type: PropTypes.string,\n effect: PropTypes.string,\n offset: PropTypes.object,\n multiline: PropTypes.bool,\n border: PropTypes.bool,\n textColor: PropTypes.string,\n backgroundColor: PropTypes.string,\n borderColor: PropTypes.string,\n arrowColor: PropTypes.string,\n insecure: PropTypes.bool,\n \"class\": PropTypes.string,\n className: PropTypes.string,\n id: PropTypes.string,\n html: PropTypes.bool,\n delayHide: PropTypes.number,\n delayUpdate: PropTypes.number,\n delayShow: PropTypes.number,\n event: PropTypes.string,\n eventOff: PropTypes.string,\n isCapture: PropTypes.bool,\n globalEventOff: PropTypes.string,\n getContent: PropTypes.any,\n afterShow: PropTypes.func,\n afterHide: PropTypes.func,\n overridePosition: PropTypes.func,\n disable: PropTypes.bool,\n scrollHide: PropTypes.bool,\n resizeHide: PropTypes.bool,\n wrapper: PropTypes.string,\n bodyMode: PropTypes.bool,\n possibleCustomEvents: PropTypes.string,\n possibleCustomEventsOff: PropTypes.string,\n clickable: PropTypes.bool\n };\n }\n }]);\n\n function ReactTooltip(props) {\n var _this;\n\n _classCallCheck(this, ReactTooltip);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(ReactTooltip).call(this, props));\n _this.state = {\n uuid: props.uuid || generateUUID(),\n place: props.place || 'top',\n // Direction of tooltip\n desiredPlace: props.place || 'top',\n type: 'dark',\n // Color theme of tooltip\n effect: 'float',\n // float or fixed\n show: false,\n border: false,\n customColors: {},\n offset: {},\n extraClass: '',\n html: false,\n delayHide: 0,\n delayShow: 0,\n event: props.event || null,\n eventOff: props.eventOff || null,\n currentEvent: null,\n // Current mouse event\n currentTarget: null,\n // Current target of mouse event\n ariaProps: parseAria(props),\n // aria- and role attributes\n isEmptyTip: false,\n disable: false,\n possibleCustomEvents: props.possibleCustomEvents || '',\n possibleCustomEventsOff: props.possibleCustomEventsOff || '',\n originTooltip: null,\n isMultiline: false\n };\n\n _this.bind(['showTooltip', 'updateTooltip', 'hideTooltip', 'hideTooltipOnScroll', 'getTooltipContent', 'globalRebuild', 'globalShow', 'globalHide', 'onWindowResize', 'mouseOnToolTip']);\n\n _this.mount = true;\n _this.delayShowLoop = null;\n _this.delayHideLoop = null;\n _this.delayReshow = null;\n _this.intervalUpdateContent = null;\n return _this;\n }\n /**\n * For unify the bind and unbind listener\n */\n\n\n _createClass(ReactTooltip, [{\n key: \"bind\",\n value: function bind(methodArray) {\n var _this2 = this;\n\n methodArray.forEach(function (method) {\n _this2[method] = _this2[method].bind(_this2);\n });\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this$props = this.props,\n insecure = _this$props.insecure,\n resizeHide = _this$props.resizeHide;\n this.bindListener(); // Bind listener for tooltip\n\n this.bindWindowEvents(resizeHide); // Bind global event for static method\n\n this.injectStyles(); // Inject styles for each DOM root having tooltip.\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.mount = false;\n this.clearTimer();\n this.unbindListener();\n this.removeScrollListener(this.state.currentTarget);\n this.unbindWindowEvents();\n }\n /* Look for the closest DOM root having tooltip and inject styles. */\n\n }, {\n key: \"injectStyles\",\n value: function injectStyles() {\n var tooltipRef = this.tooltipRef;\n\n if (!tooltipRef) {\n return;\n }\n\n var parentNode = tooltipRef.parentNode;\n\n while (parentNode.parentNode) {\n parentNode = parentNode.parentNode;\n }\n\n var domRoot;\n\n switch (parentNode.constructor.name) {\n case 'Document':\n case 'HTMLDocument':\n case undefined:\n domRoot = parentNode.head;\n break;\n\n case 'ShadowRoot':\n default:\n domRoot = parentNode;\n break;\n } // Prevent styles duplication.\n\n\n if (!domRoot.querySelector('style[data-react-tooltip]')) {\n var style = document.createElement('style');\n style.textContent = baseCss;\n style.setAttribute('data-react-tooltip', 'true');\n domRoot.appendChild(style);\n }\n }\n /**\n * Return if the mouse is on the tooltip.\n * @returns {boolean} true - mouse is on the tooltip\n */\n\n }, {\n key: \"mouseOnToolTip\",\n value: function mouseOnToolTip() {\n var show = this.state.show;\n\n if (show && this.tooltipRef) {\n /* old IE or Firefox work around */\n if (!this.tooltipRef.matches) {\n /* old IE work around */\n if (this.tooltipRef.msMatchesSelector) {\n this.tooltipRef.matches = this.tooltipRef.msMatchesSelector;\n } else {\n /* old Firefox work around */\n this.tooltipRef.matches = this.tooltipRef.mozMatchesSelector;\n }\n }\n\n return this.tooltipRef.matches(':hover');\n }\n\n return false;\n }\n /**\n * Pick out corresponded target elements\n */\n\n }, {\n key: \"getTargetArray\",\n value: function getTargetArray(id) {\n var targetArray = [];\n var selector;\n\n if (!id) {\n selector = '[data-tip]:not([data-for])';\n } else {\n var escaped = id.replace(/\\\\/g, '\\\\\\\\').replace(/\"/g, '\\\\\"');\n selector = \"[data-tip][data-for=\\\"\".concat(escaped, \"\\\"]\");\n } // Scan document for shadow DOM elements\n\n\n nodeListToArray(document.getElementsByTagName('*')).filter(function (element) {\n return element.shadowRoot;\n }).forEach(function (element) {\n targetArray = targetArray.concat(nodeListToArray(element.shadowRoot.querySelectorAll(selector)));\n });\n return targetArray.concat(nodeListToArray(document.querySelectorAll(selector)));\n }\n /**\n * Bind listener to the target elements\n * These listeners used to trigger showing or hiding the tooltip\n */\n\n }, {\n key: \"bindListener\",\n value: function bindListener() {\n var _this3 = this;\n\n var _this$props2 = this.props,\n id = _this$props2.id,\n globalEventOff = _this$props2.globalEventOff,\n isCapture = _this$props2.isCapture;\n var targetArray = this.getTargetArray(id);\n targetArray.forEach(function (target) {\n if (target.getAttribute('currentItem') === null) {\n target.setAttribute('currentItem', 'false');\n }\n\n _this3.unbindBasicListener(target);\n\n if (_this3.isCustomEvent(target)) {\n _this3.customUnbindListener(target);\n }\n });\n\n if (this.isBodyMode()) {\n this.bindBodyListener(targetArray);\n } else {\n targetArray.forEach(function (target) {\n var isCaptureMode = _this3.isCapture(target);\n\n var effect = _this3.getEffect(target);\n\n if (_this3.isCustomEvent(target)) {\n _this3.customBindListener(target);\n\n return;\n }\n\n target.addEventListener('mouseenter', _this3.showTooltip, isCaptureMode);\n target.addEventListener('focus', _this3.showTooltip, isCaptureMode);\n\n if (effect === 'float') {\n target.addEventListener('mousemove', _this3.updateTooltip, isCaptureMode);\n }\n\n target.addEventListener('mouseleave', _this3.hideTooltip, isCaptureMode);\n target.addEventListener('blur', _this3.hideTooltip, isCaptureMode);\n });\n } // Global event to hide tooltip\n\n\n if (globalEventOff) {\n window.removeEventListener(globalEventOff, this.hideTooltip);\n window.addEventListener(globalEventOff, this.hideTooltip, isCapture);\n } // Track removal of targetArray elements from DOM\n\n\n this.bindRemovalTracker();\n }\n /**\n * Unbind listeners on target elements\n */\n\n }, {\n key: \"unbindListener\",\n value: function unbindListener() {\n var _this4 = this;\n\n var _this$props3 = this.props,\n id = _this$props3.id,\n globalEventOff = _this$props3.globalEventOff;\n\n if (this.isBodyMode()) {\n this.unbindBodyListener();\n } else {\n var targetArray = this.getTargetArray(id);\n targetArray.forEach(function (target) {\n _this4.unbindBasicListener(target);\n\n if (_this4.isCustomEvent(target)) _this4.customUnbindListener(target);\n });\n }\n\n if (globalEventOff) window.removeEventListener(globalEventOff, this.hideTooltip);\n this.unbindRemovalTracker();\n }\n /**\n * Invoke this before bind listener and unmount the component\n * it is necessary to invoke this even when binding custom event\n * so that the tooltip can switch between custom and default listener\n */\n\n }, {\n key: \"unbindBasicListener\",\n value: function unbindBasicListener(target) {\n var isCaptureMode = this.isCapture(target);\n target.removeEventListener('mouseenter', this.showTooltip, isCaptureMode);\n target.removeEventListener('mousemove', this.updateTooltip, isCaptureMode);\n target.removeEventListener('mouseleave', this.hideTooltip, isCaptureMode);\n }\n }, {\n key: \"getTooltipContent\",\n value: function getTooltipContent() {\n var _this$props4 = this.props,\n getContent = _this$props4.getContent,\n children = _this$props4.children; // Generate tooltip content\n\n var content;\n\n if (getContent) {\n if (Array.isArray(getContent)) {\n content = getContent[0] && getContent[0](this.state.originTooltip);\n } else {\n content = getContent(this.state.originTooltip);\n }\n }\n\n return getTipContent(this.state.originTooltip, children, content, this.state.isMultiline);\n }\n }, {\n key: \"isEmptyTip\",\n value: function isEmptyTip(placeholder) {\n return typeof placeholder === 'string' && placeholder === '' || placeholder === null;\n }\n /**\n * When mouse enter, show the tooltip\n */\n\n }, {\n key: \"showTooltip\",\n value: function showTooltip(e, isGlobalCall) {\n if (!this.tooltipRef) {\n return;\n }\n\n if (isGlobalCall) {\n // Don't trigger other elements belongs to other ReactTooltip\n var targetArray = this.getTargetArray(this.props.id);\n var isMyElement = targetArray.some(function (ele) {\n return ele === e.currentTarget;\n });\n if (!isMyElement) return;\n } // Get the tooltip content\n // calculate in this phrase so that tip width height can be detected\n\n\n var _this$props5 = this.props,\n multiline = _this$props5.multiline,\n getContent = _this$props5.getContent;\n var originTooltip = e.currentTarget.getAttribute('data-tip');\n var isMultiline = e.currentTarget.getAttribute('data-multiline') || multiline || false; // If it is focus event or called by ReactTooltip.show, switch to `solid` effect\n\n var switchToSolid = e instanceof window.FocusEvent || isGlobalCall; // if it needs to skip adding hide listener to scroll\n\n var scrollHide = true;\n\n if (e.currentTarget.getAttribute('data-scroll-hide')) {\n scrollHide = e.currentTarget.getAttribute('data-scroll-hide') === 'true';\n } else if (this.props.scrollHide != null) {\n scrollHide = this.props.scrollHide;\n } // adding aria-describedby to target to make tooltips read by screen readers\n\n\n if (e && e.currentTarget && e.currentTarget.setAttribute) {\n e.currentTarget.setAttribute('aria-describedby', this.state.uuid);\n } // Make sure the correct place is set\n\n\n var desiredPlace = e.currentTarget.getAttribute('data-place') || this.props.place || 'top';\n var effect = switchToSolid && 'solid' || this.getEffect(e.currentTarget);\n var offset = e.currentTarget.getAttribute('data-offset') || this.props.offset || {};\n var result = getPosition(e, e.currentTarget, this.tooltipRef, desiredPlace, desiredPlace, effect, offset);\n\n if (result.position && this.props.overridePosition) {\n result.position = this.props.overridePosition(result.position, e, e.currentTarget, this.tooltipRef, desiredPlace, desiredPlace, effect, offset);\n }\n\n var place = result.isNewState ? result.newState.place : desiredPlace; // To prevent previously created timers from triggering\n\n this.clearTimer();\n var target = e.currentTarget;\n var reshowDelay = this.state.show ? target.getAttribute('data-delay-update') || this.props.delayUpdate : 0;\n var self = this;\n\n var updateState = function updateState() {\n self.setState({\n originTooltip: originTooltip,\n isMultiline: isMultiline,\n desiredPlace: desiredPlace,\n place: place,\n type: target.getAttribute('data-type') || self.props.type || 'dark',\n customColors: {\n text: target.getAttribute('data-text-color') || self.props.textColor || null,\n background: target.getAttribute('data-background-color') || self.props.backgroundColor || null,\n border: target.getAttribute('data-border-color') || self.props.borderColor || null,\n arrow: target.getAttribute('data-arrow-color') || self.props.arrowColor || null\n },\n effect: effect,\n offset: offset,\n html: (target.getAttribute('data-html') ? target.getAttribute('data-html') === 'true' : self.props.html) || false,\n delayShow: target.getAttribute('data-delay-show') || self.props.delayShow || 0,\n delayHide: target.getAttribute('data-delay-hide') || self.props.delayHide || 0,\n delayUpdate: target.getAttribute('data-delay-update') || self.props.delayUpdate || 0,\n border: (target.getAttribute('data-border') ? target.getAttribute('data-border') === 'true' : self.props.border) || false,\n extraClass: target.getAttribute('data-class') || self.props[\"class\"] || self.props.className || '',\n disable: (target.getAttribute('data-tip-disable') ? target.getAttribute('data-tip-disable') === 'true' : self.props.disable) || false,\n currentTarget: target\n }, function () {\n if (scrollHide) {\n self.addScrollListener(self.state.currentTarget);\n }\n\n self.updateTooltip(e);\n\n if (getContent && Array.isArray(getContent)) {\n self.intervalUpdateContent = setInterval(function () {\n if (self.mount) {\n var _getContent = self.props.getContent;\n var placeholder = getTipContent(originTooltip, '', _getContent[0](), isMultiline);\n var isEmptyTip = self.isEmptyTip(placeholder);\n self.setState({\n isEmptyTip: isEmptyTip\n });\n self.updatePosition();\n }\n }, getContent[1]);\n }\n });\n }; // If there is no delay call immediately, don't allow events to get in first.\n\n\n if (reshowDelay) {\n this.delayReshow = setTimeout(updateState, reshowDelay);\n } else {\n updateState();\n }\n }\n /**\n * When mouse hover, update tool tip\n */\n\n }, {\n key: \"updateTooltip\",\n value: function updateTooltip(e) {\n var _this5 = this;\n\n var _this$state = this.state,\n delayShow = _this$state.delayShow,\n disable = _this$state.disable;\n var afterShow = this.props.afterShow;\n var placeholder = this.getTooltipContent();\n var eventTarget = e.currentTarget || e.target; // Check if the mouse is actually over the tooltip, if so don't hide the tooltip\n\n if (this.mouseOnToolTip()) {\n return;\n } // if the tooltip is empty, disable the tooltip\n\n\n if (this.isEmptyTip(placeholder) || disable) {\n return;\n }\n\n var delayTime = !this.state.show ? parseInt(delayShow, 10) : 0;\n\n var updateState = function updateState() {\n if (Array.isArray(placeholder) && placeholder.length > 0 || placeholder) {\n var isInvisible = !_this5.state.show;\n\n _this5.setState({\n currentEvent: e,\n currentTarget: eventTarget,\n show: true\n }, function () {\n _this5.updatePosition();\n\n if (isInvisible && afterShow) {\n afterShow(e);\n }\n });\n }\n };\n\n clearTimeout(this.delayShowLoop);\n\n if (delayTime) {\n this.delayShowLoop = setTimeout(updateState, delayTime);\n } else {\n updateState();\n }\n }\n /*\n * If we're mousing over the tooltip remove it when we leave.\n */\n\n }, {\n key: \"listenForTooltipExit\",\n value: function listenForTooltipExit() {\n var show = this.state.show;\n\n if (show && this.tooltipRef) {\n this.tooltipRef.addEventListener('mouseleave', this.hideTooltip);\n }\n }\n }, {\n key: \"removeListenerForTooltipExit\",\n value: function removeListenerForTooltipExit() {\n var show = this.state.show;\n\n if (show && this.tooltipRef) {\n this.tooltipRef.removeEventListener('mouseleave', this.hideTooltip);\n }\n }\n /**\n * When mouse leave, hide tooltip\n */\n\n }, {\n key: \"hideTooltip\",\n value: function hideTooltip(e, hasTarget) {\n var _this6 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n isScroll: false\n };\n var disable = this.state.disable;\n var isScroll = options.isScroll;\n var delayHide = isScroll ? 0 : this.state.delayHide;\n var afterHide = this.props.afterHide;\n var placeholder = this.getTooltipContent();\n if (!this.mount) return;\n if (this.isEmptyTip(placeholder) || disable) return; // if the tooltip is empty, disable the tooltip\n\n if (hasTarget) {\n // Don't trigger other elements belongs to other ReactTooltip\n var targetArray = this.getTargetArray(this.props.id);\n var isMyElement = targetArray.some(function (ele) {\n return ele === e.currentTarget;\n });\n if (!isMyElement || !this.state.show) return;\n } // clean up aria-describedby when hiding tooltip\n\n\n if (e && e.currentTarget && e.currentTarget.removeAttribute) {\n e.currentTarget.removeAttribute('aria-describedby');\n }\n\n var resetState = function resetState() {\n var isVisible = _this6.state.show; // Check if the mouse is actually over the tooltip, if so don't hide the tooltip\n\n if (_this6.mouseOnToolTip()) {\n _this6.listenForTooltipExit();\n\n return;\n }\n\n _this6.removeListenerForTooltipExit();\n\n _this6.setState({\n show: false\n }, function () {\n _this6.removeScrollListener(_this6.state.currentTarget);\n\n if (isVisible && afterHide) {\n afterHide(e);\n }\n });\n };\n\n this.clearTimer();\n\n if (delayHide) {\n this.delayHideLoop = setTimeout(resetState, parseInt(delayHide, 10));\n } else {\n resetState();\n }\n }\n /**\n * When scroll, hide tooltip\n */\n\n }, {\n key: \"hideTooltipOnScroll\",\n value: function hideTooltipOnScroll(event, hasTarget) {\n this.hideTooltip(event, hasTarget, {\n isScroll: true\n });\n }\n /**\n * Add scroll event listener when tooltip show\n * automatically hide the tooltip when scrolling\n */\n\n }, {\n key: \"addScrollListener\",\n value: function addScrollListener(currentTarget) {\n var isCaptureMode = this.isCapture(currentTarget);\n window.addEventListener('scroll', this.hideTooltipOnScroll, isCaptureMode);\n }\n }, {\n key: \"removeScrollListener\",\n value: function removeScrollListener(currentTarget) {\n var isCaptureMode = this.isCapture(currentTarget);\n window.removeEventListener('scroll', this.hideTooltipOnScroll, isCaptureMode);\n } // Calculation the position\n\n }, {\n key: \"updatePosition\",\n value: function updatePosition() {\n var _this7 = this;\n\n var _this$state2 = this.state,\n currentEvent = _this$state2.currentEvent,\n currentTarget = _this$state2.currentTarget,\n place = _this$state2.place,\n desiredPlace = _this$state2.desiredPlace,\n effect = _this$state2.effect,\n offset = _this$state2.offset;\n var node = this.tooltipRef;\n var result = getPosition(currentEvent, currentTarget, node, place, desiredPlace, effect, offset);\n\n if (result.position && this.props.overridePosition) {\n result.position = this.props.overridePosition(result.position, currentEvent, currentTarget, node, place, desiredPlace, effect, offset);\n }\n\n if (result.isNewState) {\n // Switch to reverse placement\n return this.setState(result.newState, function () {\n _this7.updatePosition();\n });\n } // Set tooltip position\n\n\n node.style.left = result.position.left + 'px';\n node.style.top = result.position.top + 'px';\n }\n /**\n * CLear all kinds of timeout of interval\n */\n\n }, {\n key: \"clearTimer\",\n value: function clearTimer() {\n clearTimeout(this.delayShowLoop);\n clearTimeout(this.delayHideLoop);\n clearTimeout(this.delayReshow);\n clearInterval(this.intervalUpdateContent);\n }\n }, {\n key: \"hasCustomColors\",\n value: function hasCustomColors() {\n var _this8 = this;\n\n return Boolean(Object.keys(this.state.customColors).find(function (color) {\n return color !== 'border' && _this8.state.customColors[color];\n }) || this.state.border && this.state.customColors['border']);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this9 = this;\n\n var _this$state3 = this.state,\n extraClass = _this$state3.extraClass,\n html = _this$state3.html,\n ariaProps = _this$state3.ariaProps,\n disable = _this$state3.disable,\n uuid = _this$state3.uuid;\n var content = this.getTooltipContent();\n var isEmptyTip = this.isEmptyTip(content);\n var style = generateTooltipStyle(this.state.uuid, this.state.customColors, this.state.type, this.state.border);\n var tooltipClass = '__react_component_tooltip' + \" \".concat(this.state.uuid) + (this.state.show && !disable && !isEmptyTip ? ' show' : '') + (this.state.border ? ' border' : '') + \" place-\".concat(this.state.place) + // top, bottom, left, right\n \" type-\".concat(this.hasCustomColors() ? 'custom' : this.state.type) + ( // dark, success, warning, error, info, light, custom\n this.props.delayUpdate ? ' allow_hover' : '') + (this.props.clickable ? ' allow_click' : '');\n var Wrapper = this.props.wrapper;\n\n if (ReactTooltip.supportedWrappers.indexOf(Wrapper) < 0) {\n Wrapper = ReactTooltip.defaultProps.wrapper;\n }\n\n var wrapperClassName = [tooltipClass, extraClass].filter(Boolean).join(' ');\n\n if (html) {\n var htmlContent = \"\".concat(content, \"\\n\");\n return React.createElement(Wrapper, _extends({\n className: \"\".concat(wrapperClassName),\n id: this.props.id || uuid,\n ref: function ref(_ref) {\n return _this9.tooltipRef = _ref;\n }\n }, ariaProps, {\n \"data-id\": \"tooltip\",\n dangerouslySetInnerHTML: {\n __html: htmlContent\n }\n }));\n } else {\n return React.createElement(Wrapper, _extends({\n className: \"\".concat(wrapperClassName),\n id: this.props.id || uuid\n }, ariaProps, {\n ref: function ref(_ref2) {\n return _this9.tooltipRef = _ref2;\n },\n \"data-id\": \"tooltip\"\n }), React.createElement(\"style\", {\n dangerouslySetInnerHTML: {\n __html: style\n },\n \"aria-hidden\": \"true\"\n }), content);\n }\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n var ariaProps = prevState.ariaProps;\n var newAriaProps = parseAria(nextProps);\n var isChanged = Object.keys(newAriaProps).some(function (props) {\n return newAriaProps[props] !== ariaProps[props];\n });\n\n if (!isChanged) {\n return null;\n }\n\n return _objectSpread2({}, prevState, {\n ariaProps: newAriaProps\n });\n }\n }]);\n\n return ReactTooltip;\n}(React.Component), _defineProperty(_class2, \"defaultProps\", {\n insecure: true,\n resizeHide: true,\n wrapper: 'div',\n clickable: false\n}), _defineProperty(_class2, \"supportedWrappers\", ['div', 'span']), _defineProperty(_class2, \"displayName\", 'ReactTooltip'), _temp)) || _class) || _class) || _class) || _class) || _class) || _class) || _class;\n\nexport default ReactTooltip;\n//# sourceMappingURL=index.es.js.map\n","const removeClassName = (node, partialName) => {\n\tnode.classList.forEach((className) => {\n\t\treturn className.includes(partialName) ? node.classList.remove(className) : null;\n\t});\n\treturn node;\n};\nconst checkXPlace = (target, node) => {\n\tlet xPosition = target.tooltipPosition;\n\tlet checkRightNode = window.innerWidth - target.right >= parseInt(node.clientWidth);\n\tlet checkLeftNode = target.left >= parseInt(node.clientWidth);\n\tnode.classList.remove(\"tooltip-responsive\");\n\n\tif (!(checkRightNode && checkLeftNode)) {\n\t\tif (checkRightNode) {\n\t\t\txPosition = \"right\";\n\t\t} else if (checkLeftNode) {\n\t\t\txPosition = \"left\";\n\t\t} else {\n\t\t\tnode.classList.add(\"tooltip-responsive\");\n\t\t}\n\t}\n\n\treturn xPosition;\n};\n\nconst checkYPlace = (target, node) => {\n\tlet yPosition = target.position;\n\tlet nodeBottomPosition = target.bottom + parseInt(node.clientHeight);\n\tif (nodeBottomPosition >= window.innerHeight) {\n\t\tyPosition = \"top\";\n\t}\n\treturn yPosition;\n};\n\nconst bottomTooltip = (target, node) => {\n\tlet top = target.top + target.height + target.arrowHeight;\n\tlet left = target.left;\n\tlet xPlace = checkXPlace(target, node);\n\tif (xPlace === \"left\") {\n\t\tleft = bottomLeftTooltip(target, node);\n\t} else if (xPlace === \"right\") {\n\t\tleft = bottomRightTooltip(target, node);\n\t}\n\treturn { top, left };\n};\nconst topTooltip = (target, node) => {\n\tlet top = target.top - node.clientHeight;\n\tlet left = target.left;\n\tlet xPlace = checkXPlace(target, node);\n\tif (xPlace === \"left\") {\n\t\tleft = topLeftTooltip(target, node);\n\t} else if (xPlace === \"right\") {\n\t\tleft = topRightTooltip(target, node);\n\t}\n\treturn { top, left };\n};\n\nconst bottomRightTooltip = (target, node) => {\n\tlet left = target.left;\n\tlet arrowPosition = target.width / 2;\n\tnode.classList.add(`place-bottom`);\n\tnode.classList.add(`arrow-bottom-${target.tooltipPosition}`);\n\tnode.style.setProperty(\"--tooltip-position-left\", `${left}px`);\n\tnode.style.setProperty(\"--tooltip-arrow-position\", `${arrowPosition}px`);\n\treturn left;\n};\n\nconst bottomLeftTooltip = (target, node) => {\n\tlet left = target.right - node.offsetWidth;\n\tlet right = window.innerWidth - target.right - node.offsetWidth / 2;\n\tlet arrowPosition = node.offsetWidth - target.width / 2;\n\tnode.classList.add(`place-bottom`);\n\tnode.classList.add(`arrow-bottom-${target.tooltipPosition}`);\n\tnode.style.setProperty(\"--tooltip-arrow-position\", `${arrowPosition}px`);\n\tnode.style.setProperty(\"--tooltip-position-right\", `${right}px`);\n\treturn left;\n};\nconst topRightTooltip = (target, node) => {\n\tlet left = target.left;\n\tlet arrowPosition = target.width / 2;\n\tnode.classList.add(`place-top`);\n\tnode.classList.add(`arrow-top-${target.tooltipPosition}`);\n\tnode.style.setProperty(\"--tooltip-position-left\", `${left}px`);\n\tnode.style.setProperty(\"--tooltip-arrow-position\", `${arrowPosition}px`);\n\treturn left;\n};\n\nconst topLeftTooltip = (target, node) => {\n\tlet left = target.right - node.offsetWidth;\n\tlet arrowPosition = node.offsetWidth - target.width / 2 - 6;\n\tif (left <= 0) {\n\t\tleft = 10;\n\t\tarrowPosition = target.left - target.width;\n\t}\n\tlet right = window.innerWidth - target.right - node.offsetWidth / 2;\n\tnode.classList.add(`place-top`);\n\tnode.classList.add(`arrow-top-${target.tooltipPosition}`);\n\tnode.style.setProperty(\"--tooltip-arrow-position\", `${arrowPosition}px`);\n\tnode.style.setProperty(\"--tooltip-position-right\", `${right}px`);\n\treturn left;\n};\n\nexport const setPosition = (\n\t{ left, top },\n\tcurrentEvent,\n\tcurrentTarget,\n\tnode,\n\tplace,\n\tdesiredPlace,\n\teffect,\n\toffset,\n\tposition,\n\ttooltipPosition\n) => {\n\tconst target = currentTarget.querySelectorAll(\".button-icon\").length\n\t\t? currentTarget.querySelectorAll(\".button-icon\")[0]\n\t\t: currentTarget;\n\tconst BoundingClientRect = target.getBoundingClientRect();\n\tconst targetPosition = {\n\t\tleft: BoundingClientRect.left,\n\t\tright: BoundingClientRect.right,\n\t\ttop: BoundingClientRect.top,\n\t\tbottom: BoundingClientRect.bottom,\n\t\theight: target.clientHeight,\n\t\twidth: target.clientWidth,\n\t\tarrowHeight: 10,\n\t\tposition: position,\n\t\ttooltipPosition: tooltipPosition\n\t};\n\tlet yPlace = checkYPlace(targetPosition, node);\n\tnode = removeClassName(node, \"place-\");\n\tif (yPlace === \"bottom\") {\n\t\treturn bottomTooltip(targetPosition, node);\n\t} else if (yPlace === \"top\") {\n\t\treturn topTooltip(targetPosition, node);\n\t} else {\n\t\treturn { top, left };\n\t}\n};\n\nexport default {\n\tsetPosition\n};\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport ReactTooltip from \"react-tooltip\";\nimport { setPosition } from \"./TooltipOverridePosition\";\n\nexport default class Tooltip extends Component {\n\tcomponentDidMount() {\n\t\twindow.addEventListener(\"resize\", this.toggleTooltip);\n\t}\n\tcomponentDidUpdate(prevProps) {\n\t\tif (this.props.clickable && prevProps.isVisible !== this.props.isVisible) {\n\t\t\tthis.toggleTooltip();\n\t\t}\n\t}\n\toverridePosition = (\n\t\t{ left, top },\n\t\tcurrentEvent,\n\t\tcurrentTarget,\n\t\tnode,\n\t\tplace,\n\t\tdesiredPlace,\n\t\teffect,\n\t\toffset\n\t) => {\n\t\tconst { position, tooltipPosition = this.props.position } = this.props;\n\t\treturn setPosition(\n\t\t\t{ left, top },\n\t\t\tcurrentEvent,\n\t\t\tcurrentTarget,\n\t\t\tnode,\n\t\t\tplace,\n\t\t\tdesiredPlace,\n\t\t\teffect,\n\t\t\toffset,\n\t\t\tposition,\n\t\t\ttooltipPosition\n\t\t);\n\t};\n\n\ttoggleTooltip = () => {\n\t\tconst { isVisible, buttonRef } = this.props;\n\t\tif (isVisible) {\n\t\t\tReactTooltip.show(buttonRef.current);\n\t\t} else {\n\t\t\tReactTooltip.hide(buttonRef.current);\n\t\t}\n\t\tReactTooltip.rebuild();\n\t};\n\trender() {\n\t\tconst { id, className = \"\", position = \"bottom\" } = this.props;\n\t\treturn (\n\t\t\t\n\t\t);\n\t}\n\tstatic propTypes = {\n\t\tid: PropTypes.string.isRequired,\n\t\tposition: PropTypes.string.isRequired,\n\t\ttooltipPosition: PropTypes.string,\n\t\tclassName: PropTypes.string,\n\t\tisVisible: PropTypes.bool,\n\t\tbuttonRef: PropTypes.object\n\t};\n}\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport Tooltip from \"./Tooltip\";\n\nexport default class TooltipButton extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tisLocked: false,\n\t\t\tisVisible: false\n\t\t};\n\t\tthis.tooltipButtonRef = React.createRef();\n\t}\n\tcomponentDidMount() {\n\t\twindow.addEventListener(\"resize\", this.resetState);\n\t\tdocument.addEventListener(\"scroll\", this.resetState);\n\t}\n\tcomponentWillUnmount() {\n\t\twindow.removeEventListener(\"scroll\", this.resetState);\n\t\twindow.removeEventListener(\"resize\", this.resetState);\n\t}\n\tresetState = () => {\n\t\tthis.setState({ isLocked: false, isVisible: false });\n\t};\n\thandleWindowClick = (e) => {\n\t\tif (!e || !e.target) return;\n\n\t\tlet currentElement = e.target;\n\t\twhile (currentElement) {\n\t\t\tif (currentElement.classList.contains(\"dfa-tooltip-button-text\")) return;\n\t\t\tcurrentElement = currentElement.parentElement;\n\t\t}\n\t\tthis.setState({\n\t\t\tisLocked: false,\n\t\t\tisVisible: false\n\t\t});\n\t\twindow.removeEventListener(\"click\", this.handleWindowClick);\n\t};\n\ttoggleLocked = () => {\n\t\tthis.setState({\n\t\t\tisLocked: !this.state.isLocked,\n\t\t\tisVisible: !this.state.isLocked\n\t\t});\n\n\t\twindow.requestAnimationFrame(() => {\n\t\t\tif (this.state.isLocked) {\n\t\t\t\twindow.addEventListener(\"click\", this.handleWindowClick);\n\t\t\t} else {\n\t\t\t\twindow.removeEventListener(\"click\", this.handleWindowClick);\n\t\t\t}\n\t\t});\n\t};\n\tsetVisible = (state) => {\n\t\tif (!this.state.isLocked) {\n\t\t\tthis.setState({\n\t\t\t\tisVisible: state\n\t\t\t});\n\t\t}\n\t};\n\n\trender() {\n\t\tconst {\n\t\t\tcontent,\n\t\t\tclassName = \"\",\n\t\t\tbuttonClassName = \"\",\n\t\t\tid,\n\t\t\tposition = \"bottom\",\n\t\t\ttooltipPosition = \"left\",\n\t\t\tclickable = true,\n\t\t\tdataLabel = \"\",\n\t\t\tdataQA = \"\"\n\t\t} = this.props;\n\n\t\tconst { isVisible } = this.state;\n\t\treturn (\n\t\t\t
\n\t\t\t\t this.toggleLocked()}\n\t\t\t\t\tonMouseEnter={() => this.setVisible(true)}\n\t\t\t\t\tonMouseLeave={() => this.setVisible(false)}\n\t\t\t\t\taria-label=\"tooltip\"\n\t\t\t\t\tdata-tip={decodeURIComponent((content + \"\").replace(/\\+/g, \"%20\"))}\n\t\t\t\t\tdata-for={id}\n\t\t\t\t\tdata-event={isVisible || \"\"}\n\t\t\t\t\tdata-event-off={isVisible || \"\"}\n\t\t\t\t\tdata-label={dataLabel}\n\t\t\t\t\tdata-qa={dataQA}\n\t\t\t\t>\n\t\t\t\t\t{this.props.children}\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t);\n\t}\n\tstatic propTypes = {\n\t\tdata: PropTypes.shape({\n\t\t\tclassName: PropTypes.string,\n\t\t\tbuttonClassName: PropTypes.string,\n\t\t\tid: PropTypes.string.isRequired,\n\t\t\tcontent: PropTypes.string,\n\t\t\tposition: PropTypes.string,\n\t\t\ttooltipPosition: PropTypes.string,\n\t\t\tclickable: PropTypes.bool,\n\t\t\tdataLabel: PropTypes.string\n\t\t})\n\t};\n}\n"],"names":["getRandomValues","rnds8","rng","byteToHex","i","bytesToUuid","buf","offset","bth","v4","options","rnds","ii","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","_defineProperty","obj","key","value","_extends","source","ownKeys","object","enumerableOnly","keys","symbols","sym","_objectSpread2","_inherits","subClass","superClass","_setPrototypeOf","_getPrototypeOf","o","p","_assertThisInitialized","self","_possibleConstructorReturn","call","CONSTANT","dispatchGlobalEvent","eventName","opts","event","staticMethods","hasTarget","windowListener","resizeHide","checkStatus","dataEventOff","e","show","id","isCapture","currentItem","setUntargetItems","currentTarget","targetArray","customListeners","listener","map","customEvent","ele","_this","_this$state","eventOff","dataEvent","customListener","_this$state2","getEffect","dataEffect","makeProxy","proxy","bodyListener","callback","_options$respectEffec","respectEffect","_options$customEvent","tip","forId","isTargetBelongsToTooltip","findCustomEvents","dataAttribute","events","getBody","bodyMode","possibleCustomEvents","possibleCustomEventsOff","body","customEvents","customEventsOff","listeners","_event","targetEventOff","_event2","_event3","getMutationObserverClass","trackRemoval","MutationObserver","observer","mutations","m1","mutation","m2","element","getPosition","node","place","desiredPlace","effect","_getDimensions","getDimensions","tipWidth","tipHeight","_getDimensions2","targetWidth","targetHeight","_getCurrentOffset","getCurrentOffset","mouseX","mouseY","defaultOffset","getDefaultPosition","_calculateOffset","calculateOffset","extraOffsetX","extraOffsetY","windowWidth","windowHeight","_getParent","getParent","parentTop","parentLeft","getTipOffsetLeft","offsetX","getTipOffsetRight","getTipOffsetTop","offsetY","getTipOffsetBottom","outsideLeft","outsideRight","outsideTop","outsideBottom","outside","inside","placesList","insideList","isNewState","newPlace","shouldUpdatePlace","_node$getBoundingClie","height","width","boundingClientRect","targetTop","targetLeft","_getDimensions3","top","right","bottom","left","disToMouse","triangleHeight","cursorHeight","currentParent","computedStyle","getTipContent","children","getContent","multiline","regexp","d","React","parseAria","ariaObj","prop","nodeListToArray","nodeList","length","index","generateUUID","baseCss","defaultColors","getDefaultPopupColors","type","generateTooltipStyle","uuid","customColors","hasBorder","generateStyle","getPopupColors","colors","textColor","backgroundColor","borderColor","arrowColor","commonjsGlobal","createCommonjsModule","fn","module","check","it","global_1","fails","exec","descriptors","$propertyIsEnumerable","getOwnPropertyDescriptor","NASHORN_BUG","f","V","objectPropertyIsEnumerable","createPropertyDescriptor","bitmap","toString","classofRaw","split","indexedObject","requireObjectCoercible","toIndexedObject","isObject","toPrimitive","input","PREFERRED_STRING","val","toObject","argument","hasOwnProperty","has","document$1","EXISTS","documentCreateElement","ie8DomDefine","$getOwnPropertyDescriptor","f$1","O","P","objectGetOwnPropertyDescriptor","anObject","$defineProperty","f$2","Attributes","objectDefineProperty","createNonEnumerableProperty","setGlobal","SHARED","store","sharedStore","functionToString","inspectSource","WeakMap","nativeWeakMap","shared","postfix","uid","sharedKey","hiddenKeys","OBJECT_ALREADY_INITIALIZED","WeakMap$1","set","get","has$1","enforce","getterFor","TYPE","state","store$1","wmget","wmhas","wmset","metadata","STATE","internalState","redefine","getInternalState","enforceInternalState","TEMPLATE","unsafe","simple","noTargetGet","path","aFunction","variable","getBuiltIn","namespace","method","ceil","floor","toInteger","min","toLength","max","min$1","toAbsoluteIndex","integer","createMethod","IS_INCLUDES","$this","el","fromIndex","arrayIncludes","indexOf","objectKeysInternal","names","result","enumBugKeys","hiddenKeys$1","f$3","objectGetOwnPropertyNames","f$4","objectGetOwnPropertySymbols","ownKeys$1","getOwnPropertySymbols","copyConstructorProperties","defineProperty","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","isForced_1","getOwnPropertyDescriptor$1","_export","TARGET","GLOBAL","STATIC","FORCED","targetProperty","sourceProperty","aFunction$1","functionBindContext","that","a","b","c","isArray","arg","engineUserAgent","process","versions","v8","match","version","engineV8Version","nativeSymbol","useSymbolAsUid","WellKnownSymbolsStore","Symbol$1","createWellKnownSymbol","wellKnownSymbol","name","SPECIES","arraySpeciesCreate","originalArray","C","push","createMethod$1","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_OUT","NO_HOLES","callbackfn","specificCreate","boundFunction","create","arrayIteration","objectKeys","objectDefineProperties","Properties","html","GT","LT","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","NullProtoObjectViaActiveX","activeXDocument","temp","NullProtoObjectViaIFrame","iframe","JS","iframeDocument","NullProtoObject","objectCreate","UNSCOPABLES","ArrayPrototype","addToUnscopables","$find","FIND","SKIPS_HOLES","_class","_class2","_temp","ReactTooltip","_React$Component","PropTypes","methodArray","_this2","_this$props","tooltipRef","parentNode","domRoot","style","selector","escaped","_this3","_this$props2","globalEventOff","isCaptureMode","_this4","_this$props3","_this$props4","placeholder","isGlobalCall","isMyElement","_this$props5","originTooltip","isMultiline","switchToSolid","scrollHide","reshowDelay","updateState","_getContent","isEmptyTip","_this5","delayShow","disable","afterShow","eventTarget","delayTime","isInvisible","_this6","isScroll","delayHide","afterHide","resetState","isVisible","_this7","currentEvent","_this8","color","_this9","_this$state3","extraClass","ariaProps","tooltipClass","Wrapper","wrapperClassName","htmlContent","_ref","_ref2","nextProps","prevState","newAriaProps","isChanged","removeClassName","partialName","className","checkXPlace","xPosition","checkRightNode","checkLeftNode","checkYPlace","yPosition","bottomTooltip","xPlace","bottomLeftTooltip","bottomRightTooltip","topTooltip","topLeftTooltip","topRightTooltip","arrowPosition","setPosition","position","tooltipPosition","BoundingClientRect","targetPosition","yPlace","Tooltip","Component","__publicField","buttonRef","prevProps","jsx","TooltipButton","currentElement","buttonClassName","clickable","dataLabel","dataQA"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}