react-tooltip 5.15.0-beta.1045.1 → 5.15.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/dist/react-tooltip.cjs +10 -1
- package/dist/react-tooltip.cjs.map +1 -1
- package/dist/react-tooltip.min.cjs +1 -1
- package/dist/react-tooltip.min.cjs.map +1 -1
- package/dist/react-tooltip.min.mjs +1 -1
- package/dist/react-tooltip.min.mjs.map +1 -1
- package/dist/react-tooltip.mjs +10 -1
- package/dist/react-tooltip.mjs.map +1 -1
- package/dist/react-tooltip.umd.js +10 -1
- package/dist/react-tooltip.umd.js.map +1 -1
- package/dist/react-tooltip.umd.min.js +1 -1
- package/dist/react-tooltip.umd.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-tooltip.umd.js","sources":["../node_modules/style-inject/dist/style-inject.es.js","../src/utils/debounce.ts","../src/components/TooltipProvider/TooltipProvider.tsx","../src/components/TooltipProvider/TooltipWrapper.tsx","../src/utils/use-isomorphic-layout-effect.ts","../src/utils/get-scroll-parent.ts","../src/utils/compute-positions.ts","../src/components/Tooltip/Tooltip.tsx","../src/components/TooltipContent/TooltipContent.tsx","../src/components/TooltipController/TooltipController.tsx"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\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\nexport default styleInject;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * This function debounce the received function\n * @param { function } \tfunc\t\t\t\tFunction to be debounced\n * @param { number } \t\twait\t\t\t\tTime to wait before execut the function\n * @param { boolean } \timmediate\t\tParam to define if the function will be executed immediately\n */\nconst debounce = (func: (...args: any[]) => void, wait?: number, immediate?: true) => {\n let timeout: NodeJS.Timeout | null = null\n\n return function debounced(this: typeof func, ...args: any[]) {\n const later = () => {\n timeout = null\n if (!immediate) {\n func.apply(this, args)\n }\n }\n\n if (immediate && !timeout) {\n /**\n * there's not 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\nexport default debounce\n","import React, {\n createContext,\n PropsWithChildren,\n useCallback,\n useContext,\n useMemo,\n useState,\n} from 'react'\n\nimport type {\n AnchorRef,\n TooltipContextData,\n TooltipContextDataWrapper,\n} from './TooltipProviderTypes'\n\nconst DEFAULT_TOOLTIP_ID = 'DEFAULT_TOOLTIP_ID'\nconst DEFAULT_CONTEXT_DATA: TooltipContextData = {\n anchorRefs: new Set(),\n activeAnchor: { current: null },\n attach: () => {\n /* attach anchor element */\n },\n detach: () => {\n /* detach anchor element */\n },\n setActiveAnchor: () => {\n /* set active anchor */\n },\n}\n\nconst DEFAULT_CONTEXT_DATA_WRAPPER: TooltipContextDataWrapper = {\n getTooltipData: () => DEFAULT_CONTEXT_DATA,\n}\n\nconst TooltipContext = createContext<TooltipContextDataWrapper>(DEFAULT_CONTEXT_DATA_WRAPPER)\n\n/**\n * @deprecated Use the `data-tooltip-id` attribute, or the `anchorSelect` prop instead.\n * See https://react-tooltip.com/docs/getting-started\n */\nconst TooltipProvider: React.FC<PropsWithChildren<void>> = ({ children }) => {\n const [anchorRefMap, setAnchorRefMap] = useState<Record<string, Set<AnchorRef>>>({\n [DEFAULT_TOOLTIP_ID]: new Set(),\n })\n const [activeAnchorMap, setActiveAnchorMap] = useState<Record<string, AnchorRef>>({\n [DEFAULT_TOOLTIP_ID]: { current: null },\n })\n\n const attach = (tooltipId: string, ...refs: AnchorRef[]) => {\n setAnchorRefMap((oldMap) => {\n const tooltipRefs = oldMap[tooltipId] ?? new Set()\n refs.forEach((ref) => tooltipRefs.add(ref))\n // create new object to trigger re-render\n return { ...oldMap, [tooltipId]: new Set(tooltipRefs) }\n })\n }\n\n const detach = (tooltipId: string, ...refs: AnchorRef[]) => {\n setAnchorRefMap((oldMap) => {\n const tooltipRefs = oldMap[tooltipId]\n if (!tooltipRefs) {\n // tooltip not found\n // maybe thow error?\n return oldMap\n }\n refs.forEach((ref) => tooltipRefs.delete(ref))\n // create new object to trigger re-render\n return { ...oldMap }\n })\n }\n\n const setActiveAnchor = (tooltipId: string, ref: React.RefObject<HTMLElement>) => {\n setActiveAnchorMap((oldMap) => {\n if (oldMap[tooltipId]?.current === ref.current) {\n return oldMap\n }\n // create new object to trigger re-render\n return { ...oldMap, [tooltipId]: ref }\n })\n }\n\n const getTooltipData = useCallback(\n (tooltipId = DEFAULT_TOOLTIP_ID) => ({\n anchorRefs: anchorRefMap[tooltipId] ?? new Set(),\n activeAnchor: activeAnchorMap[tooltipId] ?? { current: null },\n attach: (...refs: AnchorRef[]) => attach(tooltipId, ...refs),\n detach: (...refs: AnchorRef[]) => detach(tooltipId, ...refs),\n setActiveAnchor: (ref: AnchorRef) => setActiveAnchor(tooltipId, ref),\n }),\n [anchorRefMap, activeAnchorMap, attach, detach],\n )\n\n const context = useMemo(() => {\n return {\n getTooltipData,\n }\n }, [getTooltipData])\n\n return <TooltipContext.Provider value={context}>{children}</TooltipContext.Provider>\n}\n\nexport function useTooltip(tooltipId = DEFAULT_TOOLTIP_ID) {\n return useContext(TooltipContext).getTooltipData(tooltipId)\n}\n\nexport default TooltipProvider\n","import 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 { useLayoutEffect, useEffect } from 'react'\n\nconst useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect\n\nexport default useIsomorphicLayoutEffect\n","const isScrollable = (node: Element) => {\n if (!(node instanceof HTMLElement || node instanceof SVGElement)) {\n return null\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\nexport const 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","import { computePosition, offset, shift, arrow, flip } from '@floating-ui/dom'\nimport type { IComputePositions } from './compute-positions-types'\n\nexport const computeTooltipPosition = async ({\n elementReference = null,\n tooltipReference = null,\n tooltipArrowReference = null,\n place = 'top',\n offset: offsetValue = 10,\n strategy = 'absolute',\n middlewares = [offset(Number(offsetValue)), flip(), shift({ padding: 5 })],\n}: IComputePositions) => {\n if (!elementReference) {\n // elementReference can be null or undefined and we will not compute the position\n // eslint-disable-next-line no-console\n // console.error('The reference element for tooltip was not defined: ', elementReference)\n return { tooltipStyles: {}, tooltipArrowStyles: {}, place }\n }\n\n if (tooltipReference === null) {\n return { tooltipStyles: {}, tooltipArrowStyles: {}, place }\n }\n\n const middleware = middlewares\n\n if (tooltipArrowReference) {\n middleware.push(arrow({ element: tooltipArrowReference as HTMLElement, padding: 5 }))\n\n return computePosition(elementReference as HTMLElement, tooltipReference as HTMLElement, {\n placement: place,\n strategy,\n middleware,\n }).then(({ x, y, placement, middlewareData }) => {\n const styles = { left: `${x}px`, top: `${y}px` }\n\n const { x: arrowX, y: arrowY } = middlewareData.arrow ?? { x: 0, y: 0 }\n\n const staticSide =\n {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n }[placement.split('-')[0]] ?? 'bottom'\n\n const arrowStyle = {\n left: arrowX != null ? `${arrowX}px` : '',\n top: arrowY != null ? `${arrowY}px` : '',\n right: '',\n bottom: '',\n [staticSide]: '-4px',\n }\n\n return { tooltipStyles: styles, tooltipArrowStyles: arrowStyle, place: placement }\n })\n }\n\n return computePosition(elementReference as HTMLElement, tooltipReference as HTMLElement, {\n placement: 'bottom',\n strategy,\n middleware,\n }).then(({ x, y, placement }) => {\n const styles = { left: `${x}px`, top: `${y}px` }\n\n return { tooltipStyles: styles, tooltipArrowStyles: {}, place: placement }\n })\n}\n","import React, { useEffect, useState, useRef } from 'react'\nimport classNames from 'classnames'\nimport debounce from 'utils/debounce'\nimport { useTooltip } from 'components/TooltipProvider'\nimport useIsomorphicLayoutEffect from 'utils/use-isomorphic-layout-effect'\nimport { getScrollParent } from 'utils/get-scroll-parent'\nimport { computeTooltipPosition } from 'utils/compute-positions'\nimport styles from './styles.module.css'\nimport type { IPosition, ITooltip, PlacesType } from './TooltipTypes'\n\nconst Tooltip = ({\n // props\n id,\n className,\n classNameArrow,\n variant = 'dark',\n anchorId,\n anchorSelect,\n place = 'top',\n offset = 10,\n events = ['hover'],\n openOnClick = false,\n positionStrategy = 'absolute',\n middlewares,\n wrapper: WrapperElement,\n delayShow = 0,\n delayHide = 0,\n float = false,\n hidden = false,\n noArrow = false,\n clickable = false,\n closeOnEsc = false,\n closeOnScroll = false,\n closeOnResize = false,\n style: externalStyles,\n position,\n afterShow,\n afterHide,\n // props handled by controller\n content,\n contentWrapperRef,\n isOpen,\n setIsOpen,\n activeAnchor,\n setActiveAnchor,\n}: ITooltip) => {\n const tooltipRef = useRef<HTMLElement>(null)\n const tooltipArrowRef = useRef<HTMLElement>(null)\n const tooltipShowDelayTimerRef = useRef<NodeJS.Timeout | null>(null)\n const tooltipHideDelayTimerRef = useRef<NodeJS.Timeout | null>(null)\n const [actualPlacement, setActualPlacement] = useState(place)\n const [inlineStyles, setInlineStyles] = useState({})\n const [inlineArrowStyles, setInlineArrowStyles] = useState({})\n const [show, setShow] = useState(false)\n const [rendered, setRendered] = useState(false)\n const wasShowing = useRef(false)\n const lastFloatPosition = useRef<IPosition | null>(null)\n /**\n * @todo Remove this in a future version (provider/wrapper method is deprecated)\n */\n const { anchorRefs, setActiveAnchor: setProviderActiveAnchor } = useTooltip(id)\n const hoveringTooltip = useRef(false)\n const [anchorsBySelect, setAnchorsBySelect] = useState<HTMLElement[]>([])\n const mounted = useRef(false)\n\n const shouldOpenOnClick = openOnClick || events.includes('click')\n\n /**\n * useLayoutEffect runs before useEffect,\n * but should be used carefully because of caveats\n * https://beta.reactjs.org/reference/react/useLayoutEffect#caveats\n */\n useIsomorphicLayoutEffect(() => {\n mounted.current = true\n return () => {\n mounted.current = false\n }\n }, [])\n\n useEffect(() => {\n if (!show) {\n /**\n * this fixes weird behavior when switching between two anchor elements very quickly\n * remove the timeout and switch quickly between two adjancent anchor elements to see it\n *\n * in practice, this means the tooltip is not immediately removed from the DOM on hide\n */\n const timeout = setTimeout(() => {\n setRendered(false)\n }, 150)\n return () => {\n clearTimeout(timeout)\n }\n }\n return () => null\n }, [show])\n\n const handleShow = (value: boolean) => {\n if (!mounted.current) {\n return\n }\n if (value) {\n setRendered(true)\n }\n /**\n * wait for the component to render and calculate position\n * before actually showing\n */\n setTimeout(() => {\n if (!mounted.current) {\n return\n }\n setIsOpen?.(value)\n if (isOpen === undefined) {\n setShow(value)\n }\n }, 10)\n }\n\n /**\n * this replicates the effect from `handleShow()`\n * when `isOpen` is changed from outside\n */\n useEffect(() => {\n if (isOpen === undefined) {\n return () => null\n }\n if (isOpen) {\n setRendered(true)\n }\n const timeout = setTimeout(() => {\n setShow(isOpen)\n }, 10)\n return () => {\n clearTimeout(timeout)\n }\n }, [isOpen])\n\n useEffect(() => {\n if (show === wasShowing.current) {\n return\n }\n wasShowing.current = show\n if (show) {\n afterShow?.()\n } else {\n afterHide?.()\n }\n }, [show])\n\n const handleShowTooltipDelayed = () => {\n if (tooltipShowDelayTimerRef.current) {\n clearTimeout(tooltipShowDelayTimerRef.current)\n }\n\n tooltipShowDelayTimerRef.current = setTimeout(() => {\n handleShow(true)\n }, delayShow)\n }\n\n const handleHideTooltipDelayed = (delay = delayHide) => {\n if (tooltipHideDelayTimerRef.current) {\n clearTimeout(tooltipHideDelayTimerRef.current)\n }\n\n tooltipHideDelayTimerRef.current = setTimeout(() => {\n if (hoveringTooltip.current) {\n return\n }\n handleShow(false)\n }, delay)\n }\n\n const handleShowTooltip = (event?: Event) => {\n if (!event) {\n return\n }\n 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,\n offset,\n elementReference: virtualElement,\n tooltipReference: tooltipRef.current,\n tooltipArrowReference: tooltipArrowRef.current,\n strategy: positionStrategy,\n middlewares,\n }).then((computedStylesData) => {\n if (Object.keys(computedStylesData.tooltipStyles).length) {\n setInlineStyles(computedStylesData.tooltipStyles)\n }\n if (Object.keys(computedStylesData.tooltipArrowStyles).length) {\n setInlineArrowStyles(computedStylesData.tooltipArrowStyles)\n }\n setActualPlacement(computedStylesData.place as PlacesType)\n })\n }\n\n const handleMouseMove = (event?: Event) => {\n if (!event) {\n return\n }\n const mouseEvent = event as MouseEvent\n const mousePosition = {\n x: mouseEvent.clientX,\n y: mouseEvent.clientY,\n }\n handleTooltipPosition(mousePosition)\n lastFloatPosition.current = mousePosition\n }\n\n const handleClickTooltipAnchor = (event?: Event) => {\n handleShowTooltip(event)\n if (delayHide) {\n handleHideTooltipDelayed()\n }\n }\n\n const handleClickOutsideAnchors = (event: MouseEvent) => {\n const anchorById = document.querySelector<HTMLElement>(`[id='${anchorId}']`)\n const anchors = [anchorById, ...anchorsBySelect]\n if (anchors.some((anchor) => anchor?.contains(event.target as HTMLElement))) {\n return\n }\n if (tooltipRef.current?.contains(event.target as HTMLElement)) {\n return\n }\n handleShow(false)\n }\n\n // debounce handler to prevent call twice when\n // mouse enter and focus events being triggered toggether\n const debouncedHandleShowTooltip = debounce(handleShowTooltip, 50, true)\n const debouncedHandleHideTooltip = debounce(handleHideTooltip, 50, true)\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 (closeOnScroll) {\n window.addEventListener('scroll', handleScrollResize)\n anchorScrollParent?.addEventListener('scroll', handleScrollResize)\n tooltipScrollParent?.addEventListener('scroll', handleScrollResize)\n }\n if (closeOnResize) {\n window.addEventListener('resize', handleScrollResize)\n }\n\n const handleEsc = (event: KeyboardEvent) => {\n if (event.key !== 'Escape') {\n return\n }\n handleShow(false)\n }\n\n if (closeOnEsc) {\n window.addEventListener('keydown', handleEsc)\n }\n\n const enabledEvents: { event: string; listener: (event?: Event) => void }[] = []\n\n if (shouldOpenOnClick) {\n window.addEventListener('click', handleClickOutsideAnchors)\n enabledEvents.push({ event: 'click', listener: handleClickTooltipAnchor })\n } else {\n enabledEvents.push(\n { event: 'mouseenter', listener: debouncedHandleShowTooltip },\n { event: 'mouseleave', listener: debouncedHandleHideTooltip },\n { event: 'focus', listener: debouncedHandleShowTooltip },\n { event: 'blur', listener: debouncedHandleHideTooltip },\n )\n if (float) {\n enabledEvents.push({\n event: 'mousemove',\n listener: handleMouseMove,\n })\n }\n }\n\n const handleMouseEnterTooltip = () => {\n hoveringTooltip.current = true\n }\n const handleMouseLeaveTooltip = () => {\n hoveringTooltip.current = false\n handleHideTooltip()\n }\n\n if (clickable && !shouldOpenOnClick) {\n tooltipRef.current?.addEventListener('mouseenter', handleMouseEnterTooltip)\n tooltipRef.current?.addEventListener('mouseleave', handleMouseLeaveTooltip)\n }\n\n enabledEvents.forEach(({ event, listener }) => {\n elementRefs.forEach((ref) => {\n ref.current?.addEventListener(event, listener)\n })\n })\n\n return () => {\n if (closeOnScroll) {\n window.removeEventListener('scroll', handleScrollResize)\n anchorScrollParent?.removeEventListener('scroll', handleScrollResize)\n tooltipScrollParent?.removeEventListener('scroll', handleScrollResize)\n }\n if (closeOnResize) {\n window.removeEventListener('resize', handleScrollResize)\n }\n if (shouldOpenOnClick) {\n window.removeEventListener('click', handleClickOutsideAnchors)\n }\n if (closeOnEsc) {\n window.removeEventListener('keydown', handleEsc)\n }\n if (clickable && !shouldOpenOnClick) {\n tooltipRef.current?.removeEventListener('mouseenter', handleMouseEnterTooltip)\n tooltipRef.current?.removeEventListener('mouseleave', handleMouseLeaveTooltip)\n }\n enabledEvents.forEach(({ event, listener }) => {\n elementRefs.forEach((ref) => {\n ref.current?.removeEventListener(event, listener)\n })\n })\n }\n /**\n * rendered is also a dependency to ensure anchor observers are re-registered\n * since `tooltipRef` becomes stale after removing/adding the tooltip to the DOM\n */\n }, [rendered, anchorRefs, anchorsBySelect, closeOnEsc, events])\n\n useEffect(() => {\n let selector = anchorSelect ?? ''\n if (!selector && id) {\n selector = `[data-tooltip-id='${id}']`\n }\n const documentObserverCallback: MutationCallback = (mutationList) => {\n const newAnchors: HTMLElement[] = []\n mutationList.forEach((mutation) => {\n if (mutation.type === 'attributes' && mutation.attributeName === 'data-tooltip-id') {\n const newId = (mutation.target as HTMLElement).getAttribute('data-tooltip-id')\n if (newId === id) {\n newAnchors.push(mutation.target as HTMLElement)\n }\n }\n if (mutation.type !== 'childList') {\n return\n }\n if (activeAnchor) {\n ;[...mutation.removedNodes].some((node) => {\n if (node?.contains?.(activeAnchor)) {\n setRendered(false)\n handleShow(false)\n setActiveAnchor(null)\n return true\n }\n return false\n })\n }\n if (!selector) {\n return\n }\n try {\n const elements = [...mutation.addedNodes].filter((node) => node.nodeType === 1)\n newAnchors.push(\n // the element itself is an anchor\n ...(elements.filter((element) =>\n (element as HTMLElement).matches(selector),\n ) as HTMLElement[]),\n )\n newAnchors.push(\n // the element has children which are anchors\n ...elements.flatMap(\n (element) =>\n [...(element as HTMLElement).querySelectorAll(selector)] as HTMLElement[],\n ),\n )\n } catch {\n /**\n * invalid CSS selector.\n * already warned on tooltip controller\n */\n }\n })\n if (newAnchors.length) {\n setAnchorsBySelect((anchors) => [...anchors, ...newAnchors])\n }\n }\n const documentObserver = new MutationObserver(documentObserverCallback)\n // watch for anchor being removed from the DOM\n documentObserver.observe(document.body, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['data-tooltip-id'],\n })\n return () => {\n documentObserver.disconnect()\n }\n }, [id, anchorSelect, activeAnchor])\n\n const updateTooltipPosition = () => {\n if (position) {\n // if `position` is set, override regular and `float` positioning\n handleTooltipPosition(position)\n return\n }\n\n if (float) {\n if (lastFloatPosition.current) {\n /*\n Without this, changes to `content`, `place`, `offset`, ..., will only\n trigger a position calculation after a `mousemove` event.\n\n To see why this matters, comment this line, run `yarn dev` and click the\n \"Hover me!\" anchor.\n */\n handleTooltipPosition(lastFloatPosition.current)\n }\n // if `float` is set, override regular positioning\n return\n }\n\n computeTooltipPosition({\n place,\n offset,\n elementReference: activeAnchor,\n tooltipReference: tooltipRef.current,\n tooltipArrowReference: tooltipArrowRef.current,\n strategy: positionStrategy,\n middlewares,\n }).then((computedStylesData) => {\n if (!mounted.current) {\n // invalidate computed positions after remount\n return\n }\n if (Object.keys(computedStylesData.tooltipStyles).length) {\n setInlineStyles(computedStylesData.tooltipStyles)\n }\n if (Object.keys(computedStylesData.tooltipArrowStyles).length) {\n setInlineArrowStyles(computedStylesData.tooltipArrowStyles)\n }\n setActualPlacement(computedStylesData.place as PlacesType)\n })\n }\n\n useEffect(() => {\n updateTooltipPosition()\n }, [show, activeAnchor, content, externalStyles, place, offset, positionStrategy, position])\n\n useEffect(() => {\n if (!contentWrapperRef?.current) {\n return () => null\n }\n const contentObserver = new ResizeObserver(() => {\n 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 return () => {\n if (tooltipShowDelayTimerRef.current) {\n clearTimeout(tooltipShowDelayTimerRef.current)\n }\n if (tooltipHideDelayTimerRef.current) {\n clearTimeout(tooltipHideDelayTimerRef.current)\n }\n }\n }, [])\n\n useEffect(() => {\n let selector = anchorSelect\n if (!selector && id) {\n selector = `[data-tooltip-id='${id}']`\n }\n if (!selector) {\n return\n }\n try {\n const anchors = Array.from(document.querySelectorAll<HTMLElement>(selector))\n setAnchorsBySelect(anchors)\n } catch {\n // warning was already issued in the controller\n setAnchorsBySelect([])\n }\n }, [id, anchorSelect])\n\n const canShow = !hidden && content && show && Object.keys(inlineStyles).length > 0\n\n return rendered ? (\n <WrapperElement\n id={id}\n role=\"tooltip\"\n className={classNames(\n 'react-tooltip',\n styles['tooltip'],\n styles[variant],\n className,\n `react-tooltip__place-${actualPlacement}`,\n {\n [styles['show']]: canShow,\n [styles['fixed']]: positionStrategy === 'fixed',\n [styles['clickable']]: clickable,\n },\n )}\n style={{ ...externalStyles, ...inlineStyles }}\n ref={tooltipRef}\n >\n {content}\n <WrapperElement\n className={classNames('react-tooltip-arrow', styles['arrow'], classNameArrow, {\n /**\n * changed from dash `no-arrow` to camelcase because of:\n * https://github.com/indooorsman/esbuild-css-modules-plugin/issues/42\n */\n [styles['noArrow']]: noArrow,\n })}\n style={inlineArrowStyles}\n ref={tooltipArrowRef}\n />\n </WrapperElement>\n ) : null\n}\n\nexport default Tooltip\n","/* eslint-disable 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} from 'components/Tooltip/TooltipTypes'\nimport { useTooltip } from 'components/TooltipProvider'\nimport { TooltipContent } from 'components/TooltipContent'\nimport type { ITooltipController } from './TooltipControllerTypes'\n\nconst TooltipController = ({\n id,\n anchorId,\n anchorSelect,\n content,\n html,\n render,\n className,\n classNameArrow,\n variant = 'dark',\n place = 'top',\n offset = 10,\n wrapper = 'div',\n children = null,\n events = ['hover'],\n openOnClick = false,\n positionStrategy = 'absolute',\n middlewares,\n delayShow = 0,\n delayHide = 0,\n float = false,\n hidden = false,\n noArrow = false,\n clickable = false,\n closeOnEsc = false,\n closeOnScroll = false,\n closeOnResize = false,\n style,\n position,\n isOpen,\n setIsOpen,\n afterShow,\n afterHide,\n}: ITooltipController) => {\n const [tooltipContent, setTooltipContent] = useState(content)\n const [tooltipHtml, setTooltipHtml] = useState(html)\n const [tooltipPlace, setTooltipPlace] = useState(place)\n const [tooltipVariant, setTooltipVariant] = useState(variant)\n const [tooltipOffset, setTooltipOffset] = useState(offset)\n const [tooltipDelayShow, setTooltipDelayShow] = useState(delayShow)\n const [tooltipDelayHide, setTooltipDelayHide] = useState(delayHide)\n const [tooltipFloat, setTooltipFloat] = useState(float)\n const [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 [activeAnchor, setActiveAnchor] = useState<HTMLElement | null>(null)\n /**\n * @todo Remove this in a future version (provider/wrapper method is deprecated)\n */\n const { anchorRefs, activeAnchor: providerActiveAnchor } = useTooltip(id)\n\n const getDataAttributesFromAnchorElement = (elementReference: HTMLElement) => {\n const dataAttributes = elementReference?.getAttributeNames().reduce((acc, name) => {\n if (name.startsWith('data-tooltip-')) {\n const parsedAttribute = name.replace(/^data-tooltip-/, '') as DataAttribute\n acc[parsedAttribute] = elementReference?.getAttribute(name) ?? null\n }\n return acc\n }, {} as Record<DataAttribute, string | null>)\n\n return dataAttributes\n }\n\n const applyAllDataAttributesFromAnchorElement = (\n dataAttributes: Record<string, string | null>,\n ) => {\n const handleDataAttributes: Record<DataAttribute, (value: string | null) => void> = {\n place: (value) => {\n setTooltipPlace((value as PlacesType) ?? place)\n },\n content: (value) => {\n setTooltipContent(value ?? content)\n },\n html: (value) => {\n setTooltipHtml(value ?? html)\n },\n variant: (value) => {\n setTooltipVariant((value as VariantType) ?? variant)\n },\n offset: (value) => {\n setTooltipOffset(value === null ? offset : Number(value))\n },\n wrapper: (value) => {\n setTooltipWrapper((value as WrapperType) ?? wrapper)\n },\n events: (value) => {\n const parsed = value?.split(' ') as EventsType[]\n setTooltipEvents(parsed ?? events)\n },\n 'position-strategy': (value) => {\n setTooltipPositionStrategy((value as PositionStrategy) ?? positionStrategy)\n },\n 'delay-show': (value) => {\n setTooltipDelayShow(value === null ? delayShow : Number(value))\n },\n 'delay-hide': (value) => {\n setTooltipDelayHide(value === null ? delayHide : Number(value))\n },\n float: (value) => {\n setTooltipFloat(value === null ? float : value === 'true')\n },\n hidden: (value) => {\n setTooltipHidden(value === null ? hidden : value === 'true')\n },\n }\n // reset unset data attributes to default values\n // without this, data attributes from the last active anchor will still be used\n Object.values(handleDataAttributes).forEach((handler) => handler(null))\n Object.entries(dataAttributes).forEach(([key, value]) => {\n handleDataAttributes[key as DataAttribute]?.(value)\n })\n }\n\n useEffect(() => {\n setTooltipContent(content)\n }, [content])\n\n useEffect(() => {\n setTooltipHtml(html)\n }, [html])\n\n useEffect(() => {\n setTooltipPlace(place)\n }, [place])\n\n useEffect(() => {\n 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 const elementRefs = new Set(anchorRefs)\n\n let selector = anchorSelect\n if (!selector && id) {\n selector = `[data-tooltip-id='${id}']`\n }\n if (selector) {\n try {\n const anchorsBySelect = document.querySelectorAll<HTMLElement>(selector)\n anchorsBySelect.forEach((anchor) => {\n elementRefs.add({ current: anchor })\n })\n } catch {\n if (!process.env.NODE_ENV || process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.warn(`[react-tooltip] \"${selector}\" is not a valid CSS selector`)\n }\n }\n }\n\n const anchorById = document.querySelector<HTMLElement>(`[id='${anchorId}']`)\n if (anchorById) {\n elementRefs.add({ current: anchorById })\n }\n\n if (!elementRefs.size) {\n return () => null\n }\n\n const anchorElement = activeAnchor ?? anchorById ?? providerActiveAnchor.current\n\n const observerCallback: MutationCallback = (mutationList) => {\n mutationList.forEach((mutation) => {\n if (\n !anchorElement ||\n mutation.type !== 'attributes' ||\n !mutation.attributeName?.startsWith('data-tooltip-')\n ) {\n return\n }\n // make sure to get all set attributes, since all unset attributes are reset\n const dataAttributes = getDataAttributesFromAnchorElement(anchorElement)\n applyAllDataAttributesFromAnchorElement(dataAttributes)\n })\n }\n\n // Create an observer instance linked to the callback function\n const observer = new MutationObserver(observerCallback)\n\n // do not check for subtree and childrens, we only want to know attribute changes\n // to stay watching `data-attributes-*` from anchor element\n const observerConfig = { attributes: true, childList: false, subtree: false }\n\n if (anchorElement) {\n const dataAttributes = getDataAttributesFromAnchorElement(anchorElement)\n applyAllDataAttributesFromAnchorElement(dataAttributes)\n // Start observing the target node for configured mutations\n observer.observe(anchorElement, observerConfig)\n }\n\n return () => {\n // Remove the observer when the tooltip is destroyed\n observer.disconnect()\n }\n }, [anchorRefs, providerActiveAnchor, activeAnchor, anchorId, anchorSelect])\n\n /**\n * content priority: children < 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 rendered = render({ content: tooltipContent ?? null, 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 id,\n anchorId,\n anchorSelect,\n className,\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 style,\n position,\n isOpen,\n setIsOpen,\n afterShow,\n afterHide,\n activeAnchor,\n setActiveAnchor: (anchor: HTMLElement | null) => setActiveAnchor(anchor),\n }\n\n return <Tooltip {...props} />\n}\n\nexport default TooltipController\n"],"names":["createContext","useState","useCallback","useMemo","React","useContext","useRef","useEffect","classNames","useLayoutEffect","offset","flip","shift","arrow","computePosition"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"react-tooltip.umd.js","sources":["../node_modules/style-inject/dist/style-inject.es.js","../src/utils/debounce.ts","../src/components/TooltipProvider/TooltipProvider.tsx","../src/components/TooltipProvider/TooltipWrapper.tsx","../src/utils/use-isomorphic-layout-effect.ts","../src/utils/get-scroll-parent.ts","../src/utils/compute-positions.ts","../src/components/Tooltip/Tooltip.tsx","../src/components/TooltipContent/TooltipContent.tsx","../src/components/TooltipController/TooltipController.tsx"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\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\nexport default styleInject;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * This function debounce the received function\n * @param { function } \tfunc\t\t\t\tFunction to be debounced\n * @param { number } \t\twait\t\t\t\tTime to wait before execut the function\n * @param { boolean } \timmediate\t\tParam to define if the function will be executed immediately\n */\nconst debounce = (func: (...args: any[]) => void, wait?: number, immediate?: true) => {\n let timeout: NodeJS.Timeout | null = null\n\n return function debounced(this: typeof func, ...args: any[]) {\n const later = () => {\n timeout = null\n if (!immediate) {\n func.apply(this, args)\n }\n }\n\n if (immediate && !timeout) {\n /**\n * there's not 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\nexport default debounce\n","import React, {\n createContext,\n PropsWithChildren,\n useCallback,\n useContext,\n useMemo,\n useState,\n} from 'react'\n\nimport type {\n AnchorRef,\n TooltipContextData,\n TooltipContextDataWrapper,\n} from './TooltipProviderTypes'\n\nconst DEFAULT_TOOLTIP_ID = 'DEFAULT_TOOLTIP_ID'\nconst DEFAULT_CONTEXT_DATA: TooltipContextData = {\n anchorRefs: new Set(),\n activeAnchor: { current: null },\n attach: () => {\n /* attach anchor element */\n },\n detach: () => {\n /* detach anchor element */\n },\n setActiveAnchor: () => {\n /* set active anchor */\n },\n}\n\nconst DEFAULT_CONTEXT_DATA_WRAPPER: TooltipContextDataWrapper = {\n getTooltipData: () => DEFAULT_CONTEXT_DATA,\n}\n\nconst TooltipContext = createContext<TooltipContextDataWrapper>(DEFAULT_CONTEXT_DATA_WRAPPER)\n\n/**\n * @deprecated Use the `data-tooltip-id` attribute, or the `anchorSelect` prop instead.\n * See https://react-tooltip.com/docs/getting-started\n */\nconst TooltipProvider: React.FC<PropsWithChildren<void>> = ({ children }) => {\n const [anchorRefMap, setAnchorRefMap] = useState<Record<string, Set<AnchorRef>>>({\n [DEFAULT_TOOLTIP_ID]: new Set(),\n })\n const [activeAnchorMap, setActiveAnchorMap] = useState<Record<string, AnchorRef>>({\n [DEFAULT_TOOLTIP_ID]: { current: null },\n })\n\n const attach = (tooltipId: string, ...refs: AnchorRef[]) => {\n setAnchorRefMap((oldMap) => {\n const tooltipRefs = oldMap[tooltipId] ?? new Set()\n refs.forEach((ref) => tooltipRefs.add(ref))\n // create new object to trigger re-render\n return { ...oldMap, [tooltipId]: new Set(tooltipRefs) }\n })\n }\n\n const detach = (tooltipId: string, ...refs: AnchorRef[]) => {\n setAnchorRefMap((oldMap) => {\n const tooltipRefs = oldMap[tooltipId]\n if (!tooltipRefs) {\n // tooltip not found\n // maybe thow error?\n return oldMap\n }\n refs.forEach((ref) => tooltipRefs.delete(ref))\n // create new object to trigger re-render\n return { ...oldMap }\n })\n }\n\n const setActiveAnchor = (tooltipId: string, ref: React.RefObject<HTMLElement>) => {\n setActiveAnchorMap((oldMap) => {\n if (oldMap[tooltipId]?.current === ref.current) {\n return oldMap\n }\n // create new object to trigger re-render\n return { ...oldMap, [tooltipId]: ref }\n })\n }\n\n const getTooltipData = useCallback(\n (tooltipId = DEFAULT_TOOLTIP_ID) => ({\n anchorRefs: anchorRefMap[tooltipId] ?? new Set(),\n activeAnchor: activeAnchorMap[tooltipId] ?? { current: null },\n attach: (...refs: AnchorRef[]) => attach(tooltipId, ...refs),\n detach: (...refs: AnchorRef[]) => detach(tooltipId, ...refs),\n setActiveAnchor: (ref: AnchorRef) => setActiveAnchor(tooltipId, ref),\n }),\n [anchorRefMap, activeAnchorMap, attach, detach],\n )\n\n const context = useMemo(() => {\n return {\n getTooltipData,\n }\n }, [getTooltipData])\n\n return <TooltipContext.Provider value={context}>{children}</TooltipContext.Provider>\n}\n\nexport function useTooltip(tooltipId = DEFAULT_TOOLTIP_ID) {\n return useContext(TooltipContext).getTooltipData(tooltipId)\n}\n\nexport default TooltipProvider\n","import 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 { useLayoutEffect, useEffect } from 'react'\n\nconst useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect\n\nexport default useIsomorphicLayoutEffect\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\nexport const 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","import { computePosition, offset, shift, arrow, flip } from '@floating-ui/dom'\nimport type { IComputePositions } from './compute-positions-types'\n\nexport const computeTooltipPosition = async ({\n elementReference = null,\n tooltipReference = null,\n tooltipArrowReference = null,\n place = 'top',\n offset: offsetValue = 10,\n strategy = 'absolute',\n middlewares = [offset(Number(offsetValue)), flip(), shift({ padding: 5 })],\n}: IComputePositions) => {\n if (!elementReference) {\n // elementReference can be null or undefined and we will not compute the position\n // eslint-disable-next-line no-console\n // console.error('The reference element for tooltip was not defined: ', elementReference)\n return { tooltipStyles: {}, tooltipArrowStyles: {}, place }\n }\n\n if (tooltipReference === null) {\n return { tooltipStyles: {}, tooltipArrowStyles: {}, place }\n }\n\n const middleware = middlewares\n\n if (tooltipArrowReference) {\n middleware.push(arrow({ element: tooltipArrowReference as HTMLElement, padding: 5 }))\n\n return computePosition(elementReference as HTMLElement, tooltipReference as HTMLElement, {\n placement: place,\n strategy,\n middleware,\n }).then(({ x, y, placement, middlewareData }) => {\n const styles = { left: `${x}px`, top: `${y}px` }\n\n const { x: arrowX, y: arrowY } = middlewareData.arrow ?? { x: 0, y: 0 }\n\n const staticSide =\n {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n }[placement.split('-')[0]] ?? 'bottom'\n\n const arrowStyle = {\n left: arrowX != null ? `${arrowX}px` : '',\n top: arrowY != null ? `${arrowY}px` : '',\n right: '',\n bottom: '',\n [staticSide]: '-4px',\n }\n\n return { tooltipStyles: styles, tooltipArrowStyles: arrowStyle, place: placement }\n })\n }\n\n return computePosition(elementReference as HTMLElement, tooltipReference as HTMLElement, {\n placement: 'bottom',\n strategy,\n middleware,\n }).then(({ x, y, placement }) => {\n const styles = { left: `${x}px`, top: `${y}px` }\n\n return { tooltipStyles: styles, tooltipArrowStyles: {}, place: placement }\n })\n}\n","import React, { useEffect, useState, useRef } from 'react'\nimport classNames from 'classnames'\nimport debounce from 'utils/debounce'\nimport { useTooltip } from 'components/TooltipProvider'\nimport useIsomorphicLayoutEffect from 'utils/use-isomorphic-layout-effect'\nimport { getScrollParent } from 'utils/get-scroll-parent'\nimport { computeTooltipPosition } from 'utils/compute-positions'\nimport styles from './styles.module.css'\nimport type { IPosition, ITooltip, PlacesType } from './TooltipTypes'\n\nconst Tooltip = ({\n // props\n id,\n className,\n classNameArrow,\n variant = 'dark',\n anchorId,\n anchorSelect,\n place = 'top',\n offset = 10,\n events = ['hover'],\n openOnClick = false,\n positionStrategy = 'absolute',\n middlewares,\n wrapper: WrapperElement,\n delayShow = 0,\n delayHide = 0,\n float = false,\n hidden = false,\n noArrow = false,\n clickable = false,\n closeOnEsc = false,\n closeOnScroll = false,\n closeOnResize = false,\n style: externalStyles,\n position,\n afterShow,\n afterHide,\n // props handled by controller\n content,\n contentWrapperRef,\n isOpen,\n setIsOpen,\n activeAnchor,\n setActiveAnchor,\n}: ITooltip) => {\n const tooltipRef = useRef<HTMLElement>(null)\n const tooltipArrowRef = useRef<HTMLElement>(null)\n const tooltipShowDelayTimerRef = useRef<NodeJS.Timeout | null>(null)\n const tooltipHideDelayTimerRef = useRef<NodeJS.Timeout | null>(null)\n const [actualPlacement, setActualPlacement] = useState(place)\n const [inlineStyles, setInlineStyles] = useState({})\n const [inlineArrowStyles, setInlineArrowStyles] = useState({})\n const [show, setShow] = useState(false)\n const [rendered, setRendered] = useState(false)\n const wasShowing = useRef(false)\n const lastFloatPosition = useRef<IPosition | null>(null)\n /**\n * @todo Remove this in a future version (provider/wrapper method is deprecated)\n */\n const { anchorRefs, setActiveAnchor: setProviderActiveAnchor } = useTooltip(id)\n const hoveringTooltip = useRef(false)\n const [anchorsBySelect, setAnchorsBySelect] = useState<HTMLElement[]>([])\n const mounted = useRef(false)\n\n const shouldOpenOnClick = openOnClick || events.includes('click')\n\n /**\n * useLayoutEffect runs before useEffect,\n * but should be used carefully because of caveats\n * https://beta.reactjs.org/reference/react/useLayoutEffect#caveats\n */\n useIsomorphicLayoutEffect(() => {\n mounted.current = true\n return () => {\n mounted.current = false\n }\n }, [])\n\n useEffect(() => {\n if (!show) {\n /**\n * this fixes weird behavior when switching between two anchor elements very quickly\n * remove the timeout and switch quickly between two adjancent anchor elements to see it\n *\n * in practice, this means the tooltip is not immediately removed from the DOM on hide\n */\n const timeout = setTimeout(() => {\n setRendered(false)\n }, 150)\n return () => {\n clearTimeout(timeout)\n }\n }\n return () => null\n }, [show])\n\n const handleShow = (value: boolean) => {\n if (!mounted.current) {\n return\n }\n if (value) {\n setRendered(true)\n }\n /**\n * wait for the component to render and calculate position\n * before actually showing\n */\n setTimeout(() => {\n if (!mounted.current) {\n return\n }\n setIsOpen?.(value)\n if (isOpen === undefined) {\n setShow(value)\n }\n }, 10)\n }\n\n /**\n * this replicates the effect from `handleShow()`\n * when `isOpen` is changed from outside\n */\n useEffect(() => {\n if (isOpen === undefined) {\n return () => null\n }\n if (isOpen) {\n setRendered(true)\n }\n const timeout = setTimeout(() => {\n setShow(isOpen)\n }, 10)\n return () => {\n clearTimeout(timeout)\n }\n }, [isOpen])\n\n useEffect(() => {\n if (show === wasShowing.current) {\n return\n }\n wasShowing.current = show\n if (show) {\n afterShow?.()\n } else {\n afterHide?.()\n }\n }, [show])\n\n const handleShowTooltipDelayed = () => {\n if (tooltipShowDelayTimerRef.current) {\n clearTimeout(tooltipShowDelayTimerRef.current)\n }\n\n tooltipShowDelayTimerRef.current = setTimeout(() => {\n handleShow(true)\n }, delayShow)\n }\n\n const handleHideTooltipDelayed = (delay = delayHide) => {\n if (tooltipHideDelayTimerRef.current) {\n clearTimeout(tooltipHideDelayTimerRef.current)\n }\n\n tooltipHideDelayTimerRef.current = setTimeout(() => {\n if (hoveringTooltip.current) {\n return\n }\n handleShow(false)\n }, delay)\n }\n\n const handleShowTooltip = (event?: Event) => {\n if (!event) {\n return\n }\n 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,\n offset,\n elementReference: virtualElement,\n tooltipReference: tooltipRef.current,\n tooltipArrowReference: tooltipArrowRef.current,\n strategy: positionStrategy,\n middlewares,\n }).then((computedStylesData) => {\n if (Object.keys(computedStylesData.tooltipStyles).length) {\n setInlineStyles(computedStylesData.tooltipStyles)\n }\n if (Object.keys(computedStylesData.tooltipArrowStyles).length) {\n setInlineArrowStyles(computedStylesData.tooltipArrowStyles)\n }\n setActualPlacement(computedStylesData.place as PlacesType)\n })\n }\n\n const handleMouseMove = (event?: Event) => {\n if (!event) {\n return\n }\n const mouseEvent = event as MouseEvent\n const mousePosition = {\n x: mouseEvent.clientX,\n y: mouseEvent.clientY,\n }\n handleTooltipPosition(mousePosition)\n lastFloatPosition.current = mousePosition\n }\n\n const handleClickTooltipAnchor = (event?: Event) => {\n handleShowTooltip(event)\n if (delayHide) {\n handleHideTooltipDelayed()\n }\n }\n\n const handleClickOutsideAnchors = (event: MouseEvent) => {\n const anchorById = document.querySelector<HTMLElement>(`[id='${anchorId}']`)\n const anchors = [anchorById, ...anchorsBySelect]\n if (anchors.some((anchor) => anchor?.contains(event.target as HTMLElement))) {\n return\n }\n if (tooltipRef.current?.contains(event.target as HTMLElement)) {\n return\n }\n handleShow(false)\n 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 debouncedHandleShowTooltip = debounce(handleShowTooltip, 50, true)\n const debouncedHandleHideTooltip = debounce(handleHideTooltip, 50, true)\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 (closeOnScroll) {\n window.addEventListener('scroll', handleScrollResize)\n anchorScrollParent?.addEventListener('scroll', handleScrollResize)\n tooltipScrollParent?.addEventListener('scroll', handleScrollResize)\n }\n if (closeOnResize) {\n window.addEventListener('resize', handleScrollResize)\n }\n\n const handleEsc = (event: KeyboardEvent) => {\n if (event.key !== 'Escape') {\n return\n }\n handleShow(false)\n }\n\n if (closeOnEsc) {\n window.addEventListener('keydown', handleEsc)\n }\n\n const enabledEvents: { event: string; listener: (event?: Event) => void }[] = []\n\n if (shouldOpenOnClick) {\n window.addEventListener('click', handleClickOutsideAnchors)\n enabledEvents.push({ event: 'click', listener: handleClickTooltipAnchor })\n } else {\n enabledEvents.push(\n { event: 'mouseenter', listener: debouncedHandleShowTooltip },\n { event: 'mouseleave', listener: debouncedHandleHideTooltip },\n { event: 'focus', listener: debouncedHandleShowTooltip },\n { event: 'blur', listener: debouncedHandleHideTooltip },\n )\n if (float) {\n enabledEvents.push({\n event: 'mousemove',\n listener: handleMouseMove,\n })\n }\n }\n\n const handleMouseEnterTooltip = () => {\n hoveringTooltip.current = true\n }\n const handleMouseLeaveTooltip = () => {\n hoveringTooltip.current = false\n handleHideTooltip()\n }\n\n if (clickable && !shouldOpenOnClick) {\n tooltipRef.current?.addEventListener('mouseenter', handleMouseEnterTooltip)\n tooltipRef.current?.addEventListener('mouseleave', handleMouseLeaveTooltip)\n }\n\n enabledEvents.forEach(({ event, listener }) => {\n elementRefs.forEach((ref) => {\n ref.current?.addEventListener(event, listener)\n })\n })\n\n return () => {\n if (closeOnScroll) {\n window.removeEventListener('scroll', handleScrollResize)\n anchorScrollParent?.removeEventListener('scroll', handleScrollResize)\n tooltipScrollParent?.removeEventListener('scroll', handleScrollResize)\n }\n if (closeOnResize) {\n window.removeEventListener('resize', handleScrollResize)\n }\n if (shouldOpenOnClick) {\n window.removeEventListener('click', handleClickOutsideAnchors)\n }\n if (closeOnEsc) {\n window.removeEventListener('keydown', handleEsc)\n }\n if (clickable && !shouldOpenOnClick) {\n tooltipRef.current?.removeEventListener('mouseenter', handleMouseEnterTooltip)\n tooltipRef.current?.removeEventListener('mouseleave', handleMouseLeaveTooltip)\n }\n enabledEvents.forEach(({ event, listener }) => {\n elementRefs.forEach((ref) => {\n ref.current?.removeEventListener(event, listener)\n })\n })\n }\n /**\n * rendered is also a dependency to ensure anchor observers are re-registered\n * since `tooltipRef` becomes stale after removing/adding the tooltip to the DOM\n */\n }, [rendered, anchorRefs, anchorsBySelect, closeOnEsc, events])\n\n useEffect(() => {\n let selector = anchorSelect ?? ''\n if (!selector && id) {\n selector = `[data-tooltip-id='${id}']`\n }\n const documentObserverCallback: MutationCallback = (mutationList) => {\n const newAnchors: HTMLElement[] = []\n mutationList.forEach((mutation) => {\n if (mutation.type === 'attributes' && mutation.attributeName === 'data-tooltip-id') {\n const newId = (mutation.target as HTMLElement).getAttribute('data-tooltip-id')\n if (newId === id) {\n newAnchors.push(mutation.target as HTMLElement)\n }\n }\n if (mutation.type !== 'childList') {\n return\n }\n if (activeAnchor) {\n ;[...mutation.removedNodes].some((node) => {\n if (node?.contains?.(activeAnchor)) {\n setRendered(false)\n handleShow(false)\n setActiveAnchor(null)\n 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) {\n setAnchorsBySelect((anchors) => [...anchors, ...newAnchors])\n }\n }\n const documentObserver = new MutationObserver(documentObserverCallback)\n // watch for anchor being removed from the DOM\n documentObserver.observe(document.body, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['data-tooltip-id'],\n })\n return () => {\n documentObserver.disconnect()\n }\n }, [id, anchorSelect, activeAnchor])\n\n const updateTooltipPosition = () => {\n if (position) {\n // if `position` is set, override regular and `float` positioning\n handleTooltipPosition(position)\n return\n }\n\n if (float) {\n if (lastFloatPosition.current) {\n /*\n Without this, changes to `content`, `place`, `offset`, ..., will only\n trigger a position calculation after a `mousemove` event.\n\n To see why this matters, comment this line, run `yarn dev` and click the\n \"Hover me!\" anchor.\n */\n handleTooltipPosition(lastFloatPosition.current)\n }\n // if `float` is set, override regular positioning\n return\n }\n\n computeTooltipPosition({\n place,\n offset,\n elementReference: activeAnchor,\n tooltipReference: tooltipRef.current,\n tooltipArrowReference: tooltipArrowRef.current,\n strategy: positionStrategy,\n middlewares,\n }).then((computedStylesData) => {\n if (!mounted.current) {\n // invalidate computed positions after remount\n return\n }\n if (Object.keys(computedStylesData.tooltipStyles).length) {\n setInlineStyles(computedStylesData.tooltipStyles)\n }\n if (Object.keys(computedStylesData.tooltipArrowStyles).length) {\n setInlineArrowStyles(computedStylesData.tooltipArrowStyles)\n }\n setActualPlacement(computedStylesData.place as PlacesType)\n })\n }\n\n useEffect(() => {\n updateTooltipPosition()\n }, [show, activeAnchor, content, externalStyles, place, offset, positionStrategy, position])\n\n useEffect(() => {\n if (!contentWrapperRef?.current) {\n return () => null\n }\n const contentObserver = new ResizeObserver(() => {\n 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 return () => {\n if (tooltipShowDelayTimerRef.current) {\n clearTimeout(tooltipShowDelayTimerRef.current)\n }\n if (tooltipHideDelayTimerRef.current) {\n clearTimeout(tooltipHideDelayTimerRef.current)\n }\n }\n }, [])\n\n useEffect(() => {\n let selector = anchorSelect\n if (!selector && id) {\n selector = `[data-tooltip-id='${id}']`\n }\n if (!selector) {\n return\n }\n try {\n const anchors = Array.from(document.querySelectorAll<HTMLElement>(selector))\n setAnchorsBySelect(anchors)\n } catch {\n // warning was already issued in the controller\n setAnchorsBySelect([])\n }\n }, [id, anchorSelect])\n\n const canShow = !hidden && content && show && Object.keys(inlineStyles).length > 0\n\n return rendered ? (\n <WrapperElement\n id={id}\n role=\"tooltip\"\n className={classNames(\n 'react-tooltip',\n styles['tooltip'],\n styles[variant],\n className,\n `react-tooltip__place-${actualPlacement}`,\n {\n [styles['show']]: canShow,\n [styles['fixed']]: positionStrategy === 'fixed',\n [styles['clickable']]: clickable,\n },\n )}\n style={{ ...externalStyles, ...inlineStyles }}\n ref={tooltipRef}\n >\n {content}\n <WrapperElement\n className={classNames('react-tooltip-arrow', styles['arrow'], classNameArrow, {\n /**\n * changed from dash `no-arrow` to camelcase because of:\n * https://github.com/indooorsman/esbuild-css-modules-plugin/issues/42\n */\n [styles['noArrow']]: noArrow,\n })}\n style={inlineArrowStyles}\n ref={tooltipArrowRef}\n />\n </WrapperElement>\n ) : null\n}\n\nexport default Tooltip\n","/* eslint-disable 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} from 'components/Tooltip/TooltipTypes'\nimport { useTooltip } from 'components/TooltipProvider'\nimport { TooltipContent } from 'components/TooltipContent'\nimport type { ITooltipController } from './TooltipControllerTypes'\n\nconst TooltipController = ({\n id,\n anchorId,\n anchorSelect,\n content,\n html,\n render,\n className,\n classNameArrow,\n variant = 'dark',\n place = 'top',\n offset = 10,\n wrapper = 'div',\n children = null,\n events = ['hover'],\n openOnClick = false,\n positionStrategy = 'absolute',\n middlewares,\n delayShow = 0,\n delayHide = 0,\n float = false,\n hidden = false,\n noArrow = false,\n clickable = false,\n closeOnEsc = false,\n closeOnScroll = false,\n closeOnResize = false,\n style,\n position,\n isOpen,\n setIsOpen,\n afterShow,\n afterHide,\n}: ITooltipController) => {\n const [tooltipContent, setTooltipContent] = useState(content)\n const [tooltipHtml, setTooltipHtml] = useState(html)\n const [tooltipPlace, setTooltipPlace] = useState(place)\n const [tooltipVariant, setTooltipVariant] = useState(variant)\n const [tooltipOffset, setTooltipOffset] = useState(offset)\n const [tooltipDelayShow, setTooltipDelayShow] = useState(delayShow)\n const [tooltipDelayHide, setTooltipDelayHide] = useState(delayHide)\n const [tooltipFloat, setTooltipFloat] = useState(float)\n const [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 [activeAnchor, setActiveAnchor] = useState<HTMLElement | null>(null)\n /**\n * @todo Remove this in a future version (provider/wrapper method is deprecated)\n */\n const { anchorRefs, activeAnchor: providerActiveAnchor } = useTooltip(id)\n\n const getDataAttributesFromAnchorElement = (elementReference: HTMLElement) => {\n const dataAttributes = elementReference?.getAttributeNames().reduce((acc, name) => {\n if (name.startsWith('data-tooltip-')) {\n const parsedAttribute = name.replace(/^data-tooltip-/, '') as DataAttribute\n acc[parsedAttribute] = elementReference?.getAttribute(name) ?? null\n }\n return acc\n }, {} as Record<DataAttribute, string | null>)\n\n return dataAttributes\n }\n\n const applyAllDataAttributesFromAnchorElement = (\n dataAttributes: Record<string, string | null>,\n ) => {\n const handleDataAttributes: Record<DataAttribute, (value: string | null) => void> = {\n place: (value) => {\n setTooltipPlace((value as PlacesType) ?? place)\n },\n content: (value) => {\n setTooltipContent(value ?? content)\n },\n html: (value) => {\n setTooltipHtml(value ?? html)\n },\n variant: (value) => {\n setTooltipVariant((value as VariantType) ?? variant)\n },\n offset: (value) => {\n setTooltipOffset(value === null ? offset : Number(value))\n },\n wrapper: (value) => {\n setTooltipWrapper((value as WrapperType) ?? wrapper)\n },\n events: (value) => {\n const parsed = value?.split(' ') as EventsType[]\n setTooltipEvents(parsed ?? events)\n },\n 'position-strategy': (value) => {\n setTooltipPositionStrategy((value as PositionStrategy) ?? positionStrategy)\n },\n 'delay-show': (value) => {\n setTooltipDelayShow(value === null ? delayShow : Number(value))\n },\n 'delay-hide': (value) => {\n setTooltipDelayHide(value === null ? delayHide : Number(value))\n },\n float: (value) => {\n setTooltipFloat(value === null ? float : value === 'true')\n },\n hidden: (value) => {\n setTooltipHidden(value === null ? hidden : value === 'true')\n },\n }\n // reset unset data attributes to default values\n // without this, data attributes from the last active anchor will still be used\n Object.values(handleDataAttributes).forEach((handler) => handler(null))\n Object.entries(dataAttributes).forEach(([key, value]) => {\n handleDataAttributes[key as DataAttribute]?.(value)\n })\n }\n\n useEffect(() => {\n setTooltipContent(content)\n }, [content])\n\n useEffect(() => {\n setTooltipHtml(html)\n }, [html])\n\n useEffect(() => {\n setTooltipPlace(place)\n }, [place])\n\n useEffect(() => {\n 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 const elementRefs = new Set(anchorRefs)\n\n let selector = anchorSelect\n if (!selector && id) {\n selector = `[data-tooltip-id='${id}']`\n }\n if (selector) {\n try {\n const anchorsBySelect = document.querySelectorAll<HTMLElement>(selector)\n anchorsBySelect.forEach((anchor) => {\n elementRefs.add({ current: anchor })\n })\n } catch {\n if (!process.env.NODE_ENV || process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.warn(`[react-tooltip] \"${selector}\" is not a valid CSS selector`)\n }\n }\n }\n\n const anchorById = document.querySelector<HTMLElement>(`[id='${anchorId}']`)\n if (anchorById) {\n elementRefs.add({ current: anchorById })\n }\n\n if (!elementRefs.size) {\n return () => null\n }\n\n const anchorElement = activeAnchor ?? anchorById ?? providerActiveAnchor.current\n\n const observerCallback: MutationCallback = (mutationList) => {\n mutationList.forEach((mutation) => {\n if (\n !anchorElement ||\n mutation.type !== 'attributes' ||\n !mutation.attributeName?.startsWith('data-tooltip-')\n ) {\n return\n }\n // make sure to get all set attributes, since all unset attributes are reset\n const dataAttributes = getDataAttributesFromAnchorElement(anchorElement)\n applyAllDataAttributesFromAnchorElement(dataAttributes)\n })\n }\n\n // Create an observer instance linked to the callback function\n const observer = new MutationObserver(observerCallback)\n\n // do not check for subtree and childrens, we only want to know attribute changes\n // to stay watching `data-attributes-*` from anchor element\n const observerConfig = { attributes: true, childList: false, subtree: false }\n\n if (anchorElement) {\n const dataAttributes = getDataAttributesFromAnchorElement(anchorElement)\n applyAllDataAttributesFromAnchorElement(dataAttributes)\n // Start observing the target node for configured mutations\n observer.observe(anchorElement, observerConfig)\n }\n\n return () => {\n // Remove the observer when the tooltip is destroyed\n observer.disconnect()\n }\n }, [anchorRefs, providerActiveAnchor, activeAnchor, anchorId, anchorSelect])\n\n /**\n * content priority: children < 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 rendered = render({ content: tooltipContent ?? null, 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 id,\n anchorId,\n anchorSelect,\n className,\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 style,\n position,\n isOpen,\n setIsOpen,\n afterShow,\n afterHide,\n activeAnchor,\n setActiveAnchor: (anchor: HTMLElement | null) => setActiveAnchor(anchor),\n }\n\n return <Tooltip {...props} />\n}\n\nexport default TooltipController\n"],"names":["createContext","useState","useCallback","useMemo","React","useContext","useRef","useEffect","classNames","useLayoutEffect","offset","flip","shift","arrow","computePosition"],"mappings":"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"}
|
|
@@ -4,5 +4,5 @@
|
|
|
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("classnames"),require("@floating-ui/dom")):"function"==typeof define&&define.amd?define(["exports","react","classnames","@floating-ui/dom"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ReactTooltip={},e.React,e.classNames,e.FloatingUIDOM)}(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),s=l(o);function c(e,t){void 0===t&&(t={});var o=t.insertAt;if(e&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],l=document.createElement("style");l.type="text/css","top"===o&&r.firstChild?r.insertBefore(l,r.firstChild):r.appendChild(l),l.styleSheet?l.styleSheet.cssText=e:l.appendChild(document.createTextNode(e))}}c(":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}");const a=(e,t,o)=>{let r=null;return 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))}},i="DEFAULT_TOOLTIP_ID",u={anchorRefs:new Set,activeAnchor:{current:null},attach:()=>{},detach:()=>{},setActiveAnchor:()=>{}},d={getTooltipData:()=>u},f=t.createContext(d);function p(e=i){return t.useContext(f).getTooltipData(e)}const v="undefined"!=typeof window?t.useLayoutEffect:t.useEffect,m=e=>{if(!(e instanceof HTMLElement||e instanceof SVGElement))return null;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(m(t))return t;t=t.parentElement}return document.scrollingElement||document.documentElement},y=async({elementReference:e=null,tooltipReference:t=null,tooltipArrowReference:o=null,place:l="top",offset:n=10,strategy:s="absolute",middlewares:c=[r.offset(Number(n)),r.flip(),r.shift({padding:5})]})=>{if(!e)return{tooltipStyles:{},tooltipArrowStyles:{},place:l};if(null===t)return{tooltipStyles:{},tooltipArrowStyles:{},place:l};const a=c;return o?(a.push(r.arrow({element:o,padding:5})),r.computePosition(e,t,{placement:l,strategy:s,middleware:a}).then((({x:e,y:t,placement:o,middlewareData:r})=>{var l,n;const s={left:`${e}px`,top:`${t}px`},{x:c,y:a}=null!==(l=r.arrow)&&void 0!==l?l:{x:0,y:0};return{tooltipStyles:s,tooltipArrowStyles:{left:null!=c?`${c}px`:"",top:null!=a?`${a}px`:"",right:"",bottom:"",[null!==(n={top:"bottom",right:"left",bottom:"top",left:"right"}[o.split("-")[0]])&&void 0!==n?n:"bottom"]:"-4px"},place:o}}))):r.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})))};var w={tooltip:"styles-module_tooltip__mnnfp",fixed:"styles-module_fixed__7ciUi",arrow:"styles-module_arrow__K0L3T",noArrow:"styles-module_noArrow__T8y2L",clickable:"styles-module_clickable__Bv9o7",show:"styles-module_show__2NboJ",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"};c(".styles-module_tooltip__mnnfp{border-radius:3px;font-size:90%;left:0;opacity:0;padding:8px 16px;pointer-events:none;position:absolute;top:0;transition:opacity .3s ease-out;visibility:hidden;width:max-content;will-change:opacity,visibility}.styles-module_fixed__7ciUi{position:fixed}.styles-module_arrow__K0L3T{background:inherit;height:8px;position:absolute;transform:rotate(45deg);width:8px}.styles-module_noArrow__T8y2L{display:none}.styles-module_clickable__Bv9o7{pointer-events:auto}.styles-module_show__2NboJ{opacity:var(--rt-opacity);visibility:visible}.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)}");const _=({id:e,className:o,classNameArrow:r,variant:l="dark",anchorId:c,anchorSelect:i,place:u="top",offset:d=10,events:f=["hover"],openOnClick:m=!1,positionStrategy:_="absolute",middlewares:S,wrapper:E,delayShow:b=0,delayHide:g=0,float:A=!1,hidden:T=!1,noArrow:k=!1,clickable:x=!1,closeOnEsc:O=!1,closeOnScroll:R=!1,closeOnResize:L=!1,style:N,position:C,afterShow:$,afterHide:j,content:q,contentWrapperRef:H,isOpen:I,setIsOpen:W,activeAnchor:D,setActiveAnchor:z})=>{const M=t.useRef(null),B=t.useRef(null),P=t.useRef(null),K=t.useRef(null),[X,J]=t.useState(u),[U,F]=t.useState({}),[V,Z]=t.useState({}),[G,Y]=t.useState(!1),[Q,ee]=t.useState(!1),te=t.useRef(!1),oe=t.useRef(null),{anchorRefs:re,setActiveAnchor:le}=p(e),ne=t.useRef(!1),[se,ce]=t.useState([]),ae=t.useRef(!1),ie=m||f.includes("click");v((()=>(ae.current=!0,()=>{ae.current=!1})),[]),t.useEffect((()=>{if(!G){const e=setTimeout((()=>{ee(!1)}),150);return()=>{clearTimeout(e)}}return()=>null}),[G]);const ue=e=>{ae.current&&(e&&ee(!0),setTimeout((()=>{ae.current&&(null==W||W(e),void 0===I&&Y(e))}),10))};t.useEffect((()=>{if(void 0===I)return()=>null;I&&ee(!0);const e=setTimeout((()=>{Y(I)}),10);return()=>{clearTimeout(e)}}),[I]),t.useEffect((()=>{G!==te.current&&(te.current=G,G?null==$||$():null==j||j())}),[G]);const de=(e=g)=>{K.current&&clearTimeout(K.current),K.current=setTimeout((()=>{ne.current||ue(!1)}),e)},fe=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 z(null),void le({current:null});b?(P.current&&clearTimeout(P.current),P.current=setTimeout((()=>{ue(!0)}),b)):ue(!0),z(o),le({current:o}),K.current&&clearTimeout(K.current)},pe=()=>{x?de(g||100):g?de():ue(!1),P.current&&clearTimeout(P.current)},ve=({x:e,y:t})=>{y({place:u,offset:d,elementReference:{getBoundingClientRect:()=>({x:e,y:t,width:0,height:0,top:t,left:e,right:e,bottom:t})},tooltipReference:M.current,tooltipArrowReference:B.current,strategy:_,middlewares:S}).then((e=>{Object.keys(e.tooltipStyles).length&&F(e.tooltipStyles),Object.keys(e.tooltipArrowStyles).length&&Z(e.tooltipArrowStyles),J(e.place)}))},me=e=>{if(!e)return;const t=e,o={x:t.clientX,y:t.clientY};ve(o),oe.current=o},he=e=>{fe(e),g&&de()},ye=e=>{var t;[document.querySelector(`[id='${c}']`),...se].some((t=>null==t?void 0:t.contains(e.target)))||(null===(t=M.current)||void 0===t?void 0:t.contains(e.target))||ue(!1)},we=a(fe,50,!0),_e=a(pe,50,!0);t.useEffect((()=>{var e,t;const o=new Set(re);se.forEach((e=>{o.add({current:e})}));const r=document.querySelector(`[id='${c}']`);r&&o.add({current:r});const l=()=>{ue(!1)},n=h(D),s=h(M.current);R&&(window.addEventListener("scroll",l),null==n||n.addEventListener("scroll",l),null==s||s.addEventListener("scroll",l)),L&&window.addEventListener("resize",l);const a=e=>{"Escape"===e.key&&ue(!1)};O&&window.addEventListener("keydown",a);const i=[];ie?(window.addEventListener("click",ye),i.push({event:"click",listener:he})):(i.push({event:"mouseenter",listener:we},{event:"mouseleave",listener:_e},{event:"focus",listener:we},{event:"blur",listener:_e}),A&&i.push({event:"mousemove",listener:me}));const u=()=>{ne.current=!0},d=()=>{ne.current=!1,pe()};return x&&!ie&&(null===(e=M.current)||void 0===e||e.addEventListener("mouseenter",u),null===(t=M.current)||void 0===t||t.addEventListener("mouseleave",d)),i.forEach((({event:e,listener:t})=>{o.forEach((o=>{var r;null===(r=o.current)||void 0===r||r.addEventListener(e,t)}))})),()=>{var e,t;R&&(window.removeEventListener("scroll",l),null==n||n.removeEventListener("scroll",l),null==s||s.removeEventListener("scroll",l)),L&&window.removeEventListener("resize",l),ie&&window.removeEventListener("click",ye),O&&window.removeEventListener("keydown",a),x&&!ie&&(null===(e=M.current)||void 0===e||e.removeEventListener("mouseenter",u),null===(t=M.current)||void 0===t||t.removeEventListener("mouseleave",d)),i.forEach((({event:e,listener:t})=>{o.forEach((o=>{var r;null===(r=o.current)||void 0===r||r.removeEventListener(e,t)}))}))}}),[Q,re,se,O,f]),t.useEffect((()=>{let t=null!=i?i:"";!t&&e&&(t=`[data-tooltip-id='${e}']`);const o=new MutationObserver((o=>{const r=[];o.forEach((o=>{if("attributes"===o.type&&"data-tooltip-id"===o.attributeName){o.target.getAttribute("data-tooltip-id")===e&&r.push(o.target)}if("childList"===o.type&&(D&&[...o.removedNodes].some((e=>{var t;return!!(null===(t=null==e?void 0:e.contains)||void 0===t?void 0:t.call(e,D))&&(ee(!1),ue(!1),z(null),!0)})),t))try{const e=[...o.addedNodes].filter((e=>1===e.nodeType));r.push(...e.filter((e=>e.matches(t)))),r.push(...e.flatMap((e=>[...e.querySelectorAll(t)])))}catch(e){}})),r.length&&ce((e=>[...e,...r]))}));return o.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-tooltip-id"]}),()=>{o.disconnect()}}),[e,i,D]);const Se=()=>{C?ve(C):A?oe.current&&ve(oe.current):y({place:u,offset:d,elementReference:D,tooltipReference:M.current,tooltipArrowReference:B.current,strategy:_,middlewares:S}).then((e=>{ae.current&&(Object.keys(e.tooltipStyles).length&&F(e.tooltipStyles),Object.keys(e.tooltipArrowStyles).length&&Z(e.tooltipArrowStyles),J(e.place))}))};t.useEffect((()=>{Se()}),[G,D,q,N,u,d,_,C]),t.useEffect((()=>{if(!(null==H?void 0:H.current))return()=>null;const e=new ResizeObserver((()=>{Se()}));return e.observe(H.current),()=>{e.disconnect()}}),[q,null==H?void 0:H.current]),t.useEffect((()=>{var e;const t=document.querySelector(`[id='${c}']`),o=[...se,t];D&&o.includes(D)||z(null!==(e=se[0])&&void 0!==e?e:t)}),[c,se,D]),t.useEffect((()=>()=>{P.current&&clearTimeout(P.current),K.current&&clearTimeout(K.current)}),[]),t.useEffect((()=>{let t=i;if(!t&&e&&(t=`[data-tooltip-id='${e}']`),t)try{const e=Array.from(document.querySelectorAll(t));ce(e)}catch(e){ce([])}}),[e,i]);const Ee=!T&&q&&G&&Object.keys(U).length>0;return Q?n.default.createElement(E,{id:e,role:"tooltip",className:s.default("react-tooltip",w.tooltip,w[l],o,`react-tooltip__place-${X}`,{[w.show]:Ee,[w.fixed]:"fixed"===_,[w.clickable]:x}),style:{...N,...U},ref:M},q,n.default.createElement(E,{className:s.default("react-tooltip-arrow",w.arrow,r,{[w.noArrow]:k}),style:V,ref:B})):null},S=({content:e})=>n.default.createElement("span",{dangerouslySetInnerHTML:{__html:e}});e.Tooltip=({id:e,anchorId:o,anchorSelect:r,content:l,html:s,render:c,className:a,classNameArrow:i,variant:u="dark",place:d="top",offset:f=10,wrapper:v="div",children:m=null,events:h=["hover"],openOnClick:y=!1,positionStrategy:w="absolute",middlewares:E,delayShow:b=0,delayHide:g=0,float:A=!1,hidden:T=!1,noArrow:k=!1,clickable:x=!1,closeOnEsc:O=!1,closeOnScroll:R=!1,closeOnResize:L=!1,style:N,position:C,isOpen:$,setIsOpen:j,afterShow:q,afterHide:H})=>{const[I,W]=t.useState(l),[D,z]=t.useState(s),[M,B]=t.useState(d),[P,K]=t.useState(u),[X,J]=t.useState(f),[U,F]=t.useState(b),[V,Z]=t.useState(g),[G,Y]=t.useState(A),[Q,ee]=t.useState(T),[te,oe]=t.useState(v),[re,le]=t.useState(h),[ne,se]=t.useState(w),[ce,ae]=t.useState(null),{anchorRefs:ie,activeAnchor:ue}=p(e),de=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}),{}),fe=e=>{const t={place:e=>{var t;B(null!==(t=e)&&void 0!==t?t:d)},content:e=>{W(null!=e?e:l)},html:e=>{z(null!=e?e:s)},variant:e=>{var t;K(null!==(t=e)&&void 0!==t?t:u)},offset:e=>{J(null===e?f:Number(e))},wrapper:e=>{var t;oe(null!==(t=e)&&void 0!==t?t:v)},events:e=>{const t=null==e?void 0:e.split(" ");le(null!=t?t:h)},"position-strategy":e=>{var t;se(null!==(t=e)&&void 0!==t?t:w)},"delay-show":e=>{F(null===e?b:Number(e))},"delay-hide":e=>{Z(null===e?g:Number(e))},float:e=>{Y(null===e?A:"true"===e)},hidden:e=>{ee(null===e?T:"true"===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((()=>{W(l)}),[l]),t.useEffect((()=>{z(s)}),[s]),t.useEffect((()=>{B(d)}),[d]),t.useEffect((()=>{K(u)}),[u]),t.useEffect((()=>{J(f)}),[f]),t.useEffect((()=>{F(b)}),[b]),t.useEffect((()=>{Z(g)}),[g]),t.useEffect((()=>{Y(A)}),[A]),t.useEffect((()=>{ee(T)}),[T]),t.useEffect((()=>{se(w)}),[w]),t.useEffect((()=>{var t;const l=new Set(ie);let n=r;if(!n&&e&&(n=`[data-tooltip-id='${e}']`),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 s=document.querySelector(`[id='${o}']`);if(s&&l.add({current:s}),!l.size)return()=>null;const c=null!==(t=null!=ce?ce:s)&&void 0!==t?t:ue.current,a=new MutationObserver((e=>{e.forEach((e=>{var t;if(!c||"attributes"!==e.type||!(null===(t=e.attributeName)||void 0===t?void 0:t.startsWith("data-tooltip-")))return;const o=de(c);fe(o)}))})),i={attributes:!0,childList:!1,subtree:!1};if(c){const e=de(c);fe(e),a.observe(c,i)}return()=>{a.disconnect()}}),[ie,ue,ce,o,r]);let pe=m;const ve=t.useRef(null);if(c){const e=c({content:null!=I?I:null,activeAnchor:ce});pe=e?n.default.createElement("div",{ref:ve,className:"react-tooltip-content-wrapper"},e):null}else I&&(pe=I);D&&(pe=n.default.createElement(S,{content:D}));const me={id:e,anchorId:o,anchorSelect:r,className:a,classNameArrow:i,content:pe,contentWrapperRef:ve,place:M,variant:P,offset:X,wrapper:te,events:re,openOnClick:y,positionStrategy:ne,middlewares:E,delayShow:U,delayHide:V,float:G,hidden:Q,noArrow:k,clickable:x,closeOnEsc:O,closeOnScroll:R,closeOnResize:L,style:N,position:C,isOpen:$,setIsOpen:j,afterShow:q,afterHide:H,activeAnchor:ce,setActiveAnchor:e=>ae(e)};return n.default.createElement(_,{...me})},e.TooltipProvider=({children:e})=>{const[o,r]=t.useState({[i]:new Set}),[l,s]=t.useState({[i]:{current:null}}),c=(e,...t)=>{r((o=>{var r;const l=null!==(r=o[e])&&void 0!==r?r:new Set;return t.forEach((e=>l.add(e))),{...o,[e]:new Set(l)}}))},a=(e,...t)=>{r((o=>{const r=o[e];return r?(t.forEach((e=>r.delete(e))),{...o}):o}))},u=t.useCallback(((e=i)=>{var t,r;return{anchorRefs:null!==(t=o[e])&&void 0!==t?t:new Set,activeAnchor:null!==(r=l[e])&&void 0!==r?r:{current:null},attach:(...t)=>c(e,...t),detach:(...t)=>a(e,...t),setActiveAnchor:t=>((e,t)=>{s((o=>{var r;return(null===(r=o[e])||void 0===r?void 0:r.current)===t.current?o:{...o,[e]:t}}))})(e,t)}}),[o,l,c,a]),d=t.useMemo((()=>({getTooltipData:u})),[u]);return n.default.createElement(f.Provider,{value:d},e)},e.TooltipWrapper=({tooltipId:e,children:o,className:r,place:l,content:c,html:a,variant:i,offset:u,wrapper:d,events:f,positionStrategy:v,delayShow:m,delayHide:h})=>{const{attach:y,detach:w}=p(e),_=t.useRef(null);return t.useEffect((()=>(y(_),()=>{w(_)})),[]),n.default.createElement("span",{ref:_,className:s.default("react-tooltip-wrapper",r),"data-tooltip-place":l,"data-tooltip-content":c,"data-tooltip-html":a,"data-tooltip-variant":i,"data-tooltip-offset":u,"data-tooltip-wrapper":d,"data-tooltip-events":f,"data-tooltip-position-strategy":v,"data-tooltip-delay-show":m,"data-tooltip-delay-hide":h},o)},Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
7
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("classnames"),require("@floating-ui/dom")):"function"==typeof define&&define.amd?define(["exports","react","classnames","@floating-ui/dom"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ReactTooltip={},e.React,e.classNames,e.FloatingUIDOM)}(this,(function(e,t,r,o){"use strict";function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=l(t),c=l(r);function s(e,t){void 0===t&&(t={});var r=t.insertAt;if(e&&"undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],l=document.createElement("style");l.type="text/css","top"===r&&o.firstChild?o.insertBefore(l,o.firstChild):o.appendChild(l),l.styleSheet?l.styleSheet.cssText=e:l.appendChild(document.createTextNode(e))}}s(":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}");const a=(e,t,r)=>{let o=null;return function(...l){const n=()=>{o=null,r||e.apply(this,l)};r&&!o&&(e.apply(this,l),o=setTimeout(n,t)),r||(o&&clearTimeout(o),o=setTimeout(n,t))}},i="DEFAULT_TOOLTIP_ID",u={anchorRefs:new Set,activeAnchor:{current:null},attach:()=>{},detach:()=>{},setActiveAnchor:()=>{}},d={getTooltipData:()=>u},f=t.createContext(d);function p(e=i){return t.useContext(f).getTooltipData(e)}const v="undefined"!=typeof window?t.useLayoutEffect:t.useEffect,m=e=>{if(!(e instanceof HTMLElement||e instanceof SVGElement))return!1;const t=getComputedStyle(e);return["overflow","overflow-x","overflow-y"].some((e=>{const r=t.getPropertyValue(e);return"auto"===r||"scroll"===r}))},h=e=>{if(!e)return null;let t=e.parentElement;for(;t;){if(m(t))return t;t=t.parentElement}return document.scrollingElement||document.documentElement},y=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(),o.shift({padding:5})]})=>{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:r,middlewareData:o})=>{var l,n;const c={left:`${e}px`,top:`${t}px`},{x:s,y:a}=null!==(l=o.arrow)&&void 0!==l?l:{x:0,y:0};return{tooltipStyles:c,tooltipArrowStyles:{left:null!=s?`${s}px`:"",top:null!=a?`${a}px`:"",right:"",bottom:"",[null!==(n={top:"bottom",right:"left",bottom:"top",left:"right"}[r.split("-")[0]])&&void 0!==n?n:"bottom"]:"-4px"},place:r}}))):o.computePosition(e,t,{placement:"bottom",strategy:c,middleware:a}).then((({x:e,y:t,placement:r})=>({tooltipStyles:{left:`${e}px`,top:`${t}px`},tooltipArrowStyles:{},place:r})))};var w={tooltip:"styles-module_tooltip__mnnfp",fixed:"styles-module_fixed__7ciUi",arrow:"styles-module_arrow__K0L3T",noArrow:"styles-module_noArrow__T8y2L",clickable:"styles-module_clickable__Bv9o7",show:"styles-module_show__2NboJ",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"};s(".styles-module_tooltip__mnnfp{border-radius:3px;font-size:90%;left:0;opacity:0;padding:8px 16px;pointer-events:none;position:absolute;top:0;transition:opacity .3s ease-out;visibility:hidden;width:max-content;will-change:opacity,visibility}.styles-module_fixed__7ciUi{position:fixed}.styles-module_arrow__K0L3T{background:inherit;height:8px;position:absolute;transform:rotate(45deg);width:8px}.styles-module_noArrow__T8y2L{display:none}.styles-module_clickable__Bv9o7{pointer-events:auto}.styles-module_show__2NboJ{opacity:var(--rt-opacity);visibility:visible}.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)}");const _=({id:e,className:r,classNameArrow:o,variant:l="dark",anchorId:s,anchorSelect:i,place:u="top",offset:d=10,events:f=["hover"],openOnClick:m=!1,positionStrategy:_="absolute",middlewares:S,wrapper:E,delayShow:b=0,delayHide:g=0,float:A=!1,hidden:T=!1,noArrow:k=!1,clickable:x=!1,closeOnEsc:O=!1,closeOnScroll:R=!1,closeOnResize:L=!1,style:N,position:C,afterShow:$,afterHide:j,content:q,contentWrapperRef:H,isOpen:I,setIsOpen:W,activeAnchor:D,setActiveAnchor:z})=>{const M=t.useRef(null),B=t.useRef(null),P=t.useRef(null),K=t.useRef(null),[X,J]=t.useState(u),[U,F]=t.useState({}),[V,Z]=t.useState({}),[G,Y]=t.useState(!1),[Q,ee]=t.useState(!1),te=t.useRef(!1),re=t.useRef(null),{anchorRefs:oe,setActiveAnchor:le}=p(e),ne=t.useRef(!1),[ce,se]=t.useState([]),ae=t.useRef(!1),ie=m||f.includes("click");v((()=>(ae.current=!0,()=>{ae.current=!1})),[]),t.useEffect((()=>{if(!G){const e=setTimeout((()=>{ee(!1)}),150);return()=>{clearTimeout(e)}}return()=>null}),[G]);const ue=e=>{ae.current&&(e&&ee(!0),setTimeout((()=>{ae.current&&(null==W||W(e),void 0===I&&Y(e))}),10))};t.useEffect((()=>{if(void 0===I)return()=>null;I&&ee(!0);const e=setTimeout((()=>{Y(I)}),10);return()=>{clearTimeout(e)}}),[I]),t.useEffect((()=>{G!==te.current&&(te.current=G,G?null==$||$():null==j||j())}),[G]);const de=(e=g)=>{K.current&&clearTimeout(K.current),K.current=setTimeout((()=>{ne.current||ue(!1)}),e)},fe=e=>{var t;if(!e)return;const r=null!==(t=e.currentTarget)&&void 0!==t?t:e.target;if(!(null==r?void 0:r.isConnected))return z(null),void le({current:null});b?(P.current&&clearTimeout(P.current),P.current=setTimeout((()=>{ue(!0)}),b)):ue(!0),z(r),le({current:r}),K.current&&clearTimeout(K.current)},pe=()=>{x?de(g||100):g?de():ue(!1),P.current&&clearTimeout(P.current)},ve=({x:e,y:t})=>{y({place:u,offset:d,elementReference:{getBoundingClientRect:()=>({x:e,y:t,width:0,height:0,top:t,left:e,right:e,bottom:t})},tooltipReference:M.current,tooltipArrowReference:B.current,strategy:_,middlewares:S}).then((e=>{Object.keys(e.tooltipStyles).length&&F(e.tooltipStyles),Object.keys(e.tooltipArrowStyles).length&&Z(e.tooltipArrowStyles),J(e.place)}))},me=e=>{if(!e)return;const t=e,r={x:t.clientX,y:t.clientY};ve(r),re.current=r},he=e=>{fe(e),g&&de()},ye=e=>{var t;[document.querySelector(`[id='${s}']`),...ce].some((t=>null==t?void 0:t.contains(e.target)))||(null===(t=M.current)||void 0===t?void 0:t.contains(e.target))||(ue(!1),P.current&&clearTimeout(P.current))},we=a(fe,50,!0),_e=a(pe,50,!0);t.useEffect((()=>{var e,t;const r=new Set(oe);ce.forEach((e=>{r.add({current:e})}));const o=document.querySelector(`[id='${s}']`);o&&r.add({current:o});const l=()=>{ue(!1)},n=h(D),c=h(M.current);R&&(window.addEventListener("scroll",l),null==n||n.addEventListener("scroll",l),null==c||c.addEventListener("scroll",l)),L&&window.addEventListener("resize",l);const a=e=>{"Escape"===e.key&&ue(!1)};O&&window.addEventListener("keydown",a);const i=[];ie?(window.addEventListener("click",ye),i.push({event:"click",listener:he})):(i.push({event:"mouseenter",listener:we},{event:"mouseleave",listener:_e},{event:"focus",listener:we},{event:"blur",listener:_e}),A&&i.push({event:"mousemove",listener:me}));const u=()=>{ne.current=!0},d=()=>{ne.current=!1,pe()};return x&&!ie&&(null===(e=M.current)||void 0===e||e.addEventListener("mouseenter",u),null===(t=M.current)||void 0===t||t.addEventListener("mouseleave",d)),i.forEach((({event:e,listener:t})=>{r.forEach((r=>{var o;null===(o=r.current)||void 0===o||o.addEventListener(e,t)}))})),()=>{var e,t;R&&(window.removeEventListener("scroll",l),null==n||n.removeEventListener("scroll",l),null==c||c.removeEventListener("scroll",l)),L&&window.removeEventListener("resize",l),ie&&window.removeEventListener("click",ye),O&&window.removeEventListener("keydown",a),x&&!ie&&(null===(e=M.current)||void 0===e||e.removeEventListener("mouseenter",u),null===(t=M.current)||void 0===t||t.removeEventListener("mouseleave",d)),i.forEach((({event:e,listener:t})=>{r.forEach((r=>{var o;null===(o=r.current)||void 0===o||o.removeEventListener(e,t)}))}))}}),[Q,oe,ce,O,f]),t.useEffect((()=>{let t=null!=i?i:"";!t&&e&&(t=`[data-tooltip-id='${e}']`);const r=new MutationObserver((r=>{const o=[];r.forEach((r=>{if("attributes"===r.type&&"data-tooltip-id"===r.attributeName){r.target.getAttribute("data-tooltip-id")===e&&o.push(r.target)}if("childList"===r.type&&(D&&[...r.removedNodes].some((e=>{var t;return!!(null===(t=null==e?void 0:e.contains)||void 0===t?void 0:t.call(e,D))&&(ee(!1),ue(!1),z(null),P.current&&clearTimeout(P.current),K.current&&clearTimeout(K.current),!0)})),t))try{const e=[...r.addedNodes].filter((e=>1===e.nodeType));o.push(...e.filter((e=>e.matches(t)))),o.push(...e.flatMap((e=>[...e.querySelectorAll(t)])))}catch(e){}})),o.length&&se((e=>[...e,...o]))}));return r.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-tooltip-id"]}),()=>{r.disconnect()}}),[e,i,D]);const Se=()=>{C?ve(C):A?re.current&&ve(re.current):y({place:u,offset:d,elementReference:D,tooltipReference:M.current,tooltipArrowReference:B.current,strategy:_,middlewares:S}).then((e=>{ae.current&&(Object.keys(e.tooltipStyles).length&&F(e.tooltipStyles),Object.keys(e.tooltipArrowStyles).length&&Z(e.tooltipArrowStyles),J(e.place))}))};t.useEffect((()=>{Se()}),[G,D,q,N,u,d,_,C]),t.useEffect((()=>{if(!(null==H?void 0:H.current))return()=>null;const e=new ResizeObserver((()=>{Se()}));return e.observe(H.current),()=>{e.disconnect()}}),[q,null==H?void 0:H.current]),t.useEffect((()=>{var e;const t=document.querySelector(`[id='${s}']`),r=[...ce,t];D&&r.includes(D)||z(null!==(e=ce[0])&&void 0!==e?e:t)}),[s,ce,D]),t.useEffect((()=>()=>{P.current&&clearTimeout(P.current),K.current&&clearTimeout(K.current)}),[]),t.useEffect((()=>{let t=i;if(!t&&e&&(t=`[data-tooltip-id='${e}']`),t)try{const e=Array.from(document.querySelectorAll(t));se(e)}catch(e){se([])}}),[e,i]);const Ee=!T&&q&&G&&Object.keys(U).length>0;return Q?n.default.createElement(E,{id:e,role:"tooltip",className:c.default("react-tooltip",w.tooltip,w[l],r,`react-tooltip__place-${X}`,{[w.show]:Ee,[w.fixed]:"fixed"===_,[w.clickable]:x}),style:{...N,...U},ref:M},q,n.default.createElement(E,{className:c.default("react-tooltip-arrow",w.arrow,o,{[w.noArrow]:k}),style:V,ref:B})):null},S=({content:e})=>n.default.createElement("span",{dangerouslySetInnerHTML:{__html:e}});e.Tooltip=({id:e,anchorId:r,anchorSelect:o,content:l,html:c,render:s,className:a,classNameArrow:i,variant:u="dark",place:d="top",offset:f=10,wrapper:v="div",children:m=null,events:h=["hover"],openOnClick:y=!1,positionStrategy:w="absolute",middlewares:E,delayShow:b=0,delayHide:g=0,float:A=!1,hidden:T=!1,noArrow:k=!1,clickable:x=!1,closeOnEsc:O=!1,closeOnScroll:R=!1,closeOnResize:L=!1,style:N,position:C,isOpen:$,setIsOpen:j,afterShow:q,afterHide:H})=>{const[I,W]=t.useState(l),[D,z]=t.useState(c),[M,B]=t.useState(d),[P,K]=t.useState(u),[X,J]=t.useState(f),[U,F]=t.useState(b),[V,Z]=t.useState(g),[G,Y]=t.useState(A),[Q,ee]=t.useState(T),[te,re]=t.useState(v),[oe,le]=t.useState(h),[ne,ce]=t.useState(w),[se,ae]=t.useState(null),{anchorRefs:ie,activeAnchor:ue}=p(e),de=e=>null==e?void 0:e.getAttributeNames().reduce(((t,r)=>{var o;if(r.startsWith("data-tooltip-")){t[r.replace(/^data-tooltip-/,"")]=null!==(o=null==e?void 0:e.getAttribute(r))&&void 0!==o?o:null}return t}),{}),fe=e=>{const t={place:e=>{var t;B(null!==(t=e)&&void 0!==t?t:d)},content:e=>{W(null!=e?e:l)},html:e=>{z(null!=e?e:c)},variant:e=>{var t;K(null!==(t=e)&&void 0!==t?t:u)},offset:e=>{J(null===e?f:Number(e))},wrapper:e=>{var t;re(null!==(t=e)&&void 0!==t?t:v)},events:e=>{const t=null==e?void 0:e.split(" ");le(null!=t?t:h)},"position-strategy":e=>{var t;ce(null!==(t=e)&&void 0!==t?t:w)},"delay-show":e=>{F(null===e?b:Number(e))},"delay-hide":e=>{Z(null===e?g:Number(e))},float:e=>{Y(null===e?A:"true"===e)},hidden:e=>{ee(null===e?T:"true"===e)}};Object.values(t).forEach((e=>e(null))),Object.entries(e).forEach((([e,r])=>{var o;null===(o=t[e])||void 0===o||o.call(t,r)}))};t.useEffect((()=>{W(l)}),[l]),t.useEffect((()=>{z(c)}),[c]),t.useEffect((()=>{B(d)}),[d]),t.useEffect((()=>{K(u)}),[u]),t.useEffect((()=>{J(f)}),[f]),t.useEffect((()=>{F(b)}),[b]),t.useEffect((()=>{Z(g)}),[g]),t.useEffect((()=>{Y(A)}),[A]),t.useEffect((()=>{ee(T)}),[T]),t.useEffect((()=>{ce(w)}),[w]),t.useEffect((()=>{var t;const l=new Set(ie);let n=o;if(!n&&e&&(n=`[data-tooltip-id='${e}']`),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='${r}']`);if(c&&l.add({current:c}),!l.size)return()=>null;const s=null!==(t=null!=se?se:c)&&void 0!==t?t:ue.current,a=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 r=de(s);fe(r)}))})),i={attributes:!0,childList:!1,subtree:!1};if(s){const e=de(s);fe(e),a.observe(s,i)}return()=>{a.disconnect()}}),[ie,ue,se,r,o]);let pe=m;const ve=t.useRef(null);if(s){const e=s({content:null!=I?I:null,activeAnchor:se});pe=e?n.default.createElement("div",{ref:ve,className:"react-tooltip-content-wrapper"},e):null}else I&&(pe=I);D&&(pe=n.default.createElement(S,{content:D}));const me={id:e,anchorId:r,anchorSelect:o,className:a,classNameArrow:i,content:pe,contentWrapperRef:ve,place:M,variant:P,offset:X,wrapper:te,events:oe,openOnClick:y,positionStrategy:ne,middlewares:E,delayShow:U,delayHide:V,float:G,hidden:Q,noArrow:k,clickable:x,closeOnEsc:O,closeOnScroll:R,closeOnResize:L,style:N,position:C,isOpen:$,setIsOpen:j,afterShow:q,afterHide:H,activeAnchor:se,setActiveAnchor:e=>ae(e)};return n.default.createElement(_,{...me})},e.TooltipProvider=({children:e})=>{const[r,o]=t.useState({[i]:new Set}),[l,c]=t.useState({[i]:{current:null}}),s=(e,...t)=>{o((r=>{var o;const l=null!==(o=r[e])&&void 0!==o?o:new Set;return t.forEach((e=>l.add(e))),{...r,[e]:new Set(l)}}))},a=(e,...t)=>{o((r=>{const o=r[e];return o?(t.forEach((e=>o.delete(e))),{...r}):r}))},u=t.useCallback(((e=i)=>{var t,o;return{anchorRefs:null!==(t=r[e])&&void 0!==t?t:new Set,activeAnchor:null!==(o=l[e])&&void 0!==o?o:{current:null},attach:(...t)=>s(e,...t),detach:(...t)=>a(e,...t),setActiveAnchor:t=>((e,t)=>{c((r=>{var o;return(null===(o=r[e])||void 0===o?void 0:o.current)===t.current?r:{...r,[e]:t}}))})(e,t)}}),[r,l,s,a]),d=t.useMemo((()=>({getTooltipData:u})),[u]);return n.default.createElement(f.Provider,{value:d},e)},e.TooltipWrapper=({tooltipId:e,children:r,className:o,place:l,content:s,html:a,variant:i,offset:u,wrapper:d,events:f,positionStrategy:v,delayShow:m,delayHide:h})=>{const{attach:y,detach:w}=p(e),_=t.useRef(null);return t.useEffect((()=>(y(_),()=>{w(_)})),[]),n.default.createElement("span",{ref:_,className:c.default("react-tooltip-wrapper",o),"data-tooltip-place":l,"data-tooltip-content":s,"data-tooltip-html":a,"data-tooltip-variant":i,"data-tooltip-offset":u,"data-tooltip-wrapper":d,"data-tooltip-events":f,"data-tooltip-position-strategy":v,"data-tooltip-delay-show":m,"data-tooltip-delay-hide":h},r)},Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
8
8
|
//# sourceMappingURL=react-tooltip.umd.min.js.map
|