react-tooltip 6.0.3 → 6.0.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"react-tooltip.umd.js","sources":["../../src/utils/handle-style.ts","../../src/utils/compute-tooltip-position.ts","../../src/utils/css-time-to-ms.ts","../../src/utils/debounce.ts","../../src/utils/get-scroll-parent.ts","../../src/utils/use-isomorphic-layout-effect.ts","../../src/utils/clear-timeout-ref.ts","../../src/utils/parse-data-tooltip-id-selector.ts","../../src/utils/resolve-data-tooltip-anchor.ts","../../src/components/Tooltip/anchor-registry.ts","../../src/components/Tooltip/use-tooltip-anchors.tsx","../../src/components/Tooltip/event-delegation.ts","../../src/components/Tooltip/use-tooltip-events.tsx","../../src/components/Tooltip/Tooltip.tsx","../../src/components/TooltipController/shared-attribute-observer.ts","../../src/components/TooltipController/TooltipController.tsx","../../src/index.tsx"],"names":["flip","shift","offset","arrow","computePosition","useLayoutEffect","useEffect","useState","useRef","useMemo","autoUpdate","useCallback","useImperativeHandle","createPortal","memo","Tooltip"],"mappings":"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"}
1
+ {"version":3,"file":"react-tooltip.umd.js","sources":["../src/utils/handle-style.ts","../src/utils/compute-tooltip-position.ts","../src/utils/css-time-to-ms.ts","../src/utils/debounce.ts","../src/utils/get-scroll-parent.ts","../src/utils/use-isomorphic-layout-effect.ts","../src/utils/clear-timeout-ref.ts","../src/utils/parse-data-tooltip-id-selector.ts","../src/utils/resolve-data-tooltip-anchor.ts","../src/components/Tooltip/anchor-registry.ts","../src/components/Tooltip/use-tooltip-anchors.tsx","../src/components/Tooltip/event-delegation.ts","../src/components/Tooltip/use-tooltip-events.tsx","../src/components/Tooltip/Tooltip.tsx","../src/components/TooltipController/shared-attribute-observer.ts","../src/components/TooltipController/TooltipController.tsx","../src/index.tsx"],"sourcesContent":["// This is the ID for the core styles of ReactTooltip\nconst REACT_TOOLTIP_CORE_STYLES_ID = 'react-tooltip-core-styles'\n// This is the ID for the visual styles of ReactTooltip\nconst REACT_TOOLTIP_BASE_STYLES_ID = 'react-tooltip-base-styles'\n\nconst injected = {\n core: false,\n base: false,\n}\n\n/**\n * Note about `state` parameter:\n * This parameter is used to keep track of the state of the styles\n * into the tests since the const `injected` is not acessible or resettable in the tests\n */\nfunction injectStyle({\n css,\n id = REACT_TOOLTIP_BASE_STYLES_ID,\n type = 'base',\n ref,\n state = {},\n}: {\n css: string\n id?: string\n type?: 'core' | 'base'\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref?: any\n state?: { [key: string]: boolean }\n}) {\n if (\n !css ||\n typeof document === 'undefined' ||\n (typeof state[type] !== 'undefined' ? state[type] : injected[type])\n ) {\n return\n }\n\n if (\n type === 'core' &&\n typeof process !== 'undefined' && // this validation prevents docs from breaking even with `process?`\n process.env &&\n process.env.REACT_TOOLTIP_DISABLE_CORE_STYLES\n ) {\n return\n }\n\n if (\n type === 'base' &&\n typeof process !== 'undefined' && // this validation prevents docs from breaking even with `process?`\n process.env &&\n process.env.REACT_TOOLTIP_DISABLE_BASE_STYLES\n ) {\n return\n }\n\n if (type === 'core') {\n id = REACT_TOOLTIP_CORE_STYLES_ID\n }\n\n if (!ref) {\n ref = {}\n }\n const { insertAt } = ref\n\n if (document.getElementById(id)) {\n // this could happen in cases the tooltip is imported by multiple js modules\n return\n }\n\n const head = document.head || document.getElementsByTagName('head')[0]\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const style: any = document.createElement('style')\n style.id = id\n style.type = 'text/css'\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild)\n } else {\n head.appendChild(style)\n }\n } else {\n head.appendChild(style)\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css\n } else {\n style.appendChild(document.createTextNode(css))\n }\n\n if (typeof state[type] !== 'undefined') {\n state[type] = true\n } else {\n injected[type] = true // internal global state that jest doesn't have access\n }\n}\n\nexport { injectStyle, injected }\n","import { computePosition, offset, shift, arrow, flip } from '@floating-ui/dom'\nimport type { IComputePositionArgs } from './compute-tooltip-position-types'\n\n// Hoisted constant middlewares — these configs never change\nconst defaultFlip = flip({ fallbackAxisSideDirection: 'start' })\nconst defaultShift = shift({ padding: 5 })\n\nconst 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)), defaultFlip, defaultShift],\n border,\n arrowSize = 8,\n}: IComputePositionArgs) => {\n if (!elementReference) {\n // elementReference can be null or undefined and we will not compute the position\n\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`, border }\n\n /* c8 ignore start */\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 /* c8 ignore end */\n\n const borderSide = border && {\n borderBottom: border,\n borderRight: border,\n }\n\n let borderWidth = 0\n if (border) {\n const match = `${border}`.match(/(\\d+)px/)\n if (match?.[1]) {\n borderWidth = Number(match[1])\n } else {\n /**\n * this means `border` was set without `width`,\n * or non-px value (such as `medium`, `thick`, ...)\n */\n borderWidth = 1\n }\n }\n\n /* c8 ignore start */\n const arrowStyle = {\n left: arrowX != null ? `${arrowX}px` : '',\n top: arrowY != null ? `${arrowY}px` : '',\n right: '',\n bottom: '',\n ...borderSide,\n [staticSide]: `-${arrowSize / 2 + borderWidth - 1}px`,\n }\n /* c8 ignore end */\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\nexport default computeTooltipPosition\n","const cssTimeToMs = (time: string): number => {\n const match = time.match(/^([\\d.]+)(m?s)$/)\n if (!match) {\n return 0\n }\n const [, amount, unit] = match\n return Number(amount) * (unit === 'ms' ? 1 : 1000)\n}\n\nexport default cssTimeToMs\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 = <T, A extends any[]>(\n func: (...args: A) => void,\n wait?: number,\n immediate?: boolean,\n) => {\n let timeout: NodeJS.Timeout | null = null\n let currentFunc = func\n\n const debounced = function debounced(this: T, ...args: A): void {\n const later = () => {\n timeout = null\n if (!immediate) {\n currentFunc.apply(this, args)\n }\n }\n\n if (immediate && !timeout) {\n /**\n * there's no need to clear the timeout\n * since we expect it to resolve and set `timeout = null`\n */\n currentFunc.apply(this, args)\n timeout = setTimeout(later, wait)\n }\n\n if (!immediate) {\n if (timeout) {\n clearTimeout(timeout)\n }\n timeout = setTimeout(later, wait)\n }\n }\n\n debounced.cancel = () => {\n /* c8 ignore start */\n if (!timeout) {\n return\n }\n /* c8 ignore end */\n clearTimeout(timeout)\n timeout = null\n }\n\n debounced.setCallback = (newFunc: (...args: A) => void) => {\n currentFunc = newFunc\n }\n\n return debounced\n}\n\nexport default debounce\n","export const isScrollable = (node: Element) => {\n if (!(node instanceof HTMLElement || node instanceof SVGElement)) {\n return false\n }\n const style = getComputedStyle(node)\n return ['overflow', 'overflow-x', 'overflow-y'].some((propertyName) => {\n const value = style.getPropertyValue(propertyName)\n return value === 'auto' || value === 'scroll'\n })\n}\n\nconst getScrollParent = (node: Element | null) => {\n if (!node) {\n return null\n }\n let currentParent = node.parentElement\n while (currentParent) {\n if (isScrollable(currentParent)) {\n return currentParent\n }\n currentParent = currentParent.parentElement\n }\n return document.scrollingElement || document.documentElement\n}\n\nexport default getScrollParent\n","import { useLayoutEffect, useEffect } from 'react'\n\n// React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser. We need useLayoutEffect to ensure the store\n// subscription callback always has the selector from the latest render commit\n// available, otherwise a store update may happen between render and the effect,\n// which may cause missed updates; we also must ensure the store subscription\n// is created synchronously, otherwise a store update may occur before the\n// subscription is created and an inconsistent state may be observed\nconst isHopefullyDomEnvironment =\n typeof window !== 'undefined' &&\n typeof window.document !== 'undefined' &&\n typeof window.document.createElement !== 'undefined'\n\nconst useIsomorphicLayoutEffect = isHopefullyDomEnvironment ? useLayoutEffect : useEffect\n\nexport default useIsomorphicLayoutEffect\n","const clearTimeoutRef = (ref: React.RefObject<NodeJS.Timeout | null>) => {\n if (ref.current) {\n clearTimeout(ref.current)\n\n ref.current = null\n }\n}\n\nexport default clearTimeoutRef\n","function parseDataTooltipIdSelector(selector: string) {\n const match = selector.match(/^\\[data-tooltip-id=(['\"])((?:\\\\.|(?!\\1).)*)\\1\\]$/)\n\n if (!match) {\n return null\n }\n\n return match[2].replace(/\\\\(['\"])/g, '$1')\n}\n\nexport default parseDataTooltipIdSelector\n","function resolveDataTooltipAnchor(targetElement: HTMLElement, tooltipId: string) {\n let currentElement: HTMLElement | null = targetElement\n\n while (currentElement) {\n if (currentElement.dataset.tooltipId === tooltipId) {\n return currentElement\n }\n currentElement = currentElement.parentElement\n }\n\n return null\n}\n\nexport default resolveDataTooltipAnchor\n","type AnchorRegistrySubscriber = (anchors: HTMLElement[], error: Error | null) => void\n\ntype AnchorRegistryEntry = {\n anchors: HTMLElement[]\n error: Error | null\n subscribers: Set<AnchorRegistrySubscriber>\n /**\n * When the selector is a simple `[data-tooltip-id='value']` pattern,\n * this holds the extracted tooltip ID so we can skip expensive\n * querySelectorAll calls when the mutation doesn't affect it.\n */\n tooltipId: string | null\n}\n\nconst registry = new Map<string, AnchorRegistryEntry>()\n\nlet documentObserver: MutationObserver | null = null\n\n/**\n * Extract a tooltip ID from a simple `[data-tooltip-id='value']` selector.\n * Returns null for complex or custom selectors.\n */\nfunction extractTooltipId(selector: string): string | null {\n const match = selector.match(/^\\[data-tooltip-id=(['\"])((?:\\\\.|(?!\\1).)*)\\1\\]$/)\n return match ? match[2].replace(/\\\\(['\"])/g, '$1') : null\n}\n\nfunction areAnchorListsEqual(left: HTMLElement[], right: HTMLElement[]) {\n if (left.length !== right.length) {\n return false\n }\n\n return left.every((anchor, index) => anchor === right[index])\n}\n\nfunction readAnchorsForSelector(selector: string) {\n try {\n return {\n anchors: Array.from(document.querySelectorAll<HTMLElement>(selector)),\n error: null,\n }\n } catch (error) {\n return {\n anchors: [],\n error: error instanceof Error ? error : new Error(String(error)),\n }\n }\n}\n\nfunction notifySubscribers(entry: AnchorRegistryEntry) {\n entry.subscribers.forEach((subscriber) => subscriber(entry.anchors, entry.error))\n}\n\nfunction refreshEntry(selector: string, entry: AnchorRegistryEntry) {\n const nextState = readAnchorsForSelector(selector)\n const nextErrorMessage = nextState.error?.message ?? null\n const previousErrorMessage = entry.error?.message ?? null\n\n if (\n areAnchorListsEqual(entry.anchors, nextState.anchors) &&\n nextErrorMessage === previousErrorMessage\n ) {\n return\n }\n\n const nextEntry = {\n ...entry,\n anchors: nextState.anchors,\n error: nextState.error,\n }\n\n registry.set(selector, nextEntry)\n notifySubscribers(nextEntry)\n}\n\nfunction refreshAllEntries() {\n registry.forEach((entry, selector) => {\n refreshEntry(selector, entry)\n })\n}\n\nlet refreshScheduled = false\nlet pendingTooltipIds: Set<string> | null = null\nlet pendingFullRefresh = false\n\nfunction scheduleRefresh(affectedTooltipIds: Set<string> | null) {\n if (affectedTooltipIds) {\n if (!pendingTooltipIds) {\n pendingTooltipIds = new Set()\n }\n affectedTooltipIds.forEach((id) => pendingTooltipIds!.add(id))\n } else {\n pendingFullRefresh = true\n }\n\n if (refreshScheduled) {\n return\n }\n refreshScheduled = true\n\n const flush = () => {\n refreshScheduled = false\n const fullRefresh = pendingFullRefresh\n const ids = pendingTooltipIds\n pendingFullRefresh = false\n pendingTooltipIds = null\n\n if (fullRefresh) {\n refreshAllEntries()\n } else if (ids && ids.size > 0) {\n refreshEntriesForTooltipIds(ids)\n }\n }\n\n if (typeof requestAnimationFrame === 'function') {\n requestAnimationFrame(flush)\n } else {\n Promise.resolve().then(flush)\n }\n}\n\n/**\n * Only refresh entries whose tooltipId is in the affected set,\n * plus any entries with custom (non-tooltipId) selectors.\n */\nfunction refreshEntriesForTooltipIds(affectedIds: Set<string>) {\n registry.forEach((entry, selector) => {\n if (entry.tooltipId === null || affectedIds.has(entry.tooltipId)) {\n refreshEntry(selector, entry)\n }\n })\n}\n\n/**\n * Collect tooltip IDs from mutation records. Returns null when targeted\n * analysis is not worthwhile (few registry entries, or too many nodes to scan).\n */\nfunction collectAffectedTooltipIds(records: MutationRecord[]): Set<string> | null {\n // Targeted refresh only pays off when there are many distinct selectors.\n // With few entries, full refresh is already cheap — skip the analysis overhead.\n if (registry.size <= 4) {\n return null\n }\n\n const ids = new Set<string>()\n\n for (const record of records) {\n if (record.type === 'attributes') {\n const target = record.target as HTMLElement\n const currentId = target.getAttribute?.('data-tooltip-id')\n if (currentId) ids.add(currentId)\n if (record.oldValue) ids.add(record.oldValue)\n continue\n }\n\n if (record.type === 'childList') {\n const gatherIds = (nodes: NodeList) => {\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i]\n if (node.nodeType !== Node.ELEMENT_NODE) continue\n const el = node as HTMLElement\n const id = el.getAttribute?.('data-tooltip-id')\n if (id) ids.add(id)\n // For large subtrees, bail out to full refresh to avoid double-scanning\n const descendants = el.querySelectorAll?.('[data-tooltip-id]')\n if (descendants) {\n if (descendants.length > 50) {\n return true // signal bail-out\n }\n for (let j = 0; j < descendants.length; j++) {\n const descId = descendants[j].getAttribute('data-tooltip-id')\n if (descId) ids.add(descId)\n }\n }\n }\n return false\n }\n if (gatherIds(record.addedNodes) || gatherIds(record.removedNodes)) {\n return null // large mutation — full refresh is cheaper\n }\n continue\n }\n }\n\n return ids\n}\n\nfunction ensureDocumentObserver() {\n if (documentObserver || typeof MutationObserver === 'undefined') {\n return\n }\n\n documentObserver = new MutationObserver((records) => {\n const affectedIds = collectAffectedTooltipIds(records)\n scheduleRefresh(affectedIds)\n })\n\n documentObserver.observe(document.body, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['data-tooltip-id'],\n attributeOldValue: true,\n })\n}\n\nfunction cleanupDocumentObserverIfUnused() {\n if (registry.size !== 0 || !documentObserver) {\n return\n }\n\n documentObserver.disconnect()\n documentObserver = null\n}\n\nexport function subscribeAnchorSelector(selector: string, subscriber: AnchorRegistrySubscriber) {\n let entry = registry.get(selector)\n\n if (!entry) {\n const initialState = readAnchorsForSelector(selector)\n entry = {\n anchors: initialState.anchors,\n error: initialState.error,\n subscribers: new Set(),\n tooltipId: extractTooltipId(selector),\n }\n registry.set(selector, entry)\n }\n\n entry.subscribers.add(subscriber)\n ensureDocumentObserver()\n subscriber([...entry.anchors], entry.error)\n\n return () => {\n const currentEntry = registry.get(selector)\n if (!currentEntry) {\n return\n }\n\n currentEntry.subscribers.delete(subscriber)\n if (currentEntry.subscribers.size === 0) {\n registry.delete(selector)\n }\n cleanupDocumentObserverIfUnused()\n }\n}\n\n/** @internal Reset module state between tests */\nexport function resetAnchorRegistry() {\n registry.clear()\n if (documentObserver) {\n documentObserver.disconnect()\n documentObserver = null\n }\n refreshScheduled = false\n pendingTooltipIds = null\n pendingFullRefresh = false\n}\n","import { useEffect, useMemo, useRef, useState } from 'react'\nimport { subscribeAnchorSelector } from './anchor-registry'\n\nconst getAnchorSelector = ({\n id,\n anchorSelect,\n imperativeAnchorSelect,\n}: {\n id?: string\n anchorSelect?: string\n imperativeAnchorSelect?: string\n}) => {\n let selector = imperativeAnchorSelect ?? anchorSelect ?? ''\n if (!selector && id) {\n selector = `[data-tooltip-id='${id.replace(/'/g, \"\\\\'\")}']`\n }\n return selector\n}\n\nconst useTooltipAnchors = ({\n id,\n anchorSelect,\n imperativeAnchorSelect,\n activeAnchor,\n disableTooltip,\n onActiveAnchorRemoved,\n trackAnchors,\n}: {\n id?: string\n anchorSelect?: string\n imperativeAnchorSelect?: string\n activeAnchor: HTMLElement | null\n disableTooltip?: (anchorRef: HTMLElement | null) => boolean\n onActiveAnchorRemoved: () => void\n trackAnchors: boolean\n}) => {\n const [rawAnchorElements, setRawAnchorElements] = useState<HTMLElement[]>([])\n const [selectorError, setSelectorError] = useState<Error | null>(null)\n const warnedSelectorRef = useRef<string | null>(null)\n const selector = useMemo(\n () => getAnchorSelector({ id, anchorSelect, imperativeAnchorSelect }),\n [id, anchorSelect, imperativeAnchorSelect],\n )\n const anchorElements = useMemo(\n () => rawAnchorElements.filter((anchor) => !disableTooltip?.(anchor)),\n [rawAnchorElements, disableTooltip],\n )\n\n const activeAnchorMatchesSelector = useMemo(() => {\n if (!activeAnchor || !selector) {\n return false\n }\n\n try {\n return activeAnchor.matches(selector)\n } catch {\n return false\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activeAnchor, selector, anchorElements])\n\n useEffect(() => {\n if (!selector || !trackAnchors) {\n setRawAnchorElements([])\n setSelectorError(null)\n return undefined\n }\n\n return subscribeAnchorSelector(selector, (anchors, error) => {\n setRawAnchorElements(anchors)\n setSelectorError(error)\n })\n }, [selector, trackAnchors])\n\n useEffect(() => {\n if (!selectorError || warnedSelectorRef.current === selector) {\n return\n }\n warnedSelectorRef.current = selector\n /* c8 ignore start */\n if (!process.env.NODE_ENV || process.env.NODE_ENV !== 'production') {\n console.warn(`[react-tooltip] \"${selector}\" is not a valid CSS selector`)\n }\n /* c8 ignore end */\n }, [selector, selectorError])\n\n useEffect(() => {\n if (!activeAnchor) {\n return\n }\n\n if (!activeAnchor.isConnected) {\n onActiveAnchorRemoved()\n return\n }\n\n if (!anchorElements.includes(activeAnchor) && !activeAnchorMatchesSelector) {\n onActiveAnchorRemoved()\n }\n }, [activeAnchor, anchorElements, activeAnchorMatchesSelector, onActiveAnchorRemoved])\n\n return {\n anchorElements,\n selector,\n }\n}\n\nexport default useTooltipAnchors\n","/**\n * Shared document event delegation.\n *\n * Instead of N tooltips each calling document.addEventListener(type, handler),\n * we maintain ONE document listener per event type. When the event fires,\n * we iterate through all registered handlers for that type.\n *\n * This reduces document-level listeners from O(N × eventTypes) to O(eventTypes).\n */\n\ntype Handler = (event: Event) => void\n\nconst handlersByType = new Map<string, Set<Handler>>()\n\nfunction getOrCreateSet(eventType: string): Set<Handler> {\n let set = handlersByType.get(eventType)\n if (!set) {\n set = new Set()\n handlersByType.set(eventType, set)\n document.addEventListener(eventType, dispatch)\n }\n return set\n}\n\nfunction dispatch(event: Event): void {\n const handlers = handlersByType.get(event.type)\n if (handlers) {\n // Safe to iterate directly — mutations (add/remove) only happen in\n // setup/cleanup, not during dispatch. Set iteration is stable for\n // entries that existed when iteration began.\n handlers.forEach((handler) => {\n handler(event)\n })\n }\n}\n\n/**\n * Register a handler for a document-level event type.\n * Returns an unsubscribe function.\n */\nexport function addDelegatedEventListener(eventType: string, handler: Handler): () => void {\n const set = getOrCreateSet(eventType)\n set.add(handler)\n\n return () => {\n set.delete(handler)\n if (set.size === 0) {\n handlersByType.delete(eventType)\n document.removeEventListener(eventType, dispatch)\n }\n }\n}\n\n/**\n * Reset for testing purposes.\n */\nexport function resetEventDelegation(): void {\n handlersByType.forEach((_handlers, eventType) => {\n document.removeEventListener(eventType, dispatch)\n })\n handlersByType.clear()\n}\n","import { useEffect, useMemo, useRef } from 'react'\nimport type { RefObject } from 'react'\nimport { autoUpdate } from '@floating-ui/dom'\nimport {\n debounce,\n getScrollParent,\n clearTimeoutRef,\n parseDataTooltipIdSelector,\n resolveDataTooltipAnchor,\n} from '../../utils'\nimport type {\n AnchorCloseEvents,\n AnchorOpenEvents,\n GlobalCloseEvents,\n IPosition,\n} from './TooltipTypes'\nimport { addDelegatedEventListener } from './event-delegation'\n\nconst useTooltipEvents = ({\n activeAnchor,\n anchorElements,\n anchorSelector,\n clickable,\n closeEvents,\n delayHide,\n delayShow,\n disableTooltip,\n float,\n globalCloseEvents,\n handleHideTooltipDelayed,\n handleShow,\n handleShowTooltipDelayed,\n handleTooltipPosition,\n hoveringTooltip,\n imperativeModeOnly,\n lastFloatPosition,\n openEvents,\n openOnClick,\n rendered,\n setActiveAnchor,\n show,\n tooltipHideDelayTimerRef,\n tooltipRef,\n tooltipShowDelayTimerRef,\n updateTooltipPosition,\n}: {\n activeAnchor: HTMLElement | null\n anchorElements: HTMLElement[]\n anchorSelector: string\n clickable: boolean\n closeEvents?: AnchorCloseEvents\n delayHide: number\n delayShow: number\n disableTooltip?: (anchorRef: HTMLElement | null) => boolean\n float: boolean\n globalCloseEvents?: GlobalCloseEvents\n handleHideTooltipDelayed: (delay?: number) => void\n handleShow: (value: boolean) => void\n handleShowTooltipDelayed: (delay?: number) => void\n handleTooltipPosition: ({ x, y }: IPosition) => void\n hoveringTooltip: RefObject<boolean>\n imperativeModeOnly?: boolean\n lastFloatPosition: RefObject<IPosition | null>\n openEvents?: AnchorOpenEvents\n openOnClick: boolean\n rendered: boolean\n setActiveAnchor: (anchor: HTMLElement | null) => void\n show: boolean\n tooltipHideDelayTimerRef: RefObject<NodeJS.Timeout | null>\n tooltipRef: RefObject<HTMLElement | null>\n tooltipShowDelayTimerRef: RefObject<NodeJS.Timeout | null>\n updateTooltipPosition: () => void\n}) => {\n // Ref-stable debounced handlers — avoids recreating debounce instances on every effect run\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const debouncedShowRef = useRef(debounce((_anchor: HTMLElement | null) => {}, 50, true))\n const debouncedHideRef = useRef(debounce(() => {}, 50, true))\n\n // Cache scroll parents — only recompute when the element actually changes\n const anchorScrollParentRef = useRef<Element | null>(null)\n const tooltipScrollParentRef = useRef<Element | null>(null)\n const prevAnchorRef = useRef<HTMLElement | null>(null)\n const prevTooltipRef = useRef<HTMLElement | null>(null)\n\n if (activeAnchor !== prevAnchorRef.current) {\n prevAnchorRef.current = activeAnchor\n anchorScrollParentRef.current = getScrollParent(activeAnchor)\n }\n const currentTooltipEl = tooltipRef.current\n if (currentTooltipEl !== prevTooltipRef.current) {\n prevTooltipRef.current = currentTooltipEl\n tooltipScrollParentRef.current = getScrollParent(currentTooltipEl)\n }\n\n // Memoize event config objects — only rebuild when the relevant props change\n const hasClickEvent =\n openOnClick || openEvents?.click || openEvents?.dblclick || openEvents?.mousedown\n const actualOpenEvents: AnchorOpenEvents = useMemo(() => {\n const events: AnchorOpenEvents = openEvents\n ? { ...openEvents }\n : {\n mouseenter: true,\n focus: true,\n click: false,\n dblclick: false,\n mousedown: false,\n }\n if (!openEvents && openOnClick) {\n Object.assign(events, {\n mouseenter: false,\n focus: false,\n click: true,\n })\n }\n if (imperativeModeOnly) {\n Object.assign(events, {\n mouseenter: false,\n focus: false,\n click: false,\n dblclick: false,\n mousedown: false,\n })\n }\n return events\n }, [openEvents, openOnClick, imperativeModeOnly])\n\n const actualCloseEvents: AnchorCloseEvents = useMemo(() => {\n const events: AnchorCloseEvents = closeEvents\n ? { ...closeEvents }\n : {\n mouseleave: true,\n blur: true,\n click: false,\n dblclick: false,\n mouseup: false,\n }\n if (!closeEvents && openOnClick) {\n Object.assign(events, {\n mouseleave: false,\n blur: false,\n })\n }\n if (imperativeModeOnly) {\n Object.assign(events, {\n mouseleave: false,\n blur: false,\n click: false,\n dblclick: false,\n mouseup: false,\n })\n }\n return events\n }, [closeEvents, openOnClick, imperativeModeOnly])\n\n const actualGlobalCloseEvents: GlobalCloseEvents = useMemo(() => {\n const events: GlobalCloseEvents = globalCloseEvents\n ? { ...globalCloseEvents }\n : {\n escape: false,\n scroll: false,\n resize: false,\n clickOutsideAnchor: hasClickEvent || false,\n }\n if (imperativeModeOnly) {\n Object.assign(events, {\n escape: false,\n scroll: false,\n resize: false,\n clickOutsideAnchor: false,\n })\n }\n return events\n }, [globalCloseEvents, hasClickEvent, imperativeModeOnly])\n\n // --- Refs for values read inside event handlers (avoids effect deps) ---\n const activeAnchorRef = useRef(activeAnchor)\n activeAnchorRef.current = activeAnchor\n const showRef = useRef(show)\n showRef.current = show\n const anchorElementsRef = useRef(anchorElements)\n anchorElementsRef.current = anchorElements\n const handleShowRef = useRef(handleShow)\n handleShowRef.current = handleShow\n const handleTooltipPositionRef = useRef(handleTooltipPosition)\n handleTooltipPositionRef.current = handleTooltipPosition\n const updateTooltipPositionRef = useRef(updateTooltipPosition)\n updateTooltipPositionRef.current = updateTooltipPosition\n\n // --- Handler refs (updated every render, read via ref indirection in effects) ---\n const resolveAnchorElementRef = useRef<(target: EventTarget | null) => HTMLElement | null>(\n () => null,\n )\n const handleShowTooltipRef = useRef<(anchor: HTMLElement | null) => void>(() => {})\n const handleHideTooltipRef = useRef<() => void>(() => {})\n\n const dataTooltipId = anchorSelector ? parseDataTooltipIdSelector(anchorSelector) : null\n\n resolveAnchorElementRef.current = (target: EventTarget | null) => {\n const targetElement = target as HTMLElement | null\n\n if (!targetElement?.isConnected) {\n return null\n }\n\n if (dataTooltipId) {\n const matchedAnchor = resolveDataTooltipAnchor(targetElement, dataTooltipId)\n\n if (matchedAnchor && !disableTooltip?.(matchedAnchor)) {\n return matchedAnchor\n }\n } else if (anchorSelector) {\n try {\n const matchedAnchor =\n (targetElement.matches(anchorSelector)\n ? targetElement\n : targetElement.closest(anchorSelector)) ?? null\n\n if (matchedAnchor && !disableTooltip?.(matchedAnchor as HTMLElement)) {\n return matchedAnchor as HTMLElement\n }\n } catch {\n return null\n }\n }\n\n return (\n anchorElementsRef.current.find(\n (anchor) => anchor === targetElement || anchor.contains(targetElement),\n ) ?? null\n )\n }\n\n handleShowTooltipRef.current = (anchor: HTMLElement | null) => {\n if (!anchor) {\n return\n }\n if (!anchor.isConnected) {\n setActiveAnchor(null)\n return\n }\n if (disableTooltip?.(anchor)) {\n return\n }\n if (delayShow && activeAnchorRef.current && anchor !== activeAnchorRef.current) {\n // Moving to a different anchor while one is already active — defer the anchor\n // switch until the show delay fires to prevent content/position from updating\n // before visibility transitions complete.\n if (tooltipShowDelayTimerRef.current) {\n clearTimeout(tooltipShowDelayTimerRef.current)\n }\n tooltipShowDelayTimerRef.current = setTimeout(() => {\n setActiveAnchor(anchor)\n handleShow(true)\n }, delayShow)\n } else {\n setActiveAnchor(anchor)\n if (delayShow) {\n handleShowTooltipDelayed()\n } else {\n handleShow(true)\n }\n }\n\n if (tooltipHideDelayTimerRef.current) {\n clearTimeout(tooltipHideDelayTimerRef.current)\n }\n }\n\n handleHideTooltipRef.current = () => {\n if (clickable) {\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 // Update debounced callbacks to always delegate to latest handler refs\n const debouncedShow = debouncedShowRef.current\n const debouncedHide = debouncedHideRef.current\n debouncedShow.setCallback((anchor: HTMLElement | null) => handleShowTooltipRef.current(anchor))\n debouncedHide.setCallback(() => handleHideTooltipRef.current())\n\n // --- Effect 1: Delegated anchor events + tooltip hover ---\n // Only re-runs when the set of active event types or interaction mode changes.\n // Handlers read reactive values (activeAnchor, show, etc.) from refs at invocation\n // time, so this effect is decoupled from show/hide state changes.\n useEffect(() => {\n const cleanupFns: (() => void)[] = []\n\n const addDelegatedListener = (eventType: string, listener: (event: Event) => void) => {\n cleanupFns.push(addDelegatedEventListener(eventType, listener))\n }\n\n const activeAnchorContainsTarget = (event?: Event): boolean =>\n Boolean(event?.target && activeAnchorRef.current?.contains(event.target as HTMLElement))\n\n const debouncedHandleShowTooltip = (anchor: HTMLElement | null) => {\n debouncedHide.cancel()\n debouncedShow(anchor)\n }\n const debouncedHandleHideTooltip = () => {\n debouncedShow.cancel()\n debouncedHide()\n }\n\n const addDelegatedHoverOpenListener = () => {\n addDelegatedListener('mouseover', (event) => {\n const anchor = resolveAnchorElementRef.current(event.target)\n if (!anchor) {\n return\n }\n const relatedAnchor = resolveAnchorElementRef.current((event as MouseEvent).relatedTarget)\n if (relatedAnchor === anchor) {\n return\n }\n debouncedHandleShowTooltip(anchor)\n })\n }\n\n const addDelegatedHoverCloseListener = () => {\n addDelegatedListener('mouseout', (event) => {\n const targetAnchor = resolveAnchorElementRef.current(event.target)\n if (!targetAnchor && !activeAnchorContainsTarget(event)) {\n return\n }\n const relatedTarget = (event as MouseEvent).relatedTarget as HTMLElement | null\n const containerAnchor = targetAnchor || activeAnchorRef.current\n if (containerAnchor?.contains(relatedTarget)) {\n return\n }\n debouncedHandleHideTooltip()\n })\n }\n\n if (actualOpenEvents.mouseenter) {\n addDelegatedHoverOpenListener()\n }\n if (actualCloseEvents.mouseleave) {\n addDelegatedHoverCloseListener()\n }\n if (actualOpenEvents.mouseover) {\n addDelegatedHoverOpenListener()\n }\n if (actualCloseEvents.mouseout) {\n addDelegatedHoverCloseListener()\n }\n if (actualOpenEvents.focus) {\n addDelegatedListener('focusin', (event) => {\n debouncedHandleShowTooltip(resolveAnchorElementRef.current(event.target))\n })\n }\n if (actualCloseEvents.blur) {\n addDelegatedListener('focusout', (event) => {\n const targetAnchor = resolveAnchorElementRef.current(event.target)\n if (!targetAnchor && !activeAnchorContainsTarget(event)) {\n return\n }\n const relatedTarget = (event as FocusEvent).relatedTarget as HTMLElement | null\n const containerAnchor = targetAnchor || activeAnchorRef.current\n if (containerAnchor?.contains(relatedTarget)) {\n return\n }\n debouncedHandleHideTooltip()\n })\n }\n\n const regularEvents = ['mouseover', 'mouseout', 'mouseenter', 'mouseleave', 'focus', 'blur']\n const clickEvents = ['click', 'dblclick', 'mousedown', 'mouseup']\n\n const handleClickOpenTooltipAnchor = (event?: Event) => {\n const anchor = resolveAnchorElementRef.current(event?.target ?? null)\n if (!anchor) {\n return\n }\n if (showRef.current && activeAnchorRef.current === anchor) {\n return\n }\n handleShowTooltipRef.current(anchor)\n }\n const handleClickCloseTooltipAnchor = (event?: Event) => {\n if (!showRef.current || !activeAnchorContainsTarget(event)) {\n return\n }\n handleHideTooltipRef.current()\n }\n\n Object.entries(actualOpenEvents).forEach(([event, enabled]) => {\n if (!enabled || regularEvents.includes(event)) {\n return\n }\n if (clickEvents.includes(event)) {\n addDelegatedListener(event, handleClickOpenTooltipAnchor as (event: Event) => void)\n }\n })\n\n Object.entries(actualCloseEvents).forEach(([event, enabled]) => {\n if (!enabled || regularEvents.includes(event)) {\n return\n }\n if (clickEvents.includes(event)) {\n addDelegatedListener(event, handleClickCloseTooltipAnchor as (event: Event) => void)\n }\n })\n\n if (float) {\n addDelegatedListener('pointermove', (event) => {\n const currentActiveAnchor = activeAnchorRef.current\n if (!currentActiveAnchor) {\n return\n }\n const targetAnchor = resolveAnchorElementRef.current(event.target)\n if (targetAnchor !== currentActiveAnchor) {\n return\n }\n const mouseEvent = event as MouseEvent\n const mousePosition = {\n x: mouseEvent.clientX,\n y: mouseEvent.clientY,\n }\n handleTooltipPositionRef.current(mousePosition)\n lastFloatPosition.current = mousePosition\n })\n }\n\n const tooltipElement = tooltipRef.current\n const handleMouseOverTooltip = () => {\n hoveringTooltip.current = true\n }\n const handleMouseOutTooltip = () => {\n hoveringTooltip.current = false\n handleHideTooltipRef.current()\n }\n\n const addHoveringTooltipListeners =\n clickable && (actualCloseEvents.mouseout || actualCloseEvents.mouseleave)\n if (addHoveringTooltipListeners) {\n tooltipElement?.addEventListener('mouseover', handleMouseOverTooltip)\n tooltipElement?.addEventListener('mouseout', handleMouseOutTooltip)\n }\n\n return () => {\n cleanupFns.forEach((fn) => fn())\n if (addHoveringTooltipListeners) {\n tooltipElement?.removeEventListener('mouseover', handleMouseOverTooltip)\n tooltipElement?.removeEventListener('mouseout', handleMouseOutTooltip)\n }\n debouncedShow.cancel()\n debouncedHide.cancel()\n }\n // `rendered` needs to be a dependency because `tooltipRef` becomes stale when the\n // tooltip is removed from / added to the DOM.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [actualOpenEvents, actualCloseEvents, float, clickable, rendered])\n\n // --- Effect 2: Global close events + auto-update ---\n // Re-runs when the global close config changes, or when the active anchor changes\n // (for scroll parent listeners and floating-ui autoUpdate).\n useEffect(() => {\n const handleScrollResize = () => {\n handleShowRef.current(false)\n }\n\n const tooltipScrollParent = tooltipScrollParentRef.current\n const anchorScrollParent = anchorScrollParentRef.current\n\n if (actualGlobalCloseEvents.scroll) {\n window.addEventListener('scroll', handleScrollResize)\n anchorScrollParent?.addEventListener('scroll', handleScrollResize)\n tooltipScrollParent?.addEventListener('scroll', handleScrollResize)\n }\n let updateTooltipCleanup: null | (() => void) = null\n if (actualGlobalCloseEvents.resize) {\n window.addEventListener('resize', handleScrollResize)\n } else if (activeAnchor && tooltipRef.current) {\n updateTooltipCleanup = autoUpdate(\n activeAnchor as HTMLElement,\n tooltipRef.current as HTMLElement,\n () => updateTooltipPositionRef.current(),\n {\n ancestorResize: true,\n elementResize: true,\n layoutShift: true,\n },\n )\n }\n\n const handleEsc = (event: KeyboardEvent) => {\n if (event.key !== 'Escape') {\n return\n }\n handleShowRef.current(false)\n }\n if (actualGlobalCloseEvents.escape) {\n window.addEventListener('keydown', handleEsc)\n }\n\n const handleClickOutsideAnchors = (event: Event) => {\n if (!showRef.current) {\n return\n }\n const target = (event as MouseEvent).target as HTMLElement\n if (!target?.isConnected) {\n return\n }\n if (tooltipRef.current?.contains(target)) {\n return\n }\n if (activeAnchorRef.current?.contains(target)) {\n return\n }\n if (anchorElementsRef.current.some((anchor) => anchor?.contains(target))) {\n return\n }\n handleShowRef.current(false)\n clearTimeoutRef(tooltipShowDelayTimerRef)\n }\n\n if (actualGlobalCloseEvents.clickOutsideAnchor) {\n window.addEventListener('click', handleClickOutsideAnchors)\n }\n\n return () => {\n if (actualGlobalCloseEvents.scroll) {\n window.removeEventListener('scroll', handleScrollResize)\n anchorScrollParent?.removeEventListener('scroll', handleScrollResize)\n tooltipScrollParent?.removeEventListener('scroll', handleScrollResize)\n }\n if (actualGlobalCloseEvents.resize) {\n window.removeEventListener('resize', handleScrollResize)\n }\n if (updateTooltipCleanup) {\n updateTooltipCleanup()\n }\n if (actualGlobalCloseEvents.escape) {\n window.removeEventListener('keydown', handleEsc)\n }\n if (actualGlobalCloseEvents.clickOutsideAnchor) {\n window.removeEventListener('click', handleClickOutsideAnchors)\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [actualGlobalCloseEvents, activeAnchor])\n}\n\nexport default useTooltipEvents\n","import React, {\n useEffect,\n useMemo,\n useState,\n useRef,\n useCallback,\n useImperativeHandle,\n memo,\n} from 'react'\nimport { createPortal } from 'react-dom'\nimport clsx from 'clsx'\nimport {\n useIsomorphicLayoutEffect,\n computeTooltipPosition,\n cssTimeToMs,\n clearTimeoutRef,\n} from '../../utils'\nimport type { IComputedPosition } from '../../utils'\nimport coreStyles from './core-styles.module.css'\nimport styles from './styles.module.css'\nimport useTooltipAnchors from './use-tooltip-anchors'\nimport useTooltipEvents from './use-tooltip-events'\nimport type { IPosition, ITooltip, TooltipImperativeOpenOptions } from './TooltipTypes'\n\n// Shared across all tooltip instances — the CSS variable is on :root and never changes per-instance\nlet globalTransitionShowDelay: number | null = null\n\nconst Tooltip = ({\n // props\n forwardRef,\n id,\n className,\n classNameArrow,\n variant = 'dark',\n portalRoot,\n anchorSelect,\n place = 'top',\n offset = 10,\n openOnClick = false,\n positionStrategy = 'absolute',\n middlewares,\n wrapper: WrapperElement,\n delayShow = 0,\n delayHide = 0,\n autoClose,\n float = false,\n hidden = false,\n noArrow = false,\n clickable = false,\n openEvents,\n closeEvents,\n globalCloseEvents,\n imperativeModeOnly,\n style: externalStyles,\n position,\n afterShow,\n afterHide,\n disableTooltip,\n // props handled by controller\n content,\n contentWrapperRef,\n isOpen,\n defaultIsOpen = false,\n setIsOpen,\n previousActiveAnchor,\n activeAnchor,\n setActiveAnchor,\n border,\n opacity,\n arrowColor,\n arrowSize = 8,\n role = 'tooltip',\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 tooltipAutoCloseTimerRef = useRef<NodeJS.Timeout | null>(null)\n const missedTransitionTimerRef = useRef<NodeJS.Timeout | null>(null)\n const [computedPosition, setComputedPosition] = useState<IComputedPosition>({\n tooltipStyles: {},\n tooltipArrowStyles: {},\n place,\n })\n const [show, setShow] = useState(false)\n const [rendered, setRendered] = useState(false)\n const [imperativeOptions, setImperativeOptions] = useState<TooltipImperativeOpenOptions | null>(\n null,\n )\n const wasShowing = useRef(false)\n const lastFloatPosition = useRef<IPosition | null>(null)\n const hoveringTooltip = useRef(false)\n const mounted = useRef(false)\n const virtualElementRef = useRef({\n getBoundingClientRect: () => ({\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n }),\n })\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 const handleShow = useCallback(\n (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 [isOpen, setIsOpen],\n )\n\n /**\n * Add aria-describedby to activeAnchor when tooltip is active\n */\n useEffect(() => {\n if (!id) return\n\n function getAriaDescribedBy(element: HTMLElement | null) {\n return element?.getAttribute('aria-describedby')?.split(' ') || []\n }\n\n function removeAriaDescribedBy(element: HTMLElement | null) {\n const newDescribedBy = getAriaDescribedBy(element).filter((s) => s !== id)\n if (newDescribedBy.length) {\n element?.setAttribute('aria-describedby', newDescribedBy.join(' '))\n } else {\n element?.removeAttribute('aria-describedby')\n }\n }\n\n if (show) {\n removeAriaDescribedBy(previousActiveAnchor)\n const currentDescribedBy = getAriaDescribedBy(activeAnchor)\n const describedBy = [...new Set([...currentDescribedBy, id])].filter(Boolean).join(' ')\n activeAnchor?.setAttribute('aria-describedby', describedBy)\n } else {\n removeAriaDescribedBy(activeAnchor)\n }\n\n return () => {\n // cleanup aria-describedby when the tooltip is closed\n removeAriaDescribedBy(activeAnchor)\n removeAriaDescribedBy(previousActiveAnchor)\n }\n }, [activeAnchor, show, id, previousActiveAnchor])\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 clearTimeoutRef(missedTransitionTimerRef)\n wasShowing.current = show\n if (show) {\n afterShow?.()\n } else {\n /**\n * see `onTransitionEnd` on tooltip wrapper\n */\n if (globalTransitionShowDelay === null) {\n const style = getComputedStyle(document.body)\n globalTransitionShowDelay = cssTimeToMs(\n style.getPropertyValue('--rt-transition-show-delay'),\n )\n }\n const transitionShowDelay = globalTransitionShowDelay\n missedTransitionTimerRef.current = setTimeout(() => {\n /**\n * if the tooltip switches from `show === true` to `show === false` too fast\n * the transition never runs, so `onTransitionEnd` callback never gets fired\n */\n setRendered(false)\n setImperativeOptions(null)\n afterHide?.()\n // +25ms just to make sure `onTransitionEnd` (if it gets fired) has time to run\n }, transitionShowDelay + 25)\n }\n }, [afterHide, afterShow, show])\n\n useEffect(() => {\n clearTimeoutRef(tooltipAutoCloseTimerRef)\n\n if (!show || !autoClose || autoClose <= 0) {\n return () => {\n clearTimeoutRef(tooltipAutoCloseTimerRef)\n }\n }\n\n tooltipAutoCloseTimerRef.current = setTimeout(() => {\n handleShow(false)\n }, autoClose)\n\n return () => {\n clearTimeoutRef(tooltipAutoCloseTimerRef)\n }\n }, [activeAnchor, autoClose, handleShow, show])\n\n const handleComputedPosition = useCallback((newComputedPosition: IComputedPosition) => {\n if (!mounted.current) {\n return\n }\n setComputedPosition((oldComputedPosition) => {\n if (\n oldComputedPosition.place === newComputedPosition.place &&\n oldComputedPosition.tooltipStyles.left === newComputedPosition.tooltipStyles.left &&\n oldComputedPosition.tooltipStyles.top === newComputedPosition.tooltipStyles.top &&\n oldComputedPosition.tooltipStyles.border === newComputedPosition.tooltipStyles.border &&\n oldComputedPosition.tooltipArrowStyles.left ===\n newComputedPosition.tooltipArrowStyles.left &&\n oldComputedPosition.tooltipArrowStyles.top === newComputedPosition.tooltipArrowStyles.top &&\n oldComputedPosition.tooltipArrowStyles.right ===\n newComputedPosition.tooltipArrowStyles.right &&\n oldComputedPosition.tooltipArrowStyles.bottom ===\n newComputedPosition.tooltipArrowStyles.bottom &&\n oldComputedPosition.tooltipArrowStyles.borderBottom ===\n newComputedPosition.tooltipArrowStyles.borderBottom &&\n oldComputedPosition.tooltipArrowStyles.borderRight ===\n newComputedPosition.tooltipArrowStyles.borderRight\n ) {\n return oldComputedPosition\n }\n return newComputedPosition\n })\n }, [])\n\n const renderedRef = useRef(rendered)\n renderedRef.current = rendered\n\n const handleShowTooltipDelayed = useCallback(\n (delay = delayShow) => {\n if (tooltipShowDelayTimerRef.current) {\n clearTimeout(tooltipShowDelayTimerRef.current)\n }\n\n if (renderedRef.current) {\n // if the tooltip is already rendered, ignore delay\n handleShow(true)\n return\n }\n\n tooltipShowDelayTimerRef.current = setTimeout(() => {\n handleShow(true)\n }, delay)\n },\n [delayShow, handleShow],\n )\n\n const handleHideTooltipDelayed = useCallback(\n (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 [delayHide, handleShow],\n )\n\n const handleTooltipPosition = useCallback(\n ({ x, y }: IPosition) => {\n virtualElementRef.current.getBoundingClientRect = () => ({\n x,\n y,\n width: 0,\n height: 0,\n top: y,\n left: x,\n right: x,\n bottom: y,\n })\n computeTooltipPosition({\n place: imperativeOptions?.place ?? place,\n offset,\n elementReference: virtualElementRef.current as unknown as Element,\n tooltipReference: tooltipRef.current,\n tooltipArrowReference: tooltipArrowRef.current,\n strategy: positionStrategy,\n middlewares,\n border,\n arrowSize,\n }).then((computedStylesData) => {\n handleComputedPosition(computedStylesData)\n })\n },\n [\n imperativeOptions?.place,\n place,\n offset,\n positionStrategy,\n middlewares,\n border,\n arrowSize,\n handleComputedPosition,\n ],\n )\n\n const updateTooltipPosition = useCallback(() => {\n const actualPosition = imperativeOptions?.position ?? position\n if (actualPosition) {\n // if `position` is set, override regular and `float` positioning\n handleTooltipPosition(actualPosition)\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 if (!activeAnchor?.isConnected) {\n return\n }\n\n computeTooltipPosition({\n place: imperativeOptions?.place ?? place,\n offset,\n elementReference: activeAnchor,\n tooltipReference: tooltipRef.current,\n tooltipArrowReference: tooltipArrowRef.current,\n strategy: positionStrategy,\n middlewares,\n border,\n arrowSize,\n }).then((computedStylesData) => {\n if (!mounted.current) {\n // invalidate computed positions after remount\n return\n }\n handleComputedPosition(computedStylesData)\n })\n }, [\n imperativeOptions?.position,\n imperativeOptions?.place,\n position,\n float,\n activeAnchor,\n place,\n offset,\n positionStrategy,\n middlewares,\n border,\n handleTooltipPosition,\n handleComputedPosition,\n arrowSize,\n ])\n\n const handleActiveAnchorRemoved = useCallback(() => {\n setRendered(false)\n handleShow(false)\n setActiveAnchor(null)\n clearTimeoutRef(tooltipShowDelayTimerRef)\n clearTimeoutRef(tooltipHideDelayTimerRef)\n clearTimeoutRef(tooltipAutoCloseTimerRef)\n }, [handleShow, setActiveAnchor])\n\n const shouldTrackAnchors =\n rendered ||\n defaultIsOpen ||\n Boolean(isOpen) ||\n Boolean(activeAnchor) ||\n Boolean(imperativeOptions?.anchorSelect)\n\n const { anchorElements, selector: anchorSelector } = useTooltipAnchors({\n id,\n anchorSelect,\n imperativeAnchorSelect: imperativeOptions?.anchorSelect,\n activeAnchor,\n disableTooltip,\n onActiveAnchorRemoved: handleActiveAnchorRemoved,\n trackAnchors: shouldTrackAnchors,\n })\n\n useTooltipEvents({\n activeAnchor,\n anchorElements,\n anchorSelector,\n clickable,\n closeEvents,\n delayHide,\n delayShow,\n disableTooltip,\n float,\n globalCloseEvents,\n handleHideTooltipDelayed,\n handleShow,\n handleShowTooltipDelayed,\n handleTooltipPosition,\n hoveringTooltip,\n imperativeModeOnly,\n lastFloatPosition,\n openEvents,\n openOnClick,\n rendered,\n setActiveAnchor,\n show,\n tooltipHideDelayTimerRef,\n tooltipRef,\n tooltipShowDelayTimerRef,\n updateTooltipPosition,\n })\n\n const updateTooltipPositionRef = useRef(updateTooltipPosition)\n updateTooltipPositionRef.current = updateTooltipPosition\n\n useEffect(() => {\n if (!rendered) {\n return\n }\n updateTooltipPosition()\n }, [rendered, updateTooltipPosition])\n\n useEffect(() => {\n if (!rendered || !contentWrapperRef?.current) {\n return () => null\n }\n\n let timeoutId: NodeJS.Timeout | null = null\n const contentObserver = new ResizeObserver(() => {\n // Clear any existing timeout to prevent memory leaks\n if (timeoutId) {\n clearTimeout(timeoutId)\n }\n timeoutId = setTimeout(() => {\n if (mounted.current) {\n updateTooltipPositionRef.current()\n }\n timeoutId = null\n }, 0)\n })\n contentObserver.observe(contentWrapperRef.current)\n\n return () => {\n contentObserver.disconnect()\n if (timeoutId) {\n clearTimeout(timeoutId)\n }\n }\n }, [content, contentWrapperRef, rendered])\n\n useEffect(() => {\n const shouldResolveInitialActiveAnchor = defaultIsOpen || Boolean(isOpen)\n\n if (!shouldResolveInitialActiveAnchor) {\n return\n }\n\n const activeAnchorMatchesImperativeSelector = (() => {\n if (!activeAnchor || !imperativeOptions?.anchorSelect) {\n return false\n }\n\n try {\n return activeAnchor.matches(imperativeOptions.anchorSelect)\n } catch {\n return false\n }\n })()\n\n if (!activeAnchor || !anchorElements.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 if (activeAnchorMatchesImperativeSelector) {\n return\n }\n setActiveAnchor(anchorElements[0] ?? null)\n }\n }, [\n activeAnchor,\n anchorElements,\n defaultIsOpen,\n imperativeOptions?.anchorSelect,\n isOpen,\n rendered,\n setActiveAnchor,\n ])\n\n useEffect(() => {\n if (defaultIsOpen) {\n handleShow(true)\n }\n return () => {\n clearTimeoutRef(tooltipShowDelayTimerRef)\n clearTimeoutRef(tooltipHideDelayTimerRef)\n clearTimeoutRef(tooltipAutoCloseTimerRef)\n clearTimeoutRef(missedTransitionTimerRef)\n }\n }, [defaultIsOpen, handleShow])\n\n useEffect(() => {\n if (tooltipShowDelayTimerRef.current) {\n /**\n * if the delay changes while the tooltip is waiting to show,\n * reset the timer with the new delay\n */\n clearTimeoutRef(tooltipShowDelayTimerRef)\n handleShowTooltipDelayed(delayShow)\n }\n }, [delayShow, handleShowTooltipDelayed])\n\n const actualContent = imperativeOptions?.content ?? content\n const hasContent = actualContent !== null && actualContent !== undefined\n const canShow = show && computedPosition.tooltipStyles.left !== undefined\n\n const tooltipStyle = useMemo(\n () => ({\n ...externalStyles,\n ...computedPosition.tooltipStyles,\n opacity: opacity !== undefined && canShow ? opacity : undefined,\n }),\n [externalStyles, computedPosition.tooltipStyles, opacity, canShow],\n )\n\n const arrowBackground = useMemo(\n () =>\n arrowColor\n ? `linear-gradient(to right bottom, transparent 50%, ${arrowColor} 50%)`\n : undefined,\n [arrowColor],\n )\n\n const arrowStyle = useMemo(\n () => ({\n ...computedPosition.tooltipArrowStyles,\n background: arrowBackground,\n '--rt-arrow-size': `${arrowSize}px`,\n }),\n [computedPosition.tooltipArrowStyles, arrowBackground, arrowSize],\n )\n\n useImperativeHandle(forwardRef, () => ({\n open: (options) => {\n let imperativeAnchor: HTMLElement | null = null\n if (options?.anchorSelect) {\n try {\n imperativeAnchor = document.querySelector<HTMLElement>(options.anchorSelect)\n } catch {\n if (!process.env.NODE_ENV || process.env.NODE_ENV !== 'production') {\n console.warn(`[react-tooltip] \"${options.anchorSelect}\" is not a valid CSS selector`)\n }\n return\n }\n if (!imperativeAnchor) {\n return\n }\n }\n if (imperativeAnchor) {\n setActiveAnchor(imperativeAnchor)\n }\n setImperativeOptions(options ?? null)\n if (options?.delay) {\n handleShowTooltipDelayed(options.delay)\n } else {\n handleShow(true)\n }\n },\n close: (options) => {\n if (options?.delay) {\n handleHideTooltipDelayed(options.delay)\n } else {\n handleShow(false)\n }\n },\n activeAnchor,\n place: computedPosition.place,\n isOpen: Boolean(rendered && !hidden && hasContent && canShow),\n }))\n\n useEffect(() => {\n return () => {\n // Final cleanup to ensure no memory leaks\n clearTimeoutRef(tooltipShowDelayTimerRef)\n clearTimeoutRef(tooltipHideDelayTimerRef)\n clearTimeoutRef(tooltipAutoCloseTimerRef)\n clearTimeoutRef(missedTransitionTimerRef)\n }\n }, [])\n\n const tooltipNode =\n rendered && !hidden && hasContent ? (\n <WrapperElement\n id={id}\n role={role}\n className={clsx(\n 'react-tooltip',\n coreStyles['tooltip'],\n styles['tooltip'],\n styles[variant],\n className,\n `react-tooltip__place-${computedPosition.place}`,\n coreStyles[canShow ? 'show' : 'closing'],\n canShow ? 'react-tooltip__show' : 'react-tooltip__closing',\n positionStrategy === 'fixed' && coreStyles['fixed'],\n clickable && coreStyles['clickable'],\n )}\n onTransitionEnd={(event: TransitionEvent) => {\n clearTimeoutRef(missedTransitionTimerRef)\n if (show || event.propertyName !== 'opacity') {\n return\n }\n setRendered(false)\n setImperativeOptions(null)\n afterHide?.()\n }}\n style={tooltipStyle}\n ref={tooltipRef}\n >\n <WrapperElement\n className={clsx(\n 'react-tooltip-content-wrapper',\n coreStyles['content'],\n styles['content'],\n )}\n >\n {actualContent}\n </WrapperElement>\n <WrapperElement\n className={clsx(\n 'react-tooltip-arrow',\n coreStyles['arrow'],\n styles['arrow'],\n classNameArrow,\n noArrow && coreStyles['noArrow'],\n )}\n style={arrowStyle}\n ref={tooltipArrowRef}\n />\n </WrapperElement>\n ) : null\n\n if (!tooltipNode) {\n return null\n }\n\n if (portalRoot) {\n return createPortal(tooltipNode, portalRoot)\n }\n\n return tooltipNode\n}\n\nexport default memo(Tooltip)\n","/**\n * Shared MutationObserver for data-tooltip-* attribute changes.\n * Instead of N observers (one per tooltip), a single observer watches\n * all active anchors and dispatches changes to registered callbacks.\n */\n\ntype AttributeCallback = (element: HTMLElement) => void\n\nconst observedElements = new Map<HTMLElement, Set<AttributeCallback>>()\n\nlet sharedObserver: MutationObserver | null = null\n\nconst observerConfig: MutationObserverInit = {\n attributes: true,\n childList: false,\n subtree: false,\n}\n\nfunction getObserver(): MutationObserver {\n if (!sharedObserver) {\n sharedObserver = new MutationObserver((mutationList) => {\n for (const mutation of mutationList) {\n if (\n mutation.type !== 'attributes' ||\n !mutation.attributeName?.startsWith('data-tooltip-')\n ) {\n continue\n }\n const target = mutation.target as HTMLElement\n const callbacks = observedElements.get(target)\n if (callbacks) {\n callbacks.forEach((cb) => cb(target))\n }\n }\n })\n }\n return sharedObserver\n}\n\nexport function observeAnchorAttributes(\n element: HTMLElement,\n callback: AttributeCallback,\n): () => void {\n const observer = getObserver()\n let callbacks = observedElements.get(element)\n if (!callbacks) {\n callbacks = new Set()\n observedElements.set(element, callbacks)\n observer.observe(element, observerConfig)\n }\n callbacks.add(callback)\n\n return () => {\n const cbs = observedElements.get(element)\n if (cbs) {\n cbs.delete(callback)\n if (cbs.size === 0) {\n observedElements.delete(element)\n // MutationObserver doesn't have unobserve — if no elements left, disconnect & reset\n if (observedElements.size === 0) {\n observer.disconnect()\n } else {\n // Re-observe remaining elements (MutationObserver has no per-target unobserve)\n observer.disconnect()\n observedElements.forEach((_cbs, el) => {\n observer.observe(el, observerConfig)\n })\n }\n }\n }\n }\n}\n\n/**\n * Reset for testing purposes\n */\nexport function resetSharedAttributeObserver(): void {\n sharedObserver?.disconnect()\n sharedObserver = null\n observedElements.clear()\n}\n","import React, { useCallback, useEffect, useRef, useState, memo } from 'react'\nimport clsx from 'clsx'\nimport { Tooltip } from '../Tooltip'\nimport type {\n PositionStrategy,\n PlacesType,\n VariantType,\n WrapperType,\n DataAttribute,\n ITooltip,\n TooltipRefProps,\n} from '../Tooltip/TooltipTypes'\nimport type { ITooltipController } from './TooltipControllerTypes'\nimport { observeAnchorAttributes } from './shared-attribute-observer'\n\nconst TooltipController = React.forwardRef<TooltipRefProps, ITooltipController>(\n (\n {\n id,\n anchorSelect,\n content,\n render,\n className,\n classNameArrow,\n variant = 'dark',\n portalRoot,\n place = 'top',\n offset = 10,\n wrapper = 'div',\n children = null,\n openOnClick = false,\n positionStrategy = 'absolute',\n middlewares,\n delayShow = 0,\n delayHide = 0,\n autoClose,\n float = false,\n hidden = false,\n noArrow = false,\n clickable = false,\n openEvents,\n closeEvents,\n globalCloseEvents,\n imperativeModeOnly = false,\n style,\n position,\n isOpen,\n defaultIsOpen = false,\n disableStyleInjection = false,\n border,\n opacity,\n arrowColor,\n arrowSize,\n setIsOpen,\n afterShow,\n afterHide,\n disableTooltip,\n role = 'tooltip',\n }: ITooltipController,\n ref,\n ) => {\n const [activeAnchor, setActiveAnchor] = useState<HTMLElement | null>(null)\n const [anchorDataAttributes, setAnchorDataAttributes] = useState<\n Partial<Record<DataAttribute, string | null>>\n >({})\n const previousActiveAnchorRef = useRef<HTMLElement | null>(null)\n const styleInjectionRef = useRef(disableStyleInjection)\n\n const handleSetActiveAnchor = useCallback((anchor: HTMLElement | null) => {\n setActiveAnchor((prev) => {\n if (!anchor?.isSameNode(prev)) {\n previousActiveAnchorRef.current = prev\n }\n return anchor\n })\n }, [])\n\n /* c8 ignore start */\n const getDataAttributesFromAnchorElement = (elementReference: HTMLElement) => {\n const dataAttributes = elementReference?.getAttributeNames().reduce(\n (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 },\n {} as Record<DataAttribute, string | null>,\n )\n\n return dataAttributes\n }\n /* c8 ignore end */\n\n useEffect(() => {\n if (styleInjectionRef.current === disableStyleInjection) {\n return\n }\n /* c8 ignore start */\n if (process.env.NODE_ENV !== 'production') {\n console.warn('[react-tooltip] Do not change `disableStyleInjection` dynamically.')\n }\n /* c8 ignore end */\n }, [disableStyleInjection])\n\n useEffect(() => {\n if (typeof window !== 'undefined') {\n window.dispatchEvent(\n new CustomEvent('react-tooltip-inject-styles', {\n detail: {\n disableCore: disableStyleInjection === 'core',\n disableBase: disableStyleInjection,\n },\n }),\n )\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n useEffect(() => {\n if (!activeAnchor) {\n setAnchorDataAttributes({})\n return () => {}\n }\n\n const updateAttributes = (element: HTMLElement) => {\n const attrs = getDataAttributesFromAnchorElement(element)\n setAnchorDataAttributes((prev) => {\n const keys = Object.keys(attrs) as DataAttribute[]\n const prevKeys = Object.keys(prev) as DataAttribute[]\n if (keys.length === prevKeys.length && keys.every((key) => attrs[key] === prev[key])) {\n return prev\n }\n return attrs\n })\n }\n\n updateAttributes(activeAnchor)\n\n const unsubscribe = observeAnchorAttributes(activeAnchor, updateAttributes)\n\n return unsubscribe\n }, [activeAnchor, anchorSelect])\n\n useEffect(() => {\n /* c8 ignore start */\n if (process.env.NODE_ENV === 'production') {\n return\n }\n /* c8 ignore end */\n if (style?.border) {\n console.warn('[react-tooltip] Do not set `style.border`. Use `border` prop instead.')\n }\n if (style?.opacity) {\n console.warn('[react-tooltip] Do not set `style.opacity`. Use `opacity` prop instead.')\n }\n }, [border, opacity, style?.border, style?.opacity])\n\n const currentAnchorDataAttributes = activeAnchor\n ? getDataAttributesFromAnchorElement(activeAnchor)\n : anchorDataAttributes\n\n /**\n * content priority: children < render or content < html\n * children should be lower priority so that it can be used as the \"default\" content\n */\n const tooltipContent = currentAnchorDataAttributes.content ?? content\n const tooltipPlace = (currentAnchorDataAttributes.place as PlacesType | undefined) ?? place\n const tooltipVariant =\n (currentAnchorDataAttributes.variant as VariantType | undefined) ?? variant\n const tooltipOffset =\n currentAnchorDataAttributes.offset == null\n ? offset\n : Number(currentAnchorDataAttributes.offset)\n const tooltipWrapper =\n (currentAnchorDataAttributes.wrapper as WrapperType | undefined) ?? wrapper\n const tooltipPositionStrategy =\n (currentAnchorDataAttributes['position-strategy'] as PositionStrategy | undefined) ??\n positionStrategy\n const tooltipDelayShow =\n currentAnchorDataAttributes['delay-show'] == null\n ? delayShow\n : Number(currentAnchorDataAttributes['delay-show'])\n const tooltipDelayHide =\n currentAnchorDataAttributes['delay-hide'] == null\n ? delayHide\n : Number(currentAnchorDataAttributes['delay-hide'])\n const tooltipAutoClose =\n currentAnchorDataAttributes['auto-close'] == null\n ? autoClose\n : Number(currentAnchorDataAttributes['auto-close'])\n const tooltipFloat =\n currentAnchorDataAttributes.float == null\n ? float\n : currentAnchorDataAttributes.float === 'true'\n const tooltipHidden =\n currentAnchorDataAttributes.hidden == null\n ? hidden\n : currentAnchorDataAttributes.hidden === 'true'\n const tooltipClassName = currentAnchorDataAttributes['class-name'] ?? null\n\n let renderedContent = children\n const contentWrapperRef = useRef<HTMLDivElement>(null)\n if (render) {\n const actualContent = currentAnchorDataAttributes.content ?? tooltipContent ?? null\n const rendered = render({ content: actualContent, activeAnchor }) as React.ReactNode\n renderedContent = rendered ? (\n <div ref={contentWrapperRef} className=\"react-tooltip-content-wrapper\">\n {rendered}\n </div>\n ) : null\n } else if (tooltipContent !== null && tooltipContent !== undefined) {\n renderedContent = tooltipContent\n }\n\n const props: ITooltip = {\n forwardRef: ref,\n id,\n anchorSelect,\n className: clsx(className, tooltipClassName),\n classNameArrow,\n content: renderedContent,\n contentWrapperRef,\n portalRoot,\n place: tooltipPlace,\n variant: tooltipVariant,\n offset: tooltipOffset,\n wrapper: tooltipWrapper,\n openOnClick,\n positionStrategy: tooltipPositionStrategy,\n middlewares,\n delayShow: tooltipDelayShow,\n delayHide: tooltipDelayHide,\n autoClose: tooltipAutoClose,\n float: tooltipFloat,\n hidden: tooltipHidden,\n noArrow,\n clickable,\n openEvents,\n closeEvents,\n globalCloseEvents,\n imperativeModeOnly,\n style,\n position,\n isOpen,\n defaultIsOpen,\n border,\n opacity,\n arrowColor,\n arrowSize,\n setIsOpen,\n afterShow,\n afterHide,\n disableTooltip,\n activeAnchor,\n previousActiveAnchor: previousActiveAnchorRef.current,\n setActiveAnchor: handleSetActiveAnchor,\n role,\n }\n\n return <Tooltip {...props} />\n },\n)\n\nexport default memo(TooltipController)\n","import './tokens.css'\n\nimport { injectStyle } from './utils/handle-style'\n\nimport type {\n DataAttribute,\n PlacesType,\n PositionStrategy,\n VariantType,\n WrapperType,\n IPosition,\n Middleware,\n TooltipRefProps,\n} from './components/Tooltip/TooltipTypes'\nimport type { ITooltipController } from './components/TooltipController/TooltipControllerTypes'\n\n// those content will be replaced in build time with the `react-tooltip.css` builded content\nconst TooltipCoreStyles = 'react-tooltip-core-css-placeholder'\nconst TooltipStyles = 'react-tooltip-css-placeholder'\n\nif (typeof window !== 'undefined') {\n window.addEventListener('react-tooltip-inject-styles', ((\n event: CustomEvent<{ disableCore: boolean; disableBase: boolean }>,\n ) => {\n if (!event.detail.disableCore) {\n injectStyle({ css: TooltipCoreStyles, type: 'core' })\n }\n if (!event.detail.disableBase) {\n injectStyle({ css: TooltipStyles, type: 'base' })\n }\n }) as EventListener)\n}\n\nexport { TooltipController as Tooltip } from './components/TooltipController'\nexport type {\n DataAttribute,\n PlacesType,\n PositionStrategy,\n VariantType,\n WrapperType,\n ITooltipController as ITooltip,\n IPosition,\n Middleware,\n TooltipRefProps,\n}\n"],"names":["flip","shift","offset","arrow","computePosition","useLayoutEffect","useEffect","useState","useRef","useMemo","autoUpdate","useCallback","useImperativeHandle","createPortal","memo","Tooltip"],"mappings":"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"}