react-tooltip 5.26.4 → 6.0.0-beta.1179.rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +3 -1
- package/beta-release.js +81 -0
- package/dist/react-tooltip.cjs +317 -467
- package/dist/react-tooltip.cjs.map +1 -1
- package/dist/react-tooltip.d.ts +5 -82
- package/dist/react-tooltip.min.cjs +3 -2
- package/dist/react-tooltip.min.cjs.map +1 -1
- package/dist/react-tooltip.min.mjs +3 -2
- package/dist/react-tooltip.min.mjs.map +1 -1
- package/dist/react-tooltip.mjs +317 -457
- package/dist/react-tooltip.mjs.map +1 -1
- package/dist/react-tooltip.umd.js +320 -470
- package/dist/react-tooltip.umd.js.map +1 -1
- package/dist/react-tooltip.umd.min.js +3 -2
- package/dist/react-tooltip.umd.min.js.map +1 -1
- package/package.json +49 -47
- package/rollup.config.dev.mjs +88 -0
- package/rollup.config.prod.mjs +126 -0
- package/rollup.config.types.mjs +21 -0
|
@@ -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-supports.ts","../src/utils/css-time-to-ms.ts","../src/utils/debounce.ts","../src/utils/deep-equal.ts","../src/utils/get-scroll-parent.ts","../src/utils/use-isomorphic-layout-effect.ts","../src/components/TooltipProvider/TooltipProvider.tsx","../src/components/TooltipProvider/TooltipWrapper.tsx","../src/components/Tooltip/Tooltip.tsx","../src/components/TooltipContent/TooltipContent.tsx","../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\nfunction injectStyle({\n css,\n id = REACT_TOOLTIP_BASE_STYLES_ID,\n type = 'base',\n ref,\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}) {\n if (!css || typeof document === 'undefined' || injected[type]) {\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?.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?.REACT_TOOLTIP_DISABLE_BASE_STYLES\n ) {\n return\n }\n\n if (type === 'core') {\n // eslint-disable-next-line no-param-reassign\n id = REACT_TOOLTIP_CORE_STYLES_ID\n }\n\n if (!ref) {\n // eslint-disable-next-line no-param-reassign\n ref = {}\n }\n const { insertAt } = ref\n\n if (document.getElementById(id)) {\n // this should never happen because of `injected[type]`\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.warn(\n `[react-tooltip] Element with id '${id}' already exists. Call \\`removeStyle()\\` first`,\n )\n }\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 injected[type] = true\n}\n\n/**\n * @deprecated Use the `disableStyleInjection` tooltip prop instead.\n * See https://react-tooltip.com/docs/examples/styling#disabling-reacttooltip-css\n */\nfunction removeStyle({\n type = 'base',\n id = REACT_TOOLTIP_BASE_STYLES_ID,\n}: {\n type?: 'core' | 'base'\n id?: string\n} = {}) {\n if (!injected[type]) {\n return\n }\n\n if (type === 'core') {\n // eslint-disable-next-line no-param-reassign\n id = REACT_TOOLTIP_CORE_STYLES_ID\n }\n\n const style = document.getElementById(id)\n if (style?.tagName === 'style') {\n style?.remove()\n } else if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.warn(\n `[react-tooltip] Failed to remove 'style' element with id '${id}'. Call \\`injectStyle()\\` first`,\n )\n }\n\n injected[type] = false\n}\n\nexport { injectStyle, removeStyle }\n","import { computePosition, offset, shift, arrow, flip } from '@floating-ui/dom'\nimport type { IComputePositionArgs } from './compute-tooltip-position-types'\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 = [\n offset(Number(offsetValue)),\n flip({\n fallbackAxisSideDirection: 'start',\n }),\n shift({ padding: 5 }),\n ],\n border,\n}: IComputePositionArgs) => {\n if (!elementReference) {\n // elementReference can be null or undefined and we will not compute the position\n // eslint-disable-next-line no-console\n // console.error('The reference element for tooltip was not defined: ', elementReference)\n return { tooltipStyles: {}, tooltipArrowStyles: {}, place }\n }\n\n if (tooltipReference === null) {\n return { tooltipStyles: {}, tooltipArrowStyles: {}, place }\n }\n\n const middleware = middlewares\n\n if (tooltipArrowReference) {\n middleware.push(arrow({ element: tooltipArrowReference as HTMLElement, padding: 5 }))\n\n return computePosition(elementReference as HTMLElement, tooltipReference as HTMLElement, {\n placement: place,\n strategy,\n middleware,\n }).then(({ x, y, placement, middlewareData }) => {\n const styles = { left: `${x}px`, top: `${y}px`, 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]: `-${4 + borderWidth}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 cssSupports = (property: string, value: string): boolean => {\n const hasCssSupports = 'CSS' in window && 'supports' in window.CSS\n return hasCssSupports ? window.CSS.supports(property, value) : true\n}\n\nexport default cssSupports\n","const cssTimeToMs = (time: string): number => {\n const match = time.match(/^([\\d.]+)(ms|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\n const debounced = function debounced(this: T, ...args: A): void {\n const later = () => {\n timeout = null\n if (!immediate) {\n func.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 func.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 return debounced\n}\n\nexport default debounce\n","const isObject = (object: unknown): object is Record<string, unknown> => {\n return object !== null && !Array.isArray(object) && typeof object === 'object'\n}\n\nconst deepEqual = (object1: unknown, object2: unknown): boolean => {\n if (object1 === object2) {\n return true\n }\n\n if (Array.isArray(object1) && Array.isArray(object2)) {\n if (object1.length !== object2.length) {\n return false\n }\n return object1.every((val, index) => deepEqual(val, object2[index]))\n }\n\n if (Array.isArray(object1) !== Array.isArray(object2)) {\n return false\n }\n\n if (!isObject(object1) || !isObject(object2)) {\n return object1 === object2\n }\n\n const keys1 = Object.keys(object1)\n const keys2 = Object.keys(object2)\n if (keys1.length !== keys2.length) {\n return false\n }\n\n return keys1.every((key) => deepEqual(object1[key], object2[key]))\n}\n\nexport default deepEqual\n","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\nconst useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect\n\nexport default useIsomorphicLayoutEffect\n","import React, {\n createContext,\n PropsWithChildren,\n useCallback,\n useContext,\n useMemo,\n useState,\n} from 'react'\n\nimport type {\n AnchorRef,\n TooltipContextData,\n TooltipContextDataWrapper,\n} from './TooltipProviderTypes'\n\nconst DEFAULT_TOOLTIP_ID = 'DEFAULT_TOOLTIP_ID'\nconst DEFAULT_CONTEXT_DATA: TooltipContextData = {\n anchorRefs: new Set(),\n activeAnchor: { current: null },\n attach: () => {\n /* attach anchor element */\n },\n detach: () => {\n /* detach anchor element */\n },\n setActiveAnchor: () => {\n /* set active anchor */\n },\n}\n\nconst DEFAULT_CONTEXT_DATA_WRAPPER: TooltipContextDataWrapper = {\n getTooltipData: () => DEFAULT_CONTEXT_DATA,\n}\n\nconst TooltipContext = createContext<TooltipContextDataWrapper>(DEFAULT_CONTEXT_DATA_WRAPPER)\n\n/**\n * @deprecated Use the `data-tooltip-id` attribute, or the `anchorSelect` prop instead.\n * See https://react-tooltip.com/docs/getting-started\n */\nconst TooltipProvider: React.FC<PropsWithChildren<void>> = ({ children }) => {\n const [anchorRefMap, setAnchorRefMap] = useState<Record<string, Set<AnchorRef>>>({\n [DEFAULT_TOOLTIP_ID]: new Set(),\n })\n const [activeAnchorMap, setActiveAnchorMap] = useState<Record<string, AnchorRef>>({\n [DEFAULT_TOOLTIP_ID]: { current: null },\n })\n\n const attach = (tooltipId: string, ...refs: AnchorRef[]) => {\n setAnchorRefMap((oldMap) => {\n const tooltipRefs = oldMap[tooltipId] ?? new Set()\n refs.forEach((ref) => tooltipRefs.add(ref))\n // create new object to trigger re-render\n return { ...oldMap, [tooltipId]: new Set(tooltipRefs) }\n })\n }\n\n const detach = (tooltipId: string, ...refs: AnchorRef[]) => {\n setAnchorRefMap((oldMap) => {\n const tooltipRefs = oldMap[tooltipId]\n if (!tooltipRefs) {\n // tooltip not found\n // maybe thow error?\n return oldMap\n }\n refs.forEach((ref) => tooltipRefs.delete(ref))\n // create new object to trigger re-render\n return { ...oldMap }\n })\n }\n\n const setActiveAnchor = (tooltipId: string, ref: React.RefObject<HTMLElement>) => {\n setActiveAnchorMap((oldMap) => {\n if (oldMap[tooltipId]?.current === ref.current) {\n return oldMap\n }\n // create new object to trigger re-render\n return { ...oldMap, [tooltipId]: ref }\n })\n }\n\n const getTooltipData = useCallback(\n (tooltipId = DEFAULT_TOOLTIP_ID) => ({\n anchorRefs: anchorRefMap[tooltipId] ?? new Set(),\n activeAnchor: activeAnchorMap[tooltipId] ?? { current: null },\n attach: (...refs: AnchorRef[]) => attach(tooltipId, ...refs),\n detach: (...refs: AnchorRef[]) => detach(tooltipId, ...refs),\n setActiveAnchor: (ref: AnchorRef) => setActiveAnchor(tooltipId, ref),\n }),\n [anchorRefMap, activeAnchorMap, attach, detach],\n )\n\n const context = useMemo(() => {\n return {\n getTooltipData,\n }\n }, [getTooltipData])\n\n return <TooltipContext.Provider value={context}>{children}</TooltipContext.Provider>\n}\n\nexport function useTooltip(tooltipId = DEFAULT_TOOLTIP_ID) {\n return useContext(TooltipContext).getTooltipData(tooltipId)\n}\n\nexport default TooltipProvider\n","import React, { useEffect, useRef } from 'react'\nimport classNames from 'classnames'\nimport { useTooltip } from './TooltipProvider'\nimport type { ITooltipWrapper } from './TooltipProviderTypes'\n\n/**\n * @deprecated Use the `data-tooltip-id` attribute, or the `anchorSelect` prop instead.\n * See https://react-tooltip.com/docs/getting-started\n */\nconst TooltipWrapper = ({\n tooltipId,\n children,\n className,\n place,\n content,\n html,\n variant,\n offset,\n wrapper,\n events,\n positionStrategy,\n delayShow,\n delayHide,\n}: ITooltipWrapper) => {\n const { attach, detach } = useTooltip(tooltipId)\n const anchorRef = useRef<HTMLElement | null>(null)\n\n useEffect(() => {\n attach(anchorRef)\n return () => {\n detach(anchorRef)\n }\n }, [])\n\n return (\n <span\n ref={anchorRef}\n className={classNames('react-tooltip-wrapper', className)}\n data-tooltip-place={place}\n data-tooltip-content={content}\n data-tooltip-html={html}\n data-tooltip-variant={variant}\n data-tooltip-offset={offset}\n data-tooltip-wrapper={wrapper}\n data-tooltip-events={events}\n data-tooltip-position-strategy={positionStrategy}\n data-tooltip-delay-show={delayShow}\n data-tooltip-delay-hide={delayHide}\n >\n {children}\n </span>\n )\n}\n\nexport default TooltipWrapper\n","import React, { useEffect, useState, useRef, useCallback, useImperativeHandle } from 'react'\nimport { autoUpdate } from '@floating-ui/dom'\nimport classNames from 'classnames'\nimport {\n debounce,\n deepEqual,\n useIsomorphicLayoutEffect,\n getScrollParent,\n computeTooltipPosition,\n cssTimeToMs,\n} from 'utils'\nimport type { IComputedPosition } from 'utils'\nimport { useTooltip } from 'components/TooltipProvider'\nimport coreStyles from './core-styles.module.css'\nimport styles from './styles.module.css'\nimport type {\n AnchorCloseEvents,\n AnchorOpenEvents,\n GlobalCloseEvents,\n IPosition,\n ITooltip,\n TooltipImperativeOpenOptions,\n} from './TooltipTypes'\n\nconst Tooltip = ({\n // props\n forwardRef,\n id,\n className,\n classNameArrow,\n variant = 'dark',\n anchorId,\n anchorSelect,\n place = 'top',\n offset = 10,\n events = ['hover'],\n openOnClick = false,\n positionStrategy = 'absolute',\n middlewares,\n wrapper: WrapperElement,\n delayShow = 0,\n delayHide = 0,\n float = false,\n hidden = false,\n noArrow = false,\n clickable = false,\n closeOnEsc = false,\n closeOnScroll = false,\n closeOnResize = false,\n openEvents,\n closeEvents,\n globalCloseEvents,\n imperativeModeOnly,\n style: externalStyles,\n position,\n afterShow,\n afterHide,\n // props handled by controller\n content,\n contentWrapperRef,\n isOpen,\n defaultIsOpen = false,\n setIsOpen,\n activeAnchor,\n setActiveAnchor,\n border,\n opacity,\n arrowColor,\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 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 /**\n * @todo Remove this in a future version (provider/wrapper method is deprecated)\n */\n const { anchorRefs, setActiveAnchor: setProviderActiveAnchor } = useTooltip(id)\n const hoveringTooltip = useRef(false)\n const [anchorsBySelect, setAnchorsBySelect] = useState<HTMLElement[]>([])\n const mounted = useRef(false)\n\n /**\n * @todo Update when deprecated stuff gets removed.\n */\n const shouldOpenOnClick = openOnClick || events.includes('click')\n const hasClickEvent =\n shouldOpenOnClick || openEvents?.click || openEvents?.dblclick || openEvents?.mousedown\n const actualOpenEvents: AnchorOpenEvents = openEvents\n ? { ...openEvents }\n : {\n mouseenter: true,\n focus: true,\n click: false,\n dblclick: false,\n mousedown: false,\n }\n if (!openEvents && shouldOpenOnClick) {\n Object.assign(actualOpenEvents, {\n mouseenter: false,\n focus: false,\n click: true,\n })\n }\n const actualCloseEvents: AnchorCloseEvents = closeEvents\n ? { ...closeEvents }\n : {\n mouseleave: true,\n blur: true,\n click: false,\n dblclick: false,\n mouseup: false,\n }\n if (!closeEvents && shouldOpenOnClick) {\n Object.assign(actualCloseEvents, {\n mouseleave: false,\n blur: false,\n })\n }\n const actualGlobalCloseEvents: GlobalCloseEvents = globalCloseEvents\n ? { ...globalCloseEvents }\n : {\n escape: closeOnEsc || false,\n scroll: closeOnScroll || false,\n resize: closeOnResize || false,\n clickOutsideAnchor: hasClickEvent || false,\n }\n\n if (imperativeModeOnly) {\n Object.assign(actualOpenEvents, {\n mouseenter: false,\n focus: false,\n click: false,\n dblclick: false,\n mousedown: false,\n })\n Object.assign(actualCloseEvents, {\n mouseleave: false,\n blur: false,\n click: false,\n dblclick: false,\n mouseup: false,\n })\n Object.assign(actualGlobalCloseEvents, {\n escape: false,\n scroll: false,\n resize: false,\n clickOutsideAnchor: false,\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 = (value: boolean) => {\n if (!mounted.current) {\n return\n }\n if (value) {\n setRendered(true)\n }\n /**\n * wait for the component to render and calculate position\n * before actually showing\n */\n setTimeout(() => {\n if (!mounted.current) {\n return\n }\n setIsOpen?.(value)\n if (isOpen === undefined) {\n setShow(value)\n }\n }, 10)\n }\n\n /**\n * this replicates the effect from `handleShow()`\n * when `isOpen` is changed from outside\n */\n useEffect(() => {\n if (isOpen === undefined) {\n return () => null\n }\n if (isOpen) {\n setRendered(true)\n }\n const timeout = setTimeout(() => {\n setShow(isOpen)\n }, 10)\n return () => {\n clearTimeout(timeout)\n }\n }, [isOpen])\n\n useEffect(() => {\n if (show === wasShowing.current) {\n return\n }\n if (missedTransitionTimerRef.current) {\n clearTimeout(missedTransitionTimerRef.current)\n }\n wasShowing.current = show\n if (show) {\n afterShow?.()\n } else {\n /**\n * see `onTransitionEnd` on tooltip wrapper\n */\n const style = getComputedStyle(document.body)\n const transitionShowDelay = cssTimeToMs(style.getPropertyValue('--rt-transition-show-delay'))\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 }, [show])\n\n const handleComputedPosition = (newComputedPosition: IComputedPosition) => {\n setComputedPosition((oldComputedPosition) =>\n deepEqual(oldComputedPosition, newComputedPosition)\n ? oldComputedPosition\n : newComputedPosition,\n )\n }\n\n const handleShowTooltipDelayed = (delay = delayShow) => {\n if (tooltipShowDelayTimerRef.current) {\n clearTimeout(tooltipShowDelayTimerRef.current)\n }\n\n if (rendered) {\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\n const handleHideTooltipDelayed = (delay = delayHide) => {\n if (tooltipHideDelayTimerRef.current) {\n clearTimeout(tooltipHideDelayTimerRef.current)\n }\n\n tooltipHideDelayTimerRef.current = setTimeout(() => {\n if (hoveringTooltip.current) {\n return\n }\n handleShow(false)\n }, delay)\n }\n\n const handleShowTooltip = (event?: Event) => {\n if (!event) {\n return\n }\n const target = (event.currentTarget ?? event.target) as HTMLElement | null\n if (!target?.isConnected) {\n /**\n * this happens when the target is removed from the DOM\n * at the same time the tooltip gets triggered\n */\n setActiveAnchor(null)\n setProviderActiveAnchor({ current: null })\n return\n }\n if (delayShow) {\n handleShowTooltipDelayed()\n } else {\n handleShow(true)\n }\n setActiveAnchor(target)\n setProviderActiveAnchor({ current: target })\n\n if (tooltipHideDelayTimerRef.current) {\n clearTimeout(tooltipHideDelayTimerRef.current)\n }\n }\n\n const handleHideTooltip = () => {\n if (clickable) {\n // allow time for the mouse to reach the tooltip, in case there's a gap\n handleHideTooltipDelayed(delayHide || 100)\n } else if (delayHide) {\n handleHideTooltipDelayed()\n } else {\n handleShow(false)\n }\n\n if (tooltipShowDelayTimerRef.current) {\n clearTimeout(tooltipShowDelayTimerRef.current)\n }\n }\n\n const handleTooltipPosition = ({ x, y }: IPosition) => {\n const virtualElement = {\n getBoundingClientRect() {\n return {\n x,\n y,\n width: 0,\n height: 0,\n top: y,\n left: x,\n right: x,\n bottom: y,\n }\n },\n } as Element\n computeTooltipPosition({\n place: imperativeOptions?.place ?? place,\n offset,\n elementReference: virtualElement,\n tooltipReference: tooltipRef.current,\n tooltipArrowReference: tooltipArrowRef.current,\n strategy: positionStrategy,\n middlewares,\n border,\n }).then((computedStylesData) => {\n handleComputedPosition(computedStylesData)\n })\n }\n\n const handlePointerMove = (event?: Event) => {\n if (!event) {\n return\n }\n const mouseEvent = event as MouseEvent\n const mousePosition = {\n x: mouseEvent.clientX,\n y: mouseEvent.clientY,\n }\n handleTooltipPosition(mousePosition)\n lastFloatPosition.current = mousePosition\n }\n\n const handleClickOutsideAnchors = (event: MouseEvent) => {\n if (!show) {\n return\n }\n const target = event.target as HTMLElement\n if (!target.isConnected) {\n return\n }\n if (tooltipRef.current?.contains(target)) {\n return\n }\n const anchorById = document.querySelector<HTMLElement>(`[id='${anchorId}']`)\n const anchors = [anchorById, ...anchorsBySelect]\n if (anchors.some((anchor) => anchor?.contains(target))) {\n return\n }\n handleShow(false)\n if (tooltipShowDelayTimerRef.current) {\n clearTimeout(tooltipShowDelayTimerRef.current)\n }\n }\n\n // debounce handler to prevent call twice when\n // mouse enter and focus events being triggered toggether\n const internalDebouncedHandleShowTooltip = debounce(handleShowTooltip, 50, true)\n const internalDebouncedHandleHideTooltip = debounce(handleHideTooltip, 50, true)\n // If either of the functions is called while the other is still debounced,\n // reset the timeout. Otherwise if there is a sub-50ms (leave A, enter B, leave B)\n // sequence of events, the tooltip will stay open because the hide debounce\n // from leave A prevented the leave B event from calling it, leaving the\n // tooltip visible.\n const debouncedHandleShowTooltip = (e?: Event) => {\n internalDebouncedHandleHideTooltip.cancel()\n internalDebouncedHandleShowTooltip(e)\n }\n const debouncedHandleHideTooltip = () => {\n internalDebouncedHandleShowTooltip.cancel()\n internalDebouncedHandleHideTooltip()\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 }).then((computedStylesData) => {\n if (!mounted.current) {\n // invalidate computed positions after remount\n return\n }\n handleComputedPosition(computedStylesData)\n })\n }, [\n show,\n activeAnchor,\n content,\n externalStyles,\n place,\n imperativeOptions?.place,\n offset,\n positionStrategy,\n position,\n imperativeOptions?.position,\n float,\n ])\n\n useEffect(() => {\n const elementRefs = new Set(anchorRefs)\n\n anchorsBySelect.forEach((anchor) => {\n elementRefs.add({ current: anchor })\n })\n\n const anchorById = document.querySelector<HTMLElement>(`[id='${anchorId}']`)\n if (anchorById) {\n elementRefs.add({ current: anchorById })\n }\n\n const handleScrollResize = () => {\n handleShow(false)\n }\n\n const anchorScrollParent = getScrollParent(activeAnchor)\n const tooltipScrollParent = getScrollParent(tooltipRef.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 updateTooltipPosition,\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 handleShow(false)\n }\n if (actualGlobalCloseEvents.escape) {\n window.addEventListener('keydown', handleEsc)\n }\n\n if (actualGlobalCloseEvents.clickOutsideAnchor) {\n window.addEventListener('click', handleClickOutsideAnchors)\n }\n\n const enabledEvents: { event: string; listener: (event?: Event) => void }[] = []\n\n const handleClickOpenTooltipAnchor = (event?: Event) => {\n if (show && event?.target === activeAnchor) {\n /**\n * ignore clicking the anchor that was used to open the tooltip.\n * this avoids conflict with the click close event.\n */\n return\n }\n handleShowTooltip(event)\n }\n const handleClickCloseTooltipAnchor = (event?: Event) => {\n if (!show || event?.target !== activeAnchor) {\n /**\n * ignore clicking the anchor that was NOT used to open the tooltip.\n * this avoids closing the tooltip when clicking on a\n * new anchor with the tooltip already open.\n */\n return\n }\n handleHideTooltip()\n }\n\n const regularEvents = ['mouseenter', 'mouseleave', 'focus', 'blur']\n const clickEvents = ['click', 'dblclick', 'mousedown', 'mouseup']\n\n Object.entries(actualOpenEvents).forEach(([event, enabled]) => {\n if (!enabled) {\n return\n }\n if (regularEvents.includes(event)) {\n enabledEvents.push({ event, listener: debouncedHandleShowTooltip })\n } else if (clickEvents.includes(event)) {\n enabledEvents.push({ event, listener: handleClickOpenTooltipAnchor })\n } else {\n // never happens\n }\n })\n\n Object.entries(actualCloseEvents).forEach(([event, enabled]) => {\n if (!enabled) {\n return\n }\n if (regularEvents.includes(event)) {\n enabledEvents.push({ event, listener: debouncedHandleHideTooltip })\n } else if (clickEvents.includes(event)) {\n enabledEvents.push({ event, listener: handleClickCloseTooltipAnchor })\n } else {\n // never happens\n }\n })\n\n if (float) {\n enabledEvents.push({\n event: 'pointermove',\n listener: handlePointerMove,\n })\n }\n\n const handleMouseEnterTooltip = () => {\n hoveringTooltip.current = true\n }\n const handleMouseLeaveTooltip = () => {\n hoveringTooltip.current = false\n handleHideTooltip()\n }\n\n if (clickable && !hasClickEvent) {\n // used to keep the tooltip open when hovering content.\n // not needed if using click events.\n tooltipRef.current?.addEventListener('mouseenter', handleMouseEnterTooltip)\n tooltipRef.current?.addEventListener('mouseleave', handleMouseLeaveTooltip)\n }\n\n enabledEvents.forEach(({ event, listener }) => {\n elementRefs.forEach((ref) => {\n ref.current?.addEventListener(event, listener)\n })\n })\n\n return () => {\n if (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 } else {\n updateTooltipCleanup?.()\n }\n if (actualGlobalCloseEvents.clickOutsideAnchor) {\n window.removeEventListener('click', handleClickOutsideAnchors)\n }\n if (actualGlobalCloseEvents.escape) {\n window.removeEventListener('keydown', handleEsc)\n }\n if (clickable && !hasClickEvent) {\n tooltipRef.current?.removeEventListener('mouseenter', handleMouseEnterTooltip)\n tooltipRef.current?.removeEventListener('mouseleave', handleMouseLeaveTooltip)\n }\n enabledEvents.forEach(({ event, listener }) => {\n elementRefs.forEach((ref) => {\n ref.current?.removeEventListener(event, listener)\n })\n })\n }\n /**\n * rendered is also a dependency to ensure anchor observers are re-registered\n * since `tooltipRef` becomes stale after removing/adding the tooltip to the DOM\n */\n }, [\n activeAnchor,\n updateTooltipPosition,\n rendered,\n anchorRefs,\n anchorsBySelect,\n // the effect uses the `actual*Events` objects, but this should work\n openEvents,\n closeEvents,\n globalCloseEvents,\n shouldOpenOnClick,\n delayShow,\n delayHide,\n ])\n\n useEffect(() => {\n let selector = imperativeOptions?.anchorSelect ?? anchorSelect ?? ''\n if (!selector && id) {\n selector = `[data-tooltip-id='${id.replace(/'/g, \"\\\\'\")}']`\n }\n const documentObserverCallback: MutationCallback = (mutationList) => {\n const newAnchors: HTMLElement[] = []\n const removedAnchors: HTMLElement[] = []\n mutationList.forEach((mutation) => {\n if (mutation.type === 'attributes' && mutation.attributeName === 'data-tooltip-id') {\n const newId = (mutation.target as HTMLElement).getAttribute('data-tooltip-id')\n if (newId === id) {\n newAnchors.push(mutation.target as HTMLElement)\n } else if (mutation.oldValue === id) {\n // data-tooltip-id has now been changed, so we need to remove this anchor\n removedAnchors.push(mutation.target as HTMLElement)\n }\n }\n if (mutation.type !== 'childList') {\n return\n }\n if (activeAnchor) {\n const elements = [...mutation.removedNodes].filter((node) => node.nodeType === 1)\n if (selector) {\n try {\n removedAnchors.push(\n // the element itself is an anchor\n ...(elements.filter((element) =>\n (element as HTMLElement).matches(selector),\n ) as HTMLElement[]),\n )\n removedAnchors.push(\n // the element has children which are anchors\n ...elements.flatMap(\n (element) =>\n [...(element as HTMLElement).querySelectorAll(selector)] as HTMLElement[],\n ),\n )\n } catch {\n /**\n * invalid CSS selector.\n * already warned on tooltip controller\n */\n }\n }\n elements.some((node) => {\n if (node?.contains?.(activeAnchor)) {\n setRendered(false)\n handleShow(false)\n setActiveAnchor(null)\n if (tooltipShowDelayTimerRef.current) {\n clearTimeout(tooltipShowDelayTimerRef.current)\n }\n if (tooltipHideDelayTimerRef.current) {\n clearTimeout(tooltipHideDelayTimerRef.current)\n }\n return true\n }\n return false\n })\n }\n if (!selector) {\n return\n }\n try {\n const elements = [...mutation.addedNodes].filter((node) => node.nodeType === 1)\n newAnchors.push(\n // the element itself is an anchor\n ...(elements.filter((element) =>\n (element as HTMLElement).matches(selector),\n ) as HTMLElement[]),\n )\n newAnchors.push(\n // the element has children which are anchors\n ...elements.flatMap(\n (element) =>\n [...(element as HTMLElement).querySelectorAll(selector)] as HTMLElement[],\n ),\n )\n } catch {\n /**\n * invalid CSS selector.\n * already warned on tooltip controller\n */\n }\n })\n if (newAnchors.length || removedAnchors.length) {\n setAnchorsBySelect((anchors) => [\n ...anchors.filter((anchor) => !removedAnchors.includes(anchor)),\n ...newAnchors,\n ])\n }\n }\n const documentObserver = new MutationObserver(documentObserverCallback)\n // watch for anchor being removed from the DOM\n documentObserver.observe(document.body, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['data-tooltip-id'],\n // to track the prev value if we need to remove anchor when data-tooltip-id gets changed\n attributeOldValue: true,\n })\n return () => {\n documentObserver.disconnect()\n }\n }, [id, anchorSelect, imperativeOptions?.anchorSelect, activeAnchor])\n\n useEffect(() => {\n updateTooltipPosition()\n }, [updateTooltipPosition])\n\n useEffect(() => {\n if (!contentWrapperRef?.current) {\n return () => null\n }\n const contentObserver = new ResizeObserver(() => {\n setTimeout(() => updateTooltipPosition())\n })\n contentObserver.observe(contentWrapperRef.current)\n return () => {\n contentObserver.disconnect()\n }\n }, [content, contentWrapperRef?.current])\n\n useEffect(() => {\n const anchorById = document.querySelector<HTMLElement>(`[id='${anchorId}']`)\n const anchors = [...anchorsBySelect, anchorById]\n if (!activeAnchor || !anchors.includes(activeAnchor)) {\n /**\n * if there is no active anchor,\n * or if the current active anchor is not amongst the allowed ones,\n * reset it\n */\n setActiveAnchor(anchorsBySelect[0] ?? anchorById)\n }\n }, [anchorId, anchorsBySelect, activeAnchor])\n\n useEffect(() => {\n if (defaultIsOpen) {\n handleShow(true)\n }\n return () => {\n if (tooltipShowDelayTimerRef.current) {\n clearTimeout(tooltipShowDelayTimerRef.current)\n }\n if (tooltipHideDelayTimerRef.current) {\n clearTimeout(tooltipHideDelayTimerRef.current)\n }\n }\n }, [])\n\n useEffect(() => {\n let selector = imperativeOptions?.anchorSelect ?? anchorSelect\n if (!selector && id) {\n selector = `[data-tooltip-id='${id.replace(/'/g, \"\\\\'\")}']`\n }\n if (!selector) {\n return\n }\n try {\n const anchors = Array.from(document.querySelectorAll<HTMLElement>(selector))\n setAnchorsBySelect(anchors)\n } catch {\n // warning was already issued in the controller\n setAnchorsBySelect([])\n }\n }, [id, anchorSelect, imperativeOptions?.anchorSelect])\n\n useEffect(() => {\n if (tooltipShowDelayTimerRef.current) {\n clearTimeout(tooltipShowDelayTimerRef.current)\n handleShowTooltipDelayed(delayShow)\n }\n }, [delayShow])\n\n const actualContent = imperativeOptions?.content ?? content\n const canShow = show && Object.keys(computedPosition.tooltipStyles).length > 0\n\n useImperativeHandle(forwardRef, () => ({\n open: (options) => {\n if (options?.anchorSelect) {\n try {\n document.querySelector(options.anchorSelect)\n } catch {\n if (!process.env.NODE_ENV || process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.warn(`[react-tooltip] \"${options.anchorSelect}\" is not a valid CSS selector`)\n }\n return\n }\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 && actualContent && canShow),\n }))\n\n return rendered && !hidden && actualContent ? (\n <WrapperElement\n id={id}\n role={role}\n className={classNames(\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 if (missedTransitionTimerRef.current) {\n clearTimeout(missedTransitionTimerRef.current)\n }\n if (show || event.propertyName !== 'opacity') {\n return\n }\n setRendered(false)\n setImperativeOptions(null)\n afterHide?.()\n }}\n style={{\n ...externalStyles,\n ...computedPosition.tooltipStyles,\n opacity: opacity !== undefined && canShow ? opacity : undefined,\n }}\n ref={tooltipRef}\n >\n {actualContent}\n <WrapperElement\n className={classNames(\n 'react-tooltip-arrow',\n coreStyles['arrow'],\n styles['arrow'],\n classNameArrow,\n noArrow && coreStyles['noArrow'],\n )}\n style={{\n ...computedPosition.tooltipArrowStyles,\n background: arrowColor\n ? `linear-gradient(to right bottom, transparent 50%, ${arrowColor} 50%)`\n : undefined,\n }}\n ref={tooltipArrowRef}\n />\n </WrapperElement>\n ) : null\n}\n\nexport default Tooltip\n","/* eslint-disable react/no-danger */\nimport React from 'react'\nimport type { ITooltipContent } from './TooltipContentTypes'\n\nconst TooltipContent = ({ content }: ITooltipContent) => {\n return <span dangerouslySetInnerHTML={{ __html: content }} />\n}\n\nexport default TooltipContent\n","import React, { useEffect, useRef, useState } from 'react'\nimport { Tooltip } from 'components/Tooltip'\nimport type {\n EventsType,\n PositionStrategy,\n PlacesType,\n VariantType,\n WrapperType,\n DataAttribute,\n ITooltip,\n ChildrenType,\n TooltipRefProps,\n} from 'components/Tooltip/TooltipTypes'\nimport { useTooltip } from 'components/TooltipProvider'\nimport { TooltipContent } from 'components/TooltipContent'\nimport { cssSupports } from 'utils'\nimport classNames from 'classnames'\nimport type { ITooltipController } from './TooltipControllerTypes'\n\nconst TooltipController = React.forwardRef<TooltipRefProps, ITooltipController>(\n (\n {\n id,\n anchorId,\n anchorSelect,\n content,\n html,\n render,\n className,\n classNameArrow,\n variant = 'dark',\n place = 'top',\n offset = 10,\n wrapper = 'div',\n children = null,\n events = ['hover'],\n openOnClick = false,\n positionStrategy = 'absolute',\n middlewares,\n delayShow = 0,\n delayHide = 0,\n float = false,\n hidden = false,\n noArrow = false,\n clickable = false,\n closeOnEsc = false,\n closeOnScroll = false,\n closeOnResize = 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 setIsOpen,\n afterShow,\n afterHide,\n role = 'tooltip',\n }: ITooltipController,\n ref,\n ) => {\n const [tooltipContent, setTooltipContent] = useState(content)\n const [tooltipHtml, setTooltipHtml] = useState(html)\n const [tooltipPlace, setTooltipPlace] = useState(place)\n const [tooltipVariant, setTooltipVariant] = useState(variant)\n const [tooltipOffset, setTooltipOffset] = useState(offset)\n const [tooltipDelayShow, setTooltipDelayShow] = useState(delayShow)\n const [tooltipDelayHide, setTooltipDelayHide] = useState(delayHide)\n const [tooltipFloat, setTooltipFloat] = useState(float)\n const [tooltipHidden, setTooltipHidden] = useState(hidden)\n const [tooltipWrapper, setTooltipWrapper] = useState<WrapperType>(wrapper)\n const [tooltipEvents, setTooltipEvents] = useState(events)\n const [tooltipPositionStrategy, setTooltipPositionStrategy] = useState(positionStrategy)\n const [tooltipClassName, setTooltipClassName] = useState<string | null>(null)\n const [activeAnchor, setActiveAnchor] = useState<HTMLElement | null>(null)\n const styleInjectionRef = useRef(disableStyleInjection)\n /**\n * @todo Remove this in a future version (provider/wrapper method is deprecated)\n */\n const { anchorRefs, activeAnchor: providerActiveAnchor } = useTooltip(id)\n\n const getDataAttributesFromAnchorElement = (elementReference: HTMLElement) => {\n const dataAttributes = elementReference?.getAttributeNames().reduce((acc, name) => {\n if (name.startsWith('data-tooltip-')) {\n const parsedAttribute = name.replace(/^data-tooltip-/, '') as DataAttribute\n acc[parsedAttribute] = elementReference?.getAttribute(name) ?? null\n }\n return acc\n }, {} as Record<DataAttribute, string | null>)\n\n return dataAttributes\n }\n\n const applyAllDataAttributesFromAnchorElement = (\n dataAttributes: Record<string, string | null>,\n ) => {\n const handleDataAttributes: Record<DataAttribute, (value: string | null) => void> = {\n place: (value) => {\n setTooltipPlace((value as PlacesType) ?? place)\n },\n content: (value) => {\n setTooltipContent(value ?? content)\n },\n html: (value) => {\n setTooltipHtml(value ?? html)\n },\n variant: (value) => {\n setTooltipVariant((value as VariantType) ?? variant)\n },\n offset: (value) => {\n setTooltipOffset(value === null ? offset : Number(value))\n },\n wrapper: (value) => {\n setTooltipWrapper((value as WrapperType) ?? wrapper)\n },\n events: (value) => {\n const parsed = value?.split(' ') as EventsType[]\n setTooltipEvents(parsed ?? events)\n },\n 'position-strategy': (value) => {\n setTooltipPositionStrategy((value as PositionStrategy) ?? positionStrategy)\n },\n 'delay-show': (value) => {\n setTooltipDelayShow(value === null ? delayShow : Number(value))\n },\n 'delay-hide': (value) => {\n setTooltipDelayHide(value === null ? delayHide : Number(value))\n },\n float: (value) => {\n setTooltipFloat(value === null ? float : value === 'true')\n },\n hidden: (value) => {\n setTooltipHidden(value === null ? hidden : value === 'true')\n },\n 'class-name': (value) => {\n setTooltipClassName(value)\n },\n }\n // reset unset data attributes to default values\n // without this, data attributes from the last active anchor will still be used\n Object.values(handleDataAttributes).forEach((handler) => handler(null))\n Object.entries(dataAttributes).forEach(([key, value]) => {\n handleDataAttributes[key as DataAttribute]?.(value)\n })\n }\n\n useEffect(() => {\n setTooltipContent(content)\n }, [content])\n\n useEffect(() => {\n setTooltipHtml(html)\n }, [html])\n\n useEffect(() => {\n setTooltipPlace(place)\n }, [place])\n\n useEffect(() => {\n setTooltipVariant(variant)\n }, [variant])\n\n useEffect(() => {\n setTooltipOffset(offset)\n }, [offset])\n\n useEffect(() => {\n setTooltipDelayShow(delayShow)\n }, [delayShow])\n\n useEffect(() => {\n setTooltipDelayHide(delayHide)\n }, [delayHide])\n\n useEffect(() => {\n setTooltipFloat(float)\n }, [float])\n\n useEffect(() => {\n setTooltipHidden(hidden)\n }, [hidden])\n\n useEffect(() => {\n setTooltipPositionStrategy(positionStrategy)\n }, [positionStrategy])\n\n useEffect(() => {\n if (styleInjectionRef.current === disableStyleInjection) {\n return\n }\n /* c8 ignore start */\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\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 }, [])\n\n useEffect(() => {\n const elementRefs = new Set(anchorRefs)\n\n let selector = anchorSelect\n if (!selector && id) {\n selector = `[data-tooltip-id='${id.replace(/'/g, \"\\\\'\")}']`\n }\n if (selector) {\n try {\n const anchorsBySelect = document.querySelectorAll<HTMLElement>(selector)\n anchorsBySelect.forEach((anchor) => {\n elementRefs.add({ current: anchor })\n })\n } catch {\n /* c8 ignore start */\n if (!process.env.NODE_ENV || process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.warn(`[react-tooltip] \"${selector}\" is not a valid CSS selector`)\n }\n /* c8 ignore end */\n }\n }\n\n const anchorById = document.querySelector<HTMLElement>(`[id='${anchorId}']`)\n if (anchorById) {\n elementRefs.add({ current: anchorById })\n }\n\n if (!elementRefs.size) {\n return () => null\n }\n\n const anchorElement = activeAnchor ?? anchorById ?? providerActiveAnchor.current\n\n const observerCallback: MutationCallback = (mutationList) => {\n mutationList.forEach((mutation) => {\n if (\n !anchorElement ||\n mutation.type !== 'attributes' ||\n !mutation.attributeName?.startsWith('data-tooltip-')\n ) {\n return\n }\n // make sure to get all set attributes, since all unset attributes are reset\n const dataAttributes = getDataAttributesFromAnchorElement(anchorElement)\n applyAllDataAttributesFromAnchorElement(dataAttributes)\n })\n }\n\n // Create an observer instance linked to the callback function\n const observer = new MutationObserver(observerCallback)\n\n // do not check for subtree and childrens, we only want to know attribute changes\n // to stay watching `data-attributes-*` from anchor element\n const observerConfig = { attributes: true, childList: false, subtree: false }\n\n if (anchorElement) {\n const dataAttributes = getDataAttributesFromAnchorElement(anchorElement)\n applyAllDataAttributesFromAnchorElement(dataAttributes)\n // Start observing the target node for configured mutations\n observer.observe(anchorElement, observerConfig)\n }\n\n return () => {\n // Remove the observer when the tooltip is destroyed\n observer.disconnect()\n }\n }, [anchorRefs, providerActiveAnchor, activeAnchor, anchorId, anchorSelect])\n\n useEffect(() => {\n /* c8 ignore start */\n if (process.env.NODE_ENV === 'production') {\n return\n }\n /* c8 ignore end */\n if (style?.border) {\n // eslint-disable-next-line no-console\n console.warn('[react-tooltip] Do not set `style.border`. Use `border` prop instead.')\n }\n if (border && !cssSupports('border', `${border}`)) {\n // eslint-disable-next-line no-console\n console.warn(`[react-tooltip] \"${border}\" is not a valid \\`border\\`.`)\n }\n if (style?.opacity) {\n // eslint-disable-next-line no-console\n console.warn('[react-tooltip] Do not set `style.opacity`. Use `opacity` prop instead.')\n }\n if (opacity && !cssSupports('opacity', `${opacity}`)) {\n // eslint-disable-next-line no-console\n console.warn(`[react-tooltip] \"${opacity}\" is not a valid \\`opacity\\`.`)\n }\n }, [])\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 let renderedContent: ChildrenType = children\n const contentWrapperRef = useRef<HTMLDivElement>(null)\n if (render) {\n const actualContent =\n activeAnchor?.getAttribute('data-tooltip-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) {\n renderedContent = tooltipContent\n }\n if (tooltipHtml) {\n renderedContent = <TooltipContent content={tooltipHtml} />\n }\n\n const props: ITooltip = {\n forwardRef: ref,\n id,\n anchorId,\n anchorSelect,\n className: classNames(className, tooltipClassName),\n classNameArrow,\n content: renderedContent,\n contentWrapperRef,\n place: tooltipPlace,\n variant: tooltipVariant,\n offset: tooltipOffset,\n wrapper: tooltipWrapper,\n events: tooltipEvents,\n openOnClick,\n positionStrategy: tooltipPositionStrategy,\n middlewares,\n delayShow: tooltipDelayShow,\n delayHide: tooltipDelayHide,\n float: tooltipFloat,\n hidden: tooltipHidden,\n noArrow,\n clickable,\n closeOnEsc,\n closeOnScroll,\n closeOnResize,\n openEvents,\n closeEvents,\n globalCloseEvents,\n imperativeModeOnly,\n style,\n position,\n isOpen,\n defaultIsOpen,\n border,\n opacity,\n arrowColor,\n setIsOpen,\n afterShow,\n afterHide,\n activeAnchor,\n setActiveAnchor: (anchor: HTMLElement | null) => setActiveAnchor(anchor),\n role,\n }\n\n return <Tooltip {...props} />\n },\n)\n\nexport default TooltipController\n","import './tokens.css'\n\nimport { injectStyle } from 'utils/handle-style'\n\nimport type {\n ChildrenType,\n DataAttribute,\n EventsType,\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'\nimport type { ITooltipWrapper } from './components/TooltipProvider/TooltipProviderTypes'\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 { TooltipProvider, TooltipWrapper } from './components/TooltipProvider'\nexport type {\n ChildrenType,\n DataAttribute,\n EventsType,\n PlacesType,\n PositionStrategy,\n VariantType,\n WrapperType,\n ITooltipController as ITooltip,\n ITooltipWrapper,\n IPosition,\n Middleware,\n TooltipRefProps,\n}\n\nexport { removeStyle } from './utils/handle-style'\n"],"names":["offset","flip","shift","arrow","computePosition","useLayoutEffect","useEffect","createContext","useState","useCallback","useMemo","React","useContext","useRef","classNames","autoUpdate","useImperativeHandle"],"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-supports.ts","../src/utils/css-time-to-ms.ts","../src/utils/debounce.ts","../src/utils/deep-equal.ts","../src/utils/get-scroll-parent.ts","../src/utils/use-isomorphic-layout-effect.ts","../src/components/Tooltip/Tooltip.tsx","../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\nfunction injectStyle({\n css,\n id = REACT_TOOLTIP_BASE_STYLES_ID,\n type = 'base',\n ref,\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}) {\n if (!css || typeof document === 'undefined' || injected[type]) {\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?.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?.REACT_TOOLTIP_DISABLE_BASE_STYLES\n ) {\n return\n }\n\n if (type === 'core') {\n // eslint-disable-next-line no-param-reassign\n id = REACT_TOOLTIP_CORE_STYLES_ID\n }\n\n if (!ref) {\n // eslint-disable-next-line no-param-reassign\n ref = {}\n }\n const { insertAt } = ref\n\n if (document.getElementById(id)) {\n // this should never happen because of `injected[type]`\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.warn(\n `[react-tooltip] Element with id '${id}' already exists. Call \\`removeStyle()\\` first`,\n )\n }\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 injected[type] = true\n}\n\nexport { injectStyle }\n","import { computePosition, offset, shift, arrow, flip } from '@floating-ui/dom'\nimport type { IComputePositionArgs } from './compute-tooltip-position-types'\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 = [\n offset(Number(offsetValue)),\n flip({\n fallbackAxisSideDirection: 'start',\n }),\n shift({ padding: 5 }),\n ],\n border,\n}: IComputePositionArgs) => {\n if (!elementReference) {\n // elementReference can be null or undefined and we will not compute the position\n // eslint-disable-next-line no-console\n // console.error('The reference element for tooltip was not defined: ', elementReference)\n return { tooltipStyles: {}, tooltipArrowStyles: {}, place }\n }\n\n if (tooltipReference === null) {\n return { tooltipStyles: {}, tooltipArrowStyles: {}, place }\n }\n\n const middleware = middlewares\n\n if (tooltipArrowReference) {\n middleware.push(arrow({ element: tooltipArrowReference as HTMLElement, padding: 5 }))\n\n return computePosition(elementReference as HTMLElement, tooltipReference as HTMLElement, {\n placement: place,\n strategy,\n middleware,\n }).then(({ x, y, placement, middlewareData }) => {\n const styles = { left: `${x}px`, top: `${y}px`, 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]: `-${4 + borderWidth}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 cssSupports = (property: string, value: string): boolean => {\n const hasCssSupports = 'CSS' in window && 'supports' in window.CSS\n return hasCssSupports ? window.CSS.supports(property, value) : true\n}\n\nexport default cssSupports\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\n const debounced = function debounced(this: T, ...args: A): void {\n const later = () => {\n timeout = null\n if (!immediate) {\n func.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 func.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 return debounced\n}\n\nexport default debounce\n","const isObject = (object: unknown): object is Record<string, unknown> => {\n return object !== null && !Array.isArray(object) && typeof object === 'object'\n}\n\nconst deepEqual = (object1: unknown, object2: unknown): boolean => {\n if (object1 === object2) {\n return true\n }\n\n if (Array.isArray(object1) && Array.isArray(object2)) {\n if (object1.length !== object2.length) {\n return false\n }\n return object1.every((val, index) => deepEqual(val, object2[index]))\n }\n\n if (Array.isArray(object1) !== Array.isArray(object2)) {\n return false\n }\n\n if (!isObject(object1) || !isObject(object2)) {\n return object1 === object2\n }\n\n const keys1 = Object.keys(object1)\n const keys2 = Object.keys(object2)\n if (keys1.length !== keys2.length) {\n return false\n }\n\n return keys1.every((key) => deepEqual(object1[key], object2[key]))\n}\n\nexport default deepEqual\n","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\nconst useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect\n\nexport default useIsomorphicLayoutEffect\n","import React, { useEffect, useState, useRef, useCallback, useImperativeHandle } from 'react'\nimport { autoUpdate } from '@floating-ui/dom'\nimport clsx from 'clsx'\nimport {\n debounce,\n deepEqual,\n useIsomorphicLayoutEffect,\n getScrollParent,\n computeTooltipPosition,\n cssTimeToMs,\n} from 'utils'\nimport type { IComputedPosition } from 'utils'\nimport coreStyles from './core-styles.module.css'\nimport styles from './styles.module.css'\nimport type {\n AnchorCloseEvents,\n AnchorOpenEvents,\n GlobalCloseEvents,\n IPosition,\n ITooltip,\n TooltipImperativeOpenOptions,\n} from './TooltipTypes'\n\nconst Tooltip = ({\n // props\n forwardRef,\n id,\n className,\n classNameArrow,\n variant = 'dark',\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 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 // props handled by controller\n content,\n contentWrapperRef,\n isOpen,\n defaultIsOpen = false,\n setIsOpen,\n activeAnchor,\n setActiveAnchor,\n border,\n opacity,\n arrowColor,\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 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 [anchorElements, setAnchorElements] = useState<HTMLElement[]>([])\n const mounted = useRef(false)\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 * 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 if (missedTransitionTimerRef.current) {\n clearTimeout(missedTransitionTimerRef.current)\n }\n wasShowing.current = show\n if (show) {\n afterShow?.()\n } else {\n /**\n * see `onTransitionEnd` on tooltip wrapper\n */\n const style = getComputedStyle(document.body)\n const transitionShowDelay = cssTimeToMs(style.getPropertyValue('--rt-transition-show-delay'))\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 const handleComputedPosition = (newComputedPosition: IComputedPosition) => {\n setComputedPosition((oldComputedPosition) =>\n deepEqual(oldComputedPosition, newComputedPosition)\n ? oldComputedPosition\n : newComputedPosition,\n )\n }\n\n const handleShowTooltipDelayed = useCallback(\n (delay = delayShow) => {\n if (tooltipShowDelayTimerRef.current) {\n clearTimeout(tooltipShowDelayTimerRef.current)\n }\n\n if (rendered) {\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, rendered],\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 const virtualElement = {\n getBoundingClientRect() {\n return {\n x,\n y,\n width: 0,\n height: 0,\n top: y,\n left: x,\n right: x,\n bottom: y,\n }\n },\n } as Element\n computeTooltipPosition({\n place: imperativeOptions?.place ?? place,\n offset,\n elementReference: virtualElement,\n tooltipReference: tooltipRef.current,\n tooltipArrowReference: tooltipArrowRef.current,\n strategy: positionStrategy,\n middlewares,\n border,\n }).then((computedStylesData) => {\n handleComputedPosition(computedStylesData)\n })\n },\n [imperativeOptions?.place, place, offset, positionStrategy, middlewares, border],\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 }).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 ])\n\n useEffect(() => {\n /**\n * TODO(V6): break this effect down into callbacks for clarity\n * - `handleKeyboardEvents()`\n * - `handleMouseEvents()`\n * - `handleGlobalCloseEvents()`\n * - `handleAnchorEvents()`\n * - ...\n */\n\n const handlePointerMove = (event?: Event) => {\n if (!event) {\n return\n }\n const mouseEvent = event as MouseEvent\n const mousePosition = {\n x: mouseEvent.clientX,\n y: mouseEvent.clientY,\n }\n handleTooltipPosition(mousePosition)\n lastFloatPosition.current = mousePosition\n }\n\n const handleClickOutsideAnchors = (event: MouseEvent) => {\n if (!show) {\n return\n }\n const target = event.target as HTMLElement\n if (!target.isConnected) {\n return\n }\n if (tooltipRef.current?.contains(target)) {\n return\n }\n if (anchorElements.some((anchor) => anchor?.contains(target))) {\n return\n }\n handleShow(false)\n if (tooltipShowDelayTimerRef.current) {\n clearTimeout(tooltipShowDelayTimerRef.current)\n }\n }\n\n const handleShowTooltip = (event?: Event) => {\n if (!event) {\n return\n }\n const target = (event.currentTarget ?? event.target) as HTMLElement | null\n if (!target?.isConnected) {\n /**\n * this happens when the target is removed from the DOM\n * at the same time the tooltip gets triggered\n */\n setActiveAnchor(null)\n return\n }\n if (delayShow) {\n handleShowTooltipDelayed()\n } else {\n handleShow(true)\n }\n setActiveAnchor(target)\n\n if (tooltipHideDelayTimerRef.current) {\n clearTimeout(tooltipHideDelayTimerRef.current)\n }\n }\n\n const handleHideTooltip = () => {\n if (clickable) {\n // allow time for the mouse to reach the tooltip, in case there's a gap\n handleHideTooltipDelayed(delayHide || 100)\n } else if (delayHide) {\n handleHideTooltipDelayed()\n } else {\n handleShow(false)\n }\n\n if (tooltipShowDelayTimerRef.current) {\n clearTimeout(tooltipShowDelayTimerRef.current)\n }\n }\n\n // debounce handler to prevent call twice when\n // mouse enter and focus events being triggered toggether\n const internalDebouncedHandleShowTooltip = debounce(handleShowTooltip, 50, true)\n const internalDebouncedHandleHideTooltip = debounce(handleHideTooltip, 50, true)\n // If either of the functions is called while the other is still debounced,\n // reset the timeout. Otherwise if there is a sub-50ms (leave A, enter B, leave B)\n // sequence of events, the tooltip will stay open because the hide debounce\n // from leave A prevented the leave B event from calling it, leaving the\n // tooltip visible.\n const debouncedHandleShowTooltip = (e?: Event) => {\n internalDebouncedHandleHideTooltip.cancel()\n internalDebouncedHandleShowTooltip(e)\n }\n const debouncedHandleHideTooltip = () => {\n internalDebouncedHandleShowTooltip.cancel()\n internalDebouncedHandleHideTooltip()\n }\n\n const handleScrollResize = () => {\n handleShow(false)\n }\n\n const hasClickEvent =\n openOnClick || openEvents?.click || openEvents?.dblclick || openEvents?.mousedown\n const actualOpenEvents: 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(actualOpenEvents, {\n mouseenter: false,\n focus: false,\n click: true,\n })\n }\n const actualCloseEvents: 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(actualCloseEvents, {\n mouseleave: false,\n blur: false,\n })\n }\n const actualGlobalCloseEvents: GlobalCloseEvents = globalCloseEvents\n ? { ...globalCloseEvents }\n : {\n escape: false,\n scroll: false,\n resize: false,\n clickOutsideAnchor: hasClickEvent || false,\n }\n\n if (imperativeModeOnly) {\n Object.assign(actualOpenEvents, {\n mouseenter: false,\n focus: false,\n click: false,\n dblclick: false,\n mousedown: false,\n })\n Object.assign(actualCloseEvents, {\n mouseleave: false,\n blur: false,\n click: false,\n dblclick: false,\n mouseup: false,\n })\n Object.assign(actualGlobalCloseEvents, {\n escape: false,\n scroll: false,\n resize: false,\n clickOutsideAnchor: false,\n })\n }\n\n const tooltipElement = tooltipRef.current\n const tooltipScrollParent = getScrollParent(tooltipRef.current)\n const anchorScrollParent = getScrollParent(activeAnchor)\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 updateTooltipPosition,\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 handleShow(false)\n }\n if (actualGlobalCloseEvents.escape) {\n window.addEventListener('keydown', handleEsc)\n }\n\n if (actualGlobalCloseEvents.clickOutsideAnchor) {\n window.addEventListener('click', handleClickOutsideAnchors)\n }\n\n const enabledEvents: { event: string; listener: (event?: Event) => void }[] = []\n\n const handleClickOpenTooltipAnchor = (event?: Event) => {\n if (show && event?.target === activeAnchor) {\n /**\n * ignore clicking the anchor that was used to open the tooltip.\n * this avoids conflict with the click close event.\n */\n return\n }\n handleShowTooltip(event)\n }\n const handleClickCloseTooltipAnchor = (event?: Event) => {\n if (!show || event?.target !== activeAnchor) {\n /**\n * ignore clicking the anchor that was NOT used to open the tooltip.\n * this avoids closing the tooltip when clicking on a\n * new anchor with the tooltip already open.\n */\n return\n }\n handleHideTooltip()\n }\n\n const regularEvents = ['mouseenter', 'mouseleave', 'focus', 'blur']\n const clickEvents = ['click', 'dblclick', 'mousedown', 'mouseup']\n\n Object.entries(actualOpenEvents).forEach(([event, enabled]) => {\n if (!enabled) {\n return\n }\n if (regularEvents.includes(event)) {\n enabledEvents.push({ event, listener: debouncedHandleShowTooltip })\n } else if (clickEvents.includes(event)) {\n enabledEvents.push({ event, listener: handleClickOpenTooltipAnchor })\n } else {\n // never happens\n }\n })\n\n Object.entries(actualCloseEvents).forEach(([event, enabled]) => {\n if (!enabled) {\n return\n }\n if (regularEvents.includes(event)) {\n enabledEvents.push({ event, listener: debouncedHandleHideTooltip })\n } else if (clickEvents.includes(event)) {\n enabledEvents.push({ event, listener: handleClickCloseTooltipAnchor })\n } else {\n // never happens\n }\n })\n\n if (float) {\n enabledEvents.push({\n event: 'pointermove',\n listener: handlePointerMove,\n })\n }\n\n const handleMouseEnterTooltip = () => {\n hoveringTooltip.current = true\n }\n const handleMouseLeaveTooltip = () => {\n hoveringTooltip.current = false\n handleHideTooltip()\n }\n\n if (clickable && !hasClickEvent) {\n // used to keep the tooltip open when hovering content.\n // not needed if using click events.\n tooltipElement?.addEventListener('mouseenter', handleMouseEnterTooltip)\n tooltipElement?.addEventListener('mouseleave', handleMouseLeaveTooltip)\n }\n\n enabledEvents.forEach(({ event, listener }) => {\n anchorElements.forEach((anchor) => {\n anchor.addEventListener(event, listener)\n })\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 } else {\n updateTooltipCleanup?.()\n }\n if (actualGlobalCloseEvents.clickOutsideAnchor) {\n window.removeEventListener('click', handleClickOutsideAnchors)\n }\n if (actualGlobalCloseEvents.escape) {\n window.removeEventListener('keydown', handleEsc)\n }\n if (clickable && !hasClickEvent) {\n tooltipElement?.removeEventListener('mouseenter', handleMouseEnterTooltip)\n tooltipElement?.removeEventListener('mouseleave', handleMouseLeaveTooltip)\n }\n enabledEvents.forEach(({ event, listener }) => {\n anchorElements.forEach((anchor) => {\n anchor.removeEventListener(event, listener)\n })\n })\n }\n /**\n * rendered is also a dependency to ensure anchor observers are re-registered\n * since `tooltipRef` becomes stale after removing/adding the tooltip to the DOM\n */\n }, [\n activeAnchor,\n anchorElements,\n clickable,\n closeEvents,\n delayHide,\n delayShow,\n float,\n globalCloseEvents,\n handleHideTooltipDelayed,\n handleShow,\n handleShowTooltipDelayed,\n handleTooltipPosition,\n imperativeModeOnly,\n openEvents,\n openOnClick,\n setActiveAnchor,\n show,\n updateTooltipPosition,\n ])\n\n useEffect(() => {\n /**\n * TODO(V6): break down observer callback for clarity\n * - `handleAddedAnchors()`\n * - `handleRemovedAnchors()`\n */\n let selector = imperativeOptions?.anchorSelect ?? anchorSelect ?? ''\n if (!selector && id) {\n selector = `[data-tooltip-id='${id.replace(/'/g, \"\\\\'\")}']`\n }\n const documentObserverCallback: MutationCallback = (mutationList) => {\n const addedAnchors = new Set<HTMLElement>()\n const removedAnchors = new Set<HTMLElement>()\n mutationList.forEach((mutation) => {\n if (mutation.type === 'attributes' && mutation.attributeName === 'data-tooltip-id') {\n const target = mutation.target as HTMLElement\n const newId = target.getAttribute('data-tooltip-id')\n if (newId === id) {\n addedAnchors.add(target)\n } else if (mutation.oldValue === id) {\n // data-tooltip-id has now been changed, so we need to remove this anchor\n removedAnchors.add(target)\n }\n }\n if (mutation.type !== 'childList') {\n return\n }\n const removedNodes = [...mutation.removedNodes].filter((node) => node.nodeType === 1)\n if (activeAnchor) {\n removedNodes.some((node) => {\n /**\n * TODO(V6)\n * - isn't `!activeAnchor.isConnected` better?\n * - maybe move to `handleDisconnectedAnchor()`\n */\n if (node?.contains?.(activeAnchor)) {\n setRendered(false)\n handleShow(false)\n setActiveAnchor(null)\n if (tooltipShowDelayTimerRef.current) {\n clearTimeout(tooltipShowDelayTimerRef.current)\n }\n if (tooltipHideDelayTimerRef.current) {\n clearTimeout(tooltipHideDelayTimerRef.current)\n }\n return true\n }\n return false\n })\n }\n if (!selector) {\n return\n }\n try {\n removedNodes.forEach((node) => {\n const element = node as HTMLElement\n if (element.matches(selector)) {\n // the element itself is an anchor\n removedAnchors.add(element)\n } else {\n /**\n * TODO(V6): do we care if an element which is an anchor,\n * has children which are also anchors?\n * (i.e. should we remove `else` and always do this)\n */\n // the element has children which are anchors\n element\n .querySelectorAll<HTMLElement>(selector)\n .forEach((innerNode) => removedAnchors.add(innerNode))\n }\n })\n } catch {\n /* c8 ignore start */\n if (!process.env.NODE_ENV || process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.warn(`[react-tooltip] \"${selector}\" is not a valid CSS selector`)\n }\n /* c8 ignore end */\n }\n try {\n const addedNodes = [...mutation.addedNodes].filter((node) => node.nodeType === 1)\n addedNodes.forEach((node) => {\n const element = node as HTMLElement\n if (element.matches(selector)) {\n // the element itself is an anchor\n addedAnchors.add(element)\n } else {\n /**\n * TODO(V6): do we care if an element which is an anchor,\n * has children which are also anchors?\n * (i.e. should we remove `else` and always do this)\n */\n // the element has children which are anchors\n element\n .querySelectorAll<HTMLElement>(selector)\n .forEach((innerNode) => addedAnchors.add(innerNode))\n }\n })\n } catch {\n /* c8 ignore start */\n if (!process.env.NODE_ENV || process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.warn(`[react-tooltip] \"${selector}\" is not a valid CSS selector`)\n }\n /* c8 ignore end */\n }\n })\n if (addedAnchors.size || removedAnchors.size) {\n setAnchorElements((anchors) => [\n ...anchors.filter((anchor) => !removedAnchors.has(anchor)),\n ...addedAnchors,\n ])\n }\n }\n const documentObserver = new MutationObserver(documentObserverCallback)\n // watch for anchor being removed from the DOM\n documentObserver.observe(document.body, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['data-tooltip-id'],\n // to track the prev value if we need to remove anchor when data-tooltip-id gets changed\n attributeOldValue: true,\n })\n return () => {\n documentObserver.disconnect()\n }\n }, [id, anchorSelect, imperativeOptions?.anchorSelect, activeAnchor, handleShow, setActiveAnchor])\n\n useEffect(() => {\n updateTooltipPosition()\n }, [updateTooltipPosition])\n\n useEffect(() => {\n if (!contentWrapperRef?.current) {\n return () => null\n }\n const contentObserver = new ResizeObserver(() => {\n setTimeout(() => updateTooltipPosition())\n })\n contentObserver.observe(contentWrapperRef.current)\n return () => {\n contentObserver.disconnect()\n }\n }, [content, contentWrapperRef, updateTooltipPosition])\n\n useEffect(() => {\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 setActiveAnchor(anchorElements[0] ?? null)\n }\n }, [anchorElements, activeAnchor, setActiveAnchor])\n\n useEffect(() => {\n if (defaultIsOpen) {\n handleShow(true)\n }\n return () => {\n if (tooltipShowDelayTimerRef.current) {\n clearTimeout(tooltipShowDelayTimerRef.current)\n }\n if (tooltipHideDelayTimerRef.current) {\n clearTimeout(tooltipHideDelayTimerRef.current)\n }\n }\n }, [defaultIsOpen, handleShow])\n\n useEffect(() => {\n let selector = imperativeOptions?.anchorSelect ?? anchorSelect\n if (!selector && id) {\n selector = `[data-tooltip-id='${id.replace(/'/g, \"\\\\'\")}']`\n }\n if (!selector) {\n return\n }\n try {\n const anchors = Array.from(document.querySelectorAll<HTMLElement>(selector))\n setAnchorElements(anchors)\n } catch {\n // warning was already issued in the controller\n setAnchorElements([])\n }\n }, [id, anchorSelect, imperativeOptions?.anchorSelect])\n\n useEffect(() => {\n if (tooltipShowDelayTimerRef.current) {\n clearTimeout(tooltipShowDelayTimerRef.current)\n handleShowTooltipDelayed(delayShow)\n }\n }, [delayShow, handleShowTooltipDelayed])\n\n const actualContent = imperativeOptions?.content ?? content\n const canShow = show && Object.keys(computedPosition.tooltipStyles).length > 0\n\n useImperativeHandle(forwardRef, () => ({\n open: (options) => {\n if (options?.anchorSelect) {\n try {\n document.querySelector(options.anchorSelect)\n } catch {\n if (!process.env.NODE_ENV || process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.warn(`[react-tooltip] \"${options.anchorSelect}\" is not a valid CSS selector`)\n }\n return\n }\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 && actualContent && canShow),\n }))\n\n return rendered && !hidden && actualContent ? (\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 if (missedTransitionTimerRef.current) {\n clearTimeout(missedTransitionTimerRef.current)\n }\n if (show || event.propertyName !== 'opacity') {\n return\n }\n setRendered(false)\n setImperativeOptions(null)\n afterHide?.()\n }}\n style={{\n ...externalStyles,\n ...computedPosition.tooltipStyles,\n opacity: opacity !== undefined && canShow ? opacity : undefined,\n }}\n ref={tooltipRef}\n >\n {actualContent}\n <WrapperElement\n className={clsx(\n 'react-tooltip-arrow',\n coreStyles['arrow'],\n styles['arrow'],\n classNameArrow,\n noArrow && coreStyles['noArrow'],\n )}\n style={{\n ...computedPosition.tooltipArrowStyles,\n background: arrowColor\n ? `linear-gradient(to right bottom, transparent 50%, ${arrowColor} 50%)`\n : undefined,\n }}\n ref={tooltipArrowRef}\n />\n </WrapperElement>\n ) : null\n}\n\nexport default Tooltip\n","import React, { useCallback, useEffect, useRef, useState } from 'react'\nimport { Tooltip } from 'components/Tooltip'\nimport type {\n PositionStrategy,\n PlacesType,\n VariantType,\n WrapperType,\n DataAttribute,\n ITooltip,\n TooltipRefProps,\n} from 'components/Tooltip/TooltipTypes'\nimport { cssSupports } from 'utils'\nimport clsx from 'clsx'\nimport type { ITooltipController } from './TooltipControllerTypes'\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 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 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 setIsOpen,\n afterShow,\n afterHide,\n role = 'tooltip',\n }: ITooltipController,\n ref,\n ) => {\n const [tooltipContent, setTooltipContent] = useState(content)\n const [tooltipPlace, setTooltipPlace] = useState(place)\n const [tooltipVariant, setTooltipVariant] = useState(variant)\n const [tooltipOffset, setTooltipOffset] = useState(offset)\n const [tooltipDelayShow, setTooltipDelayShow] = useState(delayShow)\n const [tooltipDelayHide, setTooltipDelayHide] = useState(delayHide)\n const [tooltipFloat, setTooltipFloat] = useState(float)\n const [tooltipHidden, setTooltipHidden] = useState(hidden)\n const [tooltipWrapper, setTooltipWrapper] = useState<WrapperType>(wrapper)\n const [tooltipPositionStrategy, setTooltipPositionStrategy] = useState(positionStrategy)\n const [tooltipClassName, setTooltipClassName] = useState<string | null>(null)\n const [activeAnchor, setActiveAnchor] = useState<HTMLElement | null>(null)\n const styleInjectionRef = useRef(disableStyleInjection)\n\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\n const applyAllDataAttributesFromAnchorElement = useCallback(\n (dataAttributes: Record<string, string | null>) => {\n const handleDataAttributes: Record<DataAttribute, (value: string | null) => void> = {\n place: (value) => {\n setTooltipPlace((value as PlacesType) ?? place)\n },\n content: (value) => {\n setTooltipContent(value ?? content)\n },\n variant: (value) => {\n setTooltipVariant((value as VariantType) ?? variant)\n },\n offset: (value) => {\n setTooltipOffset(value === null ? offset : Number(value))\n },\n wrapper: (value) => {\n setTooltipWrapper((value as WrapperType) ?? wrapper)\n },\n 'position-strategy': (value) => {\n setTooltipPositionStrategy((value as PositionStrategy) ?? positionStrategy)\n },\n 'delay-show': (value) => {\n setTooltipDelayShow(value === null ? delayShow : Number(value))\n },\n 'delay-hide': (value) => {\n setTooltipDelayHide(value === null ? delayHide : Number(value))\n },\n float: (value) => {\n setTooltipFloat(value === null ? float : value === 'true')\n },\n hidden: (value) => {\n setTooltipHidden(value === null ? hidden : value === 'true')\n },\n 'class-name': (value) => {\n setTooltipClassName(value)\n },\n }\n // reset unset data attributes to default values\n // without this, data attributes from the last active anchor will still be used\n Object.values(handleDataAttributes).forEach((handler) => handler(null))\n Object.entries(dataAttributes).forEach(([key, value]) => {\n handleDataAttributes[key as DataAttribute]?.(value)\n })\n },\n [\n content,\n delayHide,\n delayShow,\n float,\n hidden,\n offset,\n place,\n positionStrategy,\n variant,\n wrapper,\n ],\n )\n\n useEffect(() => {\n setTooltipContent(content)\n }, [content])\n\n useEffect(() => {\n setTooltipPlace(place)\n }, [place])\n\n useEffect(() => {\n setTooltipVariant(variant)\n }, [variant])\n\n useEffect(() => {\n setTooltipOffset(offset)\n }, [offset])\n\n useEffect(() => {\n setTooltipDelayShow(delayShow)\n }, [delayShow])\n\n useEffect(() => {\n setTooltipDelayHide(delayHide)\n }, [delayHide])\n\n useEffect(() => {\n setTooltipFloat(float)\n }, [float])\n\n useEffect(() => {\n setTooltipHidden(hidden)\n }, [hidden])\n\n useEffect(() => {\n setTooltipPositionStrategy(positionStrategy)\n }, [positionStrategy])\n\n useEffect(() => {\n if (styleInjectionRef.current === disableStyleInjection) {\n return\n }\n /* c8 ignore start */\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\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 const observerCallback: MutationCallback = (mutationList) => {\n mutationList.forEach((mutation) => {\n if (\n !activeAnchor ||\n mutation.type !== 'attributes' ||\n !mutation.attributeName?.startsWith('data-tooltip-')\n ) {\n return\n }\n // make sure to get all set attributes, since all unset attributes are reset\n const dataAttributes = getDataAttributesFromAnchorElement(activeAnchor)\n applyAllDataAttributesFromAnchorElement(dataAttributes)\n })\n }\n\n // Create an observer instance linked to the callback function\n const observer = new MutationObserver(observerCallback)\n\n // do not check for subtree and childrens, we only want to know attribute changes\n // to stay watching `data-attributes-*` from anchor element\n const observerConfig = { attributes: true, childList: false, subtree: false }\n\n if (activeAnchor) {\n const dataAttributes = getDataAttributesFromAnchorElement(activeAnchor)\n applyAllDataAttributesFromAnchorElement(dataAttributes)\n // Start observing the target node for configured mutations\n observer.observe(activeAnchor, observerConfig)\n }\n\n return () => {\n // Remove the observer when the tooltip is destroyed\n observer.disconnect()\n }\n }, [activeAnchor, anchorSelect, applyAllDataAttributesFromAnchorElement])\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 // eslint-disable-next-line no-console\n console.warn('[react-tooltip] Do not set `style.border`. Use `border` prop instead.')\n }\n if (border && !cssSupports('border', `${border}`)) {\n // eslint-disable-next-line no-console\n console.warn(`[react-tooltip] \"${border}\" is not a valid \\`border\\`.`)\n }\n if (style?.opacity) {\n // eslint-disable-next-line no-console\n console.warn('[react-tooltip] Do not set `style.opacity`. Use `opacity` prop instead.')\n }\n if (opacity && !cssSupports('opacity', `${opacity}`)) {\n // eslint-disable-next-line no-console\n console.warn(`[react-tooltip] \"${opacity}\" is not a valid \\`opacity\\`.`)\n }\n }, [border, opacity, style?.border, style?.opacity])\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 let renderedContent = children\n const contentWrapperRef = useRef<HTMLDivElement>(null)\n if (render) {\n const actualContent =\n activeAnchor?.getAttribute('data-tooltip-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) {\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 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 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 setIsOpen,\n afterShow,\n afterHide,\n activeAnchor,\n setActiveAnchor,\n role,\n }\n\n return <Tooltip {...props} />\n },\n)\n\nexport default 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":["offset","flip","shift","arrow","computePosition","useLayoutEffect","useEffect","useRef","useState","useCallback","autoUpdate","useImperativeHandle"],"mappings":"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"}
|
|
@@ -4,5 +4,6 @@
|
|
|
4
4
|
* @copyright ReactTooltip Team
|
|
5
5
|
* @license MIT
|
|
6
6
|
*/
|
|
7
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("@floating-ui/dom"),require("classnames")):"function"==typeof define&&define.amd?define(["exports","react","@floating-ui/dom","classnames"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ReactTooltip={},e.React,e.FloatingUIDOM,e.classNames)}(this,(function(e,t,o,r){"use strict";function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=l(t),c=l(r);const s="react-tooltip-core-styles",i="react-tooltip-base-styles",a={core:!1,base:!1};function u({css:e,id:t=i,type:o="base",ref:r}){var l,n;if(!e||"undefined"==typeof document||a[o])return;if("core"===o&&"undefined"!=typeof process&&(null===(l=null===process||void 0===process?void 0:process.env)||void 0===l?void 0:l.REACT_TOOLTIP_DISABLE_CORE_STYLES))return;if("base"!==o&&"undefined"!=typeof process&&(null===(n=null===process||void 0===process?void 0:process.env)||void 0===n?void 0:n.REACT_TOOLTIP_DISABLE_BASE_STYLES))return;"core"===o&&(t=s),r||(r={});const{insertAt:c}=r;if(document.getElementById(t))return void console.warn(`[react-tooltip] Element with id '${t}' already exists. Call \`removeStyle()\` first`);const u=document.head||document.getElementsByTagName("head")[0],d=document.createElement("style");d.id=t,d.type="text/css","top"===c&&u.firstChild?u.insertBefore(d,u.firstChild):u.appendChild(d),d.styleSheet?d.styleSheet.cssText=e:d.appendChild(document.createTextNode(e)),a[o]=!0}const d=async({elementReference:e=null,tooltipReference:t=null,tooltipArrowReference:r=null,place:l="top",offset:n=10,strategy:c="absolute",middlewares:s=[o.offset(Number(n)),o.flip({fallbackAxisSideDirection:"start"}),o.shift({padding:5})],border:i})=>{if(!e)return{tooltipStyles:{},tooltipArrowStyles:{},place:l};if(null===t)return{tooltipStyles:{},tooltipArrowStyles:{},place:l};const a=s;return r?(a.push(o.arrow({element:r,padding:5})),o.computePosition(e,t,{placement:l,strategy:c,middleware:a}).then((({x:e,y:t,placement:o,middlewareData:r})=>{var l,n;const c={left:`${e}px`,top:`${t}px`,border:i},{x:s,y:a}=null!==(l=r.arrow)&&void 0!==l?l:{x:0,y:0},u=null!==(n={top:"bottom",right:"left",bottom:"top",left:"right"}[o.split("-")[0]])&&void 0!==n?n:"bottom",d=i&&{borderBottom:i,borderRight:i};let p=0;if(i){const e=`${i}`.match(/(\d+)px/);p=(null==e?void 0:e[1])?Number(e[1]):1}return{tooltipStyles:c,tooltipArrowStyles:{left:null!=s?`${s}px`:"",top:null!=a?`${a}px`:"",right:"",bottom:"",...d,[u]:`-${4+p}px`},place:o}}))):o.computePosition(e,t,{placement:"bottom",strategy:c,middleware:a}).then((({x:e,y:t,placement:o})=>({tooltipStyles:{left:`${e}px`,top:`${t}px`},tooltipArrowStyles:{},place:o})))},p=(e,t)=>!("CSS"in window&&"supports"in window.CSS)||window.CSS.supports(e,t),f=(e,t,o)=>{let r=null;const l=function(...l){const n=()=>{r=null,o||e.apply(this,l)};o&&!r&&(e.apply(this,l),r=setTimeout(n,t)),o||(r&&clearTimeout(r),r=setTimeout(n,t))};return l.cancel=()=>{r&&(clearTimeout(r),r=null)},l},v=e=>null!==e&&!Array.isArray(e)&&"object"==typeof e,m=(e,t)=>{if(e===t)return!0;if(Array.isArray(e)&&Array.isArray(t))return e.length===t.length&&e.every(((e,o)=>m(e,t[o])));if(Array.isArray(e)!==Array.isArray(t))return!1;if(!v(e)||!v(t))return e===t;const o=Object.keys(e),r=Object.keys(t);return o.length===r.length&&o.every((o=>m(e[o],t[o])))},y=e=>{if(!(e instanceof HTMLElement||e instanceof SVGElement))return!1;const t=getComputedStyle(e);return["overflow","overflow-x","overflow-y"].some((e=>{const o=t.getPropertyValue(e);return"auto"===o||"scroll"===o}))},h=e=>{if(!e)return null;let t=e.parentElement;for(;t;){if(y(t))return t;t=t.parentElement}return document.scrollingElement||document.documentElement},w="undefined"!=typeof window?t.useLayoutEffect:t.useEffect,S="DEFAULT_TOOLTIP_ID",b={anchorRefs:new Set,activeAnchor:{current:null},attach:()=>{},detach:()=>{},setActiveAnchor:()=>{}},E={getTooltipData:()=>b},g=t.createContext(E);function A(e=S){return t.useContext(g).getTooltipData(e)}var _={tooltip:"core-styles-module_tooltip__3vRRp",fixed:"core-styles-module_fixed__pcSol",arrow:"core-styles-module_arrow__cvMwQ",noArrow:"core-styles-module_noArrow__xock6",clickable:"core-styles-module_clickable__ZuTTB",show:"core-styles-module_show__Nt9eE",closing:"core-styles-module_closing__sGnxF"},T={tooltip:"styles-module_tooltip__mnnfp",arrow:"styles-module_arrow__K0L3T",dark:"styles-module_dark__xNqje",light:"styles-module_light__Z6W-X",success:"styles-module_success__A2AKt",warning:"styles-module_warning__SCK0X",error:"styles-module_error__JvumD",info:"styles-module_info__BWdHW"};const O=({forwardRef:e,id:r,className:l,classNameArrow:s,variant:i="dark",anchorId:a,anchorSelect:u,place:p="top",offset:v=10,events:y=["hover"],openOnClick:S=!1,positionStrategy:b="absolute",middlewares:E,wrapper:g,delayShow:O=0,delayHide:R=0,float:k=!1,hidden:C=!1,noArrow:L=!1,clickable:x=!1,closeOnEsc:N=!1,closeOnScroll:$=!1,closeOnResize:I=!1,openEvents:j,closeEvents:B,globalCloseEvents:D,imperativeModeOnly:q,style:z,position:M,afterShow:H,afterHide:P,content:W,contentWrapperRef:F,isOpen:U,defaultIsOpen:V=!1,setIsOpen:K,activeAnchor:X,setActiveAnchor:Y,border:G,opacity:Z,arrowColor:J,role:Q="tooltip"})=>{var ee;const te=t.useRef(null),oe=t.useRef(null),re=t.useRef(null),le=t.useRef(null),ne=t.useRef(null),[ce,se]=t.useState({tooltipStyles:{},tooltipArrowStyles:{},place:p}),[ie,ae]=t.useState(!1),[ue,de]=t.useState(!1),[pe,fe]=t.useState(null),ve=t.useRef(!1),me=t.useRef(null),{anchorRefs:ye,setActiveAnchor:he}=A(r),we=t.useRef(!1),[Se,be]=t.useState([]),Ee=t.useRef(!1),ge=S||y.includes("click"),Ae=ge||(null==j?void 0:j.click)||(null==j?void 0:j.dblclick)||(null==j?void 0:j.mousedown),_e=j?{...j}:{mouseenter:!0,focus:!0,click:!1,dblclick:!1,mousedown:!1};!j&&ge&&Object.assign(_e,{mouseenter:!1,focus:!1,click:!0});const Te=B?{...B}:{mouseleave:!0,blur:!0,click:!1,dblclick:!1,mouseup:!1};!B&&ge&&Object.assign(Te,{mouseleave:!1,blur:!1});const Oe=D?{...D}:{escape:N||!1,scroll:$||!1,resize:I||!1,clickOutsideAnchor:Ae||!1};q&&(Object.assign(_e,{mouseenter:!1,focus:!1,click:!1,dblclick:!1,mousedown:!1}),Object.assign(Te,{mouseleave:!1,blur:!1,click:!1,dblclick:!1,mouseup:!1}),Object.assign(Oe,{escape:!1,scroll:!1,resize:!1,clickOutsideAnchor:!1})),w((()=>(Ee.current=!0,()=>{Ee.current=!1})),[]);const Re=e=>{Ee.current&&(e&&de(!0),setTimeout((()=>{Ee.current&&(null==K||K(e),void 0===U&&ae(e))}),10))};t.useEffect((()=>{if(void 0===U)return()=>null;U&&de(!0);const e=setTimeout((()=>{ae(U)}),10);return()=>{clearTimeout(e)}}),[U]),t.useEffect((()=>{if(ie!==ve.current)if(ne.current&&clearTimeout(ne.current),ve.current=ie,ie)null==H||H();else{const e=(e=>{const t=e.match(/^([\d.]+)(ms|s)$/);if(!t)return 0;const[,o,r]=t;return Number(o)*("ms"===r?1:1e3)})(getComputedStyle(document.body).getPropertyValue("--rt-transition-show-delay"));ne.current=setTimeout((()=>{de(!1),fe(null),null==P||P()}),e+25)}}),[ie]);const ke=e=>{se((t=>m(t,e)?t:e))},Ce=(e=O)=>{re.current&&clearTimeout(re.current),ue?Re(!0):re.current=setTimeout((()=>{Re(!0)}),e)},Le=(e=R)=>{le.current&&clearTimeout(le.current),le.current=setTimeout((()=>{we.current||Re(!1)}),e)},xe=e=>{var t;if(!e)return;const o=null!==(t=e.currentTarget)&&void 0!==t?t:e.target;if(!(null==o?void 0:o.isConnected))return Y(null),void he({current:null});O?Ce():Re(!0),Y(o),he({current:o}),le.current&&clearTimeout(le.current)},Ne=()=>{x?Le(R||100):R?Le():Re(!1),re.current&&clearTimeout(re.current)},$e=({x:e,y:t})=>{var o;const r={getBoundingClientRect:()=>({x:e,y:t,width:0,height:0,top:t,left:e,right:e,bottom:t})};d({place:null!==(o=null==pe?void 0:pe.place)&&void 0!==o?o:p,offset:v,elementReference:r,tooltipReference:te.current,tooltipArrowReference:oe.current,strategy:b,middlewares:E,border:G}).then((e=>{ke(e)}))},Ie=e=>{if(!e)return;const t=e,o={x:t.clientX,y:t.clientY};$e(o),me.current=o},je=e=>{var t;if(!ie)return;const o=e.target;if(!o.isConnected)return;if(null===(t=te.current)||void 0===t?void 0:t.contains(o))return;[document.querySelector(`[id='${a}']`),...Se].some((e=>null==e?void 0:e.contains(o)))||(Re(!1),re.current&&clearTimeout(re.current))},Be=f(xe,50,!0),De=f(Ne,50,!0),qe=e=>{De.cancel(),Be(e)},ze=()=>{Be.cancel(),De()},Me=t.useCallback((()=>{var e,t;const o=null!==(e=null==pe?void 0:pe.position)&&void 0!==e?e:M;o?$e(o):k?me.current&&$e(me.current):(null==X?void 0:X.isConnected)&&d({place:null!==(t=null==pe?void 0:pe.place)&&void 0!==t?t:p,offset:v,elementReference:X,tooltipReference:te.current,tooltipArrowReference:oe.current,strategy:b,middlewares:E,border:G}).then((e=>{Ee.current&&ke(e)}))}),[ie,X,W,z,p,null==pe?void 0:pe.place,v,b,M,null==pe?void 0:pe.position,k]);t.useEffect((()=>{var e,t;const r=new Set(ye);Se.forEach((e=>{r.add({current:e})}));const l=document.querySelector(`[id='${a}']`);l&&r.add({current:l});const n=()=>{Re(!1)},c=h(X),s=h(te.current);Oe.scroll&&(window.addEventListener("scroll",n),null==c||c.addEventListener("scroll",n),null==s||s.addEventListener("scroll",n));let i=null;Oe.resize?window.addEventListener("resize",n):X&&te.current&&(i=o.autoUpdate(X,te.current,Me,{ancestorResize:!0,elementResize:!0,layoutShift:!0}));const u=e=>{"Escape"===e.key&&Re(!1)};Oe.escape&&window.addEventListener("keydown",u),Oe.clickOutsideAnchor&&window.addEventListener("click",je);const d=[],p=e=>{ie&&(null==e?void 0:e.target)===X||xe(e)},f=e=>{ie&&(null==e?void 0:e.target)===X&&Ne()},v=["mouseenter","mouseleave","focus","blur"],m=["click","dblclick","mousedown","mouseup"];Object.entries(_e).forEach((([e,t])=>{t&&(v.includes(e)?d.push({event:e,listener:qe}):m.includes(e)&&d.push({event:e,listener:p}))})),Object.entries(Te).forEach((([e,t])=>{t&&(v.includes(e)?d.push({event:e,listener:ze}):m.includes(e)&&d.push({event:e,listener:f}))})),k&&d.push({event:"pointermove",listener:Ie});const y=()=>{we.current=!0},w=()=>{we.current=!1,Ne()};return x&&!Ae&&(null===(e=te.current)||void 0===e||e.addEventListener("mouseenter",y),null===(t=te.current)||void 0===t||t.addEventListener("mouseleave",w)),d.forEach((({event:e,listener:t})=>{r.forEach((o=>{var r;null===(r=o.current)||void 0===r||r.addEventListener(e,t)}))})),()=>{var e,t;Oe.scroll&&(window.removeEventListener("scroll",n),null==c||c.removeEventListener("scroll",n),null==s||s.removeEventListener("scroll",n)),Oe.resize?window.removeEventListener("resize",n):null==i||i(),Oe.clickOutsideAnchor&&window.removeEventListener("click",je),Oe.escape&&window.removeEventListener("keydown",u),x&&!Ae&&(null===(e=te.current)||void 0===e||e.removeEventListener("mouseenter",y),null===(t=te.current)||void 0===t||t.removeEventListener("mouseleave",w)),d.forEach((({event:e,listener:t})=>{r.forEach((o=>{var r;null===(r=o.current)||void 0===r||r.removeEventListener(e,t)}))}))}}),[X,Me,ue,ye,Se,j,B,D,ge,O,R]),t.useEffect((()=>{var e,t;let o=null!==(t=null!==(e=null==pe?void 0:pe.anchorSelect)&&void 0!==e?e:u)&&void 0!==t?t:"";!o&&r&&(o=`[data-tooltip-id='${r.replace(/'/g,"\\'")}']`);const l=new MutationObserver((e=>{const t=[],l=[];e.forEach((e=>{if("attributes"===e.type&&"data-tooltip-id"===e.attributeName){e.target.getAttribute("data-tooltip-id")===r?t.push(e.target):e.oldValue===r&&l.push(e.target)}if("childList"===e.type){if(X){const t=[...e.removedNodes].filter((e=>1===e.nodeType));if(o)try{l.push(...t.filter((e=>e.matches(o)))),l.push(...t.flatMap((e=>[...e.querySelectorAll(o)])))}catch(e){}t.some((e=>{var t;return!!(null===(t=null==e?void 0:e.contains)||void 0===t?void 0:t.call(e,X))&&(de(!1),Re(!1),Y(null),re.current&&clearTimeout(re.current),le.current&&clearTimeout(le.current),!0)}))}if(o)try{const r=[...e.addedNodes].filter((e=>1===e.nodeType));t.push(...r.filter((e=>e.matches(o)))),t.push(...r.flatMap((e=>[...e.querySelectorAll(o)])))}catch(e){}}})),(t.length||l.length)&&be((e=>[...e.filter((e=>!l.includes(e))),...t]))}));return l.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-tooltip-id"],attributeOldValue:!0}),()=>{l.disconnect()}}),[r,u,null==pe?void 0:pe.anchorSelect,X]),t.useEffect((()=>{Me()}),[Me]),t.useEffect((()=>{if(!(null==F?void 0:F.current))return()=>null;const e=new ResizeObserver((()=>{setTimeout((()=>Me()))}));return e.observe(F.current),()=>{e.disconnect()}}),[W,null==F?void 0:F.current]),t.useEffect((()=>{var e;const t=document.querySelector(`[id='${a}']`),o=[...Se,t];X&&o.includes(X)||Y(null!==(e=Se[0])&&void 0!==e?e:t)}),[a,Se,X]),t.useEffect((()=>(V&&Re(!0),()=>{re.current&&clearTimeout(re.current),le.current&&clearTimeout(le.current)})),[]),t.useEffect((()=>{var e;let t=null!==(e=null==pe?void 0:pe.anchorSelect)&&void 0!==e?e:u;if(!t&&r&&(t=`[data-tooltip-id='${r.replace(/'/g,"\\'")}']`),t)try{const e=Array.from(document.querySelectorAll(t));be(e)}catch(e){be([])}}),[r,u,null==pe?void 0:pe.anchorSelect]),t.useEffect((()=>{re.current&&(clearTimeout(re.current),Ce(O))}),[O]);const He=null!==(ee=null==pe?void 0:pe.content)&&void 0!==ee?ee:W,Pe=ie&&Object.keys(ce.tooltipStyles).length>0;return t.useImperativeHandle(e,(()=>({open:e=>{if(null==e?void 0:e.anchorSelect)try{document.querySelector(e.anchorSelect)}catch(t){return void console.warn(`[react-tooltip] "${e.anchorSelect}" is not a valid CSS selector`)}fe(null!=e?e:null),(null==e?void 0:e.delay)?Ce(e.delay):Re(!0)},close:e=>{(null==e?void 0:e.delay)?Le(e.delay):Re(!1)},activeAnchor:X,place:ce.place,isOpen:Boolean(ue&&!C&&He&&Pe)}))),ue&&!C&&He?n.default.createElement(g,{id:r,role:Q,className:c.default("react-tooltip",_.tooltip,T.tooltip,T[i],l,`react-tooltip__place-${ce.place}`,_[Pe?"show":"closing"],Pe?"react-tooltip__show":"react-tooltip__closing","fixed"===b&&_.fixed,x&&_.clickable),onTransitionEnd:e=>{ne.current&&clearTimeout(ne.current),ie||"opacity"!==e.propertyName||(de(!1),fe(null),null==P||P())},style:{...z,...ce.tooltipStyles,opacity:void 0!==Z&&Pe?Z:void 0},ref:te},He,n.default.createElement(g,{className:c.default("react-tooltip-arrow",_.arrow,T.arrow,s,L&&_.noArrow),style:{...ce.tooltipArrowStyles,background:J?`linear-gradient(to right bottom, transparent 50%, ${J} 50%)`:void 0},ref:oe})):null},R=({content:e})=>n.default.createElement("span",{dangerouslySetInnerHTML:{__html:e}}),k=n.default.forwardRef((({id:e,anchorId:o,anchorSelect:r,content:l,html:s,render:i,className:a,classNameArrow:u,variant:d="dark",place:f="top",offset:v=10,wrapper:m="div",children:y=null,events:h=["hover"],openOnClick:w=!1,positionStrategy:S="absolute",middlewares:b,delayShow:E=0,delayHide:g=0,float:_=!1,hidden:T=!1,noArrow:k=!1,clickable:C=!1,closeOnEsc:L=!1,closeOnScroll:x=!1,closeOnResize:N=!1,openEvents:$,closeEvents:I,globalCloseEvents:j,imperativeModeOnly:B=!1,style:D,position:q,isOpen:z,defaultIsOpen:M=!1,disableStyleInjection:H=!1,border:P,opacity:W,arrowColor:F,setIsOpen:U,afterShow:V,afterHide:K,role:X="tooltip"},Y)=>{const[G,Z]=t.useState(l),[J,Q]=t.useState(s),[ee,te]=t.useState(f),[oe,re]=t.useState(d),[le,ne]=t.useState(v),[ce,se]=t.useState(E),[ie,ae]=t.useState(g),[ue,de]=t.useState(_),[pe,fe]=t.useState(T),[ve,me]=t.useState(m),[ye,he]=t.useState(h),[we,Se]=t.useState(S),[be,Ee]=t.useState(null),[ge,Ae]=t.useState(null),_e=t.useRef(H),{anchorRefs:Te,activeAnchor:Oe}=A(e),Re=e=>null==e?void 0:e.getAttributeNames().reduce(((t,o)=>{var r;if(o.startsWith("data-tooltip-")){t[o.replace(/^data-tooltip-/,"")]=null!==(r=null==e?void 0:e.getAttribute(o))&&void 0!==r?r:null}return t}),{}),ke=e=>{const t={place:e=>{var t;te(null!==(t=e)&&void 0!==t?t:f)},content:e=>{Z(null!=e?e:l)},html:e=>{Q(null!=e?e:s)},variant:e=>{var t;re(null!==(t=e)&&void 0!==t?t:d)},offset:e=>{ne(null===e?v:Number(e))},wrapper:e=>{var t;me(null!==(t=e)&&void 0!==t?t:m)},events:e=>{const t=null==e?void 0:e.split(" ");he(null!=t?t:h)},"position-strategy":e=>{var t;Se(null!==(t=e)&&void 0!==t?t:S)},"delay-show":e=>{se(null===e?E:Number(e))},"delay-hide":e=>{ae(null===e?g:Number(e))},float:e=>{de(null===e?_:"true"===e)},hidden:e=>{fe(null===e?T:"true"===e)},"class-name":e=>{Ee(e)}};Object.values(t).forEach((e=>e(null))),Object.entries(e).forEach((([e,o])=>{var r;null===(r=t[e])||void 0===r||r.call(t,o)}))};t.useEffect((()=>{Z(l)}),[l]),t.useEffect((()=>{Q(s)}),[s]),t.useEffect((()=>{te(f)}),[f]),t.useEffect((()=>{re(d)}),[d]),t.useEffect((()=>{ne(v)}),[v]),t.useEffect((()=>{se(E)}),[E]),t.useEffect((()=>{ae(g)}),[g]),t.useEffect((()=>{de(_)}),[_]),t.useEffect((()=>{fe(T)}),[T]),t.useEffect((()=>{Se(S)}),[S]),t.useEffect((()=>{_e.current!==H&&console.warn("[react-tooltip] Do not change `disableStyleInjection` dynamically.")}),[H]),t.useEffect((()=>{"undefined"!=typeof window&&window.dispatchEvent(new CustomEvent("react-tooltip-inject-styles",{detail:{disableCore:"core"===H,disableBase:H}}))}),[]),t.useEffect((()=>{var t;const l=new Set(Te);let n=r;if(!n&&e&&(n=`[data-tooltip-id='${e.replace(/'/g,"\\'")}']`),n)try{document.querySelectorAll(n).forEach((e=>{l.add({current:e})}))}catch(e){console.warn(`[react-tooltip] "${n}" is not a valid CSS selector`)}const c=document.querySelector(`[id='${o}']`);if(c&&l.add({current:c}),!l.size)return()=>null;const s=null!==(t=null!=ge?ge:c)&&void 0!==t?t:Oe.current,i=new MutationObserver((e=>{e.forEach((e=>{var t;if(!s||"attributes"!==e.type||!(null===(t=e.attributeName)||void 0===t?void 0:t.startsWith("data-tooltip-")))return;const o=Re(s);ke(o)}))})),a={attributes:!0,childList:!1,subtree:!1};if(s){const e=Re(s);ke(e),i.observe(s,a)}return()=>{i.disconnect()}}),[Te,Oe,ge,o,r]),t.useEffect((()=>{(null==D?void 0:D.border)&&console.warn("[react-tooltip] Do not set `style.border`. Use `border` prop instead."),P&&!p("border",`${P}`)&&console.warn(`[react-tooltip] "${P}" is not a valid \`border\`.`),(null==D?void 0:D.opacity)&&console.warn("[react-tooltip] Do not set `style.opacity`. Use `opacity` prop instead."),W&&!p("opacity",`${W}`)&&console.warn(`[react-tooltip] "${W}" is not a valid \`opacity\`.`)}),[]);let Ce=y;const Le=t.useRef(null);if(i){const e=i({content:(null==ge?void 0:ge.getAttribute("data-tooltip-content"))||G||null,activeAnchor:ge});Ce=e?n.default.createElement("div",{ref:Le,className:"react-tooltip-content-wrapper"},e):null}else G&&(Ce=G);J&&(Ce=n.default.createElement(R,{content:J}));const xe={forwardRef:Y,id:e,anchorId:o,anchorSelect:r,className:c.default(a,be),classNameArrow:u,content:Ce,contentWrapperRef:Le,place:ee,variant:oe,offset:le,wrapper:ve,events:ye,openOnClick:w,positionStrategy:we,middlewares:b,delayShow:ce,delayHide:ie,float:ue,hidden:pe,noArrow:k,clickable:C,closeOnEsc:L,closeOnScroll:x,closeOnResize:N,openEvents:$,closeEvents:I,globalCloseEvents:j,imperativeModeOnly:B,style:D,position:q,isOpen:z,defaultIsOpen:M,border:P,opacity:W,arrowColor:F,setIsOpen:U,afterShow:V,afterHide:K,activeAnchor:ge,setActiveAnchor:e=>Ae(e),role:X};return n.default.createElement(O,{...xe})}));"undefined"!=typeof window&&window.addEventListener("react-tooltip-inject-styles",(e=>{e.detail.disableCore||u({css:`:root{--rt-color-white:#fff;--rt-color-dark:#222;--rt-color-success:#8dc572;--rt-color-error:#be6464;--rt-color-warning:#f0ad4e;--rt-color-info:#337ab7;--rt-opacity:0.9;--rt-transition-show-delay:0.15s;--rt-transition-closing-delay:0.15s}.core-styles-module_tooltip__3vRRp{position:absolute;top:0;left:0;pointer-events:none;opacity:0;will-change:opacity}.core-styles-module_fixed__pcSol{position:fixed}.core-styles-module_arrow__cvMwQ{position:absolute;background:inherit}.core-styles-module_noArrow__xock6{display:none}.core-styles-module_clickable__ZuTTB{pointer-events:auto}.core-styles-module_show__Nt9eE{opacity:var(--rt-opacity);transition:opacity var(--rt-transition-show-delay)ease-out}.core-styles-module_closing__sGnxF{opacity:0;transition:opacity var(--rt-transition-closing-delay)ease-in}`,type:"core"}),e.detail.disableBase||u({css:`
|
|
8
|
-
.styles-module_tooltip__mnnfp{padding:8px 16px;border-radius:3px;font-size:90%;width:max-content}.styles-module_arrow__K0L3T{width:8px;height:8px}[class*='react-tooltip__place-top']>.styles-module_arrow__K0L3T{transform:rotate(45deg)}[class*='react-tooltip__place-right']>.styles-module_arrow__K0L3T{transform:rotate(135deg)}[class*='react-tooltip__place-bottom']>.styles-module_arrow__K0L3T{transform:rotate(225deg)}[class*='react-tooltip__place-left']>.styles-module_arrow__K0L3T{transform:rotate(315deg)}.styles-module_dark__xNqje{background:var(--rt-color-dark);color:var(--rt-color-white)}.styles-module_light__Z6W-X{background-color:var(--rt-color-white);color:var(--rt-color-dark)}.styles-module_success__A2AKt{background-color:var(--rt-color-success);color:var(--rt-color-white)}.styles-module_warning__SCK0X{background-color:var(--rt-color-warning);color:var(--rt-color-white)}.styles-module_error__JvumD{background-color:var(--rt-color-error);color:var(--rt-color-white)}.styles-module_info__BWdHW{background-color:var(--rt-color-info);color:var(--rt-color-white)}`,type:"base"})})),e.Tooltip=
|
|
7
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("@floating-ui/dom"),require("clsx")):"function"==typeof define&&define.amd?define(["exports","react","@floating-ui/dom","clsx"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ReactTooltip={},e.React,e.FloatingUIDOM,e.clsx)}(this,(function(e,t,o,l){"use strict";const r={core:!1,base:!1};function n({css:e,id:t="react-tooltip-base-styles",type:o="base",ref:l}){var n,s;if(!e||"undefined"==typeof document||r[o])return;if("core"===o&&"undefined"!=typeof process&&(null===(n=null===process||void 0===process?void 0:process.env)||void 0===n?void 0:n.REACT_TOOLTIP_DISABLE_CORE_STYLES))return;if("base"!==o&&"undefined"!=typeof process&&(null===(s=null===process||void 0===process?void 0:process.env)||void 0===s?void 0:s.REACT_TOOLTIP_DISABLE_BASE_STYLES))return;"core"===o&&(t="react-tooltip-core-styles"),l||(l={});const{insertAt:c}=l;if(document.getElementById(t))return void console.warn(`[react-tooltip] Element with id '${t}' already exists. Call \`removeStyle()\` first`);const i=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.id=t,a.type="text/css","top"===c&&i.firstChild?i.insertBefore(a,i.firstChild):i.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e)),r[o]=!0}const s=async({elementReference:e=null,tooltipReference:t=null,tooltipArrowReference:l=null,place:r="top",offset:n=10,strategy:s="absolute",middlewares:c=[o.offset(Number(n)),o.flip({fallbackAxisSideDirection:"start"}),o.shift({padding:5})],border:i})=>{if(!e)return{tooltipStyles:{},tooltipArrowStyles:{},place:r};if(null===t)return{tooltipStyles:{},tooltipArrowStyles:{},place:r};const a=c;return l?(a.push(o.arrow({element:l,padding:5})),o.computePosition(e,t,{placement:r,strategy:s,middleware:a}).then((({x:e,y:t,placement:o,middlewareData:l})=>{var r,n;const s={left:`${e}px`,top:`${t}px`,border:i},{x:c,y:a}=null!==(r=l.arrow)&&void 0!==r?r:{x:0,y:0},u=null!==(n={top:"bottom",right:"left",bottom:"top",left:"right"}[o.split("-")[0]])&&void 0!==n?n:"bottom",d=i&&{borderBottom:i,borderRight:i};let p=0;if(i){const e=`${i}`.match(/(\d+)px/);p=(null==e?void 0:e[1])?Number(e[1]):1}return{tooltipStyles:s,tooltipArrowStyles:{left:null!=c?`${c}px`:"",top:null!=a?`${a}px`:"",right:"",bottom:"",...d,[u]:`-${4+p}px`},place:o}}))):o.computePosition(e,t,{placement:"bottom",strategy:s,middleware:a}).then((({x:e,y:t,placement:o})=>({tooltipStyles:{left:`${e}px`,top:`${t}px`},tooltipArrowStyles:{},place:o})))},c=(e,t)=>!("CSS"in window&&"supports"in window.CSS)||window.CSS.supports(e,t),i=(e,t,o)=>{let l=null;const r=function(...r){const n=()=>{l=null,o||e.apply(this,r)};o&&!l&&(e.apply(this,r),l=setTimeout(n,t)),o||(l&&clearTimeout(l),l=setTimeout(n,t))};return r.cancel=()=>{l&&(clearTimeout(l),l=null)},r},a=e=>null!==e&&!Array.isArray(e)&&"object"==typeof e,u=(e,t)=>{if(e===t)return!0;if(Array.isArray(e)&&Array.isArray(t))return e.length===t.length&&e.every(((e,o)=>u(e,t[o])));if(Array.isArray(e)!==Array.isArray(t))return!1;if(!a(e)||!a(t))return e===t;const o=Object.keys(e),l=Object.keys(t);return o.length===l.length&&o.every((o=>u(e[o],t[o])))},d=e=>{if(!(e instanceof HTMLElement||e instanceof SVGElement))return!1;const t=getComputedStyle(e);return["overflow","overflow-x","overflow-y"].some((e=>{const o=t.getPropertyValue(e);return"auto"===o||"scroll"===o}))},p=e=>{if(!e)return null;let t=e.parentElement;for(;t;){if(d(t))return t;t=t.parentElement}return document.scrollingElement||document.documentElement},f="undefined"!=typeof window?t.useLayoutEffect:t.useEffect;var v={tooltip:"core-styles-module_tooltip__3vRRp",fixed:"core-styles-module_fixed__pcSol",arrow:"core-styles-module_arrow__cvMwQ",noArrow:"core-styles-module_noArrow__xock6",clickable:"core-styles-module_clickable__ZuTTB",show:"core-styles-module_show__Nt9eE",closing:"core-styles-module_closing__sGnxF"},m={tooltip:"styles-module_tooltip__mnnfp",arrow:"styles-module_arrow__K0L3T",dark:"styles-module_dark__xNqje",light:"styles-module_light__Z6W-X",success:"styles-module_success__A2AKt",warning:"styles-module_warning__SCK0X",error:"styles-module_error__JvumD",info:"styles-module_info__BWdHW"};const y=({forwardRef:e,id:r,className:n,classNameArrow:c,variant:a="dark",anchorSelect:d,place:y="top",offset:w=10,openOnClick:h=!1,positionStrategy:b="absolute",middlewares:E,wrapper:S,delayShow:g=0,delayHide:_=0,float:A=!1,hidden:k=!1,noArrow:T=!1,clickable:O=!1,openEvents:C,closeEvents:R,globalCloseEvents:x,imperativeModeOnly:L,style:N,position:$,afterShow:j,afterHide:I,content:B,contentWrapperRef:z,isOpen:D,defaultIsOpen:H=!1,setIsOpen:q,activeAnchor:M,setActiveAnchor:W,border:P,opacity:V,arrowColor:U,role:F="tooltip"})=>{var K;const X=t.useRef(null),Y=t.useRef(null),G=t.useRef(null),Z=t.useRef(null),J=t.useRef(null),[Q,ee]=t.useState({tooltipStyles:{},tooltipArrowStyles:{},place:y}),[te,oe]=t.useState(!1),[le,re]=t.useState(!1),[ne,se]=t.useState(null),ce=t.useRef(!1),ie=t.useRef(null),ae=t.useRef(!1),[ue,de]=t.useState([]),pe=t.useRef(!1);f((()=>(pe.current=!0,()=>{pe.current=!1})),[]);const fe=t.useCallback((e=>{pe.current&&(e&&re(!0),setTimeout((()=>{pe.current&&(null==q||q(e),void 0===D&&oe(e))}),10))}),[D,q]);t.useEffect((()=>{if(void 0===D)return()=>null;D&&re(!0);const e=setTimeout((()=>{oe(D)}),10);return()=>{clearTimeout(e)}}),[D]),t.useEffect((()=>{if(te!==ce.current)if(J.current&&clearTimeout(J.current),ce.current=te,te)null==j||j();else{const e=(e=>{const t=e.match(/^([\d.]+)(m?s)$/);if(!t)return 0;const[,o,l]=t;return Number(o)*("ms"===l?1:1e3)})(getComputedStyle(document.body).getPropertyValue("--rt-transition-show-delay"));J.current=setTimeout((()=>{re(!1),se(null),null==I||I()}),e+25)}}),[I,j,te]);const ve=e=>{ee((t=>u(t,e)?t:e))},me=t.useCallback(((e=g)=>{G.current&&clearTimeout(G.current),le?fe(!0):G.current=setTimeout((()=>{fe(!0)}),e)}),[g,fe,le]),ye=t.useCallback(((e=_)=>{Z.current&&clearTimeout(Z.current),Z.current=setTimeout((()=>{ae.current||fe(!1)}),e)}),[_,fe]),we=t.useCallback((({x:e,y:t})=>{var o;const l={getBoundingClientRect:()=>({x:e,y:t,width:0,height:0,top:t,left:e,right:e,bottom:t})};s({place:null!==(o=null==ne?void 0:ne.place)&&void 0!==o?o:y,offset:w,elementReference:l,tooltipReference:X.current,tooltipArrowReference:Y.current,strategy:b,middlewares:E,border:P}).then((e=>{ve(e)}))}),[null==ne?void 0:ne.place,y,w,b,E,P]),he=t.useCallback((()=>{var e,t;const o=null!==(e=null==ne?void 0:ne.position)&&void 0!==e?e:$;o?we(o):A?ie.current&&we(ie.current):(null==M?void 0:M.isConnected)&&s({place:null!==(t=null==ne?void 0:ne.place)&&void 0!==t?t:y,offset:w,elementReference:M,tooltipReference:X.current,tooltipArrowReference:Y.current,strategy:b,middlewares:E,border:P}).then((e=>{pe.current&&ve(e)}))}),[null==ne?void 0:ne.position,null==ne?void 0:ne.place,$,A,M,y,w,b,E,P,we]);t.useEffect((()=>{const e=e=>{if(!e)return;const t=e,o={x:t.clientX,y:t.clientY};we(o),ie.current=o},t=e=>{var t;if(!te)return;const o=e.target;o.isConnected&&((null===(t=X.current)||void 0===t?void 0:t.contains(o))||ue.some((e=>null==e?void 0:e.contains(o)))||(fe(!1),G.current&&clearTimeout(G.current)))},l=e=>{var t;if(!e)return;const o=null!==(t=e.currentTarget)&&void 0!==t?t:e.target;(null==o?void 0:o.isConnected)?(g?me():fe(!0),W(o),Z.current&&clearTimeout(Z.current)):W(null)},r=()=>{O?ye(_||100):_?ye():fe(!1),G.current&&clearTimeout(G.current)},n=i(l,50,!0),s=i(r,50,!0),c=e=>{s.cancel(),n(e)},a=()=>{n.cancel(),s()},u=()=>{fe(!1)},d=h||(null==C?void 0:C.click)||(null==C?void 0:C.dblclick)||(null==C?void 0:C.mousedown),f=C?{...C}:{mouseenter:!0,focus:!0,click:!1,dblclick:!1,mousedown:!1};!C&&h&&Object.assign(f,{mouseenter:!1,focus:!1,click:!0});const v=R?{...R}:{mouseleave:!0,blur:!0,click:!1,dblclick:!1,mouseup:!1};!R&&h&&Object.assign(v,{mouseleave:!1,blur:!1});const m=x?{...x}:{escape:!1,scroll:!1,resize:!1,clickOutsideAnchor:d||!1};L&&(Object.assign(f,{mouseenter:!1,focus:!1,click:!1,dblclick:!1,mousedown:!1}),Object.assign(v,{mouseleave:!1,blur:!1,click:!1,dblclick:!1,mouseup:!1}),Object.assign(m,{escape:!1,scroll:!1,resize:!1,clickOutsideAnchor:!1}));const y=X.current,w=p(X.current),b=p(M);m.scroll&&(window.addEventListener("scroll",u),null==b||b.addEventListener("scroll",u),null==w||w.addEventListener("scroll",u));let E=null;m.resize?window.addEventListener("resize",u):M&&X.current&&(E=o.autoUpdate(M,X.current,he,{ancestorResize:!0,elementResize:!0,layoutShift:!0}));const S=e=>{"Escape"===e.key&&fe(!1)};m.escape&&window.addEventListener("keydown",S),m.clickOutsideAnchor&&window.addEventListener("click",t);const k=[],T=e=>{te&&(null==e?void 0:e.target)===M||l(e)},N=e=>{te&&(null==e?void 0:e.target)===M&&r()},$=["mouseenter","mouseleave","focus","blur"],j=["click","dblclick","mousedown","mouseup"];Object.entries(f).forEach((([e,t])=>{t&&($.includes(e)?k.push({event:e,listener:c}):j.includes(e)&&k.push({event:e,listener:T}))})),Object.entries(v).forEach((([e,t])=>{t&&($.includes(e)?k.push({event:e,listener:a}):j.includes(e)&&k.push({event:e,listener:N}))})),A&&k.push({event:"pointermove",listener:e});const I=()=>{ae.current=!0},B=()=>{ae.current=!1,r()};return O&&!d&&(null==y||y.addEventListener("mouseenter",I),null==y||y.addEventListener("mouseleave",B)),k.forEach((({event:e,listener:t})=>{ue.forEach((o=>{o.addEventListener(e,t)}))})),()=>{m.scroll&&(window.removeEventListener("scroll",u),null==b||b.removeEventListener("scroll",u),null==w||w.removeEventListener("scroll",u)),m.resize?window.removeEventListener("resize",u):null==E||E(),m.clickOutsideAnchor&&window.removeEventListener("click",t),m.escape&&window.removeEventListener("keydown",S),O&&!d&&(null==y||y.removeEventListener("mouseenter",I),null==y||y.removeEventListener("mouseleave",B)),k.forEach((({event:e,listener:t})=>{ue.forEach((o=>{o.removeEventListener(e,t)}))}))}}),[M,ue,O,R,_,g,A,x,ye,fe,me,we,L,C,h,W,te,he]),t.useEffect((()=>{var e,t;let o=null!==(t=null!==(e=null==ne?void 0:ne.anchorSelect)&&void 0!==e?e:d)&&void 0!==t?t:"";!o&&r&&(o=`[data-tooltip-id='${r.replace(/'/g,"\\'")}']`);const l=new MutationObserver((e=>{const t=new Set,l=new Set;e.forEach((e=>{if("attributes"===e.type&&"data-tooltip-id"===e.attributeName){const o=e.target;o.getAttribute("data-tooltip-id")===r?t.add(o):e.oldValue===r&&l.add(o)}if("childList"!==e.type)return;const n=[...e.removedNodes].filter((e=>1===e.nodeType));if(M&&n.some((e=>{var t;return!!(null===(t=null==e?void 0:e.contains)||void 0===t?void 0:t.call(e,M))&&(re(!1),fe(!1),W(null),G.current&&clearTimeout(G.current),Z.current&&clearTimeout(Z.current),!0)})),o){try{n.forEach((e=>{const t=e;t.matches(o)?l.add(t):t.querySelectorAll(o).forEach((e=>l.add(e)))}))}catch(e){console.warn(`[react-tooltip] "${o}" is not a valid CSS selector`)}try{[...e.addedNodes].filter((e=>1===e.nodeType)).forEach((e=>{const l=e;l.matches(o)?t.add(l):l.querySelectorAll(o).forEach((e=>t.add(e)))}))}catch(e){console.warn(`[react-tooltip] "${o}" is not a valid CSS selector`)}}})),(t.size||l.size)&&de((e=>[...e.filter((e=>!l.has(e))),...t]))}));return l.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-tooltip-id"],attributeOldValue:!0}),()=>{l.disconnect()}}),[r,d,null==ne?void 0:ne.anchorSelect,M,fe,W]),t.useEffect((()=>{he()}),[he]),t.useEffect((()=>{if(!(null==z?void 0:z.current))return()=>null;const e=new ResizeObserver((()=>{setTimeout((()=>he()))}));return e.observe(z.current),()=>{e.disconnect()}}),[B,z,he]),t.useEffect((()=>{var e;M&&ue.includes(M)||W(null!==(e=ue[0])&&void 0!==e?e:null)}),[ue,M,W]),t.useEffect((()=>(H&&fe(!0),()=>{G.current&&clearTimeout(G.current),Z.current&&clearTimeout(Z.current)})),[H,fe]),t.useEffect((()=>{var e;let t=null!==(e=null==ne?void 0:ne.anchorSelect)&&void 0!==e?e:d;if(!t&&r&&(t=`[data-tooltip-id='${r.replace(/'/g,"\\'")}']`),t)try{const e=Array.from(document.querySelectorAll(t));de(e)}catch(e){de([])}}),[r,d,null==ne?void 0:ne.anchorSelect]),t.useEffect((()=>{G.current&&(clearTimeout(G.current),me(g))}),[g,me]);const be=null!==(K=null==ne?void 0:ne.content)&&void 0!==K?K:B,Ee=te&&Object.keys(Q.tooltipStyles).length>0;return t.useImperativeHandle(e,(()=>({open:e=>{if(null==e?void 0:e.anchorSelect)try{document.querySelector(e.anchorSelect)}catch(t){return void console.warn(`[react-tooltip] "${e.anchorSelect}" is not a valid CSS selector`)}se(null!=e?e:null),(null==e?void 0:e.delay)?me(e.delay):fe(!0)},close:e=>{(null==e?void 0:e.delay)?ye(e.delay):fe(!1)},activeAnchor:M,place:Q.place,isOpen:Boolean(le&&!k&&be&&Ee)}))),le&&!k&&be?t.createElement(S,{id:r,role:F,className:l("react-tooltip",v.tooltip,m.tooltip,m[a],n,`react-tooltip__place-${Q.place}`,v[Ee?"show":"closing"],Ee?"react-tooltip__show":"react-tooltip__closing","fixed"===b&&v.fixed,O&&v.clickable),onTransitionEnd:e=>{J.current&&clearTimeout(J.current),te||"opacity"!==e.propertyName||(re(!1),se(null),null==I||I())},style:{...N,...Q.tooltipStyles,opacity:void 0!==V&&Ee?V:void 0},ref:X},be,t.createElement(S,{className:l("react-tooltip-arrow",v.arrow,m.arrow,c,T&&v.noArrow),style:{...Q.tooltipArrowStyles,background:U?`linear-gradient(to right bottom, transparent 50%, ${U} 50%)`:void 0},ref:Y})):null},w=t.forwardRef((({id:e,anchorSelect:o,content:r,render:n,className:s,classNameArrow:i,variant:a="dark",place:u="top",offset:d=10,wrapper:p="div",children:f=null,openOnClick:v=!1,positionStrategy:m="absolute",middlewares:w,delayShow:h=0,delayHide:b=0,float:E=!1,hidden:S=!1,noArrow:g=!1,clickable:_=!1,openEvents:A,closeEvents:k,globalCloseEvents:T,imperativeModeOnly:O=!1,style:C,position:R,isOpen:x,defaultIsOpen:L=!1,disableStyleInjection:N=!1,border:$,opacity:j,arrowColor:I,setIsOpen:B,afterShow:z,afterHide:D,role:H="tooltip"},q)=>{const[M,W]=t.useState(r),[P,V]=t.useState(u),[U,F]=t.useState(a),[K,X]=t.useState(d),[Y,G]=t.useState(h),[Z,J]=t.useState(b),[Q,ee]=t.useState(E),[te,oe]=t.useState(S),[le,re]=t.useState(p),[ne,se]=t.useState(m),[ce,ie]=t.useState(null),[ae,ue]=t.useState(null),de=t.useRef(N),pe=e=>null==e?void 0:e.getAttributeNames().reduce(((t,o)=>{var l;if(o.startsWith("data-tooltip-")){t[o.replace(/^data-tooltip-/,"")]=null!==(l=null==e?void 0:e.getAttribute(o))&&void 0!==l?l:null}return t}),{}),fe=t.useCallback((e=>{const t={place:e=>{var t;V(null!==(t=e)&&void 0!==t?t:u)},content:e=>{W(null!=e?e:r)},variant:e=>{var t;F(null!==(t=e)&&void 0!==t?t:a)},offset:e=>{X(null===e?d:Number(e))},wrapper:e=>{var t;re(null!==(t=e)&&void 0!==t?t:p)},"position-strategy":e=>{var t;se(null!==(t=e)&&void 0!==t?t:m)},"delay-show":e=>{G(null===e?h:Number(e))},"delay-hide":e=>{J(null===e?b:Number(e))},float:e=>{ee(null===e?E:"true"===e)},hidden:e=>{oe(null===e?S:"true"===e)},"class-name":e=>{ie(e)}};Object.values(t).forEach((e=>e(null))),Object.entries(e).forEach((([e,o])=>{var l;null===(l=t[e])||void 0===l||l.call(t,o)}))}),[r,b,h,E,S,d,u,m,a,p]);t.useEffect((()=>{W(r)}),[r]),t.useEffect((()=>{V(u)}),[u]),t.useEffect((()=>{F(a)}),[a]),t.useEffect((()=>{X(d)}),[d]),t.useEffect((()=>{G(h)}),[h]),t.useEffect((()=>{J(b)}),[b]),t.useEffect((()=>{ee(E)}),[E]),t.useEffect((()=>{oe(S)}),[S]),t.useEffect((()=>{se(m)}),[m]),t.useEffect((()=>{de.current!==N&&console.warn("[react-tooltip] Do not change `disableStyleInjection` dynamically.")}),[N]),t.useEffect((()=>{"undefined"!=typeof window&&window.dispatchEvent(new CustomEvent("react-tooltip-inject-styles",{detail:{disableCore:"core"===N,disableBase:N}}))}),[]),t.useEffect((()=>{const e=new MutationObserver((e=>{e.forEach((e=>{var t;if(!ae||"attributes"!==e.type||!(null===(t=e.attributeName)||void 0===t?void 0:t.startsWith("data-tooltip-")))return;const o=pe(ae);fe(o)}))})),t={attributes:!0,childList:!1,subtree:!1};if(ae){const o=pe(ae);fe(o),e.observe(ae,t)}return()=>{e.disconnect()}}),[ae,o,fe]),t.useEffect((()=>{(null==C?void 0:C.border)&&console.warn("[react-tooltip] Do not set `style.border`. Use `border` prop instead."),$&&!c("border",`${$}`)&&console.warn(`[react-tooltip] "${$}" is not a valid \`border\`.`),(null==C?void 0:C.opacity)&&console.warn("[react-tooltip] Do not set `style.opacity`. Use `opacity` prop instead."),j&&!c("opacity",`${j}`)&&console.warn(`[react-tooltip] "${j}" is not a valid \`opacity\`.`)}),[$,j,null==C?void 0:C.border,null==C?void 0:C.opacity]);let ve=f;const me=t.useRef(null);if(n){const e=n({content:(null==ae?void 0:ae.getAttribute("data-tooltip-content"))||M||null,activeAnchor:ae});ve=e?t.createElement("div",{ref:me,className:"react-tooltip-content-wrapper"},e):null}else M&&(ve=M);const ye={forwardRef:q,id:e,anchorSelect:o,className:l(s,ce),classNameArrow:i,content:ve,contentWrapperRef:me,place:P,variant:U,offset:K,wrapper:le,openOnClick:v,positionStrategy:ne,middlewares:w,delayShow:Y,delayHide:Z,float:Q,hidden:te,noArrow:g,clickable:_,openEvents:A,closeEvents:k,globalCloseEvents:T,imperativeModeOnly:O,style:C,position:R,isOpen:x,defaultIsOpen:L,border:$,opacity:j,arrowColor:I,setIsOpen:B,afterShow:z,afterHide:D,activeAnchor:ae,setActiveAnchor:ue,role:H};return t.createElement(y,{...ye})}));"undefined"!=typeof window&&window.addEventListener("react-tooltip-inject-styles",(e=>{e.detail.disableCore||n({css:`:root{--rt-color-white:#fff;--rt-color-dark:#222;--rt-color-success:#8dc572;--rt-color-error:#be6464;--rt-color-warning:#f0ad4e;--rt-color-info:#337ab7;--rt-opacity:0.9;--rt-transition-show-delay:0.15s;--rt-transition-closing-delay:0.15s}.core-styles-module_tooltip__3vRRp{position:absolute;top:0;left:0;pointer-events:none;opacity:0;will-change:opacity}.core-styles-module_fixed__pcSol{position:fixed}.core-styles-module_arrow__cvMwQ{position:absolute;background:inherit}.core-styles-module_noArrow__xock6{display:none}.core-styles-module_clickable__ZuTTB{pointer-events:auto}.core-styles-module_show__Nt9eE{opacity:var(--rt-opacity);transition:opacity var(--rt-transition-show-delay)ease-out}.core-styles-module_closing__sGnxF{opacity:0;transition:opacity var(--rt-transition-closing-delay)ease-in}`,type:"core"}),e.detail.disableBase||n({css:`
|
|
8
|
+
.styles-module_tooltip__mnnfp{padding:8px 16px;border-radius:3px;font-size:90%;width:max-content}.styles-module_arrow__K0L3T{width:8px;height:8px}[class*='react-tooltip__place-top']>.styles-module_arrow__K0L3T{transform:rotate(45deg)}[class*='react-tooltip__place-right']>.styles-module_arrow__K0L3T{transform:rotate(135deg)}[class*='react-tooltip__place-bottom']>.styles-module_arrow__K0L3T{transform:rotate(225deg)}[class*='react-tooltip__place-left']>.styles-module_arrow__K0L3T{transform:rotate(315deg)}.styles-module_dark__xNqje{background:var(--rt-color-dark);color:var(--rt-color-white)}.styles-module_light__Z6W-X{background-color:var(--rt-color-white);color:var(--rt-color-dark)}.styles-module_success__A2AKt{background-color:var(--rt-color-success);color:var(--rt-color-white)}.styles-module_warning__SCK0X{background-color:var(--rt-color-warning);color:var(--rt-color-white)}.styles-module_error__JvumD{background-color:var(--rt-color-error);color:var(--rt-color-white)}.styles-module_info__BWdHW{background-color:var(--rt-color-info);color:var(--rt-color-white)}`,type:"base"})})),e.Tooltip=w}));
|
|
9
|
+
//# sourceMappingURL=react-tooltip.umd.min.js.map
|