react-tooltip 5.10.0-beta.1 → 5.10.1-beta-6
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 +6 -5
- package/dist/{react-tooltip.cjs.js → react-tooltip.cjs} +30 -24
- package/dist/react-tooltip.cjs.map +7 -0
- package/dist/react-tooltip.d.ts +5 -1
- package/dist/react-tooltip.iife.js +29 -23
- package/dist/react-tooltip.iife.js.map +4 -4
- package/dist/react-tooltip.min.cjs +11 -0
- package/dist/react-tooltip.min.cjs.map +7 -0
- package/dist/react-tooltip.min.iife.js +11 -0
- package/dist/react-tooltip.min.iife.js.map +7 -0
- package/dist/react-tooltip.min.mjs +11 -0
- package/dist/react-tooltip.min.mjs.map +7 -0
- package/dist/{react-tooltip.esm.js → react-tooltip.mjs} +29 -23
- package/dist/react-tooltip.mjs.map +7 -0
- package/esbuild.config.prod.mjs +5 -10
- package/package.json +13 -3
- package/dist/react-tooltip.cjs.js.map +0 -7
- package/dist/react-tooltip.cjs.min.js +0 -11
- package/dist/react-tooltip.cjs.min.js.map +0 -7
- package/dist/react-tooltip.esm.js.map +0 -7
- package/dist/react-tooltip.esm.min.js +0 -11
- package/dist/react-tooltip.esm.min.js.map +0 -7
- package/dist/react-tooltip.iife.min.js +0 -11
- package/dist/react-tooltip.iife.min.js.map +0 -7
- package/dist/react-tooltip.min.js +0 -11
- package/dist/react-tooltip.min.js.map +0 -7
package/README.md
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
[![npm download][download-image]][download-url]
|
|
7
7
|

|
|
8
8
|

