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.cjs","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.cjs","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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"}