react-tooltip 5.10.2-beta.4 → 5.10.3
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.js +923 -0
- package/dist/react-tooltip.cjs.js.map +7 -0
- package/dist/react-tooltip.cjs.min.js +2 -0
- package/dist/react-tooltip.cjs.min.js.map +7 -0
- package/dist/react-tooltip.css +71 -0
- package/dist/react-tooltip.css.map +7 -0
- package/dist/react-tooltip.esm.js +896 -0
- package/dist/react-tooltip.esm.js.map +7 -0
- package/dist/react-tooltip.esm.min.js +2 -0
- package/dist/react-tooltip.esm.min.js.map +7 -0
- package/dist/react-tooltip.iife.js +918 -0
- package/dist/react-tooltip.iife.js.map +7 -0
- package/dist/react-tooltip.iife.min.js +2 -0
- package/dist/react-tooltip.iife.min.js.map +7 -0
- package/dist/react-tooltip.min.js +2 -0
- package/dist/react-tooltip.min.js.map +7 -0
- package/jest.config.ts +1 -1
- package/package.json +4 -14
- package/tsconfig.json +3 -4
- package/dist/react-tooltip.cjs +0 -843
- package/dist/react-tooltip.cjs.map +0 -1
- package/dist/react-tooltip.min.cjs +0 -2
- package/dist/react-tooltip.min.cjs.map +0 -1
- package/dist/react-tooltip.min.css +0 -1
- package/dist/react-tooltip.min.mjs +0 -2
- package/dist/react-tooltip.min.mjs.map +0 -1
- package/dist/react-tooltip.mjs +0 -832
- package/dist/react-tooltip.mjs.map +0 -1
- package/dist/react-tooltip.umd.js +0 -845
- package/dist/react-tooltip.umd.js.map +0 -1
- package/dist/react-tooltip.umd.min.js +0 -2
- package/dist/react-tooltip.umd.min.js.map +0 -1
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/components/TooltipController/TooltipController.tsx", "../src/components/Tooltip/Tooltip.tsx", "../src/utils/debounce.ts", "../src/components/TooltipProvider/TooltipProvider.tsx", "../src/components/TooltipProvider/TooltipWrapper.tsx", "../src/utils/use-isomorphic-layout-effect.ts", "../src/utils/compute-positions.ts", "esbuild-css-modules-plugin-namespace:./src/components/Tooltip/styles.module.css?esbuild-css-modules-plugin-building", "../src/components/TooltipContent/TooltipContent.tsx"],
|
|
4
|
+
"sourcesContent": ["import { useEffect, useState } from 'react'\nimport { Tooltip } from 'components/Tooltip'\nimport type {\n EventsType,\n PositionStrategy,\n PlacesType,\n VariantType,\n WrapperType,\n DataAttribute,\n ITooltip,\n ChildrenType,\n} from 'components/Tooltip/TooltipTypes'\nimport { useTooltip } from 'components/TooltipProvider'\nimport { TooltipContent } from 'components/TooltipContent'\nimport type { ITooltipController } from './TooltipControllerTypes'\n\nconst TooltipController = ({\n id,\n anchorId,\n anchorSelect,\n content,\n html,\n render,\n className,\n classNameArrow,\n variant = 'dark',\n place = 'top',\n offset = 10,\n wrapper = 'div',\n children = null,\n events = ['hover'],\n openOnClick = false,\n positionStrategy = 'absolute',\n middlewares,\n delayShow = 0,\n delayHide = 0,\n float = false,\n noArrow = false,\n clickable = false,\n closeOnEsc = false,\n style,\n position,\n isOpen,\n setIsOpen,\n afterShow,\n afterHide,\n}: ITooltipController) => {\n const [tooltipContent, setTooltipContent] = useState(content)\n const [tooltipHtml, setTooltipHtml] = useState(html)\n const [tooltipPlace, setTooltipPlace] = useState(place)\n const [tooltipVariant, setTooltipVariant] = useState(variant)\n const [tooltipOffset, setTooltipOffset] = useState(offset)\n const [tooltipDelayShow, setTooltipDelayShow] = useState(delayShow)\n const [tooltipDelayHide, setTooltipDelayHide] = useState(delayHide)\n const [tooltipFloat, setTooltipFloat] = useState(float)\n const [tooltipWrapper, setTooltipWrapper] = useState<WrapperType>(wrapper)\n const [tooltipEvents, setTooltipEvents] = useState(events)\n const [tooltipPositionStrategy, setTooltipPositionStrategy] = useState(positionStrategy)\n const [activeAnchor, setActiveAnchor] = useState<HTMLElement | null>(null)\n /**\n * @todo Remove this in a future version (provider/wrapper method is deprecated)\n */\n const { anchorRefs, activeAnchor: providerActiveAnchor } = useTooltip(id)\n\n const getDataAttributesFromAnchorElement = (elementReference: HTMLElement) => {\n const dataAttributes = elementReference?.getAttributeNames().reduce((acc, name) => {\n if (name.startsWith('data-tooltip-')) {\n const parsedAttribute = name.replace(/^data-tooltip-/, '') as DataAttribute\n acc[parsedAttribute] = elementReference?.getAttribute(name) ?? null\n }\n return acc\n }, {} as Record<DataAttribute, string | null>)\n\n return dataAttributes\n }\n\n const applyAllDataAttributesFromAnchorElement = (\n dataAttributes: Record<string, string | null>,\n ) => {\n const handleDataAttributes: Record<DataAttribute, (value: string | null) => void> = {\n place: (value) => {\n setTooltipPlace((value as PlacesType) ?? place)\n },\n content: (value) => {\n setTooltipContent(value ?? content)\n },\n html: (value) => {\n setTooltipHtml(value ?? html)\n },\n variant: (value) => {\n setTooltipVariant((value as VariantType) ?? variant)\n },\n offset: (value) => {\n setTooltipOffset(value === null ? offset : Number(value))\n },\n wrapper: (value) => {\n setTooltipWrapper((value as WrapperType) ?? wrapper)\n },\n events: (value) => {\n const parsed = value?.split(' ') as EventsType[]\n setTooltipEvents(parsed ?? events)\n },\n 'position-strategy': (value) => {\n setTooltipPositionStrategy((value as PositionStrategy) ?? positionStrategy)\n },\n 'delay-show': (value) => {\n setTooltipDelayShow(value === null ? delayShow : Number(value))\n },\n 'delay-hide': (value) => {\n setTooltipDelayHide(value === null ? delayHide : Number(value))\n },\n float: (value) => {\n setTooltipFloat(value === null ? float : value === 'true')\n },\n }\n // reset unset data attributes to default values\n // without this, data attributes from the last active anchor will still be used\n Object.values(handleDataAttributes).forEach((handler) => handler(null))\n Object.entries(dataAttributes).forEach(([key, value]) => {\n handleDataAttributes[key as DataAttribute]?.(value)\n })\n }\n\n useEffect(() => {\n setTooltipContent(content)\n }, [content])\n\n useEffect(() => {\n setTooltipHtml(html)\n }, [html])\n\n useEffect(() => {\n setTooltipPlace(place)\n }, [place])\n\n useEffect(() => {\n const elementRefs = new Set(anchorRefs)\n\n let selector = anchorSelect\n if (!selector && id) {\n selector = `[data-tooltip-id='${id}']`\n }\n if (selector) {\n try {\n const anchorsBySelect = document.querySelectorAll<HTMLElement>(selector)\n anchorsBySelect.forEach((anchor) => {\n elementRefs.add({ current: anchor })\n })\n } catch {\n if (!process.env.NODE_ENV || process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.warn(`[react-tooltip] \"${anchorSelect}\" is not a valid CSS selector`)\n }\n }\n }\n\n const anchorById = document.querySelector<HTMLElement>(`[id='${anchorId}']`)\n if (anchorById) {\n elementRefs.add({ current: anchorById })\n }\n\n if (!elementRefs.size) {\n return () => null\n }\n\n const anchorElement = activeAnchor ?? anchorById ?? providerActiveAnchor.current\n\n const observerCallback: MutationCallback = (mutationList) => {\n mutationList.forEach((mutation) => {\n if (\n !anchorElement ||\n mutation.type !== 'attributes' ||\n !mutation.attributeName?.startsWith('data-tooltip-')\n ) {\n return\n }\n // make sure to get all set attributes, since all unset attributes are reset\n const dataAttributes = getDataAttributesFromAnchorElement(anchorElement)\n applyAllDataAttributesFromAnchorElement(dataAttributes)\n })\n }\n\n // Create an observer instance linked to the callback function\n const observer = new MutationObserver(observerCallback)\n\n // do not check for subtree and childrens, we only want to know attribute changes\n // to stay watching `data-attributes-*` from anchor element\n const observerConfig = { attributes: true, childList: false, subtree: false }\n\n if (anchorElement) {\n const dataAttributes = getDataAttributesFromAnchorElement(anchorElement)\n applyAllDataAttributesFromAnchorElement(dataAttributes)\n // Start observing the target node for configured mutations\n observer.observe(anchorElement, observerConfig)\n }\n\n return () => {\n // Remove the observer when the tooltip is destroyed\n observer.disconnect()\n }\n }, [anchorRefs, providerActiveAnchor, activeAnchor, anchorId, anchorSelect])\n\n /**\n * content priority: children < renderContent or content < html\n * children should be lower priority so that it can be used as the \"default\" content\n */\n let renderedContent: ChildrenType = children\n if (render) {\n renderedContent = render({ content: tooltipContent ?? null, activeAnchor })\n } else if (tooltipContent) {\n renderedContent = tooltipContent\n }\n if (tooltipHtml) {\n renderedContent = <TooltipContent content={tooltipHtml} />\n }\n\n const props: ITooltip = {\n id,\n anchorId,\n anchorSelect,\n className,\n classNameArrow,\n content: renderedContent,\n place: tooltipPlace,\n variant: tooltipVariant,\n offset: tooltipOffset,\n wrapper: tooltipWrapper,\n events: tooltipEvents,\n openOnClick,\n positionStrategy: tooltipPositionStrategy,\n middlewares,\n delayShow: tooltipDelayShow,\n delayHide: tooltipDelayHide,\n float: tooltipFloat,\n noArrow,\n clickable,\n closeOnEsc,\n style,\n position,\n isOpen,\n setIsOpen,\n afterShow,\n afterHide,\n activeAnchor,\n setActiveAnchor: (anchor: HTMLElement | null) => setActiveAnchor(anchor),\n }\n\n return <Tooltip {...props} />\n}\n\nexport default TooltipController\n", "import { useEffect, useState, useRef } from 'react'\nimport classNames from 'classnames'\nimport debounce from 'utils/debounce'\nimport { useTooltip } from 'components/TooltipProvider'\nimport useIsomorphicLayoutEffect from 'utils/use-isomorphic-layout-effect'\nimport { computeTooltipPosition } from '../../utils/compute-positions'\nimport styles from './styles.module.css'\nimport type { IPosition, ITooltip, PlacesType } from './TooltipTypes'\n\nconst Tooltip = ({\n // props\n id,\n className,\n classNameArrow,\n variant = 'dark',\n anchorId,\n anchorSelect,\n place = 'top',\n offset = 10,\n events = ['hover'],\n openOnClick = false,\n positionStrategy = 'absolute',\n middlewares,\n wrapper: WrapperElement,\n delayShow = 0,\n delayHide = 0,\n float = false,\n noArrow = false,\n clickable = false,\n closeOnEsc = false,\n style: externalStyles,\n position,\n afterShow,\n afterHide,\n // props handled by controller\n content,\n isOpen,\n setIsOpen,\n activeAnchor,\n setActiveAnchor,\n}: ITooltip) => {\n const tooltipRef = useRef<HTMLElement>(null)\n const tooltipArrowRef = useRef<HTMLElement>(null)\n const tooltipShowDelayTimerRef = useRef<NodeJS.Timeout | null>(null)\n const tooltipHideDelayTimerRef = useRef<NodeJS.Timeout | null>(null)\n const [actualPlacement, setActualPlacement] = useState(place)\n const [inlineStyles, setInlineStyles] = useState({})\n const [inlineArrowStyles, setInlineArrowStyles] = useState({})\n const [show, setShow] = useState(false)\n const [rendered, setRendered] = useState(false)\n const wasShowing = useRef(false)\n const lastFloatPosition = useRef<IPosition | null>(null)\n /**\n * @todo Remove this in a future version (provider/wrapper method is deprecated)\n */\n const { anchorRefs, setActiveAnchor: setProviderActiveAnchor } = useTooltip(id)\n const hoveringTooltip = useRef(false)\n const [anchorsBySelect, setAnchorsBySelect] = useState<HTMLElement[]>([])\n const mounted = useRef(false)\n\n const shouldOpenOnClick = openOnClick || events.includes('click')\n\n /**\n * useLayoutEffect runs before useEffect,\n * but should be used carefully because of caveats\n * https://beta.reactjs.org/reference/react/useLayoutEffect#caveats\n */\n useIsomorphicLayoutEffect(() => {\n mounted.current = true\n return () => {\n mounted.current = false\n }\n }, [])\n\n useEffect(() => {\n if (!show) {\n /**\n * this fixes weird behavior when switching between two anchor elements very quickly\n * remove the timeout and switch quickly between two adjancent anchor elements to see it\n *\n * in practice, this means the tooltip is not immediately removed from the DOM on hide\n */\n const timeout = setTimeout(() => {\n setRendered(false)\n }, 150)\n return () => {\n clearTimeout(timeout)\n }\n }\n return () => null\n }, [show])\n\n const handleShow = (value: boolean) => {\n if (!mounted.current) {\n return\n }\n if (value) {\n setRendered(true)\n }\n /**\n * wait for the component to render and calculate position\n * before actually showing\n */\n setTimeout(() => {\n if (!mounted.current) {\n return\n }\n setIsOpen?.(value)\n if (isOpen === undefined) {\n setShow(value)\n }\n }, 10)\n }\n\n /**\n * this replicates the effect from `handleShow()`\n * when `isOpen` is changed from outside\n */\n useEffect(() => {\n if (isOpen === undefined) {\n return () => null\n }\n if (isOpen) {\n setRendered(true)\n }\n const timeout = setTimeout(() => {\n setShow(isOpen)\n }, 10)\n return () => {\n clearTimeout(timeout)\n }\n }, [isOpen])\n\n useEffect(() => {\n if (show === wasShowing.current) {\n return\n }\n wasShowing.current = show\n if (show) {\n afterShow?.()\n } else {\n afterHide?.()\n }\n }, [show])\n\n const handleShowTooltipDelayed = () => {\n if (tooltipShowDelayTimerRef.current) {\n clearTimeout(tooltipShowDelayTimerRef.current)\n }\n\n tooltipShowDelayTimerRef.current = setTimeout(() => {\n handleShow(true)\n }, delayShow)\n }\n\n const handleHideTooltipDelayed = (delay = delayHide) => {\n if (tooltipHideDelayTimerRef.current) {\n clearTimeout(tooltipHideDelayTimerRef.current)\n }\n\n tooltipHideDelayTimerRef.current = setTimeout(() => {\n if (hoveringTooltip.current) {\n return\n }\n handleShow(false)\n }, delay)\n }\n\n const handleShowTooltip = (event?: Event) => {\n if (!event) {\n return\n }\n if (delayShow) {\n handleShowTooltipDelayed()\n } else {\n handleShow(true)\n }\n const target = event.currentTarget ?? event.target\n setActiveAnchor(target as HTMLElement)\n setProviderActiveAnchor({ current: target as HTMLElement })\n\n if (tooltipHideDelayTimerRef.current) {\n clearTimeout(tooltipHideDelayTimerRef.current)\n }\n }\n\n const handleHideTooltip = () => {\n if (clickable) {\n // allow time for the mouse to reach the tooltip, in case there's a gap\n handleHideTooltipDelayed(delayHide || 100)\n } else if (delayHide) {\n handleHideTooltipDelayed()\n } else {\n handleShow(false)\n }\n\n if (tooltipShowDelayTimerRef.current) {\n clearTimeout(tooltipShowDelayTimerRef.current)\n }\n }\n\n const handleTooltipPosition = ({ x, y }: IPosition) => {\n const virtualElement = {\n getBoundingClientRect() {\n return {\n x,\n y,\n width: 0,\n height: 0,\n top: y,\n left: x,\n right: x,\n bottom: y,\n }\n },\n } as Element\n computeTooltipPosition({\n place,\n offset,\n elementReference: virtualElement,\n tooltipReference: tooltipRef.current,\n tooltipArrowReference: tooltipArrowRef.current,\n strategy: positionStrategy,\n middlewares,\n }).then((computedStylesData) => {\n if (Object.keys(computedStylesData.tooltipStyles).length) {\n setInlineStyles(computedStylesData.tooltipStyles)\n }\n if (Object.keys(computedStylesData.tooltipArrowStyles).length) {\n setInlineArrowStyles(computedStylesData.tooltipArrowStyles)\n }\n setActualPlacement(computedStylesData.place as PlacesType)\n })\n }\n\n const handleMouseMove = (event?: Event) => {\n if (!event) {\n return\n }\n const mouseEvent = event as MouseEvent\n const mousePosition = {\n x: mouseEvent.clientX,\n y: mouseEvent.clientY,\n }\n handleTooltipPosition(mousePosition)\n lastFloatPosition.current = mousePosition\n }\n\n const handleClickTooltipAnchor = (event?: Event) => {\n handleShowTooltip(event)\n if (delayHide) {\n handleHideTooltipDelayed()\n }\n }\n\n const handleClickOutsideAnchors = (event: MouseEvent) => {\n const anchorById = document.querySelector<HTMLElement>(`[id='${anchorId}']`)\n const anchors = [anchorById, ...anchorsBySelect]\n if (anchors.some((anchor) => anchor?.contains(event.target as HTMLElement))) {\n return\n }\n if (tooltipRef.current?.contains(event.target as HTMLElement)) {\n return\n }\n handleShow(false)\n }\n\n const handleEsc = (event: KeyboardEvent) => {\n if (event.key !== 'Escape') {\n return\n }\n handleShow(false)\n }\n\n // debounce handler to prevent call twice when\n // mouse enter and focus events being triggered toggether\n const debouncedHandleShowTooltip = debounce(handleShowTooltip, 50)\n const debouncedHandleHideTooltip = debounce(handleHideTooltip, 50)\n\n useEffect(() => {\n const elementRefs = new Set(anchorRefs)\n\n anchorsBySelect.forEach((anchor) => {\n elementRefs.add({ current: anchor })\n })\n\n const anchorById = document.querySelector<HTMLElement>(`[id='${anchorId}']`)\n if (anchorById) {\n elementRefs.add({ current: anchorById })\n }\n\n if (closeOnEsc) {\n window.addEventListener('keydown', handleEsc)\n }\n\n const enabledEvents: { event: string; listener: (event?: Event) => void }[] = []\n\n if (shouldOpenOnClick) {\n window.addEventListener('click', handleClickOutsideAnchors)\n enabledEvents.push({ event: 'click', listener: handleClickTooltipAnchor })\n } else {\n enabledEvents.push(\n { event: 'mouseenter', listener: debouncedHandleShowTooltip },\n { event: 'mouseleave', listener: debouncedHandleHideTooltip },\n { event: 'focus', listener: debouncedHandleShowTooltip },\n { event: 'blur', listener: debouncedHandleHideTooltip },\n )\n if (float) {\n enabledEvents.push({\n event: 'mousemove',\n listener: handleMouseMove,\n })\n }\n }\n\n const handleMouseEnterTooltip = () => {\n hoveringTooltip.current = true\n }\n const handleMouseLeaveTooltip = () => {\n hoveringTooltip.current = false\n handleHideTooltip()\n }\n\n if (clickable && !shouldOpenOnClick) {\n tooltipRef.current?.addEventListener('mouseenter', handleMouseEnterTooltip)\n tooltipRef.current?.addEventListener('mouseleave', handleMouseLeaveTooltip)\n }\n\n enabledEvents.forEach(({ event, listener }) => {\n elementRefs.forEach((ref) => {\n ref.current?.addEventListener(event, listener)\n })\n })\n\n return () => {\n if (shouldOpenOnClick) {\n window.removeEventListener('click', handleClickOutsideAnchors)\n }\n if (closeOnEsc) {\n window.removeEventListener('keydown', handleEsc)\n }\n if (clickable && !shouldOpenOnClick) {\n tooltipRef.current?.removeEventListener('mouseenter', handleMouseEnterTooltip)\n tooltipRef.current?.removeEventListener('mouseleave', handleMouseLeaveTooltip)\n }\n enabledEvents.forEach(({ event, listener }) => {\n elementRefs.forEach((ref) => {\n ref.current?.removeEventListener(event, listener)\n })\n })\n }\n /**\n * rendered is also a dependency to ensure anchor observers are re-registered\n * since `tooltipRef` becomes stale after removing/adding the tooltip to the DOM\n */\n }, [rendered, anchorRefs, anchorsBySelect, closeOnEsc, events])\n\n useEffect(() => {\n let selector = anchorSelect ?? ''\n if (!selector && id) {\n selector = `[data-tooltip-id='${id}']`\n }\n const documentObserverCallback: MutationCallback = (mutationList) => {\n const newAnchors: HTMLElement[] = []\n mutationList.forEach((mutation) => {\n if (mutation.type === 'attributes' && mutation.attributeName === 'data-tooltip-id') {\n const newId = (mutation.target as HTMLElement).getAttribute('data-tooltip-id')\n if (newId === id) {\n newAnchors.push(mutation.target as HTMLElement)\n }\n }\n if (mutation.type !== 'childList') {\n return\n }\n if (activeAnchor) {\n ;[...mutation.removedNodes].some((node) => {\n if (node?.contains?.(activeAnchor)) {\n setRendered(false)\n handleShow(false)\n setActiveAnchor(null)\n return true\n }\n return false\n })\n }\n if (!selector) {\n return\n }\n try {\n const elements = [...mutation.addedNodes].filter((node) => node.nodeType === 1)\n newAnchors.push(\n // the element itself is an anchor\n ...(elements.filter((element) =>\n (element as HTMLElement).matches(selector),\n ) as HTMLElement[]),\n )\n newAnchors.push(\n // the element has children which are anchors\n ...elements.flatMap(\n (element) =>\n [...(element as HTMLElement).querySelectorAll(selector)] as HTMLElement[],\n ),\n )\n } catch {\n /**\n * invalid CSS selector.\n * already warned on tooltip controller\n */\n }\n })\n if (newAnchors.length) {\n setAnchorsBySelect((anchors) => [...anchors, ...newAnchors])\n }\n }\n const documentObserver = new MutationObserver(documentObserverCallback)\n // watch for anchor being removed from the DOM\n documentObserver.observe(document.body, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['data-tooltip-id'],\n })\n return () => {\n documentObserver.disconnect()\n }\n }, [id, anchorSelect, activeAnchor])\n\n useEffect(() => {\n if (position) {\n // if `position` is set, override regular and `float` positioning\n handleTooltipPosition(position)\n return\n }\n\n if (float) {\n if (lastFloatPosition.current) {\n /*\n Without this, changes to `content`, `place`, `offset`, ..., will only\n trigger a position calculation after a `mousemove` event.\n\n To see why this matters, comment this line, run `yarn dev` and click the\n \"Hover me!\" anchor.\n */\n handleTooltipPosition(lastFloatPosition.current)\n }\n // if `float` is set, override regular positioning\n return\n }\n\n computeTooltipPosition({\n place,\n offset,\n elementReference: activeAnchor,\n tooltipReference: tooltipRef.current,\n tooltipArrowReference: tooltipArrowRef.current,\n strategy: positionStrategy,\n middlewares,\n }).then((computedStylesData) => {\n if (!mounted.current) {\n // invalidate computed positions after remount\n return\n }\n if (Object.keys(computedStylesData.tooltipStyles).length) {\n setInlineStyles(computedStylesData.tooltipStyles)\n }\n if (Object.keys(computedStylesData.tooltipArrowStyles).length) {\n setInlineArrowStyles(computedStylesData.tooltipArrowStyles)\n }\n setActualPlacement(computedStylesData.place as PlacesType)\n })\n }, [show, activeAnchor, content, place, offset, positionStrategy, position])\n\n useEffect(() => {\n const anchorById = document.querySelector<HTMLElement>(`[id='${anchorId}']`)\n const anchors = [...anchorsBySelect, anchorById]\n if (!activeAnchor || !anchors.includes(activeAnchor)) {\n /**\n * if there is no active anchor,\n * or if the current active anchor is not amongst the allowed ones,\n * reset it\n */\n setActiveAnchor(anchorsBySelect[0] ?? anchorById)\n }\n }, [anchorId, anchorsBySelect, activeAnchor])\n\n useEffect(() => {\n return () => {\n if (tooltipShowDelayTimerRef.current) {\n clearTimeout(tooltipShowDelayTimerRef.current)\n }\n if (tooltipHideDelayTimerRef.current) {\n clearTimeout(tooltipHideDelayTimerRef.current)\n }\n }\n }, [])\n\n useEffect(() => {\n let selector = anchorSelect\n if (!selector && id) {\n selector = `[data-tooltip-id='${id}']`\n }\n if (!selector) {\n return\n }\n try {\n const anchors = Array.from(document.querySelectorAll<HTMLElement>(selector))\n setAnchorsBySelect(anchors)\n } catch {\n // warning was already issued in the controller\n setAnchorsBySelect([])\n }\n }, [id, anchorSelect])\n\n const canShow = content && show && Object.keys(inlineStyles).length > 0\n\n return rendered ? (\n <WrapperElement\n id={id}\n role=\"tooltip\"\n className={classNames(\n 'react-tooltip',\n styles['tooltip'],\n styles[variant],\n className,\n `react-tooltip__place-${actualPlacement}`,\n {\n [styles['show']]: canShow,\n [styles['fixed']]: positionStrategy === 'fixed',\n [styles['clickable']]: clickable,\n },\n )}\n style={{ ...externalStyles, ...inlineStyles }}\n ref={tooltipRef}\n >\n {content}\n <WrapperElement\n className={classNames('react-tooltip-arrow', styles['arrow'], classNameArrow, {\n /**\n * changed from dash `no-arrow` to camelcase because of:\n * https://github.com/indooorsman/esbuild-css-modules-plugin/issues/42\n */\n [styles['noArrow']]: noArrow,\n })}\n style={inlineArrowStyles}\n ref={tooltipArrowRef}\n />\n </WrapperElement>\n ) : null\n}\n\nexport default Tooltip\n", "/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * This function debounce the received function\n * @param { function } \tfunc\t\t\t\tFunction to be debounced\n * @param { number } \t\twait\t\t\t\tTime to wait before execut the function\n * @param { boolean } \timmediate\t\tParam to define if the function will be executed immediately\n */\nconst debounce = (func: (...args: any[]) => void, wait?: number, immediate?: true) => {\n let timeout: NodeJS.Timeout | null = null\n\n return function debounced(this: typeof func, ...args: any[]) {\n const later = () => {\n timeout = null\n if (!immediate) {\n func.apply(this, args)\n }\n }\n\n if (timeout) {\n clearTimeout(timeout)\n }\n\n timeout = setTimeout(later, wait)\n }\n}\n\nexport default debounce\n", "import React, {\n createContext,\n PropsWithChildren,\n useCallback,\n useContext,\n useMemo,\n useState,\n} from 'react'\n\nimport type {\n AnchorRef,\n TooltipContextData,\n TooltipContextDataWrapper,\n} from './TooltipProviderTypes'\n\nconst DEFAULT_TOOLTIP_ID = 'DEFAULT_TOOLTIP_ID'\nconst DEFAULT_CONTEXT_DATA: TooltipContextData = {\n anchorRefs: new Set(),\n activeAnchor: { current: null },\n attach: () => {\n /* attach anchor element */\n },\n detach: () => {\n /* detach anchor element */\n },\n setActiveAnchor: () => {\n /* set active anchor */\n },\n}\n\nconst DEFAULT_CONTEXT_DATA_WRAPPER: TooltipContextDataWrapper = {\n getTooltipData: () => DEFAULT_CONTEXT_DATA,\n}\n\nconst TooltipContext = createContext<TooltipContextDataWrapper>(DEFAULT_CONTEXT_DATA_WRAPPER)\n\n/**\n * @deprecated Use the `data-tooltip-id` attribute, or the `anchorSelect` prop instead.\n * See https://react-tooltip.com/docs/getting-started\n */\nconst TooltipProvider: React.FC<PropsWithChildren<void>> = ({ children }) => {\n const [anchorRefMap, setAnchorRefMap] = useState<Record<string, Set<AnchorRef>>>({\n [DEFAULT_TOOLTIP_ID]: new Set(),\n })\n const [activeAnchorMap, setActiveAnchorMap] = useState<Record<string, AnchorRef>>({\n [DEFAULT_TOOLTIP_ID]: { current: null },\n })\n\n const attach = (tooltipId: string, ...refs: AnchorRef[]) => {\n setAnchorRefMap((oldMap) => {\n const tooltipRefs = oldMap[tooltipId] ?? new Set()\n refs.forEach((ref) => tooltipRefs.add(ref))\n // create new object to trigger re-render\n return { ...oldMap, [tooltipId]: new Set(tooltipRefs) }\n })\n }\n\n const detach = (tooltipId: string, ...refs: AnchorRef[]) => {\n setAnchorRefMap((oldMap) => {\n const tooltipRefs = oldMap[tooltipId]\n if (!tooltipRefs) {\n // tooltip not found\n // maybe thow error?\n return oldMap\n }\n refs.forEach((ref) => tooltipRefs.delete(ref))\n // create new object to trigger re-render\n return { ...oldMap }\n })\n }\n\n const setActiveAnchor = (tooltipId: string, ref: React.RefObject<HTMLElement>) => {\n setActiveAnchorMap((oldMap) => {\n if (oldMap[tooltipId]?.current === ref.current) {\n return oldMap\n }\n // create new object to trigger re-render\n return { ...oldMap, [tooltipId]: ref }\n })\n }\n\n const getTooltipData = useCallback(\n (tooltipId = DEFAULT_TOOLTIP_ID) => ({\n anchorRefs: anchorRefMap[tooltipId] ?? new Set(),\n activeAnchor: activeAnchorMap[tooltipId] ?? { current: null },\n attach: (...refs: AnchorRef[]) => attach(tooltipId, ...refs),\n detach: (...refs: AnchorRef[]) => detach(tooltipId, ...refs),\n setActiveAnchor: (ref: AnchorRef) => setActiveAnchor(tooltipId, ref),\n }),\n [anchorRefMap, activeAnchorMap, attach, detach],\n )\n\n const context = useMemo(() => {\n return {\n getTooltipData,\n }\n }, [getTooltipData])\n\n return <TooltipContext.Provider value={context}>{children}</TooltipContext.Provider>\n}\n\nexport function useTooltip(tooltipId = DEFAULT_TOOLTIP_ID) {\n return useContext(TooltipContext).getTooltipData(tooltipId)\n}\n\nexport default TooltipProvider\n", "import { useEffect, useRef } from 'react'\nimport classNames from 'classnames'\nimport { useTooltip } from './TooltipProvider'\nimport type { ITooltipWrapper } from './TooltipProviderTypes'\n\n/**\n * @deprecated Use the `data-tooltip-id` attribute, or the `anchorSelect` prop instead.\n * See https://react-tooltip.com/docs/getting-started\n */\nconst TooltipWrapper = ({\n tooltipId,\n children,\n className,\n place,\n content,\n html,\n variant,\n offset,\n wrapper,\n events,\n positionStrategy,\n delayShow,\n delayHide,\n}: ITooltipWrapper) => {\n const { attach, detach } = useTooltip(tooltipId)\n const anchorRef = useRef<HTMLElement | null>(null)\n\n useEffect(() => {\n attach(anchorRef)\n return () => {\n detach(anchorRef)\n }\n }, [])\n\n return (\n <span\n ref={anchorRef}\n className={classNames('react-tooltip-wrapper', className)}\n data-tooltip-place={place}\n data-tooltip-content={content}\n data-tooltip-html={html}\n data-tooltip-variant={variant}\n data-tooltip-offset={offset}\n data-tooltip-wrapper={wrapper}\n data-tooltip-events={events}\n data-tooltip-position-strategy={positionStrategy}\n data-tooltip-delay-show={delayShow}\n data-tooltip-delay-hide={delayHide}\n >\n {children}\n </span>\n )\n}\n\nexport default TooltipWrapper\n", "import { useLayoutEffect, useEffect } from 'react'\n\nconst useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect\n\nexport default useIsomorphicLayoutEffect\n", "import { computePosition, offset, shift, arrow, flip } from '@floating-ui/dom'\nimport type { IComputePositions } from './compute-positions-types'\n\nexport const computeTooltipPosition = async ({\n elementReference = null,\n tooltipReference = null,\n tooltipArrowReference = null,\n place = 'top',\n offset: offsetValue = 10,\n strategy = 'absolute',\n middlewares = [offset(Number(offsetValue)), flip(), shift({ padding: 5 })],\n}: IComputePositions) => {\n if (!elementReference) {\n // elementReference can be null or undefined and we will not compute the position\n // eslint-disable-next-line no-console\n // console.error('The reference element for tooltip was not defined: ', elementReference)\n return { tooltipStyles: {}, tooltipArrowStyles: {}, place }\n }\n\n if (tooltipReference === null) {\n return { tooltipStyles: {}, tooltipArrowStyles: {}, place }\n }\n\n const middleware = middlewares\n\n if (tooltipArrowReference) {\n middleware.push(arrow({ element: tooltipArrowReference as HTMLElement, padding: 5 }))\n\n return computePosition(elementReference as HTMLElement, tooltipReference as HTMLElement, {\n placement: place,\n strategy,\n middleware,\n }).then(({ x, y, placement, middlewareData }) => {\n const styles = { left: `${x}px`, top: `${y}px` }\n\n const { x: arrowX, y: arrowY } = middlewareData.arrow ?? { x: 0, y: 0 }\n\n const staticSide =\n {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n }[placement.split('-')[0]] ?? 'bottom'\n\n const arrowStyle = {\n left: arrowX != null ? `${arrowX}px` : '',\n top: arrowY != null ? `${arrowY}px` : '',\n right: '',\n bottom: '',\n [staticSide]: '-4px',\n }\n\n return { tooltipStyles: styles, tooltipArrowStyles: arrowStyle, place: placement }\n })\n }\n\n return computePosition(elementReference as HTMLElement, tooltipReference as HTMLElement, {\n placement: 'bottom',\n strategy,\n middleware,\n }).then(({ x, y, placement }) => {\n const styles = { left: `${x}px`, top: `${y}px` }\n\n return { tooltipStyles: styles, tooltipArrowStyles: {}, place: placement }\n })\n}\n", "import \"./styles.module.css?esbuild-css-modules-plugin-built\";\nexport default {\"arrow\":\"react-tooltip__arrow_KtSkBq\",\"clickable\":\"react-tooltip__clickable_KtSkBq\",\"dark\":\"react-tooltip__dark_KtSkBq\",\"error\":\"react-tooltip__error_KtSkBq\",\"fixed\":\"react-tooltip__fixed_KtSkBq\",\"info\":\"react-tooltip__info_KtSkBq\",\"light\":\"react-tooltip__light_KtSkBq\",\"noArrow\":\"react-tooltip__no-arrow_KtSkBq\",\"show\":\"react-tooltip__show_KtSkBq\",\"success\":\"react-tooltip__success_KtSkBq\",\"tooltip\":\"react-tooltip__tooltip_KtSkBq\",\"warning\":\"react-tooltip__warning_KtSkBq\"};;\nexport const arrow = \"react-tooltip__arrow_KtSkBq\";\nexport const clickable = \"react-tooltip__clickable_KtSkBq\";\nexport const dark = \"react-tooltip__dark_KtSkBq\";\nexport const error = \"react-tooltip__error_KtSkBq\";\nexport const fixed = \"react-tooltip__fixed_KtSkBq\";\nexport const info = \"react-tooltip__info_KtSkBq\";\nexport const light = \"react-tooltip__light_KtSkBq\";\nexport const noArrow = \"react-tooltip__no-arrow_KtSkBq\";\nexport const show = \"react-tooltip__show_KtSkBq\";\nexport const success = \"react-tooltip__success_KtSkBq\";\nexport const tooltip = \"react-tooltip__tooltip_KtSkBq\";\nexport const warning = \"react-tooltip__warning_KtSkBq\";", "/* eslint-disable react/no-danger */\nimport type { ITooltipContent } from './TooltipContentTypes'\n\nconst TooltipContent = ({ content }: ITooltipContent) => {\n return <span dangerouslySetInnerHTML={{ __html: content }} />\n}\n\nexport default TooltipContent\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAAA,gBAAoC;;;ACApC,MAAAC,gBAA4C;AAC5C,MAAAC,qBAAuB;;;ACMvB,MAAM,WAAW,CAAC,MAAgC,MAAe,cAAqB;AACpF,QAAI,UAAiC;AAErC,WAAO,SAAS,aAAgC,MAAa;AAC3D,YAAM,QAAQ,MAAM;AAClB,kBAAU;AACV,YAAI,CAAC,WAAW;AACd,eAAK,MAAM,MAAM,IAAI;AAAA,QACvB;AAAA,MACF;AAEA,UAAI,SAAS;AACX,qBAAa,OAAO;AAAA,MACtB;AAEA,gBAAU,WAAW,OAAO,IAAI;AAAA,IAClC;AAAA,EACF;AAEA,MAAO,mBAAQ;;;AC1Bf,qBAOO;AA2FE;AAnFT,MAAM,qBAAqB;AAC3B,MAAM,uBAA2C;AAAA,IAC/C,YAAY,oBAAI,IAAI;AAAA,IACpB,cAAc,EAAE,SAAS,KAAK;AAAA,IAC9B,QAAQ,MAAM;AAAA,IAEd;AAAA,IACA,QAAQ,MAAM;AAAA,IAEd;AAAA,IACA,iBAAiB,MAAM;AAAA,IAEvB;AAAA,EACF;AAEA,MAAM,+BAA0D;AAAA,IAC9D,gBAAgB,MAAM;AAAA,EACxB;AAEA,MAAM,qBAAiB,4BAAyC,4BAA4B;AAM5F,MAAM,kBAAqD,CAAC,EAAE,SAAS,MAAM;AAC3E,UAAM,CAAC,cAAc,eAAe,QAAI,uBAAyC;AAAA,MAC/E,CAAC,kBAAkB,GAAG,oBAAI,IAAI;AAAA,IAChC,CAAC;AACD,UAAM,CAAC,iBAAiB,kBAAkB,QAAI,uBAAoC;AAAA,MAChF,CAAC,kBAAkB,GAAG,EAAE,SAAS,KAAK;AAAA,IACxC,CAAC;AAED,UAAM,SAAS,CAAC,cAAsB,SAAsB;AAC1D,sBAAgB,CAAC,WAAW;AAjDhC;AAkDM,cAAM,eAAc,YAAO,SAAS,MAAhB,YAAqB,oBAAI,IAAI;AACjD,aAAK,QAAQ,CAAC,QAAQ,YAAY,IAAI,GAAG,CAAC;AAE1C,eAAO,EAAE,GAAG,QAAQ,CAAC,SAAS,GAAG,IAAI,IAAI,WAAW,EAAE;AAAA,MACxD,CAAC;AAAA,IACH;AAEA,UAAM,SAAS,CAAC,cAAsB,SAAsB;AAC1D,sBAAgB,CAAC,WAAW;AAC1B,cAAM,cAAc,OAAO,SAAS;AACpC,YAAI,CAAC,aAAa;AAGhB,iBAAO;AAAA,QACT;AACA,aAAK,QAAQ,CAAC,QAAQ,YAAY,OAAO,GAAG,CAAC;AAE7C,eAAO,EAAE,GAAG,OAAO;AAAA,MACrB,CAAC;AAAA,IACH;AAEA,UAAM,kBAAkB,CAAC,WAAmB,QAAsC;AAChF,yBAAmB,CAAC,WAAW;AAxEnC;AAyEM,cAAI,YAAO,SAAS,MAAhB,mBAAmB,aAAY,IAAI,SAAS;AAC9C,iBAAO;AAAA,QACT;AAEA,eAAO,EAAE,GAAG,QAAQ,CAAC,SAAS,GAAG,IAAI;AAAA,MACvC,CAAC;AAAA,IACH;AAEA,UAAM,qBAAiB;AAAA,MACrB,CAAC,YAAY,uBAAoB;AAlFrC;AAkFyC;AAAA,UACnC,aAAY,kBAAa,SAAS,MAAtB,YAA2B,oBAAI,IAAI;AAAA,UAC/C,eAAc,qBAAgB,SAAS,MAAzB,YAA8B,EAAE,SAAS,KAAK;AAAA,UAC5D,QAAQ,IAAI,SAAsB,OAAO,WAAW,GAAG,IAAI;AAAA,UAC3D,QAAQ,IAAI,SAAsB,OAAO,WAAW,GAAG,IAAI;AAAA,UAC3D,iBAAiB,CAAC,QAAmB,gBAAgB,WAAW,GAAG;AAAA,QACrE;AAAA;AAAA,MACA,CAAC,cAAc,iBAAiB,QAAQ,MAAM;AAAA,IAChD;AAEA,UAAM,cAAU,sBAAQ,MAAM;AAC5B,aAAO;AAAA,QACL;AAAA,MACF;AAAA,IACF,GAAG,CAAC,cAAc,CAAC;AAEnB,WAAO,4CAAC,eAAe,UAAf,EAAwB,OAAO,SAAU,UAAS;AAAA,EAC5D;AAEO,WAAS,WAAW,YAAY,oBAAoB;AACzD,eAAO,yBAAW,cAAc,EAAE,eAAe,SAAS;AAAA,EAC5D;AAEA,MAAO,0BAAQ;;;ACzGf,MAAAC,gBAAkC;AAClC,0BAAuB;AAkCnB,MAAAC,sBAAA;AA1BJ,MAAM,iBAAiB,CAAC;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAAC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,MAAuB;AACrB,UAAM,EAAE,QAAQ,OAAO,IAAI,WAAW,SAAS;AAC/C,UAAM,gBAAY,sBAA2B,IAAI;AAEjD,iCAAU,MAAM;AACd,aAAO,SAAS;AAChB,aAAO,MAAM;AACX,eAAO,SAAS;AAAA,MAClB;AAAA,IACF,GAAG,CAAC,CAAC;AAEL,WACE;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACL,eAAW,kBAAAC,SAAW,yBAAyB,SAAS;AAAA,QACxD,sBAAoB;AAAA,QACpB,wBAAsB;AAAA,QACtB,qBAAmB;AAAA,QACnB,wBAAsB;AAAA,QACtB,uBAAqBD;AAAA,QACrB,wBAAsB;AAAA,QACtB,uBAAqB;AAAA,QACrB,kCAAgC;AAAA,QAChC,2BAAyB;AAAA,QACzB,2BAAyB;AAAA,QAExB;AAAA;AAAA,IACH;AAAA,EAEJ;AAEA,MAAO,yBAAQ;;;ACtDf,MAAAE,gBAA2C;AAE3C,MAAM,4BAA4B,OAAO,WAAW,cAAc,gCAAkB;AAEpF,MAAO,uCAAQ;;;ACJf,mBAA4D;AAGrD,MAAM,yBAAyB,OAAO;AAAA,IAC3C,mBAAmB;AAAA,IACnB,mBAAmB;AAAA,IACnB,wBAAwB;AAAA,IACxB,QAAQ;AAAA,IACR,QAAQ,cAAc;AAAA,IACtB,WAAW;AAAA,IACX,cAAc,KAAC,mBAAO,OAAO,WAAW,CAAC,OAAG,iBAAK,OAAG,kBAAM,EAAE,SAAS,EAAE,CAAC,CAAC;AAAA,EAC3E,MAAyB;AACvB,QAAI,CAAC,kBAAkB;AAIrB,aAAO,EAAE,eAAe,CAAC,GAAG,oBAAoB,CAAC,GAAG,MAAM;AAAA,IAC5D;AAEA,QAAI,qBAAqB,MAAM;AAC7B,aAAO,EAAE,eAAe,CAAC,GAAG,oBAAoB,CAAC,GAAG,MAAM;AAAA,IAC5D;AAEA,UAAM,aAAa;AAEnB,QAAI,uBAAuB;AACzB,iBAAW,SAAK,kBAAM,EAAE,SAAS,uBAAsC,SAAS,EAAE,CAAC,CAAC;AAEpF,iBAAO,4BAAgB,kBAAiC,kBAAiC;AAAA,QACvF,WAAW;AAAA,QACX;AAAA,QACA;AAAA,MACF,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,WAAW,eAAe,MAAM;AAhCrD;AAiCM,cAAM,SAAS,EAAE,MAAM,GAAG,OAAO,KAAK,GAAG,MAAM;AAE/C,cAAM,EAAE,GAAG,QAAQ,GAAG,OAAO,KAAI,oBAAe,UAAf,YAAwB,EAAE,GAAG,GAAG,GAAG,EAAE;AAEtE,cAAM,cACJ;AAAA,UACE,KAAK;AAAA,UACL,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,MAAM;AAAA,QACR,EAAE,UAAU,MAAM,GAAG,EAAE,CAAC,CAAC,MALzB,YAK8B;AAEhC,cAAM,aAAa;AAAA,UACjB,MAAM,UAAU,OAAO,GAAG,aAAa;AAAA,UACvC,KAAK,UAAU,OAAO,GAAG,aAAa;AAAA,UACtC,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,CAAC,UAAU,GAAG;AAAA,QAChB;AAEA,eAAO,EAAE,eAAe,QAAQ,oBAAoB,YAAY,OAAO,UAAU;AAAA,MACnF,CAAC;AAAA,IACH;AAEA,eAAO,4BAAgB,kBAAiC,kBAAiC;AAAA,MACvF,WAAW;AAAA,MACX;AAAA,MACA;AAAA,IACF,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,UAAU,MAAM;AAC/B,YAAM,SAAS,EAAE,MAAM,GAAG,OAAO,KAAK,GAAG,MAAM;AAE/C,aAAO,EAAE,eAAe,QAAQ,oBAAoB,CAAC,GAAG,OAAO,UAAU;AAAA,IAC3E,CAAC;AAAA,EACH;;;ACjEA,MAAO,wBAAQ,EAAC,SAAQ,+BAA8B,aAAY,mCAAkC,QAAO,8BAA6B,SAAQ,+BAA8B,SAAQ,+BAA8B,QAAO,8BAA6B,SAAQ,+BAA8B,WAAU,kCAAiC,QAAO,8BAA6B,WAAU,iCAAgC,WAAU,iCAAgC,WAAU,gCAA+B;;;ANmgBte,MAAAC,sBAAA;AA3fJ,MAAM,UAAU,CAAC;AAAA;AAAA,IAEf;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR,QAAAC,UAAS;AAAA,IACT,SAAS,CAAC,OAAO;AAAA,IACjB,cAAc;AAAA,IACd,mBAAmB;AAAA,IACnB;AAAA,IACA,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,MAAgB;AACd,UAAM,iBAAa,sBAAoB,IAAI;AAC3C,UAAM,sBAAkB,sBAAoB,IAAI;AAChD,UAAM,+BAA2B,sBAA8B,IAAI;AACnE,UAAM,+BAA2B,sBAA8B,IAAI;AACnE,UAAM,CAAC,iBAAiB,kBAAkB,QAAI,wBAAS,KAAK;AAC5D,UAAM,CAAC,cAAc,eAAe,QAAI,wBAAS,CAAC,CAAC;AACnD,UAAM,CAAC,mBAAmB,oBAAoB,QAAI,wBAAS,CAAC,CAAC;AAC7D,UAAM,CAAC,MAAM,OAAO,QAAI,wBAAS,KAAK;AACtC,UAAM,CAAC,UAAU,WAAW,QAAI,wBAAS,KAAK;AAC9C,UAAM,iBAAa,sBAAO,KAAK;AAC/B,UAAM,wBAAoB,sBAAyB,IAAI;AAIvD,UAAM,EAAE,YAAY,iBAAiB,wBAAwB,IAAI,WAAW,EAAE;AAC9E,UAAM,sBAAkB,sBAAO,KAAK;AACpC,UAAM,CAAC,iBAAiB,kBAAkB,QAAI,wBAAwB,CAAC,CAAC;AACxE,UAAM,cAAU,sBAAO,KAAK;AAE5B,UAAM,oBAAoB,eAAe,OAAO,SAAS,OAAO;AAOhE,yCAA0B,MAAM;AAC9B,cAAQ,UAAU;AAClB,aAAO,MAAM;AACX,gBAAQ,UAAU;AAAA,MACpB;AAAA,IACF,GAAG,CAAC,CAAC;AAEL,iCAAU,MAAM;AACd,UAAI,CAAC,MAAM;AAOT,cAAM,UAAU,WAAW,MAAM;AAC/B,sBAAY,KAAK;AAAA,QACnB,GAAG,GAAG;AACN,eAAO,MAAM;AACX,uBAAa,OAAO;AAAA,QACtB;AAAA,MACF;AACA,aAAO,MAAM;AAAA,IACf,GAAG,CAAC,IAAI,CAAC;AAET,UAAM,aAAa,CAAC,UAAmB;AACrC,UAAI,CAAC,QAAQ,SAAS;AACpB;AAAA,MACF;AACA,UAAI,OAAO;AACT,oBAAY,IAAI;AAAA,MAClB;AAKA,iBAAW,MAAM;AACf,YAAI,CAAC,QAAQ,SAAS;AACpB;AAAA,QACF;AACA,+CAAY;AACZ,YAAI,WAAW,QAAW;AACxB,kBAAQ,KAAK;AAAA,QACf;AAAA,MACF,GAAG,EAAE;AAAA,IACP;AAMA,iCAAU,MAAM;AACd,UAAI,WAAW,QAAW;AACxB,eAAO,MAAM;AAAA,MACf;AACA,UAAI,QAAQ;AACV,oBAAY,IAAI;AAAA,MAClB;AACA,YAAM,UAAU,WAAW,MAAM;AAC/B,gBAAQ,MAAM;AAAA,MAChB,GAAG,EAAE;AACL,aAAO,MAAM;AACX,qBAAa,OAAO;AAAA,MACtB;AAAA,IACF,GAAG,CAAC,MAAM,CAAC;AAEX,iCAAU,MAAM;AACd,UAAI,SAAS,WAAW,SAAS;AAC/B;AAAA,MACF;AACA,iBAAW,UAAU;AACrB,UAAI,MAAM;AACR;AAAA,MACF,OAAO;AACL;AAAA,MACF;AAAA,IACF,GAAG,CAAC,IAAI,CAAC;AAET,UAAM,2BAA2B,MAAM;AACrC,UAAI,yBAAyB,SAAS;AACpC,qBAAa,yBAAyB,OAAO;AAAA,MAC/C;AAEA,+BAAyB,UAAU,WAAW,MAAM;AAClD,mBAAW,IAAI;AAAA,MACjB,GAAG,SAAS;AAAA,IACd;AAEA,UAAM,2BAA2B,CAAC,QAAQ,cAAc;AACtD,UAAI,yBAAyB,SAAS;AACpC,qBAAa,yBAAyB,OAAO;AAAA,MAC/C;AAEA,+BAAyB,UAAU,WAAW,MAAM;AAClD,YAAI,gBAAgB,SAAS;AAC3B;AAAA,QACF;AACA,mBAAW,KAAK;AAAA,MAClB,GAAG,KAAK;AAAA,IACV;AAEA,UAAM,oBAAoB,CAAC,UAAkB;AAxK/C;AAyKI,UAAI,CAAC,OAAO;AACV;AAAA,MACF;AACA,UAAI,WAAW;AACb,iCAAyB;AAAA,MAC3B,OAAO;AACL,mBAAW,IAAI;AAAA,MACjB;AACA,YAAM,UAAS,WAAM,kBAAN,YAAuB,MAAM;AAC5C,sBAAgB,MAAqB;AACrC,8BAAwB,EAAE,SAAS,OAAsB,CAAC;AAE1D,UAAI,yBAAyB,SAAS;AACpC,qBAAa,yBAAyB,OAAO;AAAA,MAC/C;AAAA,IACF;AAEA,UAAM,oBAAoB,MAAM;AAC9B,UAAI,WAAW;AAEb,iCAAyB,aAAa,GAAG;AAAA,MAC3C,WAAW,WAAW;AACpB,iCAAyB;AAAA,MAC3B,OAAO;AACL,mBAAW,KAAK;AAAA,MAClB;AAEA,UAAI,yBAAyB,SAAS;AACpC,qBAAa,yBAAyB,OAAO;AAAA,MAC/C;AAAA,IACF;AAEA,UAAM,wBAAwB,CAAC,EAAE,GAAG,EAAE,MAAiB;AACrD,YAAM,iBAAiB;AAAA,QACrB,wBAAwB;AACtB,iBAAO;AAAA,YACL;AAAA,YACA;AAAA,YACA,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,KAAK;AAAA,YACL,MAAM;AAAA,YACN,OAAO;AAAA,YACP,QAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AACA,6BAAuB;AAAA,QACrB;AAAA,QACA,QAAAA;AAAA,QACA,kBAAkB;AAAA,QAClB,kBAAkB,WAAW;AAAA,QAC7B,uBAAuB,gBAAgB;AAAA,QACvC,UAAU;AAAA,QACV;AAAA,MACF,CAAC,EAAE,KAAK,CAAC,uBAAuB;AAC9B,YAAI,OAAO,KAAK,mBAAmB,aAAa,EAAE,QAAQ;AACxD,0BAAgB,mBAAmB,aAAa;AAAA,QAClD;AACA,YAAI,OAAO,KAAK,mBAAmB,kBAAkB,EAAE,QAAQ;AAC7D,+BAAqB,mBAAmB,kBAAkB;AAAA,QAC5D;AACA,2BAAmB,mBAAmB,KAAmB;AAAA,MAC3D,CAAC;AAAA,IACH;AAEA,UAAM,kBAAkB,CAAC,UAAkB;AACzC,UAAI,CAAC,OAAO;AACV;AAAA,MACF;AACA,YAAM,aAAa;AACnB,YAAM,gBAAgB;AAAA,QACpB,GAAG,WAAW;AAAA,QACd,GAAG,WAAW;AAAA,MAChB;AACA,4BAAsB,aAAa;AACnC,wBAAkB,UAAU;AAAA,IAC9B;AAEA,UAAM,2BAA2B,CAAC,UAAkB;AAClD,wBAAkB,KAAK;AACvB,UAAI,WAAW;AACb,iCAAyB;AAAA,MAC3B;AAAA,IACF;AAEA,UAAM,4BAA4B,CAAC,UAAsB;AA/P3D;AAgQI,YAAM,aAAa,SAAS,cAA2B,QAAQ,YAAY;AAC3E,YAAM,UAAU,CAAC,YAAY,GAAG,eAAe;AAC/C,UAAI,QAAQ,KAAK,CAAC,WAAW,iCAAQ,SAAS,MAAM,OAAsB,GAAG;AAC3E;AAAA,MACF;AACA,WAAI,gBAAW,YAAX,mBAAoB,SAAS,MAAM,SAAwB;AAC7D;AAAA,MACF;AACA,iBAAW,KAAK;AAAA,IAClB;AAEA,UAAM,YAAY,CAAC,UAAyB;AAC1C,UAAI,MAAM,QAAQ,UAAU;AAC1B;AAAA,MACF;AACA,iBAAW,KAAK;AAAA,IAClB;AAIA,UAAM,6BAA6B,iBAAS,mBAAmB,EAAE;AACjE,UAAM,6BAA6B,iBAAS,mBAAmB,EAAE;AAEjE,iCAAU,MAAM;AAvRlB;AAwRI,YAAM,cAAc,IAAI,IAAI,UAAU;AAEtC,sBAAgB,QAAQ,CAAC,WAAW;AAClC,oBAAY,IAAI,EAAE,SAAS,OAAO,CAAC;AAAA,MACrC,CAAC;AAED,YAAM,aAAa,SAAS,cAA2B,QAAQ,YAAY;AAC3E,UAAI,YAAY;AACd,oBAAY,IAAI,EAAE,SAAS,WAAW,CAAC;AAAA,MACzC;AAEA,UAAI,YAAY;AACd,eAAO,iBAAiB,WAAW,SAAS;AAAA,MAC9C;AAEA,YAAM,gBAAwE,CAAC;AAE/E,UAAI,mBAAmB;AACrB,eAAO,iBAAiB,SAAS,yBAAyB;AAC1D,sBAAc,KAAK,EAAE,OAAO,SAAS,UAAU,yBAAyB,CAAC;AAAA,MAC3E,OAAO;AACL,sBAAc;AAAA,UACZ,EAAE,OAAO,cAAc,UAAU,2BAA2B;AAAA,UAC5D,EAAE,OAAO,cAAc,UAAU,2BAA2B;AAAA,UAC5D,EAAE,OAAO,SAAS,UAAU,2BAA2B;AAAA,UACvD,EAAE,OAAO,QAAQ,UAAU,2BAA2B;AAAA,QACxD;AACA,YAAI,OAAO;AACT,wBAAc,KAAK;AAAA,YACjB,OAAO;AAAA,YACP,UAAU;AAAA,UACZ,CAAC;AAAA,QACH;AAAA,MACF;AAEA,YAAM,0BAA0B,MAAM;AACpC,wBAAgB,UAAU;AAAA,MAC5B;AACA,YAAM,0BAA0B,MAAM;AACpC,wBAAgB,UAAU;AAC1B,0BAAkB;AAAA,MACpB;AAEA,UAAI,aAAa,CAAC,mBAAmB;AACnC,yBAAW,YAAX,mBAAoB,iBAAiB,cAAc;AACnD,yBAAW,YAAX,mBAAoB,iBAAiB,cAAc;AAAA,MACrD;AAEA,oBAAc,QAAQ,CAAC,EAAE,OAAO,SAAS,MAAM;AAC7C,oBAAY,QAAQ,CAAC,QAAQ;AAzUnC,cAAAC;AA0UQ,WAAAA,MAAA,IAAI,YAAJ,gBAAAA,IAAa,iBAAiB,OAAO;AAAA,QACvC,CAAC;AAAA,MACH,CAAC;AAED,aAAO,MAAM;AA9UjB,YAAAA,KAAAC;AA+UM,YAAI,mBAAmB;AACrB,iBAAO,oBAAoB,SAAS,yBAAyB;AAAA,QAC/D;AACA,YAAI,YAAY;AACd,iBAAO,oBAAoB,WAAW,SAAS;AAAA,QACjD;AACA,YAAI,aAAa,CAAC,mBAAmB;AACnC,WAAAD,MAAA,WAAW,YAAX,gBAAAA,IAAoB,oBAAoB,cAAc;AACtD,WAAAC,MAAA,WAAW,YAAX,gBAAAA,IAAoB,oBAAoB,cAAc;AAAA,QACxD;AACA,sBAAc,QAAQ,CAAC,EAAE,OAAO,SAAS,MAAM;AAC7C,sBAAY,QAAQ,CAAC,QAAQ;AA1VrC,gBAAAD;AA2VU,aAAAA,MAAA,IAAI,YAAJ,gBAAAA,IAAa,oBAAoB,OAAO;AAAA,UAC1C,CAAC;AAAA,QACH,CAAC;AAAA,MACH;AAAA,IAKF,GAAG,CAAC,UAAU,YAAY,iBAAiB,YAAY,MAAM,CAAC;AAE9D,iCAAU,MAAM;AACd,UAAI,WAAW,sCAAgB;AAC/B,UAAI,CAAC,YAAY,IAAI;AACnB,mBAAW,qBAAqB;AAAA,MAClC;AACA,YAAM,2BAA6C,CAAC,iBAAiB;AACnE,cAAM,aAA4B,CAAC;AACnC,qBAAa,QAAQ,CAAC,aAAa;AACjC,cAAI,SAAS,SAAS,gBAAgB,SAAS,kBAAkB,mBAAmB;AAClF,kBAAM,QAAS,SAAS,OAAuB,aAAa,iBAAiB;AAC7E,gBAAI,UAAU,IAAI;AAChB,yBAAW,KAAK,SAAS,MAAqB;AAAA,YAChD;AAAA,UACF;AACA,cAAI,SAAS,SAAS,aAAa;AACjC;AAAA,UACF;AACA,cAAI,cAAc;AAChB;AAAC,aAAC,GAAG,SAAS,YAAY,EAAE,KAAK,CAAC,SAAS;AAvXrD;AAwXY,mBAAI,kCAAM,aAAN,8BAAiB,eAAe;AAClC,4BAAY,KAAK;AACjB,2BAAW,KAAK;AAChB,gCAAgB,IAAI;AACpB,uBAAO;AAAA,cACT;AACA,qBAAO;AAAA,YACT,CAAC;AAAA,UACH;AACA,cAAI,CAAC,UAAU;AACb;AAAA,UACF;AACA,cAAI;AACF,kBAAM,WAAW,CAAC,GAAG,SAAS,UAAU,EAAE,OAAO,CAAC,SAAS,KAAK,aAAa,CAAC;AAC9E,uBAAW;AAAA,cAET,GAAI,SAAS;AAAA,gBAAO,CAAC,YAClB,QAAwB,QAAQ,QAAQ;AAAA,cAC3C;AAAA,YACF;AACA,uBAAW;AAAA,cAET,GAAG,SAAS;AAAA,gBACV,CAAC,YACC,CAAC,GAAI,QAAwB,iBAAiB,QAAQ,CAAC;AAAA,cAC3D;AAAA,YACF;AAAA,UACF,SAAQ,GAAN;AAAA,UAKF;AAAA,QACF,CAAC;AACD,YAAI,WAAW,QAAQ;AACrB,6BAAmB,CAAC,YAAY,CAAC,GAAG,SAAS,GAAG,UAAU,CAAC;AAAA,QAC7D;AAAA,MACF;AACA,YAAM,mBAAmB,IAAI,iBAAiB,wBAAwB;AAEtE,uBAAiB,QAAQ,SAAS,MAAM;AAAA,QACtC,WAAW;AAAA,QACX,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,iBAAiB,CAAC,iBAAiB;AAAA,MACrC,CAAC;AACD,aAAO,MAAM;AACX,yBAAiB,WAAW;AAAA,MAC9B;AAAA,IACF,GAAG,CAAC,IAAI,cAAc,YAAY,CAAC;AAEnC,iCAAU,MAAM;AACd,UAAI,UAAU;AAEZ,8BAAsB,QAAQ;AAC9B;AAAA,MACF;AAEA,UAAI,OAAO;AACT,YAAI,kBAAkB,SAAS;AAQ7B,gCAAsB,kBAAkB,OAAO;AAAA,QACjD;AAEA;AAAA,MACF;AAEA,6BAAuB;AAAA,QACrB;AAAA,QACA,QAAAD;AAAA,QACA,kBAAkB;AAAA,QAClB,kBAAkB,WAAW;AAAA,QAC7B,uBAAuB,gBAAgB;AAAA,QACvC,UAAU;AAAA,QACV;AAAA,MACF,CAAC,EAAE,KAAK,CAAC,uBAAuB;AAC9B,YAAI,CAAC,QAAQ,SAAS;AAEpB;AAAA,QACF;AACA,YAAI,OAAO,KAAK,mBAAmB,aAAa,EAAE,QAAQ;AACxD,0BAAgB,mBAAmB,aAAa;AAAA,QAClD;AACA,YAAI,OAAO,KAAK,mBAAmB,kBAAkB,EAAE,QAAQ;AAC7D,+BAAqB,mBAAmB,kBAAkB;AAAA,QAC5D;AACA,2BAAmB,mBAAmB,KAAmB;AAAA,MAC3D,CAAC;AAAA,IACH,GAAG,CAAC,MAAM,cAAc,SAAS,OAAOA,SAAQ,kBAAkB,QAAQ,CAAC;AAE3E,iCAAU,MAAM;AAxdlB;AAydI,YAAM,aAAa,SAAS,cAA2B,QAAQ,YAAY;AAC3E,YAAM,UAAU,CAAC,GAAG,iBAAiB,UAAU;AAC/C,UAAI,CAAC,gBAAgB,CAAC,QAAQ,SAAS,YAAY,GAAG;AAMpD,yBAAgB,qBAAgB,CAAC,MAAjB,YAAsB,UAAU;AAAA,MAClD;AAAA,IACF,GAAG,CAAC,UAAU,iBAAiB,YAAY,CAAC;AAE5C,iCAAU,MAAM;AACd,aAAO,MAAM;AACX,YAAI,yBAAyB,SAAS;AACpC,uBAAa,yBAAyB,OAAO;AAAA,QAC/C;AACA,YAAI,yBAAyB,SAAS;AACpC,uBAAa,yBAAyB,OAAO;AAAA,QAC/C;AAAA,MACF;AAAA,IACF,GAAG,CAAC,CAAC;AAEL,iCAAU,MAAM;AACd,UAAI,WAAW;AACf,UAAI,CAAC,YAAY,IAAI;AACnB,mBAAW,qBAAqB;AAAA,MAClC;AACA,UAAI,CAAC,UAAU;AACb;AAAA,MACF;AACA,UAAI;AACF,cAAM,UAAU,MAAM,KAAK,SAAS,iBAA8B,QAAQ,CAAC;AAC3E,2BAAmB,OAAO;AAAA,MAC5B,SAAQ,GAAN;AAEA,2BAAmB,CAAC,CAAC;AAAA,MACvB;AAAA,IACF,GAAG,CAAC,IAAI,YAAY,CAAC;AAErB,UAAM,UAAU,WAAW,QAAQ,OAAO,KAAK,YAAY,EAAE,SAAS;AAEtE,WAAO,WACL;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,MAAK;AAAA,QACL,eAAW,mBAAAG;AAAA,UACT;AAAA,UACA,sBAAO,SAAS;AAAA,UAChB,sBAAO,OAAO;AAAA,UACd;AAAA,UACA,wBAAwB;AAAA,UACxB;AAAA,YACE,CAAC,sBAAO,MAAM,CAAC,GAAG;AAAA,YAClB,CAAC,sBAAO,OAAO,CAAC,GAAG,qBAAqB;AAAA,YACxC,CAAC,sBAAO,WAAW,CAAC,GAAG;AAAA,UACzB;AAAA,QACF;AAAA,QACA,OAAO,EAAE,GAAG,gBAAgB,GAAG,aAAa;AAAA,QAC5C,KAAK;AAAA,QAEJ;AAAA;AAAA,UACD;AAAA,YAAC;AAAA;AAAA,cACC,eAAW,mBAAAA,SAAW,uBAAuB,sBAAO,OAAO,GAAG,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA,gBAK5E,CAAC,sBAAO,SAAS,CAAC,GAAG;AAAA,cACvB,CAAC;AAAA,cACD,OAAO;AAAA,cACP,KAAK;AAAA;AAAA,UACP;AAAA;AAAA;AAAA,IACF,IACE;AAAA,EACN;AAEA,MAAO,kBAAQ;;;AOliBN,MAAAC,sBAAA;AADT,MAAM,iBAAiB,CAAC,EAAE,QAAQ,MAAuB;AACvD,WAAO,6CAAC,UAAK,yBAAyB,EAAE,QAAQ,QAAQ,GAAG;AAAA,EAC7D;AAEA,MAAO,yBAAQ;;;AR8MO,MAAAC,sBAAA;AArMtB,MAAM,oBAAoB,CAAC;AAAA,IACzB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,QAAAC,UAAS;AAAA,IACT,UAAU;AAAA,IACV,WAAW;AAAA,IACX,SAAS,CAAC,OAAO;AAAA,IACjB,cAAc;AAAA,IACd,mBAAmB;AAAA,IACnB;AAAA,IACA,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,aAAa;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,MAA0B;AACxB,UAAM,CAAC,gBAAgB,iBAAiB,QAAI,wBAAS,OAAO;AAC5D,UAAM,CAAC,aAAa,cAAc,QAAI,wBAAS,IAAI;AACnD,UAAM,CAAC,cAAc,eAAe,QAAI,wBAAS,KAAK;AACtD,UAAM,CAAC,gBAAgB,iBAAiB,QAAI,wBAAS,OAAO;AAC5D,UAAM,CAAC,eAAe,gBAAgB,QAAI,wBAASA,OAAM;AACzD,UAAM,CAAC,kBAAkB,mBAAmB,QAAI,wBAAS,SAAS;AAClE,UAAM,CAAC,kBAAkB,mBAAmB,QAAI,wBAAS,SAAS;AAClE,UAAM,CAAC,cAAc,eAAe,QAAI,wBAAS,KAAK;AACtD,UAAM,CAAC,gBAAgB,iBAAiB,QAAI,wBAAsB,OAAO;AACzE,UAAM,CAAC,eAAe,gBAAgB,QAAI,wBAAS,MAAM;AACzD,UAAM,CAAC,yBAAyB,0BAA0B,QAAI,wBAAS,gBAAgB;AACvF,UAAM,CAAC,cAAc,eAAe,QAAI,wBAA6B,IAAI;AAIzE,UAAM,EAAE,YAAY,cAAc,qBAAqB,IAAI,WAAW,EAAE;AAExE,UAAM,qCAAqC,CAAC,qBAAkC;AAC5E,YAAM,iBAAiB,qDAAkB,oBAAoB,OAAO,CAAC,KAAK,SAAS;AAjEvF;AAkEM,YAAI,KAAK,WAAW,eAAe,GAAG;AACpC,gBAAM,kBAAkB,KAAK,QAAQ,kBAAkB,EAAE;AACzD,cAAI,eAAe,KAAI,0DAAkB,aAAa,UAA/B,YAAwC;AAAA,QACjE;AACA,eAAO;AAAA,MACT,GAAG,CAAC;AAEJ,aAAO;AAAA,IACT;AAEA,UAAM,0CAA0C,CAC9C,mBACG;AACH,YAAM,uBAA8E;AAAA,QAClF,OAAO,CAAC,UAAU;AAChB,0BAAiB,wBAAwB,KAAK;AAAA,QAChD;AAAA,QACA,SAAS,CAAC,UAAU;AAClB,4BAAkB,wBAAS,OAAO;AAAA,QACpC;AAAA,QACA,MAAM,CAAC,UAAU;AACf,yBAAe,wBAAS,IAAI;AAAA,QAC9B;AAAA,QACA,SAAS,CAAC,UAAU;AAClB,4BAAmB,wBAAyB,OAAO;AAAA,QACrD;AAAA,QACA,QAAQ,CAAC,UAAU;AACjB,2BAAiB,UAAU,OAAOA,UAAS,OAAO,KAAK,CAAC;AAAA,QAC1D;AAAA,QACA,SAAS,CAAC,UAAU;AAClB,4BAAmB,wBAAyB,OAAO;AAAA,QACrD;AAAA,QACA,QAAQ,CAAC,UAAU;AACjB,gBAAM,SAAS,+BAAO,MAAM;AAC5B,2BAAiB,0BAAU,MAAM;AAAA,QACnC;AAAA,QACA,qBAAqB,CAAC,UAAU;AAC9B,qCAA4B,wBAA8B,gBAAgB;AAAA,QAC5E;AAAA,QACA,cAAc,CAAC,UAAU;AACvB,8BAAoB,UAAU,OAAO,YAAY,OAAO,KAAK,CAAC;AAAA,QAChE;AAAA,QACA,cAAc,CAAC,UAAU;AACvB,8BAAoB,UAAU,OAAO,YAAY,OAAO,KAAK,CAAC;AAAA,QAChE;AAAA,QACA,OAAO,CAAC,UAAU;AAChB,0BAAgB,UAAU,OAAO,QAAQ,UAAU,MAAM;AAAA,QAC3D;AAAA,MACF;AAGA,aAAO,OAAO,oBAAoB,EAAE,QAAQ,CAAC,YAAY,QAAQ,IAAI,CAAC;AACtE,aAAO,QAAQ,cAAc,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAtH7D;AAuHM,mCAAqB,SAArB,8CAA6C;AAAA,MAC/C,CAAC;AAAA,IACH;AAEA,iCAAU,MAAM;AACd,wBAAkB,OAAO;AAAA,IAC3B,GAAG,CAAC,OAAO,CAAC;AAEZ,iCAAU,MAAM;AACd,qBAAe,IAAI;AAAA,IACrB,GAAG,CAAC,IAAI,CAAC;AAET,iCAAU,MAAM;AACd,sBAAgB,KAAK;AAAA,IACvB,GAAG,CAAC,KAAK,CAAC;AAEV,iCAAU,MAAM;AAvIlB;AAwII,YAAM,cAAc,IAAI,IAAI,UAAU;AAEtC,UAAI,WAAW;AACf,UAAI,CAAC,YAAY,IAAI;AACnB,mBAAW,qBAAqB;AAAA,MAClC;AACA,UAAI,UAAU;AACZ,YAAI;AACF,gBAAM,kBAAkB,SAAS,iBAA8B,QAAQ;AACvE,0BAAgB,QAAQ,CAAC,WAAW;AAClC,wBAAY,IAAI,EAAE,SAAS,OAAO,CAAC;AAAA,UACrC,CAAC;AAAA,QACH,SAAQ,GAAN;AACA,cAA6B,MAAuC;AAElE,oBAAQ,KAAK,oBAAoB,2CAA2C;AAAA,UAC9E;AAAA,QACF;AAAA,MACF;AAEA,YAAM,aAAa,SAAS,cAA2B,QAAQ,YAAY;AAC3E,UAAI,YAAY;AACd,oBAAY,IAAI,EAAE,SAAS,WAAW,CAAC;AAAA,MACzC;AAEA,UAAI,CAAC,YAAY,MAAM;AACrB,eAAO,MAAM;AAAA,MACf;AAEA,YAAM,iBAAgB,2CAAgB,eAAhB,YAA8B,qBAAqB;AAEzE,YAAM,mBAAqC,CAAC,iBAAiB;AAC3D,qBAAa,QAAQ,CAAC,aAAa;AAxKzC,cAAAC;AAyKQ,cACE,CAAC,iBACD,SAAS,SAAS,gBAClB,GAACA,MAAA,SAAS,kBAAT,gBAAAA,IAAwB,WAAW,mBACpC;AACA;AAAA,UACF;AAEA,gBAAM,iBAAiB,mCAAmC,aAAa;AACvE,kDAAwC,cAAc;AAAA,QACxD,CAAC;AAAA,MACH;AAGA,YAAM,WAAW,IAAI,iBAAiB,gBAAgB;AAItD,YAAM,iBAAiB,EAAE,YAAY,MAAM,WAAW,OAAO,SAAS,MAAM;AAE5E,UAAI,eAAe;AACjB,cAAM,iBAAiB,mCAAmC,aAAa;AACvE,gDAAwC,cAAc;AAEtD,iBAAS,QAAQ,eAAe,cAAc;AAAA,MAChD;AAEA,aAAO,MAAM;AAEX,iBAAS,WAAW;AAAA,MACtB;AAAA,IACF,GAAG,CAAC,YAAY,sBAAsB,cAAc,UAAU,YAAY,CAAC;AAM3E,QAAI,kBAAgC;AACpC,QAAI,QAAQ;AACV,wBAAkB,OAAO,EAAE,SAAS,0CAAkB,MAAM,aAAa,CAAC;AAAA,IAC5E,WAAW,gBAAgB;AACzB,wBAAkB;AAAA,IACpB;AACA,QAAI,aAAa;AACf,wBAAkB,6CAAC,0BAAe,SAAS,aAAa;AAAA,IAC1D;AAEA,UAAM,QAAkB;AAAA,MACtB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS;AAAA,MACT,OAAO;AAAA,MACP,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,QAAQ;AAAA,MACR;AAAA,MACA,kBAAkB;AAAA,MAClB;AAAA,MACA,WAAW;AAAA,MACX,WAAW;AAAA,MACX,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,iBAAiB,CAAC,WAA+B,gBAAgB,MAAM;AAAA,IACzE;AAEA,WAAO,6CAAC,mBAAS,GAAG,OAAO;AAAA,EAC7B;AAEA,MAAO,4BAAQ;",
|
|
6
|
+
"names": ["import_react", "import_react", "import_classnames", "import_react", "import_jsx_runtime", "offset", "classNames", "import_react", "import_jsx_runtime", "offset", "_a", "_b", "classNames", "import_jsx_runtime", "import_jsx_runtime", "offset", "_a"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(()=>{var Gt=Object.create;var Nt=Object.defineProperty;var Qt=Object.getOwnPropertyDescriptor;var Zt=Object.getOwnPropertyNames;var te=Object.getPrototypeOf,ee=Object.prototype.hasOwnProperty;var h=(o=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(o,{get:(n,s)=>(typeof require<"u"?require:n)[s]}):o)(function(o){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+o+'" is not supported')});var oe=(o,n,s,c)=>{if(n&&typeof n=="object"||typeof n=="function")for(let a of Zt(n))!ee.call(o,a)&&a!==s&&Nt(o,a,{get:()=>n[a],enumerable:!(c=Qt(n,a))||c.enumerable});return o};var Wt=(o,n,s)=>(s=o!=null?Gt(te(o)):{},oe(n||!o||!o.__esModule?Nt(s,"default",{value:o,enumerable:!0}):s,o));var E=h("react");var l=h("react"),Ht=Wt(h("classnames"));var re=(o,n,s)=>{let c=null;return function(...d){let S=()=>{c=null,s||o.apply(this,d)};c&&clearTimeout(c),c=setTimeout(S,n)}},Mt=re;var B=h("react"),Ft=h("react/jsx-runtime"),St="DEFAULT_TOOLTIP_ID",ne={anchorRefs:new Set,activeAnchor:{current:null},attach:()=>{},detach:()=>{},setActiveAnchor:()=>{}},le={getTooltipData:()=>ne},Ot=(0,B.createContext)(le),ie=({children:o})=>{let[n,s]=(0,B.useState)({[St]:new Set}),[c,a]=(0,B.useState)({[St]:{current:null}}),d=(r,...T)=>{s(p=>{var b;let i=(b=p[r])!=null?b:new Set;return T.forEach(P=>i.add(P)),{...p,[r]:new Set(i)}})},S=(r,...T)=>{s(p=>{let i=p[r];return i?(T.forEach(b=>i.delete(b)),{...p}):p})},C=(r,T)=>{a(p=>{var i;return((i=p[r])==null?void 0:i.current)===T.current?p:{...p,[r]:T}})},L=(0,B.useCallback)((r=St)=>{var T,p;return{anchorRefs:(T=n[r])!=null?T:new Set,activeAnchor:(p=c[r])!=null?p:{current:null},attach:(...i)=>d(r,...i),detach:(...i)=>S(r,...i),setActiveAnchor:i=>C(r,i)}},[n,c,d,S]),k=(0,B.useMemo)(()=>({getTooltipData:L}),[L]);return(0,Ft.jsx)(Ot.Provider,{value:k,children:o})};function j(o=St){return(0,B.useContext)(Ot).getTooltipData(o)}var $t=ie;var gt=h("react"),Vt=Wt(h("classnames"));var Xt=h("react/jsx-runtime"),se=({tooltipId:o,children:n,className:s,place:c,content:a,html:d,variant:S,offset:C,wrapper:L,events:k,positionStrategy:r,delayShow:T,delayHide:p})=>{let{attach:i,detach:b}=j(o),P=(0,gt.useRef)(null);return(0,gt.useEffect)(()=>(i(P),()=>{b(P)}),[]),(0,Xt.jsx)("span",{ref:P,className:(0,Vt.default)("react-tooltip-wrapper",s),"data-tooltip-place":c,"data-tooltip-content":a,"data-tooltip-html":d,"data-tooltip-variant":S,"data-tooltip-offset":C,"data-tooltip-wrapper":L,"data-tooltip-events":k,"data-tooltip-position-strategy":r,"data-tooltip-delay-show":T,"data-tooltip-delay-hide":p,children:n})},Ut=se;var Lt=h("react"),ce=typeof window!="undefined"?Lt.useLayoutEffect:Lt.useEffect,jt=ce;var H=h("@floating-ui/dom"),Bt=async({elementReference:o=null,tooltipReference:n=null,tooltipArrowReference:s=null,place:c="top",offset:a=10,strategy:d="absolute",middlewares:S=[(0,H.offset)(Number(a)),(0,H.flip)(),(0,H.shift)({padding:5})]})=>{if(!o)return{tooltipStyles:{},tooltipArrowStyles:{},place:c};if(n===null)return{tooltipStyles:{},tooltipArrowStyles:{},place:c};let C=S;return s?(C.push((0,H.arrow)({element:s,padding:5})),(0,H.computePosition)(o,n,{placement:c,strategy:d,middleware:C}).then(({x:L,y:k,placement:r,middlewareData:T})=>{var q,W;let p={left:`${L}px`,top:`${k}px`},{x:i,y:b}=(q=T.arrow)!=null?q:{x:0,y:0},P=(W={top:"bottom",right:"left",bottom:"top",left:"right"}[r.split("-")[0]])!=null?W:"bottom",Z={left:i!=null?`${i}px`:"",top:b!=null?`${b}px`:"",right:"",bottom:"",[P]:"-4px"};return{tooltipStyles:p,tooltipArrowStyles:Z,place:r}})):(0,H.computePosition)(o,n,{placement:"bottom",strategy:d,middleware:C}).then(({x:L,y:k,placement:r})=>({tooltipStyles:{left:`${L}px`,top:`${k}px`},tooltipArrowStyles:{},place:r}))};var V={arrow:"react-tooltip__arrow_KtSkBq",clickable:"react-tooltip__clickable_KtSkBq",dark:"react-tooltip__dark_KtSkBq",error:"react-tooltip__error_KtSkBq",fixed:"react-tooltip__fixed_KtSkBq",info:"react-tooltip__info_KtSkBq",light:"react-tooltip__light_KtSkBq",noArrow:"react-tooltip__no-arrow_KtSkBq",show:"react-tooltip__show_KtSkBq",success:"react-tooltip__success_KtSkBq",tooltip:"react-tooltip__tooltip_KtSkBq",warning:"react-tooltip__warning_KtSkBq"};var kt=h("react/jsx-runtime"),ae=({id:o,className:n,classNameArrow:s,variant:c="dark",anchorId:a,anchorSelect:d,place:S="top",offset:C=10,events:L=["hover"],openOnClick:k=!1,positionStrategy:r="absolute",middlewares:T,wrapper:p,delayShow:i=0,delayHide:b=0,float:P=!1,noArrow:Z=!1,clickable:q=!1,closeOnEsc:W=!1,style:ft,position:tt,afterShow:et,afterHide:ot,content:rt,isOpen:U,setIsOpen:nt,activeAnchor:R,setActiveAnchor:lt})=>{let D=(0,l.useRef)(null),O=(0,l.useRef)(null),K=(0,l.useRef)(null),I=(0,l.useRef)(null),[Tt,dt]=(0,l.useState)(S),[it,mt]=(0,l.useState)({}),[vt,yt]=(0,l.useState)({}),[N,ht]=(0,l.useState)(!1),[Et,J]=(0,l.useState)(!1),_t=(0,l.useRef)(!1),st=(0,l.useRef)(null),{anchorRefs:wt,setActiveAnchor:xt}=j(o),ct=(0,l.useRef)(!1),[F,at]=(0,l.useState)([]),X=(0,l.useRef)(!1),Y=k||L.includes("click");jt(()=>(X.current=!0,()=>{X.current=!1}),[]),(0,l.useEffect)(()=>{if(!N){let t=setTimeout(()=>{J(!1)},150);return()=>{clearTimeout(t)}}return()=>null},[N]);let v=t=>{X.current&&(t&&J(!0),setTimeout(()=>{X.current&&(nt==null||nt(t),U===void 0&&ht(t))},10))};(0,l.useEffect)(()=>{if(U===void 0)return()=>null;U&&J(!0);let t=setTimeout(()=>{ht(U)},10);return()=>{clearTimeout(t)}},[U]),(0,l.useEffect)(()=>{N!==_t.current&&(_t.current=N,N?et==null||et():ot==null||ot())},[N]);let Ct=()=>{K.current&&clearTimeout(K.current),K.current=setTimeout(()=>{v(!0)},i)},z=(t=b)=>{I.current&&clearTimeout(I.current),I.current=setTimeout(()=>{ct.current||v(!1)},t)},pt=t=>{var f;if(!t)return;i?Ct():v(!0);let u=(f=t.currentTarget)!=null?f:t.target;lt(u),xt({current:u}),I.current&&clearTimeout(I.current)},ut=()=>{q?z(b||100):b?z():v(!1),K.current&&clearTimeout(K.current)},G=({x:t,y:u})=>{Bt({place:S,offset:C,elementReference:{getBoundingClientRect(){return{x:t,y:u,width:0,height:0,top:u,left:t,right:t,bottom:u}}},tooltipReference:D.current,tooltipArrowReference:O.current,strategy:r,middlewares:T}).then(m=>{Object.keys(m.tooltipStyles).length&&mt(m.tooltipStyles),Object.keys(m.tooltipArrowStyles).length&&yt(m.tooltipArrowStyles),dt(m.place)})},Q=t=>{if(!t)return;let u=t,f={x:u.clientX,y:u.clientY};G(f),st.current=f},Kt=t=>{pt(t),b&&z()},_=t=>{var m;[document.querySelector(`[id='${a}']`),...F].some(w=>w==null?void 0:w.contains(t.target))||(m=D.current)!=null&&m.contains(t.target)||v(!1)},M=t=>{t.key==="Escape"&&v(!1)},e=Mt(pt,50),y=Mt(ut,50);(0,l.useEffect)(()=>{var x,A;let t=new Set(wt);F.forEach(g=>{t.add({current:g})});let u=document.querySelector(`[id='${a}']`);u&&t.add({current:u}),W&&window.addEventListener("keydown",M);let f=[];Y?(window.addEventListener("click",_),f.push({event:"click",listener:Kt})):(f.push({event:"mouseenter",listener:e},{event:"mouseleave",listener:y},{event:"focus",listener:e},{event:"blur",listener:y}),P&&f.push({event:"mousemove",listener:Q}));let m=()=>{ct.current=!0},w=()=>{ct.current=!1,ut()};return q&&!Y&&((x=D.current)==null||x.addEventListener("mouseenter",m),(A=D.current)==null||A.addEventListener("mouseleave",w)),f.forEach(({event:g,listener:bt})=>{t.forEach(Pt=>{var At;(At=Pt.current)==null||At.addEventListener(g,bt)})}),()=>{var g,bt;Y&&window.removeEventListener("click",_),W&&window.removeEventListener("keydown",M),q&&!Y&&((g=D.current)==null||g.removeEventListener("mouseenter",m),(bt=D.current)==null||bt.removeEventListener("mouseleave",w)),f.forEach(({event:Pt,listener:At})=>{t.forEach(zt=>{var It;(It=zt.current)==null||It.removeEventListener(Pt,At)})})}},[Et,wt,F,W,L]),(0,l.useEffect)(()=>{let t=d!=null?d:"";!t&&o&&(t=`[data-tooltip-id='${o}']`);let u=m=>{let w=[];m.forEach(x=>{if(x.type==="attributes"&&x.attributeName==="data-tooltip-id"&&x.target.getAttribute("data-tooltip-id")===o&&w.push(x.target),x.type==="childList"&&(R&&[...x.removedNodes].some(A=>{var g;return(g=A==null?void 0:A.contains)!=null&&g.call(A,R)?(J(!1),v(!1),lt(null),!0):!1}),!!t))try{let A=[...x.addedNodes].filter(g=>g.nodeType===1);w.push(...A.filter(g=>g.matches(t))),w.push(...A.flatMap(g=>[...g.querySelectorAll(t)]))}catch(A){}}),w.length&&at(x=>[...x,...w])},f=new MutationObserver(u);return f.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-tooltip-id"]}),()=>{f.disconnect()}},[o,d,R]),(0,l.useEffect)(()=>{if(tt){G(tt);return}if(P){st.current&&G(st.current);return}Bt({place:S,offset:C,elementReference:R,tooltipReference:D.current,tooltipArrowReference:O.current,strategy:r,middlewares:T}).then(t=>{X.current&&(Object.keys(t.tooltipStyles).length&&mt(t.tooltipStyles),Object.keys(t.tooltipArrowStyles).length&&yt(t.tooltipArrowStyles),dt(t.place))})},[N,R,rt,S,C,r,tt]),(0,l.useEffect)(()=>{var f;let t=document.querySelector(`[id='${a}']`),u=[...F,t];(!R||!u.includes(R))&<((f=F[0])!=null?f:t)},[a,F,R]),(0,l.useEffect)(()=>()=>{K.current&&clearTimeout(K.current),I.current&&clearTimeout(I.current)},[]),(0,l.useEffect)(()=>{let t=d;if(!t&&o&&(t=`[data-tooltip-id='${o}']`),!!t)try{let u=Array.from(document.querySelectorAll(t));at(u)}catch(u){at([])}},[o,d]);let $=rt&&N&&Object.keys(it).length>0;return Et?(0,kt.jsxs)(p,{id:o,role:"tooltip",className:(0,Ht.default)("react-tooltip",V.tooltip,V[c],n,`react-tooltip__place-${Tt}`,{[V.show]:$,[V.fixed]:r==="fixed",[V.clickable]:q}),style:{...ft,...it},ref:D,children:[rt,(0,kt.jsx)(p,{className:(0,Ht.default)("react-tooltip-arrow",V.arrow,s,{[V.noArrow]:Z}),style:vt,ref:O})]}):null},qt=ae;var Jt=h("react/jsx-runtime"),pe=({content:o})=>(0,Jt.jsx)("span",{dangerouslySetInnerHTML:{__html:o}}),Rt=pe;var Dt=h("react/jsx-runtime"),ue=({id:o,anchorId:n,anchorSelect:s,content:c,html:a,render:d,className:S,classNameArrow:C,variant:L="dark",place:k="top",offset:r=10,wrapper:T="div",children:p=null,events:i=["hover"],openOnClick:b=!1,positionStrategy:P="absolute",middlewares:Z,delayShow:q=0,delayHide:W=0,float:ft=!1,noArrow:tt=!1,clickable:et=!1,closeOnEsc:ot=!1,style:rt,position:U,isOpen:nt,setIsOpen:R,afterShow:lt,afterHide:D})=>{let[O,K]=(0,E.useState)(c),[I,Tt]=(0,E.useState)(a),[dt,it]=(0,E.useState)(k),[mt,vt]=(0,E.useState)(L),[yt,N]=(0,E.useState)(r),[ht,Et]=(0,E.useState)(q),[J,_t]=(0,E.useState)(W),[st,wt]=(0,E.useState)(ft),[xt,ct]=(0,E.useState)(T),[F,at]=(0,E.useState)(i),[X,Y]=(0,E.useState)(P),[v,Ct]=(0,E.useState)(null),{anchorRefs:z,activeAnchor:pt}=j(o),ut=_=>_==null?void 0:_.getAttributeNames().reduce((e,y)=>{var $;if(y.startsWith("data-tooltip-")){let t=y.replace(/^data-tooltip-/,"");e[t]=($=_==null?void 0:_.getAttribute(y))!=null?$:null}return e},{}),G=_=>{let M={place:e=>{it(e!=null?e:k)},content:e=>{K(e!=null?e:c)},html:e=>{Tt(e!=null?e:a)},variant:e=>{vt(e!=null?e:L)},offset:e=>{N(e===null?r:Number(e))},wrapper:e=>{ct(e!=null?e:T)},events:e=>{let y=e==null?void 0:e.split(" ");at(y!=null?y:i)},"position-strategy":e=>{Y(e!=null?e:P)},"delay-show":e=>{Et(e===null?q:Number(e))},"delay-hide":e=>{_t(e===null?W:Number(e))},float:e=>{wt(e===null?ft:e==="true")}};Object.values(M).forEach(e=>e(null)),Object.entries(_).forEach(([e,y])=>{var $;($=M[e])==null||$.call(M,y)})};(0,E.useEffect)(()=>{K(c)},[c]),(0,E.useEffect)(()=>{Tt(a)},[a]),(0,E.useEffect)(()=>{it(k)},[k]),(0,E.useEffect)(()=>{var f;let _=new Set(z),M=s;if(!M&&o&&(M=`[data-tooltip-id='${o}']`),M)try{document.querySelectorAll(M).forEach(w=>{_.add({current:w})})}catch(m){}let e=document.querySelector(`[id='${n}']`);if(e&&_.add({current:e}),!_.size)return()=>null;let y=(f=v!=null?v:e)!=null?f:pt.current,$=m=>{m.forEach(w=>{var A;if(!y||w.type!=="attributes"||!((A=w.attributeName)!=null&&A.startsWith("data-tooltip-")))return;let x=ut(y);G(x)})},t=new MutationObserver($),u={attributes:!0,childList:!1,subtree:!1};if(y){let m=ut(y);G(m),t.observe(y,u)}return()=>{t.disconnect()}},[z,pt,v,n,s]);let Q=p;return d?Q=d({content:O!=null?O:null,activeAnchor:v}):O&&(Q=O),I&&(Q=(0,Dt.jsx)(Rt,{content:I})),(0,Dt.jsx)(qt,{...{id:o,anchorId:n,anchorSelect:s,className:S,classNameArrow:C,content:Q,place:dt,variant:mt,offset:yt,wrapper:xt,events:F,openOnClick:b,positionStrategy:X,middlewares:Z,delayShow:ht,delayHide:J,float:st,noArrow:tt,clickable:et,closeOnEsc:ot,style:rt,position:U,isOpen:nt,setIsOpen:R,afterShow:lt,afterHide:D,activeAnchor:v,setActiveAnchor:_=>Ct(_)}})},Yt=ue;})();
|
|
2
|
+
//# sourceMappingURL=react-tooltip.iife.min.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/components/TooltipController/TooltipController.tsx", "../src/components/Tooltip/Tooltip.tsx", "../src/utils/debounce.ts", "../src/components/TooltipProvider/TooltipProvider.tsx", "../src/components/TooltipProvider/TooltipWrapper.tsx", "../src/utils/use-isomorphic-layout-effect.ts", "../src/utils/compute-positions.ts", "esbuild-css-modules-plugin-namespace:./src/components/Tooltip/styles.module.css?esbuild-css-modules-plugin-building", "../src/components/TooltipContent/TooltipContent.tsx"],
|
|
4
|
+
"sourcesContent": ["import { useEffect, useState } from 'react'\nimport { Tooltip } from 'components/Tooltip'\nimport type {\n EventsType,\n PositionStrategy,\n PlacesType,\n VariantType,\n WrapperType,\n DataAttribute,\n ITooltip,\n ChildrenType,\n} from 'components/Tooltip/TooltipTypes'\nimport { useTooltip } from 'components/TooltipProvider'\nimport { TooltipContent } from 'components/TooltipContent'\nimport type { ITooltipController } from './TooltipControllerTypes'\n\nconst TooltipController = ({\n id,\n anchorId,\n anchorSelect,\n content,\n html,\n render,\n className,\n classNameArrow,\n variant = 'dark',\n place = 'top',\n offset = 10,\n wrapper = 'div',\n children = null,\n events = ['hover'],\n openOnClick = false,\n positionStrategy = 'absolute',\n middlewares,\n delayShow = 0,\n delayHide = 0,\n float = false,\n noArrow = false,\n clickable = false,\n closeOnEsc = false,\n style,\n position,\n isOpen,\n setIsOpen,\n afterShow,\n afterHide,\n}: ITooltipController) => {\n const [tooltipContent, setTooltipContent] = useState(content)\n const [tooltipHtml, setTooltipHtml] = useState(html)\n const [tooltipPlace, setTooltipPlace] = useState(place)\n const [tooltipVariant, setTooltipVariant] = useState(variant)\n const [tooltipOffset, setTooltipOffset] = useState(offset)\n const [tooltipDelayShow, setTooltipDelayShow] = useState(delayShow)\n const [tooltipDelayHide, setTooltipDelayHide] = useState(delayHide)\n const [tooltipFloat, setTooltipFloat] = useState(float)\n const [tooltipWrapper, setTooltipWrapper] = useState<WrapperType>(wrapper)\n const [tooltipEvents, setTooltipEvents] = useState(events)\n const [tooltipPositionStrategy, setTooltipPositionStrategy] = useState(positionStrategy)\n const [activeAnchor, setActiveAnchor] = useState<HTMLElement | null>(null)\n /**\n * @todo Remove this in a future version (provider/wrapper method is deprecated)\n */\n const { anchorRefs, activeAnchor: providerActiveAnchor } = useTooltip(id)\n\n const getDataAttributesFromAnchorElement = (elementReference: HTMLElement) => {\n const dataAttributes = elementReference?.getAttributeNames().reduce((acc, name) => {\n if (name.startsWith('data-tooltip-')) {\n const parsedAttribute = name.replace(/^data-tooltip-/, '') as DataAttribute\n acc[parsedAttribute] = elementReference?.getAttribute(name) ?? null\n }\n return acc\n }, {} as Record<DataAttribute, string | null>)\n\n return dataAttributes\n }\n\n const applyAllDataAttributesFromAnchorElement = (\n dataAttributes: Record<string, string | null>,\n ) => {\n const handleDataAttributes: Record<DataAttribute, (value: string | null) => void> = {\n place: (value) => {\n setTooltipPlace((value as PlacesType) ?? place)\n },\n content: (value) => {\n setTooltipContent(value ?? content)\n },\n html: (value) => {\n setTooltipHtml(value ?? html)\n },\n variant: (value) => {\n setTooltipVariant((value as VariantType) ?? variant)\n },\n offset: (value) => {\n setTooltipOffset(value === null ? offset : Number(value))\n },\n wrapper: (value) => {\n setTooltipWrapper((value as WrapperType) ?? wrapper)\n },\n events: (value) => {\n const parsed = value?.split(' ') as EventsType[]\n setTooltipEvents(parsed ?? events)\n },\n 'position-strategy': (value) => {\n setTooltipPositionStrategy((value as PositionStrategy) ?? positionStrategy)\n },\n 'delay-show': (value) => {\n setTooltipDelayShow(value === null ? delayShow : Number(value))\n },\n 'delay-hide': (value) => {\n setTooltipDelayHide(value === null ? delayHide : Number(value))\n },\n float: (value) => {\n setTooltipFloat(value === null ? float : value === 'true')\n },\n }\n // reset unset data attributes to default values\n // without this, data attributes from the last active anchor will still be used\n Object.values(handleDataAttributes).forEach((handler) => handler(null))\n Object.entries(dataAttributes).forEach(([key, value]) => {\n handleDataAttributes[key as DataAttribute]?.(value)\n })\n }\n\n useEffect(() => {\n setTooltipContent(content)\n }, [content])\n\n useEffect(() => {\n setTooltipHtml(html)\n }, [html])\n\n useEffect(() => {\n setTooltipPlace(place)\n }, [place])\n\n useEffect(() => {\n const elementRefs = new Set(anchorRefs)\n\n let selector = anchorSelect\n if (!selector && id) {\n selector = `[data-tooltip-id='${id}']`\n }\n if (selector) {\n try {\n const anchorsBySelect = document.querySelectorAll<HTMLElement>(selector)\n anchorsBySelect.forEach((anchor) => {\n elementRefs.add({ current: anchor })\n })\n } catch {\n if (!process.env.NODE_ENV || process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.warn(`[react-tooltip] \"${anchorSelect}\" is not a valid CSS selector`)\n }\n }\n }\n\n const anchorById = document.querySelector<HTMLElement>(`[id='${anchorId}']`)\n if (anchorById) {\n elementRefs.add({ current: anchorById })\n }\n\n if (!elementRefs.size) {\n return () => null\n }\n\n const anchorElement = activeAnchor ?? anchorById ?? providerActiveAnchor.current\n\n const observerCallback: MutationCallback = (mutationList) => {\n mutationList.forEach((mutation) => {\n if (\n !anchorElement ||\n mutation.type !== 'attributes' ||\n !mutation.attributeName?.startsWith('data-tooltip-')\n ) {\n return\n }\n // make sure to get all set attributes, since all unset attributes are reset\n const dataAttributes = getDataAttributesFromAnchorElement(anchorElement)\n applyAllDataAttributesFromAnchorElement(dataAttributes)\n })\n }\n\n // Create an observer instance linked to the callback function\n const observer = new MutationObserver(observerCallback)\n\n // do not check for subtree and childrens, we only want to know attribute changes\n // to stay watching `data-attributes-*` from anchor element\n const observerConfig = { attributes: true, childList: false, subtree: false }\n\n if (anchorElement) {\n const dataAttributes = getDataAttributesFromAnchorElement(anchorElement)\n applyAllDataAttributesFromAnchorElement(dataAttributes)\n // Start observing the target node for configured mutations\n observer.observe(anchorElement, observerConfig)\n }\n\n return () => {\n // Remove the observer when the tooltip is destroyed\n observer.disconnect()\n }\n }, [anchorRefs, providerActiveAnchor, activeAnchor, anchorId, anchorSelect])\n\n /**\n * content priority: children < renderContent or content < html\n * children should be lower priority so that it can be used as the \"default\" content\n */\n let renderedContent: ChildrenType = children\n if (render) {\n renderedContent = render({ content: tooltipContent ?? null, activeAnchor })\n } else if (tooltipContent) {\n renderedContent = tooltipContent\n }\n if (tooltipHtml) {\n renderedContent = <TooltipContent content={tooltipHtml} />\n }\n\n const props: ITooltip = {\n id,\n anchorId,\n anchorSelect,\n className,\n classNameArrow,\n content: renderedContent,\n place: tooltipPlace,\n variant: tooltipVariant,\n offset: tooltipOffset,\n wrapper: tooltipWrapper,\n events: tooltipEvents,\n openOnClick,\n positionStrategy: tooltipPositionStrategy,\n middlewares,\n delayShow: tooltipDelayShow,\n delayHide: tooltipDelayHide,\n float: tooltipFloat,\n noArrow,\n clickable,\n closeOnEsc,\n style,\n position,\n isOpen,\n setIsOpen,\n afterShow,\n afterHide,\n activeAnchor,\n setActiveAnchor: (anchor: HTMLElement | null) => setActiveAnchor(anchor),\n }\n\n return <Tooltip {...props} />\n}\n\nexport default TooltipController\n", "import { useEffect, useState, useRef } from 'react'\nimport classNames from 'classnames'\nimport debounce from 'utils/debounce'\nimport { useTooltip } from 'components/TooltipProvider'\nimport useIsomorphicLayoutEffect from 'utils/use-isomorphic-layout-effect'\nimport { computeTooltipPosition } from '../../utils/compute-positions'\nimport styles from './styles.module.css'\nimport type { IPosition, ITooltip, PlacesType } from './TooltipTypes'\n\nconst Tooltip = ({\n // props\n id,\n className,\n classNameArrow,\n variant = 'dark',\n anchorId,\n anchorSelect,\n place = 'top',\n offset = 10,\n events = ['hover'],\n openOnClick = false,\n positionStrategy = 'absolute',\n middlewares,\n wrapper: WrapperElement,\n delayShow = 0,\n delayHide = 0,\n float = false,\n noArrow = false,\n clickable = false,\n closeOnEsc = false,\n style: externalStyles,\n position,\n afterShow,\n afterHide,\n // props handled by controller\n content,\n isOpen,\n setIsOpen,\n activeAnchor,\n setActiveAnchor,\n}: ITooltip) => {\n const tooltipRef = useRef<HTMLElement>(null)\n const tooltipArrowRef = useRef<HTMLElement>(null)\n const tooltipShowDelayTimerRef = useRef<NodeJS.Timeout | null>(null)\n const tooltipHideDelayTimerRef = useRef<NodeJS.Timeout | null>(null)\n const [actualPlacement, setActualPlacement] = useState(place)\n const [inlineStyles, setInlineStyles] = useState({})\n const [inlineArrowStyles, setInlineArrowStyles] = useState({})\n const [show, setShow] = useState(false)\n const [rendered, setRendered] = useState(false)\n const wasShowing = useRef(false)\n const lastFloatPosition = useRef<IPosition | null>(null)\n /**\n * @todo Remove this in a future version (provider/wrapper method is deprecated)\n */\n const { anchorRefs, setActiveAnchor: setProviderActiveAnchor } = useTooltip(id)\n const hoveringTooltip = useRef(false)\n const [anchorsBySelect, setAnchorsBySelect] = useState<HTMLElement[]>([])\n const mounted = useRef(false)\n\n const shouldOpenOnClick = openOnClick || events.includes('click')\n\n /**\n * useLayoutEffect runs before useEffect,\n * but should be used carefully because of caveats\n * https://beta.reactjs.org/reference/react/useLayoutEffect#caveats\n */\n useIsomorphicLayoutEffect(() => {\n mounted.current = true\n return () => {\n mounted.current = false\n }\n }, [])\n\n useEffect(() => {\n if (!show) {\n /**\n * this fixes weird behavior when switching between two anchor elements very quickly\n * remove the timeout and switch quickly between two adjancent anchor elements to see it\n *\n * in practice, this means the tooltip is not immediately removed from the DOM on hide\n */\n const timeout = setTimeout(() => {\n setRendered(false)\n }, 150)\n return () => {\n clearTimeout(timeout)\n }\n }\n return () => null\n }, [show])\n\n const handleShow = (value: boolean) => {\n if (!mounted.current) {\n return\n }\n if (value) {\n setRendered(true)\n }\n /**\n * wait for the component to render and calculate position\n * before actually showing\n */\n setTimeout(() => {\n if (!mounted.current) {\n return\n }\n setIsOpen?.(value)\n if (isOpen === undefined) {\n setShow(value)\n }\n }, 10)\n }\n\n /**\n * this replicates the effect from `handleShow()`\n * when `isOpen` is changed from outside\n */\n useEffect(() => {\n if (isOpen === undefined) {\n return () => null\n }\n if (isOpen) {\n setRendered(true)\n }\n const timeout = setTimeout(() => {\n setShow(isOpen)\n }, 10)\n return () => {\n clearTimeout(timeout)\n }\n }, [isOpen])\n\n useEffect(() => {\n if (show === wasShowing.current) {\n return\n }\n wasShowing.current = show\n if (show) {\n afterShow?.()\n } else {\n afterHide?.()\n }\n }, [show])\n\n const handleShowTooltipDelayed = () => {\n if (tooltipShowDelayTimerRef.current) {\n clearTimeout(tooltipShowDelayTimerRef.current)\n }\n\n tooltipShowDelayTimerRef.current = setTimeout(() => {\n handleShow(true)\n }, delayShow)\n }\n\n const handleHideTooltipDelayed = (delay = delayHide) => {\n if (tooltipHideDelayTimerRef.current) {\n clearTimeout(tooltipHideDelayTimerRef.current)\n }\n\n tooltipHideDelayTimerRef.current = setTimeout(() => {\n if (hoveringTooltip.current) {\n return\n }\n handleShow(false)\n }, delay)\n }\n\n const handleShowTooltip = (event?: Event) => {\n if (!event) {\n return\n }\n if (delayShow) {\n handleShowTooltipDelayed()\n } else {\n handleShow(true)\n }\n const target = event.currentTarget ?? event.target\n setActiveAnchor(target as HTMLElement)\n setProviderActiveAnchor({ current: target as HTMLElement })\n\n if (tooltipHideDelayTimerRef.current) {\n clearTimeout(tooltipHideDelayTimerRef.current)\n }\n }\n\n const handleHideTooltip = () => {\n if (clickable) {\n // allow time for the mouse to reach the tooltip, in case there's a gap\n handleHideTooltipDelayed(delayHide || 100)\n } else if (delayHide) {\n handleHideTooltipDelayed()\n } else {\n handleShow(false)\n }\n\n if (tooltipShowDelayTimerRef.current) {\n clearTimeout(tooltipShowDelayTimerRef.current)\n }\n }\n\n const handleTooltipPosition = ({ x, y }: IPosition) => {\n const virtualElement = {\n getBoundingClientRect() {\n return {\n x,\n y,\n width: 0,\n height: 0,\n top: y,\n left: x,\n right: x,\n bottom: y,\n }\n },\n } as Element\n computeTooltipPosition({\n place,\n offset,\n elementReference: virtualElement,\n tooltipReference: tooltipRef.current,\n tooltipArrowReference: tooltipArrowRef.current,\n strategy: positionStrategy,\n middlewares,\n }).then((computedStylesData) => {\n if (Object.keys(computedStylesData.tooltipStyles).length) {\n setInlineStyles(computedStylesData.tooltipStyles)\n }\n if (Object.keys(computedStylesData.tooltipArrowStyles).length) {\n setInlineArrowStyles(computedStylesData.tooltipArrowStyles)\n }\n setActualPlacement(computedStylesData.place as PlacesType)\n })\n }\n\n const handleMouseMove = (event?: Event) => {\n if (!event) {\n return\n }\n const mouseEvent = event as MouseEvent\n const mousePosition = {\n x: mouseEvent.clientX,\n y: mouseEvent.clientY,\n }\n handleTooltipPosition(mousePosition)\n lastFloatPosition.current = mousePosition\n }\n\n const handleClickTooltipAnchor = (event?: Event) => {\n handleShowTooltip(event)\n if (delayHide) {\n handleHideTooltipDelayed()\n }\n }\n\n const handleClickOutsideAnchors = (event: MouseEvent) => {\n const anchorById = document.querySelector<HTMLElement>(`[id='${anchorId}']`)\n const anchors = [anchorById, ...anchorsBySelect]\n if (anchors.some((anchor) => anchor?.contains(event.target as HTMLElement))) {\n return\n }\n if (tooltipRef.current?.contains(event.target as HTMLElement)) {\n return\n }\n handleShow(false)\n }\n\n const handleEsc = (event: KeyboardEvent) => {\n if (event.key !== 'Escape') {\n return\n }\n handleShow(false)\n }\n\n // debounce handler to prevent call twice when\n // mouse enter and focus events being triggered toggether\n const debouncedHandleShowTooltip = debounce(handleShowTooltip, 50)\n const debouncedHandleHideTooltip = debounce(handleHideTooltip, 50)\n\n useEffect(() => {\n const elementRefs = new Set(anchorRefs)\n\n anchorsBySelect.forEach((anchor) => {\n elementRefs.add({ current: anchor })\n })\n\n const anchorById = document.querySelector<HTMLElement>(`[id='${anchorId}']`)\n if (anchorById) {\n elementRefs.add({ current: anchorById })\n }\n\n if (closeOnEsc) {\n window.addEventListener('keydown', handleEsc)\n }\n\n const enabledEvents: { event: string; listener: (event?: Event) => void }[] = []\n\n if (shouldOpenOnClick) {\n window.addEventListener('click', handleClickOutsideAnchors)\n enabledEvents.push({ event: 'click', listener: handleClickTooltipAnchor })\n } else {\n enabledEvents.push(\n { event: 'mouseenter', listener: debouncedHandleShowTooltip },\n { event: 'mouseleave', listener: debouncedHandleHideTooltip },\n { event: 'focus', listener: debouncedHandleShowTooltip },\n { event: 'blur', listener: debouncedHandleHideTooltip },\n )\n if (float) {\n enabledEvents.push({\n event: 'mousemove',\n listener: handleMouseMove,\n })\n }\n }\n\n const handleMouseEnterTooltip = () => {\n hoveringTooltip.current = true\n }\n const handleMouseLeaveTooltip = () => {\n hoveringTooltip.current = false\n handleHideTooltip()\n }\n\n if (clickable && !shouldOpenOnClick) {\n tooltipRef.current?.addEventListener('mouseenter', handleMouseEnterTooltip)\n tooltipRef.current?.addEventListener('mouseleave', handleMouseLeaveTooltip)\n }\n\n enabledEvents.forEach(({ event, listener }) => {\n elementRefs.forEach((ref) => {\n ref.current?.addEventListener(event, listener)\n })\n })\n\n return () => {\n if (shouldOpenOnClick) {\n window.removeEventListener('click', handleClickOutsideAnchors)\n }\n if (closeOnEsc) {\n window.removeEventListener('keydown', handleEsc)\n }\n if (clickable && !shouldOpenOnClick) {\n tooltipRef.current?.removeEventListener('mouseenter', handleMouseEnterTooltip)\n tooltipRef.current?.removeEventListener('mouseleave', handleMouseLeaveTooltip)\n }\n enabledEvents.forEach(({ event, listener }) => {\n elementRefs.forEach((ref) => {\n ref.current?.removeEventListener(event, listener)\n })\n })\n }\n /**\n * rendered is also a dependency to ensure anchor observers are re-registered\n * since `tooltipRef` becomes stale after removing/adding the tooltip to the DOM\n */\n }, [rendered, anchorRefs, anchorsBySelect, closeOnEsc, events])\n\n useEffect(() => {\n let selector = anchorSelect ?? ''\n if (!selector && id) {\n selector = `[data-tooltip-id='${id}']`\n }\n const documentObserverCallback: MutationCallback = (mutationList) => {\n const newAnchors: HTMLElement[] = []\n mutationList.forEach((mutation) => {\n if (mutation.type === 'attributes' && mutation.attributeName === 'data-tooltip-id') {\n const newId = (mutation.target as HTMLElement).getAttribute('data-tooltip-id')\n if (newId === id) {\n newAnchors.push(mutation.target as HTMLElement)\n }\n }\n if (mutation.type !== 'childList') {\n return\n }\n if (activeAnchor) {\n ;[...mutation.removedNodes].some((node) => {\n if (node?.contains?.(activeAnchor)) {\n setRendered(false)\n handleShow(false)\n setActiveAnchor(null)\n return true\n }\n return false\n })\n }\n if (!selector) {\n return\n }\n try {\n const elements = [...mutation.addedNodes].filter((node) => node.nodeType === 1)\n newAnchors.push(\n // the element itself is an anchor\n ...(elements.filter((element) =>\n (element as HTMLElement).matches(selector),\n ) as HTMLElement[]),\n )\n newAnchors.push(\n // the element has children which are anchors\n ...elements.flatMap(\n (element) =>\n [...(element as HTMLElement).querySelectorAll(selector)] as HTMLElement[],\n ),\n )\n } catch {\n /**\n * invalid CSS selector.\n * already warned on tooltip controller\n */\n }\n })\n if (newAnchors.length) {\n setAnchorsBySelect((anchors) => [...anchors, ...newAnchors])\n }\n }\n const documentObserver = new MutationObserver(documentObserverCallback)\n // watch for anchor being removed from the DOM\n documentObserver.observe(document.body, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['data-tooltip-id'],\n })\n return () => {\n documentObserver.disconnect()\n }\n }, [id, anchorSelect, activeAnchor])\n\n useEffect(() => {\n if (position) {\n // if `position` is set, override regular and `float` positioning\n handleTooltipPosition(position)\n return\n }\n\n if (float) {\n if (lastFloatPosition.current) {\n /*\n Without this, changes to `content`, `place`, `offset`, ..., will only\n trigger a position calculation after a `mousemove` event.\n\n To see why this matters, comment this line, run `yarn dev` and click the\n \"Hover me!\" anchor.\n */\n handleTooltipPosition(lastFloatPosition.current)\n }\n // if `float` is set, override regular positioning\n return\n }\n\n computeTooltipPosition({\n place,\n offset,\n elementReference: activeAnchor,\n tooltipReference: tooltipRef.current,\n tooltipArrowReference: tooltipArrowRef.current,\n strategy: positionStrategy,\n middlewares,\n }).then((computedStylesData) => {\n if (!mounted.current) {\n // invalidate computed positions after remount\n return\n }\n if (Object.keys(computedStylesData.tooltipStyles).length) {\n setInlineStyles(computedStylesData.tooltipStyles)\n }\n if (Object.keys(computedStylesData.tooltipArrowStyles).length) {\n setInlineArrowStyles(computedStylesData.tooltipArrowStyles)\n }\n setActualPlacement(computedStylesData.place as PlacesType)\n })\n }, [show, activeAnchor, content, place, offset, positionStrategy, position])\n\n useEffect(() => {\n const anchorById = document.querySelector<HTMLElement>(`[id='${anchorId}']`)\n const anchors = [...anchorsBySelect, anchorById]\n if (!activeAnchor || !anchors.includes(activeAnchor)) {\n /**\n * if there is no active anchor,\n * or if the current active anchor is not amongst the allowed ones,\n * reset it\n */\n setActiveAnchor(anchorsBySelect[0] ?? anchorById)\n }\n }, [anchorId, anchorsBySelect, activeAnchor])\n\n useEffect(() => {\n return () => {\n if (tooltipShowDelayTimerRef.current) {\n clearTimeout(tooltipShowDelayTimerRef.current)\n }\n if (tooltipHideDelayTimerRef.current) {\n clearTimeout(tooltipHideDelayTimerRef.current)\n }\n }\n }, [])\n\n useEffect(() => {\n let selector = anchorSelect\n if (!selector && id) {\n selector = `[data-tooltip-id='${id}']`\n }\n if (!selector) {\n return\n }\n try {\n const anchors = Array.from(document.querySelectorAll<HTMLElement>(selector))\n setAnchorsBySelect(anchors)\n } catch {\n // warning was already issued in the controller\n setAnchorsBySelect([])\n }\n }, [id, anchorSelect])\n\n const canShow = content && show && Object.keys(inlineStyles).length > 0\n\n return rendered ? (\n <WrapperElement\n id={id}\n role=\"tooltip\"\n className={classNames(\n 'react-tooltip',\n styles['tooltip'],\n styles[variant],\n className,\n `react-tooltip__place-${actualPlacement}`,\n {\n [styles['show']]: canShow,\n [styles['fixed']]: positionStrategy === 'fixed',\n [styles['clickable']]: clickable,\n },\n )}\n style={{ ...externalStyles, ...inlineStyles }}\n ref={tooltipRef}\n >\n {content}\n <WrapperElement\n className={classNames('react-tooltip-arrow', styles['arrow'], classNameArrow, {\n /**\n * changed from dash `no-arrow` to camelcase because of:\n * https://github.com/indooorsman/esbuild-css-modules-plugin/issues/42\n */\n [styles['noArrow']]: noArrow,\n })}\n style={inlineArrowStyles}\n ref={tooltipArrowRef}\n />\n </WrapperElement>\n ) : null\n}\n\nexport default Tooltip\n", "/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * This function debounce the received function\n * @param { function } \tfunc\t\t\t\tFunction to be debounced\n * @param { number } \t\twait\t\t\t\tTime to wait before execut the function\n * @param { boolean } \timmediate\t\tParam to define if the function will be executed immediately\n */\nconst debounce = (func: (...args: any[]) => void, wait?: number, immediate?: true) => {\n let timeout: NodeJS.Timeout | null = null\n\n return function debounced(this: typeof func, ...args: any[]) {\n const later = () => {\n timeout = null\n if (!immediate) {\n func.apply(this, args)\n }\n }\n\n if (timeout) {\n clearTimeout(timeout)\n }\n\n timeout = setTimeout(later, wait)\n }\n}\n\nexport default debounce\n", "import React, {\n createContext,\n PropsWithChildren,\n useCallback,\n useContext,\n useMemo,\n useState,\n} from 'react'\n\nimport type {\n AnchorRef,\n TooltipContextData,\n TooltipContextDataWrapper,\n} from './TooltipProviderTypes'\n\nconst DEFAULT_TOOLTIP_ID = 'DEFAULT_TOOLTIP_ID'\nconst DEFAULT_CONTEXT_DATA: TooltipContextData = {\n anchorRefs: new Set(),\n activeAnchor: { current: null },\n attach: () => {\n /* attach anchor element */\n },\n detach: () => {\n /* detach anchor element */\n },\n setActiveAnchor: () => {\n /* set active anchor */\n },\n}\n\nconst DEFAULT_CONTEXT_DATA_WRAPPER: TooltipContextDataWrapper = {\n getTooltipData: () => DEFAULT_CONTEXT_DATA,\n}\n\nconst TooltipContext = createContext<TooltipContextDataWrapper>(DEFAULT_CONTEXT_DATA_WRAPPER)\n\n/**\n * @deprecated Use the `data-tooltip-id` attribute, or the `anchorSelect` prop instead.\n * See https://react-tooltip.com/docs/getting-started\n */\nconst TooltipProvider: React.FC<PropsWithChildren<void>> = ({ children }) => {\n const [anchorRefMap, setAnchorRefMap] = useState<Record<string, Set<AnchorRef>>>({\n [DEFAULT_TOOLTIP_ID]: new Set(),\n })\n const [activeAnchorMap, setActiveAnchorMap] = useState<Record<string, AnchorRef>>({\n [DEFAULT_TOOLTIP_ID]: { current: null },\n })\n\n const attach = (tooltipId: string, ...refs: AnchorRef[]) => {\n setAnchorRefMap((oldMap) => {\n const tooltipRefs = oldMap[tooltipId] ?? new Set()\n refs.forEach((ref) => tooltipRefs.add(ref))\n // create new object to trigger re-render\n return { ...oldMap, [tooltipId]: new Set(tooltipRefs) }\n })\n }\n\n const detach = (tooltipId: string, ...refs: AnchorRef[]) => {\n setAnchorRefMap((oldMap) => {\n const tooltipRefs = oldMap[tooltipId]\n if (!tooltipRefs) {\n // tooltip not found\n // maybe thow error?\n return oldMap\n }\n refs.forEach((ref) => tooltipRefs.delete(ref))\n // create new object to trigger re-render\n return { ...oldMap }\n })\n }\n\n const setActiveAnchor = (tooltipId: string, ref: React.RefObject<HTMLElement>) => {\n setActiveAnchorMap((oldMap) => {\n if (oldMap[tooltipId]?.current === ref.current) {\n return oldMap\n }\n // create new object to trigger re-render\n return { ...oldMap, [tooltipId]: ref }\n })\n }\n\n const getTooltipData = useCallback(\n (tooltipId = DEFAULT_TOOLTIP_ID) => ({\n anchorRefs: anchorRefMap[tooltipId] ?? new Set(),\n activeAnchor: activeAnchorMap[tooltipId] ?? { current: null },\n attach: (...refs: AnchorRef[]) => attach(tooltipId, ...refs),\n detach: (...refs: AnchorRef[]) => detach(tooltipId, ...refs),\n setActiveAnchor: (ref: AnchorRef) => setActiveAnchor(tooltipId, ref),\n }),\n [anchorRefMap, activeAnchorMap, attach, detach],\n )\n\n const context = useMemo(() => {\n return {\n getTooltipData,\n }\n }, [getTooltipData])\n\n return <TooltipContext.Provider value={context}>{children}</TooltipContext.Provider>\n}\n\nexport function useTooltip(tooltipId = DEFAULT_TOOLTIP_ID) {\n return useContext(TooltipContext).getTooltipData(tooltipId)\n}\n\nexport default TooltipProvider\n", "import { useEffect, useRef } from 'react'\nimport classNames from 'classnames'\nimport { useTooltip } from './TooltipProvider'\nimport type { ITooltipWrapper } from './TooltipProviderTypes'\n\n/**\n * @deprecated Use the `data-tooltip-id` attribute, or the `anchorSelect` prop instead.\n * See https://react-tooltip.com/docs/getting-started\n */\nconst TooltipWrapper = ({\n tooltipId,\n children,\n className,\n place,\n content,\n html,\n variant,\n offset,\n wrapper,\n events,\n positionStrategy,\n delayShow,\n delayHide,\n}: ITooltipWrapper) => {\n const { attach, detach } = useTooltip(tooltipId)\n const anchorRef = useRef<HTMLElement | null>(null)\n\n useEffect(() => {\n attach(anchorRef)\n return () => {\n detach(anchorRef)\n }\n }, [])\n\n return (\n <span\n ref={anchorRef}\n className={classNames('react-tooltip-wrapper', className)}\n data-tooltip-place={place}\n data-tooltip-content={content}\n data-tooltip-html={html}\n data-tooltip-variant={variant}\n data-tooltip-offset={offset}\n data-tooltip-wrapper={wrapper}\n data-tooltip-events={events}\n data-tooltip-position-strategy={positionStrategy}\n data-tooltip-delay-show={delayShow}\n data-tooltip-delay-hide={delayHide}\n >\n {children}\n </span>\n )\n}\n\nexport default TooltipWrapper\n", "import { useLayoutEffect, useEffect } from 'react'\n\nconst useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect\n\nexport default useIsomorphicLayoutEffect\n", "import { computePosition, offset, shift, arrow, flip } from '@floating-ui/dom'\nimport type { IComputePositions } from './compute-positions-types'\n\nexport const computeTooltipPosition = async ({\n elementReference = null,\n tooltipReference = null,\n tooltipArrowReference = null,\n place = 'top',\n offset: offsetValue = 10,\n strategy = 'absolute',\n middlewares = [offset(Number(offsetValue)), flip(), shift({ padding: 5 })],\n}: IComputePositions) => {\n if (!elementReference) {\n // elementReference can be null or undefined and we will not compute the position\n // eslint-disable-next-line no-console\n // console.error('The reference element for tooltip was not defined: ', elementReference)\n return { tooltipStyles: {}, tooltipArrowStyles: {}, place }\n }\n\n if (tooltipReference === null) {\n return { tooltipStyles: {}, tooltipArrowStyles: {}, place }\n }\n\n const middleware = middlewares\n\n if (tooltipArrowReference) {\n middleware.push(arrow({ element: tooltipArrowReference as HTMLElement, padding: 5 }))\n\n return computePosition(elementReference as HTMLElement, tooltipReference as HTMLElement, {\n placement: place,\n strategy,\n middleware,\n }).then(({ x, y, placement, middlewareData }) => {\n const styles = { left: `${x}px`, top: `${y}px` }\n\n const { x: arrowX, y: arrowY } = middlewareData.arrow ?? { x: 0, y: 0 }\n\n const staticSide =\n {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n }[placement.split('-')[0]] ?? 'bottom'\n\n const arrowStyle = {\n left: arrowX != null ? `${arrowX}px` : '',\n top: arrowY != null ? `${arrowY}px` : '',\n right: '',\n bottom: '',\n [staticSide]: '-4px',\n }\n\n return { tooltipStyles: styles, tooltipArrowStyles: arrowStyle, place: placement }\n })\n }\n\n return computePosition(elementReference as HTMLElement, tooltipReference as HTMLElement, {\n placement: 'bottom',\n strategy,\n middleware,\n }).then(({ x, y, placement }) => {\n const styles = { left: `${x}px`, top: `${y}px` }\n\n return { tooltipStyles: styles, tooltipArrowStyles: {}, place: placement }\n })\n}\n", "import \"./styles.module.css?esbuild-css-modules-plugin-built\";\nexport default {\"arrow\":\"react-tooltip__arrow_KtSkBq\",\"clickable\":\"react-tooltip__clickable_KtSkBq\",\"dark\":\"react-tooltip__dark_KtSkBq\",\"error\":\"react-tooltip__error_KtSkBq\",\"fixed\":\"react-tooltip__fixed_KtSkBq\",\"info\":\"react-tooltip__info_KtSkBq\",\"light\":\"react-tooltip__light_KtSkBq\",\"noArrow\":\"react-tooltip__no-arrow_KtSkBq\",\"show\":\"react-tooltip__show_KtSkBq\",\"success\":\"react-tooltip__success_KtSkBq\",\"tooltip\":\"react-tooltip__tooltip_KtSkBq\",\"warning\":\"react-tooltip__warning_KtSkBq\"};;\nexport const arrow = \"react-tooltip__arrow_KtSkBq\";\nexport const clickable = \"react-tooltip__clickable_KtSkBq\";\nexport const dark = \"react-tooltip__dark_KtSkBq\";\nexport const error = \"react-tooltip__error_KtSkBq\";\nexport const fixed = \"react-tooltip__fixed_KtSkBq\";\nexport const info = \"react-tooltip__info_KtSkBq\";\nexport const light = \"react-tooltip__light_KtSkBq\";\nexport const noArrow = \"react-tooltip__no-arrow_KtSkBq\";\nexport const show = \"react-tooltip__show_KtSkBq\";\nexport const success = \"react-tooltip__success_KtSkBq\";\nexport const tooltip = \"react-tooltip__tooltip_KtSkBq\";\nexport const warning = \"react-tooltip__warning_KtSkBq\";", "/* eslint-disable react/no-danger */\nimport type { ITooltipContent } from './TooltipContentTypes'\n\nconst TooltipContent = ({ content }: ITooltipContent) => {\n return <span dangerouslySetInnerHTML={{ __html: content }} />\n}\n\nexport default TooltipContent\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_react", "import_react", "import_classnames", "debounce", "func", "wait", "immediate", "timeout", "args", "later", "debounce_default", "import_react", "import_jsx_runtime", "DEFAULT_TOOLTIP_ID", "DEFAULT_CONTEXT_DATA", "DEFAULT_CONTEXT_DATA_WRAPPER", "TooltipContext", "TooltipProvider", "children", "anchorRefMap", "setAnchorRefMap", "activeAnchorMap", "setActiveAnchorMap", "attach", "tooltipId", "refs", "oldMap", "_a", "tooltipRefs", "ref", "detach", "setActiveAnchor", "getTooltipData", "_b", "context", "useTooltip", "TooltipProvider_default", "import_react", "import_classnames", "import_jsx_runtime", "TooltipWrapper", "tooltipId", "children", "className", "place", "content", "html", "variant", "offset", "wrapper", "events", "positionStrategy", "delayShow", "delayHide", "attach", "detach", "useTooltip", "anchorRef", "classNames", "TooltipWrapper_default", "import_react", "useIsomorphicLayoutEffect", "use_isomorphic_layout_effect_default", "import_dom", "computeTooltipPosition", "elementReference", "tooltipReference", "tooltipArrowReference", "place", "offsetValue", "strategy", "middlewares", "middleware", "x", "y", "placement", "middlewareData", "_a", "_b", "styles", "arrowX", "arrowY", "staticSide", "arrowStyle", "styles_module_default", "import_jsx_runtime", "Tooltip", "id", "className", "classNameArrow", "variant", "anchorId", "anchorSelect", "place", "offset", "events", "openOnClick", "positionStrategy", "middlewares", "WrapperElement", "delayShow", "delayHide", "float", "noArrow", "clickable", "closeOnEsc", "externalStyles", "position", "afterShow", "afterHide", "content", "isOpen", "setIsOpen", "activeAnchor", "setActiveAnchor", "tooltipRef", "tooltipArrowRef", "tooltipShowDelayTimerRef", "tooltipHideDelayTimerRef", "actualPlacement", "setActualPlacement", "inlineStyles", "setInlineStyles", "inlineArrowStyles", "setInlineArrowStyles", "show", "setShow", "rendered", "setRendered", "wasShowing", "lastFloatPosition", "anchorRefs", "setProviderActiveAnchor", "useTooltip", "hoveringTooltip", "anchorsBySelect", "setAnchorsBySelect", "mounted", "shouldOpenOnClick", "use_isomorphic_layout_effect_default", "timeout", "handleShow", "value", "handleShowTooltipDelayed", "handleHideTooltipDelayed", "delay", "handleShowTooltip", "event", "_a", "target", "handleHideTooltip", "handleTooltipPosition", "x", "y", "computeTooltipPosition", "computedStylesData", "handleMouseMove", "mouseEvent", "mousePosition", "handleClickTooltipAnchor", "handleClickOutsideAnchors", "anchor", "handleEsc", "debouncedHandleShowTooltip", "debounce_default", "debouncedHandleHideTooltip", "_b", "elementRefs", "anchorById", "enabledEvents", "handleMouseEnterTooltip", "handleMouseLeaveTooltip", "listener", "ref", "selector", "documentObserverCallback", "mutationList", "newAnchors", "mutation", "node", "elements", "element", "e", "anchors", "documentObserver", "canShow", "classNames", "styles_module_default", "Tooltip_default", "import_jsx_runtime", "TooltipContent", "content", "TooltipContent_default", "import_jsx_runtime", "TooltipController", "id", "anchorId", "anchorSelect", "content", "html", "render", "className", "classNameArrow", "variant", "place", "offset", "wrapper", "children", "events", "openOnClick", "positionStrategy", "middlewares", "delayShow", "delayHide", "float", "noArrow", "clickable", "closeOnEsc", "style", "position", "isOpen", "setIsOpen", "afterShow", "afterHide", "tooltipContent", "setTooltipContent", "tooltipHtml", "setTooltipHtml", "tooltipPlace", "setTooltipPlace", "tooltipVariant", "setTooltipVariant", "tooltipOffset", "setTooltipOffset", "tooltipDelayShow", "setTooltipDelayShow", "tooltipDelayHide", "setTooltipDelayHide", "tooltipFloat", "setTooltipFloat", "tooltipWrapper", "setTooltipWrapper", "tooltipEvents", "setTooltipEvents", "tooltipPositionStrategy", "setTooltipPositionStrategy", "activeAnchor", "setActiveAnchor", "anchorRefs", "providerActiveAnchor", "useTooltip", "getDataAttributesFromAnchorElement", "elementReference", "acc", "name", "_a", "parsedAttribute", "applyAllDataAttributesFromAnchorElement", "dataAttributes", "handleDataAttributes", "value", "parsed", "handler", "key", "elementRefs", "selector", "anchor", "e", "anchorById", "anchorElement", "observerCallback", "mutationList", "mutation", "observer", "observerConfig", "renderedContent", "TooltipContent_default", "Tooltip_default", "TooltipController_default"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{useEffect as St,useState as C}from"react";import{useEffect as N,useState as G,useRef as $}from"react";import Wt from"classnames";var Vt=(o,m,_)=>{let c=null;return function(...p){let w=()=>{c=null,_||o.apply(this,p)};c&&clearTimeout(c),c=setTimeout(w,m)}},xt=Vt;import{createContext as Ut,useCallback as Xt,useContext as jt,useMemo as Jt,useState as qt}from"react";import{jsx as Qt}from"react/jsx-runtime";var At="DEFAULT_TOOLTIP_ID",Yt={anchorRefs:new Set,activeAnchor:{current:null},attach:()=>{},detach:()=>{},setActiveAnchor:()=>{}},zt={getTooltipData:()=>Yt},Rt=Ut(zt),Gt=({children:o})=>{let[m,_]=qt({[At]:new Set}),[c,y]=qt({[At]:{current:null}}),p=(r,...a)=>{_(l=>{var h;let n=(h=l[r])!=null?h:new Set;return a.forEach(v=>n.add(v)),{...l,[r]:new Set(n)}})},w=(r,...a)=>{_(l=>{let n=l[r];return n?(a.forEach(h=>n.delete(h)),{...l}):l})},k=(r,a)=>{y(l=>{var n;return((n=l[r])==null?void 0:n.current)===a.current?l:{...l,[r]:a}})},A=Xt((r=At)=>{var a,l;return{anchorRefs:(a=m[r])!=null?a:new Set,activeAnchor:(l=c[r])!=null?l:{current:null},attach:(...n)=>p(r,...n),detach:(...n)=>w(r,...n),setActiveAnchor:n=>k(r,n)}},[m,c,p,w]),S=Jt(()=>({getTooltipData:A}),[A]);return Qt(Rt.Provider,{value:S,children:o})};function U(o=At){return jt(Rt).getTooltipData(o)}var Dt=Gt;import{useEffect as Zt,useRef as te}from"react";import ee from"classnames";import{jsx as re}from"react/jsx-runtime";var oe=({tooltipId:o,children:m,className:_,place:c,content:y,html:p,variant:w,offset:k,wrapper:A,events:S,positionStrategy:r,delayShow:a,delayHide:l})=>{let{attach:n,detach:h}=U(o),v=te(null);return Zt(()=>(n(v),()=>{h(v)}),[]),re("span",{ref:v,className:ee("react-tooltip-wrapper",_),"data-tooltip-place":c,"data-tooltip-content":y,"data-tooltip-html":p,"data-tooltip-variant":w,"data-tooltip-offset":k,"data-tooltip-wrapper":A,"data-tooltip-events":S,"data-tooltip-position-strategy":r,"data-tooltip-delay-show":a,"data-tooltip-delay-hide":l,children:m})},Kt=oe;import{useLayoutEffect as ne,useEffect as le}from"react";var ie=typeof window!="undefined"?ne:le,It=ie;import{computePosition as Nt,offset as se,shift as ce,arrow as ae,flip as pe}from"@floating-ui/dom";var Ct=async({elementReference:o=null,tooltipReference:m=null,tooltipArrowReference:_=null,place:c="top",offset:y=10,strategy:p="absolute",middlewares:w=[se(Number(y)),pe(),ce({padding:5})]})=>{if(!o)return{tooltipStyles:{},tooltipArrowStyles:{},place:c};if(m===null)return{tooltipStyles:{},tooltipArrowStyles:{},place:c};let k=w;return _?(k.push(ae({element:_,padding:5})),Nt(o,m,{placement:c,strategy:p,middleware:k}).then(({x:A,y:S,placement:r,middlewareData:a})=>{var P,D;let l={left:`${A}px`,top:`${S}px`},{x:n,y:h}=(P=a.arrow)!=null?P:{x:0,y:0},v=(D={top:"bottom",right:"left",bottom:"top",left:"right"}[r.split("-")[0]])!=null?D:"bottom",Q={left:n!=null?`${n}px`:"",top:h!=null?`${h}px`:"",right:"",bottom:"",[v]:"-4px"};return{tooltipStyles:l,tooltipArrowStyles:Q,place:r}})):Nt(o,m,{placement:"bottom",strategy:p,middleware:k}).then(({x:A,y:S,placement:r})=>({tooltipStyles:{left:`${A}px`,top:`${S}px`},tooltipArrowStyles:{},place:r}))};var O={arrow:"react-tooltip__arrow_KtSkBq",clickable:"react-tooltip__clickable_KtSkBq",dark:"react-tooltip__dark_KtSkBq",error:"react-tooltip__error_KtSkBq",fixed:"react-tooltip__fixed_KtSkBq",info:"react-tooltip__info_KtSkBq",light:"react-tooltip__light_KtSkBq",noArrow:"react-tooltip__no-arrow_KtSkBq",show:"react-tooltip__show_KtSkBq",success:"react-tooltip__success_KtSkBq",tooltip:"react-tooltip__tooltip_KtSkBq",warning:"react-tooltip__warning_KtSkBq"};import{jsx as fe,jsxs as Te}from"react/jsx-runtime";var ue=({id:o,className:m,classNameArrow:_,variant:c="dark",anchorId:y,anchorSelect:p,place:w="top",offset:k=10,events:A=["hover"],openOnClick:S=!1,positionStrategy:r="absolute",middlewares:a,wrapper:l,delayShow:n=0,delayHide:h=0,float:v=!1,noArrow:Q=!1,clickable:P=!1,closeOnEsc:D=!1,style:ut,position:Z,afterShow:tt,afterHide:et,content:ot,isOpen:F,setIsOpen:rt,activeAnchor:M,setActiveAnchor:nt})=>{let B=$(null),K=$(null),H=$(null),q=$(null),[ft,Tt]=G(w),[lt,dt]=G({}),[gt,mt]=G({}),[R,yt]=G(!1),[ht,X]=G(!1),Et=$(!1),it=$(null),{anchorRefs:_t,setActiveAnchor:Lt}=U(o),st=$(!1),[W,ct]=G([]),V=$(!1),j=S||A.includes("click");It(()=>(V.current=!0,()=>{V.current=!1}),[]),N(()=>{if(!R){let t=setTimeout(()=>{X(!1)},150);return()=>{clearTimeout(t)}}return()=>null},[R]);let g=t=>{V.current&&(t&&X(!0),setTimeout(()=>{V.current&&(rt==null||rt(t),F===void 0&&yt(t))},10))};N(()=>{if(F===void 0)return()=>null;F&&X(!0);let t=setTimeout(()=>{yt(F)},10);return()=>{clearTimeout(t)}},[F]),N(()=>{R!==Et.current&&(Et.current=R,R?tt==null||tt():et==null||et())},[R]);let kt=()=>{H.current&&clearTimeout(H.current),H.current=setTimeout(()=>{g(!0)},n)},J=(t=h)=>{q.current&&clearTimeout(q.current),q.current=setTimeout(()=>{st.current||g(!1)},t)},at=t=>{var s;if(!t)return;n?kt():g(!0);let i=(s=t.currentTarget)!=null?s:t.target;nt(i),Lt({current:i}),q.current&&clearTimeout(q.current)},pt=()=>{P?J(h||100):h?J():g(!1),H.current&&clearTimeout(H.current)},Y=({x:t,y:i})=>{Ct({place:w,offset:k,elementReference:{getBoundingClientRect(){return{x:t,y:i,width:0,height:0,top:i,left:t,right:t,bottom:i}}},tooltipReference:B.current,tooltipArrowReference:K.current,strategy:r,middlewares:a}).then(u=>{Object.keys(u.tooltipStyles).length&&dt(u.tooltipStyles),Object.keys(u.tooltipArrowStyles).length&&mt(u.tooltipArrowStyles),Tt(u.place)})},z=t=>{if(!t)return;let i=t,s={x:i.clientX,y:i.clientY};Y(s),it.current=s},Bt=t=>{at(t),h&&J()},T=t=>{var u;[document.querySelector(`[id='${y}']`),...W].some(d=>d==null?void 0:d.contains(t.target))||(u=B.current)!=null&&u.contains(t.target)||g(!1)},x=t=>{t.key==="Escape"&&g(!1)},e=xt(at,50),f=xt(pt,50);N(()=>{var L,E;let t=new Set(_t);W.forEach(b=>{t.add({current:b})});let i=document.querySelector(`[id='${y}']`);i&&t.add({current:i}),D&&window.addEventListener("keydown",x);let s=[];j?(window.addEventListener("click",T),s.push({event:"click",listener:Bt})):(s.push({event:"mouseenter",listener:e},{event:"mouseleave",listener:f},{event:"focus",listener:e},{event:"blur",listener:f}),v&&s.push({event:"mousemove",listener:z}));let u=()=>{st.current=!0},d=()=>{st.current=!1,pt()};return P&&!j&&((L=B.current)==null||L.addEventListener("mouseenter",u),(E=B.current)==null||E.addEventListener("mouseleave",d)),s.forEach(({event:b,listener:wt})=>{t.forEach(vt=>{var bt;(bt=vt.current)==null||bt.addEventListener(b,wt)})}),()=>{var b,wt;j&&window.removeEventListener("click",T),D&&window.removeEventListener("keydown",x),P&&!j&&((b=B.current)==null||b.removeEventListener("mouseenter",u),(wt=B.current)==null||wt.removeEventListener("mouseleave",d)),s.forEach(({event:vt,listener:bt})=>{t.forEach(Ft=>{var Ht;(Ht=Ft.current)==null||Ht.removeEventListener(vt,bt)})})}},[ht,_t,W,D,A]),N(()=>{let t=p!=null?p:"";!t&&o&&(t=`[data-tooltip-id='${o}']`);let i=u=>{let d=[];u.forEach(L=>{if(L.type==="attributes"&&L.attributeName==="data-tooltip-id"&&L.target.getAttribute("data-tooltip-id")===o&&d.push(L.target),L.type==="childList"&&(M&&[...L.removedNodes].some(E=>{var b;return(b=E==null?void 0:E.contains)!=null&&b.call(E,M)?(X(!1),g(!1),nt(null),!0):!1}),!!t))try{let E=[...L.addedNodes].filter(b=>b.nodeType===1);d.push(...E.filter(b=>b.matches(t))),d.push(...E.flatMap(b=>[...b.querySelectorAll(t)]))}catch(E){}}),d.length&&ct(L=>[...L,...d])},s=new MutationObserver(i);return s.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-tooltip-id"]}),()=>{s.disconnect()}},[o,p,M]),N(()=>{if(Z){Y(Z);return}if(v){it.current&&Y(it.current);return}Ct({place:w,offset:k,elementReference:M,tooltipReference:B.current,tooltipArrowReference:K.current,strategy:r,middlewares:a}).then(t=>{V.current&&(Object.keys(t.tooltipStyles).length&&dt(t.tooltipStyles),Object.keys(t.tooltipArrowStyles).length&&mt(t.tooltipArrowStyles),Tt(t.place))})},[R,M,ot,w,k,r,Z]),N(()=>{var s;let t=document.querySelector(`[id='${y}']`),i=[...W,t];(!M||!i.includes(M))&&nt((s=W[0])!=null?s:t)},[y,W,M]),N(()=>()=>{H.current&&clearTimeout(H.current),q.current&&clearTimeout(q.current)},[]),N(()=>{let t=p;if(!t&&o&&(t=`[data-tooltip-id='${o}']`),!!t)try{let i=Array.from(document.querySelectorAll(t));ct(i)}catch(i){ct([])}},[o,p]);let I=ot&&R&&Object.keys(lt).length>0;return ht?Te(l,{id:o,role:"tooltip",className:Wt("react-tooltip",O.tooltip,O[c],m,`react-tooltip__place-${ft}`,{[O.show]:I,[O.fixed]:r==="fixed",[O.clickable]:P}),style:{...ut,...lt},ref:B,children:[ot,fe(l,{className:Wt("react-tooltip-arrow",O.arrow,_,{[O.noArrow]:Q}),style:gt,ref:K})]}):null},Pt=ue;import{jsx as me}from"react/jsx-runtime";var de=({content:o})=>me("span",{dangerouslySetInnerHTML:{__html:o}}),Mt=de;import{jsx as Ot}from"react/jsx-runtime";var ye=({id:o,anchorId:m,anchorSelect:_,content:c,html:y,render:p,className:w,classNameArrow:k,variant:A="dark",place:S="top",offset:r=10,wrapper:a="div",children:l=null,events:n=["hover"],openOnClick:h=!1,positionStrategy:v="absolute",middlewares:Q,delayShow:P=0,delayHide:D=0,float:ut=!1,noArrow:Z=!1,clickable:tt=!1,closeOnEsc:et=!1,style:ot,position:F,isOpen:rt,setIsOpen:M,afterShow:nt,afterHide:B})=>{let[K,H]=C(c),[q,ft]=C(y),[Tt,lt]=C(S),[dt,gt]=C(A),[mt,R]=C(r),[yt,ht]=C(P),[X,Et]=C(D),[it,_t]=C(ut),[Lt,st]=C(a),[W,ct]=C(n),[V,j]=C(v),[g,kt]=C(null),{anchorRefs:J,activeAnchor:at}=U(o),pt=T=>T==null?void 0:T.getAttributeNames().reduce((e,f)=>{var I;if(f.startsWith("data-tooltip-")){let t=f.replace(/^data-tooltip-/,"");e[t]=(I=T==null?void 0:T.getAttribute(f))!=null?I:null}return e},{}),Y=T=>{let x={place:e=>{lt(e!=null?e:S)},content:e=>{H(e!=null?e:c)},html:e=>{ft(e!=null?e:y)},variant:e=>{gt(e!=null?e:A)},offset:e=>{R(e===null?r:Number(e))},wrapper:e=>{st(e!=null?e:a)},events:e=>{let f=e==null?void 0:e.split(" ");ct(f!=null?f:n)},"position-strategy":e=>{j(e!=null?e:v)},"delay-show":e=>{ht(e===null?P:Number(e))},"delay-hide":e=>{Et(e===null?D:Number(e))},float:e=>{_t(e===null?ut:e==="true")}};Object.values(x).forEach(e=>e(null)),Object.entries(T).forEach(([e,f])=>{var I;(I=x[e])==null||I.call(x,f)})};St(()=>{H(c)},[c]),St(()=>{ft(y)},[y]),St(()=>{lt(S)},[S]),St(()=>{var s;let T=new Set(J),x=_;if(!x&&o&&(x=`[data-tooltip-id='${o}']`),x)try{document.querySelectorAll(x).forEach(d=>{T.add({current:d})})}catch(u){}let e=document.querySelector(`[id='${m}']`);if(e&&T.add({current:e}),!T.size)return()=>null;let f=(s=g!=null?g:e)!=null?s:at.current,I=u=>{u.forEach(d=>{var E;if(!f||d.type!=="attributes"||!((E=d.attributeName)!=null&&E.startsWith("data-tooltip-")))return;let L=pt(f);Y(L)})},t=new MutationObserver(I),i={attributes:!0,childList:!1,subtree:!1};if(f){let u=pt(f);Y(u),t.observe(f,i)}return()=>{t.disconnect()}},[J,at,g,m,_]);let z=l;return p?z=p({content:K!=null?K:null,activeAnchor:g}):K&&(z=K),q&&(z=Ot(Mt,{content:q})),Ot(Pt,{...{id:o,anchorId:m,anchorSelect:_,className:w,classNameArrow:k,content:z,place:Tt,variant:dt,offset:mt,wrapper:Lt,events:W,openOnClick:h,positionStrategy:V,middlewares:Q,delayShow:yt,delayHide:X,float:it,noArrow:Z,clickable:tt,closeOnEsc:et,style:ot,position:F,isOpen:rt,setIsOpen:M,afterShow:nt,afterHide:B,activeAnchor:g,setActiveAnchor:T=>kt(T)}})},$t=ye;export{$t as Tooltip,Dt as TooltipProvider,Kt as TooltipWrapper};
|
|
2
|
+
//# sourceMappingURL=react-tooltip.min.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/components/TooltipController/TooltipController.tsx", "../src/components/Tooltip/Tooltip.tsx", "../src/utils/debounce.ts", "../src/components/TooltipProvider/TooltipProvider.tsx", "../src/components/TooltipProvider/TooltipWrapper.tsx", "../src/utils/use-isomorphic-layout-effect.ts", "../src/utils/compute-positions.ts", "esbuild-css-modules-plugin-namespace:./src/components/Tooltip/styles.module.css?esbuild-css-modules-plugin-building", "../src/components/TooltipContent/TooltipContent.tsx"],
|
|
4
|
+
"sourcesContent": ["import { useEffect, useState } from 'react'\nimport { Tooltip } from 'components/Tooltip'\nimport type {\n EventsType,\n PositionStrategy,\n PlacesType,\n VariantType,\n WrapperType,\n DataAttribute,\n ITooltip,\n ChildrenType,\n} from 'components/Tooltip/TooltipTypes'\nimport { useTooltip } from 'components/TooltipProvider'\nimport { TooltipContent } from 'components/TooltipContent'\nimport type { ITooltipController } from './TooltipControllerTypes'\n\nconst TooltipController = ({\n id,\n anchorId,\n anchorSelect,\n content,\n html,\n render,\n className,\n classNameArrow,\n variant = 'dark',\n place = 'top',\n offset = 10,\n wrapper = 'div',\n children = null,\n events = ['hover'],\n openOnClick = false,\n positionStrategy = 'absolute',\n middlewares,\n delayShow = 0,\n delayHide = 0,\n float = false,\n noArrow = false,\n clickable = false,\n closeOnEsc = false,\n style,\n position,\n isOpen,\n setIsOpen,\n afterShow,\n afterHide,\n}: ITooltipController) => {\n const [tooltipContent, setTooltipContent] = useState(content)\n const [tooltipHtml, setTooltipHtml] = useState(html)\n const [tooltipPlace, setTooltipPlace] = useState(place)\n const [tooltipVariant, setTooltipVariant] = useState(variant)\n const [tooltipOffset, setTooltipOffset] = useState(offset)\n const [tooltipDelayShow, setTooltipDelayShow] = useState(delayShow)\n const [tooltipDelayHide, setTooltipDelayHide] = useState(delayHide)\n const [tooltipFloat, setTooltipFloat] = useState(float)\n const [tooltipWrapper, setTooltipWrapper] = useState<WrapperType>(wrapper)\n const [tooltipEvents, setTooltipEvents] = useState(events)\n const [tooltipPositionStrategy, setTooltipPositionStrategy] = useState(positionStrategy)\n const [activeAnchor, setActiveAnchor] = useState<HTMLElement | null>(null)\n /**\n * @todo Remove this in a future version (provider/wrapper method is deprecated)\n */\n const { anchorRefs, activeAnchor: providerActiveAnchor } = useTooltip(id)\n\n const getDataAttributesFromAnchorElement = (elementReference: HTMLElement) => {\n const dataAttributes = elementReference?.getAttributeNames().reduce((acc, name) => {\n if (name.startsWith('data-tooltip-')) {\n const parsedAttribute = name.replace(/^data-tooltip-/, '') as DataAttribute\n acc[parsedAttribute] = elementReference?.getAttribute(name) ?? null\n }\n return acc\n }, {} as Record<DataAttribute, string | null>)\n\n return dataAttributes\n }\n\n const applyAllDataAttributesFromAnchorElement = (\n dataAttributes: Record<string, string | null>,\n ) => {\n const handleDataAttributes: Record<DataAttribute, (value: string | null) => void> = {\n place: (value) => {\n setTooltipPlace((value as PlacesType) ?? place)\n },\n content: (value) => {\n setTooltipContent(value ?? content)\n },\n html: (value) => {\n setTooltipHtml(value ?? html)\n },\n variant: (value) => {\n setTooltipVariant((value as VariantType) ?? variant)\n },\n offset: (value) => {\n setTooltipOffset(value === null ? offset : Number(value))\n },\n wrapper: (value) => {\n setTooltipWrapper((value as WrapperType) ?? wrapper)\n },\n events: (value) => {\n const parsed = value?.split(' ') as EventsType[]\n setTooltipEvents(parsed ?? events)\n },\n 'position-strategy': (value) => {\n setTooltipPositionStrategy((value as PositionStrategy) ?? positionStrategy)\n },\n 'delay-show': (value) => {\n setTooltipDelayShow(value === null ? delayShow : Number(value))\n },\n 'delay-hide': (value) => {\n setTooltipDelayHide(value === null ? delayHide : Number(value))\n },\n float: (value) => {\n setTooltipFloat(value === null ? float : value === 'true')\n },\n }\n // reset unset data attributes to default values\n // without this, data attributes from the last active anchor will still be used\n Object.values(handleDataAttributes).forEach((handler) => handler(null))\n Object.entries(dataAttributes).forEach(([key, value]) => {\n handleDataAttributes[key as DataAttribute]?.(value)\n })\n }\n\n useEffect(() => {\n setTooltipContent(content)\n }, [content])\n\n useEffect(() => {\n setTooltipHtml(html)\n }, [html])\n\n useEffect(() => {\n setTooltipPlace(place)\n }, [place])\n\n useEffect(() => {\n const elementRefs = new Set(anchorRefs)\n\n let selector = anchorSelect\n if (!selector && id) {\n selector = `[data-tooltip-id='${id}']`\n }\n if (selector) {\n try {\n const anchorsBySelect = document.querySelectorAll<HTMLElement>(selector)\n anchorsBySelect.forEach((anchor) => {\n elementRefs.add({ current: anchor })\n })\n } catch {\n if (!process.env.NODE_ENV || process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.warn(`[react-tooltip] \"${anchorSelect}\" is not a valid CSS selector`)\n }\n }\n }\n\n const anchorById = document.querySelector<HTMLElement>(`[id='${anchorId}']`)\n if (anchorById) {\n elementRefs.add({ current: anchorById })\n }\n\n if (!elementRefs.size) {\n return () => null\n }\n\n const anchorElement = activeAnchor ?? anchorById ?? providerActiveAnchor.current\n\n const observerCallback: MutationCallback = (mutationList) => {\n mutationList.forEach((mutation) => {\n if (\n !anchorElement ||\n mutation.type !== 'attributes' ||\n !mutation.attributeName?.startsWith('data-tooltip-')\n ) {\n return\n }\n // make sure to get all set attributes, since all unset attributes are reset\n const dataAttributes = getDataAttributesFromAnchorElement(anchorElement)\n applyAllDataAttributesFromAnchorElement(dataAttributes)\n })\n }\n\n // Create an observer instance linked to the callback function\n const observer = new MutationObserver(observerCallback)\n\n // do not check for subtree and childrens, we only want to know attribute changes\n // to stay watching `data-attributes-*` from anchor element\n const observerConfig = { attributes: true, childList: false, subtree: false }\n\n if (anchorElement) {\n const dataAttributes = getDataAttributesFromAnchorElement(anchorElement)\n applyAllDataAttributesFromAnchorElement(dataAttributes)\n // Start observing the target node for configured mutations\n observer.observe(anchorElement, observerConfig)\n }\n\n return () => {\n // Remove the observer when the tooltip is destroyed\n observer.disconnect()\n }\n }, [anchorRefs, providerActiveAnchor, activeAnchor, anchorId, anchorSelect])\n\n /**\n * content priority: children < renderContent or content < html\n * children should be lower priority so that it can be used as the \"default\" content\n */\n let renderedContent: ChildrenType = children\n if (render) {\n renderedContent = render({ content: tooltipContent ?? null, activeAnchor })\n } else if (tooltipContent) {\n renderedContent = tooltipContent\n }\n if (tooltipHtml) {\n renderedContent = <TooltipContent content={tooltipHtml} />\n }\n\n const props: ITooltip = {\n id,\n anchorId,\n anchorSelect,\n className,\n classNameArrow,\n content: renderedContent,\n place: tooltipPlace,\n variant: tooltipVariant,\n offset: tooltipOffset,\n wrapper: tooltipWrapper,\n events: tooltipEvents,\n openOnClick,\n positionStrategy: tooltipPositionStrategy,\n middlewares,\n delayShow: tooltipDelayShow,\n delayHide: tooltipDelayHide,\n float: tooltipFloat,\n noArrow,\n clickable,\n closeOnEsc,\n style,\n position,\n isOpen,\n setIsOpen,\n afterShow,\n afterHide,\n activeAnchor,\n setActiveAnchor: (anchor: HTMLElement | null) => setActiveAnchor(anchor),\n }\n\n return <Tooltip {...props} />\n}\n\nexport default TooltipController\n", "import { useEffect, useState, useRef } from 'react'\nimport classNames from 'classnames'\nimport debounce from 'utils/debounce'\nimport { useTooltip } from 'components/TooltipProvider'\nimport useIsomorphicLayoutEffect from 'utils/use-isomorphic-layout-effect'\nimport { computeTooltipPosition } from '../../utils/compute-positions'\nimport styles from './styles.module.css'\nimport type { IPosition, ITooltip, PlacesType } from './TooltipTypes'\n\nconst Tooltip = ({\n // props\n id,\n className,\n classNameArrow,\n variant = 'dark',\n anchorId,\n anchorSelect,\n place = 'top',\n offset = 10,\n events = ['hover'],\n openOnClick = false,\n positionStrategy = 'absolute',\n middlewares,\n wrapper: WrapperElement,\n delayShow = 0,\n delayHide = 0,\n float = false,\n noArrow = false,\n clickable = false,\n closeOnEsc = false,\n style: externalStyles,\n position,\n afterShow,\n afterHide,\n // props handled by controller\n content,\n isOpen,\n setIsOpen,\n activeAnchor,\n setActiveAnchor,\n}: ITooltip) => {\n const tooltipRef = useRef<HTMLElement>(null)\n const tooltipArrowRef = useRef<HTMLElement>(null)\n const tooltipShowDelayTimerRef = useRef<NodeJS.Timeout | null>(null)\n const tooltipHideDelayTimerRef = useRef<NodeJS.Timeout | null>(null)\n const [actualPlacement, setActualPlacement] = useState(place)\n const [inlineStyles, setInlineStyles] = useState({})\n const [inlineArrowStyles, setInlineArrowStyles] = useState({})\n const [show, setShow] = useState(false)\n const [rendered, setRendered] = useState(false)\n const wasShowing = useRef(false)\n const lastFloatPosition = useRef<IPosition | null>(null)\n /**\n * @todo Remove this in a future version (provider/wrapper method is deprecated)\n */\n const { anchorRefs, setActiveAnchor: setProviderActiveAnchor } = useTooltip(id)\n const hoveringTooltip = useRef(false)\n const [anchorsBySelect, setAnchorsBySelect] = useState<HTMLElement[]>([])\n const mounted = useRef(false)\n\n const shouldOpenOnClick = openOnClick || events.includes('click')\n\n /**\n * useLayoutEffect runs before useEffect,\n * but should be used carefully because of caveats\n * https://beta.reactjs.org/reference/react/useLayoutEffect#caveats\n */\n useIsomorphicLayoutEffect(() => {\n mounted.current = true\n return () => {\n mounted.current = false\n }\n }, [])\n\n useEffect(() => {\n if (!show) {\n /**\n * this fixes weird behavior when switching between two anchor elements very quickly\n * remove the timeout and switch quickly between two adjancent anchor elements to see it\n *\n * in practice, this means the tooltip is not immediately removed from the DOM on hide\n */\n const timeout = setTimeout(() => {\n setRendered(false)\n }, 150)\n return () => {\n clearTimeout(timeout)\n }\n }\n return () => null\n }, [show])\n\n const handleShow = (value: boolean) => {\n if (!mounted.current) {\n return\n }\n if (value) {\n setRendered(true)\n }\n /**\n * wait for the component to render and calculate position\n * before actually showing\n */\n setTimeout(() => {\n if (!mounted.current) {\n return\n }\n setIsOpen?.(value)\n if (isOpen === undefined) {\n setShow(value)\n }\n }, 10)\n }\n\n /**\n * this replicates the effect from `handleShow()`\n * when `isOpen` is changed from outside\n */\n useEffect(() => {\n if (isOpen === undefined) {\n return () => null\n }\n if (isOpen) {\n setRendered(true)\n }\n const timeout = setTimeout(() => {\n setShow(isOpen)\n }, 10)\n return () => {\n clearTimeout(timeout)\n }\n }, [isOpen])\n\n useEffect(() => {\n if (show === wasShowing.current) {\n return\n }\n wasShowing.current = show\n if (show) {\n afterShow?.()\n } else {\n afterHide?.()\n }\n }, [show])\n\n const handleShowTooltipDelayed = () => {\n if (tooltipShowDelayTimerRef.current) {\n clearTimeout(tooltipShowDelayTimerRef.current)\n }\n\n tooltipShowDelayTimerRef.current = setTimeout(() => {\n handleShow(true)\n }, delayShow)\n }\n\n const handleHideTooltipDelayed = (delay = delayHide) => {\n if (tooltipHideDelayTimerRef.current) {\n clearTimeout(tooltipHideDelayTimerRef.current)\n }\n\n tooltipHideDelayTimerRef.current = setTimeout(() => {\n if (hoveringTooltip.current) {\n return\n }\n handleShow(false)\n }, delay)\n }\n\n const handleShowTooltip = (event?: Event) => {\n if (!event) {\n return\n }\n if (delayShow) {\n handleShowTooltipDelayed()\n } else {\n handleShow(true)\n }\n const target = event.currentTarget ?? event.target\n setActiveAnchor(target as HTMLElement)\n setProviderActiveAnchor({ current: target as HTMLElement })\n\n if (tooltipHideDelayTimerRef.current) {\n clearTimeout(tooltipHideDelayTimerRef.current)\n }\n }\n\n const handleHideTooltip = () => {\n if (clickable) {\n // allow time for the mouse to reach the tooltip, in case there's a gap\n handleHideTooltipDelayed(delayHide || 100)\n } else if (delayHide) {\n handleHideTooltipDelayed()\n } else {\n handleShow(false)\n }\n\n if (tooltipShowDelayTimerRef.current) {\n clearTimeout(tooltipShowDelayTimerRef.current)\n }\n }\n\n const handleTooltipPosition = ({ x, y }: IPosition) => {\n const virtualElement = {\n getBoundingClientRect() {\n return {\n x,\n y,\n width: 0,\n height: 0,\n top: y,\n left: x,\n right: x,\n bottom: y,\n }\n },\n } as Element\n computeTooltipPosition({\n place,\n offset,\n elementReference: virtualElement,\n tooltipReference: tooltipRef.current,\n tooltipArrowReference: tooltipArrowRef.current,\n strategy: positionStrategy,\n middlewares,\n }).then((computedStylesData) => {\n if (Object.keys(computedStylesData.tooltipStyles).length) {\n setInlineStyles(computedStylesData.tooltipStyles)\n }\n if (Object.keys(computedStylesData.tooltipArrowStyles).length) {\n setInlineArrowStyles(computedStylesData.tooltipArrowStyles)\n }\n setActualPlacement(computedStylesData.place as PlacesType)\n })\n }\n\n const handleMouseMove = (event?: Event) => {\n if (!event) {\n return\n }\n const mouseEvent = event as MouseEvent\n const mousePosition = {\n x: mouseEvent.clientX,\n y: mouseEvent.clientY,\n }\n handleTooltipPosition(mousePosition)\n lastFloatPosition.current = mousePosition\n }\n\n const handleClickTooltipAnchor = (event?: Event) => {\n handleShowTooltip(event)\n if (delayHide) {\n handleHideTooltipDelayed()\n }\n }\n\n const handleClickOutsideAnchors = (event: MouseEvent) => {\n const anchorById = document.querySelector<HTMLElement>(`[id='${anchorId}']`)\n const anchors = [anchorById, ...anchorsBySelect]\n if (anchors.some((anchor) => anchor?.contains(event.target as HTMLElement))) {\n return\n }\n if (tooltipRef.current?.contains(event.target as HTMLElement)) {\n return\n }\n handleShow(false)\n }\n\n const handleEsc = (event: KeyboardEvent) => {\n if (event.key !== 'Escape') {\n return\n }\n handleShow(false)\n }\n\n // debounce handler to prevent call twice when\n // mouse enter and focus events being triggered toggether\n const debouncedHandleShowTooltip = debounce(handleShowTooltip, 50)\n const debouncedHandleHideTooltip = debounce(handleHideTooltip, 50)\n\n useEffect(() => {\n const elementRefs = new Set(anchorRefs)\n\n anchorsBySelect.forEach((anchor) => {\n elementRefs.add({ current: anchor })\n })\n\n const anchorById = document.querySelector<HTMLElement>(`[id='${anchorId}']`)\n if (anchorById) {\n elementRefs.add({ current: anchorById })\n }\n\n if (closeOnEsc) {\n window.addEventListener('keydown', handleEsc)\n }\n\n const enabledEvents: { event: string; listener: (event?: Event) => void }[] = []\n\n if (shouldOpenOnClick) {\n window.addEventListener('click', handleClickOutsideAnchors)\n enabledEvents.push({ event: 'click', listener: handleClickTooltipAnchor })\n } else {\n enabledEvents.push(\n { event: 'mouseenter', listener: debouncedHandleShowTooltip },\n { event: 'mouseleave', listener: debouncedHandleHideTooltip },\n { event: 'focus', listener: debouncedHandleShowTooltip },\n { event: 'blur', listener: debouncedHandleHideTooltip },\n )\n if (float) {\n enabledEvents.push({\n event: 'mousemove',\n listener: handleMouseMove,\n })\n }\n }\n\n const handleMouseEnterTooltip = () => {\n hoveringTooltip.current = true\n }\n const handleMouseLeaveTooltip = () => {\n hoveringTooltip.current = false\n handleHideTooltip()\n }\n\n if (clickable && !shouldOpenOnClick) {\n tooltipRef.current?.addEventListener('mouseenter', handleMouseEnterTooltip)\n tooltipRef.current?.addEventListener('mouseleave', handleMouseLeaveTooltip)\n }\n\n enabledEvents.forEach(({ event, listener }) => {\n elementRefs.forEach((ref) => {\n ref.current?.addEventListener(event, listener)\n })\n })\n\n return () => {\n if (shouldOpenOnClick) {\n window.removeEventListener('click', handleClickOutsideAnchors)\n }\n if (closeOnEsc) {\n window.removeEventListener('keydown', handleEsc)\n }\n if (clickable && !shouldOpenOnClick) {\n tooltipRef.current?.removeEventListener('mouseenter', handleMouseEnterTooltip)\n tooltipRef.current?.removeEventListener('mouseleave', handleMouseLeaveTooltip)\n }\n enabledEvents.forEach(({ event, listener }) => {\n elementRefs.forEach((ref) => {\n ref.current?.removeEventListener(event, listener)\n })\n })\n }\n /**\n * rendered is also a dependency to ensure anchor observers are re-registered\n * since `tooltipRef` becomes stale after removing/adding the tooltip to the DOM\n */\n }, [rendered, anchorRefs, anchorsBySelect, closeOnEsc, events])\n\n useEffect(() => {\n let selector = anchorSelect ?? ''\n if (!selector && id) {\n selector = `[data-tooltip-id='${id}']`\n }\n const documentObserverCallback: MutationCallback = (mutationList) => {\n const newAnchors: HTMLElement[] = []\n mutationList.forEach((mutation) => {\n if (mutation.type === 'attributes' && mutation.attributeName === 'data-tooltip-id') {\n const newId = (mutation.target as HTMLElement).getAttribute('data-tooltip-id')\n if (newId === id) {\n newAnchors.push(mutation.target as HTMLElement)\n }\n }\n if (mutation.type !== 'childList') {\n return\n }\n if (activeAnchor) {\n ;[...mutation.removedNodes].some((node) => {\n if (node?.contains?.(activeAnchor)) {\n setRendered(false)\n handleShow(false)\n setActiveAnchor(null)\n return true\n }\n return false\n })\n }\n if (!selector) {\n return\n }\n try {\n const elements = [...mutation.addedNodes].filter((node) => node.nodeType === 1)\n newAnchors.push(\n // the element itself is an anchor\n ...(elements.filter((element) =>\n (element as HTMLElement).matches(selector),\n ) as HTMLElement[]),\n )\n newAnchors.push(\n // the element has children which are anchors\n ...elements.flatMap(\n (element) =>\n [...(element as HTMLElement).querySelectorAll(selector)] as HTMLElement[],\n ),\n )\n } catch {\n /**\n * invalid CSS selector.\n * already warned on tooltip controller\n */\n }\n })\n if (newAnchors.length) {\n setAnchorsBySelect((anchors) => [...anchors, ...newAnchors])\n }\n }\n const documentObserver = new MutationObserver(documentObserverCallback)\n // watch for anchor being removed from the DOM\n documentObserver.observe(document.body, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['data-tooltip-id'],\n })\n return () => {\n documentObserver.disconnect()\n }\n }, [id, anchorSelect, activeAnchor])\n\n useEffect(() => {\n if (position) {\n // if `position` is set, override regular and `float` positioning\n handleTooltipPosition(position)\n return\n }\n\n if (float) {\n if (lastFloatPosition.current) {\n /*\n Without this, changes to `content`, `place`, `offset`, ..., will only\n trigger a position calculation after a `mousemove` event.\n\n To see why this matters, comment this line, run `yarn dev` and click the\n \"Hover me!\" anchor.\n */\n handleTooltipPosition(lastFloatPosition.current)\n }\n // if `float` is set, override regular positioning\n return\n }\n\n computeTooltipPosition({\n place,\n offset,\n elementReference: activeAnchor,\n tooltipReference: tooltipRef.current,\n tooltipArrowReference: tooltipArrowRef.current,\n strategy: positionStrategy,\n middlewares,\n }).then((computedStylesData) => {\n if (!mounted.current) {\n // invalidate computed positions after remount\n return\n }\n if (Object.keys(computedStylesData.tooltipStyles).length) {\n setInlineStyles(computedStylesData.tooltipStyles)\n }\n if (Object.keys(computedStylesData.tooltipArrowStyles).length) {\n setInlineArrowStyles(computedStylesData.tooltipArrowStyles)\n }\n setActualPlacement(computedStylesData.place as PlacesType)\n })\n }, [show, activeAnchor, content, place, offset, positionStrategy, position])\n\n useEffect(() => {\n const anchorById = document.querySelector<HTMLElement>(`[id='${anchorId}']`)\n const anchors = [...anchorsBySelect, anchorById]\n if (!activeAnchor || !anchors.includes(activeAnchor)) {\n /**\n * if there is no active anchor,\n * or if the current active anchor is not amongst the allowed ones,\n * reset it\n */\n setActiveAnchor(anchorsBySelect[0] ?? anchorById)\n }\n }, [anchorId, anchorsBySelect, activeAnchor])\n\n useEffect(() => {\n return () => {\n if (tooltipShowDelayTimerRef.current) {\n clearTimeout(tooltipShowDelayTimerRef.current)\n }\n if (tooltipHideDelayTimerRef.current) {\n clearTimeout(tooltipHideDelayTimerRef.current)\n }\n }\n }, [])\n\n useEffect(() => {\n let selector = anchorSelect\n if (!selector && id) {\n selector = `[data-tooltip-id='${id}']`\n }\n if (!selector) {\n return\n }\n try {\n const anchors = Array.from(document.querySelectorAll<HTMLElement>(selector))\n setAnchorsBySelect(anchors)\n } catch {\n // warning was already issued in the controller\n setAnchorsBySelect([])\n }\n }, [id, anchorSelect])\n\n const canShow = content && show && Object.keys(inlineStyles).length > 0\n\n return rendered ? (\n <WrapperElement\n id={id}\n role=\"tooltip\"\n className={classNames(\n 'react-tooltip',\n styles['tooltip'],\n styles[variant],\n className,\n `react-tooltip__place-${actualPlacement}`,\n {\n [styles['show']]: canShow,\n [styles['fixed']]: positionStrategy === 'fixed',\n [styles['clickable']]: clickable,\n },\n )}\n style={{ ...externalStyles, ...inlineStyles }}\n ref={tooltipRef}\n >\n {content}\n <WrapperElement\n className={classNames('react-tooltip-arrow', styles['arrow'], classNameArrow, {\n /**\n * changed from dash `no-arrow` to camelcase because of:\n * https://github.com/indooorsman/esbuild-css-modules-plugin/issues/42\n */\n [styles['noArrow']]: noArrow,\n })}\n style={inlineArrowStyles}\n ref={tooltipArrowRef}\n />\n </WrapperElement>\n ) : null\n}\n\nexport default Tooltip\n", "/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * This function debounce the received function\n * @param { function } \tfunc\t\t\t\tFunction to be debounced\n * @param { number } \t\twait\t\t\t\tTime to wait before execut the function\n * @param { boolean } \timmediate\t\tParam to define if the function will be executed immediately\n */\nconst debounce = (func: (...args: any[]) => void, wait?: number, immediate?: true) => {\n let timeout: NodeJS.Timeout | null = null\n\n return function debounced(this: typeof func, ...args: any[]) {\n const later = () => {\n timeout = null\n if (!immediate) {\n func.apply(this, args)\n }\n }\n\n if (timeout) {\n clearTimeout(timeout)\n }\n\n timeout = setTimeout(later, wait)\n }\n}\n\nexport default debounce\n", "import React, {\n createContext,\n PropsWithChildren,\n useCallback,\n useContext,\n useMemo,\n useState,\n} from 'react'\n\nimport type {\n AnchorRef,\n TooltipContextData,\n TooltipContextDataWrapper,\n} from './TooltipProviderTypes'\n\nconst DEFAULT_TOOLTIP_ID = 'DEFAULT_TOOLTIP_ID'\nconst DEFAULT_CONTEXT_DATA: TooltipContextData = {\n anchorRefs: new Set(),\n activeAnchor: { current: null },\n attach: () => {\n /* attach anchor element */\n },\n detach: () => {\n /* detach anchor element */\n },\n setActiveAnchor: () => {\n /* set active anchor */\n },\n}\n\nconst DEFAULT_CONTEXT_DATA_WRAPPER: TooltipContextDataWrapper = {\n getTooltipData: () => DEFAULT_CONTEXT_DATA,\n}\n\nconst TooltipContext = createContext<TooltipContextDataWrapper>(DEFAULT_CONTEXT_DATA_WRAPPER)\n\n/**\n * @deprecated Use the `data-tooltip-id` attribute, or the `anchorSelect` prop instead.\n * See https://react-tooltip.com/docs/getting-started\n */\nconst TooltipProvider: React.FC<PropsWithChildren<void>> = ({ children }) => {\n const [anchorRefMap, setAnchorRefMap] = useState<Record<string, Set<AnchorRef>>>({\n [DEFAULT_TOOLTIP_ID]: new Set(),\n })\n const [activeAnchorMap, setActiveAnchorMap] = useState<Record<string, AnchorRef>>({\n [DEFAULT_TOOLTIP_ID]: { current: null },\n })\n\n const attach = (tooltipId: string, ...refs: AnchorRef[]) => {\n setAnchorRefMap((oldMap) => {\n const tooltipRefs = oldMap[tooltipId] ?? new Set()\n refs.forEach((ref) => tooltipRefs.add(ref))\n // create new object to trigger re-render\n return { ...oldMap, [tooltipId]: new Set(tooltipRefs) }\n })\n }\n\n const detach = (tooltipId: string, ...refs: AnchorRef[]) => {\n setAnchorRefMap((oldMap) => {\n const tooltipRefs = oldMap[tooltipId]\n if (!tooltipRefs) {\n // tooltip not found\n // maybe thow error?\n return oldMap\n }\n refs.forEach((ref) => tooltipRefs.delete(ref))\n // create new object to trigger re-render\n return { ...oldMap }\n })\n }\n\n const setActiveAnchor = (tooltipId: string, ref: React.RefObject<HTMLElement>) => {\n setActiveAnchorMap((oldMap) => {\n if (oldMap[tooltipId]?.current === ref.current) {\n return oldMap\n }\n // create new object to trigger re-render\n return { ...oldMap, [tooltipId]: ref }\n })\n }\n\n const getTooltipData = useCallback(\n (tooltipId = DEFAULT_TOOLTIP_ID) => ({\n anchorRefs: anchorRefMap[tooltipId] ?? new Set(),\n activeAnchor: activeAnchorMap[tooltipId] ?? { current: null },\n attach: (...refs: AnchorRef[]) => attach(tooltipId, ...refs),\n detach: (...refs: AnchorRef[]) => detach(tooltipId, ...refs),\n setActiveAnchor: (ref: AnchorRef) => setActiveAnchor(tooltipId, ref),\n }),\n [anchorRefMap, activeAnchorMap, attach, detach],\n )\n\n const context = useMemo(() => {\n return {\n getTooltipData,\n }\n }, [getTooltipData])\n\n return <TooltipContext.Provider value={context}>{children}</TooltipContext.Provider>\n}\n\nexport function useTooltip(tooltipId = DEFAULT_TOOLTIP_ID) {\n return useContext(TooltipContext).getTooltipData(tooltipId)\n}\n\nexport default TooltipProvider\n", "import { useEffect, useRef } from 'react'\nimport classNames from 'classnames'\nimport { useTooltip } from './TooltipProvider'\nimport type { ITooltipWrapper } from './TooltipProviderTypes'\n\n/**\n * @deprecated Use the `data-tooltip-id` attribute, or the `anchorSelect` prop instead.\n * See https://react-tooltip.com/docs/getting-started\n */\nconst TooltipWrapper = ({\n tooltipId,\n children,\n className,\n place,\n content,\n html,\n variant,\n offset,\n wrapper,\n events,\n positionStrategy,\n delayShow,\n delayHide,\n}: ITooltipWrapper) => {\n const { attach, detach } = useTooltip(tooltipId)\n const anchorRef = useRef<HTMLElement | null>(null)\n\n useEffect(() => {\n attach(anchorRef)\n return () => {\n detach(anchorRef)\n }\n }, [])\n\n return (\n <span\n ref={anchorRef}\n className={classNames('react-tooltip-wrapper', className)}\n data-tooltip-place={place}\n data-tooltip-content={content}\n data-tooltip-html={html}\n data-tooltip-variant={variant}\n data-tooltip-offset={offset}\n data-tooltip-wrapper={wrapper}\n data-tooltip-events={events}\n data-tooltip-position-strategy={positionStrategy}\n data-tooltip-delay-show={delayShow}\n data-tooltip-delay-hide={delayHide}\n >\n {children}\n </span>\n )\n}\n\nexport default TooltipWrapper\n", "import { useLayoutEffect, useEffect } from 'react'\n\nconst useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect\n\nexport default useIsomorphicLayoutEffect\n", "import { computePosition, offset, shift, arrow, flip } from '@floating-ui/dom'\nimport type { IComputePositions } from './compute-positions-types'\n\nexport const computeTooltipPosition = async ({\n elementReference = null,\n tooltipReference = null,\n tooltipArrowReference = null,\n place = 'top',\n offset: offsetValue = 10,\n strategy = 'absolute',\n middlewares = [offset(Number(offsetValue)), flip(), shift({ padding: 5 })],\n}: IComputePositions) => {\n if (!elementReference) {\n // elementReference can be null or undefined and we will not compute the position\n // eslint-disable-next-line no-console\n // console.error('The reference element for tooltip was not defined: ', elementReference)\n return { tooltipStyles: {}, tooltipArrowStyles: {}, place }\n }\n\n if (tooltipReference === null) {\n return { tooltipStyles: {}, tooltipArrowStyles: {}, place }\n }\n\n const middleware = middlewares\n\n if (tooltipArrowReference) {\n middleware.push(arrow({ element: tooltipArrowReference as HTMLElement, padding: 5 }))\n\n return computePosition(elementReference as HTMLElement, tooltipReference as HTMLElement, {\n placement: place,\n strategy,\n middleware,\n }).then(({ x, y, placement, middlewareData }) => {\n const styles = { left: `${x}px`, top: `${y}px` }\n\n const { x: arrowX, y: arrowY } = middlewareData.arrow ?? { x: 0, y: 0 }\n\n const staticSide =\n {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n }[placement.split('-')[0]] ?? 'bottom'\n\n const arrowStyle = {\n left: arrowX != null ? `${arrowX}px` : '',\n top: arrowY != null ? `${arrowY}px` : '',\n right: '',\n bottom: '',\n [staticSide]: '-4px',\n }\n\n return { tooltipStyles: styles, tooltipArrowStyles: arrowStyle, place: placement }\n })\n }\n\n return computePosition(elementReference as HTMLElement, tooltipReference as HTMLElement, {\n placement: 'bottom',\n strategy,\n middleware,\n }).then(({ x, y, placement }) => {\n const styles = { left: `${x}px`, top: `${y}px` }\n\n return { tooltipStyles: styles, tooltipArrowStyles: {}, place: placement }\n })\n}\n", "import \"./styles.module.css?esbuild-css-modules-plugin-built\";\nexport default {\"arrow\":\"react-tooltip__arrow_KtSkBq\",\"clickable\":\"react-tooltip__clickable_KtSkBq\",\"dark\":\"react-tooltip__dark_KtSkBq\",\"error\":\"react-tooltip__error_KtSkBq\",\"fixed\":\"react-tooltip__fixed_KtSkBq\",\"info\":\"react-tooltip__info_KtSkBq\",\"light\":\"react-tooltip__light_KtSkBq\",\"noArrow\":\"react-tooltip__no-arrow_KtSkBq\",\"show\":\"react-tooltip__show_KtSkBq\",\"success\":\"react-tooltip__success_KtSkBq\",\"tooltip\":\"react-tooltip__tooltip_KtSkBq\",\"warning\":\"react-tooltip__warning_KtSkBq\"};;\nexport const arrow = \"react-tooltip__arrow_KtSkBq\";\nexport const clickable = \"react-tooltip__clickable_KtSkBq\";\nexport const dark = \"react-tooltip__dark_KtSkBq\";\nexport const error = \"react-tooltip__error_KtSkBq\";\nexport const fixed = \"react-tooltip__fixed_KtSkBq\";\nexport const info = \"react-tooltip__info_KtSkBq\";\nexport const light = \"react-tooltip__light_KtSkBq\";\nexport const noArrow = \"react-tooltip__no-arrow_KtSkBq\";\nexport const show = \"react-tooltip__show_KtSkBq\";\nexport const success = \"react-tooltip__success_KtSkBq\";\nexport const tooltip = \"react-tooltip__tooltip_KtSkBq\";\nexport const warning = \"react-tooltip__warning_KtSkBq\";", "/* eslint-disable react/no-danger */\nimport type { ITooltipContent } from './TooltipContentTypes'\n\nconst TooltipContent = ({ content }: ITooltipContent) => {\n return <span dangerouslySetInnerHTML={{ __html: content }} />\n}\n\nexport default TooltipContent\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["useEffect", "useState", "useEffect", "useState", "useRef", "classNames", "debounce", "func", "wait", "immediate", "timeout", "args", "later", "debounce_default", "createContext", "useCallback", "useContext", "useMemo", "useState", "jsx", "DEFAULT_TOOLTIP_ID", "DEFAULT_CONTEXT_DATA", "DEFAULT_CONTEXT_DATA_WRAPPER", "TooltipContext", "TooltipProvider", "children", "anchorRefMap", "setAnchorRefMap", "activeAnchorMap", "setActiveAnchorMap", "attach", "tooltipId", "refs", "oldMap", "_a", "tooltipRefs", "ref", "detach", "setActiveAnchor", "getTooltipData", "_b", "context", "useTooltip", "TooltipProvider_default", "useEffect", "useRef", "classNames", "jsx", "TooltipWrapper", "tooltipId", "children", "className", "place", "content", "html", "variant", "offset", "wrapper", "events", "positionStrategy", "delayShow", "delayHide", "attach", "detach", "useTooltip", "anchorRef", "useRef", "useEffect", "classNames", "TooltipWrapper_default", "useLayoutEffect", "useEffect", "useIsomorphicLayoutEffect", "use_isomorphic_layout_effect_default", "computePosition", "offset", "shift", "arrow", "flip", "computeTooltipPosition", "elementReference", "tooltipReference", "tooltipArrowReference", "place", "offsetValue", "strategy", "middlewares", "middleware", "x", "y", "placement", "middlewareData", "_a", "_b", "styles", "arrowX", "arrowY", "staticSide", "arrowStyle", "styles_module_default", "jsx", "jsxs", "Tooltip", "id", "className", "classNameArrow", "variant", "anchorId", "anchorSelect", "place", "offset", "events", "openOnClick", "positionStrategy", "middlewares", "WrapperElement", "delayShow", "delayHide", "float", "noArrow", "clickable", "closeOnEsc", "externalStyles", "position", "afterShow", "afterHide", "content", "isOpen", "setIsOpen", "activeAnchor", "setActiveAnchor", "tooltipRef", "useRef", "tooltipArrowRef", "tooltipShowDelayTimerRef", "tooltipHideDelayTimerRef", "actualPlacement", "setActualPlacement", "useState", "inlineStyles", "setInlineStyles", "inlineArrowStyles", "setInlineArrowStyles", "show", "setShow", "rendered", "setRendered", "wasShowing", "lastFloatPosition", "anchorRefs", "setProviderActiveAnchor", "useTooltip", "hoveringTooltip", "anchorsBySelect", "setAnchorsBySelect", "mounted", "shouldOpenOnClick", "use_isomorphic_layout_effect_default", "useEffect", "timeout", "handleShow", "value", "handleShowTooltipDelayed", "handleHideTooltipDelayed", "delay", "handleShowTooltip", "event", "_a", "target", "handleHideTooltip", "handleTooltipPosition", "x", "y", "computeTooltipPosition", "computedStylesData", "handleMouseMove", "mouseEvent", "mousePosition", "handleClickTooltipAnchor", "handleClickOutsideAnchors", "anchor", "handleEsc", "debouncedHandleShowTooltip", "debounce_default", "debouncedHandleHideTooltip", "_b", "elementRefs", "anchorById", "enabledEvents", "handleMouseEnterTooltip", "handleMouseLeaveTooltip", "listener", "ref", "selector", "documentObserverCallback", "mutationList", "newAnchors", "mutation", "node", "elements", "element", "e", "anchors", "documentObserver", "canShow", "classNames", "styles_module_default", "Tooltip_default", "jsx", "TooltipContent", "content", "TooltipContent_default", "jsx", "TooltipController", "id", "anchorId", "anchorSelect", "content", "html", "render", "className", "classNameArrow", "variant", "place", "offset", "wrapper", "children", "events", "openOnClick", "positionStrategy", "middlewares", "delayShow", "delayHide", "float", "noArrow", "clickable", "closeOnEsc", "style", "position", "isOpen", "setIsOpen", "afterShow", "afterHide", "tooltipContent", "setTooltipContent", "useState", "tooltipHtml", "setTooltipHtml", "tooltipPlace", "setTooltipPlace", "tooltipVariant", "setTooltipVariant", "tooltipOffset", "setTooltipOffset", "tooltipDelayShow", "setTooltipDelayShow", "tooltipDelayHide", "setTooltipDelayHide", "tooltipFloat", "setTooltipFloat", "tooltipWrapper", "setTooltipWrapper", "tooltipEvents", "setTooltipEvents", "tooltipPositionStrategy", "setTooltipPositionStrategy", "activeAnchor", "setActiveAnchor", "anchorRefs", "providerActiveAnchor", "useTooltip", "getDataAttributesFromAnchorElement", "elementReference", "acc", "name", "_a", "parsedAttribute", "applyAllDataAttributesFromAnchorElement", "dataAttributes", "handleDataAttributes", "value", "parsed", "handler", "key", "useEffect", "elementRefs", "selector", "anchor", "e", "anchorById", "anchorElement", "observerCallback", "mutationList", "mutation", "observer", "observerConfig", "renderedContent", "TooltipContent_default", "Tooltip_default", "TooltipController_default"]
|
|
7
|
+
}
|
package/jest.config.ts
CHANGED
|
@@ -133,7 +133,7 @@ export default {
|
|
|
133
133
|
// setupFiles: [],
|
|
134
134
|
|
|
135
135
|
// A list of paths to modules that run some code to configure or set up the testing framework before each test
|
|
136
|
-
setupFilesAfterEnv: [
|
|
136
|
+
// setupFilesAfterEnv: [],
|
|
137
137
|
|
|
138
138
|
// The number of seconds after which a test is considered as slow and reported as such in the results.
|
|
139
139
|
// slowTestThreshold: 5,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-tooltip",
|
|
3
|
-
"version": "5.10.
|
|
3
|
+
"version": "5.10.3",
|
|
4
4
|
"description": "react tooltip component",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"dev-rollup": "node ./prebuild.js --env=development && node --max_old_space_size=2048 ./node_modules/rollup/dist/bin/rollup -c rollup.config.dev.js --watch",
|
|
@@ -16,8 +16,10 @@
|
|
|
16
16
|
"esbuild": "esbuild",
|
|
17
17
|
"test": "jest",
|
|
18
18
|
"postbuild": "npm run types && npm run bundlesize",
|
|
19
|
-
"prepublishOnly": "npm run build
|
|
19
|
+
"prepublishOnly": "npm run build"
|
|
20
20
|
},
|
|
21
|
+
"main": "dist/react-tooltip.cjs.min.js",
|
|
22
|
+
"module": "dist/react-tooltip.esm.min.js",
|
|
21
23
|
"types": "dist/react-tooltip.d.ts",
|
|
22
24
|
"license": "MIT",
|
|
23
25
|
"private": false,
|
|
@@ -32,17 +34,6 @@
|
|
|
32
34
|
"bugs": {
|
|
33
35
|
"url": "https://github.com/ReactTooltip/react-tooltip/issues"
|
|
34
36
|
},
|
|
35
|
-
"exports": {
|
|
36
|
-
".": {
|
|
37
|
-
"types": "./dist/react-tooltip.d.ts",
|
|
38
|
-
"require": "./dist/react-tooltip.min.cjs",
|
|
39
|
-
"import": "./dist/react-tooltip.min.mjs",
|
|
40
|
-
"default": "./dist/react-tooltip.min.cjs"
|
|
41
|
-
},
|
|
42
|
-
"./dist/react-tooltip.css": "./dist/react-tooltip.min.css",
|
|
43
|
-
"./dist/react-tooltip.d.ts": "./dist/react-tooltip.d.ts",
|
|
44
|
-
"./package.json": "./package.json"
|
|
45
|
-
},
|
|
46
37
|
"homepage": "https://github.com/ReactTooltip/react-tooltip#readme",
|
|
47
38
|
"devDependencies": {
|
|
48
39
|
"@rollup/plugin-commonjs": "22.0.2",
|
|
@@ -55,7 +46,6 @@
|
|
|
55
46
|
"@types/css": "^0.0.33",
|
|
56
47
|
"@types/css-modules": "^1.0.2",
|
|
57
48
|
"@types/jest": "29.4.0",
|
|
58
|
-
"@types/node": "^18.15.3",
|
|
59
49
|
"@types/react": "18.0.28",
|
|
60
50
|
"@types/react-dom": "18.0.11",
|
|
61
51
|
"@types/react-test-renderer": "^18.0.0",
|
package/tsconfig.json
CHANGED
|
@@ -16,15 +16,14 @@
|
|
|
16
16
|
"target": "es2018" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */,
|
|
17
17
|
"lib": [
|
|
18
18
|
"es2018",
|
|
19
|
-
"DOM"
|
|
20
|
-
"DOM.iterable"
|
|
19
|
+
"DOM"
|
|
21
20
|
] /* Specify a set of bundled library declaration files that describe the target runtime environment. */,
|
|
22
|
-
"jsx": "react"
|
|
21
|
+
"jsx": "react-jsx" /* Specify what JSX code is generated. */,
|
|
23
22
|
// "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */
|
|
24
23
|
// "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */
|
|
25
24
|
// "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */
|
|
26
25
|
// "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */
|
|
27
|
-
// "jsxImportSource": "
|
|
26
|
+
// "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */
|
|
28
27
|
// "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */
|
|
29
28
|
// "noLib": true, /* Disable including any library files, including the default lib.d.ts. */
|
|
30
29
|
// "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */
|