New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

react-tooltip

Package Overview
Dependencies
Maintainers
6
Versions
347
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-tooltip - npm Package Compare versions

Comparing version 5.13.2 to 5.14.0

13

dist/react-tooltip.d.ts

@@ -74,3 +74,14 @@ import React, { ElementType, ReactNode, CSSProperties, PropsWithChildren } from 'react';

clickable?: boolean
/**
* @todo refactor to `hideOnEsc` for naming consistency
*/
closeOnEsc?: boolean
/**
* @todo refactor to `hideOnScroll` for naming consistency
*/
closeOnScroll?: boolean
/**
* @todo refactor to `hideOnResize` for naming consistency
*/
closeOnResize?: boolean
style?: CSSProperties

@@ -126,3 +137,3 @@ position?: IPosition

declare const TooltipController: ({ id, anchorId, anchorSelect, content, html, render, className, classNameArrow, variant, place, offset, wrapper, children, events, openOnClick, positionStrategy, middlewares, delayShow, delayHide, float, hidden, noArrow, clickable, closeOnEsc, style, position, isOpen, setIsOpen, afterShow, afterHide, }: ITooltipController) => JSX.Element;
declare const TooltipController: ({ id, anchorId, anchorSelect, content, html, render, className, classNameArrow, variant, place, offset, wrapper, children, events, openOnClick, positionStrategy, middlewares, delayShow, delayHide, float, hidden, noArrow, clickable, closeOnEsc, closeOnScroll, closeOnResize, style, position, isOpen, setIsOpen, afterShow, afterHide, }: ITooltipController) => JSX.Element;

