{"version":3,"file":"935ad972c589056c1eba1ac7ae2026269a2159ea-e2338df45eeb6e8c484b.js","mappings":"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","sources":["webpack://waxcarvers-fe/./node_modules/react-tooltip/node_modules/uuid/dist/esm-browser/rng.js","webpack://waxcarvers-fe/./node_modules/react-tooltip/node_modules/uuid/dist/esm-browser/bytesToUuid.js","webpack://waxcarvers-fe/./node_modules/react-tooltip/node_modules/uuid/dist/esm-browser/v4.js","webpack://waxcarvers-fe/./node_modules/react-tooltip/dist/index.es.js","webpack://waxcarvers-fe/./src/components/Common/NewsLetterPlug.jsx","webpack://waxcarvers-fe/./src/components/Common/PageTitle.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 * 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 * Events that should be bound to the window\n */\n\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 * Custom events to control showing and hiding of tooltip\n *\n * @attributes\n * - `event` {String}\n * - `eventOff` {String}\n */\n\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};\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 * Util method to judge if it should follow capture model\n */\n\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 * Util method to get effect\n */\n\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 * Util method to get effect\n */\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 * 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/\n\n\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 * 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 */\n\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 * 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 */\n\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 * Support aria- and role in ReactTooltip\n *\n * @params props {Object}\n * @return {Object}\n */\n\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 * 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 */\n\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 * Default pop-up style values (text color, background color).\n */\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};\n\nfunction getDefaultPopupColors(type) {\n return defaultColors[type] ? _objectSpread2({}, defaultColors[type]) : undefined;\n}\n/**\n * Generates the specific tooltip style for use on render.\n */\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\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 return module = {\n exports: {}\n }, fn(module, module.exports), module.exports;\n}\n\nvar check = function (it) {\n return it && it.Math == Math && it;\n}; // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\n\n\nvar global_1 = // eslint-disable-next-line es/no-global-this -- safe\ncheck(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || // eslint-disable-next-line no-restricted-globals -- safe\ncheck(typeof self == 'object' && self) || check(typeof commonjsGlobal == 'object' && commonjsGlobal) || // eslint-disable-next-line no-new-func -- fallback\nfunction () {\n return this;\n}() || Function('return this')();\n\nvar fails = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n}; // Detect IE8's incomplete defineProperty implementation\n\n\nvar descriptors = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, {\n get: function () {\n return 7;\n }\n })[1] != 7;\n});\nvar $propertyIsEnumerable = {}.propertyIsEnumerable; // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; // Nashorn ~ JDK8 bug\n\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({\n 1: 2\n}, 1); // `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\n\nvar f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\nvar objectPropertyIsEnumerable = {\n f: 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; // fallback for non-array-like ES3 and non-enumerable old V8 strings\n\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; // `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\n\nvar requireObjectCoercible = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n}; // toObject with fallback for non-array-like ES3 strings\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}; // `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\n\n\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}; // `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\n\n\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; // typeof document.createElement is 'object' in old IE\n\nvar EXISTS = isObject(document$1) && isObject(document$1.createElement);\n\nvar documentCreateElement = function (it) {\n return EXISTS ? document$1.createElement(it) : {};\n}; // Thank's IE8 for his funny defineProperty\n\n\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 () {\n return 7;\n }\n }).a != 7;\n}); // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; // `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\n\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) {\n /* empty */\n }\n if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);\n};\nvar objectGetOwnPropertyDescriptor = {\n f: f$1\n};\n\nvar anObject = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n }\n\n return it;\n}; // eslint-disable-next-line es/no-object-defineproperty -- safe\n\n\nvar $defineProperty = Object.defineProperty; // `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\n\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) {\n /* empty */\n }\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};\nvar objectDefineProperty = {\n f: f$2\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 }\n\n return value;\n};\n\nvar SHARED = '__core-js_shared__';\nvar store = global_1[SHARED] || setGlobal(SHARED, {});\nvar sharedStore = store;\nvar functionToString = Function.toString; // this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper\n\nif (typeof sharedStore.inspectSource != 'function') {\n sharedStore.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nvar inspectSource = sharedStore.inspectSource;\nvar WeakMap = global_1.WeakMap;\nvar nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\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});\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 = {};\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\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n }\n\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\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\n get = function (it) {\n return wmget.call(store$1, it) || {};\n };\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\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\n get = function (it) {\n return has(it, STATE) ? it[STATE] : {};\n };\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};\nvar redefine = createCommonjsModule(function (module) {\n var getInternalState = internalState.get;\n var enforceInternalState = internalState.enforce;\n var TEMPLATE = String(String).split('String');\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\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n\n state = enforceInternalState(value);\n\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n\n if (O === global_1) {\n if (simple) O[key] = value;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\n if (simple) O[key] = value;else createNonEnumerableProperty(O, key, value); // 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});\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]) : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];\n};\n\nvar ceil = Math.ceil;\nvar floor = Math.floor; // `ToInteger` abstract operation\n// https://tc39.es/ecma262/#sec-tointeger\n\nvar toInteger = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n\nvar min = Math.min; // `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\n\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; // 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).\n\nvar toAbsoluteIndex = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min$1(integer, length);\n}; // `Array.prototype.{ indexOf, includes }` methods implementation\n\n\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; // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++]; // eslint-disable-next-line no-self-compare -- NaN check\n\n if (value != value) return true; // 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 }\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};\nvar indexOf = arrayIncludes.indexOf;\n\nvar objectKeysInternal = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key); // Don't enum bug & hidden keys\n\n\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n\n return result;\n}; // IE8- don't enum bug keys\n\n\nvar enumBugKeys = ['constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleString', 'toString', 'valueOf'];\nvar hiddenKeys$1 = enumBugKeys.concat('length', 'prototype'); // `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\n\nvar f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return objectKeysInternal(O, hiddenKeys$1);\n};\n\nvar objectGetOwnPropertyNames = {\n f: f$3\n}; // eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\n\nvar f$4 = Object.getOwnPropertySymbols;\nvar objectGetOwnPropertySymbols = {\n f: f$4\n}; // all object keys, includes non-enumerable and symbols\n\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\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 : value == NATIVE ? false : typeof detection == 'function' ? fails(detection) : !!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';\nvar isForced_1 = isForced;\nvar getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;\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*/\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\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\n if (target) for (key in source) {\n sourceProperty = source[key];\n\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor$1(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n\n FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); // contained in target\n\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n } // add a flag to not completely full polyfills\n\n\n if (options.sham || targetProperty && targetProperty.sham) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n } // extend global\n\n\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 }\n\n return it;\n}; // optional / simple context binding\n\n\nvar functionBindContext = function (fn, that, length) {\n aFunction$1(fn);\n if (that === undefined) return fn;\n\n switch (length) {\n case 0:\n return function () {\n return fn.call(that);\n };\n\n case 1:\n return function (a) {\n return fn.call(that, a);\n };\n\n case 2:\n return function (a, b) {\n return fn.call(that, a, b);\n };\n\n case 3:\n return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n\n return function\n /* ...args */\n () {\n return fn.apply(that, arguments);\n };\n}; // `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\n\n\nvar isArray = Array.isArray || function isArray(arg) {\n return classofRaw(arg) == 'Array';\n};\n\nvar engineUserAgent = getBuiltIn('navigator', 'userAgent') || '';\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\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/* eslint-disable es/no-symbol -- required for testing */\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\n\nvar nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {\n return !String(Symbol()) || // 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/* eslint-disable es/no-symbol -- required for testing */\n\nvar useSymbolAsUid = nativeSymbol && !Symbol.sham && typeof Symbol.iterator == 'symbol';\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 }\n\n return WellKnownSymbolsStore[name];\n};\n\nvar SPECIES = wellKnownSymbol('species'); // `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\n\nvar arraySpeciesCreate = function (originalArray, length) {\n var C;\n\n if (isArray(originalArray)) {\n C = originalArray.constructor; // cross-realm fallback\n\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n }\n\n return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n\nvar push = [].push; // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation\n\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\n for (; length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3:\n return true;\n // some\n\n case 5:\n return value;\n // find\n\n case 6:\n return index;\n // findIndex\n\n case 2:\n push.call(target, value);\n // filter\n } else switch (TYPE) {\n case 4:\n return false;\n // every\n\n case 7:\n push.call(target, value);\n // filterOut\n }\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}; // `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\n\nvar objectKeys = Object.keys || function keys(O) {\n return objectKeysInternal(O, enumBugKeys);\n}; // `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\n\n\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\n while (length > index) objectDefineProperty.f(O, key = keys[index++], Properties[key]);\n\n return O;\n};\nvar html = getBuiltIn('document', 'documentElement');\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () {\n /* empty */\n};\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n}; // Create object with fake `null` prototype: use ActiveX Object with cleared prototype\n\n\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n\n return temp;\n}; // Create object with fake `null` prototype: use iframe Object with cleared prototype\n\n\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); // https://github.com/zloirock/core-js/issues/475\n\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}; // 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\n\n\nvar activeXDocument;\n\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject -- old IE */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) {\n /* ignore */\n }\n\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true; // `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n\nvar objectCreate = Object.create || function create(O, Properties) {\n var result;\n\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null; // add \"__proto__\" for Object.getPrototypeOf polyfill\n\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n\n return Properties === undefined ? result : objectDefineProperties(result, Properties);\n};\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype; // Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\n\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: objectCreate(null)\n });\n} // add a key to Array.prototype[@@unscopables]\n\n\nvar addToUnscopables = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n\nvar $find = arrayIteration.find;\nvar FIND = 'find';\nvar SKIPS_HOLES = true; // Shouldn't skip holes\n\nif (FIND in []) Array(1)[FIND](function () {\n SKIPS_HOLES = false;\n}); // `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n\n_export({\n target: 'Array',\n proto: true,\n forced: SKIPS_HOLES\n}, {\n find: function find(callbackfn\n /* , that = undefined */\n ) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n}); // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\n\n\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 = /*#__PURE__*/function (_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;","import React from \"react\";\n\nexport const JoinNewsLetterButton = () => (\n
\n {subtitle}\n
\n\n {subtitle}\n
\n