react-tooltip 4.2.20 → 4.3.0

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 CHANGED
@@ -1,11 +1,40 @@
1
1
  'use strict';
2
2
 
3
- function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
4
-
5
- var React = _interopDefault(require('react'));
6
- var PropTypes = _interopDefault(require('prop-types'));
3
+ var React = require('react');
4
+ var PropTypes = require('prop-types');
7
5
  var uuid = require('uuid');
8
6
 
7
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
+
9
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
10
+ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
11
+
12
+ function ownKeys$2(object, enumerableOnly) {
13
+ var keys = Object.keys(object);
14
+
15
+ if (Object.getOwnPropertySymbols) {
16
+ var symbols = Object.getOwnPropertySymbols(object);
17
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
18
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
19
+ })), keys.push.apply(keys, symbols);
20
+ }
21
+
22
+ return keys;
23
+ }
24
+
25
+ function _objectSpread2(target) {
26
+ for (var i = 1; i < arguments.length; i++) {
27
+ var source = null != arguments[i] ? arguments[i] : {};
28
+ i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) {
29
+ _defineProperty(target, key, source[key]);
30
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) {
31
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
32
+ });
33
+ }
34
+
35
+ return target;
36
+ }
37
+
9
38
  function _classCallCheck(instance, Constructor) {
10
39
  if (!(instance instanceof Constructor)) {
11
40
  throw new TypeError("Cannot call a class as a function");
@@ -25,6 +54,9 @@ function _defineProperties(target, props) {
25
54
  function _createClass(Constructor, protoProps, staticProps) {
26
55
  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
27
56
  if (staticProps) _defineProperties(Constructor, staticProps);
57
+ Object.defineProperty(Constructor, "prototype", {
58
+ writable: false
59
+ });
28
60
  return Constructor;
29
61
  }
30
62
 
@@ -44,7 +76,7 @@ function _defineProperty(obj, key, value) {
44
76
  }
45
77
 
46
78
  function _extends() {
47
- _extends = Object.assign || function (target) {
79
+ _extends = Object.assign ? Object.assign.bind() : function (target) {
48
80
  for (var i = 1; i < arguments.length; i++) {
49
81
  var source = arguments[i];
50
82
 
@@ -57,44 +89,9 @@ function _extends() {
57
89
 
58
90
  return target;
59
91
  };
60
-
61
92
  return _extends.apply(this, arguments);
62
93
  }
63
94
 
64
- function ownKeys(object, enumerableOnly) {
65
- var keys = Object.keys(object);
66
-
67
- if (Object.getOwnPropertySymbols) {
68
- var symbols = Object.getOwnPropertySymbols(object);
69
- if (enumerableOnly) symbols = symbols.filter(function (sym) {
70
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
71
- });
72
- keys.push.apply(keys, symbols);
73
- }
74
-
75
- return keys;
76
- }
77
-
78
- function _objectSpread2(target) {
79
- for (var i = 1; i < arguments.length; i++) {
80
- var source = arguments[i] != null ? arguments[i] : {};
81
-
82
- if (i % 2) {
83
- ownKeys(Object(source), true).forEach(function (key) {
84
- _defineProperty(target, key, source[key]);
85
- });
86
- } else if (Object.getOwnPropertyDescriptors) {
87
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
88
- } else {
89
- ownKeys(Object(source)).forEach(function (key) {
90
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
91
- });
92
- }
93
- }
94
-
95
- return target;
96
- }
97
-
98
95
  function _inherits(subClass, superClass) {
99
96
  if (typeof superClass !== "function" && superClass !== null) {
100
97
  throw new TypeError("Super expression must either be null or a function");
@@ -107,25 +104,40 @@ function _inherits(subClass, superClass) {
107
104
  configurable: true
108
105
  }
109
106
  });
107
+ Object.defineProperty(subClass, "prototype", {
108
+ writable: false
109
+ });
110
110
  if (superClass) _setPrototypeOf(subClass, superClass);
111
111
  }
112
112
 
113
113
  function _getPrototypeOf(o) {
114
- _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
114
+ _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {
115
115
  return o.__proto__ || Object.getPrototypeOf(o);
116
116
  };
117
117
  return _getPrototypeOf(o);
118
118
  }
119
119
 
120
120
  function _setPrototypeOf(o, p) {
121
- _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
121
+ _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
122
122
  o.__proto__ = p;
123
123
  return o;
124
124
  };
125
-
126
125
  return _setPrototypeOf(o, p);
127
126
  }
128
127
 
128
+ function _isNativeReflectConstruct() {
129
+ if (typeof Reflect === "undefined" || !Reflect.construct) return false;
130
+ if (Reflect.construct.sham) return false;
131
+ if (typeof Proxy === "function") return true;
132
+
133
+ try {
134
+ Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
135
+ return true;
136
+ } catch (e) {
137
+ return false;
138
+ }
139
+ }
140
+
129
141
  function _assertThisInitialized(self) {
130
142
  if (self === void 0) {
131
143
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
@@ -137,11 +149,1469 @@ function _assertThisInitialized(self) {
137
149
  function _possibleConstructorReturn(self, call) {
138
150
  if (call && (typeof call === "object" || typeof call === "function")) {
139
151
  return call;
152
+ } else if (call !== void 0) {
153
+ throw new TypeError("Derived constructors may only return object or undefined");
140
154
  }
141
155
 
142
156
  return _assertThisInitialized(self);
143
157
  }
144
158
 
159
+ function _createSuper(Derived) {
160
+ var hasNativeReflectConstruct = _isNativeReflectConstruct();
161
+
162
+ return function _createSuperInternal() {
163
+ var Super = _getPrototypeOf(Derived),
164
+ result;
165
+
166
+ if (hasNativeReflectConstruct) {
167
+ var NewTarget = _getPrototypeOf(this).constructor;
168
+
169
+ result = Reflect.construct(Super, arguments, NewTarget);
170
+ } else {
171
+ result = Super.apply(this, arguments);
172
+ }
173
+
174
+ return _possibleConstructorReturn(this, result);
175
+ };
176
+ }
177
+
178
+ function _unsupportedIterableToArray(o, minLen) {
179
+ if (!o) return;
180
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
181
+ var n = Object.prototype.toString.call(o).slice(8, -1);
182
+ if (n === "Object" && o.constructor) n = o.constructor.name;
183
+ if (n === "Map" || n === "Set") return Array.from(o);
184
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
185
+ }
186
+
187
+ function _arrayLikeToArray(arr, len) {
188
+ if (len == null || len > arr.length) len = arr.length;
189
+
190
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
191
+
192
+ return arr2;
193
+ }
194
+
195
+ function _createForOfIteratorHelper(o, allowArrayLike) {
196
+ var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
197
+
198
+ if (!it) {
199
+ if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
200
+ if (it) o = it;
201
+ var i = 0;
202
+
203
+ var F = function () {};
204
+
205
+ return {
206
+ s: F,
207
+ n: function () {
208
+ if (i >= o.length) return {
209
+ done: true
210
+ };
211
+ return {
212
+ done: false,
213
+ value: o[i++]
214
+ };
215
+ },
216
+ e: function (e) {
217
+ throw e;
218
+ },
219
+ f: F
220
+ };
221
+ }
222
+
223
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
224
+ }
225
+
226
+ var normalCompletion = true,
227
+ didErr = false,
228
+ err;
229
+ return {
230
+ s: function () {
231
+ it = it.call(o);
232
+ },
233
+ n: function () {
234
+ var step = it.next();
235
+ normalCompletion = step.done;
236
+ return step;
237
+ },
238
+ e: function (e) {
239
+ didErr = true;
240
+ err = e;
241
+ },
242
+ f: function () {
243
+ try {
244
+ if (!normalCompletion && it.return != null) it.return();
245
+ } finally {
246
+ if (didErr) throw err;
247
+ }
248
+ }
249
+ };
250
+ }
251
+
252
+ var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
253
+
254
+ var check = function (it) {
255
+ return it && it.Math == Math && it;
256
+ };
257
+
258
+ // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
259
+ var global$a =
260
+ // eslint-disable-next-line es-x/no-global-this -- safe
261
+ check(typeof globalThis == 'object' && globalThis) ||
262
+ check(typeof window == 'object' && window) ||
263
+ // eslint-disable-next-line no-restricted-globals -- safe
264
+ check(typeof self == 'object' && self) ||
265
+ check(typeof commonjsGlobal == 'object' && commonjsGlobal) ||
266
+ // eslint-disable-next-line no-new-func -- fallback
267
+ (function () { return this; })() || Function('return this')();
268
+
269
+ var objectGetOwnPropertyDescriptor = {};
270
+
271
+ var fails$9 = function (exec) {
272
+ try {
273
+ return !!exec();
274
+ } catch (error) {
275
+ return true;
276
+ }
277
+ };
278
+
279
+ var fails$8 = fails$9;
280
+
281
+ // Detect IE8's incomplete defineProperty implementation
282
+ var descriptors = !fails$8(function () {
283
+ // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing
284
+ return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
285
+ });
286
+
287
+ var fails$7 = fails$9;
288
+
289
+ var functionBindNative = !fails$7(function () {
290
+ // eslint-disable-next-line es-x/no-function-prototype-bind -- safe
291
+ var test = (function () { /* empty */ }).bind();
292
+ // eslint-disable-next-line no-prototype-builtins -- safe
293
+ return typeof test != 'function' || test.hasOwnProperty('prototype');
294
+ });
295
+
296
+ var NATIVE_BIND$2 = functionBindNative;
297
+
298
+ var call$4 = Function.prototype.call;
299
+
300
+ var functionCall = NATIVE_BIND$2 ? call$4.bind(call$4) : function () {
301
+ return call$4.apply(call$4, arguments);
302
+ };
303
+
304
+ var objectPropertyIsEnumerable = {};
305
+
306
+ var $propertyIsEnumerable = {}.propertyIsEnumerable;
307
+ // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe
308
+ var getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor;
309
+
310
+ // Nashorn ~ JDK8 bug
311
+ var NASHORN_BUG = getOwnPropertyDescriptor$1 && !$propertyIsEnumerable.call({ 1: 2 }, 1);
312
+
313
+ // `Object.prototype.propertyIsEnumerable` method implementation
314
+ // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
315
+ objectPropertyIsEnumerable.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
316
+ var descriptor = getOwnPropertyDescriptor$1(this, V);
317
+ return !!descriptor && descriptor.enumerable;
318
+ } : $propertyIsEnumerable;
319
+
320
+ var createPropertyDescriptor$2 = function (bitmap, value) {
321
+ return {
322
+ enumerable: !(bitmap & 1),
323
+ configurable: !(bitmap & 2),
324
+ writable: !(bitmap & 4),
325
+ value: value
326
+ };
327
+ };
328
+
329
+ var NATIVE_BIND$1 = functionBindNative;
330
+
331
+ var FunctionPrototype$1 = Function.prototype;
332
+ var bind$2 = FunctionPrototype$1.bind;
333
+ var call$3 = FunctionPrototype$1.call;
334
+ var uncurryThis$c = NATIVE_BIND$1 && bind$2.bind(call$3, call$3);
335
+
336
+ var functionUncurryThis = NATIVE_BIND$1 ? function (fn) {
337
+ return fn && uncurryThis$c(fn);
338
+ } : function (fn) {
339
+ return fn && function () {
340
+ return call$3.apply(fn, arguments);
341
+ };
342
+ };
343
+
344
+ var uncurryThis$b = functionUncurryThis;
345
+
346
+ var toString$1 = uncurryThis$b({}.toString);
347
+ var stringSlice = uncurryThis$b(''.slice);
348
+
349
+ var classofRaw$1 = function (it) {
350
+ return stringSlice(toString$1(it), 8, -1);
351
+ };
352
+
353
+ var uncurryThis$a = functionUncurryThis;
354
+ var fails$6 = fails$9;
355
+ var classof$3 = classofRaw$1;
356
+
357
+ var $Object$3 = Object;
358
+ var split = uncurryThis$a(''.split);
359
+
360
+ // fallback for non-array-like ES3 and non-enumerable old V8 strings
361
+ var indexedObject = fails$6(function () {
362
+ // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
363
+ // eslint-disable-next-line no-prototype-builtins -- safe
364
+ return !$Object$3('z').propertyIsEnumerable(0);
365
+ }) ? function (it) {
366
+ return classof$3(it) == 'String' ? split(it, '') : $Object$3(it);
367
+ } : $Object$3;
368
+
369
+ var $TypeError$5 = TypeError;
370
+
371
+ // `RequireObjectCoercible` abstract operation
372
+ // https://tc39.es/ecma262/#sec-requireobjectcoercible
373
+ var requireObjectCoercible$2 = function (it) {
374
+ if (it == undefined) throw $TypeError$5("Can't call method on " + it);
375
+ return it;
376
+ };
377
+
378
+ // toObject with fallback for non-array-like ES3 strings
379
+ var IndexedObject$1 = indexedObject;
380
+ var requireObjectCoercible$1 = requireObjectCoercible$2;
381
+
382
+ var toIndexedObject$4 = function (it) {
383
+ return IndexedObject$1(requireObjectCoercible$1(it));
384
+ };
385
+
386
+ // `IsCallable` abstract operation
387
+ // https://tc39.es/ecma262/#sec-iscallable
388
+ var isCallable$c = function (argument) {
389
+ return typeof argument == 'function';
390
+ };
391
+
392
+ var isCallable$b = isCallable$c;
393
+
394
+ var isObject$6 = function (it) {
395
+ return typeof it == 'object' ? it !== null : isCallable$b(it);
396
+ };
397
+
398
+ var global$9 = global$a;
399
+ var isCallable$a = isCallable$c;
400
+
401
+ var aFunction = function (argument) {
402
+ return isCallable$a(argument) ? argument : undefined;
403
+ };
404
+
405
+ var getBuiltIn$5 = function (namespace, method) {
406
+ return arguments.length < 2 ? aFunction(global$9[namespace]) : global$9[namespace] && global$9[namespace][method];
407
+ };
408
+
409
+ var uncurryThis$9 = functionUncurryThis;
410
+
411
+ var objectIsPrototypeOf = uncurryThis$9({}.isPrototypeOf);
412
+
413
+ var getBuiltIn$4 = getBuiltIn$5;
414
+
415
+ var engineUserAgent = getBuiltIn$4('navigator', 'userAgent') || '';
416
+
417
+ var global$8 = global$a;
418
+ var userAgent = engineUserAgent;
419
+
420
+ var process = global$8.process;
421
+ var Deno = global$8.Deno;
422
+ var versions = process && process.versions || Deno && Deno.version;
423
+ var v8 = versions && versions.v8;
424
+ var match, version;
425
+
426
+ if (v8) {
427
+ match = v8.split('.');
428
+ // in old Chrome, versions of V8 isn't V8 = Chrome / 10
429
+ // but their correct versions are not interesting for us
430
+ version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);
431
+ }
432
+
433
+ // BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`
434
+ // so check `userAgent` even if `.v8` exists, but 0
435
+ if (!version && userAgent) {
436
+ match = userAgent.match(/Edge\/(\d+)/);
437
+ if (!match || match[1] >= 74) {
438
+ match = userAgent.match(/Chrome\/(\d+)/);
439
+ if (match) version = +match[1];
440
+ }
441
+ }
442
+
443
+ var engineV8Version = version;
444
+
445
+ /* eslint-disable es-x/no-symbol -- required for testing */
446
+
447
+ var V8_VERSION = engineV8Version;
448
+ var fails$5 = fails$9;
449
+
450
+ // eslint-disable-next-line es-x/no-object-getownpropertysymbols -- required for testing
451
+ var nativeSymbol = !!Object.getOwnPropertySymbols && !fails$5(function () {
452
+ var symbol = Symbol();
453
+ // Chrome 38 Symbol has incorrect toString conversion
454
+ // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances
455
+ return !String(symbol) || !(Object(symbol) instanceof Symbol) ||
456
+ // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
457
+ !Symbol.sham && V8_VERSION && V8_VERSION < 41;
458
+ });
459
+
460
+ /* eslint-disable es-x/no-symbol -- required for testing */
461
+
462
+ var NATIVE_SYMBOL$1 = nativeSymbol;
463
+
464
+ var useSymbolAsUid = NATIVE_SYMBOL$1
465
+ && !Symbol.sham
466
+ && typeof Symbol.iterator == 'symbol';
467
+
468
+ var getBuiltIn$3 = getBuiltIn$5;
469
+ var isCallable$9 = isCallable$c;
470
+ var isPrototypeOf = objectIsPrototypeOf;
471
+ var USE_SYMBOL_AS_UID$1 = useSymbolAsUid;
472
+
473
+ var $Object$2 = Object;
474
+
475
+ var isSymbol$2 = USE_SYMBOL_AS_UID$1 ? function (it) {
476
+ return typeof it == 'symbol';
477
+ } : function (it) {
478
+ var $Symbol = getBuiltIn$3('Symbol');
479
+ return isCallable$9($Symbol) && isPrototypeOf($Symbol.prototype, $Object$2(it));
480
+ };
481
+
482
+ var $String$1 = String;
483
+
484
+ var tryToString$1 = function (argument) {
485
+ try {
486
+ return $String$1(argument);
487
+ } catch (error) {
488
+ return 'Object';
489
+ }
490
+ };
491
+
492
+ var isCallable$8 = isCallable$c;
493
+ var tryToString = tryToString$1;
494
+
495
+ var $TypeError$4 = TypeError;
496
+
497
+ // `Assert: IsCallable(argument) is true`
498
+ var aCallable$2 = function (argument) {
499
+ if (isCallable$8(argument)) return argument;
500
+ throw $TypeError$4(tryToString(argument) + ' is not a function');
501
+ };
502
+
503
+ var aCallable$1 = aCallable$2;
504
+
505
+ // `GetMethod` abstract operation
506
+ // https://tc39.es/ecma262/#sec-getmethod
507
+ var getMethod$1 = function (V, P) {
508
+ var func = V[P];
509
+ return func == null ? undefined : aCallable$1(func);
510
+ };
511
+
512
+ var call$2 = functionCall;
513
+ var isCallable$7 = isCallable$c;
514
+ var isObject$5 = isObject$6;
515
+
516
+ var $TypeError$3 = TypeError;
517
+
518
+ // `OrdinaryToPrimitive` abstract operation
519
+ // https://tc39.es/ecma262/#sec-ordinarytoprimitive
520
+ var ordinaryToPrimitive$1 = function (input, pref) {
521
+ var fn, val;
522
+ if (pref === 'string' && isCallable$7(fn = input.toString) && !isObject$5(val = call$2(fn, input))) return val;
523
+ if (isCallable$7(fn = input.valueOf) && !isObject$5(val = call$2(fn, input))) return val;
524
+ if (pref !== 'string' && isCallable$7(fn = input.toString) && !isObject$5(val = call$2(fn, input))) return val;
525
+ throw $TypeError$3("Can't convert object to primitive value");
526
+ };
527
+
528
+ var shared$3 = {exports: {}};
529
+
530
+ var global$7 = global$a;
531
+
532
+ // eslint-disable-next-line es-x/no-object-defineproperty -- safe
533
+ var defineProperty$2 = Object.defineProperty;
534
+
535
+ var defineGlobalProperty$3 = function (key, value) {
536
+ try {
537
+ defineProperty$2(global$7, key, { value: value, configurable: true, writable: true });
538
+ } catch (error) {
539
+ global$7[key] = value;
540
+ } return value;
541
+ };
542
+
543
+ var global$6 = global$a;
544
+ var defineGlobalProperty$2 = defineGlobalProperty$3;
545
+
546
+ var SHARED = '__core-js_shared__';
547
+ var store$3 = global$6[SHARED] || defineGlobalProperty$2(SHARED, {});
548
+
549
+ var sharedStore = store$3;
550
+
551
+ var store$2 = sharedStore;
552
+
553
+ (shared$3.exports = function (key, value) {
554
+ return store$2[key] || (store$2[key] = value !== undefined ? value : {});
555
+ })('versions', []).push({
556
+ version: '3.24.1',
557
+ mode: 'global',
558
+ copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',
559
+ license: 'https://github.com/zloirock/core-js/blob/v3.24.1/LICENSE',
560
+ source: 'https://github.com/zloirock/core-js'
561
+ });
562
+
563
+ var requireObjectCoercible = requireObjectCoercible$2;
564
+
565
+ var $Object$1 = Object;
566
+
567
+ // `ToObject` abstract operation
568
+ // https://tc39.es/ecma262/#sec-toobject
569
+ var toObject$2 = function (argument) {
570
+ return $Object$1(requireObjectCoercible(argument));
571
+ };
572
+
573
+ var uncurryThis$8 = functionUncurryThis;
574
+ var toObject$1 = toObject$2;
575
+
576
+ var hasOwnProperty = uncurryThis$8({}.hasOwnProperty);
577
+
578
+ // `HasOwnProperty` abstract operation
579
+ // https://tc39.es/ecma262/#sec-hasownproperty
580
+ // eslint-disable-next-line es-x/no-object-hasown -- safe
581
+ var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) {
582
+ return hasOwnProperty(toObject$1(it), key);
583
+ };
584
+
585
+ var uncurryThis$7 = functionUncurryThis;
586
+
587
+ var id = 0;
588
+ var postfix = Math.random();
589
+ var toString = uncurryThis$7(1.0.toString);
590
+
591
+ var uid$2 = function (key) {
592
+ return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);
593
+ };
594
+
595
+ var global$5 = global$a;
596
+ var shared$2 = shared$3.exports;
597
+ var hasOwn$6 = hasOwnProperty_1;
598
+ var uid$1 = uid$2;
599
+ var NATIVE_SYMBOL = nativeSymbol;
600
+ var USE_SYMBOL_AS_UID = useSymbolAsUid;
601
+
602
+ var WellKnownSymbolsStore = shared$2('wks');
603
+ var Symbol$1 = global$5.Symbol;
604
+ var symbolFor = Symbol$1 && Symbol$1['for'];
605
+ var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid$1;
606
+
607
+ var wellKnownSymbol$5 = function (name) {
608
+ if (!hasOwn$6(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {
609
+ var description = 'Symbol.' + name;
610
+ if (NATIVE_SYMBOL && hasOwn$6(Symbol$1, name)) {
611
+ WellKnownSymbolsStore[name] = Symbol$1[name];
612
+ } else if (USE_SYMBOL_AS_UID && symbolFor) {
613
+ WellKnownSymbolsStore[name] = symbolFor(description);
614
+ } else {
615
+ WellKnownSymbolsStore[name] = createWellKnownSymbol(description);
616
+ }
617
+ } return WellKnownSymbolsStore[name];
618
+ };
619
+
620
+ var call$1 = functionCall;
621
+ var isObject$4 = isObject$6;
622
+ var isSymbol$1 = isSymbol$2;
623
+ var getMethod = getMethod$1;
624
+ var ordinaryToPrimitive = ordinaryToPrimitive$1;
625
+ var wellKnownSymbol$4 = wellKnownSymbol$5;
626
+
627
+ var $TypeError$2 = TypeError;
628
+ var TO_PRIMITIVE = wellKnownSymbol$4('toPrimitive');
629
+
630
+ // `ToPrimitive` abstract operation
631
+ // https://tc39.es/ecma262/#sec-toprimitive
632
+ var toPrimitive$1 = function (input, pref) {
633
+ if (!isObject$4(input) || isSymbol$1(input)) return input;
634
+ var exoticToPrim = getMethod(input, TO_PRIMITIVE);
635
+ var result;
636
+ if (exoticToPrim) {
637
+ if (pref === undefined) pref = 'default';
638
+ result = call$1(exoticToPrim, input, pref);
639
+ if (!isObject$4(result) || isSymbol$1(result)) return result;
640
+ throw $TypeError$2("Can't convert object to primitive value");
641
+ }
642
+ if (pref === undefined) pref = 'number';
643
+ return ordinaryToPrimitive(input, pref);
644
+ };
645
+
646
+ var toPrimitive = toPrimitive$1;
647
+ var isSymbol = isSymbol$2;
648
+
649
+ // `ToPropertyKey` abstract operation
650
+ // https://tc39.es/ecma262/#sec-topropertykey
651
+ var toPropertyKey$2 = function (argument) {
652
+ var key = toPrimitive(argument, 'string');
653
+ return isSymbol(key) ? key : key + '';
654
+ };
655
+
656
+ var global$4 = global$a;
657
+ var isObject$3 = isObject$6;
658
+
659
+ var document$1 = global$4.document;
660
+ // typeof document.createElement is 'object' in old IE
661
+ var EXISTS$1 = isObject$3(document$1) && isObject$3(document$1.createElement);
662
+
663
+ var documentCreateElement$1 = function (it) {
664
+ return EXISTS$1 ? document$1.createElement(it) : {};
665
+ };
666
+
667
+ var DESCRIPTORS$7 = descriptors;
668
+ var fails$4 = fails$9;
669
+ var createElement = documentCreateElement$1;
670
+
671
+ // Thanks to IE8 for its funny defineProperty
672
+ var ie8DomDefine = !DESCRIPTORS$7 && !fails$4(function () {
673
+ // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing
674
+ return Object.defineProperty(createElement('div'), 'a', {
675
+ get: function () { return 7; }
676
+ }).a != 7;
677
+ });
678
+
679
+ var DESCRIPTORS$6 = descriptors;
680
+ var call = functionCall;
681
+ var propertyIsEnumerableModule = objectPropertyIsEnumerable;
682
+ var createPropertyDescriptor$1 = createPropertyDescriptor$2;
683
+ var toIndexedObject$3 = toIndexedObject$4;
684
+ var toPropertyKey$1 = toPropertyKey$2;
685
+ var hasOwn$5 = hasOwnProperty_1;
686
+ var IE8_DOM_DEFINE$1 = ie8DomDefine;
687
+
688
+ // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe
689
+ var $getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor;
690
+
691
+ // `Object.getOwnPropertyDescriptor` method
692
+ // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
693
+ objectGetOwnPropertyDescriptor.f = DESCRIPTORS$6 ? $getOwnPropertyDescriptor$1 : function getOwnPropertyDescriptor(O, P) {
694
+ O = toIndexedObject$3(O);
695
+ P = toPropertyKey$1(P);
696
+ if (IE8_DOM_DEFINE$1) try {
697
+ return $getOwnPropertyDescriptor$1(O, P);
698
+ } catch (error) { /* empty */ }
699
+ if (hasOwn$5(O, P)) return createPropertyDescriptor$1(!call(propertyIsEnumerableModule.f, O, P), O[P]);
700
+ };
701
+
702
+ var objectDefineProperty = {};
703
+
704
+ var DESCRIPTORS$5 = descriptors;
705
+ var fails$3 = fails$9;
706
+
707
+ // V8 ~ Chrome 36-
708
+ // https://bugs.chromium.org/p/v8/issues/detail?id=3334
709
+ var v8PrototypeDefineBug = DESCRIPTORS$5 && fails$3(function () {
710
+ // eslint-disable-next-line es-x/no-object-defineproperty -- required for testing
711
+ return Object.defineProperty(function () { /* empty */ }, 'prototype', {
712
+ value: 42,
713
+ writable: false
714
+ }).prototype != 42;
715
+ });
716
+
717
+ var isObject$2 = isObject$6;
718
+
719
+ var $String = String;
720
+ var $TypeError$1 = TypeError;
721
+
722
+ // `Assert: Type(argument) is Object`
723
+ var anObject$4 = function (argument) {
724
+ if (isObject$2(argument)) return argument;
725
+ throw $TypeError$1($String(argument) + ' is not an object');
726
+ };
727
+
728
+ var DESCRIPTORS$4 = descriptors;
729
+ var IE8_DOM_DEFINE = ie8DomDefine;
730
+ var V8_PROTOTYPE_DEFINE_BUG$1 = v8PrototypeDefineBug;
731
+ var anObject$3 = anObject$4;
732
+ var toPropertyKey = toPropertyKey$2;
733
+
734
+ var $TypeError = TypeError;
735
+ // eslint-disable-next-line es-x/no-object-defineproperty -- safe
736
+ var $defineProperty = Object.defineProperty;
737
+ // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe
738
+ var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
739
+ var ENUMERABLE = 'enumerable';
740
+ var CONFIGURABLE$1 = 'configurable';
741
+ var WRITABLE = 'writable';
742
+
743
+ // `Object.defineProperty` method
744
+ // https://tc39.es/ecma262/#sec-object.defineproperty
745
+ objectDefineProperty.f = DESCRIPTORS$4 ? V8_PROTOTYPE_DEFINE_BUG$1 ? function defineProperty(O, P, Attributes) {
746
+ anObject$3(O);
747
+ P = toPropertyKey(P);
748
+ anObject$3(Attributes);
749
+ if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
750
+ var current = $getOwnPropertyDescriptor(O, P);
751
+ if (current && current[WRITABLE]) {
752
+ O[P] = Attributes.value;
753
+ Attributes = {
754
+ configurable: CONFIGURABLE$1 in Attributes ? Attributes[CONFIGURABLE$1] : current[CONFIGURABLE$1],
755
+ enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],
756
+ writable: false
757
+ };
758
+ }
759
+ } return $defineProperty(O, P, Attributes);
760
+ } : $defineProperty : function defineProperty(O, P, Attributes) {
761
+ anObject$3(O);
762
+ P = toPropertyKey(P);
763
+ anObject$3(Attributes);
764
+ if (IE8_DOM_DEFINE) try {
765
+ return $defineProperty(O, P, Attributes);
766
+ } catch (error) { /* empty */ }
767
+ if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');
768
+ if ('value' in Attributes) O[P] = Attributes.value;
769
+ return O;
770
+ };
771
+
772
+ var DESCRIPTORS$3 = descriptors;
773
+ var definePropertyModule$3 = objectDefineProperty;
774
+ var createPropertyDescriptor = createPropertyDescriptor$2;
775
+
776
+ var createNonEnumerableProperty$2 = DESCRIPTORS$3 ? function (object, key, value) {
777
+ return definePropertyModule$3.f(object, key, createPropertyDescriptor(1, value));
778
+ } : function (object, key, value) {
779
+ object[key] = value;
780
+ return object;
781
+ };
782
+
783
+ var makeBuiltIn$2 = {exports: {}};
784
+
785
+ var DESCRIPTORS$2 = descriptors;
786
+ var hasOwn$4 = hasOwnProperty_1;
787
+
788
+ var FunctionPrototype = Function.prototype;
789
+ // eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe
790
+ var getDescriptor = DESCRIPTORS$2 && Object.getOwnPropertyDescriptor;
791
+
792
+ var EXISTS = hasOwn$4(FunctionPrototype, 'name');
793
+ // additional protection from minified / mangled / dropped function names
794
+ var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';
795
+ var CONFIGURABLE = EXISTS && (!DESCRIPTORS$2 || (DESCRIPTORS$2 && getDescriptor(FunctionPrototype, 'name').configurable));
796
+
797
+ var functionName = {
798
+ EXISTS: EXISTS,
799
+ PROPER: PROPER,
800
+ CONFIGURABLE: CONFIGURABLE
801
+ };
802
+
803
+ var uncurryThis$6 = functionUncurryThis;
804
+ var isCallable$6 = isCallable$c;
805
+ var store$1 = sharedStore;
806
+
807
+ var functionToString = uncurryThis$6(Function.toString);
808
+
809
+ // this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper
810
+ if (!isCallable$6(store$1.inspectSource)) {
811
+ store$1.inspectSource = function (it) {
812
+ return functionToString(it);
813
+ };
814
+ }
815
+
816
+ var inspectSource$3 = store$1.inspectSource;
817
+
818
+ var global$3 = global$a;
819
+ var isCallable$5 = isCallable$c;
820
+ var inspectSource$2 = inspectSource$3;
821
+
822
+ var WeakMap$1 = global$3.WeakMap;
823
+
824
+ var nativeWeakMap = isCallable$5(WeakMap$1) && /native code/.test(inspectSource$2(WeakMap$1));
825
+
826
+ var shared$1 = shared$3.exports;
827
+ var uid = uid$2;
828
+
829
+ var keys = shared$1('keys');
830
+
831
+ var sharedKey$2 = function (key) {
832
+ return keys[key] || (keys[key] = uid(key));
833
+ };
834
+
835
+ var hiddenKeys$4 = {};
836
+
837
+ var NATIVE_WEAK_MAP = nativeWeakMap;
838
+ var global$2 = global$a;
839
+ var uncurryThis$5 = functionUncurryThis;
840
+ var isObject$1 = isObject$6;
841
+ var createNonEnumerableProperty$1 = createNonEnumerableProperty$2;
842
+ var hasOwn$3 = hasOwnProperty_1;
843
+ var shared = sharedStore;
844
+ var sharedKey$1 = sharedKey$2;
845
+ var hiddenKeys$3 = hiddenKeys$4;
846
+
847
+ var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
848
+ var TypeError$1 = global$2.TypeError;
849
+ var WeakMap = global$2.WeakMap;
850
+ var set, get, has;
851
+
852
+ var enforce = function (it) {
853
+ return has(it) ? get(it) : set(it, {});
854
+ };
855
+
856
+ var getterFor = function (TYPE) {
857
+ return function (it) {
858
+ var state;
859
+ if (!isObject$1(it) || (state = get(it)).type !== TYPE) {
860
+ throw TypeError$1('Incompatible receiver, ' + TYPE + ' required');
861
+ } return state;
862
+ };
863
+ };
864
+
865
+ if (NATIVE_WEAK_MAP || shared.state) {
866
+ var store = shared.state || (shared.state = new WeakMap());
867
+ var wmget = uncurryThis$5(store.get);
868
+ var wmhas = uncurryThis$5(store.has);
869
+ var wmset = uncurryThis$5(store.set);
870
+ set = function (it, metadata) {
871
+ if (wmhas(store, it)) throw new TypeError$1(OBJECT_ALREADY_INITIALIZED);
872
+ metadata.facade = it;
873
+ wmset(store, it, metadata);
874
+ return metadata;
875
+ };
876
+ get = function (it) {
877
+ return wmget(store, it) || {};
878
+ };
879
+ has = function (it) {
880
+ return wmhas(store, it);
881
+ };
882
+ } else {
883
+ var STATE = sharedKey$1('state');
884
+ hiddenKeys$3[STATE] = true;
885
+ set = function (it, metadata) {
886
+ if (hasOwn$3(it, STATE)) throw new TypeError$1(OBJECT_ALREADY_INITIALIZED);
887
+ metadata.facade = it;
888
+ createNonEnumerableProperty$1(it, STATE, metadata);
889
+ return metadata;
890
+ };
891
+ get = function (it) {
892
+ return hasOwn$3(it, STATE) ? it[STATE] : {};
893
+ };
894
+ has = function (it) {
895
+ return hasOwn$3(it, STATE);
896
+ };
897
+ }
898
+
899
+ var internalState = {
900
+ set: set,
901
+ get: get,
902
+ has: has,
903
+ enforce: enforce,
904
+ getterFor: getterFor
905
+ };
906
+
907
+ var fails$2 = fails$9;
908
+ var isCallable$4 = isCallable$c;
909
+ var hasOwn$2 = hasOwnProperty_1;
910
+ var DESCRIPTORS$1 = descriptors;
911
+ var CONFIGURABLE_FUNCTION_NAME = functionName.CONFIGURABLE;
912
+ var inspectSource$1 = inspectSource$3;
913
+ var InternalStateModule = internalState;
914
+
915
+ var enforceInternalState = InternalStateModule.enforce;
916
+ var getInternalState = InternalStateModule.get;
917
+ // eslint-disable-next-line es-x/no-object-defineproperty -- safe
918
+ var defineProperty$1 = Object.defineProperty;
919
+
920
+ var CONFIGURABLE_LENGTH = DESCRIPTORS$1 && !fails$2(function () {
921
+ return defineProperty$1(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;
922
+ });
923
+
924
+ var TEMPLATE = String(String).split('String');
925
+
926
+ var makeBuiltIn$1 = makeBuiltIn$2.exports = function (value, name, options) {
927
+ if (String(name).slice(0, 7) === 'Symbol(') {
928
+ name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']';
929
+ }
930
+ if (options && options.getter) name = 'get ' + name;
931
+ if (options && options.setter) name = 'set ' + name;
932
+ if (!hasOwn$2(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {
933
+ if (DESCRIPTORS$1) defineProperty$1(value, 'name', { value: name, configurable: true });
934
+ else value.name = name;
935
+ }
936
+ if (CONFIGURABLE_LENGTH && options && hasOwn$2(options, 'arity') && value.length !== options.arity) {
937
+ defineProperty$1(value, 'length', { value: options.arity });
938
+ }
939
+ try {
940
+ if (options && hasOwn$2(options, 'constructor') && options.constructor) {
941
+ if (DESCRIPTORS$1) defineProperty$1(value, 'prototype', { writable: false });
942
+ // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable
943
+ } else if (value.prototype) value.prototype = undefined;
944
+ } catch (error) { /* empty */ }
945
+ var state = enforceInternalState(value);
946
+ if (!hasOwn$2(state, 'source')) {
947
+ state.source = TEMPLATE.join(typeof name == 'string' ? name : '');
948
+ } return value;
949
+ };
950
+
951
+ // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
952
+ // eslint-disable-next-line no-extend-native -- required
953
+ Function.prototype.toString = makeBuiltIn$1(function toString() {
954
+ return isCallable$4(this) && getInternalState(this).source || inspectSource$1(this);
955
+ }, 'toString');
956
+
957
+ var isCallable$3 = isCallable$c;
958
+ var definePropertyModule$2 = objectDefineProperty;
959
+ var makeBuiltIn = makeBuiltIn$2.exports;
960
+ var defineGlobalProperty$1 = defineGlobalProperty$3;
961
+
962
+ var defineBuiltIn$1 = function (O, key, value, options) {
963
+ if (!options) options = {};
964
+ var simple = options.enumerable;
965
+ var name = options.name !== undefined ? options.name : key;
966
+ if (isCallable$3(value)) makeBuiltIn(value, name, options);
967
+ if (options.global) {
968
+ if (simple) O[key] = value;
969
+ else defineGlobalProperty$1(key, value);
970
+ } else {
971
+ try {
972
+ if (!options.unsafe) delete O[key];
973
+ else if (O[key]) simple = true;
974
+ } catch (error) { /* empty */ }
975
+ if (simple) O[key] = value;
976
+ else definePropertyModule$2.f(O, key, {
977
+ value: value,
978
+ enumerable: false,
979
+ configurable: !options.nonConfigurable,
980
+ writable: !options.nonWritable
981
+ });
982
+ } return O;
983
+ };
984
+
985
+ var objectGetOwnPropertyNames = {};
986
+
987
+ var ceil = Math.ceil;
988
+ var floor = Math.floor;
989
+
990
+ // `Math.trunc` method
991
+ // https://tc39.es/ecma262/#sec-math.trunc
992
+ // eslint-disable-next-line es-x/no-math-trunc -- safe
993
+ var mathTrunc = Math.trunc || function trunc(x) {
994
+ var n = +x;
995
+ return (n > 0 ? floor : ceil)(n);
996
+ };
997
+
998
+ var trunc = mathTrunc;
999
+
1000
+ // `ToIntegerOrInfinity` abstract operation
1001
+ // https://tc39.es/ecma262/#sec-tointegerorinfinity
1002
+ var toIntegerOrInfinity$2 = function (argument) {
1003
+ var number = +argument;
1004
+ // eslint-disable-next-line no-self-compare -- NaN check
1005
+ return number !== number || number === 0 ? 0 : trunc(number);
1006
+ };
1007
+
1008
+ var toIntegerOrInfinity$1 = toIntegerOrInfinity$2;
1009
+
1010
+ var max = Math.max;
1011
+ var min$1 = Math.min;
1012
+
1013
+ // Helper for a popular repeating case of the spec:
1014
+ // Let integer be ? ToInteger(index).
1015
+ // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
1016
+ var toAbsoluteIndex$1 = function (index, length) {
1017
+ var integer = toIntegerOrInfinity$1(index);
1018
+ return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
1019
+ };
1020
+
1021
+ var toIntegerOrInfinity = toIntegerOrInfinity$2;
1022
+
1023
+ var min = Math.min;
1024
+
1025
+ // `ToLength` abstract operation
1026
+ // https://tc39.es/ecma262/#sec-tolength
1027
+ var toLength$1 = function (argument) {
1028
+ return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
1029
+ };
1030
+
1031
+ var toLength = toLength$1;
1032
+
1033
+ // `LengthOfArrayLike` abstract operation
1034
+ // https://tc39.es/ecma262/#sec-lengthofarraylike
1035
+ var lengthOfArrayLike$2 = function (obj) {
1036
+ return toLength(obj.length);
1037
+ };
1038
+
1039
+ var toIndexedObject$2 = toIndexedObject$4;
1040
+ var toAbsoluteIndex = toAbsoluteIndex$1;
1041
+ var lengthOfArrayLike$1 = lengthOfArrayLike$2;
1042
+
1043
+ // `Array.prototype.{ indexOf, includes }` methods implementation
1044
+ var createMethod$1 = function (IS_INCLUDES) {
1045
+ return function ($this, el, fromIndex) {
1046
+ var O = toIndexedObject$2($this);
1047
+ var length = lengthOfArrayLike$1(O);
1048
+ var index = toAbsoluteIndex(fromIndex, length);
1049
+ var value;
1050
+ // Array#includes uses SameValueZero equality algorithm
1051
+ // eslint-disable-next-line no-self-compare -- NaN check
1052
+ if (IS_INCLUDES && el != el) while (length > index) {
1053
+ value = O[index++];
1054
+ // eslint-disable-next-line no-self-compare -- NaN check
1055
+ if (value != value) return true;
1056
+ // Array#indexOf ignores holes, Array#includes - not
1057
+ } else for (;length > index; index++) {
1058
+ if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
1059
+ } return !IS_INCLUDES && -1;
1060
+ };
1061
+ };
1062
+
1063
+ var arrayIncludes = {
1064
+ // `Array.prototype.includes` method
1065
+ // https://tc39.es/ecma262/#sec-array.prototype.includes
1066
+ includes: createMethod$1(true),
1067
+ // `Array.prototype.indexOf` method
1068
+ // https://tc39.es/ecma262/#sec-array.prototype.indexof
1069
+ indexOf: createMethod$1(false)
1070
+ };
1071
+
1072
+ var uncurryThis$4 = functionUncurryThis;
1073
+ var hasOwn$1 = hasOwnProperty_1;
1074
+ var toIndexedObject$1 = toIndexedObject$4;
1075
+ var indexOf = arrayIncludes.indexOf;
1076
+ var hiddenKeys$2 = hiddenKeys$4;
1077
+
1078
+ var push$1 = uncurryThis$4([].push);
1079
+
1080
+ var objectKeysInternal = function (object, names) {
1081
+ var O = toIndexedObject$1(object);
1082
+ var i = 0;
1083
+ var result = [];
1084
+ var key;
1085
+ for (key in O) !hasOwn$1(hiddenKeys$2, key) && hasOwn$1(O, key) && push$1(result, key);
1086
+ // Don't enum bug & hidden keys
1087
+ while (names.length > i) if (hasOwn$1(O, key = names[i++])) {
1088
+ ~indexOf(result, key) || push$1(result, key);
1089
+ }
1090
+ return result;
1091
+ };
1092
+
1093
+ // IE8- don't enum bug keys
1094
+ var enumBugKeys$3 = [
1095
+ 'constructor',
1096
+ 'hasOwnProperty',
1097
+ 'isPrototypeOf',
1098
+ 'propertyIsEnumerable',
1099
+ 'toLocaleString',
1100
+ 'toString',
1101
+ 'valueOf'
1102
+ ];
1103
+
1104
+ var internalObjectKeys$1 = objectKeysInternal;
1105
+ var enumBugKeys$2 = enumBugKeys$3;
1106
+
1107
+ var hiddenKeys$1 = enumBugKeys$2.concat('length', 'prototype');
1108
+
1109
+ // `Object.getOwnPropertyNames` method
1110
+ // https://tc39.es/ecma262/#sec-object.getownpropertynames
1111
+ // eslint-disable-next-line es-x/no-object-getownpropertynames -- safe
1112
+ objectGetOwnPropertyNames.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
1113
+ return internalObjectKeys$1(O, hiddenKeys$1);
1114
+ };
1115
+
1116
+ var objectGetOwnPropertySymbols = {};
1117
+
1118
+ // eslint-disable-next-line es-x/no-object-getownpropertysymbols -- safe
1119
+ objectGetOwnPropertySymbols.f = Object.getOwnPropertySymbols;
1120
+
1121
+ var getBuiltIn$2 = getBuiltIn$5;
1122
+ var uncurryThis$3 = functionUncurryThis;
1123
+ var getOwnPropertyNamesModule = objectGetOwnPropertyNames;
1124
+ var getOwnPropertySymbolsModule = objectGetOwnPropertySymbols;
1125
+ var anObject$2 = anObject$4;
1126
+
1127
+ var concat = uncurryThis$3([].concat);
1128
+
1129
+ // all object keys, includes non-enumerable and symbols
1130
+ var ownKeys$1 = getBuiltIn$2('Reflect', 'ownKeys') || function ownKeys(it) {
1131
+ var keys = getOwnPropertyNamesModule.f(anObject$2(it));
1132
+ var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
1133
+ return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;
1134
+ };
1135
+
1136
+ var hasOwn = hasOwnProperty_1;
1137
+ var ownKeys = ownKeys$1;
1138
+ var getOwnPropertyDescriptorModule = objectGetOwnPropertyDescriptor;
1139
+ var definePropertyModule$1 = objectDefineProperty;
1140
+
1141
+ var copyConstructorProperties$1 = function (target, source, exceptions) {
1142
+ var keys = ownKeys(source);
1143
+ var defineProperty = definePropertyModule$1.f;
1144
+ var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
1145
+ for (var i = 0; i < keys.length; i++) {
1146
+ var key = keys[i];
1147
+ if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {
1148
+ defineProperty(target, key, getOwnPropertyDescriptor(source, key));
1149
+ }
1150
+ }
1151
+ };
1152
+
1153
+ var fails$1 = fails$9;
1154
+ var isCallable$2 = isCallable$c;
1155
+
1156
+ var replacement = /#|\.prototype\./;
1157
+
1158
+ var isForced$1 = function (feature, detection) {
1159
+ var value = data[normalize(feature)];
1160
+ return value == POLYFILL ? true
1161
+ : value == NATIVE ? false
1162
+ : isCallable$2(detection) ? fails$1(detection)
1163
+ : !!detection;
1164
+ };
1165
+
1166
+ var normalize = isForced$1.normalize = function (string) {
1167
+ return String(string).replace(replacement, '.').toLowerCase();
1168
+ };
1169
+
1170
+ var data = isForced$1.data = {};
1171
+ var NATIVE = isForced$1.NATIVE = 'N';
1172
+ var POLYFILL = isForced$1.POLYFILL = 'P';
1173
+
1174
+ var isForced_1 = isForced$1;
1175
+
1176
+ var global$1 = global$a;
1177
+ var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
1178
+ var createNonEnumerableProperty = createNonEnumerableProperty$2;
1179
+ var defineBuiltIn = defineBuiltIn$1;
1180
+ var defineGlobalProperty = defineGlobalProperty$3;
1181
+ var copyConstructorProperties = copyConstructorProperties$1;
1182
+ var isForced = isForced_1;
1183
+
1184
+ /*
1185
+ options.target - name of the target object
1186
+ options.global - target is the global object
1187
+ options.stat - export as static methods of target
1188
+ options.proto - export as prototype methods of target
1189
+ options.real - real prototype method for the `pure` version
1190
+ options.forced - export even if the native feature is available
1191
+ options.bind - bind methods to the target, required for the `pure` version
1192
+ options.wrap - wrap constructors to preventing global pollution, required for the `pure` version
1193
+ options.unsafe - use the simple assignment of property instead of delete + defineProperty
1194
+ options.sham - add a flag to not completely full polyfills
1195
+ options.enumerable - export as enumerable property
1196
+ options.dontCallGetSet - prevent calling a getter on target
1197
+ options.name - the .name of the function if it does not match the key
1198
+ */
1199
+ var _export = function (options, source) {
1200
+ var TARGET = options.target;
1201
+ var GLOBAL = options.global;
1202
+ var STATIC = options.stat;
1203
+ var FORCED, target, key, targetProperty, sourceProperty, descriptor;
1204
+ if (GLOBAL) {
1205
+ target = global$1;
1206
+ } else if (STATIC) {
1207
+ target = global$1[TARGET] || defineGlobalProperty(TARGET, {});
1208
+ } else {
1209
+ target = (global$1[TARGET] || {}).prototype;
1210
+ }
1211
+ if (target) for (key in source) {
1212
+ sourceProperty = source[key];
1213
+ if (options.dontCallGetSet) {
1214
+ descriptor = getOwnPropertyDescriptor(target, key);
1215
+ targetProperty = descriptor && descriptor.value;
1216
+ } else targetProperty = target[key];
1217
+ FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
1218
+ // contained in target
1219
+ if (!FORCED && targetProperty !== undefined) {
1220
+ if (typeof sourceProperty == typeof targetProperty) continue;
1221
+ copyConstructorProperties(sourceProperty, targetProperty);
1222
+ }
1223
+ // add a flag to not completely full polyfills
1224
+ if (options.sham || (targetProperty && targetProperty.sham)) {
1225
+ createNonEnumerableProperty(sourceProperty, 'sham', true);
1226
+ }
1227
+ defineBuiltIn(target, key, sourceProperty, options);
1228
+ }
1229
+ };
1230
+
1231
+ var uncurryThis$2 = functionUncurryThis;
1232
+ var aCallable = aCallable$2;
1233
+ var NATIVE_BIND = functionBindNative;
1234
+
1235
+ var bind$1 = uncurryThis$2(uncurryThis$2.bind);
1236
+
1237
+ // optional / simple context binding
1238
+ var functionBindContext = function (fn, that) {
1239
+ aCallable(fn);
1240
+ return that === undefined ? fn : NATIVE_BIND ? bind$1(fn, that) : function (/* ...args */) {
1241
+ return fn.apply(that, arguments);
1242
+ };
1243
+ };
1244
+
1245
+ var classof$2 = classofRaw$1;
1246
+
1247
+ // `IsArray` abstract operation
1248
+ // https://tc39.es/ecma262/#sec-isarray
1249
+ // eslint-disable-next-line es-x/no-array-isarray -- safe
1250
+ var isArray$1 = Array.isArray || function isArray(argument) {
1251
+ return classof$2(argument) == 'Array';
1252
+ };
1253
+
1254
+ var wellKnownSymbol$3 = wellKnownSymbol$5;
1255
+
1256
+ var TO_STRING_TAG$1 = wellKnownSymbol$3('toStringTag');
1257
+ var test = {};
1258
+
1259
+ test[TO_STRING_TAG$1] = 'z';
1260
+
1261
+ var toStringTagSupport = String(test) === '[object z]';
1262
+
1263
+ var TO_STRING_TAG_SUPPORT = toStringTagSupport;
1264
+ var isCallable$1 = isCallable$c;
1265
+ var classofRaw = classofRaw$1;
1266
+ var wellKnownSymbol$2 = wellKnownSymbol$5;
1267
+
1268
+ var TO_STRING_TAG = wellKnownSymbol$2('toStringTag');
1269
+ var $Object = Object;
1270
+
1271
+ // ES3 wrong here
1272
+ var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
1273
+
1274
+ // fallback for IE11 Script Access Denied error
1275
+ var tryGet = function (it, key) {
1276
+ try {
1277
+ return it[key];
1278
+ } catch (error) { /* empty */ }
1279
+ };
1280
+
1281
+ // getting tag from ES6+ `Object.prototype.toString`
1282
+ var classof$1 = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
1283
+ var O, tag, result;
1284
+ return it === undefined ? 'Undefined' : it === null ? 'Null'
1285
+ // @@toStringTag case
1286
+ : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag
1287
+ // builtinTag case
1288
+ : CORRECT_ARGUMENTS ? classofRaw(O)
1289
+ // ES3 arguments fallback
1290
+ : (result = classofRaw(O)) == 'Object' && isCallable$1(O.callee) ? 'Arguments' : result;
1291
+ };
1292
+
1293
+ var uncurryThis$1 = functionUncurryThis;
1294
+ var fails = fails$9;
1295
+ var isCallable = isCallable$c;
1296
+ var classof = classof$1;
1297
+ var getBuiltIn$1 = getBuiltIn$5;
1298
+ var inspectSource = inspectSource$3;
1299
+
1300
+ var noop = function () { /* empty */ };
1301
+ var empty = [];
1302
+ var construct = getBuiltIn$1('Reflect', 'construct');
1303
+ var constructorRegExp = /^\s*(?:class|function)\b/;
1304
+ var exec = uncurryThis$1(constructorRegExp.exec);
1305
+ var INCORRECT_TO_STRING = !constructorRegExp.exec(noop);
1306
+
1307
+ var isConstructorModern = function isConstructor(argument) {
1308
+ if (!isCallable(argument)) return false;
1309
+ try {
1310
+ construct(noop, empty, argument);
1311
+ return true;
1312
+ } catch (error) {
1313
+ return false;
1314
+ }
1315
+ };
1316
+
1317
+ var isConstructorLegacy = function isConstructor(argument) {
1318
+ if (!isCallable(argument)) return false;
1319
+ switch (classof(argument)) {
1320
+ case 'AsyncFunction':
1321
+ case 'GeneratorFunction':
1322
+ case 'AsyncGeneratorFunction': return false;
1323
+ }
1324
+ try {
1325
+ // we can't check .prototype since constructors produced by .bind haven't it
1326
+ // `Function#toString` throws on some built-it function in some legacy engines
1327
+ // (for example, `DOMQuad` and similar in FF41-)
1328
+ return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));
1329
+ } catch (error) {
1330
+ return true;
1331
+ }
1332
+ };
1333
+
1334
+ isConstructorLegacy.sham = true;
1335
+
1336
+ // `IsConstructor` abstract operation
1337
+ // https://tc39.es/ecma262/#sec-isconstructor
1338
+ var isConstructor$1 = !construct || fails(function () {
1339
+ var called;
1340
+ return isConstructorModern(isConstructorModern.call)
1341
+ || !isConstructorModern(Object)
1342
+ || !isConstructorModern(function () { called = true; })
1343
+ || called;
1344
+ }) ? isConstructorLegacy : isConstructorModern;
1345
+
1346
+ var isArray = isArray$1;
1347
+ var isConstructor = isConstructor$1;
1348
+ var isObject = isObject$6;
1349
+ var wellKnownSymbol$1 = wellKnownSymbol$5;
1350
+
1351
+ var SPECIES = wellKnownSymbol$1('species');
1352
+ var $Array = Array;
1353
+
1354
+ // a part of `ArraySpeciesCreate` abstract operation
1355
+ // https://tc39.es/ecma262/#sec-arrayspeciescreate
1356
+ var arraySpeciesConstructor$1 = function (originalArray) {
1357
+ var C;
1358
+ if (isArray(originalArray)) {
1359
+ C = originalArray.constructor;
1360
+ // cross-realm fallback
1361
+ if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;
1362
+ else if (isObject(C)) {
1363
+ C = C[SPECIES];
1364
+ if (C === null) C = undefined;
1365
+ }
1366
+ } return C === undefined ? $Array : C;
1367
+ };
1368
+
1369
+ var arraySpeciesConstructor = arraySpeciesConstructor$1;
1370
+
1371
+ // `ArraySpeciesCreate` abstract operation
1372
+ // https://tc39.es/ecma262/#sec-arrayspeciescreate
1373
+ var arraySpeciesCreate$1 = function (originalArray, length) {
1374
+ return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);
1375
+ };
1376
+
1377
+ var bind = functionBindContext;
1378
+ var uncurryThis = functionUncurryThis;
1379
+ var IndexedObject = indexedObject;
1380
+ var toObject = toObject$2;
1381
+ var lengthOfArrayLike = lengthOfArrayLike$2;
1382
+ var arraySpeciesCreate = arraySpeciesCreate$1;
1383
+
1384
+ var push = uncurryThis([].push);
1385
+
1386
+ // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation
1387
+ var createMethod = function (TYPE) {
1388
+ var IS_MAP = TYPE == 1;
1389
+ var IS_FILTER = TYPE == 2;
1390
+ var IS_SOME = TYPE == 3;
1391
+ var IS_EVERY = TYPE == 4;
1392
+ var IS_FIND_INDEX = TYPE == 6;
1393
+ var IS_FILTER_REJECT = TYPE == 7;
1394
+ var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
1395
+ return function ($this, callbackfn, that, specificCreate) {
1396
+ var O = toObject($this);
1397
+ var self = IndexedObject(O);
1398
+ var boundFunction = bind(callbackfn, that);
1399
+ var length = lengthOfArrayLike(self);
1400
+ var index = 0;
1401
+ var create = specificCreate || arraySpeciesCreate;
1402
+ var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;
1403
+ var value, result;
1404
+ for (;length > index; index++) if (NO_HOLES || index in self) {
1405
+ value = self[index];
1406
+ result = boundFunction(value, index, O);
1407
+ if (TYPE) {
1408
+ if (IS_MAP) target[index] = result; // map
1409
+ else if (result) switch (TYPE) {
1410
+ case 3: return true; // some
1411
+ case 5: return value; // find
1412
+ case 6: return index; // findIndex
1413
+ case 2: push(target, value); // filter
1414
+ } else switch (TYPE) {
1415
+ case 4: return false; // every
1416
+ case 7: push(target, value); // filterReject
1417
+ }
1418
+ }
1419
+ }
1420
+ return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
1421
+ };
1422
+ };
1423
+
1424
+ var arrayIteration = {
1425
+ // `Array.prototype.forEach` method
1426
+ // https://tc39.es/ecma262/#sec-array.prototype.foreach
1427
+ forEach: createMethod(0),
1428
+ // `Array.prototype.map` method
1429
+ // https://tc39.es/ecma262/#sec-array.prototype.map
1430
+ map: createMethod(1),
1431
+ // `Array.prototype.filter` method
1432
+ // https://tc39.es/ecma262/#sec-array.prototype.filter
1433
+ filter: createMethod(2),
1434
+ // `Array.prototype.some` method
1435
+ // https://tc39.es/ecma262/#sec-array.prototype.some
1436
+ some: createMethod(3),
1437
+ // `Array.prototype.every` method
1438
+ // https://tc39.es/ecma262/#sec-array.prototype.every
1439
+ every: createMethod(4),
1440
+ // `Array.prototype.find` method
1441
+ // https://tc39.es/ecma262/#sec-array.prototype.find
1442
+ find: createMethod(5),
1443
+ // `Array.prototype.findIndex` method
1444
+ // https://tc39.es/ecma262/#sec-array.prototype.findIndex
1445
+ findIndex: createMethod(6),
1446
+ // `Array.prototype.filterReject` method
1447
+ // https://github.com/tc39/proposal-array-filtering
1448
+ filterReject: createMethod(7)
1449
+ };
1450
+
1451
+ var objectDefineProperties = {};
1452
+
1453
+ var internalObjectKeys = objectKeysInternal;
1454
+ var enumBugKeys$1 = enumBugKeys$3;
1455
+
1456
+ // `Object.keys` method
1457
+ // https://tc39.es/ecma262/#sec-object.keys
1458
+ // eslint-disable-next-line es-x/no-object-keys -- safe
1459
+ var objectKeys$1 = Object.keys || function keys(O) {
1460
+ return internalObjectKeys(O, enumBugKeys$1);
1461
+ };
1462
+
1463
+ var DESCRIPTORS = descriptors;
1464
+ var V8_PROTOTYPE_DEFINE_BUG = v8PrototypeDefineBug;
1465
+ var definePropertyModule = objectDefineProperty;
1466
+ var anObject$1 = anObject$4;
1467
+ var toIndexedObject = toIndexedObject$4;
1468
+ var objectKeys = objectKeys$1;
1469
+
1470
+ // `Object.defineProperties` method
1471
+ // https://tc39.es/ecma262/#sec-object.defineproperties
1472
+ // eslint-disable-next-line es-x/no-object-defineproperties -- safe
1473
+ objectDefineProperties.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {
1474
+ anObject$1(O);
1475
+ var props = toIndexedObject(Properties);
1476
+ var keys = objectKeys(Properties);
1477
+ var length = keys.length;
1478
+ var index = 0;
1479
+ var key;
1480
+ while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);
1481
+ return O;
1482
+ };
1483
+
1484
+ var getBuiltIn = getBuiltIn$5;
1485
+
1486
+ var html$1 = getBuiltIn('document', 'documentElement');
1487
+
1488
+ /* global ActiveXObject -- old IE, WSH */
1489
+
1490
+ var anObject = anObject$4;
1491
+ var definePropertiesModule = objectDefineProperties;
1492
+ var enumBugKeys = enumBugKeys$3;
1493
+ var hiddenKeys = hiddenKeys$4;
1494
+ var html = html$1;
1495
+ var documentCreateElement = documentCreateElement$1;
1496
+ var sharedKey = sharedKey$2;
1497
+
1498
+ var GT = '>';
1499
+ var LT = '<';
1500
+ var PROTOTYPE = 'prototype';
1501
+ var SCRIPT = 'script';
1502
+ var IE_PROTO = sharedKey('IE_PROTO');
1503
+
1504
+ var EmptyConstructor = function () { /* empty */ };
1505
+
1506
+ var scriptTag = function (content) {
1507
+ return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
1508
+ };
1509
+
1510
+ // Create object with fake `null` prototype: use ActiveX Object with cleared prototype
1511
+ var NullProtoObjectViaActiveX = function (activeXDocument) {
1512
+ activeXDocument.write(scriptTag(''));
1513
+ activeXDocument.close();
1514
+ var temp = activeXDocument.parentWindow.Object;
1515
+ activeXDocument = null; // avoid memory leak
1516
+ return temp;
1517
+ };
1518
+
1519
+ // Create object with fake `null` prototype: use iframe Object with cleared prototype
1520
+ var NullProtoObjectViaIFrame = function () {
1521
+ // Thrash, waste and sodomy: IE GC bug
1522
+ var iframe = documentCreateElement('iframe');
1523
+ var JS = 'java' + SCRIPT + ':';
1524
+ var iframeDocument;
1525
+ iframe.style.display = 'none';
1526
+ html.appendChild(iframe);
1527
+ // https://github.com/zloirock/core-js/issues/475
1528
+ iframe.src = String(JS);
1529
+ iframeDocument = iframe.contentWindow.document;
1530
+ iframeDocument.open();
1531
+ iframeDocument.write(scriptTag('document.F=Object'));
1532
+ iframeDocument.close();
1533
+ return iframeDocument.F;
1534
+ };
1535
+
1536
+ // Check for document.domain and active x support
1537
+ // No need to use active x approach when document.domain is not set
1538
+ // see https://github.com/es-shims/es5-shim/issues/150
1539
+ // variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
1540
+ // avoid IE GC bug
1541
+ var activeXDocument;
1542
+ var NullProtoObject = function () {
1543
+ try {
1544
+ activeXDocument = new ActiveXObject('htmlfile');
1545
+ } catch (error) { /* ignore */ }
1546
+ NullProtoObject = typeof document != 'undefined'
1547
+ ? document.domain && activeXDocument
1548
+ ? NullProtoObjectViaActiveX(activeXDocument) // old IE
1549
+ : NullProtoObjectViaIFrame()
1550
+ : NullProtoObjectViaActiveX(activeXDocument); // WSH
1551
+ var length = enumBugKeys.length;
1552
+ while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
1553
+ return NullProtoObject();
1554
+ };
1555
+
1556
+ hiddenKeys[IE_PROTO] = true;
1557
+
1558
+ // `Object.create` method
1559
+ // https://tc39.es/ecma262/#sec-object.create
1560
+ // eslint-disable-next-line es-x/no-object-create -- safe
1561
+ var objectCreate = Object.create || function create(O, Properties) {
1562
+ var result;
1563
+ if (O !== null) {
1564
+ EmptyConstructor[PROTOTYPE] = anObject(O);
1565
+ result = new EmptyConstructor();
1566
+ EmptyConstructor[PROTOTYPE] = null;
1567
+ // add "__proto__" for Object.getPrototypeOf polyfill
1568
+ result[IE_PROTO] = O;
1569
+ } else result = NullProtoObject();
1570
+ return Properties === undefined ? result : definePropertiesModule.f(result, Properties);
1571
+ };
1572
+
1573
+ var wellKnownSymbol = wellKnownSymbol$5;
1574
+ var create = objectCreate;
1575
+ var defineProperty = objectDefineProperty.f;
1576
+
1577
+ var UNSCOPABLES = wellKnownSymbol('unscopables');
1578
+ var ArrayPrototype = Array.prototype;
1579
+
1580
+ // Array.prototype[@@unscopables]
1581
+ // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
1582
+ if (ArrayPrototype[UNSCOPABLES] == undefined) {
1583
+ defineProperty(ArrayPrototype, UNSCOPABLES, {
1584
+ configurable: true,
1585
+ value: create(null)
1586
+ });
1587
+ }
1588
+
1589
+ // add a key to Array.prototype[@@unscopables]
1590
+ var addToUnscopables$1 = function (key) {
1591
+ ArrayPrototype[UNSCOPABLES][key] = true;
1592
+ };
1593
+
1594
+ var $ = _export;
1595
+ var $find = arrayIteration.find;
1596
+ var addToUnscopables = addToUnscopables$1;
1597
+
1598
+ var FIND = 'find';
1599
+ var SKIPS_HOLES = true;
1600
+
1601
+ // Shouldn't skip holes
1602
+ if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });
1603
+
1604
+ // `Array.prototype.find` method
1605
+ // https://tc39.es/ecma262/#sec-array.prototype.find
1606
+ $({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {
1607
+ find: function find(callbackfn /* , that = undefined */) {
1608
+ return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
1609
+ }
1610
+ });
1611
+
1612
+ // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
1613
+ addToUnscopables(FIND);
1614
+
145
1615
  var CONSTANT = {
146
1616
  GLOBAL: {
147
1617
  HIDE: '__react_tooltip_hide_event',
@@ -411,9 +1881,20 @@ var bodyListener = function bodyListener(callback, options, e) {
411
1881
  _options$customEvent = options.customEvent,
412
1882
  customEvent = _options$customEvent === void 0 ? false : _options$customEvent;
413
1883
  var id = this.props.id;
414
- var tip = e.target.getAttribute('data-tip') || null;
415
- var forId = e.target.getAttribute('data-for') || null;
1884
+ var tip = null;
1885
+ var forId;
416
1886
  var target = e.target;
1887
+ var lastTarget; // walk up parent chain until tip is found
1888
+ // there is no match if parent visible area is matched by mouse position, so some corner cases might not work as expected
1889
+
1890
+ while (tip === null && target !== null) {
1891
+ lastTarget = target;
1892
+ tip = target.getAttribute('data-tip') || null;
1893
+ forId = target.getAttribute('data-for') || null;
1894
+ target = target.parentElement;
1895
+ }
1896
+
1897
+ target = lastTarget || e.target;
417
1898
 
418
1899
  if (this.isCustomEvent(target) && !customEvent) {
419
1900
  return;
@@ -659,27 +2140,41 @@ function getPosition (e, target, node, place, desiredPlace, effect, offset) {
659
2140
  return !outside(p);
660
2141
  };
661
2142
 
662
- var placesList = ['top', 'bottom', 'left', 'right'];
663
- var insideList = [];
2143
+ var placeIsInside = {
2144
+ top: inside('top'),
2145
+ bottom: inside('bottom'),
2146
+ left: inside('left'),
2147
+ right: inside('right')
2148
+ };
2149
+
2150
+ function choose() {
2151
+ var allPlaces = desiredPlace.split(',').concat(place, ['top', 'bottom', 'left', 'right']);
664
2152
 
665
- for (var i = 0; i < 4; i++) {
666
- var p = placesList[i];
2153
+ var _iterator = _createForOfIteratorHelper(allPlaces),
2154
+ _step;
667
2155
 
668
- if (inside(p)) {
669
- insideList.push(p);
2156
+ try {
2157
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
2158
+ var d = _step.value;
2159
+ if (placeIsInside[d]) return d;
2160
+ } // if nothing is inside, just use the old place.
2161
+
2162
+ } catch (err) {
2163
+ _iterator.e(err);
2164
+ } finally {
2165
+ _iterator.f();
670
2166
  }
2167
+
2168
+ return place;
671
2169
  }
672
2170
 
2171
+ var chosen = choose();
673
2172
  var isNewState = false;
674
2173
  var newPlace;
675
- var shouldUpdatePlace = desiredPlace !== place;
676
2174
 
677
- if (inside(desiredPlace) && shouldUpdatePlace) {
2175
+ if (chosen && chosen !== place) {
678
2176
  isNewState = true;
679
- newPlace = desiredPlace;
680
- } else if (insideList.length > 0 && outside(desiredPlace) && outside(place)) {
681
- isNewState = true;
682
- newPlace = insideList[0];
2177
+ newPlace = chosen;
683
2178
  }
684
2179
 
685
2180
  if (isNewState) {
@@ -865,7 +2360,7 @@ var getParent = function getParent(currentTarget) {
865
2360
  * @return
866
2361
  * - String or react component
867
2362
  */
868
- function getTipContent (tip, children, getContent, multiline) {
2363
+ function TipContent(tip, children, getContent, multiline) {
869
2364
  if (children) return children;
870
2365
  if (getContent !== undefined && getContent !== null) return getContent; // getContent can be 0, '', etc.
871
2366
 
@@ -880,7 +2375,7 @@ function getTipContent (tip, children, getContent, multiline) {
880
2375
 
881
2376
 
882
2377
  return tip.split(regexp).map(function (d, i) {
883
- return React.createElement("span", {
2378
+ return /*#__PURE__*/React__default["default"].createElement("span", {
884
2379
  key: i,
885
2380
  className: "multi-line"
886
2381
  }, d);
@@ -925,7 +2420,7 @@ function generateUUID() {
925
2420
  return 't' + uuid.v4();
926
2421
  }
927
2422
 
928
- var baseCss = ".__react_component_tooltip {\n border-radius: 3px;\n display: inline-block;\n font-size: 13px;\n left: -999em;\n opacity: 0;\n padding: 8px 21px;\n position: fixed;\n pointer-events: none;\n transition: opacity 0.3s ease-out;\n top: -999em;\n visibility: hidden;\n z-index: 999;\n}\n.__react_component_tooltip.allow_hover, .__react_component_tooltip.allow_click {\n pointer-events: auto;\n}\n.__react_component_tooltip::before, .__react_component_tooltip::after {\n content: \"\";\n width: 0;\n height: 0;\n position: absolute;\n}\n.__react_component_tooltip.show {\n opacity: 0.9;\n margin-top: 0;\n margin-left: 0;\n visibility: visible;\n}\n.__react_component_tooltip.place-top::before {\n border-left: 10px solid transparent;\n border-right: 10px solid transparent;\n bottom: -8px;\n left: 50%;\n margin-left: -10px;\n}\n.__react_component_tooltip.place-bottom::before {\n border-left: 10px solid transparent;\n border-right: 10px solid transparent;\n top: -8px;\n left: 50%;\n margin-left: -10px;\n}\n.__react_component_tooltip.place-left::before {\n border-top: 6px solid transparent;\n border-bottom: 6px solid transparent;\n right: -8px;\n top: 50%;\n margin-top: -5px;\n}\n.__react_component_tooltip.place-right::before {\n border-top: 6px solid transparent;\n border-bottom: 6px solid transparent;\n left: -8px;\n top: 50%;\n margin-top: -5px;\n}\n.__react_component_tooltip .multi-line {\n display: block;\n padding: 2px 0;\n text-align: center;\n}";
2423
+ var baseCss = ".__react_component_tooltip {\n border-radius: 3px;\n display: inline-block;\n font-size: 13px;\n left: -999em;\n opacity: 0;\n position: fixed;\n pointer-events: none;\n transition: opacity 0.3s ease-out;\n top: -999em;\n visibility: hidden;\n z-index: 999;\n}\n.__react_component_tooltip.allow_hover, .__react_component_tooltip.allow_click {\n pointer-events: auto;\n}\n.__react_component_tooltip::before, .__react_component_tooltip::after {\n content: \"\";\n width: 0;\n height: 0;\n position: absolute;\n}\n.__react_component_tooltip.show {\n opacity: 0.9;\n margin-top: 0;\n margin-left: 0;\n visibility: visible;\n}\n.__react_component_tooltip.place-top::before {\n border-left: 10px solid transparent;\n border-right: 10px solid transparent;\n bottom: -8px;\n left: 50%;\n margin-left: -10px;\n}\n.__react_component_tooltip.place-bottom::before {\n border-left: 10px solid transparent;\n border-right: 10px solid transparent;\n top: -8px;\n left: 50%;\n margin-left: -10px;\n}\n.__react_component_tooltip.place-left::before {\n border-top: 6px solid transparent;\n border-bottom: 6px solid transparent;\n right: -8px;\n top: 50%;\n margin-top: -5px;\n}\n.__react_component_tooltip.place-right::before {\n border-top: 6px solid transparent;\n border-bottom: 6px solid transparent;\n left: -8px;\n top: 50%;\n margin-top: -5px;\n}\n.__react_component_tooltip .multi-line {\n display: block;\n padding: 2px 0;\n text-align: center;\n}";
929
2424
 
930
2425
  /**
931
2426
  * Default pop-up style values (text color, background color).
@@ -971,24 +2466,26 @@ var defaultColors = {
971
2466
  function getDefaultPopupColors(type) {
972
2467
  return defaultColors[type] ? _objectSpread2({}, defaultColors[type]) : undefined;
973
2468
  }
2469
+ var DEFAULT_PADDING = '8px 21px';
974
2470
 
975
2471
  /**
976
2472
  * Generates the specific tooltip style for use on render.
977
2473
  */
978
2474
 
979
- function generateTooltipStyle(uuid, customColors, type, hasBorder) {
980
- return generateStyle(uuid, getPopupColors(customColors, type, hasBorder));
2475
+ function generateTooltipStyle(uuid, customColors, type, hasBorder, padding) {
2476
+ return generateStyle(uuid, getPopupColors(customColors, type, hasBorder), padding);
981
2477
  }
982
2478
  /**
983
2479
  * Generates the tooltip style rules based on the element-specified "data-type" property.
984
2480
  */
985
2481
 
986
2482
  function generateStyle(uuid, colors) {
2483
+ var padding = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_PADDING;
987
2484
  var textColor = colors.text;
988
2485
  var backgroundColor = colors.background;
989
2486
  var borderColor = colors.border;
990
2487
  var arrowColor = colors.arrow;
991
- return "\n \t.".concat(uuid, " {\n\t color: ").concat(textColor, ";\n\t background: ").concat(backgroundColor, ";\n\t border: 1px solid ").concat(borderColor, ";\n \t}\n\n \t.").concat(uuid, ".place-top {\n margin-top: -10px;\n }\n .").concat(uuid, ".place-top::before {\n border-top: 8px solid ").concat(borderColor, ";\n }\n .").concat(uuid, ".place-top::after {\n border-left: 8px solid transparent;\n border-right: 8px solid transparent;\n bottom: -6px;\n left: 50%;\n margin-left: -8px;\n border-top-color: ").concat(arrowColor, ";\n border-top-style: solid;\n border-top-width: 6px;\n }\n\n .").concat(uuid, ".place-bottom {\n margin-top: 10px;\n }\n .").concat(uuid, ".place-bottom::before {\n border-bottom: 8px solid ").concat(borderColor, ";\n }\n .").concat(uuid, ".place-bottom::after {\n border-left: 8px solid transparent;\n border-right: 8px solid transparent;\n top: -6px;\n left: 50%;\n margin-left: -8px;\n border-bottom-color: ").concat(arrowColor, ";\n border-bottom-style: solid;\n border-bottom-width: 6px;\n }\n\n .").concat(uuid, ".place-left {\n margin-left: -10px;\n }\n .").concat(uuid, ".place-left::before {\n border-left: 8px solid ").concat(borderColor, ";\n }\n .").concat(uuid, ".place-left::after {\n border-top: 5px solid transparent;\n border-bottom: 5px solid transparent;\n right: -6px;\n top: 50%;\n margin-top: -4px;\n border-left-color: ").concat(arrowColor, ";\n border-left-style: solid;\n border-left-width: 6px;\n }\n\n .").concat(uuid, ".place-right {\n margin-left: 10px;\n }\n .").concat(uuid, ".place-right::before {\n border-right: 8px solid ").concat(borderColor, ";\n }\n .").concat(uuid, ".place-right::after {\n border-top: 5px solid transparent;\n border-bottom: 5px solid transparent;\n left: -6px;\n top: 50%;\n margin-top: -4px;\n border-right-color: ").concat(arrowColor, ";\n border-right-style: solid;\n border-right-width: 6px;\n }\n ");
2488
+ return "\n \t.".concat(uuid, " {\n\t color: ").concat(textColor, ";\n\t background: ").concat(backgroundColor, ";\n\t border: 1px solid ").concat(borderColor, ";\n\t padding: ").concat(padding, ";\n \t}\n\n \t.").concat(uuid, ".place-top {\n margin-top: -10px;\n }\n .").concat(uuid, ".place-top::before {\n border-top: 8px solid ").concat(borderColor, ";\n }\n .").concat(uuid, ".place-top::after {\n border-left: 8px solid transparent;\n border-right: 8px solid transparent;\n bottom: -6px;\n left: 50%;\n margin-left: -8px;\n border-top-color: ").concat(arrowColor, ";\n border-top-style: solid;\n border-top-width: 6px;\n }\n\n .").concat(uuid, ".place-bottom {\n margin-top: 10px;\n }\n .").concat(uuid, ".place-bottom::before {\n border-bottom: 8px solid ").concat(borderColor, ";\n }\n .").concat(uuid, ".place-bottom::after {\n border-left: 8px solid transparent;\n border-right: 8px solid transparent;\n top: -6px;\n left: 50%;\n margin-left: -8px;\n border-bottom-color: ").concat(arrowColor, ";\n border-bottom-style: solid;\n border-bottom-width: 6px;\n }\n\n .").concat(uuid, ".place-left {\n margin-left: -10px;\n }\n .").concat(uuid, ".place-left::before {\n border-left: 8px solid ").concat(borderColor, ";\n }\n .").concat(uuid, ".place-left::after {\n border-top: 5px solid transparent;\n border-bottom: 5px solid transparent;\n right: -6px;\n top: 50%;\n margin-top: -4px;\n border-left-color: ").concat(arrowColor, ";\n border-left-style: solid;\n border-left-width: 6px;\n }\n\n .").concat(uuid, ".place-right {\n margin-left: 10px;\n }\n .").concat(uuid, ".place-right::before {\n border-right: 8px solid ").concat(borderColor, ";\n }\n .").concat(uuid, ".place-right::after {\n border-top: 5px solid transparent;\n border-bottom: 5px solid transparent;\n left: -6px;\n top: 50%;\n margin-top: -4px;\n border-right-color: ").concat(arrowColor, ";\n border-right-style: solid;\n border-right-width: 6px;\n }\n ");
992
2489
  }
993
2490
 
994
2491
  function getPopupColors(customColors, type, hasBorder) {
@@ -1021,76 +2518,34 @@ function getPopupColors(customColors, type, hasBorder) {
1021
2518
  return colors;
1022
2519
  }
1023
2520
 
1024
- var _class, _class2, _temp;
2521
+ var _class, _class2;
2522
+ /* Polyfill */
1025
2523
 
1026
- var ReactTooltip = staticMethods(_class = windowListener(_class = customEvent(_class = isCapture(_class = getEffect(_class = bodyMode(_class = trackRemoval(_class = (_temp = _class2 =
1027
- /*#__PURE__*/
1028
- function (_React$Component) {
2524
+ var ReactTooltip = staticMethods(_class = windowListener(_class = customEvent(_class = isCapture(_class = getEffect(_class = bodyMode(_class = trackRemoval(_class = (_class2 = /*#__PURE__*/function (_React$Component) {
1029
2525
  _inherits(ReactTooltip, _React$Component);
1030
2526
 
1031
- _createClass(ReactTooltip, null, [{
1032
- key: "propTypes",
1033
- get: function get() {
1034
- return {
1035
- uuid: PropTypes.string,
1036
- children: PropTypes.any,
1037
- place: PropTypes.string,
1038
- type: PropTypes.string,
1039
- effect: PropTypes.string,
1040
- offset: PropTypes.object,
1041
- multiline: PropTypes.bool,
1042
- border: PropTypes.bool,
1043
- textColor: PropTypes.string,
1044
- backgroundColor: PropTypes.string,
1045
- borderColor: PropTypes.string,
1046
- arrowColor: PropTypes.string,
1047
- insecure: PropTypes.bool,
1048
- "class": PropTypes.string,
1049
- className: PropTypes.string,
1050
- id: PropTypes.string,
1051
- html: PropTypes.bool,
1052
- delayHide: PropTypes.number,
1053
- delayUpdate: PropTypes.number,
1054
- delayShow: PropTypes.number,
1055
- event: PropTypes.string,
1056
- eventOff: PropTypes.string,
1057
- isCapture: PropTypes.bool,
1058
- globalEventOff: PropTypes.string,
1059
- getContent: PropTypes.any,
1060
- afterShow: PropTypes.func,
1061
- afterHide: PropTypes.func,
1062
- overridePosition: PropTypes.func,
1063
- disable: PropTypes.bool,
1064
- scrollHide: PropTypes.bool,
1065
- resizeHide: PropTypes.bool,
1066
- wrapper: PropTypes.string,
1067
- bodyMode: PropTypes.bool,
1068
- possibleCustomEvents: PropTypes.string,
1069
- possibleCustomEventsOff: PropTypes.string,
1070
- clickable: PropTypes.bool
1071
- };
1072
- }
1073
- }]);
2527
+ var _super = _createSuper(ReactTooltip);
1074
2528
 
1075
2529
  function ReactTooltip(props) {
1076
2530
  var _this;
1077
2531
 
1078
2532
  _classCallCheck(this, ReactTooltip);
1079
2533
 
1080
- _this = _possibleConstructorReturn(this, _getPrototypeOf(ReactTooltip).call(this, props));
2534
+ _this = _super.call(this, props);
1081
2535
  _this.state = {
1082
2536
  uuid: props.uuid || generateUUID(),
1083
2537
  place: props.place || 'top',
1084
2538
  // Direction of tooltip
1085
2539
  desiredPlace: props.place || 'top',
1086
- type: 'dark',
2540
+ type: props.type || 'dark',
1087
2541
  // Color theme of tooltip
1088
- effect: 'float',
2542
+ effect: props.effect || 'float',
1089
2543
  // float or fixed
1090
2544
  show: false,
1091
2545
  border: false,
1092
2546
  customColors: {},
1093
2547
  offset: {},
2548
+ padding: props.padding,
1094
2549
  extraClass: '',
1095
2550
  html: false,
1096
2551
  delayHide: 0,
@@ -1137,9 +2592,10 @@ function (_React$Component) {
1137
2592
  }, {
1138
2593
  key: "componentDidMount",
1139
2594
  value: function componentDidMount() {
1140
- var _this$props = this.props,
1141
- insecure = _this$props.insecure,
1142
- resizeHide = _this$props.resizeHide;
2595
+ var _this$props = this.props;
2596
+ _this$props.insecure;
2597
+ var resizeHide = _this$props.resizeHide;
2598
+ this.mount = true;
1143
2599
  this.bindListener(); // Bind listener for tooltip
1144
2600
 
1145
2601
  this.bindWindowEvents(resizeHide); // Bind global event for static method
@@ -1177,6 +2633,7 @@ function (_React$Component) {
1177
2633
  switch (parentNode.constructor.name) {
1178
2634
  case 'Document':
1179
2635
  case 'HTMLDocument':
2636
+ case undefined:
1180
2637
  domRoot = parentNode.head;
1181
2638
  break;
1182
2639
 
@@ -1366,7 +2823,7 @@ function (_React$Component) {
1366
2823
  }
1367
2824
  }
1368
2825
 
1369
- return getTipContent(this.state.originTooltip, children, content, this.state.isMultiline);
2826
+ return TipContent(this.state.originTooltip, children, content, this.state.isMultiline);
1370
2827
  }
1371
2828
  }, {
1372
2829
  key: "isEmptyTip",
@@ -1413,20 +2870,20 @@ function (_React$Component) {
1413
2870
 
1414
2871
 
1415
2872
  if (e && e.currentTarget && e.currentTarget.setAttribute) {
1416
- e.currentTarget.setAttribute('aria-describedby', this.state.uuid);
2873
+ e.currentTarget.setAttribute('aria-describedby', this.props.id || this.state.uuid);
1417
2874
  } // Make sure the correct place is set
1418
2875
 
1419
2876
 
1420
2877
  var desiredPlace = e.currentTarget.getAttribute('data-place') || this.props.place || 'top';
1421
2878
  var effect = switchToSolid && 'solid' || this.getEffect(e.currentTarget);
1422
2879
  var offset = e.currentTarget.getAttribute('data-offset') || this.props.offset || {};
1423
- var result = getPosition(e, e.currentTarget, this.tooltipRef, desiredPlace, desiredPlace, effect, offset);
2880
+ var result = getPosition(e, e.currentTarget, this.tooltipRef, desiredPlace.split(',')[0], desiredPlace, effect, offset);
1424
2881
 
1425
2882
  if (result.position && this.props.overridePosition) {
1426
2883
  result.position = this.props.overridePosition(result.position, e, e.currentTarget, this.tooltipRef, desiredPlace, desiredPlace, effect, offset);
1427
2884
  }
1428
2885
 
1429
- var place = result.isNewState ? result.newState.place : desiredPlace; // To prevent previously created timers from triggering
2886
+ var place = result.isNewState ? result.newState.place : desiredPlace.split(',')[0]; // To prevent previously created timers from triggering
1430
2887
 
1431
2888
  this.clearTimer();
1432
2889
  var target = e.currentTarget;
@@ -1448,6 +2905,7 @@ function (_React$Component) {
1448
2905
  },
1449
2906
  effect: effect,
1450
2907
  offset: offset,
2908
+ padding: target.getAttribute('data-padding') || self.props.padding,
1451
2909
  html: (target.getAttribute('data-html') ? target.getAttribute('data-html') === 'true' : self.props.html) || false,
1452
2910
  delayShow: target.getAttribute('data-delay-show') || self.props.delayShow || 0,
1453
2911
  delayHide: target.getAttribute('data-delay-hide') || self.props.delayHide || 0,
@@ -1467,7 +2925,7 @@ function (_React$Component) {
1467
2925
  self.intervalUpdateContent = setInterval(function () {
1468
2926
  if (self.mount) {
1469
2927
  var _getContent = self.props.getContent;
1470
- var placeholder = getTipContent(originTooltip, '', _getContent[0](), isMultiline);
2928
+ var placeholder = TipContent(originTooltip, '', _getContent[0](), isMultiline);
1471
2929
  var isEmptyTip = self.isEmptyTip(placeholder);
1472
2930
  self.setState({
1473
2931
  isEmptyTip: isEmptyTip
@@ -1498,7 +2956,9 @@ function (_React$Component) {
1498
2956
  var _this$state = this.state,
1499
2957
  delayShow = _this$state.delayShow,
1500
2958
  disable = _this$state.disable;
1501
- var afterShow = this.props.afterShow;
2959
+ var _this$props6 = this.props,
2960
+ afterShow = _this$props6.afterShow,
2961
+ disableProp = _this$props6.disable;
1502
2962
  var placeholder = this.getTooltipContent();
1503
2963
  var eventTarget = e.currentTarget || e.target; // Check if the mouse is actually over the tooltip, if so don't hide the tooltip
1504
2964
 
@@ -1507,7 +2967,7 @@ function (_React$Component) {
1507
2967
  } // if the tooltip is empty, disable the tooltip
1508
2968
 
1509
2969
 
1510
- if (this.isEmptyTip(placeholder) || disable) {
2970
+ if (this.isEmptyTip(placeholder) || disable || disableProp) {
1511
2971
  return;
1512
2972
  }
1513
2973
 
@@ -1522,20 +2982,23 @@ function (_React$Component) {
1522
2982
  currentTarget: eventTarget,
1523
2983
  show: true
1524
2984
  }, function () {
1525
- _this5.updatePosition();
1526
-
1527
- if (isInvisible && afterShow) {
1528
- afterShow(e);
1529
- }
2985
+ _this5.updatePosition(function () {
2986
+ if (isInvisible && afterShow) {
2987
+ afterShow(e);
2988
+ }
2989
+ });
1530
2990
  });
1531
2991
  }
1532
2992
  };
1533
2993
 
1534
- clearTimeout(this.delayShowLoop);
2994
+ if (this.delayShowLoop) {
2995
+ clearTimeout(this.delayShowLoop);
2996
+ }
1535
2997
 
1536
2998
  if (delayTime) {
1537
2999
  this.delayShowLoop = setTimeout(updateState, delayTime);
1538
3000
  } else {
3001
+ this.delayShowLoop = null;
1539
3002
  updateState();
1540
3003
  }
1541
3004
  }
@@ -1576,10 +3039,12 @@ function (_React$Component) {
1576
3039
  var disable = this.state.disable;
1577
3040
  var isScroll = options.isScroll;
1578
3041
  var delayHide = isScroll ? 0 : this.state.delayHide;
1579
- var afterHide = this.props.afterHide;
3042
+ var _this$props7 = this.props,
3043
+ afterHide = _this$props7.afterHide,
3044
+ disableProp = _this$props7.disable;
1580
3045
  var placeholder = this.getTooltipContent();
1581
3046
  if (!this.mount) return;
1582
- if (this.isEmptyTip(placeholder) || disable) return; // if the tooltip is empty, disable the tooltip
3047
+ if (this.isEmptyTip(placeholder) || disable || disableProp) return; // if the tooltip is empty, disable the tooltip
1583
3048
 
1584
3049
  if (hasTarget) {
1585
3050
  // Don't trigger other elements belongs to other ReactTooltip
@@ -1656,7 +3121,7 @@ function (_React$Component) {
1656
3121
 
1657
3122
  }, {
1658
3123
  key: "updatePosition",
1659
- value: function updatePosition() {
3124
+ value: function updatePosition(callbackAfter) {
1660
3125
  var _this7 = this;
1661
3126
 
1662
3127
  var _this$state2 = this.state,
@@ -1676,10 +3141,11 @@ function (_React$Component) {
1676
3141
  if (result.isNewState) {
1677
3142
  // Switch to reverse placement
1678
3143
  return this.setState(result.newState, function () {
1679
- _this7.updatePosition();
3144
+ _this7.updatePosition(callbackAfter);
1680
3145
  });
1681
- } // Set tooltip position
3146
+ }
1682
3147
 
3148
+ callbackAfter(); // Set tooltip position
1683
3149
 
1684
3150
  node.style.left = result.position.left + 'px';
1685
3151
  node.style.top = result.position.top + 'px';
@@ -1691,10 +3157,25 @@ function (_React$Component) {
1691
3157
  }, {
1692
3158
  key: "clearTimer",
1693
3159
  value: function clearTimer() {
1694
- clearTimeout(this.delayShowLoop);
1695
- clearTimeout(this.delayHideLoop);
1696
- clearTimeout(this.delayReshow);
1697
- clearInterval(this.intervalUpdateContent);
3160
+ if (this.delayShowLoop) {
3161
+ clearTimeout(this.delayShowLoop);
3162
+ this.delayShowLoop = null;
3163
+ }
3164
+
3165
+ if (this.delayHideLoop) {
3166
+ clearTimeout(this.delayHideLoop);
3167
+ this.delayHideLoop = null;
3168
+ }
3169
+
3170
+ if (this.delayReshow) {
3171
+ clearTimeout(this.delayReshow);
3172
+ this.delayReshow = null;
3173
+ }
3174
+
3175
+ if (this.intervalUpdateContent) {
3176
+ clearInterval(this.intervalUpdateContent);
3177
+ this.intervalUpdateContent = null;
3178
+ }
1698
3179
  }
1699
3180
  }, {
1700
3181
  key: "hasCustomColors",
@@ -1718,7 +3199,7 @@ function (_React$Component) {
1718
3199
  uuid = _this$state3.uuid;
1719
3200
  var content = this.getTooltipContent();
1720
3201
  var isEmptyTip = this.isEmptyTip(content);
1721
- var style = generateTooltipStyle(this.state.uuid, this.state.customColors, this.state.type, this.state.border);
3202
+ var style = generateTooltipStyle(this.state.uuid, this.state.customColors, this.state.type, this.state.border, this.state.padding);
1722
3203
  var tooltipClass = '__react_component_tooltip' + " ".concat(this.state.uuid) + (this.state.show && !disable && !isEmptyTip ? ' show' : '') + (this.state.border ? ' border' : '') + " place-".concat(this.state.place) + // top, bottom, left, right
1723
3204
  " type-".concat(this.hasCustomColors() ? 'custom' : this.state.type) + ( // dark, success, warning, error, info, light, custom
1724
3205
  this.props.delayUpdate ? ' allow_hover' : '') + (this.props.clickable ? ' allow_click' : '');
@@ -1732,7 +3213,7 @@ function (_React$Component) {
1732
3213
 
1733
3214
  if (html) {
1734
3215
  var htmlContent = "".concat(content, "\n<style aria-hidden=\"true\">").concat(style, "</style>");
1735
- return React.createElement(Wrapper, _extends({
3216
+ return /*#__PURE__*/React__default["default"].createElement(Wrapper, _extends({
1736
3217
  className: "".concat(wrapperClassName),
1737
3218
  id: this.props.id || uuid,
1738
3219
  ref: function ref(_ref) {
@@ -1745,7 +3226,7 @@ function (_React$Component) {
1745
3226
  }
1746
3227
  }));
1747
3228
  } else {
1748
- return React.createElement(Wrapper, _extends({
3229
+ return /*#__PURE__*/React__default["default"].createElement(Wrapper, _extends({
1749
3230
  className: "".concat(wrapperClassName),
1750
3231
  id: this.props.id || uuid
1751
3232
  }, ariaProps, {
@@ -1753,7 +3234,7 @@ function (_React$Component) {
1753
3234
  return _this9.tooltipRef = _ref2;
1754
3235
  },
1755
3236
  "data-id": "tooltip"
1756
- }), React.createElement("style", {
3237
+ }), /*#__PURE__*/React__default["default"].createElement("style", {
1757
3238
  dangerouslySetInnerHTML: {
1758
3239
  __html: style
1759
3240
  },
@@ -1762,6 +3243,49 @@ function (_React$Component) {
1762
3243
  }
1763
3244
  }
1764
3245
  }], [{
3246
+ key: "propTypes",
3247
+ get: function get() {
3248
+ return {
3249
+ uuid: PropTypes__default["default"].string,
3250
+ children: PropTypes__default["default"].any,
3251
+ place: PropTypes__default["default"].string,
3252
+ type: PropTypes__default["default"].string,
3253
+ effect: PropTypes__default["default"].string,
3254
+ offset: PropTypes__default["default"].object,
3255
+ padding: PropTypes__default["default"].string,
3256
+ multiline: PropTypes__default["default"].bool,
3257
+ border: PropTypes__default["default"].bool,
3258
+ textColor: PropTypes__default["default"].string,
3259
+ backgroundColor: PropTypes__default["default"].string,
3260
+ borderColor: PropTypes__default["default"].string,
3261
+ arrowColor: PropTypes__default["default"].string,
3262
+ insecure: PropTypes__default["default"].bool,
3263
+ "class": PropTypes__default["default"].string,
3264
+ className: PropTypes__default["default"].string,
3265
+ id: PropTypes__default["default"].string,
3266
+ html: PropTypes__default["default"].bool,
3267
+ delayHide: PropTypes__default["default"].number,
3268
+ delayUpdate: PropTypes__default["default"].number,
3269
+ delayShow: PropTypes__default["default"].number,
3270
+ event: PropTypes__default["default"].string,
3271
+ eventOff: PropTypes__default["default"].string,
3272
+ isCapture: PropTypes__default["default"].bool,
3273
+ globalEventOff: PropTypes__default["default"].string,
3274
+ getContent: PropTypes__default["default"].any,
3275
+ afterShow: PropTypes__default["default"].func,
3276
+ afterHide: PropTypes__default["default"].func,
3277
+ overridePosition: PropTypes__default["default"].func,
3278
+ disable: PropTypes__default["default"].bool,
3279
+ scrollHide: PropTypes__default["default"].bool,
3280
+ resizeHide: PropTypes__default["default"].bool,
3281
+ wrapper: PropTypes__default["default"].string,
3282
+ bodyMode: PropTypes__default["default"].bool,
3283
+ possibleCustomEvents: PropTypes__default["default"].string,
3284
+ possibleCustomEventsOff: PropTypes__default["default"].string,
3285
+ clickable: PropTypes__default["default"].bool
3286
+ };
3287
+ }
3288
+ }, {
1765
3289
  key: "getDerivedStateFromProps",
1766
3290
  value: function getDerivedStateFromProps(nextProps, prevState) {
1767
3291
  var ariaProps = prevState.ariaProps;
@@ -1774,19 +3298,19 @@ function (_React$Component) {
1774
3298
  return null;
1775
3299
  }
1776
3300
 
1777
- return _objectSpread2({}, prevState, {
3301
+ return _objectSpread2(_objectSpread2({}, prevState), {}, {
1778
3302
  ariaProps: newAriaProps
1779
3303
  });
1780
3304
  }
1781
3305
  }]);
1782
3306
 
1783
3307
  return ReactTooltip;
1784
- }(React.Component), _defineProperty(_class2, "defaultProps", {
3308
+ }(React__default["default"].Component), _defineProperty(_class2, "defaultProps", {
1785
3309
  insecure: true,
1786
3310
  resizeHide: true,
1787
3311
  wrapper: 'div',
1788
3312
  clickable: false
1789
- }), _defineProperty(_class2, "supportedWrappers", ['div', 'span']), _defineProperty(_class2, "displayName", 'ReactTooltip'), _temp)) || _class) || _class) || _class) || _class) || _class) || _class) || _class;
3313
+ }), _defineProperty(_class2, "supportedWrappers", ['div', 'span']), _defineProperty(_class2, "displayName", 'ReactTooltip'), _class2)) || _class) || _class) || _class) || _class) || _class) || _class) || _class;
1790
3314
 
1791
3315
  module.exports = ReactTooltip;
1792
3316
  //# sourceMappingURL=index.js.map