🚀 Big News:Socket Has Acquired Secure Annex.Learn More
Socket
Book a DemoSign in
Socket

@react-stately/tooltip

Package Overview
Dependencies
Maintainers
1
Versions
1293
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@react-stately/tooltip - npm Package Compare versions

Comparing version
3.0.0-nightly.2375
to
3.0.0-nightly.2376
+10
-15
dist/main.js

@@ -6,15 +6,11 @@ var {

var {
useId
} = require("@react-aria/utils");
var {
useEffect
useEffect,
useMemo
} = require("react");
const TOOLTIP_DELAY = 1500; // this seems to be a 1.5 second delay, check with design
const $dbf206483fc3f3f5862f69116107e0c$var$TOOLTIP_DELAY = 1500; // this seems to be a 1.5 second delay, check with design
exports.TOOLTIP_DELAY = TOOLTIP_DELAY;
const TOOLTIP_COOLDOWN = 500;
exports.TOOLTIP_COOLDOWN = TOOLTIP_COOLDOWN;
const $dbf206483fc3f3f5862f69116107e0c$var$TOOLTIP_COOLDOWN = 500;
let $dbf206483fc3f3f5862f69116107e0c$var$tooltips = {};
let $dbf206483fc3f3f5862f69116107e0c$var$tooltipId = 0;
let $dbf206483fc3f3f5862f69116107e0c$var$globalWarmedUp = false;

@@ -26,3 +22,3 @@ let $dbf206483fc3f3f5862f69116107e0c$var$globalWarmUpTimeout = null;

let {
delay = TOOLTIP_DELAY
delay = $dbf206483fc3f3f5862f69116107e0c$var$TOOLTIP_DELAY
} = props;

@@ -33,6 +29,5 @@ let {

close
} = useOverlayTriggerState(props); // this is a unique id for the tooltips in the map, it's not a dom id
} = useOverlayTriggerState(props);
let id = useMemo(() => "" + ++$dbf206483fc3f3f5862f69116107e0c$var$tooltipId, []);
let id = useId();
let ensureTooltipEntry = () => {

@@ -85,3 +80,3 @@ $dbf206483fc3f3f5862f69116107e0c$var$tooltips[id] = hideTooltip;

$dbf206483fc3f3f5862f69116107e0c$var$globalWarmedUp = false;
}, TOOLTIP_COOLDOWN);
}, $dbf206483fc3f3f5862f69116107e0c$var$TOOLTIP_COOLDOWN);
}

@@ -99,3 +94,3 @@ };