|
|
9
|
+
|
|
9
10
|
<!--  -->
|
|
10
11
|
|
|
11
12
|
[download-image]: https://img.shields.io/npm/dm/react-tooltip.svg?style=flat-square
|
|
@@ -17,7 +18,7 @@
|
|
|
17
18
|
</a>
|
|
18
19
|
</p>
|
|
19
20
|
|
|
20
|
-
If you like the project, please give the project a GitHub 🌟
|
|
21
|
+
If you like the project, please give the project a GitHub 🌟
|
|
21
22
|
|
|
22
23
|
## Demo
|
|
23
24
|
|
|
@@ -56,6 +57,7 @@ yarn add react-tooltip
|
|
|
56
57
|
## Usage
|
|
57
58
|
|
|
58
59
|
> :warning: If you were already using `react-tooltip<=5.7.5`, you'll be getting some deprecation warnings regarding the `anchorId` prop and some other features.
|
|
60
|
+
|
|
59
61
|
In versions >=5.8.0, we've introduced the `data-tooltip-id` attribute, and the `anchorSelect` prop, which are our recommended methods of using the tooltip moving forward. Check [the docs](https://react-tooltip.com/docs/getting-started) for more details.
|
|
60
62
|
|
|
61
63
|
### Using NPM package
|
|
@@ -121,11 +123,11 @@ Check [the V5 docs](https://react-tooltip.com/docs/getting-started) for more com
|
|
|
121
123
|
|
|
122
124
|
You can import `node_modules/react-tooltip/dist/react-tooltip.[mode].js` into your page. Please make sure that you have already imported `react` and `react-dom` into your page.
|
|
123
125
|
|
|
124
|
-
mode: `esm` `cjs` `
|
|
126
|
+
mode: `esm` `cjs` `iife`
|
|
125
127
|
|
|
126
128
|
Don't forget to import the CSS file from `node_modules/react-tooltip/dist/react-tooltip.css` to set default styling. This needs to be done only once in your application.
|
|
127
129
|
|
|
128
|
-
PS: all the files have a minified version and a non-minified version.
|
|
130
|
+
PS: all the files have a minified version and a non-minified version and the default to be imported are the not minified files.
|
|
129
131
|
|
|
130
132
|

|
|
131
133
|
|
|
@@ -145,7 +147,7 @@ You can use [`renderToStaticMarkup()` function](https://reactjs.org/docs/react-d
|
|
|
145
147
|
```jsx
|
|
146
148
|
import ReactDOMServer from 'react-dom/server';
|
|
147
149
|
[...]
|
|
148
|
-
<a
|
|
150
|
+
<a
|
|
149
151
|
data-tooltip-id="my-tooltip"
|
|
150
152
|
data-tooltip-html={ReactDOMServer.renderToStaticMarkup(<div>I am <b>JSX</b> content</div>)}
|
|
151
153
|
>
|
|
@@ -175,7 +177,6 @@ import ReactDOMServer from 'react-dom/server';
|
|
|
175
177
|
|
|
176
178
|
[wwayne](https://github.com/wwayne) (inactive) - Creator of the original React Tooltip (V1.x ~ V4.x.)
|
|
177
179
|
|
|
178
|
-
|
|
179
180
|
We would gladly accept a new maintainer to help out!
|
|
180
181
|
|
|
181
182
|
## Contributing
|
|
@@ -115,16 +115,9 @@ var debounce = (func, wait, immediate) => {
|
|
|
115
115
|
};
|
|
116
116
|
var debounce_default = debounce;
|
|
117
117
|
|
|
118
|
-
// src/components/TooltipContent/TooltipContent.tsx
|
|
119
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
120
|
-
var TooltipContent = ({ content }) => {
|
|
121
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { dangerouslySetInnerHTML: { __html: content } });
|
|
122
|
-
};
|
|
123
|
-
var TooltipContent_default = TooltipContent;
|
|
124
|
-
|
|
125
118
|
// src/components/TooltipProvider/TooltipProvider.tsx
|
|
126
119
|
var import_react = require("react");
|
|
127
|
-
var
|
|
120
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
128
121
|
var DEFAULT_TOOLTIP_ID = "DEFAULT_TOOLTIP_ID";
|
|
129
122
|
var DEFAULT_CONTEXT_DATA = {
|
|
130
123
|
anchorRefs: /* @__PURE__ */ new Set(),
|
|
@@ -192,7 +185,7 @@ var TooltipProvider = ({ children }) => {
|
|
|
192
185
|
getTooltipData
|
|
193
186
|
};
|
|
194
187
|
}, [getTooltipData]);
|
|
195
|
-
return /* @__PURE__ */ (0,
|
|
188
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TooltipContext.Provider, { value: context, children });
|
|
196
189
|
};
|
|
197
190
|
function useTooltip(tooltipId = DEFAULT_TOOLTIP_ID) {
|
|
198
191
|
return (0, import_react.useContext)(TooltipContext).getTooltipData(tooltipId);
|
|
@@ -202,7 +195,7 @@ var TooltipProvider_default = TooltipProvider;
|
|
|
202
195
|
// src/components/TooltipProvider/TooltipWrapper.tsx
|
|
203
196
|
var import_react2 = require("react");
|
|
204
197
|
var import_classnames = __toESM(require_classnames());
|
|
205
|
-
var
|
|
198
|
+
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
206
199
|
var TooltipWrapper = ({
|
|
207
200
|
tooltipId,
|
|
208
201
|
children,
|
|
@@ -226,7 +219,7 @@ var TooltipWrapper = ({
|
|
|
226
219
|
detach(anchorRef);
|
|
227
220
|
};
|
|
228
221
|
}, []);
|
|
229
|
-
return /* @__PURE__ */ (0,
|
|
222
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
230
223
|
"span",
|
|
231
224
|
{
|
|
232
225
|
ref: anchorRef,
|
|
@@ -718,7 +711,7 @@ var computeTooltipPosition = async ({
|
|
|
718
711
|
var styles_module_default = { "arrow": "react-tooltip__arrow_KtSkBq", "clickable": "react-tooltip__clickable_KtSkBq", "dark": "react-tooltip__dark_KtSkBq", "error": "react-tooltip__error_KtSkBq", "fixed": "react-tooltip__fixed_KtSkBq", "info": "react-tooltip__info_KtSkBq", "light": "react-tooltip__light_KtSkBq", "noArrow": "react-tooltip__no-arrow_KtSkBq", "show": "react-tooltip__show_KtSkBq", "success": "react-tooltip__success_KtSkBq", "tooltip": "react-tooltip__tooltip_KtSkBq", "warning": "react-tooltip__warning_KtSkBq" };
|
|
719
712
|
|
|
720
713
|
// src/components/Tooltip/Tooltip.tsx
|
|
721
|
-
var
|
|
714
|
+
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
722
715
|
var Tooltip = ({
|
|
723
716
|
// props
|
|
724
717
|
id,
|
|
@@ -734,7 +727,6 @@ var Tooltip = ({
|
|
|
734
727
|
positionStrategy = "absolute",
|
|
735
728
|
middlewares,
|
|
736
729
|
wrapper: WrapperElement,
|
|
737
|
-
children = null,
|
|
738
730
|
delayShow = 0,
|
|
739
731
|
delayHide = 0,
|
|
740
732
|
float = false,
|
|
@@ -747,7 +739,6 @@ var Tooltip = ({
|
|
|
747
739
|
afterHide,
|
|
748
740
|
// props handled by controller
|
|
749
741
|
content,
|
|
750
|
-
html,
|
|
751
742
|
isOpen,
|
|
752
743
|
setIsOpen,
|
|
753
744
|
activeAnchor,
|
|
@@ -1108,7 +1099,7 @@ var Tooltip = ({
|
|
|
1108
1099
|
}
|
|
1109
1100
|
setActualPlacement(computedStylesData.place);
|
|
1110
1101
|
});
|
|
1111
|
-
}, [show, activeAnchor, content,
|
|
1102
|
+
}, [show, activeAnchor, content, place, offset, positionStrategy, position]);
|
|
1112
1103
|
(0, import_react4.useEffect)(() => {
|
|
1113
1104
|
var _a;
|
|
1114
1105
|
const anchorById = document.querySelector(`[id='${anchorId}']`);
|
|
@@ -1142,9 +1133,8 @@ var Tooltip = ({
|
|
|
1142
1133
|
setAnchorsBySelect([]);
|
|
1143
1134
|
}
|
|
1144
1135
|
}, [id, anchorSelect]);
|
|
1145
|
-
const
|
|
1146
|
-
|
|
1147
|
-
return rendered ? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
|
|
1136
|
+
const canShow = content && show && Object.keys(inlineStyles).length > 0;
|
|
1137
|
+
return rendered ? /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
|
|
1148
1138
|
WrapperElement,
|
|
1149
1139
|
{
|
|
1150
1140
|
id,
|
|
@@ -1164,8 +1154,8 @@ var Tooltip = ({
|
|
|
1164
1154
|
style: { ...externalStyles, ...inlineStyles },
|
|
1165
1155
|
ref: tooltipRef,
|
|
1166
1156
|
children: [
|
|
1167
|
-
|
|
1168
|
-
/* @__PURE__ */ (0,
|
|
1157
|
+
content,
|
|
1158
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
1169
1159
|
WrapperElement,
|
|
1170
1160
|
{
|
|
1171
1161
|
className: (0, import_classnames2.default)("react-tooltip-arrow", styles_module_default["arrow"], classNameArrow, {
|
|
@@ -1185,6 +1175,13 @@ var Tooltip = ({
|
|
|
1185
1175
|
};
|
|
1186
1176
|
var Tooltip_default = Tooltip;
|
|
1187
1177
|
|
|
1178
|
+
// src/components/TooltipContent/TooltipContent.tsx
|
|
1179
|
+
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
1180
|
+
var TooltipContent = ({ content }) => {
|
|
1181
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { dangerouslySetInnerHTML: { __html: content } });
|
|
1182
|
+
};
|
|
1183
|
+
var TooltipContent_default = TooltipContent;
|
|
1184
|
+
|
|
1188
1185
|
// src/components/TooltipController/TooltipController.tsx
|
|
1189
1186
|
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
1190
1187
|
var TooltipController = ({
|
|
@@ -1193,6 +1190,7 @@ var TooltipController = ({
|
|
|
1193
1190
|
anchorSelect,
|
|
1194
1191
|
content,
|
|
1195
1192
|
html,
|
|
1193
|
+
render,
|
|
1196
1194
|
className,
|
|
1197
1195
|
classNameArrow,
|
|
1198
1196
|
variant = "dark",
|
|
@@ -1341,14 +1339,22 @@ var TooltipController = ({
|
|
|
1341
1339
|
observer.disconnect();
|
|
1342
1340
|
};
|
|
1343
1341
|
}, [anchorRefs, providerActiveAnchor, activeAnchor, anchorId, anchorSelect]);
|
|
1342
|
+
let renderedContent = children;
|
|
1343
|
+
if (render) {
|
|
1344
|
+
renderedContent = render({ content: tooltipContent != null ? tooltipContent : null, activeAnchor });
|
|
1345
|
+
} else if (tooltipContent) {
|
|
1346
|
+
renderedContent = tooltipContent;
|
|
1347
|
+
}
|
|
1348
|
+
if (tooltipHtml) {
|
|
1349
|
+
renderedContent = /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(TooltipContent_default, { content: tooltipHtml });
|
|
1350
|
+
}
|
|
1344
1351
|
const props = {
|
|
1345
1352
|
id,
|
|
1346
1353
|
anchorId,
|
|
1347
1354
|
anchorSelect,
|
|
1348
1355
|
className,
|
|
1349
1356
|
classNameArrow,
|
|
1350
|
-
content:
|
|
1351
|
-
html: tooltipHtml,
|
|
1357
|
+
content: renderedContent,
|
|
1352
1358
|
place: tooltipPlace,
|
|
1353
1359
|
variant: tooltipVariant,
|
|
1354
1360
|
offset: tooltipOffset,
|
|
@@ -1372,7 +1378,7 @@ var TooltipController = ({
|
|
|
1372
1378
|
activeAnchor,
|
|
1373
1379
|
setActiveAnchor: (anchor) => setActiveAnchor(anchor)
|
|
1374
1380
|
};
|
|
1375
|
-
return
|
|
1381
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Tooltip_default, { ...props });
|
|
1376
1382
|
};
|
|
1377
1383
|
var TooltipController_default = TooltipController;
|
|
1378
1384
|
/*! Bundled license information:
|
|
@@ -1384,4 +1390,4 @@ classnames/index.js:
|
|
|
1384
1390
|
http://jedwatson.github.io/classnames
|
|
1385
1391
|
*)
|
|
1386
1392
|
*/
|
|
1387
|
-
//# sourceMappingURL=react-tooltip.cjs.
|
|
1393
|
+
//# sourceMappingURL=react-tooltip.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../node_modules/classnames/index.js", "../src/index.tsx", "../src/components/TooltipController/TooltipController.tsx", "../src/components/Tooltip/Tooltip.tsx", "../src/utils/debounce.ts", "../src/components/TooltipProvider/TooltipProvider.tsx", "../src/components/TooltipProvider/TooltipWrapper.tsx", "../src/utils/use-isomorphic-layout-effect.ts", "../node_modules/@floating-ui/core/dist/floating-ui.core.browser.min.mjs", "../node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.min.mjs", "../src/utils/compute-positions.ts", "esbuild-css-modules-plugin-namespace:./src/components/Tooltip/styles.module.css?esbuild-css-modules-plugin-building", "../src/components/TooltipContent/TooltipContent.tsx"],
|
|
4
|
+
"sourcesContent": ["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n", "import './tokens.css'\nimport type {\n ChildrenType,\n DataAttribute,\n EventsType,\n PlacesType,\n PositionStrategy,\n VariantType,\n WrapperType,\n IPosition,\n Middleware,\n} from './components/Tooltip/TooltipTypes'\nimport type { ITooltipController } from './components/TooltipController/TooltipControllerTypes'\nimport type { ITooltipWrapper } from './components/TooltipProvider/TooltipProviderTypes'\n\nexport { TooltipController as Tooltip } from './components/TooltipController'\nexport { TooltipProvider, TooltipWrapper } from './components/TooltipProvider'\nexport type {\n ChildrenType,\n DataAttribute,\n EventsType,\n PlacesType,\n PositionStrategy,\n VariantType,\n WrapperType,\n ITooltipController as ITooltip,\n ITooltipWrapper,\n IPosition,\n Middleware,\n}\n", "import { useEffect, useState } from 'react'\nimport { Tooltip } from 'components/Tooltip'\nimport type {\n EventsType,\n PositionStrategy,\n PlacesType,\n VariantType,\n WrapperType,\n DataAttribute,\n ITooltip,\n ChildrenType,\n} from 'components/Tooltip/TooltipTypes'\nimport { useTooltip } from 'components/TooltipProvider'\nimport { TooltipContent } from 'components/TooltipContent'\nimport type { ITooltipController } from './TooltipControllerTypes'\n\nconst TooltipController = ({\n id,\n anchorId,\n anchorSelect,\n content,\n html,\n render,\n className,\n classNameArrow,\n variant = 'dark',\n place = 'top',\n offset = 10,\n wrapper = 'div',\n children = null,\n events = ['hover'],\n openOnClick = false,\n positionStrategy = 'absolute',\n middlewares,\n delayShow = 0,\n delayHide = 0,\n float = false,\n noArrow = false,\n clickable = false,\n closeOnEsc = false,\n style,\n position,\n isOpen,\n setIsOpen,\n afterShow,\n afterHide,\n}: ITooltipController) => {\n const [tooltipContent, setTooltipContent] = useState(content)\n const [tooltipHtml, setTooltipHtml] = useState(html)\n const [tooltipPlace, setTooltipPlace] = useState(place)\n const [tooltipVariant, setTooltipVariant] = useState(variant)\n const [tooltipOffset, setTooltipOffset] = useState(offset)\n const [tooltipDelayShow, setTooltipDelayShow] = useState(delayShow)\n const [tooltipDelayHide, setTooltipDelayHide] = useState(delayHide)\n const [tooltipFloat, setTooltipFloat] = useState(float)\n const [tooltipWrapper, setTooltipWrapper] = useState<WrapperType>(wrapper)\n const [tooltipEvents, setTooltipEvents] = useState(events)\n const [tooltipPositionStrategy, setTooltipPositionStrategy] = useState(positionStrategy)\n const [activeAnchor, setActiveAnchor] = useState<HTMLElement | null>(null)\n /**\n * @todo Remove this in a future version (provider/wrapper method is deprecated)\n */\n const { anchorRefs, activeAnchor: providerActiveAnchor } = useTooltip(id)\n\n const getDataAttributesFromAnchorElement = (elementReference: HTMLElement) => {\n const dataAttributes = elementReference?.getAttributeNames().reduce((acc, name) => {\n if (name.startsWith('data-tooltip-')) {\n const parsedAttribute = name.replace(/^data-tooltip-/, '') as DataAttribute\n acc[parsedAttribute] = elementReference?.getAttribute(name) ?? null\n }\n return acc\n }, {} as Record<DataAttribute, string | null>)\n\n return dataAttributes\n }\n\n const applyAllDataAttributesFromAnchorElement = (\n dataAttributes: Record<string, string | null>,\n ) => {\n const handleDataAttributes: Record<DataAttribute, (value: string | null) => void> = {\n place: (value) => {\n setTooltipPlace((value as PlacesType) ?? place)\n },\n content: (value) => {\n setTooltipContent(value ?? content)\n },\n html: (value) => {\n setTooltipHtml(value ?? html)\n },\n variant: (value) => {\n setTooltipVariant((value as VariantType) ?? variant)\n },\n offset: (value) => {\n setTooltipOffset(value === null ? offset : Number(value))\n },\n wrapper: (value) => {\n setTooltipWrapper((value as WrapperType) ?? wrapper)\n },\n events: (value) => {\n const parsed = value?.split(' ') as EventsType[]\n setTooltipEvents(parsed ?? events)\n },\n 'position-strategy': (value) => {\n setTooltipPositionStrategy((value as PositionStrategy) ?? positionStrategy)\n },\n 'delay-show': (value) => {\n setTooltipDelayShow(value === null ? delayShow : Number(value))\n },\n 'delay-hide': (value) => {\n setTooltipDelayHide(value === null ? delayHide : Number(value))\n },\n float: (value) => {\n setTooltipFloat(value === null ? float : value === 'true')\n },\n }\n // reset unset data attributes to default values\n // without this, data attributes from the last active anchor will still be used\n Object.values(handleDataAttributes).forEach((handler) => handler(null))\n Object.entries(dataAttributes).forEach(([key, value]) => {\n handleDataAttributes[key as DataAttribute]?.(value)\n })\n }\n\n useEffect(() => {\n setTooltipContent(content)\n }, [content])\n\n useEffect(() => {\n setTooltipHtml(html)\n }, [html])\n\n useEffect(() => {\n setTooltipPlace(place)\n }, [place])\n\n useEffect(() => {\n const elementRefs = new Set(anchorRefs)\n\n let selector = anchorSelect\n if (!selector && id) {\n selector = `[data-tooltip-id='${id}']`\n }\n if (selector) {\n try {\n const anchorsBySelect = document.querySelectorAll<HTMLElement>(selector)\n anchorsBySelect.forEach((anchor) => {\n elementRefs.add({ current: anchor })\n })\n } catch {\n if (!process.env.NODE_ENV || process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.warn(`[react-tooltip] \"${anchorSelect}\" is not a valid CSS selector`)\n }\n }\n }\n\n const anchorById = document.querySelector<HTMLElement>(`[id='${anchorId}']`)\n if (anchorById) {\n elementRefs.add({ current: anchorById })\n }\n\n if (!elementRefs.size) {\n return () => null\n }\n\n const anchorElement = activeAnchor ?? anchorById ?? providerActiveAnchor.current\n\n const observerCallback: MutationCallback = (mutationList) => {\n mutationList.forEach((mutation) => {\n if (\n !anchorElement ||\n mutation.type !== 'attributes' ||\n !mutation.attributeName?.startsWith('data-tooltip-')\n ) {\n return\n }\n // make sure to get all set attributes, since all unset attributes are reset\n const dataAttributes = getDataAttributesFromAnchorElement(anchorElement)\n applyAllDataAttributesFromAnchorElement(dataAttributes)\n })\n }\n\n // Create an observer instance linked to the callback function\n const observer = new MutationObserver(observerCallback)\n\n // do not check for subtree and childrens, we only want to know attribute changes\n // to stay watching `data-attributes-*` from anchor element\n const observerConfig = { attributes: true, childList: false, subtree: false }\n\n if (anchorElement) {\n const dataAttributes = getDataAttributesFromAnchorElement(anchorElement)\n applyAllDataAttributesFromAnchorElement(dataAttributes)\n // Start observing the target node for configured mutations\n observer.observe(anchorElement, observerConfig)\n }\n\n return () => {\n // Remove the observer when the tooltip is destroyed\n observer.disconnect()\n }\n }, [anchorRefs, providerActiveAnchor, activeAnchor, anchorId, anchorSelect])\n\n /**\n * content priority: children < renderContent or content < html\n * children should be lower priority so that it can be used as the \"default\" content\n */\n let renderedContent: ChildrenType = children\n if (render) {\n renderedContent = render({ content: tooltipContent ?? null, activeAnchor })\n } else if (tooltipContent) {\n renderedContent = tooltipContent\n }\n if (tooltipHtml) {\n renderedContent = <TooltipContent content={tooltipHtml} />\n }\n\n const props: ITooltip = {\n id,\n anchorId,\n anchorSelect,\n className,\n classNameArrow,\n content: renderedContent,\n place: tooltipPlace,\n variant: tooltipVariant,\n offset: tooltipOffset,\n wrapper: tooltipWrapper,\n events: tooltipEvents,\n openOnClick,\n positionStrategy: tooltipPositionStrategy,\n middlewares,\n delayShow: tooltipDelayShow,\n delayHide: tooltipDelayHide,\n float: tooltipFloat,\n noArrow,\n clickable,\n closeOnEsc,\n style,\n position,\n isOpen,\n setIsOpen,\n afterShow,\n afterHide,\n activeAnchor,\n setActiveAnchor: (anchor: HTMLElement | null) => setActiveAnchor(anchor),\n }\n\n return <Tooltip {...props} />\n}\n\nexport default TooltipController\n", "import { useEffect, useState, useRef } from 'react'\nimport classNames from 'classnames'\nimport debounce from 'utils/debounce'\nimport { useTooltip } from 'components/TooltipProvider'\nimport useIsomorphicLayoutEffect from 'utils/use-isomorphic-layout-effect'\nimport { computeTooltipPosition } from '../../utils/compute-positions'\nimport styles from './styles.module.css'\nimport type { IPosition, ITooltip, PlacesType } from './TooltipTypes'\n\nconst Tooltip = ({\n // props\n id,\n className,\n classNameArrow,\n variant = 'dark',\n anchorId,\n anchorSelect,\n place = 'top',\n offset = 10,\n events = ['hover'],\n openOnClick = false,\n positionStrategy = 'absolute',\n middlewares,\n wrapper: WrapperElement,\n delayShow = 0,\n delayHide = 0,\n float = false,\n noArrow = false,\n clickable = false,\n closeOnEsc = false,\n style: externalStyles,\n position,\n afterShow,\n afterHide,\n // props handled by controller\n content,\n isOpen,\n setIsOpen,\n activeAnchor,\n setActiveAnchor,\n}: ITooltip) => {\n const tooltipRef = useRef<HTMLElement>(null)\n const tooltipArrowRef = useRef<HTMLElement>(null)\n const tooltipShowDelayTimerRef = useRef<NodeJS.Timeout | null>(null)\n const tooltipHideDelayTimerRef = useRef<NodeJS.Timeout | null>(null)\n const [actualPlacement, setActualPlacement] = useState(place)\n const [inlineStyles, setInlineStyles] = useState({})\n const [inlineArrowStyles, setInlineArrowStyles] = useState({})\n const [show, setShow] = useState(false)\n const [rendered, setRendered] = useState(false)\n const wasShowing = useRef(false)\n const lastFloatPosition = useRef<IPosition | null>(null)\n /**\n * @todo Remove this in a future version (provider/wrapper method is deprecated)\n */\n const { anchorRefs, setActiveAnchor: setProviderActiveAnchor } = useTooltip(id)\n const hoveringTooltip = useRef(false)\n const [anchorsBySelect, setAnchorsBySelect] = useState<HTMLElement[]>([])\n const mounted = useRef(false)\n\n const shouldOpenOnClick = openOnClick || events.includes('click')\n\n /**\n * useLayoutEffect runs before useEffect,\n * but should be used carefully because of caveats\n * https://beta.reactjs.org/reference/react/useLayoutEffect#caveats\n */\n useIsomorphicLayoutEffect(() => {\n mounted.current = true\n return () => {\n mounted.current = false\n }\n }, [])\n\n useEffect(() => {\n if (!show) {\n /**\n * this fixes weird behavior when switching between two anchor elements very quickly\n * remove the timeout and switch quickly between two adjancent anchor elements to see it\n *\n * in practice, this means the tooltip is not immediately removed from the DOM on hide\n */\n const timeout = setTimeout(() => {\n setRendered(false)\n }, 150)\n return () => {\n clearTimeout(timeout)\n }\n }\n return () => null\n }, [show])\n\n const handleShow = (value: boolean) => {\n if (!mounted.current) {\n return\n }\n if (value) {\n setRendered(true)\n }\n /**\n * wait for the component to render and calculate position\n * before actually showing\n */\n setTimeout(() => {\n if (!mounted.current) {\n return\n }\n setIsOpen?.(value)\n if (isOpen === undefined) {\n setShow(value)\n }\n }, 10)\n }\n\n /**\n * this replicates the effect from `handleShow()`\n * when `isOpen` is changed from outside\n */\n useEffect(() => {\n if (isOpen === undefined) {\n return () => null\n }\n if (isOpen) {\n setRendered(true)\n }\n const timeout = setTimeout(() => {\n setShow(isOpen)\n }, 10)\n return () => {\n clearTimeout(timeout)\n }\n }, [isOpen])\n\n useEffect(() => {\n if (show === wasShowing.current) {\n return\n }\n wasShowing.current = show\n if (show) {\n afterShow?.()\n } else {\n afterHide?.()\n }\n }, [show])\n\n const handleShowTooltipDelayed = () => {\n if (tooltipShowDelayTimerRef.current) {\n clearTimeout(tooltipShowDelayTimerRef.current)\n }\n\n tooltipShowDelayTimerRef.current = setTimeout(() => {\n handleShow(true)\n }, delayShow)\n }\n\n const handleHideTooltipDelayed = (delay = delayHide) => {\n if (tooltipHideDelayTimerRef.current) {\n clearTimeout(tooltipHideDelayTimerRef.current)\n }\n\n tooltipHideDelayTimerRef.current = setTimeout(() => {\n if (hoveringTooltip.current) {\n return\n }\n handleShow(false)\n }, delay)\n }\n\n const handleShowTooltip = (event?: Event) => {\n if (!event) {\n return\n }\n if (delayShow) {\n handleShowTooltipDelayed()\n } else {\n handleShow(true)\n }\n const target = event.currentTarget ?? event.target\n setActiveAnchor(target as HTMLElement)\n setProviderActiveAnchor({ current: target as HTMLElement })\n\n if (tooltipHideDelayTimerRef.current) {\n clearTimeout(tooltipHideDelayTimerRef.current)\n }\n }\n\n const handleHideTooltip = () => {\n if (clickable) {\n // allow time for the mouse to reach the tooltip, in case there's a gap\n handleHideTooltipDelayed(delayHide || 100)\n } else if (delayHide) {\n handleHideTooltipDelayed()\n } else {\n handleShow(false)\n }\n\n if (tooltipShowDelayTimerRef.current) {\n clearTimeout(tooltipShowDelayTimerRef.current)\n }\n }\n\n const handleTooltipPosition = ({ x, y }: IPosition) => {\n const virtualElement = {\n getBoundingClientRect() {\n return {\n x,\n y,\n width: 0,\n height: 0,\n top: y,\n left: x,\n right: x,\n bottom: y,\n }\n },\n } as Element\n computeTooltipPosition({\n place,\n offset,\n elementReference: virtualElement,\n tooltipReference: tooltipRef.current,\n tooltipArrowReference: tooltipArrowRef.current,\n strategy: positionStrategy,\n middlewares,\n }).then((computedStylesData) => {\n if (Object.keys(computedStylesData.tooltipStyles).length) {\n setInlineStyles(computedStylesData.tooltipStyles)\n }\n if (Object.keys(computedStylesData.tooltipArrowStyles).length) {\n setInlineArrowStyles(computedStylesData.tooltipArrowStyles)\n }\n setActualPlacement(computedStylesData.place as PlacesType)\n })\n }\n\n const handleMouseMove = (event?: Event) => {\n if (!event) {\n return\n }\n const mouseEvent = event as MouseEvent\n const mousePosition = {\n x: mouseEvent.clientX,\n y: mouseEvent.clientY,\n }\n handleTooltipPosition(mousePosition)\n lastFloatPosition.current = mousePosition\n }\n\n const handleClickTooltipAnchor = (event?: Event) => {\n handleShowTooltip(event)\n if (delayHide) {\n handleHideTooltipDelayed()\n }\n }\n\n const handleClickOutsideAnchors = (event: MouseEvent) => {\n const anchorById = document.querySelector<HTMLElement>(`[id='${anchorId}']`)\n const anchors = [anchorById, ...anchorsBySelect]\n if (anchors.some((anchor) => anchor?.contains(event.target as HTMLElement))) {\n return\n }\n if (tooltipRef.current?.contains(event.target as HTMLElement)) {\n return\n }\n handleShow(false)\n }\n\n const handleEsc = (event: KeyboardEvent) => {\n if (event.key !== 'Escape') {\n return\n }\n handleShow(false)\n }\n\n // debounce handler to prevent call twice when\n // mouse enter and focus events being triggered toggether\n const debouncedHandleShowTooltip = debounce(handleShowTooltip, 50)\n const debouncedHandleHideTooltip = debounce(handleHideTooltip, 50)\n\n useEffect(() => {\n const elementRefs = new Set(anchorRefs)\n\n anchorsBySelect.forEach((anchor) => {\n elementRefs.add({ current: anchor })\n })\n\n const anchorById = document.querySelector<HTMLElement>(`[id='${anchorId}']`)\n if (anchorById) {\n elementRefs.add({ current: anchorById })\n }\n\n if (closeOnEsc) {\n window.addEventListener('keydown', handleEsc)\n }\n\n const enabledEvents: { event: string; listener: (event?: Event) => void }[] = []\n\n if (shouldOpenOnClick) {\n window.addEventListener('click', handleClickOutsideAnchors)\n enabledEvents.push({ event: 'click', listener: handleClickTooltipAnchor })\n } else {\n enabledEvents.push(\n { event: 'mouseenter', listener: debouncedHandleShowTooltip },\n { event: 'mouseleave', listener: debouncedHandleHideTooltip },\n { event: 'focus', listener: debouncedHandleShowTooltip },\n { event: 'blur', listener: debouncedHandleHideTooltip },\n )\n if (float) {\n enabledEvents.push({\n event: 'mousemove',\n listener: handleMouseMove,\n })\n }\n }\n\n const handleMouseEnterTooltip = () => {\n hoveringTooltip.current = true\n }\n const handleMouseLeaveTooltip = () => {\n hoveringTooltip.current = false\n handleHideTooltip()\n }\n\n if (clickable && !shouldOpenOnClick) {\n tooltipRef.current?.addEventListener('mouseenter', handleMouseEnterTooltip)\n tooltipRef.current?.addEventListener('mouseleave', handleMouseLeaveTooltip)\n }\n\n enabledEvents.forEach(({ event, listener }) => {\n elementRefs.forEach((ref) => {\n ref.current?.addEventListener(event, listener)\n })\n })\n\n return () => {\n if (shouldOpenOnClick) {\n window.removeEventListener('click', handleClickOutsideAnchors)\n }\n if (closeOnEsc) {\n window.removeEventListener('keydown', handleEsc)\n }\n if (clickable && !shouldOpenOnClick) {\n tooltipRef.current?.removeEventListener('mouseenter', handleMouseEnterTooltip)\n tooltipRef.current?.removeEventListener('mouseleave', handleMouseLeaveTooltip)\n }\n enabledEvents.forEach(({ event, listener }) => {\n elementRefs.forEach((ref) => {\n ref.current?.removeEventListener(event, listener)\n })\n })\n }\n /**\n * rendered is also a dependency to ensure anchor observers are re-registered\n * since `tooltipRef` becomes stale after removing/adding the tooltip to the DOM\n */\n }, [rendered, anchorRefs, anchorsBySelect, closeOnEsc, events])\n\n useEffect(() => {\n let selector = anchorSelect ?? ''\n if (!selector && id) {\n selector = `[data-tooltip-id='${id}']`\n }\n const documentObserverCallback: MutationCallback = (mutationList) => {\n const newAnchors: HTMLElement[] = []\n mutationList.forEach((mutation) => {\n if (mutation.type === 'attributes' && mutation.attributeName === 'data-tooltip-id') {\n const newId = (mutation.target as HTMLElement).getAttribute('data-tooltip-id')\n if (newId === id) {\n newAnchors.push(mutation.target as HTMLElement)\n }\n }\n if (mutation.type !== 'childList') {\n return\n }\n if (activeAnchor) {\n ;[...mutation.removedNodes].some((node) => {\n if (node.contains(activeAnchor)) {\n setRendered(false)\n handleShow(false)\n setActiveAnchor(null)\n return true\n }\n return false\n })\n }\n if (!selector) {\n return\n }\n try {\n const elements = [...mutation.addedNodes].filter((node) => node.nodeType === 1)\n newAnchors.push(\n // the element itself is an anchor\n ...(elements.filter((element) =>\n (element as HTMLElement).matches(selector),\n ) as HTMLElement[]),\n )\n newAnchors.push(\n // the element has children which are anchors\n ...elements.flatMap(\n (element) =>\n [...(element as HTMLElement).querySelectorAll(selector)] as HTMLElement[],\n ),\n )\n } catch {\n /**\n * invalid CSS selector.\n * already warned on tooltip controller\n */\n }\n })\n if (newAnchors.length) {\n setAnchorsBySelect((anchors) => [...anchors, ...newAnchors])\n }\n }\n const documentObserver = new MutationObserver(documentObserverCallback)\n // watch for anchor being removed from the DOM\n documentObserver.observe(document.body, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['data-tooltip-id'],\n })\n return () => {\n documentObserver.disconnect()\n }\n }, [id, anchorSelect, activeAnchor])\n\n useEffect(() => {\n if (position) {\n // if `position` is set, override regular and `float` positioning\n handleTooltipPosition(position)\n return\n }\n\n if (float) {\n if (lastFloatPosition.current) {\n /*\n Without this, changes to `content`, `place`, `offset`, ..., will only\n trigger a position calculation after a `mousemove` event.\n\n To see why this matters, comment this line, run `yarn dev` and click the\n \"Hover me!\" anchor.\n */\n handleTooltipPosition(lastFloatPosition.current)\n }\n // if `float` is set, override regular positioning\n return\n }\n\n computeTooltipPosition({\n place,\n offset,\n elementReference: activeAnchor,\n tooltipReference: tooltipRef.current,\n tooltipArrowReference: tooltipArrowRef.current,\n strategy: positionStrategy,\n middlewares,\n }).then((computedStylesData) => {\n if (!mounted.current) {\n // invalidate computed positions after remount\n return\n }\n if (Object.keys(computedStylesData.tooltipStyles).length) {\n setInlineStyles(computedStylesData.tooltipStyles)\n }\n if (Object.keys(computedStylesData.tooltipArrowStyles).length) {\n setInlineArrowStyles(computedStylesData.tooltipArrowStyles)\n }\n setActualPlacement(computedStylesData.place as PlacesType)\n })\n }, [show, activeAnchor, content, place, offset, positionStrategy, position])\n\n useEffect(() => {\n const anchorById = document.querySelector<HTMLElement>(`[id='${anchorId}']`)\n const anchors = [...anchorsBySelect, anchorById]\n if (!activeAnchor || !anchors.includes(activeAnchor)) {\n /**\n * if there is no active anchor,\n * or if the current active anchor is not amongst the allowed ones,\n * reset it\n */\n setActiveAnchor(anchorsBySelect[0] ?? anchorById)\n }\n }, [anchorId, anchorsBySelect, activeAnchor])\n\n useEffect(() => {\n return () => {\n if (tooltipShowDelayTimerRef.current) {\n clearTimeout(tooltipShowDelayTimerRef.current)\n }\n if (tooltipHideDelayTimerRef.current) {\n clearTimeout(tooltipHideDelayTimerRef.current)\n }\n }\n }, [])\n\n useEffect(() => {\n let selector = anchorSelect\n if (!selector && id) {\n selector = `[data-tooltip-id='${id}']`\n }\n if (!selector) {\n return\n }\n try {\n const anchors = Array.from(document.querySelectorAll<HTMLElement>(selector))\n setAnchorsBySelect(anchors)\n } catch {\n // warning was already issued in the controller\n setAnchorsBySelect([])\n }\n }, [id, anchorSelect])\n\n const canShow = content && show && Object.keys(inlineStyles).length > 0\n\n return rendered ? (\n <WrapperElement\n id={id}\n role=\"tooltip\"\n className={classNames(\n 'react-tooltip',\n styles['tooltip'],\n styles[variant],\n className,\n `react-tooltip__place-${actualPlacement}`,\n {\n [styles['show']]: canShow,\n [styles['fixed']]: positionStrategy === 'fixed',\n [styles['clickable']]: clickable,\n },\n )}\n style={{ ...externalStyles, ...inlineStyles }}\n ref={tooltipRef}\n >\n {content}\n <WrapperElement\n className={classNames('react-tooltip-arrow', styles['arrow'], classNameArrow, {\n /**\n * changed from dash `no-arrow` to camelcase because of:\n * https://github.com/indooorsman/esbuild-css-modules-plugin/issues/42\n */\n [styles['noArrow']]: noArrow,\n })}\n style={inlineArrowStyles}\n ref={tooltipArrowRef}\n />\n </WrapperElement>\n ) : null\n}\n\nexport default Tooltip\n", "/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * This function debounce the received function\n * @param { function } \tfunc\t\t\t\tFunction to be debounced\n * @param { number } \t\twait\t\t\t\tTime to wait before execut the function\n * @param { boolean } \timmediate\t\tParam to define if the function will be executed immediately\n */\nconst debounce = (func: (...args: any[]) => void, wait?: number, immediate?: true) => {\n let timeout: NodeJS.Timeout | null = null\n\n return function debounced(this: typeof func, ...args: any[]) {\n const later = () => {\n timeout = null\n if (!immediate) {\n func.apply(this, args)\n }\n }\n\n if (timeout) {\n clearTimeout(timeout)\n }\n\n timeout = setTimeout(later, wait)\n }\n}\n\nexport default debounce\n", "import React, {\n createContext,\n PropsWithChildren,\n useCallback,\n useContext,\n useMemo,\n useState,\n} from 'react'\n\nimport type {\n AnchorRef,\n TooltipContextData,\n TooltipContextDataWrapper,\n} from './TooltipProviderTypes'\n\nconst DEFAULT_TOOLTIP_ID = 'DEFAULT_TOOLTIP_ID'\nconst DEFAULT_CONTEXT_DATA: TooltipContextData = {\n anchorRefs: new Set(),\n activeAnchor: { current: null },\n attach: () => {\n /* attach anchor element */\n },\n detach: () => {\n /* detach anchor element */\n },\n setActiveAnchor: () => {\n /* set active anchor */\n },\n}\n\nconst DEFAULT_CONTEXT_DATA_WRAPPER: TooltipContextDataWrapper = {\n getTooltipData: () => DEFAULT_CONTEXT_DATA,\n}\n\nconst TooltipContext = createContext<TooltipContextDataWrapper>(DEFAULT_CONTEXT_DATA_WRAPPER)\n\n/**\n * @deprecated Use the `data-tooltip-id` attribute, or the `anchorSelect` prop instead.\n * See https://react-tooltip.com/docs/getting-started\n */\nconst TooltipProvider: React.FC<PropsWithChildren<void>> = ({ children }) => {\n const [anchorRefMap, setAnchorRefMap] = useState<Record<string, Set<AnchorRef>>>({\n [DEFAULT_TOOLTIP_ID]: new Set(),\n })\n const [activeAnchorMap, setActiveAnchorMap] = useState<Record<string, AnchorRef>>({\n [DEFAULT_TOOLTIP_ID]: { current: null },\n })\n\n const attach = (tooltipId: string, ...refs: AnchorRef[]) => {\n setAnchorRefMap((oldMap) => {\n const tooltipRefs = oldMap[tooltipId] ?? new Set()\n refs.forEach((ref) => tooltipRefs.add(ref))\n // create new object to trigger re-render\n return { ...oldMap, [tooltipId]: new Set(tooltipRefs) }\n })\n }\n\n const detach = (tooltipId: string, ...refs: AnchorRef[]) => {\n setAnchorRefMap((oldMap) => {\n const tooltipRefs = oldMap[tooltipId]\n if (!tooltipRefs) {\n // tooltip not found\n // maybe thow error?\n return oldMap\n }\n refs.forEach((ref) => tooltipRefs.delete(ref))\n // create new object to trigger re-render\n return { ...oldMap }\n })\n }\n\n const setActiveAnchor = (tooltipId: string, ref: React.RefObject<HTMLElement>) => {\n setActiveAnchorMap((oldMap) => {\n if (oldMap[tooltipId]?.current === ref.current) {\n return oldMap\n }\n // create new object to trigger re-render\n return { ...oldMap, [tooltipId]: ref }\n })\n }\n\n const getTooltipData = useCallback(\n (tooltipId = DEFAULT_TOOLTIP_ID) => ({\n anchorRefs: anchorRefMap[tooltipId] ?? new Set(),\n activeAnchor: activeAnchorMap[tooltipId] ?? { current: null },\n attach: (...refs: AnchorRef[]) => attach(tooltipId, ...refs),\n detach: (...refs: AnchorRef[]) => detach(tooltipId, ...refs),\n setActiveAnchor: (ref: AnchorRef) => setActiveAnchor(tooltipId, ref),\n }),\n [anchorRefMap, activeAnchorMap, attach, detach],\n )\n\n const context = useMemo(() => {\n return {\n getTooltipData,\n }\n }, [getTooltipData])\n\n return <TooltipContext.Provider value={context}>{children}</TooltipContext.Provider>\n}\n\nexport function useTooltip(tooltipId = DEFAULT_TOOLTIP_ID) {\n return useContext(TooltipContext).getTooltipData(tooltipId)\n}\n\nexport default TooltipProvider\n", "import { useEffect, useRef } from 'react'\nimport classNames from 'classnames'\nimport { useTooltip } from './TooltipProvider'\nimport type { ITooltipWrapper } from './TooltipProviderTypes'\n\n/**\n * @deprecated Use the `data-tooltip-id` attribute, or the `anchorSelect` prop instead.\n * See https://react-tooltip.com/docs/getting-started\n */\nconst TooltipWrapper = ({\n tooltipId,\n children,\n className,\n place,\n content,\n html,\n variant,\n offset,\n wrapper,\n events,\n positionStrategy,\n delayShow,\n delayHide,\n}: ITooltipWrapper) => {\n const { attach, detach } = useTooltip(tooltipId)\n const anchorRef = useRef<HTMLElement | null>(null)\n\n useEffect(() => {\n attach(anchorRef)\n return () => {\n detach(anchorRef)\n }\n }, [])\n\n return (\n <span\n ref={anchorRef}\n className={classNames('react-tooltip-wrapper', className)}\n data-tooltip-place={place}\n data-tooltip-content={content}\n data-tooltip-html={html}\n data-tooltip-variant={variant}\n data-tooltip-offset={offset}\n data-tooltip-wrapper={wrapper}\n data-tooltip-events={events}\n data-tooltip-position-strategy={positionStrategy}\n data-tooltip-delay-show={delayShow}\n data-tooltip-delay-hide={delayHide}\n >\n {children}\n </span>\n )\n}\n\nexport default TooltipWrapper\n", "import { useLayoutEffect, useEffect } from 'react'\n\nconst useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect\n\nexport default useIsomorphicLayoutEffect\n", "function t(t){return t.split(\"-\")[1]}function e(t){return\"y\"===t?\"height\":\"width\"}function n(t){return t.split(\"-\")[0]}function o(t){return[\"top\",\"bottom\"].includes(n(t))?\"x\":\"y\"}function i(i,r,a){let{reference:l,floating:s}=i;const c=l.x+l.width/2-s.width/2,f=l.y+l.height/2-s.height/2,m=o(r),u=e(m),g=l[u]/2-s[u]/2,d=\"x\"===m;let p;switch(n(r)){case\"top\":p={x:c,y:l.y-s.height};break;case\"bottom\":p={x:c,y:l.y+l.height};break;case\"right\":p={x:l.x+l.width,y:f};break;case\"left\":p={x:l.x-s.width,y:f};break;default:p={x:l.x,y:l.y}}switch(t(r)){case\"start\":p[m]-=g*(a&&d?-1:1);break;case\"end\":p[m]+=g*(a&&d?-1:1)}return p}const r=async(t,e,n)=>{const{placement:o=\"bottom\",strategy:r=\"absolute\",middleware:a=[],platform:l}=n,s=a.filter(Boolean),c=await(null==l.isRTL?void 0:l.isRTL(e));let f=await l.getElementRects({reference:t,floating:e,strategy:r}),{x:m,y:u}=i(f,o,c),g=o,d={},p=0;for(let n=0;n<s.length;n++){const{name:a,fn:h}=s[n],{x:y,y:x,data:w,reset:v}=await h({x:m,y:u,initialPlacement:o,placement:g,strategy:r,middlewareData:d,rects:f,platform:l,elements:{reference:t,floating:e}});m=null!=y?y:m,u=null!=x?x:u,d={...d,[a]:{...d[a],...w}},v&&p<=50&&(p++,\"object\"==typeof v&&(v.placement&&(g=v.placement),v.rects&&(f=!0===v.rects?await l.getElementRects({reference:t,floating:e,strategy:r}):v.rects),({x:m,y:u}=i(f,g,c))),n=-1)}return{x:m,y:u,placement:g,strategy:r,middlewareData:d}};function a(t){return\"number\"!=typeof t?function(t){return{top:0,right:0,bottom:0,left:0,...t}}(t):{top:t,right:t,bottom:t,left:t}}function l(t){return{...t,top:t.y,left:t.x,right:t.x+t.width,bottom:t.y+t.height}}async function s(t,e){var n;void 0===e&&(e={});const{x:o,y:i,platform:r,rects:s,elements:c,strategy:f}=t,{boundary:m=\"clippingAncestors\",rootBoundary:u=\"viewport\",elementContext:g=\"floating\",altBoundary:d=!1,padding:p=0}=e,h=a(p),y=c[d?\"floating\"===g?\"reference\":\"floating\":g],x=l(await r.getClippingRect({element:null==(n=await(null==r.isElement?void 0:r.isElement(y)))||n?y:y.contextElement||await(null==r.getDocumentElement?void 0:r.getDocumentElement(c.floating)),boundary:m,rootBoundary:u,strategy:f})),w=\"floating\"===g?{...s.floating,x:o,y:i}:s.reference,v=await(null==r.getOffsetParent?void 0:r.getOffsetParent(c.floating)),b=await(null==r.isElement?void 0:r.isElement(v))&&await(null==r.getScale?void 0:r.getScale(v))||{x:1,y:1},R=l(r.convertOffsetParentRelativeRectToViewportRelativeRect?await r.convertOffsetParentRelativeRectToViewportRelativeRect({rect:w,offsetParent:v,strategy:f}):w);return{top:(x.top-R.top+h.top)/b.y,bottom:(R.bottom-x.bottom+h.bottom)/b.y,left:(x.left-R.left+h.left)/b.x,right:(R.right-x.right+h.right)/b.x}}const c=Math.min,f=Math.max;function m(t,e,n){return f(t,c(e,n))}const u=n=>({name:\"arrow\",options:n,async fn(i){const{element:r,padding:l=0}=n||{},{x:s,y:c,placement:f,rects:u,platform:g,elements:d}=i;if(null==r)return{};const p=a(l),h={x:s,y:c},y=o(f),x=e(y),w=await g.getDimensions(r),v=\"y\"===y,b=v?\"top\":\"left\",R=v?\"bottom\":\"right\",A=v?\"clientHeight\":\"clientWidth\",P=u.reference[x]+u.reference[y]-h[y]-u.floating[x],T=h[y]-u.reference[y],O=await(null==g.getOffsetParent?void 0:g.getOffsetParent(r));let E=O?O[A]:0;E&&await(null==g.isElement?void 0:g.isElement(O))||(E=d.floating[A]||u.floating[x]);const D=P/2-T/2,L=p[b],k=E-w[x]-p[R],B=E/2-w[x]/2+D,C=m(L,B,k),H=null!=t(f)&&B!=C&&u.reference[x]/2-(B<L?p[b]:p[R])-w[x]/2<0;return{[y]:h[y]-(H?B<L?L-B:k-B:0),data:{[y]:C,centerOffset:B-C}}}}),g=[\"top\",\"right\",\"bottom\",\"left\"],d=g.reduce(((t,e)=>t.concat(e,e+\"-start\",e+\"-end\")),[]),p={left:\"right\",right:\"left\",bottom:\"top\",top:\"bottom\"};function h(t){return t.replace(/left|right|bottom|top/g,(t=>p[t]))}function y(n,i,r){void 0===r&&(r=!1);const a=t(n),l=o(n),s=e(l);let c=\"x\"===l?a===(r?\"end\":\"start\")?\"right\":\"left\":\"start\"===a?\"bottom\":\"top\";return i.reference[s]>i.floating[s]&&(c=h(c)),{main:c,cross:h(c)}}const x={start:\"end\",end:\"start\"};function w(t){return t.replace(/start|end/g,(t=>x[t]))}const v=function(e){return void 0===e&&(e={}),{name:\"autoPlacement\",options:e,async fn(o){var i,r,a;const{rects:l,middlewareData:c,placement:f,platform:m,elements:u}=o,{crossAxis:g=!1,alignment:p,allowedPlacements:h=d,autoAlignment:x=!0,...v}=e,b=void 0!==p||h===d?function(e,o,i){return(e?[...i.filter((n=>t(n)===e)),...i.filter((n=>t(n)!==e))]:i.filter((t=>n(t)===t))).filter((n=>!e||t(n)===e||!!o&&w(n)!==n))}(p||null,x,h):h,R=await s(o,v),A=(null==(i=c.autoPlacement)?void 0:i.index)||0,P=b[A];if(null==P)return{};const{main:T,cross:O}=y(P,l,await(null==m.isRTL?void 0:m.isRTL(u.floating)));if(f!==P)return{reset:{placement:b[0]}};const E=[R[n(P)],R[T],R[O]],D=[...(null==(r=c.autoPlacement)?void 0:r.overflows)||[],{placement:P,overflows:E}],L=b[A+1];if(L)return{data:{index:A+1,overflows:D},reset:{placement:L}};const k=D.map((e=>{const n=t(e.placement);return[e.placement,n&&g?e.overflows.slice(0,2).reduce(((t,e)=>t+e),0):e.overflows[0],e.overflows]})).sort(((t,e)=>t[1]-e[1])),B=(null==(a=k.filter((e=>e[2].slice(0,t(e[0])?2:3).every((t=>t<=0))))[0])?void 0:a[0])||k[0][0];return B!==f?{data:{index:A+1,overflows:D},reset:{placement:B}}:{}}}};const b=function(e){return void 0===e&&(e={}),{name:\"flip\",options:e,async fn(o){var i;const{placement:r,middlewareData:a,rects:l,initialPlacement:c,platform:f,elements:m}=o,{mainAxis:u=!0,crossAxis:g=!0,fallbackPlacements:d,fallbackStrategy:p=\"bestFit\",fallbackAxisSideDirection:x=\"none\",flipAlignment:v=!0,...b}=e,R=n(r),A=n(c)===c,P=await(null==f.isRTL?void 0:f.isRTL(m.floating)),T=d||(A||!v?[h(c)]:function(t){const e=h(t);return[w(t),e,w(e)]}(c));d||\"none\"===x||T.push(...function(e,o,i,r){const a=t(e);let l=function(t,e,n){const o=[\"left\",\"right\"],i=[\"right\",\"left\"],r=[\"top\",\"bottom\"],a=[\"bottom\",\"top\"];switch(t){case\"top\":case\"bottom\":return n?e?i:o:e?o:i;case\"left\":case\"right\":return e?r:a;default:return[]}}(n(e),\"start\"===i,r);return a&&(l=l.map((t=>t+\"-\"+a)),o&&(l=l.concat(l.map(w)))),l}(c,v,x,P));const O=[c,...T],E=await s(o,b),D=[];let L=(null==(i=a.flip)?void 0:i.overflows)||[];if(u&&D.push(E[R]),g){const{main:t,cross:e}=y(r,l,P);D.push(E[t],E[e])}if(L=[...L,{placement:r,overflows:D}],!D.every((t=>t<=0))){var k,B;const t=((null==(k=a.flip)?void 0:k.index)||0)+1,e=O[t];if(e)return{data:{index:t,overflows:L},reset:{placement:e}};let n=null==(B=L.filter((t=>t.overflows[0]<=0)).sort(((t,e)=>t.overflows[1]-e.overflows[1]))[0])?void 0:B.placement;if(!n)switch(p){case\"bestFit\":{var C;const t=null==(C=L.map((t=>[t.placement,t.overflows.filter((t=>t>0)).reduce(((t,e)=>t+e),0)])).sort(((t,e)=>t[1]-e[1]))[0])?void 0:C[0];t&&(n=t);break}case\"initialPlacement\":n=c}if(r!==n)return{reset:{placement:n}}}return{}}}};function R(t,e){return{top:t.top-e.height,right:t.right-e.width,bottom:t.bottom-e.height,left:t.left-e.width}}function A(t){return g.some((e=>t[e]>=0))}const P=function(t){return void 0===t&&(t={}),{name:\"hide\",options:t,async fn(e){const{strategy:n=\"referenceHidden\",...o}=t,{rects:i}=e;switch(n){case\"referenceHidden\":{const t=R(await s(e,{...o,elementContext:\"reference\"}),i.reference);return{data:{referenceHiddenOffsets:t,referenceHidden:A(t)}}}case\"escaped\":{const t=R(await s(e,{...o,altBoundary:!0}),i.floating);return{data:{escapedOffsets:t,escaped:A(t)}}}default:return{}}}}},T=function(t){return void 0===t&&(t={}),{name:\"inline\",options:t,async fn(e){const{placement:i,elements:r,rects:s,platform:m,strategy:u}=e,{padding:g=2,x:d,y:p}=t,h=l(m.convertOffsetParentRelativeRectToViewportRelativeRect?await m.convertOffsetParentRelativeRectToViewportRelativeRect({rect:s.reference,offsetParent:await(null==m.getOffsetParent?void 0:m.getOffsetParent(r.floating)),strategy:u}):s.reference),y=await(null==m.getClientRects?void 0:m.getClientRects(r.reference))||[],x=a(g);const w=await m.getElementRects({reference:{getBoundingClientRect:function(){if(2===y.length&&y[0].left>y[1].right&&null!=d&&null!=p)return y.find((t=>d>t.left-x.left&&d<t.right+x.right&&p>t.top-x.top&&p<t.bottom+x.bottom))||h;if(y.length>=2){if(\"x\"===o(i)){const t=y[0],e=y[y.length-1],o=\"top\"===n(i),r=t.top,a=e.bottom,l=o?t.left:e.left,s=o?t.right:e.right;return{top:r,bottom:a,left:l,right:s,width:s-l,height:a-r,x:l,y:r}}const t=\"left\"===n(i),e=f(...y.map((t=>t.right))),r=c(...y.map((t=>t.left))),a=y.filter((n=>t?n.left===r:n.right===e)),l=a[0].top,s=a[a.length-1].bottom;return{top:l,bottom:s,left:r,right:e,width:e-r,height:s-l,x:r,y:l}}return h}},floating:r.floating,strategy:u});return s.reference.x!==w.reference.x||s.reference.y!==w.reference.y||s.reference.width!==w.reference.width||s.reference.height!==w.reference.height?{reset:{rects:w}}:{}}}};const O=function(e){return void 0===e&&(e=0),{name:\"offset\",options:e,async fn(i){const{x:r,y:a}=i,l=await async function(e,i){const{placement:r,platform:a,elements:l}=e,s=await(null==a.isRTL?void 0:a.isRTL(l.floating)),c=n(r),f=t(r),m=\"x\"===o(r),u=[\"left\",\"top\"].includes(c)?-1:1,g=s&&m?-1:1,d=\"function\"==typeof i?i(e):i;let{mainAxis:p,crossAxis:h,alignmentAxis:y}=\"number\"==typeof d?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...d};return f&&\"number\"==typeof y&&(h=\"end\"===f?-1*y:y),m?{x:h*g,y:p*u}:{x:p*u,y:h*g}}(i,e);return{x:r+l.x,y:a+l.y,data:l}}}};function E(t){return\"x\"===t?\"y\":\"x\"}const D=function(t){return void 0===t&&(t={}),{name:\"shift\",options:t,async fn(e){const{x:i,y:r,placement:a}=e,{mainAxis:l=!0,crossAxis:c=!1,limiter:f={fn:t=>{let{x:e,y:n}=t;return{x:e,y:n}}},...u}=t,g={x:i,y:r},d=await s(e,u),p=o(n(a)),h=E(p);let y=g[p],x=g[h];if(l){const t=\"y\"===p?\"bottom\":\"right\";y=m(y+d[\"y\"===p?\"top\":\"left\"],y,y-d[t])}if(c){const t=\"y\"===h?\"bottom\":\"right\";x=m(x+d[\"y\"===h?\"top\":\"left\"],x,x-d[t])}const w=f.fn({...e,[p]:y,[h]:x});return{...w,data:{x:w.x-i,y:w.y-r}}}}},L=function(t){return void 0===t&&(t={}),{options:t,fn(e){const{x:i,y:r,placement:a,rects:l,middlewareData:s}=e,{offset:c=0,mainAxis:f=!0,crossAxis:m=!0}=t,u={x:i,y:r},g=o(a),d=E(g);let p=u[g],h=u[d];const y=\"function\"==typeof c?c(e):c,x=\"number\"==typeof y?{mainAxis:y,crossAxis:0}:{mainAxis:0,crossAxis:0,...y};if(f){const t=\"y\"===g?\"height\":\"width\",e=l.reference[g]-l.floating[t]+x.mainAxis,n=l.reference[g]+l.reference[t]-x.mainAxis;p<e?p=e:p>n&&(p=n)}if(m){var w,v;const t=\"y\"===g?\"width\":\"height\",e=[\"top\",\"left\"].includes(n(a)),o=l.reference[d]-l.floating[t]+(e&&(null==(w=s.offset)?void 0:w[d])||0)+(e?0:x.crossAxis),i=l.reference[d]+l.reference[t]+(e?0:(null==(v=s.offset)?void 0:v[d])||0)-(e?x.crossAxis:0);h<o?h=o:h>i&&(h=i)}return{[g]:p,[d]:h}}}},k=function(e){return void 0===e&&(e={}),{name:\"size\",options:e,async fn(i){const{placement:r,rects:a,platform:l,elements:m}=i,{apply:u=(()=>{}),...g}=e,d=await s(i,g),p=n(r),h=t(r),y=\"x\"===o(r),{width:x,height:w}=a.floating;let v,b;\"top\"===p||\"bottom\"===p?(v=p,b=h===(await(null==l.isRTL?void 0:l.isRTL(m.floating))?\"start\":\"end\")?\"left\":\"right\"):(b=p,v=\"end\"===h?\"top\":\"bottom\");const R=w-d[v],A=x-d[b];let P=R,T=A;if(y?T=c(x-d.right-d.left,A):P=c(w-d.bottom-d.top,R),!i.middlewareData.shift&&!h){const t=f(d.left,0),e=f(d.right,0),n=f(d.top,0),o=f(d.bottom,0);y?T=x-2*(0!==t||0!==e?t+e:f(d.left,d.right)):P=w-2*(0!==n||0!==o?n+o:f(d.top,d.bottom))}await u({...i,availableWidth:T,availableHeight:P});const O=await l.getDimensions(m.floating);return x!==O.width||w!==O.height?{reset:{rects:!0}}:{}}}};export{u as arrow,v as autoPlacement,r as computePosition,s as detectOverflow,b as flip,P as hide,T as inline,L as limitShift,O as offset,l as rectToClientRect,D as shift,k as size};\n", "import{rectToClientRect as t,computePosition as e}from\"@floating-ui/core\";export{arrow,autoPlacement,detectOverflow,flip,hide,inline,limitShift,offset,shift,size}from\"@floating-ui/core\";function n(t){var e;return(null==(e=t.ownerDocument)?void 0:e.defaultView)||window}function o(t){return n(t).getComputedStyle(t)}const i=Math.min,r=Math.max,l=Math.round;function c(t){const e=o(t);let n=parseFloat(e.width),i=parseFloat(e.height);const r=t.offsetWidth,c=t.offsetHeight,s=l(n)!==r||l(i)!==c;return s&&(n=r,i=c),{width:n,height:i,fallback:s}}function s(t){return h(t)?(t.nodeName||\"\").toLowerCase():\"\"}let f;function u(){if(f)return f;const t=navigator.userAgentData;return t&&Array.isArray(t.brands)?(f=t.brands.map((t=>t.brand+\"/\"+t.version)).join(\" \"),f):navigator.userAgent}function a(t){return t instanceof n(t).HTMLElement}function d(t){return t instanceof n(t).Element}function h(t){return t instanceof n(t).Node}function p(t){if(\"undefined\"==typeof ShadowRoot)return!1;return t instanceof n(t).ShadowRoot||t instanceof ShadowRoot}function g(t){const{overflow:e,overflowX:n,overflowY:i,display:r}=o(t);return/auto|scroll|overlay|hidden|clip/.test(e+i+n)&&![\"inline\",\"contents\"].includes(r)}function m(t){return[\"table\",\"td\",\"th\"].includes(s(t))}function y(t){const e=/firefox/i.test(u()),n=o(t),i=n.backdropFilter||n.WebkitBackdropFilter;return\"none\"!==n.transform||\"none\"!==n.perspective||!!i&&\"none\"!==i||e&&\"filter\"===n.willChange||e&&!!n.filter&&\"none\"!==n.filter||[\"transform\",\"perspective\"].some((t=>n.willChange.includes(t)))||[\"paint\",\"layout\",\"strict\",\"content\"].some((t=>{const e=n.contain;return null!=e&&e.includes(t)}))}function x(){return/^((?!chrome|android).)*safari/i.test(u())}function w(t){return[\"html\",\"body\",\"#document\"].includes(s(t))}function v(t){return d(t)?t:t.contextElement}const b={x:1,y:1};function L(t){const e=v(t);if(!a(e))return b;const n=e.getBoundingClientRect(),{width:o,height:i,fallback:r}=c(e);let s=(r?l(n.width):n.width)/o,f=(r?l(n.height):n.height)/i;return s&&Number.isFinite(s)||(s=1),f&&Number.isFinite(f)||(f=1),{x:s,y:f}}function E(e,o,i,r){var l,c;void 0===o&&(o=!1),void 0===i&&(i=!1);const s=e.getBoundingClientRect(),f=v(e);let u=b;o&&(r?d(r)&&(u=L(r)):u=L(e));const a=f?n(f):window,h=x()&&i;let p=(s.left+(h&&(null==(l=a.visualViewport)?void 0:l.offsetLeft)||0))/u.x,g=(s.top+(h&&(null==(c=a.visualViewport)?void 0:c.offsetTop)||0))/u.y,m=s.width/u.x,y=s.height/u.y;if(f){const t=n(f),e=r&&d(r)?n(r):r;let o=t.frameElement;for(;o&&r&&e!==t;){const t=L(o),e=o.getBoundingClientRect(),i=getComputedStyle(o);e.x+=(o.clientLeft+parseFloat(i.paddingLeft))*t.x,e.y+=(o.clientTop+parseFloat(i.paddingTop))*t.y,p*=t.x,g*=t.y,m*=t.x,y*=t.y,p+=e.x,g+=e.y,o=n(o).frameElement}}return t({width:m,height:y,x:p,y:g})}function R(t){return((h(t)?t.ownerDocument:t.document)||window.document).documentElement}function T(t){return d(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function C(t){return E(R(t)).left+T(t).scrollLeft}function F(t){if(\"html\"===s(t))return t;const e=t.assignedSlot||t.parentNode||p(t)&&t.host||R(t);return p(e)?e.host:e}function W(t){const e=F(t);return w(e)?e.ownerDocument.body:a(e)&&g(e)?e:W(e)}function D(t,e){var o;void 0===e&&(e=[]);const i=W(t),r=i===(null==(o=t.ownerDocument)?void 0:o.body),l=n(i);return r?e.concat(l,l.visualViewport||[],g(i)?i:[]):e.concat(i,D(i))}function S(e,i,l){let c;if(\"viewport\"===i)c=function(t,e){const o=n(t),i=R(t),r=o.visualViewport;let l=i.clientWidth,c=i.clientHeight,s=0,f=0;if(r){l=r.width,c=r.height;const t=x();(!t||t&&\"fixed\"===e)&&(s=r.offsetLeft,f=r.offsetTop)}return{width:l,height:c,x:s,y:f}}(e,l);else if(\"document\"===i)c=function(t){const e=R(t),n=T(t),i=t.ownerDocument.body,l=r(e.scrollWidth,e.clientWidth,i.scrollWidth,i.clientWidth),c=r(e.scrollHeight,e.clientHeight,i.scrollHeight,i.clientHeight);let s=-n.scrollLeft+C(t);const f=-n.scrollTop;return\"rtl\"===o(i).direction&&(s+=r(e.clientWidth,i.clientWidth)-l),{width:l,height:c,x:s,y:f}}(R(e));else if(d(i))c=function(t,e){const n=E(t,!0,\"fixed\"===e),o=n.top+t.clientTop,i=n.left+t.clientLeft,r=a(t)?L(t):{x:1,y:1};return{width:t.clientWidth*r.x,height:t.clientHeight*r.y,x:i*r.x,y:o*r.y}}(i,l);else{const t={...i};if(x()){var s,f;const o=n(e);t.x-=(null==(s=o.visualViewport)?void 0:s.offsetLeft)||0,t.y-=(null==(f=o.visualViewport)?void 0:f.offsetTop)||0}c=t}return t(c)}function A(t,e){return a(t)&&\"fixed\"!==o(t).position?e?e(t):t.offsetParent:null}function H(t,e){const i=n(t);if(!a(t))return i;let r=A(t,e);for(;r&&m(r)&&\"static\"===o(r).position;)r=A(r,e);return r&&(\"html\"===s(r)||\"body\"===s(r)&&\"static\"===o(r).position&&!y(r))?i:r||function(t){let e=F(t);for(;a(e)&&!w(e);){if(y(e))return e;e=F(e)}return null}(t)||i}function V(t,e,n){const o=a(e),i=R(e),r=E(t,!0,\"fixed\"===n,e);let l={scrollLeft:0,scrollTop:0};const c={x:0,y:0};if(o||!o&&\"fixed\"!==n)if((\"body\"!==s(e)||g(i))&&(l=T(e)),a(e)){const t=E(e,!0);c.x=t.x+e.clientLeft,c.y=t.y+e.clientTop}else i&&(c.x=C(i));return{x:r.left+l.scrollLeft-c.x,y:r.top+l.scrollTop-c.y,width:r.width,height:r.height}}const O={getClippingRect:function(t){let{element:e,boundary:n,rootBoundary:l,strategy:c}=t;const f=\"clippingAncestors\"===n?function(t,e){const n=e.get(t);if(n)return n;let i=D(t).filter((t=>d(t)&&\"body\"!==s(t))),r=null;const l=\"fixed\"===o(t).position;let c=l?F(t):t;for(;d(c)&&!w(c);){const t=o(c),e=y(c);\"fixed\"===t.position?r=null:(l?e||r:e||\"static\"!==t.position||!r||![\"absolute\",\"fixed\"].includes(r.position))?r=t:i=i.filter((t=>t!==c)),c=F(c)}return e.set(t,i),i}(e,this._c):[].concat(n),u=[...f,l],a=u[0],h=u.reduce(((t,n)=>{const o=S(e,n,c);return t.top=r(o.top,t.top),t.right=i(o.right,t.right),t.bottom=i(o.bottom,t.bottom),t.left=r(o.left,t.left),t}),S(e,a,c));return{width:h.right-h.left,height:h.bottom-h.top,x:h.left,y:h.top}},convertOffsetParentRelativeRectToViewportRelativeRect:function(t){let{rect:e,offsetParent:n,strategy:o}=t;const i=a(n),r=R(n);if(n===r)return e;let l={scrollLeft:0,scrollTop:0},c={x:1,y:1};const f={x:0,y:0};if((i||!i&&\"fixed\"!==o)&&((\"body\"!==s(n)||g(r))&&(l=T(n)),a(n))){const t=E(n);c=L(n),f.x=t.x+n.clientLeft,f.y=t.y+n.clientTop}return{width:e.width*c.x,height:e.height*c.y,x:e.x*c.x-l.scrollLeft*c.x+f.x,y:e.y*c.y-l.scrollTop*c.y+f.y}},isElement:d,getDimensions:function(t){return a(t)?c(t):t.getBoundingClientRect()},getOffsetParent:H,getDocumentElement:R,getScale:L,async getElementRects(t){let{reference:e,floating:n,strategy:o}=t;const i=this.getOffsetParent||H,r=this.getDimensions;return{reference:V(e,await i(n),o),floating:{x:0,y:0,...await r(n)}}},getClientRects:t=>Array.from(t.getClientRects()),isRTL:t=>\"rtl\"===o(t).direction};function P(t,e,n,o){void 0===o&&(o={});const{ancestorScroll:i=!0,ancestorResize:r=!0,elementResize:l=!0,animationFrame:c=!1}=o,s=i&&!c,f=s||r?[...d(t)?D(t):t.contextElement?D(t.contextElement):[],...D(e)]:[];f.forEach((t=>{s&&t.addEventListener(\"scroll\",n,{passive:!0}),r&&t.addEventListener(\"resize\",n)}));let u,a=null;if(l){let o=!0;a=new ResizeObserver((()=>{o||n(),o=!1})),d(t)&&!c&&a.observe(t),d(t)||!t.contextElement||c||a.observe(t.contextElement),a.observe(e)}let h=c?E(t):null;return c&&function e(){const o=E(t);!h||o.x===h.x&&o.y===h.y&&o.width===h.width&&o.height===h.height||n();h=o,u=requestAnimationFrame(e)}(),n(),()=>{var t;f.forEach((t=>{s&&t.removeEventListener(\"scroll\",n),r&&t.removeEventListener(\"resize\",n)})),null==(t=a)||t.disconnect(),a=null,c&&cancelAnimationFrame(u)}}const z=(t,n,o)=>{const i=new Map,r={platform:O,...o},l={...r.platform,_c:i};return e(t,n,{...r,platform:l})};export{P as autoUpdate,z as computePosition,D as getOverflowAncestors,O as platform};\n", "import { computePosition, offset, shift, arrow, flip } from '@floating-ui/dom'\nimport type { IComputePositions } from './compute-positions-types'\n\nexport const computeTooltipPosition = async ({\n elementReference = null,\n tooltipReference = null,\n tooltipArrowReference = null,\n place = 'top',\n offset: offsetValue = 10,\n strategy = 'absolute',\n middlewares = [offset(Number(offsetValue)), flip(), shift({ padding: 5 })],\n}: IComputePositions) => {\n if (!elementReference) {\n // elementReference can be null or undefined and we will not compute the position\n // eslint-disable-next-line no-console\n // console.error('The reference element for tooltip was not defined: ', elementReference)\n return { tooltipStyles: {}, tooltipArrowStyles: {}, place }\n }\n\n if (tooltipReference === null) {\n return { tooltipStyles: {}, tooltipArrowStyles: {}, place }\n }\n\n const middleware = middlewares\n\n if (tooltipArrowReference) {\n middleware.push(arrow({ element: tooltipArrowReference as HTMLElement, padding: 5 }))\n\n return computePosition(elementReference as HTMLElement, tooltipReference as HTMLElement, {\n placement: place,\n strategy,\n middleware,\n }).then(({ x, y, placement, middlewareData }) => {\n const styles = { left: `${x}px`, top: `${y}px` }\n\n const { x: arrowX, y: arrowY } = middlewareData.arrow ?? { x: 0, y: 0 }\n\n const staticSide =\n {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n }[placement.split('-')[0]] ?? 'bottom'\n\n const arrowStyle = {\n left: arrowX != null ? `${arrowX}px` : '',\n top: arrowY != null ? `${arrowY}px` : '',\n right: '',\n bottom: '',\n [staticSide]: '-4px',\n }\n\n return { tooltipStyles: styles, tooltipArrowStyles: arrowStyle, place: placement }\n })\n }\n\n return computePosition(elementReference as HTMLElement, tooltipReference as HTMLElement, {\n placement: 'bottom',\n strategy,\n middleware,\n }).then(({ x, y, placement }) => {\n const styles = { left: `${x}px`, top: `${y}px` }\n\n return { tooltipStyles: styles, tooltipArrowStyles: {}, place: placement }\n })\n}\n", "import \"./styles.module.css?esbuild-css-modules-plugin-built\";\nexport default {\"arrow\":\"react-tooltip__arrow_KtSkBq\",\"clickable\":\"react-tooltip__clickable_KtSkBq\",\"dark\":\"react-tooltip__dark_KtSkBq\",\"error\":\"react-tooltip__error_KtSkBq\",\"fixed\":\"react-tooltip__fixed_KtSkBq\",\"info\":\"react-tooltip__info_KtSkBq\",\"light\":\"react-tooltip__light_KtSkBq\",\"noArrow\":\"react-tooltip__no-arrow_KtSkBq\",\"show\":\"react-tooltip__show_KtSkBq\",\"success\":\"react-tooltip__success_KtSkBq\",\"tooltip\":\"react-tooltip__tooltip_KtSkBq\",\"warning\":\"react-tooltip__warning_KtSkBq\"};;\nexport const arrow = \"react-tooltip__arrow_KtSkBq\";\nexport const clickable = \"react-tooltip__clickable_KtSkBq\";\nexport const dark = \"react-tooltip__dark_KtSkBq\";\nexport const error = \"react-tooltip__error_KtSkBq\";\nexport const fixed = \"react-tooltip__fixed_KtSkBq\";\nexport const info = \"react-tooltip__info_KtSkBq\";\nexport const light = \"react-tooltip__light_KtSkBq\";\nexport const noArrow = \"react-tooltip__no-arrow_KtSkBq\";\nexport const show = \"react-tooltip__show_KtSkBq\";\nexport const success = \"react-tooltip__success_KtSkBq\";\nexport const tooltip = \"react-tooltip__tooltip_KtSkBq\";\nexport const warning = \"react-tooltip__warning_KtSkBq\";", "/* eslint-disable react/no-danger */\nimport type { ITooltipContent } from './TooltipContentTypes'\n\nconst TooltipContent = ({ content }: ITooltipContent) => {\n return <span dangerouslySetInnerHTML={{ __html: content }} />\n}\n\nexport default TooltipContent\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["module", "classNames", "i", "import_react", "import_react", "import_classnames", "import_react", "import_jsx_runtime", "classNames", "import_react", "t", "i", "r", "a", "l", "s", "c", "f", "m", "u", "g", "d", "p", "e", "n", "o", "h", "y", "x", "w", "v", "b", "R", "A", "P", "T", "O", "E", "D", "L", "k", "C", "H", "e", "o", "i", "r", "a", "l", "c", "f", "m", "u", "g", "d", "p", "x", "v", "b", "R", "A", "P", "T", "t", "n", "O", "E", "D", "L", "k", "C", "e", "i", "r", "a", "l", "s", "c", "f", "m", "u", "g", "d", "p", "h", "y", "t", "n", "x", "w", "n", "t", "e", "o", "i", "r", "l", "c", "s", "h", "f", "u", "a", "d", "p", "g", "m", "y", "x", "w", "v", "b", "L", "E", "T", "D", "O", "t", "n", "o", "i", "r", "O", "l", "x", "y", "import_jsx_runtime", "x", "y", "_a", "_b", "e", "classNames", "import_jsx_runtime", "import_jsx_runtime", "e", "_a"]
|
|
7
|
+
}
|
package/dist/react-tooltip.d.ts
CHANGED
|
@@ -40,7 +40,11 @@ interface ITooltipController {
|
|
|
40
40
|
className?: string
|
|
41
41
|
classNameArrow?: string
|
|
42
42
|
content?: string
|
|
43
|
+
/**
|
|
44
|
+
* @deprecated Use `children` or `render` instead
|
|
45
|
+
*/
|
|
43
46
|
html?: string
|
|
47
|
+
render?: (render: { content: string | null; activeAnchor: HTMLElement | null }) => ChildrenType
|
|
44
48
|
place?: PlacesType
|
|
45
49
|
offset?: number
|
|
46
50
|
id?: string
|
|
@@ -115,7 +119,7 @@ interface ITooltipWrapper {
|
|
|
115
119
|
delayHide?: ITooltipController['delayHide']
|
|
116
120
|
}
|
|
117
121
|
|
|
118
|
-
declare const TooltipController: ({ id, anchorId, anchorSelect, content, html, className, classNameArrow, variant, place, offset, wrapper, children, events, openOnClick, positionStrategy, middlewares, delayShow, delayHide, float, noArrow, clickable, closeOnEsc, style, position, isOpen, setIsOpen, afterShow, afterHide, }: ITooltipController) => JSX.Element;
|
|
122
|
+
declare const TooltipController: ({ id, anchorId, anchorSelect, content, html, render, className, classNameArrow, variant, place, offset, wrapper, children, events, openOnClick, positionStrategy, middlewares, delayShow, delayHide, float, noArrow, clickable, closeOnEsc, style, position, isOpen, setIsOpen, afterShow, afterHide, }: ITooltipController) => JSX.Element;
|
|
119
123
|
|
|
120
124
|
/**
|
|
121
125
|
* @deprecated Use the `data-tooltip-id` attribute, or the `anchorSelect` prop instead.
|
|
@@ -109,16 +109,9 @@
|
|
|
109
109
|
};
|
|
110
110
|
var debounce_default = debounce;
|
|
111
111
|
|
|
112
|
-
// src/components/TooltipContent/TooltipContent.tsx
|
|
113
|
-
var import_jsx_runtime = __require("react/jsx-runtime");
|
|
114
|
-
var TooltipContent = ({ content }) => {
|
|
115
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { dangerouslySetInnerHTML: { __html: content } });
|
|
116
|
-
};
|
|
117
|
-
var TooltipContent_default = TooltipContent;
|
|
118
|
-
|
|
119
112
|
// src/components/TooltipProvider/TooltipProvider.tsx
|
|
120
113
|
var import_react = __require("react");
|
|
121
|
-
var
|
|
114
|
+
var import_jsx_runtime = __require("react/jsx-runtime");
|
|
122
115
|
var DEFAULT_TOOLTIP_ID = "DEFAULT_TOOLTIP_ID";
|
|
123
116
|
var DEFAULT_CONTEXT_DATA = {
|
|
124
117
|
anchorRefs: /* @__PURE__ */ new Set(),
|
|
@@ -186,7 +179,7 @@
|
|
|
186
179
|
getTooltipData
|
|
187
180
|
};
|
|
188
181
|
}, [getTooltipData]);
|
|
189
|
-
return /* @__PURE__ */ (0,
|
|
182
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TooltipContext.Provider, { value: context, children });
|
|
190
183
|
};
|
|
191
184
|
function useTooltip(tooltipId = DEFAULT_TOOLTIP_ID) {
|
|
192
185
|
return (0, import_react.useContext)(TooltipContext).getTooltipData(tooltipId);
|
|
@@ -196,7 +189,7 @@
|
|
|
196
189
|
// src/components/TooltipProvider/TooltipWrapper.tsx
|
|
197
190
|
var import_react2 = __require("react");
|
|
198
191
|
var import_classnames = __toESM(require_classnames());
|
|
199
|
-
var
|
|
192
|
+
var import_jsx_runtime2 = __require("react/jsx-runtime");
|
|
200
193
|
var TooltipWrapper = ({
|
|
201
194
|
tooltipId,
|
|
202
195
|
children,
|
|
@@ -220,7 +213,7 @@
|
|
|
220
213
|
detach(anchorRef);
|
|
221
214
|
};
|
|
222
215
|
}, []);
|
|
223
|
-
return /* @__PURE__ */ (0,
|
|
216
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
224
217
|
"span",
|
|
225
218
|
{
|
|
226
219
|
ref: anchorRef,
|
|
@@ -712,7 +705,7 @@
|
|
|
712
705
|
var styles_module_default = { "arrow": "react-tooltip__arrow_KtSkBq", "clickable": "react-tooltip__clickable_KtSkBq", "dark": "react-tooltip__dark_KtSkBq", "error": "react-tooltip__error_KtSkBq", "fixed": "react-tooltip__fixed_KtSkBq", "info": "react-tooltip__info_KtSkBq", "light": "react-tooltip__light_KtSkBq", "noArrow": "react-tooltip__no-arrow_KtSkBq", "show": "react-tooltip__show_KtSkBq", "success": "react-tooltip__success_KtSkBq", "tooltip": "react-tooltip__tooltip_KtSkBq", "warning": "react-tooltip__warning_KtSkBq" };
|
|
713
706
|
|
|
714
707
|
// src/components/Tooltip/Tooltip.tsx
|
|
715
|
-
var
|
|
708
|
+
var import_jsx_runtime3 = __require("react/jsx-runtime");
|
|
716
709
|
var Tooltip = ({
|
|
717
710
|
// props
|
|
718
711
|
id,
|
|
@@ -728,7 +721,6 @@
|
|
|
728
721
|
positionStrategy = "absolute",
|
|
729
722
|
middlewares,
|
|
730
723
|
wrapper: WrapperElement,
|
|
731
|
-
children = null,
|
|
732
724
|
delayShow = 0,
|
|
733
725
|
delayHide = 0,
|
|
734
726
|
float = false,
|
|
@@ -741,7 +733,6 @@
|
|
|
741
733
|
afterHide,
|
|
742
734
|
// props handled by controller
|
|
743
735
|
content,
|
|
744
|
-
html,
|
|
745
736
|
isOpen,
|
|
746
737
|
setIsOpen,
|
|
747
738
|
activeAnchor,
|
|
@@ -1102,7 +1093,7 @@
|
|
|
1102
1093
|
}
|
|
1103
1094
|
setActualPlacement(computedStylesData.place);
|
|
1104
1095
|
});
|
|
1105
|
-
}, [show, activeAnchor, content,
|
|
1096
|
+
}, [show, activeAnchor, content, place, offset, positionStrategy, position]);
|
|
1106
1097
|
(0, import_react4.useEffect)(() => {
|
|
1107
1098
|
var _a;
|
|
1108
1099
|
const anchorById = document.querySelector(`[id='${anchorId}']`);
|
|
@@ -1136,9 +1127,8 @@
|
|
|
1136
1127
|
setAnchorsBySelect([]);
|
|
1137
1128
|
}
|
|
1138
1129
|
}, [id, anchorSelect]);
|
|
1139
|
-
const
|
|
1140
|
-
|
|
1141
|
-
return rendered ? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
|
|
1130
|
+
const canShow = content && show && Object.keys(inlineStyles).length > 0;
|
|
1131
|
+
return rendered ? /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
|
|
1142
1132
|
WrapperElement,
|
|
1143
1133
|
{
|
|
1144
1134
|
id,
|
|
@@ -1158,8 +1148,8 @@
|
|
|
1158
1148
|
style: { ...externalStyles, ...inlineStyles },
|
|
1159
1149
|
ref: tooltipRef,
|
|
1160
1150
|
children: [
|
|
1161
|
-
|
|
1162
|
-
/* @__PURE__ */ (0,
|
|
1151
|
+
content,
|
|
1152
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
1163
1153
|
WrapperElement,
|
|
1164
1154
|
{
|
|
1165
1155
|
className: (0, import_classnames2.default)("react-tooltip-arrow", styles_module_default["arrow"], classNameArrow, {
|
|
@@ -1179,6 +1169,13 @@
|
|
|
1179
1169
|
};
|
|
1180
1170
|
var Tooltip_default = Tooltip;
|
|
1181
1171
|
|
|
1172
|
+
// src/components/TooltipContent/TooltipContent.tsx
|
|
1173
|
+
var import_jsx_runtime4 = __require("react/jsx-runtime");
|
|
1174
|
+
var TooltipContent = ({ content }) => {
|
|
1175
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { dangerouslySetInnerHTML: { __html: content } });
|
|
1176
|
+
};
|
|
1177
|
+
var TooltipContent_default = TooltipContent;
|
|
1178
|
+
|
|
1182
1179
|
// src/components/TooltipController/TooltipController.tsx
|
|
1183
1180
|
var import_jsx_runtime5 = __require("react/jsx-runtime");
|
|
1184
1181
|
var TooltipController = ({
|
|
@@ -1187,6 +1184,7 @@
|
|
|
1187
1184
|
anchorSelect,
|
|
1188
1185
|
content,
|
|
1189
1186
|
html,
|
|
1187
|
+
render,
|
|
1190
1188
|
className,
|
|
1191
1189
|
classNameArrow,
|
|
1192
1190
|
variant = "dark",
|
|
@@ -1335,14 +1333,22 @@
|
|
|
1335
1333
|
observer.disconnect();
|
|
1336
1334
|
};
|
|
1337
1335
|
}, [anchorRefs, providerActiveAnchor, activeAnchor, anchorId, anchorSelect]);
|
|
1336
|
+
let renderedContent = children;
|
|
1337
|
+
if (render) {
|
|
1338
|
+
renderedContent = render({ content: tooltipContent != null ? tooltipContent : null, activeAnchor });
|
|
1339
|
+
} else if (tooltipContent) {
|
|
1340
|
+
renderedContent = tooltipContent;
|
|
1341
|
+
}
|
|
1342
|
+
if (tooltipHtml) {
|
|
1343
|
+
renderedContent = /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(TooltipContent_default, { content: tooltipHtml });
|
|
1344
|
+
}
|
|
1338
1345
|
const props = {
|
|
1339
1346
|
id,
|
|
1340
1347
|
anchorId,
|
|
1341
1348
|
anchorSelect,
|
|
1342
1349
|
className,
|
|
1343
1350
|
classNameArrow,
|
|
1344
|
-
content:
|
|
1345
|
-
html: tooltipHtml,
|
|
1351
|
+
content: renderedContent,
|
|
1346
1352
|
place: tooltipPlace,
|
|
1347
1353
|
variant: tooltipVariant,
|
|
1348
1354
|
offset: tooltipOffset,
|
|
@@ -1366,7 +1372,7 @@
|
|
|
1366
1372
|
activeAnchor,
|
|
1367
1373
|
setActiveAnchor: (anchor) => setActiveAnchor(anchor)
|
|
1368
1374
|
};
|
|
1369
|
-
return
|
|
1375
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Tooltip_default, { ...props });
|
|
1370
1376
|
};
|
|
1371
1377
|
var TooltipController_default = TooltipController;
|
|
1372
1378
|
})();
|