@@ -129,0 +140,0 @@ /**

@@ -235,3 +235,3 @@

// props
id, className, classNameArrow, variant = 'dark', anchorId, anchorSelect, place = 'top', offset = 10, events = ['hover'], openOnClick = false, positionStrategy = 'absolute', middlewares, wrapper: WrapperElement, delayShow = 0, delayHide = 0, float = false, hidden = false, noArrow = false, clickable = false, closeOnEsc = false, style: externalStyles, position, afterShow, afterHide,
id, className, classNameArrow, variant = 'dark', anchorId, anchorSelect, place = 'top', offset = 10, events = ['hover'], openOnClick = false, positionStrategy = 'absolute', middlewares, wrapper: WrapperElement, delayShow = 0, delayHide = 0, float = false, hidden = false, noArrow = false, clickable = false, closeOnEsc = false, closeOnScroll = false, closeOnResize = false, style: externalStyles, position, afterShow, afterHide,
// props handled by controller

@@ -481,2 +481,8 @@ content, contentWrapperRef, isOpen, setIsOpen, activeAnchor, setActiveAnchor, }) => {

}
if (closeOnScroll) {
window.addEventListener('scroll', debouncedHandleHideTooltip);
}
if (closeOnResize) {
window.addEventListener('resize', debouncedHandleHideTooltip);
}
if (closeOnEsc) {

@@ -518,2 +524,8 @@ window.addEventListener('keydown', handleEsc);

var _a, _b;
if (closeOnScroll) {
window.removeEventListener('scroll', debouncedHandleHideTooltip);
}
if (closeOnResize) {
window.removeEventListener('resize', debouncedHandleHideTooltip);
}
if (shouldOpenOnClick) {

@@ -723,3 +735,3 @@ window.removeEventListener('click', handleClickOutsideAnchors);

const TooltipController = ({ id, anchorId, anchorSelect, content, html, render, className, classNameArrow, variant = 'dark', place = 'top', offset = 10, wrapper = 'div', children = null, events = ['hover'], openOnClick = false, positionStrategy = 'absolute', middlewares, delayShow = 0, delayHide = 0, float = false, hidden = false, noArrow = false, clickable = false, closeOnEsc = false, style, position, isOpen, setIsOpen, afterShow, afterHide, }) => {
const TooltipController = ({ id, anchorId, anchorSelect, content, html, render, className, classNameArrow, variant = 'dark', place = 'top', offset = 10, wrapper = 'div', children = null, events = ['hover'], openOnClick = false, positionStrategy = 'absolute', middlewares, delayShow = 0, delayHide = 0, float = false, hidden = false, noArrow = false, clickable = false, closeOnEsc = false, closeOnScroll = false, closeOnResize = false, style, position, isOpen, setIsOpen, afterShow, afterHide, }) => {
const [tooltipContent, setTooltipContent] = React.useState(content);

@@ -932,2 +944,4 @@ const [tooltipHtml, setTooltipHtml] = React.useState(html);

closeOnEsc,
closeOnScroll,
closeOnResize,
style,

@@ -934,0 +948,0 @@ position,

2

dist/react-tooltip.umd.min.js

@@ -7,3 +7,3 @@ /*

*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("classnames"),require("@floating-ui/dom")):"function"==typeof define&&define.amd?define(["exports","react","classnames","@floating-ui/dom"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ReactTooltip={},e.React,e.classNames,e.FloatingUIDOM)}(this,(function(e,t,o,r){"use strict";function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=l(t),a=l(o);function c(e,t){void 0===t&&(t={});var o=t.insertAt;if(e&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],l=document.createElement("style");l.type="text/css","top"===o&&r.firstChild?r.insertBefore(l,r.firstChild):r.appendChild(l),l.styleSheet?l.styleSheet.cssText=e:l.appendChild(document.createTextNode(e))}}c(":root{--rt-color-white:#fff;--rt-color-dark:#222;--rt-color-success:#8dc572;--rt-color-error:#be6464;--rt-color-warning:#f0ad4e;--rt-color-info:#337ab7;--rt-opacity:0.9}");const s=(e,t,o)=>{let r=null;return function(...l){const n=()=>{r=null,o||e.apply(this,l)};o&&!r&&(e.apply(this,l),r=setTimeout(n,t)),o||(r&&clearTimeout(r),r=setTimeout(n,t))}},i="DEFAULT_TOOLTIP_ID",u={anchorRefs:new Set,activeAnchor:{current:null},attach:()=>{},detach:()=>{},setActiveAnchor:()=>{}},d={getTooltipData:()=>u},f=t.createContext(d);function p(e=i){return t.useContext(f).getTooltipData(e)}const v="undefined"!=typeof window?t.useLayoutEffect:t.useEffect,m=async({elementReference:e=null,tooltipReference:t=null,tooltipArrowReference:o=null,place:l="top",offset:n=10,strategy:a="absolute",middlewares:c=[r.offset(Number(n)),r.flip(),r.shift({padding:5})]})=>{if(!e)return{tooltipStyles:{},tooltipArrowStyles:{},place:l};if(null===t)return{tooltipStyles:{},tooltipArrowStyles:{},place:l};const s=c;return o?(s.push(r.arrow({element:o,padding:5})),r.computePosition(e,t,{placement:l,strategy:a,middleware:s}).then((({x:e,y:t,placement:o,middlewareData:r})=>{var l,n;const a={left:`${e}px`,top:`${t}px`},{x:c,y:s}=null!==(l=r.arrow)&&void 0!==l?l:{x:0,y:0};return{tooltipStyles:a,tooltipArrowStyles:{left:null!=c?`${c}px`:"",top:null!=s?`${s}px`:"",right:"",bottom:"",[null!==(n={top:"bottom",right:"left",bottom:"top",left:"right"}[o.split("-")[0]])&&void 0!==n?n:"bottom"]:"-4px"},place:o}}))):r.computePosition(e,t,{placement:"bottom",strategy:a,middleware:s}).then((({x:e,y:t,placement:o})=>({tooltipStyles:{left:`${e}px`,top:`${t}px`},tooltipArrowStyles:{},place:o})))};var h={tooltip:"styles-module_tooltip__mnnfp",fixed:"styles-module_fixed__7ciUi",arrow:"styles-module_arrow__K0L3T",noArrow:"styles-module_noArrow__T8y2L",clickable:"styles-module_clickable__Bv9o7",show:"styles-module_show__2NboJ",dark:"styles-module_dark__xNqje",light:"styles-module_light__Z6W-X",success:"styles-module_success__A2AKt",warning:"styles-module_warning__SCK0X",error:"styles-module_error__JvumD",info:"styles-module_info__BWdHW"};c(".styles-module_tooltip__mnnfp{border-radius:3px;font-size:90%;left:0;opacity:0;padding:8px 16px;pointer-events:none;position:absolute;top:0;transition:opacity .3s ease-out;visibility:hidden;width:max-content;will-change:opacity,visibility}.styles-module_fixed__7ciUi{position:fixed}.styles-module_arrow__K0L3T{background:inherit;height:8px;position:absolute;transform:rotate(45deg);width:8px}.styles-module_noArrow__T8y2L{display:none}.styles-module_clickable__Bv9o7{pointer-events:auto}.styles-module_show__2NboJ{opacity:var(--rt-opacity);visibility:visible}.styles-module_dark__xNqje{background:var(--rt-color-dark);color:var(--rt-color-white)}.styles-module_light__Z6W-X{background-color:var(--rt-color-white);color:var(--rt-color-dark)}.styles-module_success__A2AKt{background-color:var(--rt-color-success);color:var(--rt-color-white)}.styles-module_warning__SCK0X{background-color:var(--rt-color-warning);color:var(--rt-color-white)}.styles-module_error__JvumD{background-color:var(--rt-color-error);color:var(--rt-color-white)}.styles-module_info__BWdHW{background-color:var(--rt-color-info);color:var(--rt-color-white)}");const y=({id:e,className:o,classNameArrow:r,variant:l="dark",anchorId:c,anchorSelect:i,place:u="top",offset:d=10,events:f=["hover"],openOnClick:y=!1,positionStrategy:w="absolute",middlewares:_,wrapper:S,delayShow:b=0,delayHide:g=0,float:E=!1,hidden:A=!1,noArrow:k=!1,clickable:T=!1,closeOnEsc:x=!1,style:R,position:N,afterShow:O,afterHide:L,content:C,contentWrapperRef:$,isOpen:j,setIsOpen:q,activeAnchor:I,setActiveAnchor:W})=>{const H=t.useRef(null),D=t.useRef(null),B=t.useRef(null),M=t.useRef(null),[K,P]=t.useState(u),[X,J]=t.useState({}),[U,z]=t.useState({}),[F,Z]=t.useState(!1),[Y,G]=t.useState(!1),Q=t.useRef(!1),V=t.useRef(null),{anchorRefs:ee,setActiveAnchor:te}=p(e),oe=t.useRef(!1),[re,le]=t.useState([]),ne=t.useRef(!1),ae=y||f.includes("click");v((()=>(ne.current=!0,()=>{ne.current=!1})),[]),t.useEffect((()=>{if(!F){const e=setTimeout((()=>{G(!1)}),150);return()=>{clearTimeout(e)}}return()=>null}),[F]);const ce=e=>{ne.current&&(e&&G(!0),setTimeout((()=>{ne.current&&(null==q||q(e),void 0===j&&Z(e))}),10))};t.useEffect((()=>{if(void 0===j)return()=>null;j&&G(!0);const e=setTimeout((()=>{Z(j)}),10);return()=>{clearTimeout(e)}}),[j]),t.useEffect((()=>{F!==Q.current&&(Q.current=F,F?null==O||O():null==L||L())}),[F]);const se=(e=g)=>{M.current&&clearTimeout(M.current),M.current=setTimeout((()=>{oe.current||ce(!1)}),e)},ie=e=>{var t;if(!e)return;const o=null!==(t=e.currentTarget)&&void 0!==t?t:e.target;if(!(null==o?void 0:o.isConnected))return W(null),void te({current:null});b?(B.current&&clearTimeout(B.current),B.current=setTimeout((()=>{ce(!0)}),b)):ce(!0),W(o),te({current:o}),M.current&&clearTimeout(M.current)},ue=()=>{T?se(g||100):g?se():ce(!1),B.current&&clearTimeout(B.current)},de=({x:e,y:t})=>{m({place:u,offset:d,elementReference:{getBoundingClientRect:()=>({x:e,y:t,width:0,height:0,top:t,left:e,right:e,bottom:t})},tooltipReference:H.current,tooltipArrowReference:D.current,strategy:w,middlewares:_}).then((e=>{Object.keys(e.tooltipStyles).length&&J(e.tooltipStyles),Object.keys(e.tooltipArrowStyles).length&&z(e.tooltipArrowStyles),P(e.place)}))},fe=e=>{if(!e)return;const t=e,o={x:t.clientX,y:t.clientY};de(o),V.current=o},pe=e=>{ie(e),g&&se()},ve=e=>{var t;[document.querySelector(`[id='${c}']`),...re].some((t=>null==t?void 0:t.contains(e.target)))||(null===(t=H.current)||void 0===t?void 0:t.contains(e.target))||ce(!1)},me=e=>{"Escape"===e.key&&ce(!1)},he=s(ie,50,!0),ye=s(ue,50,!0);t.useEffect((()=>{var e,t;const o=new Set(ee);re.forEach((e=>{o.add({current:e})}));const r=document.querySelector(`[id='${c}']`);r&&o.add({current:r}),x&&window.addEventListener("keydown",me);const l=[];ae?(window.addEventListener("click",ve),l.push({event:"click",listener:pe})):(l.push({event:"mouseenter",listener:he},{event:"mouseleave",listener:ye},{event:"focus",listener:he},{event:"blur",listener:ye}),E&&l.push({event:"mousemove",listener:fe}));const n=()=>{oe.current=!0},a=()=>{oe.current=!1,ue()};return T&&!ae&&(null===(e=H.current)||void 0===e||e.addEventListener("mouseenter",n),null===(t=H.current)||void 0===t||t.addEventListener("mouseleave",a)),l.forEach((({event:e,listener:t})=>{o.forEach((o=>{var r;null===(r=o.current)||void 0===r||r.addEventListener(e,t)}))})),()=>{var e,t;ae&&window.removeEventListener("click",ve),x&&window.removeEventListener("keydown",me),T&&!ae&&(null===(e=H.current)||void 0===e||e.removeEventListener("mouseenter",n),null===(t=H.current)||void 0===t||t.removeEventListener("mouseleave",a)),l.forEach((({event:e,listener:t})=>{o.forEach((o=>{var r;null===(r=o.current)||void 0===r||r.removeEventListener(e,t)}))}))}}),[Y,ee,re,x,f]),t.useEffect((()=>{let t=null!=i?i:"";!t&&e&&(t=`[data-tooltip-id='${e}']`);const o=new MutationObserver((o=>{const r=[];o.forEach((o=>{if("attributes"===o.type&&"data-tooltip-id"===o.attributeName){o.target.getAttribute("data-tooltip-id")===e&&r.push(o.target)}if("childList"===o.type&&(I&&[...o.removedNodes].some((e=>{var t;return!!(null===(t=null==e?void 0:e.contains)||void 0===t?void 0:t.call(e,I))&&(G(!1),ce(!1),W(null),!0)})),t))try{const e=[...o.addedNodes].filter((e=>1===e.nodeType));r.push(...e.filter((e=>e.matches(t)))),r.push(...e.flatMap((e=>[...e.querySelectorAll(t)])))}catch(e){}})),r.length&&le((e=>[...e,...r]))}));return o.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-tooltip-id"]}),()=>{o.disconnect()}}),[e,i,I]);const we=()=>{N?de(N):E?V.current&&de(V.current):m({place:u,offset:d,elementReference:I,tooltipReference:H.current,tooltipArrowReference:D.current,strategy:w,middlewares:_}).then((e=>{ne.current&&(Object.keys(e.tooltipStyles).length&&J(e.tooltipStyles),Object.keys(e.tooltipArrowStyles).length&&z(e.tooltipArrowStyles),P(e.place))}))};t.useEffect((()=>{we()}),[F,I,C,R,u,d,w,N]),t.useEffect((()=>{if(!(null==$?void 0:$.current))return()=>null;const e=new ResizeObserver((()=>{we()}));return e.observe($.current),()=>{e.disconnect()}}),[C,null==$?void 0:$.current]),t.useEffect((()=>{var e;const t=document.querySelector(`[id='${c}']`),o=[...re,t];I&&o.includes(I)||W(null!==(e=re[0])&&void 0!==e?e:t)}),[c,re,I]),t.useEffect((()=>()=>{B.current&&clearTimeout(B.current),M.current&&clearTimeout(M.current)}),[]),t.useEffect((()=>{let t=i;if(!t&&e&&(t=`[data-tooltip-id='${e}']`),t)try{const e=Array.from(document.querySelectorAll(t));le(e)}catch(e){le([])}}),[e,i]);const _e=!A&&C&&F&&Object.keys(X).length>0;return Y?n.default.createElement(S,{id:e,role:"tooltip",className:a.default("react-tooltip",h.tooltip,h[l],o,`react-tooltip__place-${K}`,{[h.show]:_e,[h.fixed]:"fixed"===w,[h.clickable]:T}),style:{...R,...X},ref:H},C,n.default.createElement(S,{className:a.default("react-tooltip-arrow",h.arrow,r,{[h.noArrow]:k}),style:U,ref:D})):null},w=({content:e})=>n.default.createElement("span",{dangerouslySetInnerHTML:{__html:e}});e.Tooltip=({id:e,anchorId:o,anchorSelect:r,content:l,html:a,render:c,className:s,classNameArrow:i,variant:u="dark",place:d="top",offset:f=10,wrapper:v="div",children:m=null,events:h=["hover"],openOnClick:_=!1,positionStrategy:S="absolute",middlewares:b,delayShow:g=0,delayHide:E=0,float:A=!1,hidden:k=!1,noArrow:T=!1,clickable:x=!1,closeOnEsc:R=!1,style:N,position:O,isOpen:L,setIsOpen:C,afterShow:$,afterHide:j})=>{const[q,I]=t.useState(l),[W,H]=t.useState(a),[D,B]=t.useState(d),[M,K]=t.useState(u),[P,X]=t.useState(f),[J,U]=t.useState(g),[z,F]=t.useState(E),[Z,Y]=t.useState(A),[G,Q]=t.useState(k),[V,ee]=t.useState(v),[te,oe]=t.useState(h),[re,le]=t.useState(S),[ne,ae]=t.useState(null),{anchorRefs:ce,activeAnchor:se}=p(e),ie=e=>null==e?void 0:e.getAttributeNames().reduce(((t,o)=>{var r;if(o.startsWith("data-tooltip-")){t[o.replace(/^data-tooltip-/,"")]=null!==(r=null==e?void 0:e.getAttribute(o))&&void 0!==r?r:null}return t}),{}),ue=e=>{const t={place:e=>{var t;B(null!==(t=e)&&void 0!==t?t:d)},content:e=>{I(null!=e?e:l)},html:e=>{H(null!=e?e:a)},variant:e=>{var t;K(null!==(t=e)&&void 0!==t?t:u)},offset:e=>{X(null===e?f:Number(e))},wrapper:e=>{var t;ee(null!==(t=e)&&void 0!==t?t:v)},events:e=>{const t=null==e?void 0:e.split(" ");oe(null!=t?t:h)},"position-strategy":e=>{var t;le(null!==(t=e)&&void 0!==t?t:S)},"delay-show":e=>{U(null===e?g:Number(e))},"delay-hide":e=>{F(null===e?E:Number(e))},float:e=>{Y(null===e?A:"true"===e)},hidden:e=>{Q(null===e?k:"true"===e)}};Object.values(t).forEach((e=>e(null))),Object.entries(e).forEach((([e,o])=>{var r;null===(r=t[e])||void 0===r||r.call(t,o)}))};t.useEffect((()=>{I(l)}),[l]),t.useEffect((()=>{H(a)}),[a]),t.useEffect((()=>{B(d)}),[d]),t.useEffect((()=>{K(u)}),[u]),t.useEffect((()=>{X(f)}),[f]),t.useEffect((()=>{U(g)}),[g]),t.useEffect((()=>{F(E)}),[E]),t.useEffect((()=>{Y(A)}),[A]),t.useEffect((()=>{Q(k)}),[k]),t.useEffect((()=>{le(S)}),[S]),t.useEffect((()=>{var t;const l=new Set(ce);let n=r;if(!n&&e&&(n=`[data-tooltip-id='${e}']`),n)try{document.querySelectorAll(n).forEach((e=>{l.add({current:e})}))}catch(e){console.warn(`[react-tooltip] "${n}" is not a valid CSS selector`)}const a=document.querySelector(`[id='${o}']`);if(a&&l.add({current:a}),!l.size)return()=>null;const c=null!==(t=null!=ne?ne:a)&&void 0!==t?t:se.current,s=new MutationObserver((e=>{e.forEach((e=>{var t;if(!c||"attributes"!==e.type||!(null===(t=e.attributeName)||void 0===t?void 0:t.startsWith("data-tooltip-")))return;const o=ie(c);ue(o)}))})),i={attributes:!0,childList:!1,subtree:!1};if(c){const e=ie(c);ue(e),s.observe(c,i)}return()=>{s.disconnect()}}),[ce,se,ne,o,r]);let de=m;const fe=t.useRef(null);if(c){const e=c({content:null!=q?q:null,activeAnchor:ne});de=e?n.default.createElement("div",{ref:fe,className:"react-tooltip-content-wrapper"},e):null}else q&&(de=q);W&&(de=n.default.createElement(w,{content:W}));const pe={id:e,anchorId:o,anchorSelect:r,className:s,classNameArrow:i,content:de,contentWrapperRef:fe,place:D,variant:M,offset:P,wrapper:V,events:te,openOnClick:_,positionStrategy:re,middlewares:b,delayShow:J,delayHide:z,float:Z,hidden:G,noArrow:T,clickable:x,closeOnEsc:R,style:N,position:O,isOpen:L,setIsOpen:C,afterShow:$,afterHide:j,activeAnchor:ne,setActiveAnchor:e=>ae(e)};return n.default.createElement(y,{...pe})},e.TooltipProvider=({children:e})=>{const[o,r]=t.useState({[i]:new Set}),[l,a]=t.useState({[i]:{current:null}}),c=(e,...t)=>{r((o=>{var r;const l=null!==(r=o[e])&&void 0!==r?r:new Set;return t.forEach((e=>l.add(e))),{...o,[e]:new Set(l)}}))},s=(e,...t)=>{r((o=>{const r=o[e];return r?(t.forEach((e=>r.delete(e))),{...o}):o}))},u=t.useCallback(((e=i)=>{var t,r;return{anchorRefs:null!==(t=o[e])&&void 0!==t?t:new Set,activeAnchor:null!==(r=l[e])&&void 0!==r?r:{current:null},attach:(...t)=>c(e,...t),detach:(...t)=>s(e,...t),setActiveAnchor:t=>((e,t)=>{a((o=>{var r;return(null===(r=o[e])||void 0===r?void 0:r.current)===t.current?o:{...o,[e]:t}}))})(e,t)}}),[o,l,c,s]),d=t.useMemo((()=>({getTooltipData:u})),[u]);return n.default.createElement(f.Provider,{value:d},e)},e.TooltipWrapper=({tooltipId:e,children:o,className:r,place:l,content:c,html:s,variant:i,offset:u,wrapper:d,events:f,positionStrategy:v,delayShow:m,delayHide:h})=>{const{attach:y,detach:w}=p(e),_=t.useRef(null);return t.useEffect((()=>(y(_),()=>{w(_)})),[]),n.default.createElement("span",{ref:_,className:a.default("react-tooltip-wrapper",r),"data-tooltip-place":l,"data-tooltip-content":c,"data-tooltip-html":s,"data-tooltip-variant":i,"data-tooltip-offset":u,"data-tooltip-wrapper":d,"data-tooltip-events":f,"data-tooltip-position-strategy":v,"data-tooltip-delay-show":m,"data-tooltip-delay-hide":h},o)},Object.defineProperty(e,"__esModule",{value:!0})}));
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("classnames"),require("@floating-ui/dom")):"function"==typeof define&&define.amd?define(["exports","react","classnames","@floating-ui/dom"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ReactTooltip={},e.React,e.classNames,e.FloatingUIDOM)}(this,(function(e,t,o,r){"use strict";function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=l(t),s=l(o);function c(e,t){void 0===t&&(t={});var o=t.insertAt;if(e&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],l=document.createElement("style");l.type="text/css","top"===o&&r.firstChild?r.insertBefore(l,r.firstChild):r.appendChild(l),l.styleSheet?l.styleSheet.cssText=e:l.appendChild(document.createTextNode(e))}}c(":root{--rt-color-white:#fff;--rt-color-dark:#222;--rt-color-success:#8dc572;--rt-color-error:#be6464;--rt-color-warning:#f0ad4e;--rt-color-info:#337ab7;--rt-opacity:0.9}");const a=(e,t,o)=>{let r=null;return function(...l){const n=()=>{r=null,o||e.apply(this,l)};o&&!r&&(e.apply(this,l),r=setTimeout(n,t)),o||(r&&clearTimeout(r),r=setTimeout(n,t))}},i="DEFAULT_TOOLTIP_ID",u={anchorRefs:new Set,activeAnchor:{current:null},attach:()=>{},detach:()=>{},setActiveAnchor:()=>{}},d={getTooltipData:()=>u},f=t.createContext(d);function p(e=i){return t.useContext(f).getTooltipData(e)}const v="undefined"!=typeof window?t.useLayoutEffect:t.useEffect,m=async({elementReference:e=null,tooltipReference:t=null,tooltipArrowReference:o=null,place:l="top",offset:n=10,strategy:s="absolute",middlewares:c=[r.offset(Number(n)),r.flip(),r.shift({padding:5})]})=>{if(!e)return{tooltipStyles:{},tooltipArrowStyles:{},place:l};if(null===t)return{tooltipStyles:{},tooltipArrowStyles:{},place:l};const a=c;return o?(a.push(r.arrow({element:o,padding:5})),r.computePosition(e,t,{placement:l,strategy:s,middleware:a}).then((({x:e,y:t,placement:o,middlewareData:r})=>{var l,n;const s={left:`${e}px`,top:`${t}px`},{x:c,y:a}=null!==(l=r.arrow)&&void 0!==l?l:{x:0,y:0};return{tooltipStyles:s,tooltipArrowStyles:{left:null!=c?`${c}px`:"",top:null!=a?`${a}px`:"",right:"",bottom:"",[null!==(n={top:"bottom",right:"left",bottom:"top",left:"right"}[o.split("-")[0]])&&void 0!==n?n:"bottom"]:"-4px"},place:o}}))):r.computePosition(e,t,{placement:"bottom",strategy:s,middleware:a}).then((({x:e,y:t,placement:o})=>({tooltipStyles:{left:`${e}px`,top:`${t}px`},tooltipArrowStyles:{},place:o})))};var h={tooltip:"styles-module_tooltip__mnnfp",fixed:"styles-module_fixed__7ciUi",arrow:"styles-module_arrow__K0L3T",noArrow:"styles-module_noArrow__T8y2L",clickable:"styles-module_clickable__Bv9o7",show:"styles-module_show__2NboJ",dark:"styles-module_dark__xNqje",light:"styles-module_light__Z6W-X",success:"styles-module_success__A2AKt",warning:"styles-module_warning__SCK0X",error:"styles-module_error__JvumD",info:"styles-module_info__BWdHW"};c(".styles-module_tooltip__mnnfp{border-radius:3px;font-size:90%;left:0;opacity:0;padding:8px 16px;pointer-events:none;position:absolute;top:0;transition:opacity .3s ease-out;visibility:hidden;width:max-content;will-change:opacity,visibility}.styles-module_fixed__7ciUi{position:fixed}.styles-module_arrow__K0L3T{background:inherit;height:8px;position:absolute;transform:rotate(45deg);width:8px}.styles-module_noArrow__T8y2L{display:none}.styles-module_clickable__Bv9o7{pointer-events:auto}.styles-module_show__2NboJ{opacity:var(--rt-opacity);visibility:visible}.styles-module_dark__xNqje{background:var(--rt-color-dark);color:var(--rt-color-white)}.styles-module_light__Z6W-X{background-color:var(--rt-color-white);color:var(--rt-color-dark)}.styles-module_success__A2AKt{background-color:var(--rt-color-success);color:var(--rt-color-white)}.styles-module_warning__SCK0X{background-color:var(--rt-color-warning);color:var(--rt-color-white)}.styles-module_error__JvumD{background-color:var(--rt-color-error);color:var(--rt-color-white)}.styles-module_info__BWdHW{background-color:var(--rt-color-info);color:var(--rt-color-white)}");const y=({id:e,className:o,classNameArrow:r,variant:l="dark",anchorId:c,anchorSelect:i,place:u="top",offset:d=10,events:f=["hover"],openOnClick:y=!1,positionStrategy:w="absolute",middlewares:_,wrapper:S,delayShow:b=0,delayHide:g=0,float:E=!1,hidden:A=!1,noArrow:k=!1,clickable:T=!1,closeOnEsc:x=!1,closeOnScroll:O=!1,closeOnResize:R=!1,style:N,position:L,afterShow:C,afterHide:$,content:j,contentWrapperRef:q,isOpen:I,setIsOpen:W,activeAnchor:H,setActiveAnchor:D})=>{const z=t.useRef(null),B=t.useRef(null),M=t.useRef(null),K=t.useRef(null),[P,X]=t.useState(u),[J,U]=t.useState({}),[F,Z]=t.useState({}),[Y,G]=t.useState(!1),[Q,V]=t.useState(!1),ee=t.useRef(!1),te=t.useRef(null),{anchorRefs:oe,setActiveAnchor:re}=p(e),le=t.useRef(!1),[ne,se]=t.useState([]),ce=t.useRef(!1),ae=y||f.includes("click");v((()=>(ce.current=!0,()=>{ce.current=!1})),[]),t.useEffect((()=>{if(!Y){const e=setTimeout((()=>{V(!1)}),150);return()=>{clearTimeout(e)}}return()=>null}),[Y]);const ie=e=>{ce.current&&(e&&V(!0),setTimeout((()=>{ce.current&&(null==W||W(e),void 0===I&&G(e))}),10))};t.useEffect((()=>{if(void 0===I)return()=>null;I&&V(!0);const e=setTimeout((()=>{G(I)}),10);return()=>{clearTimeout(e)}}),[I]),t.useEffect((()=>{Y!==ee.current&&(ee.current=Y,Y?null==C||C():null==$||$())}),[Y]);const ue=(e=g)=>{K.current&&clearTimeout(K.current),K.current=setTimeout((()=>{le.current||ie(!1)}),e)},de=e=>{var t;if(!e)return;const o=null!==(t=e.currentTarget)&&void 0!==t?t:e.target;if(!(null==o?void 0:o.isConnected))return D(null),void re({current:null});b?(M.current&&clearTimeout(M.current),M.current=setTimeout((()=>{ie(!0)}),b)):ie(!0),D(o),re({current:o}),K.current&&clearTimeout(K.current)},fe=()=>{T?ue(g||100):g?ue():ie(!1),M.current&&clearTimeout(M.current)},pe=({x:e,y:t})=>{m({place:u,offset:d,elementReference:{getBoundingClientRect:()=>({x:e,y:t,width:0,height:0,top:t,left:e,right:e,bottom:t})},tooltipReference:z.current,tooltipArrowReference:B.current,strategy:w,middlewares:_}).then((e=>{Object.keys(e.tooltipStyles).length&&U(e.tooltipStyles),Object.keys(e.tooltipArrowStyles).length&&Z(e.tooltipArrowStyles),X(e.place)}))},ve=e=>{if(!e)return;const t=e,o={x:t.clientX,y:t.clientY};pe(o),te.current=o},me=e=>{de(e),g&&ue()},he=e=>{var t;[document.querySelector(`[id='${c}']`),...ne].some((t=>null==t?void 0:t.contains(e.target)))||(null===(t=z.current)||void 0===t?void 0:t.contains(e.target))||ie(!1)},ye=e=>{"Escape"===e.key&&ie(!1)},we=a(de,50,!0),_e=a(fe,50,!0);t.useEffect((()=>{var e,t;const o=new Set(oe);ne.forEach((e=>{o.add({current:e})}));const r=document.querySelector(`[id='${c}']`);r&&o.add({current:r}),O&&window.addEventListener("scroll",_e),R&&window.addEventListener("resize",_e),x&&window.addEventListener("keydown",ye);const l=[];ae?(window.addEventListener("click",he),l.push({event:"click",listener:me})):(l.push({event:"mouseenter",listener:we},{event:"mouseleave",listener:_e},{event:"focus",listener:we},{event:"blur",listener:_e}),E&&l.push({event:"mousemove",listener:ve}));const n=()=>{le.current=!0},s=()=>{le.current=!1,fe()};return T&&!ae&&(null===(e=z.current)||void 0===e||e.addEventListener("mouseenter",n),null===(t=z.current)||void 0===t||t.addEventListener("mouseleave",s)),l.forEach((({event:e,listener:t})=>{o.forEach((o=>{var r;null===(r=o.current)||void 0===r||r.addEventListener(e,t)}))})),()=>{var e,t;O&&window.removeEventListener("scroll",_e),R&&window.removeEventListener("resize",_e),ae&&window.removeEventListener("click",he),x&&window.removeEventListener("keydown",ye),T&&!ae&&(null===(e=z.current)||void 0===e||e.removeEventListener("mouseenter",n),null===(t=z.current)||void 0===t||t.removeEventListener("mouseleave",s)),l.forEach((({event:e,listener:t})=>{o.forEach((o=>{var r;null===(r=o.current)||void 0===r||r.removeEventListener(e,t)}))}))}}),[Q,oe,ne,x,f]),t.useEffect((()=>{let t=null!=i?i:"";!t&&e&&(t=`[data-tooltip-id='${e}']`);const o=new MutationObserver((o=>{const r=[];o.forEach((o=>{if("attributes"===o.type&&"data-tooltip-id"===o.attributeName){o.target.getAttribute("data-tooltip-id")===e&&r.push(o.target)}if("childList"===o.type&&(H&&[...o.removedNodes].some((e=>{var t;return!!(null===(t=null==e?void 0:e.contains)||void 0===t?void 0:t.call(e,H))&&(V(!1),ie(!1),D(null),!0)})),t))try{const e=[...o.addedNodes].filter((e=>1===e.nodeType));r.push(...e.filter((e=>e.matches(t)))),r.push(...e.flatMap((e=>[...e.querySelectorAll(t)])))}catch(e){}})),r.length&&se((e=>[...e,...r]))}));return o.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-tooltip-id"]}),()=>{o.disconnect()}}),[e,i,H]);const Se=()=>{L?pe(L):E?te.current&&pe(te.current):m({place:u,offset:d,elementReference:H,tooltipReference:z.current,tooltipArrowReference:B.current,strategy:w,middlewares:_}).then((e=>{ce.current&&(Object.keys(e.tooltipStyles).length&&U(e.tooltipStyles),Object.keys(e.tooltipArrowStyles).length&&Z(e.tooltipArrowStyles),X(e.place))}))};t.useEffect((()=>{Se()}),[Y,H,j,N,u,d,w,L]),t.useEffect((()=>{if(!(null==q?void 0:q.current))return()=>null;const e=new ResizeObserver((()=>{Se()}));return e.observe(q.current),()=>{e.disconnect()}}),[j,null==q?void 0:q.current]),t.useEffect((()=>{var e;const t=document.querySelector(`[id='${c}']`),o=[...ne,t];H&&o.includes(H)||D(null!==(e=ne[0])&&void 0!==e?e:t)}),[c,ne,H]),t.useEffect((()=>()=>{M.current&&clearTimeout(M.current),K.current&&clearTimeout(K.current)}),[]),t.useEffect((()=>{let t=i;if(!t&&e&&(t=`[data-tooltip-id='${e}']`),t)try{const e=Array.from(document.querySelectorAll(t));se(e)}catch(e){se([])}}),[e,i]);const be=!A&&j&&Y&&Object.keys(J).length>0;return Q?n.default.createElement(S,{id:e,role:"tooltip",className:s.default("react-tooltip",h.tooltip,h[l],o,`react-tooltip__place-${P}`,{[h.show]:be,[h.fixed]:"fixed"===w,[h.clickable]:T}),style:{...N,...J},ref:z},j,n.default.createElement(S,{className:s.default("react-tooltip-arrow",h.arrow,r,{[h.noArrow]:k}),style:F,ref:B})):null},w=({content:e})=>n.default.createElement("span",{dangerouslySetInnerHTML:{__html:e}});e.Tooltip=({id:e,anchorId:o,anchorSelect:r,content:l,html:s,render:c,className:a,classNameArrow:i,variant:u="dark",place:d="top",offset:f=10,wrapper:v="div",children:m=null,events:h=["hover"],openOnClick:_=!1,positionStrategy:S="absolute",middlewares:b,delayShow:g=0,delayHide:E=0,float:A=!1,hidden:k=!1,noArrow:T=!1,clickable:x=!1,closeOnEsc:O=!1,closeOnScroll:R=!1,closeOnResize:N=!1,style:L,position:C,isOpen:$,setIsOpen:j,afterShow:q,afterHide:I})=>{const[W,H]=t.useState(l),[D,z]=t.useState(s),[B,M]=t.useState(d),[K,P]=t.useState(u),[X,J]=t.useState(f),[U,F]=t.useState(g),[Z,Y]=t.useState(E),[G,Q]=t.useState(A),[V,ee]=t.useState(k),[te,oe]=t.useState(v),[re,le]=t.useState(h),[ne,se]=t.useState(S),[ce,ae]=t.useState(null),{anchorRefs:ie,activeAnchor:ue}=p(e),de=e=>null==e?void 0:e.getAttributeNames().reduce(((t,o)=>{var r;if(o.startsWith("data-tooltip-")){t[o.replace(/^data-tooltip-/,"")]=null!==(r=null==e?void 0:e.getAttribute(o))&&void 0!==r?r:null}return t}),{}),fe=e=>{const t={place:e=>{var t;M(null!==(t=e)&&void 0!==t?t:d)},content:e=>{H(null!=e?e:l)},html:e=>{z(null!=e?e:s)},variant:e=>{var t;P(null!==(t=e)&&void 0!==t?t:u)},offset:e=>{J(null===e?f:Number(e))},wrapper:e=>{var t;oe(null!==(t=e)&&void 0!==t?t:v)},events:e=>{const t=null==e?void 0:e.split(" ");le(null!=t?t:h)},"position-strategy":e=>{var t;se(null!==(t=e)&&void 0!==t?t:S)},"delay-show":e=>{F(null===e?g:Number(e))},"delay-hide":e=>{Y(null===e?E:Number(e))},float:e=>{Q(null===e?A:"true"===e)},hidden:e=>{ee(null===e?k:"true"===e)}};Object.values(t).forEach((e=>e(null))),Object.entries(e).forEach((([e,o])=>{var r;null===(r=t[e])||void 0===r||r.call(t,o)}))};t.useEffect((()=>{H(l)}),[l]),t.useEffect((()=>{z(s)}),[s]),t.useEffect((()=>{M(d)}),[d]),t.useEffect((()=>{P(u)}),[u]),t.useEffect((()=>{J(f)}),[f]),t.useEffect((()=>{F(g)}),[g]),t.useEffect((()=>{Y(E)}),[E]),t.useEffect((()=>{Q(A)}),[A]),t.useEffect((()=>{ee(k)}),[k]),t.useEffect((()=>{se(S)}),[S]),t.useEffect((()=>{var t;const l=new Set(ie);let n=r;if(!n&&e&&(n=`[data-tooltip-id='${e}']`),n)try{document.querySelectorAll(n).forEach((e=>{l.add({current:e})}))}catch(e){console.warn(`[react-tooltip] "${n}" is not a valid CSS selector`)}const s=document.querySelector(`[id='${o}']`);if(s&&l.add({current:s}),!l.size)return()=>null;const c=null!==(t=null!=ce?ce:s)&&void 0!==t?t:ue.current,a=new MutationObserver((e=>{e.forEach((e=>{var t;if(!c||"attributes"!==e.type||!(null===(t=e.attributeName)||void 0===t?void 0:t.startsWith("data-tooltip-")))return;const o=de(c);fe(o)}))})),i={attributes:!0,childList:!1,subtree:!1};if(c){const e=de(c);fe(e),a.observe(c,i)}return()=>{a.disconnect()}}),[ie,ue,ce,o,r]);let pe=m;const ve=t.useRef(null);if(c){const e=c({content:null!=W?W:null,activeAnchor:ce});pe=e?n.default.createElement("div",{ref:ve,className:"react-tooltip-content-wrapper"},e):null}else W&&(pe=W);D&&(pe=n.default.createElement(w,{content:D}));const me={id:e,anchorId:o,anchorSelect:r,className:a,classNameArrow:i,content:pe,contentWrapperRef:ve,place:B,variant:K,offset:X,wrapper:te,events:re,openOnClick:_,positionStrategy:ne,middlewares:b,delayShow:U,delayHide:Z,float:G,hidden:V,noArrow:T,clickable:x,closeOnEsc:O,closeOnScroll:R,closeOnResize:N,style:L,position:C,isOpen:$,setIsOpen:j,afterShow:q,afterHide:I,activeAnchor:ce,setActiveAnchor:e=>ae(e)};return n.default.createElement(y,{...me})},e.TooltipProvider=({children:e})=>{const[o,r]=t.useState({[i]:new Set}),[l,s]=t.useState({[i]:{current:null}}),c=(e,...t)=>{r((o=>{var r;const l=null!==(r=o[e])&&void 0!==r?r:new Set;return t.forEach((e=>l.add(e))),{...o,[e]:new Set(l)}}))},a=(e,...t)=>{r((o=>{const r=o[e];return r?(t.forEach((e=>r.delete(e))),{...o}):o}))},u=t.useCallback(((e=i)=>{var t,r;return{anchorRefs:null!==(t=o[e])&&void 0!==t?t:new Set,activeAnchor:null!==(r=l[e])&&void 0!==r?r:{current:null},attach:(...t)=>c(e,...t),detach:(...t)=>a(e,...t),setActiveAnchor:t=>((e,t)=>{s((o=>{var r;return(null===(r=o[e])||void 0===r?void 0:r.current)===t.current?o:{...o,[e]:t}}))})(e,t)}}),[o,l,c,a]),d=t.useMemo((()=>({getTooltipData:u})),[u]);return n.default.createElement(f.Provider,{value:d},e)},e.TooltipWrapper=({tooltipId:e,children:o,className:r,place:l,content:c,html:a,variant:i,offset:u,wrapper:d,events:f,positionStrategy:v,delayShow:m,delayHide:h})=>{const{attach:y,detach:w}=p(e),_=t.useRef(null);return t.useEffect((()=>(y(_),()=>{w(_)})),[]),n.default.createElement("span",{ref:_,className:s.default("react-tooltip-wrapper",r),"data-tooltip-place":l,"data-tooltip-content":c,"data-tooltip-html":a,"data-tooltip-variant":i,"data-tooltip-offset":u,"data-tooltip-wrapper":d,"data-tooltip-events":f,"data-tooltip-position-strategy":v,"data-tooltip-delay-show":m,"data-tooltip-delay-hide":h},o)},Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=react-tooltip.umd.min.js.map
{
"name": "react-tooltip",
"version": "5.13.2",
"version": "5.14.0",
"description": "react tooltip component",

@@ -5,0 +5,0 @@ "scripts": {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc