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