react-tooltip 5.26.4 → 5.27.0-beta.1205.rc.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/README.md +3 -3
- package/beta-release.js +77 -0
- package/dist/react-tooltip.cjs +31 -37
- package/dist/react-tooltip.cjs.map +1 -1
- package/dist/react-tooltip.d.ts +2 -0
- package/dist/react-tooltip.min.cjs +2 -2
- package/dist/react-tooltip.min.cjs.map +1 -1
- package/dist/react-tooltip.min.mjs +2 -2
- package/dist/react-tooltip.min.mjs.map +1 -1
- package/dist/react-tooltip.mjs +31 -37
- package/dist/react-tooltip.mjs.map +1 -1
- package/dist/react-tooltip.umd.js +31 -37
- package/dist/react-tooltip.umd.js.map +1 -1
- package/dist/react-tooltip.umd.min.js +2 -2
- package/dist/react-tooltip.umd.min.js.map +1 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -54,9 +54,9 @@ React Tooltip is proud to be sponsored by [Frigade](https://frigade.com/?source=
|
|
|
54
54
|
|
|
55
55
|
#### Silver Sponsors ✪
|
|
56
56
|
|
|
57
|
-
<a href="
|
|
58
|
-
<img alt="
|
|
59
|
-
</a>
|
|
57
|
+
<!-- <a href="#">
|
|
58
|
+
<img alt="Slot" style="height: 200px; width: 200px;" src="docs/static/img/sponsors/slot.png" />
|
|
59
|
+
</a> -->
|
|
60
60
|
|
|
61
61
|
## Powered by
|
|
62
62
|
|
package/beta-release.js
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
2
|
+
const util = require('util')
|
|
3
|
+
const exec = util.promisify(require('child_process').exec)
|
|
4
|
+
const package = require('./package.json')
|
|
5
|
+
|
|
6
|
+
const args = require('minimist')(process.argv.slice(2))
|
|
7
|
+
|
|
8
|
+
const issueNumber = args['issue']
|
|
9
|
+
|
|
10
|
+
console.log(issueNumber)
|
|
11
|
+
|
|
12
|
+
const runCommand = async (command) => {
|
|
13
|
+
return new Promise((resolve) => {
|
|
14
|
+
exec(command, (error, stdout, stderr) => {
|
|
15
|
+
resolve({ error, stdout, stderr })
|
|
16
|
+
})
|
|
17
|
+
})
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const AutoBetaRelease = async () => {
|
|
21
|
+
// get all the versions of the package from npm
|
|
22
|
+
const { stdout } = await runCommand(`npm view . versions --json`)
|
|
23
|
+
|
|
24
|
+
// show npm published versions of this package
|
|
25
|
+
console.log(stdout)
|
|
26
|
+
|
|
27
|
+
// check if there is a beta release with the same issue number on published versions
|
|
28
|
+
const arrayOfBetaReleases = JSON.parse(stdout).filter((version) =>
|
|
29
|
+
version.includes(`${package.version}-beta.${issueNumber}`),
|
|
30
|
+
)
|
|
31
|
+
|
|
32
|
+
let fullLastBetaRelease = null
|
|
33
|
+
|
|
34
|
+
// if yes, get the latest beta release. Output: 1.0.0-beta.1.rc.0
|
|
35
|
+
if (arrayOfBetaReleases.length) {
|
|
36
|
+
fullLastBetaRelease = arrayOfBetaReleases[arrayOfBetaReleases.length - 1]
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
console.log('Last Beta Release: ', fullLastBetaRelease)
|
|
40
|
+
|
|
41
|
+
let nextBetaReleaseVersion = 0
|
|
42
|
+
|
|
43
|
+
if (fullLastBetaRelease) {
|
|
44
|
+
const lastBetaReleaseRCVersionArray = fullLastBetaRelease.match(/rc.+[0-9]+/g)
|
|
45
|
+
|
|
46
|
+
const lastBetaReleaseRCVersion =
|
|
47
|
+
lastBetaReleaseRCVersionArray && lastBetaReleaseRCVersionArray.length
|
|
48
|
+
? lastBetaReleaseRCVersionArray[0]
|
|
49
|
+
: null
|
|
50
|
+
|
|
51
|
+
const lastBetaReleaseVersion = lastBetaReleaseRCVersion
|
|
52
|
+
? lastBetaReleaseRCVersion.split('.')[1]
|
|
53
|
+
: 0
|
|
54
|
+
|
|
55
|
+
nextBetaReleaseVersion = parseInt(lastBetaReleaseVersion, 10) + 1
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// next beta release version. Output: 1.0.0-beta.1.rc.1
|
|
59
|
+
const nextBetaReleaseVesionFull = `${package.version}-beta.${issueNumber}.rc.${nextBetaReleaseVersion}`
|
|
60
|
+
|
|
61
|
+
// update the beta version on package.json
|
|
62
|
+
const { error } = await runCommand(
|
|
63
|
+
`npm version ${nextBetaReleaseVesionFull} --no-git-tag-version`,
|
|
64
|
+
)
|
|
65
|
+
|
|
66
|
+
if (error) {
|
|
67
|
+
console.error(error)
|
|
68
|
+
return
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// the beta version is already updated on package.json on the next line
|
|
72
|
+
console.log('Next Beta version: ', `${nextBetaReleaseVesionFull}`)
|
|
73
|
+
|
|
74
|
+
await runCommand(`echo "NEW_VERSION=${nextBetaReleaseVesionFull}" >> $GITHUB_ENV`)
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
AutoBetaRelease()
|
package/dist/react-tooltip.cjs
CHANGED
|
@@ -291,6 +291,14 @@ const getScrollParent = (node) => {
|
|
|
291
291
|
|
|
292
292
|
const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;
|
|
293
293
|
|
|
294
|
+
const clearTimeoutRef = (ref) => {
|
|
295
|
+
if (ref.current) {
|
|
296
|
+
clearTimeout(ref.current);
|
|
297
|
+
// eslint-disable-next-line no-param-reassign
|
|
298
|
+
ref.current = null;
|
|
299
|
+
}
|
|
300
|
+
};
|
|
301
|
+
|
|
294
302
|
const DEFAULT_TOOLTIP_ID = 'DEFAULT_TOOLTIP_ID';
|
|
295
303
|
const DEFAULT_CONTEXT_DATA = {
|
|
296
304
|
anchorRefs: new Set(),
|
|
@@ -429,8 +437,9 @@ content, contentWrapperRef, isOpen, defaultIsOpen = false, setIsOpen, activeAnch
|
|
|
429
437
|
const actualOpenEvents = openEvents
|
|
430
438
|
? { ...openEvents }
|
|
431
439
|
: {
|
|
432
|
-
|
|
440
|
+
mouseover: true,
|
|
433
441
|
focus: true,
|
|
442
|
+
mouseenter: false,
|
|
434
443
|
click: false,
|
|
435
444
|
dblclick: false,
|
|
436
445
|
mousedown: false,
|
|
@@ -439,14 +448,16 @@ content, contentWrapperRef, isOpen, defaultIsOpen = false, setIsOpen, activeAnch
|
|
|
439
448
|
Object.assign(actualOpenEvents, {
|
|
440
449
|
mouseenter: false,
|
|
441
450
|
focus: false,
|
|
451
|
+
mouseover: false,
|
|
442
452
|
click: true,
|
|
443
453
|
});
|
|
444
454
|
}
|
|
445
455
|
const actualCloseEvents = closeEvents
|
|
446
456
|
? { ...closeEvents }
|
|
447
457
|
: {
|
|
448
|
-
|
|
458
|
+
mouseout: true,
|
|
449
459
|
blur: true,
|
|
460
|
+
mouseleave: false,
|
|
450
461
|
click: false,
|
|
451
462
|
dblclick: false,
|
|
452
463
|
mouseup: false,
|
|
@@ -455,6 +466,7 @@ content, contentWrapperRef, isOpen, defaultIsOpen = false, setIsOpen, activeAnch
|
|
|
455
466
|
Object.assign(actualCloseEvents, {
|
|
456
467
|
mouseleave: false,
|
|
457
468
|
blur: false,
|
|
469
|
+
mouseout: false,
|
|
458
470
|
});
|
|
459
471
|
}
|
|
460
472
|
const actualGlobalCloseEvents = globalCloseEvents
|
|
@@ -541,9 +553,7 @@ content, contentWrapperRef, isOpen, defaultIsOpen = false, setIsOpen, activeAnch
|
|
|
541
553
|
if (show === wasShowing.current) {
|
|
542
554
|
return;
|
|
543
555
|
}
|
|
544
|
-
|
|
545
|
-
clearTimeout(missedTransitionTimerRef.current);
|
|
546
|
-
}
|
|
556
|
+
clearTimeoutRef(missedTransitionTimerRef);
|
|
547
557
|
wasShowing.current = show;
|
|
548
558
|
if (show) {
|
|
549
559
|
afterShow === null || afterShow === void 0 ? void 0 : afterShow();
|
|
@@ -572,9 +582,7 @@ content, contentWrapperRef, isOpen, defaultIsOpen = false, setIsOpen, activeAnch
|
|
|
572
582
|
: newComputedPosition);
|
|
573
583
|
};
|
|
574
584
|
const handleShowTooltipDelayed = (delay = delayShow) => {
|
|
575
|
-
|
|
576
|
-
clearTimeout(tooltipShowDelayTimerRef.current);
|
|
577
|
-
}
|
|
585
|
+
clearTimeoutRef(tooltipShowDelayTimerRef);
|
|
578
586
|
if (rendered) {
|
|
579
587
|
// if the tooltip is already rendered, ignore delay
|
|
580
588
|
handleShow(true);
|
|
@@ -585,9 +593,7 @@ content, contentWrapperRef, isOpen, defaultIsOpen = false, setIsOpen, activeAnch
|
|
|
585
593
|
}, delay);
|
|
586
594
|
};
|
|
587
595
|
const handleHideTooltipDelayed = (delay = delayHide) => {
|
|
588
|
-
|
|
589
|
-
clearTimeout(tooltipHideDelayTimerRef.current);
|
|
590
|
-
}
|
|
596
|
+
clearTimeoutRef(tooltipHideDelayTimerRef);
|
|
591
597
|
tooltipHideDelayTimerRef.current = setTimeout(() => {
|
|
592
598
|
if (hoveringTooltip.current) {
|
|
593
599
|
return;
|
|
@@ -618,9 +624,7 @@ content, contentWrapperRef, isOpen, defaultIsOpen = false, setIsOpen, activeAnch
|
|
|
618
624
|
}
|
|
619
625
|
setActiveAnchor(target);
|
|
620
626
|
setProviderActiveAnchor({ current: target });
|
|
621
|
-
|
|
622
|
-
clearTimeout(tooltipHideDelayTimerRef.current);
|
|
623
|
-
}
|
|
627
|
+
clearTimeoutRef(tooltipHideDelayTimerRef);
|
|
624
628
|
};
|
|
625
629
|
const handleHideTooltip = () => {
|
|
626
630
|
if (clickable) {
|
|
@@ -633,9 +637,7 @@ content, contentWrapperRef, isOpen, defaultIsOpen = false, setIsOpen, activeAnch
|
|
|
633
637
|
else {
|
|
634
638
|
handleShow(false);
|
|
635
639
|
}
|
|
636
|
-
|
|
637
|
-
clearTimeout(tooltipShowDelayTimerRef.current);
|
|
638
|
-
}
|
|
640
|
+
clearTimeoutRef(tooltipShowDelayTimerRef);
|
|
639
641
|
};
|
|
640
642
|
const handleTooltipPosition = ({ x, y }) => {
|
|
641
643
|
var _a;
|
|
@@ -696,9 +698,7 @@ content, contentWrapperRef, isOpen, defaultIsOpen = false, setIsOpen, activeAnch
|
|
|
696
698
|
return;
|
|
697
699
|
}
|
|
698
700
|
handleShow(false);
|
|
699
|
-
|
|
700
|
-
clearTimeout(tooltipShowDelayTimerRef.current);
|
|
701
|
-
}
|
|
701
|
+
clearTimeoutRef(tooltipShowDelayTimerRef);
|
|
702
702
|
};
|
|
703
703
|
// debounce handler to prevent call twice when
|
|
704
704
|
// mouse enter and focus events being triggered toggether
|
|
@@ -836,7 +836,7 @@ content, contentWrapperRef, isOpen, defaultIsOpen = false, setIsOpen, activeAnch
|
|
|
836
836
|
}
|
|
837
837
|
handleHideTooltip();
|
|
838
838
|
};
|
|
839
|
-
const regularEvents = ['mouseenter', 'mouseleave', 'focus', 'blur'];
|
|
839
|
+
const regularEvents = ['mouseover', 'mouseout', 'mouseenter', 'mouseleave', 'focus', 'blur'];
|
|
840
840
|
const clickEvents = ['click', 'dblclick', 'mousedown', 'mouseup'];
|
|
841
841
|
Object.entries(actualOpenEvents).forEach(([event, enabled]) => {
|
|
842
842
|
if (!enabled) {
|
|
@@ -982,12 +982,8 @@ content, contentWrapperRef, isOpen, defaultIsOpen = false, setIsOpen, activeAnch
|
|
|
982
982
|
setRendered(false);
|
|
983
983
|
handleShow(false);
|
|
984
984
|
setActiveAnchor(null);
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
}
|
|
988
|
-
if (tooltipHideDelayTimerRef.current) {
|
|
989
|
-
clearTimeout(tooltipHideDelayTimerRef.current);
|
|
990
|
-
}
|
|
985
|
+
clearTimeoutRef(tooltipShowDelayTimerRef);
|
|
986
|
+
clearTimeoutRef(tooltipHideDelayTimerRef);
|
|
991
987
|
return true;
|
|
992
988
|
}
|
|
993
989
|
return false;
|
|
@@ -1066,12 +1062,8 @@ content, contentWrapperRef, isOpen, defaultIsOpen = false, setIsOpen, activeAnch
|
|
|
1066
1062
|
handleShow(true);
|
|
1067
1063
|
}
|
|
1068
1064
|
return () => {
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
}
|
|
1072
|
-
if (tooltipHideDelayTimerRef.current) {
|
|
1073
|
-
clearTimeout(tooltipHideDelayTimerRef.current);
|
|
1074
|
-
}
|
|
1065
|
+
clearTimeoutRef(tooltipShowDelayTimerRef);
|
|
1066
|
+
clearTimeoutRef(tooltipHideDelayTimerRef);
|
|
1075
1067
|
};
|
|
1076
1068
|
}, []);
|
|
1077
1069
|
React.useEffect(() => {
|
|
@@ -1094,7 +1086,11 @@ content, contentWrapperRef, isOpen, defaultIsOpen = false, setIsOpen, activeAnch
|
|
|
1094
1086
|
}, [id, anchorSelect, imperativeOptions === null || imperativeOptions === void 0 ? void 0 : imperativeOptions.anchorSelect]);
|
|
1095
1087
|
React.useEffect(() => {
|
|
1096
1088
|
if (tooltipShowDelayTimerRef.current) {
|
|
1097
|
-
|
|
1089
|
+
/**
|
|
1090
|
+
* if the delay changes while the tooltip is waiting to show,
|
|
1091
|
+
* reset the timer with the new delay
|
|
1092
|
+
*/
|
|
1093
|
+
clearTimeoutRef(tooltipShowDelayTimerRef);
|
|
1098
1094
|
handleShowTooltipDelayed(delayShow);
|
|
1099
1095
|
}
|
|
1100
1096
|
}, [delayShow]);
|
|
@@ -1135,9 +1131,7 @@ content, contentWrapperRef, isOpen, defaultIsOpen = false, setIsOpen, activeAnch
|
|
|
1135
1131
|
isOpen: Boolean(rendered && !hidden && actualContent && canShow),
|
|
1136
1132
|
}));
|
|
1137
1133
|
return rendered && !hidden && actualContent ? (React__default["default"].createElement(WrapperElement, { id: id, role: role, className: classNames__default["default"]('react-tooltip', coreStyles['tooltip'], styles['tooltip'], styles[variant], className, `react-tooltip__place-${computedPosition.place}`, coreStyles[canShow ? 'show' : 'closing'], canShow ? 'react-tooltip__show' : 'react-tooltip__closing', positionStrategy === 'fixed' && coreStyles['fixed'], clickable && coreStyles['clickable']), onTransitionEnd: (event) => {
|
|
1138
|
-
|
|
1139
|
-
clearTimeout(missedTransitionTimerRef.current);
|
|
1140
|
-
}
|
|
1134
|
+
clearTimeoutRef(missedTransitionTimerRef);
|
|
1141
1135
|
if (show || event.propertyName !== 'opacity') {
|
|
1142
1136
|
return;
|
|
1143
1137
|
}
|