showTooltip();
}, TOOLTIP_DELAY);
}, $dbf206483fc3f3f5862f69116107e0c$var$TOOLTIP_DELAY);
} else if (!isOpen) {

@@ -102,0 +97,0 @@ showTooltip();

+1
-1

@@ -1,1 +0,1 @@

{"mappings":"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","sources":["./packages/@react-stately/tooltip/src/useTooltipTriggerState.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {TooltipTriggerProps} from '@react-types/tooltip';\nimport {useEffect} from 'react';\nimport {useId} from '@react-aria/utils';\nimport {useOverlayTriggerState} from '@react-stately/overlays';\n\nexport const TOOLTIP_DELAY = 1500; // this seems to be a 1.5 second delay, check with design\nexport const TOOLTIP_COOLDOWN = 500;\n\ninterface TooltipTriggerStateProps extends TooltipTriggerProps {}\n\nexport interface TooltipTriggerState {\n isOpen: boolean,\n open: (immediate?: boolean) => void,\n close: () => void\n}\n\nlet tooltips = {};\nlet globalWarmedUp = false;\nlet globalWarmUpTimeout = null;\nlet globalCooldownTimeout = null;\n\n\nexport function useTooltipTriggerState(props: TooltipTriggerStateProps): TooltipTriggerState {\n let {delay = TOOLTIP_DELAY} = props;\n let {isOpen, open, close} = useOverlayTriggerState(props);\n // this is a unique id for the tooltips in the map, it's not a dom id\n let id = useId();\n\n let ensureTooltipEntry = () => {\n tooltips[id] = hideTooltip;\n };\n\n let closeOpenTooltips = () => {\n for (let hideTooltipId in tooltips) {\n if (hideTooltipId !== id) {\n tooltips[hideTooltipId]();\n delete tooltips[hideTooltipId];\n }\n }\n };\n\n let showTooltip = () => {\n closeOpenTooltips();\n ensureTooltipEntry();\n globalWarmedUp = true;\n open();\n if (globalWarmUpTimeout) {\n clearTimeout(globalWarmUpTimeout);\n globalWarmUpTimeout = null;\n }\n if (globalCooldownTimeout) {\n clearTimeout(globalCooldownTimeout);\n globalCooldownTimeout = null;\n }\n };\n\n let hideTooltip = () => {\n close();\n if (globalWarmUpTimeout) {\n clearTimeout(globalWarmUpTimeout);\n globalWarmUpTimeout = null;\n }\n if (globalWarmedUp) {\n if (globalCooldownTimeout) {\n clearTimeout(globalCooldownTimeout);\n }\n globalCooldownTimeout = setTimeout(() => {\n delete tooltips[id];\n globalCooldownTimeout = null;\n globalWarmedUp = false;\n }, TOOLTIP_COOLDOWN);\n }\n };\n\n let warmupTooltip = () => {\n closeOpenTooltips();\n ensureTooltipEntry();\n if (!isOpen && !globalWarmUpTimeout && !globalWarmedUp) {\n globalWarmUpTimeout = setTimeout(() => {\n globalWarmUpTimeout = null;\n globalWarmedUp = true;\n showTooltip();\n }, TOOLTIP_DELAY);\n } else if (!isOpen) {\n showTooltip();\n }\n };\n\n // eslint-disable-next-line arrow-body-style\n useEffect(() => {\n return () => {\n let tooltip = tooltips[id];\n if (tooltip) {\n delete tooltips[id];\n }\n };\n }, []);\n\n return {\n isOpen,\n open: (immediate) => {\n if (!immediate && delay > 0) {\n warmupTooltip();\n } else {\n showTooltip();\n }\n },\n close: () => {\n hideTooltip();\n }\n };\n}\n"],"names":["TOOLTIP_DELAY","TOOLTIP_COOLDOWN","tooltips","globalWarmedUp","globalWarmUpTimeout","globalCooldownTimeout","useTooltipTriggerState","props","delay","isOpen","open","close","useOverlayTriggerState","id","useId","ensureTooltipEntry","hideTooltip","closeOpenTooltips","hideTooltipId","showTooltip","clearTimeout","setTimeout","warmupTooltip","useEffect","tooltip","immediate"],"version":3,"file":"main.js.map"}
{"mappings":"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","sources":["./packages/@react-stately/tooltip/src/useTooltipTriggerState.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {TooltipTriggerProps} from '@react-types/tooltip';\nimport {useEffect, useMemo} from 'react';\nimport {useOverlayTriggerState} from '@react-stately/overlays';\n\nconst TOOLTIP_DELAY = 1500; // this seems to be a 1.5 second delay, check with design\nconst TOOLTIP_COOLDOWN = 500;\n\nexport interface TooltipTriggerState {\n isOpen: boolean,\n open: (immediate?: boolean) => void,\n close: () => void\n}\n\nlet tooltips = {};\nlet tooltipId = 0;\nlet globalWarmedUp = false;\nlet globalWarmUpTimeout = null;\nlet globalCooldownTimeout = null;\n\nexport function useTooltipTriggerState(props: TooltipTriggerProps): TooltipTriggerState {\n let {delay = TOOLTIP_DELAY} = props;\n let {isOpen, open, close} = useOverlayTriggerState(props);\n let id = useMemo(() => `${++tooltipId}`, []);\n\n let ensureTooltipEntry = () => {\n tooltips[id] = hideTooltip;\n };\n\n let closeOpenTooltips = () => {\n for (let hideTooltipId in tooltips) {\n if (hideTooltipId !== id) {\n tooltips[hideTooltipId]();\n delete tooltips[hideTooltipId];\n }\n }\n };\n\n let showTooltip = () => {\n closeOpenTooltips();\n ensureTooltipEntry();\n globalWarmedUp = true;\n open();\n if (globalWarmUpTimeout) {\n clearTimeout(globalWarmUpTimeout);\n globalWarmUpTimeout = null;\n }\n if (globalCooldownTimeout) {\n clearTimeout(globalCooldownTimeout);\n globalCooldownTimeout = null;\n }\n };\n\n let hideTooltip = () => {\n close();\n if (globalWarmUpTimeout) {\n clearTimeout(globalWarmUpTimeout);\n globalWarmUpTimeout = null;\n }\n if (globalWarmedUp) {\n if (globalCooldownTimeout) {\n clearTimeout(globalCooldownTimeout);\n }\n globalCooldownTimeout = setTimeout(() => {\n delete tooltips[id];\n globalCooldownTimeout = null;\n globalWarmedUp = false;\n }, TOOLTIP_COOLDOWN);\n }\n };\n\n let warmupTooltip = () => {\n closeOpenTooltips();\n ensureTooltipEntry();\n if (!isOpen && !globalWarmUpTimeout && !globalWarmedUp) {\n globalWarmUpTimeout = setTimeout(() => {\n globalWarmUpTimeout = null;\n globalWarmedUp = true;\n showTooltip();\n }, TOOLTIP_DELAY);\n } else if (!isOpen) {\n showTooltip();\n }\n };\n\n // eslint-disable-next-line arrow-body-style\n useEffect(() => {\n return () => {\n let tooltip = tooltips[id];\n if (tooltip) {\n delete tooltips[id];\n }\n };\n }, []);\n\n return {\n isOpen,\n open: (immediate) => {\n if (!immediate && delay > 0) {\n warmupTooltip();\n } else {\n showTooltip();\n }\n },\n close: () => {\n hideTooltip();\n }\n };\n}\n"],"names":["TOOLTIP_DELAY","TOOLTIP_COOLDOWN","tooltips","tooltipId","globalWarmedUp","globalWarmUpTimeout","globalCooldownTimeout","useTooltipTriggerState","props","delay","isOpen","open","close","useOverlayTriggerState","id","useMemo","ensureTooltipEntry","hideTooltip","closeOpenTooltips","hideTooltipId","showTooltip","clearTimeout","setTimeout","warmupTooltip","useEffect","tooltip","immediate"],"version":3,"file":"main.js.map"}
import { useOverlayTriggerState } from "@react-stately/overlays";
import { useId } from "@react-aria/utils";
import { useEffect } from "react";
export const TOOLTIP_DELAY = 1500; // this seems to be a 1.5 second delay, check with design
import { useEffect, useMemo } from "react";
const $af9cde49ea815e766aeca6386e9$var$TOOLTIP_DELAY = 1500; // this seems to be a 1.5 second delay, check with design
export const TOOLTIP_COOLDOWN = 500;
const $af9cde49ea815e766aeca6386e9$var$TOOLTIP_COOLDOWN = 500;
let $af9cde49ea815e766aeca6386e9$var$tooltips = {};
let $af9cde49ea815e766aeca6386e9$var$tooltipId = 0;
let $af9cde49ea815e766aeca6386e9$var$globalWarmedUp = false;

@@ -13,3 +13,3 @@ let $af9cde49ea815e766aeca6386e9$var$globalWarmUpTimeout = null;

let {
delay = TOOLTIP_DELAY
delay = $af9cde49ea815e766aeca6386e9$var$TOOLTIP_DELAY
} = props;

@@ -20,6 +20,5 @@ let {

close
} = useOverlayTriggerState(props); // this is a unique id for the tooltips in the map, it's not a dom id
} = useOverlayTriggerState(props);
let id = useMemo(() => "" + ++$af9cde49ea815e766aeca6386e9$var$tooltipId, []);
let id = useId();
let ensureTooltipEntry = () => {

@@ -72,3 +71,3 @@ $af9cde49ea815e766aeca6386e9$var$tooltips[id] = hideTooltip;

$af9cde49ea815e766aeca6386e9$var$globalWarmedUp = false;
}, TOOLTIP_COOLDOWN);
}, $af9cde49ea815e766aeca6386e9$var$TOOLTIP_COOLDOWN);
}

