react-tooltip 5.26.4 → 5.27.0-beta.1203.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 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="https://dopt.com/?source=react-tooltip">
58
- <img alt="Dopt" style="height: 200px; width: 200px;" src="docs/static/img/sponsors/dopt.png" />
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
 
@@ -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()
@@ -51,11 +51,7 @@ function injectStyle({ css, id = REACT_TOOLTIP_BASE_STYLES_ID, type = 'base', re
51
51
  }
52
52
  const { insertAt } = ref;
53
53
  if (document.getElementById(id)) {
54
- // this should never happen because of `injected[type]`
55
- {
56
- // eslint-disable-next-line no-console
57
- console.warn(`[react-tooltip] Element with id '${id}' already exists. Call \`removeStyle()\` first`);
58
- }
54
+ // this could happen in cases the tooltip is imported by multiple js modules
59
55
  return;
60
56
  }
61
57
  const head = document.head || document.getElementsByTagName('head')[0];
@@ -429,8 +425,9 @@ content, contentWrapperRef, isOpen, defaultIsOpen = false, setIsOpen, activeAnch
429
425
  const actualOpenEvents = openEvents
430
426
  ? { ...openEvents }
431
427
  : {
432
- mouseenter: true,
428
+ mouseover: true,
433
429
  focus: true,
430
+ mouseenter: false,
434
431
  click: false,
435
432
  dblclick: false,
436
433
  mousedown: false,
@@ -439,14 +436,16 @@ content, contentWrapperRef, isOpen, defaultIsOpen = false, setIsOpen, activeAnch
439
436
  Object.assign(actualOpenEvents, {
440
437
  mouseenter: false,
441
438
  focus: false,
439
+ mouseover: false,
442
440
  click: true,
443
441
  });
444
442
  }
445
443
  const actualCloseEvents = closeEvents
446
444
  ? { ...closeEvents }
447
445
  : {
448
- mouseleave: true,
446
+ mouseout: true,
449
447
  blur: true,
448
+ mouseleave: false,
450
449
  click: false,
451
450
  dblclick: false,
452
451
  mouseup: false,
@@ -455,6 +454,7 @@ content, contentWrapperRef, isOpen, defaultIsOpen = false, setIsOpen, activeAnch
455
454
  Object.assign(actualCloseEvents, {
456
455
  mouseleave: false,
457
456
  blur: false,
457
+ mouseout: false,
458
458
  });
459
459
  }
460
460
  const actualGlobalCloseEvents = globalCloseEvents
@@ -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) {