react-tooltip 4.4.5 → 4.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../node_modules/core-js/internals/global.js","../node_modules/core-js/internals/fails.js","../node_modules/core-js/internals/descriptors.js","../node_modules/core-js/internals/function-bind-native.js","../node_modules/core-js/internals/function-call.js","../node_modules/core-js/internals/object-property-is-enumerable.js","../node_modules/core-js/internals/create-property-descriptor.js","../node_modules/core-js/internals/function-uncurry-this-raw.js","../node_modules/core-js/internals/classof-raw.js","../node_modules/core-js/internals/function-uncurry-this.js","../node_modules/core-js/internals/indexed-object.js","../node_modules/core-js/internals/is-null-or-undefined.js","../node_modules/core-js/internals/require-object-coercible.js","../node_modules/core-js/internals/to-indexed-object.js","../node_modules/core-js/internals/document-all.js","../node_modules/core-js/internals/is-callable.js","../node_modules/core-js/internals/is-object.js","../node_modules/core-js/internals/get-built-in.js","../node_modules/core-js/internals/object-is-prototype-of.js","../node_modules/core-js/internals/engine-user-agent.js","../node_modules/core-js/internals/engine-v8-version.js","../node_modules/core-js/internals/symbol-constructor-detection.js","../node_modules/core-js/internals/use-symbol-as-uid.js","../node_modules/core-js/internals/is-symbol.js","../node_modules/core-js/internals/try-to-string.js","../node_modules/core-js/internals/a-callable.js","../node_modules/core-js/internals/get-method.js","../node_modules/core-js/internals/ordinary-to-primitive.js","../node_modules/core-js/internals/define-global-property.js","../node_modules/core-js/internals/shared-store.js","../node_modules/core-js/internals/shared.js","../node_modules/core-js/internals/to-object.js","../node_modules/core-js/internals/has-own-property.js","../node_modules/core-js/internals/uid.js","../node_modules/core-js/internals/well-known-symbol.js","../node_modules/core-js/internals/to-primitive.js","../node_modules/core-js/internals/to-property-key.js","../node_modules/core-js/internals/document-create-element.js","../node_modules/core-js/internals/ie8-dom-define.js","../node_modules/core-js/internals/object-get-own-property-descriptor.js","../node_modules/core-js/internals/v8-prototype-define-bug.js","../node_modules/core-js/internals/an-object.js","../node_modules/core-js/internals/object-define-property.js","../node_modules/core-js/internals/create-non-enumerable-property.js","../node_modules/core-js/internals/function-name.js","../node_modules/core-js/internals/inspect-source.js","../node_modules/core-js/internals/weak-map-basic-detection.js","../node_modules/core-js/internals/shared-key.js","../node_modules/core-js/internals/hidden-keys.js","../node_modules/core-js/internals/internal-state.js","../node_modules/core-js/internals/make-built-in.js","../node_modules/core-js/internals/define-built-in.js","../node_modules/core-js/internals/math-trunc.js","../node_modules/core-js/internals/to-integer-or-infinity.js","../node_modules/core-js/internals/to-absolute-index.js","../node_modules/core-js/internals/to-length.js","../node_modules/core-js/internals/length-of-array-like.js","../node_modules/core-js/internals/array-includes.js","../node_modules/core-js/internals/object-keys-internal.js","../node_modules/core-js/internals/enum-bug-keys.js","../node_modules/core-js/internals/object-get-own-property-names.js","../node_modules/core-js/internals/object-get-own-property-symbols.js","../node_modules/core-js/internals/own-keys.js","../node_modules/core-js/internals/copy-constructor-properties.js","../node_modules/core-js/internals/is-forced.js","../node_modules/core-js/internals/export.js","../node_modules/core-js/internals/function-bind-context.js","../node_modules/core-js/internals/is-array.js","../node_modules/core-js/internals/to-string-tag-support.js","../node_modules/core-js/internals/classof.js","../node_modules/core-js/internals/is-constructor.js","../node_modules/core-js/internals/array-species-constructor.js","../node_modules/core-js/internals/array-species-create.js","../node_modules/core-js/internals/array-iteration.js","../node_modules/core-js/internals/object-keys.js","../node_modules/core-js/internals/object-define-properties.js","../node_modules/core-js/internals/html.js","../node_modules/core-js/internals/object-create.js","../node_modules/core-js/internals/add-to-unscopables.js","../node_modules/core-js/modules/es.array.find.js","../src/constant.js","../src/decorators/staticMethods.js","../src/decorators/windowListener.js","../src/decorators/customEvent.js","../src/decorators/isCapture.js","../src/decorators/getEffect.js","../src/decorators/bodyMode.js","../src/decorators/trackRemoval.js","../src/utils/getPosition.js","../src/utils/getTipContent.js","../src/utils/aria.js","../src/utils/nodeListToArray.js","../src/utils/uuid.js","../src/decorators/defaultStyles.js","../src/decorators/styler.js","../src/index.js"],"sourcesContent":["var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\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 global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !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","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\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\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = function (fn) {\n return NATIVE_BIND ? uncurryThisWithBind(fn) : function () {\n return call.apply(fn, arguments);\n };\n};\n","var uncurryThisRaw = require('../internals/function-uncurry-this-raw');\n\nvar toString = uncurryThisRaw({}.toString);\nvar stringSlice = uncurryThisRaw(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var classofRaw = require('../internals/classof-raw');\nvar uncurryThisRaw = require('../internals/function-uncurry-this-raw');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThisRaw(fn);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = 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 classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","var isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","var $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","var isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","var aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.25.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.25.5/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","var call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\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\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) 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","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","module.exports = {};\n","var NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(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 (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","var isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = 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).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\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 = lengthOfArrayLike(O);\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\nmodule.exports = {\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","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = 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\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\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 : isCallable(detection) ? 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\nmodule.exports = isForced;\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\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.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = 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;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(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 defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) == 'Array';\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (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 C === undefined ? $Array : C;\n};\n","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","var bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = 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_REJECT = 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 = bind(callbackfn, that);\n var length = lengthOfArrayLike(self);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? 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(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\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 activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\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\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = 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 : definePropertiesModule.f(result, Properties);\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\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 defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\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$({ 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","export default {\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 */\nimport CONSTANT from '../constant';\n\nconst 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 let event;\n\n if (typeof window.CustomEvent === 'function') {\n event = new window.CustomEvent(eventName, { detail: opts });\n } else {\n event = document.createEvent('Event');\n event.initEvent(eventName, false, true, opts);\n }\n\n window.dispatchEvent(event);\n};\n\nexport default function(target) {\n /**\n * Hide all tooltip\n * @trigger ReactTooltip.hide()\n */\n target.hide = target => {\n dispatchGlobalEvent(CONSTANT.GLOBAL.HIDE, { target });\n };\n\n /**\n * Rebuild all tooltip\n * @trigger ReactTooltip.rebuild()\n */\n target.rebuild = () => {\n dispatchGlobalEvent(CONSTANT.GLOBAL.REBUILD);\n };\n\n /**\n * Show specific tooltip\n * @trigger ReactTooltip.show()\n */\n target.show = target => {\n dispatchGlobalEvent(CONSTANT.GLOBAL.SHOW, { target });\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 const hasTarget =\n (event && event.detail && event.detail.target && true) || false;\n // Create a fake event, specific show will limit the type to `solid`\n // only `float` type cares e.clientX e.clientY\n this.showTooltip(\n { currentTarget: hasTarget && event.detail.target },\n true\n );\n }\n };\n\n target.prototype.globalHide = function(event) {\n if (this.mount) {\n const hasTarget =\n (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 */\nimport CONSTANT from '../constant';\n\nexport default function(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);\n\n // ReactTooltip.rebuild\n window.removeEventListener(CONSTANT.GLOBAL.REBUILD, this.globalRebuild);\n window.addEventListener(CONSTANT.GLOBAL.REBUILD, this.globalRebuild, false);\n\n // ReactTooltip.show\n window.removeEventListener(CONSTANT.GLOBAL.SHOW, this.globalShow);\n window.addEventListener(CONSTANT.GLOBAL.SHOW, this.globalShow, false);\n\n // Resize\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 /**\n * invoked by resize event of window\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\nexport const checkStatus = function(dataEventOff, e) {\n const { show } = this.state;\n const { id } = this.props;\n const isCapture = this.isCapture(e.currentTarget);\n const currentItem = e.currentTarget.getAttribute('currentItem');\n\n if (!isCapture) e.stopPropagation();\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\nconst setUntargetItems = function(currentTarget, targetArray) {\n for (let 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\nconst customListeners = {\n id: '9b69f92e-d3fe-498b-b1b4-c5e63a51b0cf',\n set(target, event, listener) {\n if (this.id in target) {\n const 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: { [event]: listener }\n });\n }\n },\n get(target, event) {\n const map = target[this.id];\n if (map !== undefined) {\n return map[event];\n }\n }\n};\n\nexport default function(target) {\n target.prototype.isCustomEvent = function(ele) {\n const { event } = this.state;\n return event || !!ele.getAttribute('data-event');\n };\n\n /* Bind listener for custom event */\n target.prototype.customBindListener = function(ele) {\n const { event, eventOff } = this.state;\n const dataEvent = ele.getAttribute('data-event') || event;\n const dataEventOff = ele.getAttribute('data-event-off') || eventOff;\n\n dataEvent.split(' ').forEach(event => {\n ele.removeEventListener(event, customListeners.get(ele, event));\n const customListener = checkStatus.bind(this, dataEventOff);\n customListeners.set(ele, event, customListener);\n ele.addEventListener(event, customListener, false);\n });\n if (dataEventOff) {\n dataEventOff.split(' ').forEach(event => {\n ele.removeEventListener(event, this.hideTooltip);\n ele.addEventListener(event, this.hideTooltip, false);\n });\n }\n };\n\n /* Unbind listener for custom event */\n target.prototype.customUnbindListener = function(ele) {\n const { event, eventOff } = this.state;\n const dataEvent = event || ele.getAttribute('data-event');\n const dataEventOff = eventOff || ele.getAttribute('data-event-off');\n\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\nexport default function(target) {\n target.prototype.isCapture = function(currentTarget) {\n return (\n (currentTarget &&\n currentTarget.getAttribute('data-iscapture') === 'true') ||\n this.props.isCapture ||\n false\n );\n };\n}\n","/**\n * Util method to get effect\n */\n\nexport default function(target) {\n target.prototype.getEffect = function(currentTarget) {\n const dataEffect = currentTarget.getAttribute('data-effect');\n return dataEffect || this.props.effect || 'float';\n };\n}\n","/**\n * Util method to get effect\n */\nimport { checkStatus } from './customEvent';\n\nconst makeProxy = (e) => {\n const proxy = {};\n for (const 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 return proxy;\n};\n\nconst bodyListener = function (callback, options, e) {\n const { respectEffect = false, customEvent = false } = options;\n const { id } = this.props;\n\n let tip = null;\n let forId;\n let target = e.target;\n let lastTarget;\n // walk up parent chain until tip is found\n // there is no match if parent visible area is matched by mouse position, so some corner cases might not work as expected\n while (tip === null && target !== null) {\n lastTarget = target;\n tip = target.getAttribute('data-tip') || null;\n forId = target.getAttribute('data-for') || null;\n target = target.parentElement;\n }\n\n target = lastTarget || e.target;\n\n if (this.isCustomEvent(target) && !customEvent) {\n return;\n }\n\n const isTargetBelongsToTooltip =\n (id == null && forId == null) || forId === id;\n\n if (\n tip != null &&\n (!respectEffect || this.getEffect(target) === 'float') &&\n isTargetBelongsToTooltip\n ) {\n const proxy = makeProxy(e);\n proxy.currentTarget = target;\n callback(proxy);\n }\n};\n\nconst findCustomEvents = (targetArray, dataAttribute) => {\n const events = {};\n targetArray.forEach((target) => {\n const event = target.getAttribute(dataAttribute);\n if (event) event.split(' ').forEach((event) => (events[event] = true));\n });\n\n return events;\n};\n\nconst getBody = () => document.getElementsByTagName('body')[0];\n\nexport default function (target) {\n target.prototype.isBodyMode = function () {\n return !!this.props.bodyMode;\n };\n\n target.prototype.bindBodyListener = function (targetArray) {\n const { event, eventOff, possibleCustomEvents, possibleCustomEventsOff } =\n this.state;\n const body = getBody();\n\n const customEvents = findCustomEvents(targetArray, 'data-event');\n const customEventsOff = findCustomEvents(targetArray, 'data-event-off');\n\n if (event != null) customEvents[event] = true;\n if (eventOff != null) customEventsOff[eventOff] = true;\n possibleCustomEvents\n .split(' ')\n .forEach((event) => (customEvents[event] = true));\n possibleCustomEventsOff\n .split(' ')\n .forEach((event) => (customEventsOff[event] = true));\n\n this.unbindBodyListener(body);\n\n const listeners = (this.bodyModeListeners = {});\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 (const event in customEvents) {\n listeners[event] = bodyListener.bind(\n this,\n (e) => {\n const targetEventOff =\n e.currentTarget.getAttribute('data-event-off') || eventOff;\n checkStatus.call(this, targetEventOff, e);\n },\n { customEvent: true }\n );\n }\n for (const event in customEventsOff) {\n listeners[event] = bodyListener.bind(this, this.hideTooltip, {\n customEvent: true\n });\n }\n for (const event in listeners) {\n body.addEventListener(event, listeners[event]);\n }\n };\n\n target.prototype.unbindBodyListener = function (body) {\n body = body || getBody();\n\n const listeners = this.bodyModeListeners;\n for (const 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\n// https://hacks.mozilla.org/2012/05/dom-mutationobserver-reacting-to-dom-changes-without-killing-browser-performance/\nconst getMutationObserverClass = () => {\n return (\n window.MutationObserver ||\n window.WebKitMutationObserver ||\n window.MozMutationObserver\n );\n};\n\nexport default function(target) {\n target.prototype.bindRemovalTracker = function() {\n const MutationObserver = getMutationObserverClass();\n if (MutationObserver == null) return;\n\n const observer = new MutationObserver(mutations => {\n for (let m1 = 0; m1 < mutations.length; m1++) {\n const mutation = mutations[m1];\n for (let m2 = 0; m2 < mutation.removedNodes.length; m2++) {\n const element = mutation.removedNodes[m2];\n if (element === this.state.currentTarget) {\n this.hideTooltip();\n return;\n }\n }\n }\n });\n\n observer.observe(window.document, { childList: true, 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 */\nexport default function (e, target, node, place, desiredPlace, effect, offset) {\n const { width: tipWidth, height: tipHeight } = getDimensions(node);\n\n const { width: targetWidth, height: targetHeight } = getDimensions(target);\n\n const { mouseX, mouseY } = getCurrentOffset(e, target, effect);\n const defaultOffset = getDefaultPosition(\n effect,\n targetWidth,\n targetHeight,\n tipWidth,\n tipHeight\n );\n const { extraOffsetX, extraOffsetY } = calculateOffset(offset);\n\n const windowWidth = window.innerWidth;\n const windowHeight = window.innerHeight;\n\n const { parentTop, parentLeft } = getParent(node);\n\n // Get the edge offset of the tooltip\n const getTipOffsetLeft = (place) => {\n const offsetX = defaultOffset[place].l;\n return mouseX + offsetX + extraOffsetX;\n };\n const getTipOffsetRight = (place) => {\n const offsetX = defaultOffset[place].r;\n return mouseX + offsetX + extraOffsetX;\n };\n const getTipOffsetTop = (place) => {\n const offsetY = defaultOffset[place].t;\n return mouseY + offsetY + extraOffsetY;\n };\n const getTipOffsetBottom = (place) => {\n const offsetY = defaultOffset[place].b;\n return mouseY + offsetY + extraOffsetY;\n };\n\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 const outsideLeft = (p) => getTipOffsetLeft(p) < 0;\n const outsideRight = (p) => getTipOffsetRight(p) > windowWidth;\n const outsideTop = (p) => getTipOffsetTop(p) < 0;\n const outsideBottom = (p) => getTipOffsetBottom(p) > windowHeight;\n\n // Check whether the tooltip with orientation p is completely inside the client window\n const outside = (p) =>\n outsideLeft(p) || outsideRight(p) || outsideTop(p) || outsideBottom(p);\n const inside = (p) => !outside(p);\n\n const placeIsInside = {\n top: inside('top'),\n bottom: inside('bottom'),\n left: inside('left'),\n right: inside('right')\n };\n\n function choose() {\n const allPlaces = desiredPlace\n .split(',')\n .concat(place, ['top', 'bottom', 'left', 'right']);\n for (const d of allPlaces) {\n if (placeIsInside[d]) return d;\n }\n // if nothing is inside, just use the old place.\n return place;\n }\n\n const chosen = choose();\n\n let isNewState = false;\n let newPlace;\n if (chosen && chosen !== place) {\n isNewState = true;\n newPlace = chosen;\n }\n\n if (isNewState) {\n return {\n isNewState: true,\n newState: { place: newPlace }\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\nconst getDimensions = (node) => {\n const { height, width } = node.getBoundingClientRect();\n return {\n height: parseInt(height, 10),\n width: parseInt(width, 10)\n };\n};\n\n// Get current mouse offset\nconst getCurrentOffset = (e, currentTarget, effect) => {\n const boundingClientRect = currentTarget.getBoundingClientRect();\n const targetTop = boundingClientRect.top;\n const targetLeft = boundingClientRect.left;\n const { width: targetWidth, height: targetHeight } =\n getDimensions(currentTarget);\n\n if (effect === 'float') {\n return {\n mouseX: e.clientX,\n mouseY: e.clientY\n };\n }\n return {\n mouseX: targetLeft + targetWidth / 2,\n mouseY: targetTop + targetHeight / 2\n };\n};\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\nconst getDefaultPosition = (\n effect,\n targetWidth,\n targetHeight,\n tipWidth,\n tipHeight\n) => {\n let top;\n let right;\n let bottom;\n let left;\n const disToMouse = 3;\n const triangleHeight = 2;\n const 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 { top, bottom, left, right };\n};\n\n// Consider additional offset into position calculation\nconst calculateOffset = (offset) => {\n let extraOffsetX = 0;\n let extraOffsetY = 0;\n\n if (Object.prototype.toString.apply(offset) === '[object String]') {\n offset = JSON.parse(offset.toString().replace(/'/g, '\"'));\n }\n for (const 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 { extraOffsetX, extraOffsetY };\n};\n\n// Get the offset of the parent elements\nconst getParent = (currentTarget) => {\n let currentParent = currentTarget;\n while (currentParent) {\n const computedStyle = window.getComputedStyle(currentParent);\n // transform and will-change: transform change the containing block\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_Block\n if (\n computedStyle.getPropertyValue('transform') !== 'none' ||\n computedStyle.getPropertyValue('will-change') === 'transform'\n )\n break;\n currentParent = currentParent.parentElement;\n }\n\n const parentTop =\n (currentParent && currentParent.getBoundingClientRect().top) || 0;\n const parentLeft =\n (currentParent && currentParent.getBoundingClientRect().left) || 0;\n\n return { parentTop, parentLeft };\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 */\nimport React from 'react';\n\nexport default function TipContent(tip, children, getContent, multiline) {\n if (children) return children;\n if (getContent !== undefined && getContent !== null) return getContent; // getContent can be 0, '', etc.\n if (getContent === null) return null; // Tip not exist and children is null or undefined\n\n const regexp = /<br\\s*\\/?>/;\n if (!multiline || multiline === 'false' || !regexp.test(tip)) {\n // No trim(), so that user can keep their input\n return tip;\n }\n\n // Multiline tooltip content\n return tip.split(regexp).map((d, i) => {\n return (\n <span key={i} className=\"multi-line\">\n {d}\n </span>\n );\n });\n}\n","/**\n * Support aria- and role in ReactTooltip\n *\n * @params props {Object}\n * @return {Object}\n */\nexport function parseAria(props) {\n const ariaObj = {};\n Object.keys(props)\n .filter(prop => {\n // aria-xxx and role is acceptable\n return /(^aria-\\w+$|^role$)/.test(prop);\n })\n .forEach(prop => {\n ariaObj[prop] = props[prop];\n });\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\nexport default function(nodeList) {\n const length = nodeList.length;\n if (nodeList.hasOwnProperty) {\n return Array.prototype.slice.call(nodeList);\n }\n return new Array(length).fill().map(index => nodeList[index]);\n}\n","import { v4 as uuid } from 'uuid';\n\nexport function generateUUID() {\n return 't' + uuid();\n}\n","/**\n * Default pop-up style values (text color, background color).\n */\nconst 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\nexport function getDefaultPopupColors(type) {\n return defaultColors[type] ? { ...defaultColors[type] } : undefined;\n}\n\nexport const DEFAULT_PADDING = '8px 21px';\n\nexport const DEFAULT_RADIUS = {\n tooltip: 3,\n arrow: 0\n};\n","import {\n getDefaultPopupColors,\n DEFAULT_PADDING,\n DEFAULT_RADIUS\n} from './defaultStyles';\n\n/**\n * Generates the specific tooltip style for use on render.\n */\nexport function generateTooltipStyle(\n uuid,\n customColors,\n type,\n hasBorder,\n padding,\n radius\n) {\n return generateStyle(\n uuid,\n getPopupColors(customColors, type, hasBorder),\n padding,\n radius\n );\n}\n\n/**\n * Generates the tooltip style rules based on the element-specified \"data-type\" property.\n */\nfunction generateStyle(\n uuid,\n colors,\n padding = DEFAULT_PADDING,\n radius = DEFAULT_RADIUS\n) {\n const textColor = colors.text;\n const backgroundColor = colors.background;\n const borderColor = colors.border;\n const arrowColor = colors.arrow;\n const arrowRadius = radius.arrow;\n const tooltipRadius = radius.tooltip;\n\n return `\n \t.${uuid} {\n\t color: ${textColor};\n\t background: ${backgroundColor};\n\t border: 1px solid ${borderColor};\n\t border-radius: ${tooltipRadius}px;\n\t padding: ${padding};\n \t}\n\n \t.${uuid}.place-top {\n margin-top: -10px;\n }\n .${uuid}.place-top::before {\n content: \"\";\n background-color: inherit;\n position: absolute;\n z-index: -1;\n width: 18px;\n height: 10px;\n }\n .${uuid}.place-top::after {\n content: \"\";\n position: absolute;\n width: 10px;\n height: 10px;\n border-top-right-radius: ${arrowRadius}px;\n border: 1px solid ${borderColor};\n background-color: ${arrowColor};\n z-index: -2;\n bottom: -6px;\n left: 50%;\n margin-left: -8px;\n transform: rotate(135deg);\n }\n\n .${uuid}.place-bottom {\n margin-top: 10px;\n }\n .${uuid}.place-bottom::before {\n content: \"\";\n background-color: inherit;\n position: absolute;\n z-index: -1;\n width: 18px;\n height: 10px;\n }\n .${uuid}.place-bottom::after {\n content: \"\";\n position: absolute;\n width: 10px;\n height: 10px;\n border-top-right-radius: ${arrowRadius}px;\n border: 1px solid ${borderColor};\n background-color: ${arrowColor};\n z-index: -2;\n top: -6px;\n left: 50%;\n margin-left: -8px;\n transform: rotate(45deg);\n }\n\n .${uuid}.place-left {\n margin-left: -10px;\n }\n .${uuid}.place-left::before {\n content: \"\";\n background-color: inherit;\n position: absolute;\n z-index: -1;\n width: 10px;\n height: 18px;\n }\n .${uuid}.place-left::after {\n content: \"\";\n position: absolute;\n width: 10px;\n height: 10px;\n border-top-right-radius: ${arrowRadius}px;\n border: 1px solid ${borderColor};\n background-color: ${arrowColor};\n z-index: -2;\n right: -6px;\n top: 50%;\n margin-top: -6px;\n transform: rotate(45deg);\n }\n\n .${uuid}.place-right {\n margin-left: 10px;\n }\n .${uuid}.place-right::before {\n content: \"\";\n background-color: inherit;\n position: absolute;\n z-index: -1;\n width: 10px;\n height: 18px;\n }\n .${uuid}.place-right::after {\n content: \"\";\n position: absolute;\n width: 10px;\n height: 10px;\n border-top-right-radius: ${arrowRadius}px;\n border: 1px solid ${borderColor};\n background-color: ${arrowColor};\n z-index: -2;\n left: -6px;\n top: 50%;\n margin-top: -6px;\n transform: rotate(-135deg);\n }\n `;\n}\n\nfunction getPopupColors(customColors, type, hasBorder) {\n const textColor = customColors.text;\n const backgroundColor = customColors.background;\n const borderColor = customColors.border;\n const arrowColor = customColors.arrow\n ? customColors.arrow\n : customColors.background;\n\n const 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","/* eslint-disable no-unused-vars, dot-notation */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n/* Decorators */\nimport staticMethods from './decorators/staticMethods';\nimport windowListener from './decorators/windowListener';\nimport customEvent from './decorators/customEvent';\nimport isCapture from './decorators/isCapture';\nimport getEffect from './decorators/getEffect';\nimport bodyMode from './decorators/bodyMode';\nimport trackRemoval from './decorators/trackRemoval';\n\n/* Utils */\nimport getPosition from './utils/getPosition';\nimport getTipContent from './utils/getTipContent';\nimport { parseAria } from './utils/aria';\nimport nodeListToArray from './utils/nodeListToArray';\nimport { generateUUID } from './utils/uuid';\n\n/* CSS */\nimport baseCss from './index.scss';\nimport { generateTooltipStyle } from './decorators/styler';\n\n/* Polyfill */\nimport 'core-js/modules/es.array.find';\n\n@staticMethods\n@windowListener\n@customEvent\n@isCapture\n@getEffect\n@bodyMode\n@trackRemoval\nclass ReactTooltip extends React.Component {\n static get propTypes() {\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 padding: PropTypes.string,\n multiline: PropTypes.bool,\n border: PropTypes.bool,\n borderClass: PropTypes.string,\n textColor: PropTypes.string,\n backgroundColor: PropTypes.string,\n borderColor: PropTypes.string,\n arrowColor: PropTypes.string,\n arrowRadius: PropTypes.string,\n tooltipRadius: 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 static defaultProps = {\n insecure: true,\n resizeHide: true,\n wrapper: 'div',\n clickable: false\n };\n\n static supportedWrappers = ['div', 'span'];\n\n static displayName = 'ReactTooltip';\n\n constructor(props) {\n super(props);\n\n this.state = {\n uuid: props.uuid || generateUUID(),\n place: props.place || 'top', // Direction of tooltip\n desiredPlace: props.place || 'top',\n type: props.type || 'dark', // Color theme of tooltip\n effect: props.effect || 'float', // float or fixed\n show: false,\n border: false,\n borderClass: 'border',\n customColors: {},\n customRadius: {},\n offset: {},\n padding: props.padding,\n extraClass: '',\n html: false,\n delayHide: 0,\n delayShow: 0,\n event: props.event || null,\n eventOff: props.eventOff || null,\n currentEvent: null, // Current mouse event\n currentTarget: null, // Current target of mouse event\n ariaProps: parseAria(props), // 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([\n 'showTooltip',\n 'updateTooltip',\n 'hideTooltip',\n 'hideTooltipOnScroll',\n 'getTooltipContent',\n 'globalRebuild',\n 'globalShow',\n 'globalHide',\n 'onWindowResize',\n 'mouseOnToolTip'\n ]);\n\n this.mount = true;\n this.delayShowLoop = null;\n this.delayHideLoop = null;\n this.delayReshow = null;\n this.intervalUpdateContent = null;\n }\n\n /**\n * For unify the bind and unbind listener\n */\n bind(methodArray) {\n methodArray.forEach((method) => {\n this[method] = this[method].bind(this);\n });\n }\n\n componentDidMount() {\n const { insecure, resizeHide } = this.props;\n this.mount = true;\n\n this.bindListener(); // Bind listener for tooltip\n this.bindWindowEvents(resizeHide); // Bind global event for static method\n this.injectStyles(); // Inject styles for each DOM root having tooltip.\n }\n\n static getDerivedStateFromProps(nextProps, prevState) {\n const { ariaProps } = prevState;\n const newAriaProps = parseAria(nextProps);\n const isChanged = Object.keys(newAriaProps).some((props) => {\n return newAriaProps[props] !== ariaProps[props];\n });\n if (!isChanged) {\n return null;\n }\n return {\n ...prevState,\n ariaProps: newAriaProps\n };\n }\n\n componentWillUnmount() {\n this.mount = false;\n\n this.clearTimer();\n\n this.unbindListener();\n this.removeScrollListener(this.state.currentTarget);\n this.unbindWindowEvents();\n }\n\n /* Look for the closest DOM root having tooltip and inject styles. */\n injectStyles() {\n const { tooltipRef } = this;\n if (!tooltipRef) {\n return;\n }\n\n let parentNode = tooltipRef.parentNode;\n while (parentNode.parentNode) {\n parentNode = parentNode.parentNode;\n }\n\n let domRoot;\n\n switch (parentNode.constructor.name) {\n case 'Document':\n case 'HTMLDocument':\n case undefined:\n domRoot = parentNode.head;\n break;\n case 'ShadowRoot':\n default:\n domRoot = parentNode;\n break;\n }\n\n // Prevent styles duplication.\n if (!domRoot.querySelector('style[data-react-tooltip]')) {\n const style = document.createElement('style');\n style.textContent = baseCss;\n style.setAttribute('data-react-tooltip', 'true');\n\n domRoot.appendChild(style);\n }\n }\n\n /**\n * Return if the mouse is on the tooltip.\n * @returns {boolean} true - mouse is on the tooltip\n */\n mouseOnToolTip() {\n const { show } = this.state;\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 return this.tooltipRef.matches(':hover');\n }\n return false;\n }\n\n /**\n * Pick out corresponded target elements\n */\n getTargetArray(id) {\n let targetArray = [];\n let selector;\n if (!id) {\n selector = '[data-tip]:not([data-for])';\n } else {\n const escaped = id.replace(/\\\\/g, '\\\\\\\\').replace(/\"/g, '\\\\\"');\n selector = `[data-tip][data-for=\"${escaped}\"]`;\n }\n\n // Scan document for shadow DOM elements\n nodeListToArray(document.getElementsByTagName('*'))\n .filter((element) => element.shadowRoot)\n .forEach((element) => {\n targetArray = targetArray.concat(\n nodeListToArray(element.shadowRoot.querySelectorAll(selector))\n );\n });\n return targetArray.concat(\n nodeListToArray(document.querySelectorAll(selector))\n );\n }\n\n /**\n * Bind listener to the target elements\n * These listeners used to trigger showing or hiding the tooltip\n */\n bindListener() {\n const { id, globalEventOff, isCapture } = this.props;\n const targetArray = this.getTargetArray(id);\n\n targetArray.forEach((target) => {\n if (target.getAttribute('currentItem') === null) {\n target.setAttribute('currentItem', 'false');\n }\n this.unbindBasicListener(target);\n if (this.isCustomEvent(target)) {\n this.customUnbindListener(target);\n }\n });\n\n if (this.isBodyMode()) {\n this.bindBodyListener(targetArray);\n } else {\n targetArray.forEach((target) => {\n const isCaptureMode = this.isCapture(target);\n const effect = this.getEffect(target);\n if (this.isCustomEvent(target)) {\n this.customBindListener(target);\n return;\n }\n\n target.addEventListener('mouseenter', this.showTooltip, isCaptureMode);\n target.addEventListener('focus', this.showTooltip, isCaptureMode);\n if (effect === 'float') {\n target.addEventListener(\n 'mousemove',\n this.updateTooltip,\n isCaptureMode\n );\n }\n target.addEventListener('mouseleave', this.hideTooltip, isCaptureMode);\n target.addEventListener('blur', this.hideTooltip, isCaptureMode);\n });\n }\n\n // Global event to hide tooltip\n if (globalEventOff) {\n window.removeEventListener(globalEventOff, this.hideTooltip);\n window.addEventListener(globalEventOff, this.hideTooltip, isCapture);\n }\n\n // Track removal of targetArray elements from DOM\n this.bindRemovalTracker();\n }\n\n /**\n * Unbind listeners on target elements\n */\n unbindListener() {\n const { id, globalEventOff } = this.props;\n if (this.isBodyMode()) {\n this.unbindBodyListener();\n } else {\n const targetArray = this.getTargetArray(id);\n targetArray.forEach((target) => {\n this.unbindBasicListener(target);\n if (this.isCustomEvent(target)) this.customUnbindListener(target);\n });\n }\n\n if (globalEventOff)\n window.removeEventListener(globalEventOff, this.hideTooltip);\n this.unbindRemovalTracker();\n }\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 unbindBasicListener(target) {\n const 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 getTooltipContent() {\n const { getContent, children } = this.props;\n\n // Generate tooltip content\n let content;\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(\n this.state.originTooltip,\n children,\n content,\n this.state.isMultiline\n );\n }\n\n isEmptyTip(placeholder) {\n return (\n (typeof placeholder === 'string' && placeholder === '') ||\n placeholder === null\n );\n }\n\n /**\n * When mouse enter, show the tooltip\n */\n 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 const targetArray = this.getTargetArray(this.props.id);\n const isMyElement = targetArray.some((ele) => ele === e.currentTarget);\n if (!isMyElement) return;\n }\n // Get the tooltip content\n // calculate in this phrase so that tip width height can be detected\n const { multiline, getContent } = this.props;\n const originTooltip = e.currentTarget.getAttribute('data-tip');\n const isMultiline =\n e.currentTarget.getAttribute('data-multiline') || multiline || false;\n\n // If it is focus event or called by ReactTooltip.show, switch to `solid` effect\n const switchToSolid = e instanceof window.FocusEvent || isGlobalCall;\n\n // if it needs to skip adding hide listener to scroll\n let scrollHide = true;\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 }\n\n // adding aria-describedby to target to make tooltips read by screen readers\n if (e && e.currentTarget && e.currentTarget.setAttribute) {\n e.currentTarget.setAttribute(\n 'aria-describedby',\n this.props.id || this.state.uuid\n );\n }\n\n // Make sure the correct place is set\n const desiredPlace =\n e.currentTarget.getAttribute('data-place') || this.props.place || 'top';\n const effect =\n (switchToSolid && 'solid') || this.getEffect(e.currentTarget);\n const offset =\n e.currentTarget.getAttribute('data-offset') || this.props.offset || {};\n const result = getPosition(\n e,\n e.currentTarget,\n this.tooltipRef,\n desiredPlace.split(',')[0],\n desiredPlace,\n effect,\n offset\n );\n if (result.position && this.props.overridePosition) {\n result.position = this.props.overridePosition(\n result.position,\n e,\n e.currentTarget,\n this.tooltipRef,\n desiredPlace,\n desiredPlace,\n effect,\n offset\n );\n }\n\n const place = result.isNewState\n ? result.newState.place\n : desiredPlace.split(',')[0];\n\n // To prevent previously created timers from triggering\n this.clearTimer();\n\n const target = e.currentTarget;\n\n const reshowDelay = this.state.show\n ? target.getAttribute('data-delay-update') || this.props.delayUpdate\n : 0;\n\n const self = this;\n\n const updateState = function updateState() {\n self.setState(\n {\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:\n target.getAttribute('data-text-color') ||\n self.props.textColor ||\n null,\n background:\n target.getAttribute('data-background-color') ||\n self.props.backgroundColor ||\n null,\n border:\n target.getAttribute('data-border-color') ||\n self.props.borderColor ||\n null,\n arrow:\n target.getAttribute('data-arrow-color') ||\n self.props.arrowColor ||\n null\n },\n customRadius: {\n tooltip:\n target.getAttribute('data-tooltip-radius') ||\n self.props.tooltipRadius ||\n '3',\n arrow:\n target.getAttribute('data-arrow-radius') ||\n self.props.arrowRadius ||\n '0'\n },\n effect: effect,\n offset: offset,\n padding: target.getAttribute('data-padding') || self.props.padding,\n html:\n (target.getAttribute('data-html')\n ? target.getAttribute('data-html') === 'true'\n : self.props.html) || false,\n delayShow:\n target.getAttribute('data-delay-show') || self.props.delayShow || 0,\n delayHide:\n target.getAttribute('data-delay-hide') || self.props.delayHide || 0,\n delayUpdate:\n target.getAttribute('data-delay-update') ||\n self.props.delayUpdate ||\n 0,\n border:\n (target.getAttribute('data-border')\n ? target.getAttribute('data-border') === 'true'\n : self.props.border) || false,\n borderClass:\n target.getAttribute('data-border-class') ||\n self.props.borderClass ||\n 'border',\n extraClass:\n target.getAttribute('data-class') ||\n self.props.class ||\n self.props.className ||\n '',\n disable:\n (target.getAttribute('data-tip-disable')\n ? target.getAttribute('data-tip-disable') === 'true'\n : self.props.disable) || false,\n currentTarget: target\n },\n () => {\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(() => {\n if (self.mount) {\n const { getContent } = self.props;\n const placeholder = getTipContent(\n originTooltip,\n '',\n getContent[0](),\n isMultiline\n );\n const isEmptyTip = self.isEmptyTip(placeholder);\n self.setState({ isEmptyTip });\n self.updatePosition();\n }\n }, getContent[1]);\n }\n }\n );\n };\n\n // If there is no delay call immediately, don't allow events to get in first.\n if (reshowDelay) {\n this.delayReshow = setTimeout(updateState, reshowDelay);\n } else {\n updateState();\n }\n }\n\n /**\n * When mouse hover, update tool tip\n */\n updateTooltip(e) {\n const { delayShow, disable } = this.state;\n const { afterShow, disable: disableProp } = this.props;\n const placeholder = this.getTooltipContent();\n const eventTarget = e.currentTarget || e.target;\n\n // Check if the mouse is actually over the tooltip, if so don't hide the tooltip\n if (this.mouseOnToolTip()) {\n return;\n }\n\n // if the tooltip is empty, disable the tooltip\n if (this.isEmptyTip(placeholder) || disable || disableProp) {\n return;\n }\n\n const delayTime = !this.state.show ? parseInt(delayShow, 10) : 0;\n\n const updateState = () => {\n if (\n (Array.isArray(placeholder) && placeholder.length > 0) ||\n placeholder\n ) {\n const isInvisible = !this.state.show;\n this.setState(\n {\n currentEvent: e,\n currentTarget: eventTarget,\n show: true\n },\n () => {\n this.updatePosition(() => {\n if (isInvisible && afterShow) {\n afterShow(e);\n }\n });\n }\n );\n }\n };\n\n if (this.delayShowLoop) {\n clearTimeout(this.delayShowLoop);\n }\n if (delayTime) {\n this.delayShowLoop = setTimeout(updateState, delayTime);\n } else {\n this.delayShowLoop = null;\n updateState();\n }\n }\n\n /*\n * If we're mousing over the tooltip remove it when we leave.\n */\n listenForTooltipExit() {\n const { show } = this.state;\n\n if (show && this.tooltipRef) {\n this.tooltipRef.addEventListener('mouseleave', this.hideTooltip);\n }\n }\n\n removeListenerForTooltipExit() {\n const { show } = this.state;\n\n if (show && this.tooltipRef) {\n this.tooltipRef.removeEventListener('mouseleave', this.hideTooltip);\n }\n }\n\n /**\n * When mouse leave, hide tooltip\n */\n hideTooltip(e, hasTarget, options = { isScroll: false }) {\n const { disable } = this.state;\n const { isScroll } = options;\n const delayHide = isScroll ? 0 : this.state.delayHide;\n const { afterHide, disable: disableProp } = this.props;\n const placeholder = this.getTooltipContent();\n if (!this.mount) return;\n if (this.isEmptyTip(placeholder) || disable || disableProp) return; // if the tooltip is empty, disable the tooltip\n if (hasTarget) {\n // Don't trigger other elements belongs to other ReactTooltip\n const targetArray = this.getTargetArray(this.props.id);\n const isMyElement = targetArray.some((ele) => ele === e.currentTarget);\n if (!isMyElement || !this.state.show) return;\n }\n\n // clean up aria-describedby when hiding tooltip\n if (e && e.currentTarget && e.currentTarget.removeAttribute) {\n e.currentTarget.removeAttribute('aria-describedby');\n }\n\n const resetState = () => {\n const isVisible = this.state.show;\n // Check if the mouse is actually over the tooltip, if so don't hide the tooltip\n if (this.mouseOnToolTip()) {\n this.listenForTooltipExit();\n return;\n }\n\n this.removeListenerForTooltipExit();\n\n this.setState({ show: false }, () => {\n this.removeScrollListener(this.state.currentTarget);\n if (isVisible && afterHide) {\n afterHide(e);\n }\n });\n };\n\n this.clearTimer();\n if (delayHide) {\n this.delayHideLoop = setTimeout(resetState, parseInt(delayHide, 10));\n } else {\n resetState();\n }\n }\n\n /**\n * When scroll, hide tooltip\n */\n hideTooltipOnScroll(event, hasTarget) {\n this.hideTooltip(event, hasTarget, { isScroll: true });\n }\n\n /**\n * Add scroll event listener when tooltip show\n * automatically hide the tooltip when scrolling\n */\n addScrollListener(currentTarget) {\n const isCaptureMode = this.isCapture(currentTarget);\n window.addEventListener('scroll', this.hideTooltipOnScroll, isCaptureMode);\n }\n\n removeScrollListener(currentTarget) {\n const isCaptureMode = this.isCapture(currentTarget);\n window.removeEventListener(\n 'scroll',\n this.hideTooltipOnScroll,\n isCaptureMode\n );\n }\n\n // Calculation the position\n updatePosition(callbackAfter) {\n const { currentEvent, currentTarget, place, desiredPlace, effect, offset } =\n this.state;\n const node = this.tooltipRef;\n const result = getPosition(\n currentEvent,\n currentTarget,\n node,\n place,\n desiredPlace,\n effect,\n offset\n );\n if (result.position && this.props.overridePosition) {\n result.position = this.props.overridePosition(\n result.position,\n currentEvent,\n currentTarget,\n node,\n place,\n desiredPlace,\n effect,\n offset\n );\n }\n\n if (result.isNewState) {\n // Switch to reverse placement\n return this.setState(result.newState, () => {\n this.updatePosition(callbackAfter);\n });\n }\n\n if (callbackAfter && typeof callbackAfter === 'function') {\n callbackAfter();\n }\n\n // Set tooltip position\n node.style.left = result.position.left + 'px';\n node.style.top = result.position.top + 'px';\n }\n\n /**\n * CLear all kinds of timeout of interval\n */\n clearTimer() {\n if (this.delayShowLoop) {\n clearTimeout(this.delayShowLoop);\n this.delayShowLoop = null;\n }\n if (this.delayHideLoop) {\n clearTimeout(this.delayHideLoop);\n this.delayHideLoop = null;\n }\n if (this.delayReshow) {\n clearTimeout(this.delayReshow);\n this.delayReshow = null;\n }\n if (this.intervalUpdateContent) {\n clearInterval(this.intervalUpdateContent);\n this.intervalUpdateContent = null;\n }\n }\n\n hasCustomColors() {\n return Boolean(\n Object.keys(this.state.customColors).find(\n (color) => color !== 'border' && this.state.customColors[color]\n ) ||\n (this.state.border && this.state.customColors['border'])\n );\n }\n\n render() {\n const { extraClass, html, ariaProps, disable, uuid } = this.state;\n const content = this.getTooltipContent();\n const isEmptyTip = this.isEmptyTip(content);\n const style = generateTooltipStyle(\n this.state.uuid,\n this.state.customColors,\n this.state.type,\n this.state.border,\n this.state.padding,\n this.state.customRadius\n );\n\n const tooltipClass =\n '__react_component_tooltip' +\n ` ${this.state.uuid}` +\n (this.state.show && !disable && !isEmptyTip ? ' show' : '') +\n (this.state.border ? ' ' + this.state.borderClass : '') +\n ` place-${this.state.place}` + // top, bottom, left, right\n ` type-${this.hasCustomColors() ? 'custom' : this.state.type}` + // dark, success, warning, error, info, light, custom\n (this.props.delayUpdate ? ' allow_hover' : '') +\n (this.props.clickable ? ' allow_click' : '');\n\n let Wrapper = this.props.wrapper;\n\n if (ReactTooltip.supportedWrappers.indexOf(Wrapper) < 0) {\n Wrapper = ReactTooltip.defaultProps.wrapper;\n }\n\n const wrapperClassName = [tooltipClass, extraClass]\n .filter(Boolean)\n .join(' ');\n\n if (html) {\n const htmlContent = `${content}\\n<style aria-hidden=\"true\">${style}</style>`;\n\n return (\n <Wrapper\n className={`${wrapperClassName}`}\n id={this.props.id || uuid}\n ref={(ref) => (this.tooltipRef = ref)}\n {...ariaProps}\n data-id=\"tooltip\"\n dangerouslySetInnerHTML={{ __html: htmlContent }}\n />\n );\n } else {\n return (\n <Wrapper\n className={`${wrapperClassName}`}\n id={this.props.id || uuid}\n {...ariaProps}\n ref={(ref) => (this.tooltipRef = ref)}\n data-id=\"tooltip\"\n >\n <style\n dangerouslySetInnerHTML={{ __html: style }}\n aria-hidden=\"true\"\n />\n {content}\n </Wrapper>\n );\n }\n }\n}\n\nexport default ReactTooltip;\n"],"names":["global","fails","require$$0","NATIVE_BIND","call","getOwnPropertyDescriptor","createPropertyDescriptor","FunctionPrototype","uncurryThisRaw","toString","classofRaw","require$$1","uncurryThis","classof","require$$2","$Object","isNullOrUndefined","$TypeError","requireObjectCoercible","IndexedObject","toIndexedObject","documentAll","$documentAll","isCallable","isObject","getBuiltIn","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","require$$3","isSymbol","$String","tryToString","aCallable","getMethod","ordinaryToPrimitive","defineProperty","defineGlobalProperty","store","sharedModule","toObject","uid","shared","hasOwn","require$$4","require$$5","Symbol","wellKnownSymbol","toPrimitive","toPropertyKey","document","EXISTS","documentCreateElement","DESCRIPTORS","require$$6","IE8_DOM_DEFINE","require$$7","$getOwnPropertyDescriptor","anObject","V8_PROTOTYPE_DEFINE_BUG","CONFIGURABLE","definePropertyModule","createNonEnumerableProperty","inspectSource","WeakMap","sharedKey","hiddenKeys","TypeError","makeBuiltIn","makeBuiltInModule","defineBuiltIn","toIntegerOrInfinity","min","toAbsoluteIndex","toLength","lengthOfArrayLike","createMethod","push","enumBugKeys","internalObjectKeys","ownKeys","copyConstructorProperties","isForced","bind","isArray","TO_STRING_TAG","isConstructor","arraySpeciesConstructor","arraySpeciesCreate","objectKeys","html","addToUnscopables","GLOBAL","HIDE","REBUILD","SHOW","dispatchGlobalEvent","eventName","opts","event","window","CustomEvent","detail","createEvent","initEvent","dispatchEvent","target","hide","CONSTANT","rebuild","show","prototype","globalRebuild","mount","unbindListener","bindListener","globalShow","hasTarget","showTooltip","currentTarget","globalHide","hideTooltip","bindWindowEvents","resizeHide","removeEventListener","addEventListener","onWindowResize","unbindWindowEvents","checkStatus","dataEventOff","e","state","id","props","isCapture","currentItem","getAttribute","stopPropagation","setAttribute","setUntargetItems","getTargetArray","targetArray","i","length","customListeners","set","listener","map","Object","configurable","value","get","undefined","isCustomEvent","ele","customBindListener","eventOff","dataEvent","split","forEach","customListener","customUnbindListener","getEffect","dataEffect","effect","makeProxy","proxy","key","bodyListener","callback","options","respectEffect","customEvent","tip","forId","lastTarget","parentElement","isTargetBelongsToTooltip","findCustomEvents","dataAttribute","events","getBody","getElementsByTagName","isBodyMode","bodyMode","bindBodyListener","possibleCustomEvents","possibleCustomEventsOff","body","customEvents","customEventsOff","unbindBodyListener","listeners","bodyModeListeners","mouseover","mousemove","updateTooltip","mouseout","targetEventOff","getMutationObserverClass","MutationObserver","WebKitMutationObserver","MozMutationObserver","bindRemovalTracker","observer","mutations","m1","mutation","m2","removedNodes","element","observe","childList","subtree","removalTracker","unbindRemovalTracker","disconnect","node","place","desiredPlace","offset","getDimensions","tipWidth","width","tipHeight","height","targetWidth","targetHeight","getCurrentOffset","mouseX","mouseY","defaultOffset","getDefaultPosition","calculateOffset","extraOffsetX","extraOffsetY","windowWidth","innerWidth","windowHeight","innerHeight","getParent","parentTop","parentLeft","getTipOffsetLeft","offsetX","l","getTipOffsetRight","r","getTipOffsetTop","offsetY","t","getTipOffsetBottom","b","outsideLeft","p","outsideRight","outsideTop","outsideBottom","outside","inside","placeIsInside","top","bottom","left","right","choose","allPlaces","concat","d","chosen","isNewState","newPlace","newState","position","parseInt","getBoundingClientRect","boundingClientRect","targetTop","targetLeft","clientX","clientY","disToMouse","triangleHeight","cursorHeight","apply","JSON","parse","replace","currentParent","computedStyle","getComputedStyle","getPropertyValue","TipContent","children","getContent","multiline","regexp","test","React","parseAria","ariaObj","keys","filter","prop","nodeList","hasOwnProperty","Array","slice","fill","index","generateUUID","uuid","defaultColors","dark","text","background","border","arrow","success","warning","error","info","light","getDefaultPopupColors","type","_objectSpread","DEFAULT_PADDING","DEFAULT_RADIUS","tooltip","generateTooltipStyle","customColors","hasBorder","padding","radius","generateStyle","getPopupColors","colors","textColor","backgroundColor","borderColor","arrowColor","arrowRadius","tooltipRadius","ReactTooltip","staticMethods","windowListener","trackRemoval","borderClass","customRadius","extraClass","delayHide","delayShow","currentEvent","ariaProps","isEmptyTip","disable","originTooltip","isMultiline","delayShowLoop","delayHideLoop","delayReshow","intervalUpdateContent","methodArray","method","insecure","injectStyles","clearTimer","removeScrollListener","tooltipRef","parentNode","domRoot","constructor","name","head","querySelector","style","createElement","textContent","baseCss","appendChild","matches","msMatchesSelector","mozMatchesSelector","selector","escaped","nodeListToArray","shadowRoot","querySelectorAll","globalEventOff","unbindBasicListener","isCaptureMode","content","getTipContent","placeholder","isGlobalCall","isMyElement","some","switchToSolid","FocusEvent","scrollHide","result","getPosition","overridePosition","reshowDelay","delayUpdate","self","updateState","setState","className","addScrollListener","setInterval","updatePosition","setTimeout","afterShow","disableProp","getTooltipContent","eventTarget","mouseOnToolTip","delayTime","isInvisible","clearTimeout","isScroll","afterHide","removeAttribute","resetState","isVisible","listenForTooltipExit","removeListenerForTooltipExit","hideTooltipOnScroll","callbackAfter","clearInterval","Boolean","find","color","tooltipClass","hasCustomColors","clickable","Wrapper","wrapper","supportedWrappers","indexOf","defaultProps","wrapperClassName","join","htmlContent","ref","__html","PropTypes","string","any","object","bool","number","func","nextProps","prevState","newAriaProps","isChanged","Component"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../node_modules/core-js/internals/global.js","../node_modules/core-js/internals/fails.js","../node_modules/core-js/internals/descriptors.js","../node_modules/core-js/internals/function-bind-native.js","../node_modules/core-js/internals/function-call.js","../node_modules/core-js/internals/object-property-is-enumerable.js","../node_modules/core-js/internals/create-property-descriptor.js","../node_modules/core-js/internals/function-uncurry-this-raw.js","../node_modules/core-js/internals/classof-raw.js","../node_modules/core-js/internals/function-uncurry-this.js","../node_modules/core-js/internals/indexed-object.js","../node_modules/core-js/internals/is-null-or-undefined.js","../node_modules/core-js/internals/require-object-coercible.js","../node_modules/core-js/internals/to-indexed-object.js","../node_modules/core-js/internals/document-all.js","../node_modules/core-js/internals/is-callable.js","../node_modules/core-js/internals/is-object.js","../node_modules/core-js/internals/get-built-in.js","../node_modules/core-js/internals/object-is-prototype-of.js","../node_modules/core-js/internals/engine-user-agent.js","../node_modules/core-js/internals/engine-v8-version.js","../node_modules/core-js/internals/symbol-constructor-detection.js","../node_modules/core-js/internals/use-symbol-as-uid.js","../node_modules/core-js/internals/is-symbol.js","../node_modules/core-js/internals/try-to-string.js","../node_modules/core-js/internals/a-callable.js","../node_modules/core-js/internals/get-method.js","../node_modules/core-js/internals/ordinary-to-primitive.js","../node_modules/core-js/internals/define-global-property.js","../node_modules/core-js/internals/shared-store.js","../node_modules/core-js/internals/shared.js","../node_modules/core-js/internals/to-object.js","../node_modules/core-js/internals/has-own-property.js","../node_modules/core-js/internals/uid.js","../node_modules/core-js/internals/well-known-symbol.js","../node_modules/core-js/internals/to-primitive.js","../node_modules/core-js/internals/to-property-key.js","../node_modules/core-js/internals/document-create-element.js","../node_modules/core-js/internals/ie8-dom-define.js","../node_modules/core-js/internals/object-get-own-property-descriptor.js","../node_modules/core-js/internals/v8-prototype-define-bug.js","../node_modules/core-js/internals/an-object.js","../node_modules/core-js/internals/object-define-property.js","../node_modules/core-js/internals/create-non-enumerable-property.js","../node_modules/core-js/internals/function-name.js","../node_modules/core-js/internals/inspect-source.js","../node_modules/core-js/internals/weak-map-basic-detection.js","../node_modules/core-js/internals/shared-key.js","../node_modules/core-js/internals/hidden-keys.js","../node_modules/core-js/internals/internal-state.js","../node_modules/core-js/internals/make-built-in.js","../node_modules/core-js/internals/define-built-in.js","../node_modules/core-js/internals/math-trunc.js","../node_modules/core-js/internals/to-integer-or-infinity.js","../node_modules/core-js/internals/to-absolute-index.js","../node_modules/core-js/internals/to-length.js","../node_modules/core-js/internals/length-of-array-like.js","../node_modules/core-js/internals/array-includes.js","../node_modules/core-js/internals/object-keys-internal.js","../node_modules/core-js/internals/enum-bug-keys.js","../node_modules/core-js/internals/object-get-own-property-names.js","../node_modules/core-js/internals/object-get-own-property-symbols.js","../node_modules/core-js/internals/own-keys.js","../node_modules/core-js/internals/copy-constructor-properties.js","../node_modules/core-js/internals/is-forced.js","../node_modules/core-js/internals/export.js","../node_modules/core-js/internals/function-bind-context.js","../node_modules/core-js/internals/is-array.js","../node_modules/core-js/internals/to-string-tag-support.js","../node_modules/core-js/internals/classof.js","../node_modules/core-js/internals/is-constructor.js","../node_modules/core-js/internals/array-species-constructor.js","../node_modules/core-js/internals/array-species-create.js","../node_modules/core-js/internals/array-iteration.js","../node_modules/core-js/internals/object-keys.js","../node_modules/core-js/internals/object-define-properties.js","../node_modules/core-js/internals/html.js","../node_modules/core-js/internals/object-create.js","../node_modules/core-js/internals/add-to-unscopables.js","../node_modules/core-js/modules/es.array.find.js","../src/constant.js","../src/decorators/staticMethods.js","../src/decorators/windowListener.js","../src/decorators/customEvent.js","../src/decorators/isCapture.js","../src/decorators/getEffect.js","../src/decorators/bodyMode.js","../src/decorators/trackRemoval.js","../src/utils/getPosition.js","../src/utils/getTipContent.js","../src/utils/aria.js","../src/utils/nodeListToArray.js","../src/utils/uuid.js","../src/decorators/defaultStyles.js","../src/decorators/styler.js","../src/index.js"],"sourcesContent":["var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\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 global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !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","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\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\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = function (fn) {\n return NATIVE_BIND ? uncurryThisWithBind(fn) : function () {\n return call.apply(fn, arguments);\n };\n};\n","var uncurryThisRaw = require('../internals/function-uncurry-this-raw');\n\nvar toString = uncurryThisRaw({}.toString);\nvar stringSlice = uncurryThisRaw(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var classofRaw = require('../internals/classof-raw');\nvar uncurryThisRaw = require('../internals/function-uncurry-this-raw');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThisRaw(fn);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = 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 classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","var isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","var $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","var isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","var aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.25.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.25.5/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","var call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\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\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) 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","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","module.exports = {};\n","var NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(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 (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","var isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = 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).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\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 = lengthOfArrayLike(O);\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\nmodule.exports = {\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","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = 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\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\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 : isCallable(detection) ? 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\nmodule.exports = isForced;\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\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.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = 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;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(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 defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) == 'Array';\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (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 C === undefined ? $Array : C;\n};\n","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","var bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = 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_REJECT = 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 = bind(callbackfn, that);\n var length = lengthOfArrayLike(self);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? 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(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\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 activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\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\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = 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 : definePropertiesModule.f(result, Properties);\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\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 defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\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$({ 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","export default {\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 */\nimport CONSTANT from '../constant';\n\nconst 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 let event;\n\n if (typeof window.CustomEvent === 'function') {\n event = new window.CustomEvent(eventName, { detail: opts });\n } else {\n event = document.createEvent('Event');\n event.initEvent(eventName, false, true, opts);\n }\n\n window.dispatchEvent(event);\n};\n\nexport default function(target) {\n /**\n * Hide all tooltip\n * @trigger ReactTooltip.hide()\n */\n target.hide = target => {\n dispatchGlobalEvent(CONSTANT.GLOBAL.HIDE, { target });\n };\n\n /**\n * Rebuild all tooltip\n * @trigger ReactTooltip.rebuild()\n */\n target.rebuild = () => {\n dispatchGlobalEvent(CONSTANT.GLOBAL.REBUILD);\n };\n\n /**\n * Show specific tooltip\n * @trigger ReactTooltip.show()\n */\n target.show = target => {\n dispatchGlobalEvent(CONSTANT.GLOBAL.SHOW, { target });\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 const hasTarget =\n (event && event.detail && event.detail.target && true) || false;\n // Create a fake event, specific show will limit the type to `solid`\n // only `float` type cares e.clientX e.clientY\n this.showTooltip(\n { currentTarget: hasTarget && event.detail.target },\n true\n );\n }\n };\n\n target.prototype.globalHide = function(event) {\n if (this.mount) {\n const hasTarget =\n (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 */\nimport CONSTANT from '../constant';\n\nexport default function(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);\n\n // ReactTooltip.rebuild\n window.removeEventListener(CONSTANT.GLOBAL.REBUILD, this.globalRebuild);\n window.addEventListener(CONSTANT.GLOBAL.REBUILD, this.globalRebuild, false);\n\n // ReactTooltip.show\n window.removeEventListener(CONSTANT.GLOBAL.SHOW, this.globalShow);\n window.addEventListener(CONSTANT.GLOBAL.SHOW, this.globalShow, false);\n\n // Resize\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 /**\n * invoked by resize event of window\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\nexport const checkStatus = function(dataEventOff, e) {\n const { show } = this.state;\n const { id } = this.props;\n const isCapture = this.isCapture(e.currentTarget);\n const currentItem = e.currentTarget.getAttribute('currentItem');\n\n if (!isCapture) e.stopPropagation();\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\nconst setUntargetItems = function(currentTarget, targetArray) {\n for (let 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\nconst customListeners = {\n id: '9b69f92e-d3fe-498b-b1b4-c5e63a51b0cf',\n set(target, event, listener) {\n if (this.id in target) {\n const 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: { [event]: listener }\n });\n }\n },\n get(target, event) {\n const map = target[this.id];\n if (map !== undefined) {\n return map[event];\n }\n }\n};\n\nexport default function(target) {\n target.prototype.isCustomEvent = function(ele) {\n const { event } = this.state;\n return event || !!ele.getAttribute('data-event');\n };\n\n /* Bind listener for custom event */\n target.prototype.customBindListener = function(ele) {\n const { event, eventOff } = this.state;\n const dataEvent = ele.getAttribute('data-event') || event;\n const dataEventOff = ele.getAttribute('data-event-off') || eventOff;\n\n dataEvent.split(' ').forEach(event => {\n ele.removeEventListener(event, customListeners.get(ele, event));\n const customListener = checkStatus.bind(this, dataEventOff);\n customListeners.set(ele, event, customListener);\n ele.addEventListener(event, customListener, false);\n });\n if (dataEventOff) {\n dataEventOff.split(' ').forEach(event => {\n ele.removeEventListener(event, this.hideTooltip);\n ele.addEventListener(event, this.hideTooltip, false);\n });\n }\n };\n\n /* Unbind listener for custom event */\n target.prototype.customUnbindListener = function(ele) {\n const { event, eventOff } = this.state;\n const dataEvent = event || ele.getAttribute('data-event');\n const dataEventOff = eventOff || ele.getAttribute('data-event-off');\n\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\nexport default function(target) {\n target.prototype.isCapture = function(currentTarget) {\n return (\n (currentTarget &&\n currentTarget.getAttribute('data-iscapture') === 'true') ||\n this.props.isCapture ||\n false\n );\n };\n}\n","/**\n * Util method to get effect\n */\n\nexport default function(target) {\n target.prototype.getEffect = function(currentTarget) {\n const dataEffect = currentTarget.getAttribute('data-effect');\n return dataEffect || this.props.effect || 'float';\n };\n}\n","/**\n * Util method to get effect\n */\nimport { checkStatus } from './customEvent';\n\nconst makeProxy = (e) => {\n const proxy = {};\n for (const 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 return proxy;\n};\n\nconst bodyListener = function (callback, options, e) {\n const { respectEffect = false, customEvent = false } = options;\n const { id } = this.props;\n\n let tip = null;\n let forId;\n let target = e.target;\n let lastTarget;\n // walk up parent chain until tip is found\n // there is no match if parent visible area is matched by mouse position, so some corner cases might not work as expected\n while (tip === null && target !== null) {\n lastTarget = target;\n tip = target.getAttribute('data-tip') || null;\n forId = target.getAttribute('data-for') || null;\n target = target.parentElement;\n }\n\n target = lastTarget || e.target;\n\n if (this.isCustomEvent(target) && !customEvent) {\n return;\n }\n\n const isTargetBelongsToTooltip =\n (id == null && forId == null) || forId === id;\n\n if (\n tip != null &&\n (!respectEffect || this.getEffect(target) === 'float') &&\n isTargetBelongsToTooltip\n ) {\n const proxy = makeProxy(e);\n proxy.currentTarget = target;\n callback(proxy);\n }\n};\n\nconst findCustomEvents = (targetArray, dataAttribute) => {\n const events = {};\n targetArray.forEach((target) => {\n const event = target.getAttribute(dataAttribute);\n if (event) event.split(' ').forEach((event) => (events[event] = true));\n });\n\n return events;\n};\n\nconst getBody = () => document.getElementsByTagName('body')[0];\n\nexport default function (target) {\n target.prototype.isBodyMode = function () {\n return !!this.props.bodyMode;\n };\n\n target.prototype.bindBodyListener = function (targetArray) {\n const { event, eventOff, possibleCustomEvents, possibleCustomEventsOff } =\n this.state;\n const body = getBody();\n\n const customEvents = findCustomEvents(targetArray, 'data-event');\n const customEventsOff = findCustomEvents(targetArray, 'data-event-off');\n\n if (event != null) customEvents[event] = true;\n if (eventOff != null) customEventsOff[eventOff] = true;\n possibleCustomEvents\n .split(' ')\n .forEach((event) => (customEvents[event] = true));\n possibleCustomEventsOff\n .split(' ')\n .forEach((event) => (customEventsOff[event] = true));\n\n this.unbindBodyListener(body);\n\n const listeners = (this.bodyModeListeners = {});\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 (const event in customEvents) {\n listeners[event] = bodyListener.bind(\n this,\n (e) => {\n const targetEventOff =\n e.currentTarget.getAttribute('data-event-off') || eventOff;\n checkStatus.call(this, targetEventOff, e);\n },\n { customEvent: true }\n );\n }\n for (const event in customEventsOff) {\n listeners[event] = bodyListener.bind(this, this.hideTooltip, {\n customEvent: true\n });\n }\n for (const event in listeners) {\n body.addEventListener(event, listeners[event]);\n }\n };\n\n target.prototype.unbindBodyListener = function (body) {\n body = body || getBody();\n\n const listeners = this.bodyModeListeners;\n for (const 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\n// https://hacks.mozilla.org/2012/05/dom-mutationobserver-reacting-to-dom-changes-without-killing-browser-performance/\nconst getMutationObserverClass = () => {\n return (\n window.MutationObserver ||\n window.WebKitMutationObserver ||\n window.MozMutationObserver\n );\n};\n\nexport default function(target) {\n target.prototype.bindRemovalTracker = function() {\n const MutationObserver = getMutationObserverClass();\n if (MutationObserver == null) return;\n\n const observer = new MutationObserver(mutations => {\n for (let m1 = 0; m1 < mutations.length; m1++) {\n const mutation = mutations[m1];\n for (let m2 = 0; m2 < mutation.removedNodes.length; m2++) {\n const element = mutation.removedNodes[m2];\n if (element === this.state.currentTarget) {\n this.hideTooltip();\n return;\n }\n }\n }\n });\n\n observer.observe(window.document, { childList: true, 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 */\nexport default function (e, target, node, place, desiredPlace, effect, offset) {\n const { width: tipWidth, height: tipHeight } = getDimensions(node);\n\n const { width: targetWidth, height: targetHeight } = getDimensions(target);\n\n const { mouseX, mouseY } = getCurrentOffset(e, target, effect);\n const defaultOffset = getDefaultPosition(\n effect,\n targetWidth,\n targetHeight,\n tipWidth,\n tipHeight\n );\n const { extraOffsetX, extraOffsetY } = calculateOffset(offset);\n\n const windowWidth = window.innerWidth;\n const windowHeight = window.innerHeight;\n\n const { parentTop, parentLeft } = getParent(node);\n\n // Get the edge offset of the tooltip\n const getTipOffsetLeft = (place) => {\n const offsetX = defaultOffset[place].l;\n return mouseX + offsetX + extraOffsetX;\n };\n const getTipOffsetRight = (place) => {\n const offsetX = defaultOffset[place].r;\n return mouseX + offsetX + extraOffsetX;\n };\n const getTipOffsetTop = (place) => {\n const offsetY = defaultOffset[place].t;\n return mouseY + offsetY + extraOffsetY;\n };\n const getTipOffsetBottom = (place) => {\n const offsetY = defaultOffset[place].b;\n return mouseY + offsetY + extraOffsetY;\n };\n\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 const outsideLeft = (p) => getTipOffsetLeft(p) < 0;\n const outsideRight = (p) => getTipOffsetRight(p) > windowWidth;\n const outsideTop = (p) => getTipOffsetTop(p) < 0;\n const outsideBottom = (p) => getTipOffsetBottom(p) > windowHeight;\n\n // Check whether the tooltip with orientation p is completely inside the client window\n const outside = (p) =>\n outsideLeft(p) || outsideRight(p) || outsideTop(p) || outsideBottom(p);\n const inside = (p) => !outside(p);\n\n const placeIsInside = {\n top: inside('top'),\n bottom: inside('bottom'),\n left: inside('left'),\n right: inside('right')\n };\n\n function choose() {\n const allPlaces = desiredPlace\n .split(',')\n .concat(place, ['top', 'bottom', 'left', 'right']);\n for (const d of allPlaces) {\n if (placeIsInside[d]) return d;\n }\n // if nothing is inside, just use the old place.\n return place;\n }\n\n const chosen = choose();\n\n let isNewState = false;\n let newPlace;\n if (chosen && chosen !== place) {\n isNewState = true;\n newPlace = chosen;\n }\n\n if (isNewState) {\n return {\n isNewState: true,\n newState: { place: newPlace }\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\nconst getDimensions = (node) => {\n const { height, width } = node.getBoundingClientRect();\n return {\n height: parseInt(height, 10),\n width: parseInt(width, 10)\n };\n};\n\n// Get current mouse offset\nconst getCurrentOffset = (e, currentTarget, effect) => {\n const boundingClientRect = currentTarget.getBoundingClientRect();\n const targetTop = boundingClientRect.top;\n const targetLeft = boundingClientRect.left;\n const { width: targetWidth, height: targetHeight } =\n getDimensions(currentTarget);\n\n if (effect === 'float') {\n return {\n mouseX: e.clientX,\n mouseY: e.clientY\n };\n }\n return {\n mouseX: targetLeft + targetWidth / 2,\n mouseY: targetTop + targetHeight / 2\n };\n};\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\nconst getDefaultPosition = (\n effect,\n targetWidth,\n targetHeight,\n tipWidth,\n tipHeight\n) => {\n let top;\n let right;\n let bottom;\n let left;\n const disToMouse = 3;\n const triangleHeight = 2;\n const 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 { top, bottom, left, right };\n};\n\n// Consider additional offset into position calculation\nconst calculateOffset = (offset) => {\n let extraOffsetX = 0;\n let extraOffsetY = 0;\n\n if (Object.prototype.toString.apply(offset) === '[object String]') {\n offset = JSON.parse(offset.toString().replace(/'/g, '\"'));\n }\n for (const 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 { extraOffsetX, extraOffsetY };\n};\n\n// Get the offset of the parent elements\nconst getParent = (currentTarget) => {\n let currentParent = currentTarget;\n while (currentParent) {\n const computedStyle = window.getComputedStyle(currentParent);\n // transform and will-change: transform change the containing block\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_Block\n if (\n computedStyle.getPropertyValue('transform') !== 'none' ||\n computedStyle.getPropertyValue('will-change') === 'transform'\n )\n break;\n currentParent = currentParent.parentElement;\n }\n\n const parentTop =\n (currentParent && currentParent.getBoundingClientRect().top) || 0;\n const parentLeft =\n (currentParent && currentParent.getBoundingClientRect().left) || 0;\n\n return { parentTop, parentLeft };\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 */\nimport React from 'react';\n\nexport default function TipContent(tip, children, getContent, multiline) {\n if (children) return children;\n if (getContent !== undefined && getContent !== null) return getContent; // getContent can be 0, '', etc.\n if (getContent === null) return null; // Tip not exist and children is null or undefined\n\n const regexp = /<br\\s*\\/?>/;\n if (!multiline || multiline === 'false' || !regexp.test(tip)) {\n // No trim(), so that user can keep their input\n return tip;\n }\n\n // Multiline tooltip content\n return tip.split(regexp).map((d, i) => {\n return (\n <span key={i} className=\"multi-line\">\n {d}\n </span>\n );\n });\n}\n","/**\n * Support aria- and role in ReactTooltip\n *\n * @params props {Object}\n * @return {Object}\n */\nexport function parseAria(props) {\n const ariaObj = {};\n Object.keys(props)\n .filter(prop => {\n // aria-xxx and role is acceptable\n return /(^aria-\\w+$|^role$)/.test(prop);\n })\n .forEach(prop => {\n ariaObj[prop] = props[prop];\n });\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\nexport default function(nodeList) {\n const length = nodeList.length;\n if (nodeList.hasOwnProperty) {\n return Array.prototype.slice.call(nodeList);\n }\n return new Array(length).fill().map(index => nodeList[index]);\n}\n","import { v4 as uuid } from 'uuid';\n\nexport function generateUUID() {\n return 't' + uuid();\n}\n","/**\n * Default pop-up style values (text color, background color).\n */\nconst 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\nexport function getDefaultPopupColors(type) {\n return defaultColors[type] ? { ...defaultColors[type] } : undefined;\n}\n\nexport const DEFAULT_PADDING = '8px 21px';\n\nexport const DEFAULT_RADIUS = {\n tooltip: 3,\n arrow: 0\n};\n","import {\n getDefaultPopupColors,\n DEFAULT_PADDING,\n DEFAULT_RADIUS\n} from './defaultStyles';\n\n/**\n * Generates the specific tooltip style for use on render.\n */\nexport function generateTooltipStyle(\n uuid,\n customColors,\n type,\n hasBorder,\n padding,\n radius\n) {\n return generateStyle(\n uuid,\n getPopupColors(customColors, type, hasBorder),\n padding,\n radius\n );\n}\n\n/**\n * Generates the tooltip style rules based on the element-specified \"data-type\" property.\n */\nfunction generateStyle(\n uuid,\n colors,\n padding = DEFAULT_PADDING,\n radius = DEFAULT_RADIUS\n) {\n const textColor = colors.text;\n const backgroundColor = colors.background;\n const borderColor = colors.border;\n const arrowColor = colors.arrow;\n const arrowRadius = radius.arrow;\n const tooltipRadius = radius.tooltip;\n\n return `\n \t.${uuid} {\n\t color: ${textColor};\n\t background: ${backgroundColor};\n\t border: 1px solid ${borderColor};\n\t border-radius: ${tooltipRadius}px;\n\t padding: ${padding};\n \t}\n\n \t.${uuid}.place-top {\n margin-top: -10px;\n }\n .${uuid}.place-top::before {\n content: \"\";\n background-color: inherit;\n position: absolute;\n z-index: 2;\n width: 20px;\n height: 12px;\n }\n .${uuid}.place-top::after {\n content: \"\";\n position: absolute;\n width: 10px;\n height: 10px;\n border-top-right-radius: ${arrowRadius}px;\n border: 1px solid ${borderColor};\n background-color: ${arrowColor};\n z-index: -2;\n bottom: -6px;\n left: 50%;\n margin-left: -6px;\n transform: rotate(135deg);\n }\n\n .${uuid}.place-bottom {\n margin-top: 10px;\n }\n .${uuid}.place-bottom::before {\n content: \"\";\n background-color: inherit;\n position: absolute;\n z-index: -1;\n width: 18px;\n height: 10px;\n }\n .${uuid}.place-bottom::after {\n content: \"\";\n position: absolute;\n width: 10px;\n height: 10px;\n border-top-right-radius: ${arrowRadius}px;\n border: 1px solid ${borderColor};\n background-color: ${arrowColor};\n z-index: -2;\n top: -6px;\n left: 50%;\n margin-left: -6px;\n transform: rotate(45deg);\n }\n\n .${uuid}.place-left {\n margin-left: -10px;\n }\n .${uuid}.place-left::before {\n content: \"\";\n background-color: inherit;\n position: absolute;\n z-index: -1;\n width: 10px;\n height: 18px;\n }\n .${uuid}.place-left::after {\n content: \"\";\n position: absolute;\n width: 10px;\n height: 10px;\n border-top-right-radius: ${arrowRadius}px;\n border: 1px solid ${borderColor};\n background-color: ${arrowColor};\n z-index: -2;\n right: -6px;\n top: 50%;\n margin-top: -6px;\n transform: rotate(45deg);\n }\n\n .${uuid}.place-right {\n margin-left: 10px;\n }\n .${uuid}.place-right::before {\n content: \"\";\n background-color: inherit;\n position: absolute;\n z-index: -1;\n width: 10px;\n height: 18px;\n }\n .${uuid}.place-right::after {\n content: \"\";\n position: absolute;\n width: 10px;\n height: 10px;\n border-top-right-radius: ${arrowRadius}px;\n border: 1px solid ${borderColor};\n background-color: ${arrowColor};\n z-index: -2;\n left: -6px;\n top: 50%;\n margin-top: -6px;\n transform: rotate(-135deg);\n }\n `;\n}\n\nfunction getPopupColors(customColors, type, hasBorder) {\n const textColor = customColors.text;\n const backgroundColor = customColors.background;\n const borderColor = customColors.border;\n const arrowColor = customColors.arrow\n ? customColors.arrow\n : customColors.background;\n\n const 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","/* eslint-disable no-unused-vars, dot-notation */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n/* Decorators */\nimport staticMethods from './decorators/staticMethods';\nimport windowListener from './decorators/windowListener';\nimport customEvent from './decorators/customEvent';\nimport isCapture from './decorators/isCapture';\nimport getEffect from './decorators/getEffect';\nimport bodyMode from './decorators/bodyMode';\nimport trackRemoval from './decorators/trackRemoval';\n\n/* Utils */\nimport getPosition from './utils/getPosition';\nimport getTipContent from './utils/getTipContent';\nimport { parseAria } from './utils/aria';\nimport nodeListToArray from './utils/nodeListToArray';\nimport { generateUUID } from './utils/uuid';\n\n/* CSS */\nimport baseCss from './index.scss';\nimport { generateTooltipStyle } from './decorators/styler';\n\n/* Polyfill */\nimport 'core-js/modules/es.array.find';\n\n@staticMethods\n@windowListener\n@customEvent\n@isCapture\n@getEffect\n@bodyMode\n@trackRemoval\nclass ReactTooltip extends React.Component {\n static get propTypes() {\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 padding: PropTypes.string,\n multiline: PropTypes.bool,\n border: PropTypes.bool,\n borderClass: PropTypes.string,\n textColor: PropTypes.string,\n backgroundColor: PropTypes.string,\n borderColor: PropTypes.string,\n arrowColor: PropTypes.string,\n arrowRadius: PropTypes.string,\n tooltipRadius: 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 disableInternalStyle: PropTypes.bool\n };\n }\n\n static defaultProps = {\n insecure: true,\n resizeHide: true,\n wrapper: 'div',\n clickable: false\n };\n\n static supportedWrappers = ['div', 'span'];\n\n static displayName = 'ReactTooltip';\n\n constructor(props) {\n super(props);\n\n this.state = {\n uuid: props.uuid || generateUUID(),\n place: props.place || 'top', // Direction of tooltip\n desiredPlace: props.place || 'top',\n type: props.type || 'dark', // Color theme of tooltip\n effect: props.effect || 'float', // float or fixed\n show: false,\n border: false,\n borderClass: 'border',\n customColors: {},\n customRadius: {},\n offset: {},\n padding: props.padding,\n extraClass: '',\n html: false,\n delayHide: 0,\n delayShow: 0,\n event: props.event || null,\n eventOff: props.eventOff || null,\n currentEvent: null, // Current mouse event\n currentTarget: null, // Current target of mouse event\n ariaProps: parseAria(props), // 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([\n 'showTooltip',\n 'updateTooltip',\n 'hideTooltip',\n 'hideTooltipOnScroll',\n 'getTooltipContent',\n 'globalRebuild',\n 'globalShow',\n 'globalHide',\n 'onWindowResize',\n 'mouseOnToolTip'\n ]);\n\n this.mount = true;\n this.delayShowLoop = null;\n this.delayHideLoop = null;\n this.delayReshow = null;\n this.intervalUpdateContent = null;\n }\n\n /**\n * For unify the bind and unbind listener\n */\n bind(methodArray) {\n methodArray.forEach((method) => {\n this[method] = this[method].bind(this);\n });\n }\n\n componentDidMount() {\n const { insecure, resizeHide, disableInternalStyle } = this.props;\n this.mount = true;\n\n this.bindListener(); // Bind listener for tooltip\n this.bindWindowEvents(resizeHide); // Bind global event for static method\n\n if (!disableInternalStyle) {\n this.injectStyles(); // Inject styles for each DOM root having tooltip.\n }\n }\n\n static getDerivedStateFromProps(nextProps, prevState) {\n const { ariaProps } = prevState;\n const newAriaProps = parseAria(nextProps);\n const isChanged = Object.keys(newAriaProps).some((props) => {\n return newAriaProps[props] !== ariaProps[props];\n });\n if (!isChanged) {\n return null;\n }\n return {\n ...prevState,\n ariaProps: newAriaProps\n };\n }\n\n componentWillUnmount() {\n this.mount = false;\n\n this.clearTimer();\n\n this.unbindListener();\n this.removeScrollListener(this.state.currentTarget);\n this.unbindWindowEvents();\n }\n\n /* Look for the closest DOM root having tooltip and inject styles. */\n injectStyles() {\n const { tooltipRef } = this;\n if (!tooltipRef) {\n return;\n }\n\n let parentNode = tooltipRef.parentNode;\n while (parentNode.parentNode) {\n parentNode = parentNode.parentNode;\n }\n\n let domRoot;\n\n switch (parentNode.constructor.name) {\n case 'Document':\n case 'HTMLDocument':\n case undefined:\n domRoot = parentNode.head;\n break;\n case 'ShadowRoot':\n default:\n domRoot = parentNode;\n break;\n }\n\n // Prevent styles duplication.\n if (!domRoot.querySelector('style[data-react-tooltip]')) {\n const style = document.createElement('style');\n style.textContent = baseCss;\n style.setAttribute('data-react-tooltip', 'true');\n\n domRoot.appendChild(style);\n }\n }\n\n /**\n * Return if the mouse is on the tooltip.\n * @returns {boolean} true - mouse is on the tooltip\n */\n mouseOnToolTip() {\n const { show } = this.state;\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 return this.tooltipRef.matches(':hover');\n }\n return false;\n }\n\n /**\n * Pick out corresponded target elements\n */\n getTargetArray(id) {\n let targetArray = [];\n let selector;\n if (!id) {\n selector = '[data-tip]:not([data-for])';\n } else {\n const escaped = id.replace(/\\\\/g, '\\\\\\\\').replace(/\"/g, '\\\\\"');\n selector = `[data-tip][data-for=\"${escaped}\"]`;\n }\n\n // Scan document for shadow DOM elements\n nodeListToArray(document.getElementsByTagName('*'))\n .filter((element) => element.shadowRoot)\n .forEach((element) => {\n targetArray = targetArray.concat(\n nodeListToArray(element.shadowRoot.querySelectorAll(selector))\n );\n });\n return targetArray.concat(\n nodeListToArray(document.querySelectorAll(selector))\n );\n }\n\n /**\n * Bind listener to the target elements\n * These listeners used to trigger showing or hiding the tooltip\n */\n bindListener() {\n const { id, globalEventOff, isCapture } = this.props;\n const targetArray = this.getTargetArray(id);\n\n targetArray.forEach((target) => {\n if (target.getAttribute('currentItem') === null) {\n target.setAttribute('currentItem', 'false');\n }\n this.unbindBasicListener(target);\n if (this.isCustomEvent(target)) {\n this.customUnbindListener(target);\n }\n });\n\n if (this.isBodyMode()) {\n this.bindBodyListener(targetArray);\n } else {\n targetArray.forEach((target) => {\n const isCaptureMode = this.isCapture(target);\n const effect = this.getEffect(target);\n if (this.isCustomEvent(target)) {\n this.customBindListener(target);\n return;\n }\n\n target.addEventListener('mouseenter', this.showTooltip, isCaptureMode);\n target.addEventListener('focus', this.showTooltip, isCaptureMode);\n if (effect === 'float') {\n target.addEventListener(\n 'mousemove',\n this.updateTooltip,\n isCaptureMode\n );\n }\n target.addEventListener('mouseleave', this.hideTooltip, isCaptureMode);\n target.addEventListener('blur', this.hideTooltip, isCaptureMode);\n });\n }\n\n // Global event to hide tooltip\n if (globalEventOff) {\n window.removeEventListener(globalEventOff, this.hideTooltip);\n window.addEventListener(globalEventOff, this.hideTooltip, isCapture);\n }\n\n // Track removal of targetArray elements from DOM\n this.bindRemovalTracker();\n }\n\n /**\n * Unbind listeners on target elements\n */\n unbindListener() {\n const { id, globalEventOff } = this.props;\n if (this.isBodyMode()) {\n this.unbindBodyListener();\n } else {\n const targetArray = this.getTargetArray(id);\n targetArray.forEach((target) => {\n this.unbindBasicListener(target);\n if (this.isCustomEvent(target)) this.customUnbindListener(target);\n });\n }\n\n if (globalEventOff)\n window.removeEventListener(globalEventOff, this.hideTooltip);\n this.unbindRemovalTracker();\n }\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 unbindBasicListener(target) {\n const 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 getTooltipContent() {\n const { getContent, children } = this.props;\n\n // Generate tooltip content\n let content;\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(\n this.state.originTooltip,\n children,\n content,\n this.state.isMultiline\n );\n }\n\n isEmptyTip(placeholder) {\n return (\n (typeof placeholder === 'string' && placeholder === '') ||\n placeholder === null\n );\n }\n\n /**\n * When mouse enter, show the tooltip\n */\n 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 const targetArray = this.getTargetArray(this.props.id);\n const isMyElement = targetArray.some((ele) => ele === e.currentTarget);\n if (!isMyElement) return;\n }\n // Get the tooltip content\n // calculate in this phrase so that tip width height can be detected\n const { multiline, getContent } = this.props;\n const originTooltip = e.currentTarget.getAttribute('data-tip');\n const isMultiline =\n e.currentTarget.getAttribute('data-multiline') || multiline || false;\n\n // If it is focus event or called by ReactTooltip.show, switch to `solid` effect\n const switchToSolid = e instanceof window.FocusEvent || isGlobalCall;\n\n // if it needs to skip adding hide listener to scroll\n let scrollHide = true;\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 }\n\n // adding aria-describedby to target to make tooltips read by screen readers\n if (e && e.currentTarget && e.currentTarget.setAttribute) {\n e.currentTarget.setAttribute(\n 'aria-describedby',\n this.props.id || this.state.uuid\n );\n }\n\n // Make sure the correct place is set\n const desiredPlace =\n e.currentTarget.getAttribute('data-place') || this.props.place || 'top';\n const effect =\n (switchToSolid && 'solid') || this.getEffect(e.currentTarget);\n const offset =\n e.currentTarget.getAttribute('data-offset') || this.props.offset || {};\n const result = getPosition(\n e,\n e.currentTarget,\n this.tooltipRef,\n desiredPlace.split(',')[0],\n desiredPlace,\n effect,\n offset\n );\n if (result.position && this.props.overridePosition) {\n result.position = this.props.overridePosition(\n result.position,\n e,\n e.currentTarget,\n this.tooltipRef,\n desiredPlace,\n desiredPlace,\n effect,\n offset\n );\n }\n\n const place = result.isNewState\n ? result.newState.place\n : desiredPlace.split(',')[0];\n\n // To prevent previously created timers from triggering\n this.clearTimer();\n\n const target = e.currentTarget;\n\n const reshowDelay = this.state.show\n ? target.getAttribute('data-delay-update') || this.props.delayUpdate\n : 0;\n\n const self = this;\n\n const updateState = function updateState() {\n self.setState(\n {\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:\n target.getAttribute('data-text-color') ||\n self.props.textColor ||\n null,\n background:\n target.getAttribute('data-background-color') ||\n self.props.backgroundColor ||\n null,\n border:\n target.getAttribute('data-border-color') ||\n self.props.borderColor ||\n null,\n arrow:\n target.getAttribute('data-arrow-color') ||\n self.props.arrowColor ||\n null\n },\n customRadius: {\n tooltip:\n target.getAttribute('data-tooltip-radius') ||\n self.props.tooltipRadius ||\n '3',\n arrow:\n target.getAttribute('data-arrow-radius') ||\n self.props.arrowRadius ||\n '0'\n },\n effect: effect,\n offset: offset,\n padding: target.getAttribute('data-padding') || self.props.padding,\n html:\n (target.getAttribute('data-html')\n ? target.getAttribute('data-html') === 'true'\n : self.props.html) || false,\n delayShow:\n target.getAttribute('data-delay-show') || self.props.delayShow || 0,\n delayHide:\n target.getAttribute('data-delay-hide') || self.props.delayHide || 0,\n delayUpdate:\n target.getAttribute('data-delay-update') ||\n self.props.delayUpdate ||\n 0,\n border:\n (target.getAttribute('data-border')\n ? target.getAttribute('data-border') === 'true'\n : self.props.border) || false,\n borderClass:\n target.getAttribute('data-border-class') ||\n self.props.borderClass ||\n 'border',\n extraClass:\n target.getAttribute('data-class') ||\n self.props.class ||\n self.props.className ||\n '',\n disable:\n (target.getAttribute('data-tip-disable')\n ? target.getAttribute('data-tip-disable') === 'true'\n : self.props.disable) || false,\n currentTarget: target\n },\n () => {\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(() => {\n if (self.mount) {\n const { getContent } = self.props;\n const placeholder = getTipContent(\n originTooltip,\n '',\n getContent[0](),\n isMultiline\n );\n const isEmptyTip = self.isEmptyTip(placeholder);\n self.setState({ isEmptyTip });\n self.updatePosition();\n }\n }, getContent[1]);\n }\n }\n );\n };\n\n // If there is no delay call immediately, don't allow events to get in first.\n if (reshowDelay) {\n this.delayReshow = setTimeout(updateState, reshowDelay);\n } else {\n updateState();\n }\n }\n\n /**\n * When mouse hover, update tool tip\n */\n updateTooltip(e) {\n const { delayShow, disable } = this.state;\n const { afterShow, disable: disableProp } = this.props;\n const placeholder = this.getTooltipContent();\n const eventTarget = e.currentTarget || e.target;\n\n // Check if the mouse is actually over the tooltip, if so don't hide the tooltip\n if (this.mouseOnToolTip()) {\n return;\n }\n\n // if the tooltip is empty, disable the tooltip\n if (this.isEmptyTip(placeholder) || disable || disableProp) {\n return;\n }\n\n const delayTime = !this.state.show ? parseInt(delayShow, 10) : 0;\n\n const updateState = () => {\n if (\n (Array.isArray(placeholder) && placeholder.length > 0) ||\n placeholder\n ) {\n const isInvisible = !this.state.show;\n this.setState(\n {\n currentEvent: e,\n currentTarget: eventTarget,\n show: true\n },\n () => {\n this.updatePosition(() => {\n if (isInvisible && afterShow) {\n afterShow(e);\n }\n });\n }\n );\n }\n };\n\n if (this.delayShowLoop) {\n clearTimeout(this.delayShowLoop);\n }\n if (delayTime) {\n this.delayShowLoop = setTimeout(updateState, delayTime);\n } else {\n this.delayShowLoop = null;\n updateState();\n }\n }\n\n /*\n * If we're mousing over the tooltip remove it when we leave.\n */\n listenForTooltipExit() {\n const { show } = this.state;\n\n if (show && this.tooltipRef) {\n this.tooltipRef.addEventListener('mouseleave', this.hideTooltip);\n }\n }\n\n removeListenerForTooltipExit() {\n const { show } = this.state;\n\n if (show && this.tooltipRef) {\n this.tooltipRef.removeEventListener('mouseleave', this.hideTooltip);\n }\n }\n\n /**\n * When mouse leave, hide tooltip\n */\n hideTooltip(e, hasTarget, options = { isScroll: false }) {\n const { disable } = this.state;\n const { isScroll } = options;\n const delayHide = isScroll ? 0 : this.state.delayHide;\n const { afterHide, disable: disableProp } = this.props;\n const placeholder = this.getTooltipContent();\n if (!this.mount) return;\n if (this.isEmptyTip(placeholder) || disable || disableProp) return; // if the tooltip is empty, disable the tooltip\n if (hasTarget) {\n // Don't trigger other elements belongs to other ReactTooltip\n const targetArray = this.getTargetArray(this.props.id);\n const isMyElement = targetArray.some((ele) => ele === e.currentTarget);\n if (!isMyElement || !this.state.show) return;\n }\n\n // clean up aria-describedby when hiding tooltip\n if (e && e.currentTarget && e.currentTarget.removeAttribute) {\n e.currentTarget.removeAttribute('aria-describedby');\n }\n\n const resetState = () => {\n const isVisible = this.state.show;\n // Check if the mouse is actually over the tooltip, if so don't hide the tooltip\n if (this.mouseOnToolTip()) {\n this.listenForTooltipExit();\n return;\n }\n\n this.removeListenerForTooltipExit();\n\n this.setState({ show: false }, () => {\n this.removeScrollListener(this.state.currentTarget);\n if (isVisible && afterHide) {\n afterHide(e);\n }\n });\n };\n\n this.clearTimer();\n if (delayHide) {\n this.delayHideLoop = setTimeout(resetState, parseInt(delayHide, 10));\n } else {\n resetState();\n }\n }\n\n /**\n * When scroll, hide tooltip\n */\n hideTooltipOnScroll(event, hasTarget) {\n this.hideTooltip(event, hasTarget, { isScroll: true });\n }\n\n /**\n * Add scroll event listener when tooltip show\n * automatically hide the tooltip when scrolling\n */\n addScrollListener(currentTarget) {\n const isCaptureMode = this.isCapture(currentTarget);\n window.addEventListener('scroll', this.hideTooltipOnScroll, isCaptureMode);\n }\n\n removeScrollListener(currentTarget) {\n const isCaptureMode = this.isCapture(currentTarget);\n window.removeEventListener(\n 'scroll',\n this.hideTooltipOnScroll,\n isCaptureMode\n );\n }\n\n // Calculation the position\n updatePosition(callbackAfter) {\n const { currentEvent, currentTarget, place, desiredPlace, effect, offset } =\n this.state;\n const node = this.tooltipRef;\n const result = getPosition(\n currentEvent,\n currentTarget,\n node,\n place,\n desiredPlace,\n effect,\n offset\n );\n if (result.position && this.props.overridePosition) {\n result.position = this.props.overridePosition(\n result.position,\n currentEvent,\n currentTarget,\n node,\n place,\n desiredPlace,\n effect,\n offset\n );\n }\n\n if (result.isNewState) {\n // Switch to reverse placement\n return this.setState(result.newState, () => {\n this.updatePosition(callbackAfter);\n });\n }\n\n if (callbackAfter && typeof callbackAfter === 'function') {\n callbackAfter();\n }\n\n // Set tooltip position\n node.style.left = result.position.left + 'px';\n node.style.top = result.position.top + 'px';\n }\n\n /**\n * CLear all kinds of timeout of interval\n */\n clearTimer() {\n if (this.delayShowLoop) {\n clearTimeout(this.delayShowLoop);\n this.delayShowLoop = null;\n }\n if (this.delayHideLoop) {\n clearTimeout(this.delayHideLoop);\n this.delayHideLoop = null;\n }\n if (this.delayReshow) {\n clearTimeout(this.delayReshow);\n this.delayReshow = null;\n }\n if (this.intervalUpdateContent) {\n clearInterval(this.intervalUpdateContent);\n this.intervalUpdateContent = null;\n }\n }\n\n hasCustomColors() {\n return Boolean(\n Object.keys(this.state.customColors).find(\n (color) => color !== 'border' && this.state.customColors[color]\n ) ||\n (this.state.border && this.state.customColors['border'])\n );\n }\n\n render() {\n const { extraClass, html, ariaProps, disable, uuid } = this.state;\n const content = this.getTooltipContent();\n const isEmptyTip = this.isEmptyTip(content);\n const style = this.props.disableInternalStyle\n ? ''\n : generateTooltipStyle(\n this.state.uuid,\n this.state.customColors,\n this.state.type,\n this.state.border,\n this.state.padding,\n this.state.customRadius\n );\n\n const tooltipClass =\n '__react_component_tooltip' +\n ` ${this.state.uuid}` +\n (this.state.show && !disable && !isEmptyTip ? ' show' : '') +\n (this.state.border ? ' ' + this.state.borderClass : '') +\n ` place-${this.state.place}` + // top, bottom, left, right\n ` type-${this.hasCustomColors() ? 'custom' : this.state.type}` + // dark, success, warning, error, info, light, custom\n (this.props.delayUpdate ? ' allow_hover' : '') +\n (this.props.clickable ? ' allow_click' : '');\n\n let Wrapper = this.props.wrapper;\n\n if (ReactTooltip.supportedWrappers.indexOf(Wrapper) < 0) {\n Wrapper = ReactTooltip.defaultProps.wrapper;\n }\n\n const wrapperClassName = [tooltipClass, extraClass]\n .filter(Boolean)\n .join(' ');\n\n if (html) {\n const htmlContent = `${content}${\n style ? `\\n<style aria-hidden=\"true\">${style}</style>` : ''\n }`;\n\n return (\n <Wrapper\n className={`${wrapperClassName}`}\n id={this.props.id || uuid}\n ref={(ref) => (this.tooltipRef = ref)}\n {...ariaProps}\n data-id=\"tooltip\"\n dangerouslySetInnerHTML={{ __html: htmlContent }}\n />\n );\n } else {\n return (\n <Wrapper\n className={`${wrapperClassName}`}\n id={this.props.id || uuid}\n {...ariaProps}\n ref={(ref) => (this.tooltipRef = ref)}\n data-id=\"tooltip\"\n >\n {style && (\n <style\n dangerouslySetInnerHTML={{ __html: style }}\n aria-hidden=\"true\"\n />\n )}\n {content}\n </Wrapper>\n );\n }\n }\n}\n\nexport default ReactTooltip;\n"],"names":["global","fails","require$$0","NATIVE_BIND","call","getOwnPropertyDescriptor","createPropertyDescriptor","FunctionPrototype","uncurryThisRaw","toString","classofRaw","require$$1","uncurryThis","classof","require$$2","$Object","isNullOrUndefined","$TypeError","requireObjectCoercible","IndexedObject","toIndexedObject","documentAll","$documentAll","isCallable","isObject","getBuiltIn","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","require$$3","isSymbol","$String","tryToString","aCallable","getMethod","ordinaryToPrimitive","defineProperty","defineGlobalProperty","store","sharedModule","toObject","uid","shared","hasOwn","require$$4","require$$5","Symbol","wellKnownSymbol","toPrimitive","toPropertyKey","document","EXISTS","documentCreateElement","DESCRIPTORS","require$$6","IE8_DOM_DEFINE","require$$7","$getOwnPropertyDescriptor","anObject","V8_PROTOTYPE_DEFINE_BUG","CONFIGURABLE","definePropertyModule","createNonEnumerableProperty","inspectSource","WeakMap","sharedKey","hiddenKeys","TypeError","makeBuiltIn","makeBuiltInModule","defineBuiltIn","toIntegerOrInfinity","min","toAbsoluteIndex","toLength","lengthOfArrayLike","createMethod","push","enumBugKeys","internalObjectKeys","ownKeys","copyConstructorProperties","isForced","bind","isArray","TO_STRING_TAG","isConstructor","arraySpeciesConstructor","arraySpeciesCreate","objectKeys","html","addToUnscopables","GLOBAL","HIDE","REBUILD","SHOW","dispatchGlobalEvent","eventName","opts","event","window","CustomEvent","detail","createEvent","initEvent","dispatchEvent","target","hide","CONSTANT","rebuild","show","prototype","globalRebuild","mount","unbindListener","bindListener","globalShow","hasTarget","showTooltip","currentTarget","globalHide","hideTooltip","bindWindowEvents","resizeHide","removeEventListener","addEventListener","onWindowResize","unbindWindowEvents","checkStatus","dataEventOff","e","state","id","props","isCapture","currentItem","getAttribute","stopPropagation","setAttribute","setUntargetItems","getTargetArray","targetArray","i","length","customListeners","set","listener","map","Object","configurable","value","get","undefined","isCustomEvent","ele","customBindListener","eventOff","dataEvent","split","forEach","customListener","customUnbindListener","getEffect","dataEffect","effect","makeProxy","proxy","key","bodyListener","callback","options","respectEffect","customEvent","tip","forId","lastTarget","parentElement","isTargetBelongsToTooltip","findCustomEvents","dataAttribute","events","getBody","getElementsByTagName","isBodyMode","bodyMode","bindBodyListener","possibleCustomEvents","possibleCustomEventsOff","body","customEvents","customEventsOff","unbindBodyListener","listeners","bodyModeListeners","mouseover","mousemove","updateTooltip","mouseout","targetEventOff","getMutationObserverClass","MutationObserver","WebKitMutationObserver","MozMutationObserver","bindRemovalTracker","observer","mutations","m1","mutation","m2","removedNodes","element","observe","childList","subtree","removalTracker","unbindRemovalTracker","disconnect","node","place","desiredPlace","offset","getDimensions","tipWidth","width","tipHeight","height","targetWidth","targetHeight","getCurrentOffset","mouseX","mouseY","defaultOffset","getDefaultPosition","calculateOffset","extraOffsetX","extraOffsetY","windowWidth","innerWidth","windowHeight","innerHeight","getParent","parentTop","parentLeft","getTipOffsetLeft","offsetX","l","getTipOffsetRight","r","getTipOffsetTop","offsetY","t","getTipOffsetBottom","b","outsideLeft","p","outsideRight","outsideTop","outsideBottom","outside","inside","placeIsInside","top","bottom","left","right","choose","allPlaces","concat","d","chosen","isNewState","newPlace","newState","position","parseInt","getBoundingClientRect","boundingClientRect","targetTop","targetLeft","clientX","clientY","disToMouse","triangleHeight","cursorHeight","apply","JSON","parse","replace","currentParent","computedStyle","getComputedStyle","getPropertyValue","TipContent","children","getContent","multiline","regexp","test","React","parseAria","ariaObj","keys","filter","prop","nodeList","hasOwnProperty","Array","slice","fill","index","generateUUID","uuid","defaultColors","dark","text","background","border","arrow","success","warning","error","info","light","getDefaultPopupColors","type","_objectSpread","DEFAULT_PADDING","DEFAULT_RADIUS","tooltip","generateTooltipStyle","customColors","hasBorder","padding","radius","generateStyle","getPopupColors","colors","textColor","backgroundColor","borderColor","arrowColor","arrowRadius","tooltipRadius","ReactTooltip","staticMethods","windowListener","trackRemoval","borderClass","customRadius","extraClass","delayHide","delayShow","currentEvent","ariaProps","isEmptyTip","disable","originTooltip","isMultiline","delayShowLoop","delayHideLoop","delayReshow","intervalUpdateContent","methodArray","method","insecure","disableInternalStyle","injectStyles","clearTimer","removeScrollListener","tooltipRef","parentNode","domRoot","constructor","name","head","querySelector","style","createElement","textContent","baseCss","appendChild","matches","msMatchesSelector","mozMatchesSelector","selector","escaped","nodeListToArray","shadowRoot","querySelectorAll","globalEventOff","unbindBasicListener","isCaptureMode","content","getTipContent","placeholder","isGlobalCall","isMyElement","some","switchToSolid","FocusEvent","scrollHide","result","getPosition","overridePosition","reshowDelay","delayUpdate","self","updateState","setState","className","addScrollListener","setInterval","updatePosition","setTimeout","afterShow","disableProp","getTooltipContent","eventTarget","mouseOnToolTip","delayTime","isInvisible","clearTimeout","isScroll","afterHide","removeAttribute","resetState","isVisible","listenForTooltipExit","removeListenerForTooltipExit","hideTooltipOnScroll","callbackAfter","clearInterval","Boolean","find","color","tooltipClass","hasCustomColors","clickable","Wrapper","wrapper","supportedWrappers","indexOf","defaultProps","wrapperClassName","join","htmlContent","ref","__html","PropTypes","string","any","object","bool","number","func","nextProps","prevState","newAriaProps","isChanged","Component"],"mappings":"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"}