@@ -86,3 +85,3 @@ };

showTooltip();
}, TOOLTIP_DELAY);
}, $af9cde49ea815e766aeca6386e9$var$TOOLTIP_DELAY);
} else if (!isOpen) {

@@ -89,0 +88,0 @@ showTooltip();

@@ -1,1 +0,1 @@

{"mappings":"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","sources":["./packages/@react-stately/tooltip/src/useTooltipTriggerState.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {TooltipTriggerProps} from '@react-types/tooltip';\nimport {useEffect} from 'react';\nimport {useId} from '@react-aria/utils';\nimport {useOverlayTriggerState} from '@react-stately/overlays';\n\nexport const TOOLTIP_DELAY = 1500; // this seems to be a 1.5 second delay, check with design\nexport const TOOLTIP_COOLDOWN = 500;\n\ninterface TooltipTriggerStateProps extends TooltipTriggerProps {}\n\nexport interface TooltipTriggerState {\n isOpen: boolean,\n open: (immediate?: boolean) => void,\n close: () => void\n}\n\nlet tooltips = {};\nlet globalWarmedUp = false;\nlet globalWarmUpTimeout = null;\nlet globalCooldownTimeout = null;\n\n\nexport function useTooltipTriggerState(props: TooltipTriggerStateProps): TooltipTriggerState {\n let {delay = TOOLTIP_DELAY} = props;\n let {isOpen, open, close} = useOverlayTriggerState(props);\n // this is a unique id for the tooltips in the map, it's not a dom id\n let id = useId();\n\n let ensureTooltipEntry = () => {\n tooltips[id] = hideTooltip;\n };\n\n let closeOpenTooltips = () => {\n for (let hideTooltipId in tooltips) {\n if (hideTooltipId !== id) {\n tooltips[hideTooltipId]();\n delete tooltips[hideTooltipId];\n }\n }\n };\n\n let showTooltip = () => {\n closeOpenTooltips();\n ensureTooltipEntry();\n globalWarmedUp = true;\n open();\n if (globalWarmUpTimeout) {\n clearTimeout(globalWarmUpTimeout);\n globalWarmUpTimeout = null;\n }\n if (globalCooldownTimeout) {\n clearTimeout(globalCooldownTimeout);\n globalCooldownTimeout = null;\n }\n };\n\n let hideTooltip = () => {\n close();\n if (globalWarmUpTimeout) {\n clearTimeout(globalWarmUpTimeout);\n globalWarmUpTimeout = null;\n }\n if (globalWarmedUp) {\n if (globalCooldownTimeout) {\n clearTimeout(globalCooldownTimeout);\n }\n globalCooldownTimeout = setTimeout(() => {\n delete tooltips[id];\n globalCooldownTimeout = null;\n globalWarmedUp = false;\n }, TOOLTIP_COOLDOWN);\n }\n };\n\n let warmupTooltip = () => {\n closeOpenTooltips();\n ensureTooltipEntry();\n if (!isOpen && !globalWarmUpTimeout && !globalWarmedUp) {\n globalWarmUpTimeout = setTimeout(() => {\n globalWarmUpTimeout = null;\n globalWarmedUp = true;\n showTooltip();\n }, TOOLTIP_DELAY);\n } else if (!isOpen) {\n showTooltip();\n }\n };\n\n // eslint-disable-next-line arrow-body-style\n useEffect(() => {\n return () => {\n let tooltip = tooltips[id];\n if (tooltip) {\n delete tooltips[id];\n }\n };\n }, []);\n\n return {\n isOpen,\n open: (immediate) => {\n if (!immediate && delay > 0) {\n warmupTooltip();\n } else {\n showTooltip();\n }\n },\n close: () => {\n hideTooltip();\n }\n };\n}\n"],"names":["TOOLTIP_DELAY","TOOLTIP_COOLDOWN","tooltips","globalWarmedUp","globalWarmUpTimeout","globalCooldownTimeout","useTooltipTriggerState","props","delay","isOpen","open","close","useOverlayTriggerState","id","useId","ensureTooltipEntry","hideTooltip","closeOpenTooltips","hideTooltipId","showTooltip","clearTimeout","setTimeout","warmupTooltip","useEffect","tooltip","immediate"],"version":3,"file":"module.js.map"}
{"mappings":";;AAgBA,MAAMA,8CAAa,GAAG,IAAtB,C,CAA4B;;AAC5B,MAAMC,iDAAgB,GAAG,GAAzB;AAQA,IAAIC,yCAAQ,GAAG,EAAf;AACA,IAAIC,0CAAS,GAAG,CAAhB;AACA,IAAIC,+CAAc,GAAG,KAArB;AACA,IAAIC,oDAAmB,GAAG,IAA1B;AACA,IAAIC,sDAAqB,GAAG,IAA5B;OAEO,SAASC,sBAAT,CAAgCC,KAAhC,EAAiF;AACtF,MAAI;AAACC,IAAAA,KAAK,GAAGT;AAAT,MAA0BQ,KAA9B;AACA,MAAI;AAACE,IAAAA,MAAD;AAASC,IAAAA,IAAT;AAAeC,IAAAA;AAAf,MAAwBC,sBAAsB,CAACL,KAAD,CAAlD;AACA,MAAIM,EAAE,GAAGC,OAAO,CAAC,WAAS,EAAEZ,0CAAZ,EAAyB,EAAzB,CAAhB;;AAEA,MAAIa,kBAAkB,GAAG,MAAM;AAC7Bd,IAAAA,yCAAQ,CAACY,EAAD,CAAR,GAAeG,WAAf;AACD,GAFD;;AAIA,MAAIC,iBAAiB,GAAG,MAAM;AAC5B,SAAK,IAAIC,aAAT,IAA0BjB,yCAA1B,EAAoC;AAClC,UAAIiB,aAAa,KAAKL,EAAtB,EAA0B;AACxBZ,QAAAA,yCAAQ,CAACiB,aAAD,CAAR;AACA,eAAOjB,yCAAQ,CAACiB,aAAD,CAAf;AACD;AACF;AACF,GAPD;;AASA,MAAIC,WAAW,GAAG,MAAM;AACtBF,IAAAA,iBAAiB;AACjBF,IAAAA,kBAAkB;AAClBZ,IAAAA,+CAAc,GAAG,IAAjB;AACAO,IAAAA,IAAI;;AACJ,QAAIN,oDAAJ,EAAyB;AACvBgB,MAAAA,YAAY,CAAChB,oDAAD,CAAZ;AACAA,MAAAA,oDAAmB,GAAG,IAAtB;AACD;;AACD,QAAIC,sDAAJ,EAA2B;AACzBe,MAAAA,YAAY,CAACf,sDAAD,CAAZ;AACAA,MAAAA,sDAAqB,GAAG,IAAxB;AACD;AACF,GAbD;;AAeA,MAAIW,WAAW,GAAG,MAAM;AACtBL,IAAAA,KAAK;;AACL,QAAIP,oDAAJ,EAAyB;AACvBgB,MAAAA,YAAY,CAAChB,oDAAD,CAAZ;AACAA,MAAAA,oDAAmB,GAAG,IAAtB;AACD;;AACD,QAAID,+CAAJ,EAAoB;AAClB,UAAIE,sDAAJ,EAA2B;AACzBe,QAAAA,YAAY,CAACf,sDAAD,CAAZ;AACD;;AACDA,MAAAA,sDAAqB,GAAGgB,UAAU,CAAC,MAAM;AACvC,eAAOpB,yCAAQ,CAACY,EAAD,CAAf;AACAR,QAAAA,sDAAqB,GAAG,IAAxB;AACAF,QAAAA,+CAAc,GAAG,KAAjB;AACD,OAJiC,EAI/BH,iDAJ+B,CAAlC;AAKD;AACF,GAhBD;;AAkBA,MAAIsB,aAAa,GAAG,MAAM;AACxBL,IAAAA,iBAAiB;AACjBF,IAAAA,kBAAkB;;AAClB,QAAI,CAACN,MAAD,IAAW,CAACL,oDAAZ,IAAmC,CAACD,+CAAxC,EAAwD;AACtDC,MAAAA,oDAAmB,GAAGiB,UAAU,CAAC,MAAM;AACrCjB,QAAAA,oDAAmB,GAAG,IAAtB;AACAD,QAAAA,+CAAc,GAAG,IAAjB;AACAgB,QAAAA,WAAW;AACZ,OAJ+B,EAI7BpB,8CAJ6B,CAAhC;AAKD,KAND,MAMO,IAAI,CAACU,MAAL,EAAa;AAClBU,MAAAA,WAAW;AACZ;AACF,GAZD,CAnDsF,CAiEtF;;;AACAI,EAAAA,SAAS,CAAC,MAAM;AACd,WAAO,MAAM;AACX,UAAIC,OAAO,GAAGvB,yCAAQ,CAACY,EAAD,CAAtB;;AACA,UAAIW,OAAJ,EAAa;AACX,eAAOvB,yCAAQ,CAACY,EAAD,CAAf;AACD;AACF,KALD;AAMD,GAPQ,EAON,EAPM,CAAT;AASA,SAAO;AACLJ,IAAAA,MADK;AAELC,IAAAA,IAAI,EAAGe,SAAD,IAAe;AACnB,UAAI,CAACA,SAAD,IAAcjB,KAAK,GAAG,CAA1B,EAA6B;AAC3Bc,QAAAA,aAAa;AACd,OAFD,MAEO;AACLH,QAAAA,WAAW;AACZ;AACF,KARI;AASLR,IAAAA,KAAK,EAAE,MAAM;AACXK,MAAAA,WAAW;AACZ;AAXI,GAAP;AAaD","sources":["./packages/@react-stately/tooltip/src/useTooltipTriggerState.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {TooltipTriggerProps} from '@react-types/tooltip';\nimport {useEffect, useMemo} from 'react';\nimport {useOverlayTriggerState} from '@react-stately/overlays';\n\nconst TOOLTIP_DELAY = 1500; // this seems to be a 1.5 second delay, check with design\nconst TOOLTIP_COOLDOWN = 500;\n\nexport interface TooltipTriggerState {\n isOpen: boolean,\n open: (immediate?: boolean) => void,\n close: () => void\n}\n\nlet tooltips = {};\nlet tooltipId = 0;\nlet globalWarmedUp = false;\nlet globalWarmUpTimeout = null;\nlet globalCooldownTimeout = null;\n\nexport function useTooltipTriggerState(props: TooltipTriggerProps): TooltipTriggerState {\n let {delay = TOOLTIP_DELAY} = props;\n let {isOpen, open, close} = useOverlayTriggerState(props);\n let id = useMemo(() => `${++tooltipId}`, []);\n\n let ensureTooltipEntry = () => {\n tooltips[id] = hideTooltip;\n };\n\n let closeOpenTooltips = () => {\n for (let hideTooltipId in tooltips) {\n if (hideTooltipId !== id) {\n tooltips[hideTooltipId]();\n delete tooltips[hideTooltipId];\n }\n }\n };\n\n let showTooltip = () => {\n closeOpenTooltips();\n ensureTooltipEntry();\n globalWarmedUp = true;\n open();\n if (globalWarmUpTimeout) {\n clearTimeout(globalWarmUpTimeout);\n globalWarmUpTimeout = null;\n }\n if (globalCooldownTimeout) {\n clearTimeout(globalCooldownTimeout);\n globalCooldownTimeout = null;\n }\n };\n\n let hideTooltip = () => {\n close();\n if (globalWarmUpTimeout) {\n clearTimeout(globalWarmUpTimeout);\n globalWarmUpTimeout = null;\n }\n if (globalWarmedUp) {\n if (globalCooldownTimeout) {\n clearTimeout(globalCooldownTimeout);\n }\n globalCooldownTimeout = setTimeout(() => {\n delete tooltips[id];\n globalCooldownTimeout = null;\n globalWarmedUp = false;\n }, TOOLTIP_COOLDOWN);\n }\n };\n\n let warmupTooltip = () => {\n closeOpenTooltips();\n ensureTooltipEntry();\n if (!isOpen && !globalWarmUpTimeout && !globalWarmedUp) {\n globalWarmUpTimeout = setTimeout(() => {\n globalWarmUpTimeout = null;\n globalWarmedUp = true;\n showTooltip();\n }, TOOLTIP_DELAY);\n } else if (!isOpen) {\n showTooltip();\n }\n };\n\n // eslint-disable-next-line arrow-body-style\n useEffect(() => {\n return () => {\n let tooltip = tooltips[id];\n if (tooltip) {\n delete tooltips[id];\n }\n };\n }, []);\n\n return {\n isOpen,\n open: (immediate) => {\n if (!immediate && delay > 0) {\n warmupTooltip();\n } else {\n showTooltip();\n }\n },\n close: () => {\n hideTooltip();\n }\n };\n}\n"],"names":["TOOLTIP_DELAY","TOOLTIP_COOLDOWN","tooltips","tooltipId","globalWarmedUp","globalWarmUpTimeout","globalCooldownTimeout","useTooltipTriggerState","props","delay","isOpen","open","close","useOverlayTriggerState","id","useMemo","ensureTooltipEntry","hideTooltip","closeOpenTooltips","hideTooltipId","showTooltip","clearTimeout","setTimeout","warmupTooltip","useEffect","tooltip","immediate"],"version":3,"file":"module.js.map"}
import { TooltipTriggerProps } from "@react-types/tooltip";
export const TOOLTIP_DELAY = 1500;
export const TOOLTIP_COOLDOWN = 500;
interface TooltipTriggerStateProps extends TooltipTriggerProps {
}
export interface TooltipTriggerState {

@@ -11,4 +7,4 @@ isOpen: boolean;

}
export function useTooltipTriggerState(props: TooltipTriggerStateProps): TooltipTriggerState;
export function useTooltipTriggerState(props: TooltipTriggerProps): TooltipTriggerState;
//# sourceMappingURL=types.d.ts.map

@@ -1,1 +0,1 @@

{"mappings":"A;AAiBA,OAAO,MAAM,oBAAoB,CAAC;AAClC,OAAO,MAAM,sBAAsB,CAAC;AAEpC,kCAAmC,SAAQ,mBAAmB;CAAG;AAEjE;IACE,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB;AAQD,uCAAuC,KAAK,EAAE,wBAAwB,GAAG,mBAAmB,CAyF3F","sources":["./packages/@react-stately/tooltip/src/packages/@react-stately/tooltip/src/useTooltipTriggerState.ts","./packages/@react-stately/tooltip/src/packages/@react-stately/tooltip/src/index.ts"],"sourcesContent":[null,null],"names":[],"version":3,"file":"types.d.ts.map"}
{"mappings":"A;AAmBA;IACE,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB;AAQD,uCAAuC,KAAK,EAAE,mBAAmB,GAAG,mBAAmB,CAwFtF","sources":["./packages/@react-stately/tooltip/src/packages/@react-stately/tooltip/src/useTooltipTriggerState.ts","./packages/@react-stately/tooltip/src/packages/@react-stately/tooltip/src/index.ts"],"sourcesContent":[null,null],"names":[],"version":3,"file":"types.d.ts.map"}
{
"name": "@react-stately/tooltip",
"version": "3.0.0-nightly.2375+b8e7a96e",
"version": "3.0.0-nightly.2376+1aa1058d",
"description": "Spectrum UI components in React",

@@ -21,6 +21,5 @@ "license": "Apache-2.0",

"@babel/runtime": "^7.6.2",
"@react-aria/utils": "3.0.0-nightly.697+b8e7a96e",
"@react-stately/overlays": "3.1.1-nightly.2375+b8e7a96e",
"@react-stately/utils": "3.0.0-nightly.697+b8e7a96e",
"@react-types/tooltip": "3.0.0-nightly.2375+b8e7a96e"
"@react-stately/overlays": "3.1.1-nightly.2376+1aa1058d",
"@react-stately/utils": "3.0.0-nightly.698+1aa1058d",
"@react-types/tooltip": "3.0.0-nightly.2376+1aa1058d"
},

@@ -33,3 +32,3 @@ "peerDependencies": {

},
"gitHead": "b8e7a96e0b55f9875146f58484f97a1d9c1b04d8"
"gitHead": "1aa1058d2bef892d4ecf411cfaeec5ba24440cde"
}

@@ -14,11 +14,8 @@ /*

import {TooltipTriggerProps} from '@react-types/tooltip';
import {useEffect} from 'react';
import {useId} from '@react-aria/utils';
import {useEffect, useMemo} from 'react';
import {useOverlayTriggerState} from '@react-stately/overlays';
export const TOOLTIP_DELAY = 1500; // this seems to be a 1.5 second delay, check with design
export const TOOLTIP_COOLDOWN = 500;
const TOOLTIP_DELAY = 1500; // this seems to be a 1.5 second delay, check with design
const TOOLTIP_COOLDOWN = 500;
interface TooltipTriggerStateProps extends TooltipTriggerProps {}
export interface TooltipTriggerState {

@@ -31,2 +28,3 @@ isOpen: boolean,

let tooltips = {};
let tooltipId = 0;
let globalWarmedUp = false;

@@ -36,8 +34,6 @@ let globalWarmUpTimeout = null;

export function useTooltipTriggerState(props: TooltipTriggerStateProps): TooltipTriggerState {
export function useTooltipTriggerState(props: TooltipTriggerProps): TooltipTriggerState {
let {delay = TOOLTIP_DELAY} = props;
let {isOpen, open, close} = useOverlayTriggerState(props);
// this is a unique id for the tooltips in the map, it's not a dom id
let id = useId();
let id = useMemo(() => `${++tooltipId}`, []);

@@ -44,0 +40,0 @@ let ensureTooltipEntry = () => {