react-tooltip 5.7.5 → 5.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import e,{createContext as t,useState as n,useCallback as r,useMemo as o,useContext as i,useRef as l,useEffect as a}from"react";function s(e){return e.split("-")[1]}function c(e){return"y"===e?"height":"width"}function u(e){return e.split("-")[0]}function f(e){return["top","bottom"].includes(u(e))?"x":"y"}function p(e,t,n){let{reference:r,floating:o}=e;const i=r.x+r.width/2-o.width/2,l=r.y+r.height/2-o.height/2,a=f(t),p=c(a),d=r[p]/2-o[p]/2,m="x"===a;let y;switch(u(t)){case"top":y={x:i,y:r.y-o.height};break;case"bottom":y={x:i,y:r.y+r.height};break;case"right":y={x:r.x+r.width,y:l};break;case"left":y={x:r.x-o.width,y:l};break;default:y={x:r.x,y:r.y}}switch(s(t)){case"start":y[a]-=d*(n&&m?-1:1);break;case"end":y[a]+=d*(n&&m?-1:1)}return y}function d(e){return"number"!=typeof e?function(e){return{top:0,right:0,bottom:0,left:0,...e}}(e):{top:e,right:e,bottom:e,left:e}}function m(e){return{...e,top:e.y,left:e.x,right:e.x+e.width,bottom:e.y+e.height}}async function y(e,t){var n;void 0===t&&(t={});const{x:r,y:o,platform:i,rects:l,elements:a,strategy:s}=e,{boundary:c="clippingAncestors",rootBoundary:u="viewport",elementContext:f="floating",altBoundary:p=!1,padding:y=0}=t,h=d(y),g=a[p?"floating"===f?"reference":"floating":f],v=m(await i.getClippingRect({element:null==(n=await(null==i.isElement?void 0:i.isElement(g)))||n?g:g.contextElement||await(null==i.getDocumentElement?void 0:i.getDocumentElement(a.floating)),boundary:c,rootBoundary:u,strategy:s})),w="floating"===f?{...l.floating,x:r,y:o}:l.reference,b=await(null==i.getOffsetParent?void 0:i.getOffsetParent(a.floating)),x=await(null==i.isElement?void 0:i.isElement(b))&&await(null==i.getScale?void 0:i.getScale(b))||{x:1,y:1},R=m(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({rect:w,offsetParent:b,strategy:s}):w);return{top:(v.top-R.top+h.top)/x.y,bottom:(R.bottom-v.bottom+h.bottom)/x.y,left:(v.left-R.left+h.left)/x.x,right:(R.right-v.right+h.right)/x.x}}const h=Math.min,g=Math.max;function v(e,t,n){return g(e,h(t,n))}const w=["top","right","bottom","left"].reduce(((e,t)=>e.concat(t,t+"-start",t+"-end")),[]),b={left:"right",right:"left",bottom:"top",top:"bottom"};function x(e){return e.replace(/left|right|bottom|top/g,(e=>b[e]))}function R(e,t,n){void 0===n&&(n=!1);const r=s(e),o=f(e),i=c(o);let l="x"===o?r===(n?"end":"start")?"right":"left":"start"===r?"bottom":"top";return t.reference[i]>t.floating[i]&&(l=x(l)),{main:l,cross:x(l)}}const _={start:"end",end:"start"};function T(e){return e.replace(/start|end/g,(e=>_[e]))}const O=function(e){return void 0===e&&(e={}),{name:"autoPlacement",options:e,async fn(t){var n,r,o;const{rects:i,middlewareData:l,placement:a,platform:c,elements:f}=t,{alignment:p,allowedPlacements:d=w,autoAlignment:m=!0,...h}=e,g=void 0!==p||d===w?function(e,t,n){return(e?[...n.filter((t=>s(t)===e)),...n.filter((t=>s(t)!==e))]:n.filter((e=>u(e)===e))).filter((n=>!e||s(n)===e||!!t&&T(n)!==n))}(p||null,m,d):d,v=await y(t,h),b=(null==(n=l.autoPlacement)?void 0:n.index)||0,x=g[b];if(null==x)return{};const{main:_,cross:O}=R(x,i,await(null==c.isRTL?void 0:c.isRTL(f.floating)));if(a!==x)return{reset:{placement:g[0]}};const k=[v[u(x)],v[_],v[O]],S=[...(null==(r=l.autoPlacement)?void 0:r.overflows)||[],{placement:x,overflows:k}],A=g[b+1];if(A)return{data:{index:b+1,overflows:S},reset:{placement:A}};const E=S.slice().sort(((e,t)=>e.overflows[0]-t.overflows[0])),j=null==(o=E.find((e=>{let{overflows:t}=e;return t.every((e=>e<=0))})))?void 0:o.placement,L=j||E[0].placement;return L!==a?{data:{index:b+1,overflows:S},reset:{placement:L}}:{}}}};const k=function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var n;const{placement:r,middlewareData:o,rects:i,initialPlacement:l,platform:a,elements:c}=t,{mainAxis:f=!0,crossAxis:p=!0,fallbackPlacements:d,fallbackStrategy:m="bestFit",fallbackAxisSideDirection:h="none",flipAlignment:g=!0,...v}=e,w=u(r),b=u(l)===l,_=await(null==a.isRTL?void 0:a.isRTL(c.floating)),O=d||(b||!g?[x(l)]:function(e){const t=x(e);return[T(e),t,T(t)]}(l));d||"none"===h||O.push(...function(e,t,n,r){const o=s(e);let i=function(e,t,n){const r=["left","right"],o=["right","left"],i=["top","bottom"],l=["bottom","top"];switch(e){case"top":case"bottom":return n?t?o:r:t?r:o;case"left":case"right":return t?i:l;default:return[]}}(u(e),"start"===n,r);return o&&(i=i.map((e=>e+"-"+o)),t&&(i=i.concat(i.map(T)))),i}(l,g,h,_));const k=[l,...O],S=await y(t,v),A=[];let E=(null==(n=o.flip)?void 0:n.overflows)||[];if(f&&A.push(S[w]),p){const{main:e,cross:t}=R(r,i,_);A.push(S[e],S[t])}if(E=[...E,{placement:r,overflows:A}],!A.every((e=>e<=0))){var j,L;const e=((null==(j=o.flip)?void 0:j.index)||0)+1,t=k[e];if(t)return{data:{index:e,overflows:E},reset:{placement:t}};let n=null==(L=E.find((e=>e.overflows[0]<=0)))?void 0:L.placement;if(!n)switch(m){case"bestFit":{var P;const e=null==(P=E.map((e=>[e.placement,e.overflows.filter((e=>e>0)).reduce(((e,t)=>e+t),0)])).sort(((e,t)=>e[1]-t[1]))[0])?void 0:P[0];e&&(n=e);break}case"initialPlacement":n=l}if(r!==n)return{reset:{placement:n}}}return{}}}},S=function(e){return void 0===e&&(e={}),{name:"inline",options:e,async fn(t){const{placement:n,elements:r,rects:o,platform:i,strategy:l}=t,{padding:a=2,x:s,y:c}=e,p=m(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({rect:o.reference,offsetParent:await(null==i.getOffsetParent?void 0:i.getOffsetParent(r.floating)),strategy:l}):o.reference),y=await(null==i.getClientRects?void 0:i.getClientRects(r.reference))||[],v=d(a);const w=await i.getElementRects({reference:{getBoundingClientRect:function(){if(2===y.length&&y[0].left>y[1].right&&null!=s&&null!=c)return y.find((e=>s>e.left-v.left&&s<e.right+v.right&&c>e.top-v.top&&c<e.bottom+v.bottom))||p;if(y.length>=2){if("x"===f(n)){const e=y[0],t=y[y.length-1],r="top"===u(n),o=e.top,i=t.bottom,l=r?e.left:t.left,a=r?e.right:t.right;return{top:o,bottom:i,left:l,right:a,width:a-l,height:i-o,x:l,y:o}}const e="left"===u(n),t=g(...y.map((e=>e.right))),r=h(...y.map((e=>e.left))),o=y.filter((n=>e?n.left===r:n.right===t)),i=o[0].top,l=o[o.length-1].bottom;return{top:i,bottom:l,left:r,right:t,width:t-r,height:l-i,x:r,y:i}}return p}},floating:r.floating,strategy:l});return o.reference.x!==w.reference.x||o.reference.y!==w.reference.y||o.reference.width!==w.reference.width||o.reference.height!==w.reference.height?{reset:{rects:w}}:{}}}};const A=function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){const{x:n,y:r}=t,o=await async function(e,t){const{placement:n,platform:r,elements:o}=e,i=await(null==r.isRTL?void 0:r.isRTL(o.floating)),l=u(n),a=s(n),c="x"===f(n),p=["left","top"].includes(l)?-1:1,d=i&&c?-1:1,m="function"==typeof t?t(e):t;let{mainAxis:y,crossAxis:h,alignmentAxis:g}="number"==typeof m?{mainAxis:m,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...m};return a&&"number"==typeof g&&(h="end"===a?-1*g:g),c?{x:h*d,y:y*p}:{x:y*p,y:h*d}}(t,e);return{x:n+o.x,y:r+o.y,data:o}}}};const E=function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:o}=t,{mainAxis:i=!0,crossAxis:l=!1,limiter:a={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...s}=e,c={x:n,y:r},p=await y(t,s),d=f(u(o)),m="x"===d?"y":"x";let h=c[d],g=c[m];if(i){const e="y"===d?"bottom":"right";h=v(h+p["y"===d?"top":"left"],h,h-p[e])}if(l){const e="y"===m?"bottom":"right";g=v(g+p["y"===m?"top":"left"],g,g-p[e])}const w=a.fn({...t,[d]:h,[m]:g});return{...w,data:{x:w.x-n,y:w.y-r}}}}},j=function(e){return void 0===e&&(e={}),{name:"size",options:e,async fn(t){const{placement:n,rects:r,platform:o,elements:i}=t,{apply:l=(()=>{}),...a}=e,c=await y(t,a),f=u(n),p=s(n);let d,m;"top"===f||"bottom"===f?(d=f,m=p===(await(null==o.isRTL?void 0:o.isRTL(i.floating))?"start":"end")?"left":"right"):(m=f,d="end"===p?"top":"bottom");const h=g(c.left,0),v=g(c.right,0),w=g(c.top,0),b=g(c.bottom,0),x={availableHeight:r.floating.height-(["left","right"].includes(n)?2*(0!==w||0!==b?w+b:g(c.top,c.bottom)):c[d]),availableWidth:r.floating.width-(["top","bottom"].includes(n)?2*(0!==h||0!==v?h+v:g(c.left,c.right)):c[m])};await l({...t,...x});const R=await o.getDimensions(i.floating);return r.floating.width!==R.width||r.floating.height!==R.height?{reset:{rects:!0}}:{}}}};function L(e){var t;return(null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function P(e){return L(e).getComputedStyle(e)}const D=Math.min,N=Math.max,F=Math.round;function C(e){const t=P(e);let n=parseFloat(t.width),r=parseFloat(t.height);const o=e.offsetWidth,i=e.offsetHeight,l=F(n)!==o||F(r)!==i;return l&&(n=o,r=i),{width:n,height:r,fallback:l}}function I(e){return U(e)?(e.nodeName||"").toLowerCase():""}let $;function W(){if($)return $;const e=navigator.userAgentData;return e&&Array.isArray(e.brands)?($=e.brands.map((e=>e.brand+"/"+e.version)).join(" "),$):navigator.userAgent}function B(e){return e instanceof L(e).HTMLElement}function H(e){return e instanceof L(e).Element}function U(e){return e instanceof L(e).Node}function V(e){if("undefined"==typeof ShadowRoot)return!1;return e instanceof L(e).ShadowRoot||e instanceof ShadowRoot}function M(e){const{overflow:t,overflowX:n,overflowY:r,display:o}=P(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!["inline","contents"].includes(o)}function z(e){return["table","td","th"].includes(I(e))}function Y(e){const t=/firefox/i.test(W()),n=P(e),r=n.backdropFilter||n.WebkitBackdropFilter;return"none"!==n.transform||"none"!==n.perspective||!!r&&"none"!==r||t&&"filter"===n.willChange||t&&!!n.filter&&"none"!==n.filter||["transform","perspective"].some((e=>n.willChange.includes(e)))||["paint","layout","strict","content"].some((e=>{const t=n.contain;return null!=t&&t.includes(e)}))}function q(){return!/^((?!chrome|android).)*safari/i.test(W())}function X(e){return["html","body","#document"].includes(I(e))}function K(e){return H(e)?e:e.contextElement}const J={x:1,y:1};function Z(e){const t=K(e);if(!B(t))return J;const n=t.getBoundingClientRect(),{width:r,height:o,fallback:i}=C(t);let l=(i?F(n.width):n.width)/r,a=(i?F(n.height):n.height)/o;return l&&Number.isFinite(l)||(l=1),a&&Number.isFinite(a)||(a=1),{x:l,y:a}}function G(e,t,n,r){var o,i;void 0===t&&(t=!1),void 0===n&&(n=!1);const l=e.getBoundingClientRect(),a=K(e);let s=J;t&&(r?H(r)&&(s=Z(r)):s=Z(e));const c=a?L(a):window,u=!q()&&n;let f=(l.left+(u&&(null==(o=c.visualViewport)?void 0:o.offsetLeft)||0))/s.x,p=(l.top+(u&&(null==(i=c.visualViewport)?void 0:i.offsetTop)||0))/s.y,d=l.width/s.x,m=l.height/s.y;if(a){const e=L(a),t=r&&H(r)?L(r):r;let n=e.frameElement;for(;n&&r&&t!==e;){const e=Z(n),t=n.getBoundingClientRect(),r=getComputedStyle(n);t.x+=(n.clientLeft+parseFloat(r.paddingLeft))*e.x,t.y+=(n.clientTop+parseFloat(r.paddingTop))*e.y,f*=e.x,p*=e.y,d*=e.x,m*=e.y,f+=t.x,p+=t.y,n=L(n).frameElement}}return{width:d,height:m,top:p,right:f+d,bottom:p+m,left:f,x:f,y:p}}function Q(e){return((U(e)?e.ownerDocument:e.document)||window.document).documentElement}function ee(e){return H(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function te(e){return G(Q(e)).left+ee(e).scrollLeft}function ne(e){if("html"===I(e))return e;const t=e.assignedSlot||e.parentNode||V(e)&&e.host||Q(e);return V(t)?t.host:t}function re(e){const t=ne(e);return X(t)?t.ownerDocument.body:B(t)&&M(t)?t:re(t)}function oe(e,t){var n;void 0===t&&(t=[]);const r=re(e),o=r===(null==(n=e.ownerDocument)?void 0:n.body),i=L(r);return o?t.concat(i,i.visualViewport||[],M(r)?r:[]):t.concat(r,oe(r))}function ie(e,t,n){return"viewport"===t?m(function(e,t){const n=L(e),r=Q(e),o=n.visualViewport;let i=r.clientWidth,l=r.clientHeight,a=0,s=0;if(o){i=o.width,l=o.height;const e=q();(e||!e&&"fixed"===t)&&(a=o.offsetLeft,s=o.offsetTop)}return{width:i,height:l,x:a,y:s}}(e,n)):H(t)?m(function(e,t){const n=G(e,!0,"fixed"===t),r=n.top+e.clientTop,o=n.left+e.clientLeft,i=B(e)?Z(e):{x:1,y:1};return{width:e.clientWidth*i.x,height:e.clientHeight*i.y,x:o*i.x,y:r*i.y}}(t,n)):m(function(e){const t=Q(e),n=ee(e),r=e.ownerDocument.body,o=N(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),i=N(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight);let l=-n.scrollLeft+te(e);const a=-n.scrollTop;return"rtl"===P(r).direction&&(l+=N(t.clientWidth,r.clientWidth)-o),{width:o,height:i,x:l,y:a}}(Q(e)))}function le(e){return B(e)&&"fixed"!==P(e).position?e.offsetParent:null}function ae(e){const t=L(e);let n=le(e);for(;n&&z(n)&&"static"===P(n).position;)n=le(n);return n&&("html"===I(n)||"body"===I(n)&&"static"===P(n).position&&!Y(n))?t:n||function(e){let t=ne(e);for(;B(t)&&!X(t);){if(Y(t))return t;t=ne(t)}return null}(e)||t}function se(e,t,n){const r=B(t),o=Q(t),i=G(e,!0,"fixed"===n,t);let l={scrollLeft:0,scrollTop:0};const a={x:0,y:0};if(r||!r&&"fixed"!==n)if(("body"!==I(t)||M(o))&&(l=ee(t)),B(t)){const e=G(t,!0);a.x=e.x+t.clientLeft,a.y=e.y+t.clientTop}else o&&(a.x=te(o));return{x:i.left+l.scrollLeft-a.x,y:i.top+l.scrollTop-a.y,width:i.width,height:i.height}}const ce={getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e;const i="clippingAncestors"===n?function(e,t){const n=t.get(e);if(n)return n;let r=oe(e).filter((e=>H(e)&&"body"!==I(e))),o=null;const i="fixed"===P(e).position;let l=i?ne(e):e;for(;H(l)&&!X(l);){const e=P(l),t=Y(l);(i?t||o:t||"static"!==e.position||!o||!["absolute","fixed"].includes(o.position))?o=e:r=r.filter((e=>e!==l)),l=ne(l)}return t.set(e,r),r}(t,this._c):[].concat(n),l=[...i,r],a=l[0],s=l.reduce(((e,n)=>{const r=ie(t,n,o);return e.top=N(r.top,e.top),e.right=D(r.right,e.right),e.bottom=D(r.bottom,e.bottom),e.left=N(r.left,e.left),e}),ie(t,a,o));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}},convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{rect:t,offsetParent:n,strategy:r}=e;const o=B(n),i=Q(n);if(n===i)return t;let l={scrollLeft:0,scrollTop:0},a={x:1,y:1};const s={x:0,y:0};if((o||!o&&"fixed"!==r)&&(("body"!==I(n)||M(i))&&(l=ee(n)),B(n))){const e=G(n);a=Z(n),s.x=e.x+n.clientLeft,s.y=e.y+n.clientTop}return{width:t.width*a.x,height:t.height*a.y,x:t.x*a.x-l.scrollLeft*a.x+s.x,y:t.y*a.y-l.scrollTop*a.y+s.y}},isElement:H,getDimensions:function(e){return B(e)?C(e):e.getBoundingClientRect()},getOffsetParent:ae,getDocumentElement:Q,getScale:Z,async getElementRects(e){let{reference:t,floating:n,strategy:r}=e;const o=this.getOffsetParent||ae,i=this.getDimensions;return{reference:se(t,await o(n),r),floating:{x:0,y:0,...await i(n)}}},getClientRects:e=>Array.from(e.getClientRects()),isRTL:e=>"rtl"===P(e).direction},ue=(e,t,n)=>{const r=new Map,o={platform:ce,...n},i={...o.platform,_c:r};return(async(e,t,n)=>{const{placement:r="bottom",strategy:o="absolute",middleware:i=[],platform:l}=n,a=i.filter(Boolean),s=await(null==l.isRTL?void 0:l.isRTL(t));if(null==l&&console.error(["Floating UI: `platform` property was not passed to config. If you","want to use Floating UI on the web, install @floating-ui/dom","instead of the /core package. Otherwise, you can create your own","`platform`: https://floating-ui.com/docs/platform"].join(" ")),a.filter((e=>{let{name:t}=e;return"autoPlacement"===t||"flip"===t})).length>1)throw new Error(["Floating UI: duplicate `flip` and/or `autoPlacement` middleware","detected. This will lead to an infinite loop. Ensure only one of","either has been passed to the `middleware` array."].join(" "));e&&t||console.error(["Floating UI: The reference and/or floating element was not defined","when `computePosition()` was called. Ensure that both elements have","been created and can be measured."].join(" "));let c=await l.getElementRects({reference:e,floating:t,strategy:o}),{x:u,y:f}=p(c,r,s),d=r,m={},y=0;for(let n=0;n<a.length;n++){const{name:i,fn:h}=a[n],{x:g,y:v,data:w,reset:b}=await h({x:u,y:f,initialPlacement:r,placement:d,strategy:o,middlewareData:m,rects:c,platform:l,elements:{reference:e,floating:t}});u=null!=g?g:u,f=null!=v?v:f,m={...m,[i]:{...m[i],...w}},y>50&&console.warn(["Floating UI: The middleware lifecycle appears to be running in an","infinite loop. This is usually caused by a `reset` continually","being returned without a break condition."].join(" ")),b&&y<=50&&(y++,"object"==typeof b&&(b.placement&&(d=b.placement),b.rects&&(c=!0===b.rects?await l.getElementRects({reference:e,floating:t,strategy:o}):b.rects),({x:u,y:f}=p(c,d,s))),n=-1)}return{x:u,y:f,placement:d,strategy:o,middlewareData:m}})(e,t,{...o,platform:i})};var fe,pe={exports:{}},de={};
1
+ import e,{createContext as t,useState as n,useCallback as r,useMemo as o,useContext as i,useRef as l,useEffect as a,useLayoutEffect as c}from"react";function s(e){return e.split("-")[1]}function u(e){return"y"===e?"height":"width"}function f(e){return e.split("-")[0]}function d(e){return["top","bottom"].includes(f(e))?"x":"y"}function p(e,t,n){let{reference:r,floating:o}=e;const i=r.x+r.width/2-o.width/2,l=r.y+r.height/2-o.height/2,a=d(t),c=u(a),p=r[c]/2-o[c]/2,m="x"===a;let y;switch(f(t)){case"top":y={x:i,y:r.y-o.height};break;case"bottom":y={x:i,y:r.y+r.height};break;case"right":y={x:r.x+r.width,y:l};break;case"left":y={x:r.x-o.width,y:l};break;default:y={x:r.x,y:r.y}}switch(s(t)){case"start":y[a]-=p*(n&&m?-1:1);break;case"end":y[a]+=p*(n&&m?-1:1)}return y}function m(e){return"number"!=typeof e?function(e){return{top:0,right:0,bottom:0,left:0,...e}}(e):{top:e,right:e,bottom:e,left:e}}function y(e){return{...e,top:e.y,left:e.x,right:e.x+e.width,bottom:e.y+e.height}}async function h(e,t){var n;void 0===t&&(t={});const{x:r,y:o,platform:i,rects:l,elements:a,strategy:c}=e,{boundary:s="clippingAncestors",rootBoundary:u="viewport",elementContext:f="floating",altBoundary:d=!1,padding:p=0}=t,h=m(p),g=a[d?"floating"===f?"reference":"floating":f],v=y(await i.getClippingRect({element:null==(n=await(null==i.isElement?void 0:i.isElement(g)))||n?g:g.contextElement||await(null==i.getDocumentElement?void 0:i.getDocumentElement(a.floating)),boundary:s,rootBoundary:u,strategy:c})),w="floating"===f?{...l.floating,x:r,y:o}:l.reference,b=await(null==i.getOffsetParent?void 0:i.getOffsetParent(a.floating)),x=await(null==i.isElement?void 0:i.isElement(b))&&await(null==i.getScale?void 0:i.getScale(b))||{x:1,y:1},R=y(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({rect:w,offsetParent:b,strategy:c}):w);return{top:(v.top-R.top+h.top)/x.y,bottom:(R.bottom-v.bottom+h.bottom)/x.y,left:(v.left-R.left+h.left)/x.x,right:(R.right-v.right+h.right)/x.x}}const g=Math.min,v=Math.max;function w(e,t,n){return v(e,g(t,n))}const b=["top","right","bottom","left"].reduce(((e,t)=>e.concat(t,t+"-start",t+"-end")),[]),x={left:"right",right:"left",bottom:"top",top:"bottom"};function R(e){return e.replace(/left|right|bottom|top/g,(e=>x[e]))}function _(e,t,n){void 0===n&&(n=!1);const r=s(e),o=d(e),i=u(o);let l="x"===o?r===(n?"end":"start")?"right":"left":"start"===r?"bottom":"top";return t.reference[i]>t.floating[i]&&(l=R(l)),{main:l,cross:R(l)}}const T={start:"end",end:"start"};function S(e){return e.replace(/start|end/g,(e=>T[e]))}const O=function(e){return void 0===e&&(e={}),{name:"autoPlacement",options:e,async fn(t){var n,r,o;const{rects:i,middlewareData:l,placement:a,platform:c,elements:u}=t,{alignment:d,allowedPlacements:p=b,autoAlignment:m=!0,...y}=e,g=void 0!==d||p===b?function(e,t,n){return(e?[...n.filter((t=>s(t)===e)),...n.filter((t=>s(t)!==e))]:n.filter((e=>f(e)===e))).filter((n=>!e||s(n)===e||!!t&&S(n)!==n))}(d||null,m,p):p,v=await h(t,y),w=(null==(n=l.autoPlacement)?void 0:n.index)||0,x=g[w];if(null==x)return{};const{main:R,cross:T}=_(x,i,await(null==c.isRTL?void 0:c.isRTL(u.floating)));if(a!==x)return{reset:{placement:g[0]}};const O=[v[f(x)],v[R],v[T]],A=[...(null==(r=l.autoPlacement)?void 0:r.overflows)||[],{placement:x,overflows:O}],k=g[w+1];if(k)return{data:{index:w+1,overflows:A},reset:{placement:k}};const E=A.slice().sort(((e,t)=>e.overflows[0]-t.overflows[0])),j=null==(o=E.find((e=>{let{overflows:t}=e;return t.every((e=>e<=0))})))?void 0:o.placement,L=j||E[0].placement;return L!==a?{data:{index:w+1,overflows:A},reset:{placement:L}}:{}}}};const A=function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var n;const{placement:r,middlewareData:o,rects:i,initialPlacement:l,platform:a,elements:c}=t,{mainAxis:u=!0,crossAxis:d=!0,fallbackPlacements:p,fallbackStrategy:m="bestFit",fallbackAxisSideDirection:y="none",flipAlignment:g=!0,...v}=e,w=f(r),b=f(l)===l,x=await(null==a.isRTL?void 0:a.isRTL(c.floating)),T=p||(b||!g?[R(l)]:function(e){const t=R(e);return[S(e),t,S(t)]}(l));p||"none"===y||T.push(...function(e,t,n,r){const o=s(e);let i=function(e,t,n){const r=["left","right"],o=["right","left"],i=["top","bottom"],l=["bottom","top"];switch(e){case"top":case"bottom":return n?t?o:r:t?r:o;case"left":case"right":return t?i:l;default:return[]}}(f(e),"start"===n,r);return o&&(i=i.map((e=>e+"-"+o)),t&&(i=i.concat(i.map(S)))),i}(l,g,y,x));const O=[l,...T],A=await h(t,v),k=[];let E=(null==(n=o.flip)?void 0:n.overflows)||[];if(u&&k.push(A[w]),d){const{main:e,cross:t}=_(r,i,x);k.push(A[e],A[t])}if(E=[...E,{placement:r,overflows:k}],!k.every((e=>e<=0))){var j,L;const e=((null==(j=o.flip)?void 0:j.index)||0)+1,t=O[e];if(t)return{data:{index:e,overflows:E},reset:{placement:t}};let n=null==(L=E.find((e=>e.overflows[0]<=0)))?void 0:L.placement;if(!n)switch(m){case"bestFit":{var P;const e=null==(P=E.map((e=>[e.placement,e.overflows.filter((e=>e>0)).reduce(((e,t)=>e+t),0)])).sort(((e,t)=>e[1]-t[1]))[0])?void 0:P[0];e&&(n=e);break}case"initialPlacement":n=l}if(r!==n)return{reset:{placement:n}}}return{}}}},k=function(e){return void 0===e&&(e={}),{name:"inline",options:e,async fn(t){const{placement:n,elements:r,rects:o,platform:i,strategy:l}=t,{padding:a=2,x:c,y:s}=e,u=y(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({rect:o.reference,offsetParent:await(null==i.getOffsetParent?void 0:i.getOffsetParent(r.floating)),strategy:l}):o.reference),p=await(null==i.getClientRects?void 0:i.getClientRects(r.reference))||[],h=m(a);const w=await i.getElementRects({reference:{getBoundingClientRect:function(){if(2===p.length&&p[0].left>p[1].right&&null!=c&&null!=s)return p.find((e=>c>e.left-h.left&&c<e.right+h.right&&s>e.top-h.top&&s<e.bottom+h.bottom))||u;if(p.length>=2){if("x"===d(n)){const e=p[0],t=p[p.length-1],r="top"===f(n),o=e.top,i=t.bottom,l=r?e.left:t.left,a=r?e.right:t.right;return{top:o,bottom:i,left:l,right:a,width:a-l,height:i-o,x:l,y:o}}const e="left"===f(n),t=v(...p.map((e=>e.right))),r=g(...p.map((e=>e.left))),o=p.filter((n=>e?n.left===r:n.right===t)),i=o[0].top,l=o[o.length-1].bottom;return{top:i,bottom:l,left:r,right:t,width:t-r,height:l-i,x:r,y:i}}return u}},floating:r.floating,strategy:l});return o.reference.x!==w.reference.x||o.reference.y!==w.reference.y||o.reference.width!==w.reference.width||o.reference.height!==w.reference.height?{reset:{rects:w}}:{}}}};const E=function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){const{x:n,y:r}=t,o=await async function(e,t){const{placement:n,platform:r,elements:o}=e,i=await(null==r.isRTL?void 0:r.isRTL(o.floating)),l=f(n),a=s(n),c="x"===d(n),u=["left","top"].includes(l)?-1:1,p=i&&c?-1:1,m="function"==typeof t?t(e):t;let{mainAxis:y,crossAxis:h,alignmentAxis:g}="number"==typeof m?{mainAxis:m,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...m};return a&&"number"==typeof g&&(h="end"===a?-1*g:g),c?{x:h*p,y:y*u}:{x:y*u,y:h*p}}(t,e);return{x:n+o.x,y:r+o.y,data:o}}}};const j=function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:o}=t,{mainAxis:i=!0,crossAxis:l=!1,limiter:a={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...c}=e,s={x:n,y:r},u=await h(t,c),p=d(f(o)),m="x"===p?"y":"x";let y=s[p],g=s[m];if(i){const e="y"===p?"bottom":"right";y=w(y+u["y"===p?"top":"left"],y,y-u[e])}if(l){const e="y"===m?"bottom":"right";g=w(g+u["y"===m?"top":"left"],g,g-u[e])}const v=a.fn({...t,[p]:y,[m]:g});return{...v,data:{x:v.x-n,y:v.y-r}}}}},L=function(e){return void 0===e&&(e={}),{name:"size",options:e,async fn(t){const{placement:n,rects:r,platform:o,elements:i}=t,{apply:l=(()=>{}),...a}=e,c=await h(t,a),u=f(n),d=s(n);let p,m;"top"===u||"bottom"===u?(p=u,m=d===(await(null==o.isRTL?void 0:o.isRTL(i.floating))?"start":"end")?"left":"right"):(m=u,p="end"===d?"top":"bottom");const y=v(c.left,0),g=v(c.right,0),w=v(c.top,0),b=v(c.bottom,0),x={availableHeight:r.floating.height-(["left","right"].includes(n)?2*(0!==w||0!==b?w+b:v(c.top,c.bottom)):c[p]),availableWidth:r.floating.width-(["top","bottom"].includes(n)?2*(0!==y||0!==g?y+g:v(c.left,c.right)):c[m])};await l({...t,...x});const R=await o.getDimensions(i.floating);return r.floating.width!==R.width||r.floating.height!==R.height?{reset:{rects:!0}}:{}}}};function P(e){var t;return(null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function D(e){return P(e).getComputedStyle(e)}const N=Math.min,F=Math.max,$=Math.round;function C(e){const t=D(e);let n=parseFloat(t.width),r=parseFloat(t.height);const o=e.offsetWidth,i=e.offsetHeight,l=$(n)!==o||$(r)!==i;return l&&(n=o,r=i),{width:n,height:r,fallback:l}}function I(e){return V(e)?(e.nodeName||"").toLowerCase():""}let W;function H(){if(W)return W;const e=navigator.userAgentData;return e&&Array.isArray(e.brands)?(W=e.brands.map((e=>e.brand+"/"+e.version)).join(" "),W):navigator.userAgent}function U(e){return e instanceof P(e).HTMLElement}function B(e){return e instanceof P(e).Element}function V(e){return e instanceof P(e).Node}function M(e){if("undefined"==typeof ShadowRoot)return!1;return e instanceof P(e).ShadowRoot||e instanceof ShadowRoot}function q(e){const{overflow:t,overflowX:n,overflowY:r,display:o}=D(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!["inline","contents"].includes(o)}function z(e){return["table","td","th"].includes(I(e))}function Y(e){const t=/firefox/i.test(H()),n=D(e),r=n.backdropFilter||n.WebkitBackdropFilter;return"none"!==n.transform||"none"!==n.perspective||!!r&&"none"!==r||t&&"filter"===n.willChange||t&&!!n.filter&&"none"!==n.filter||["transform","perspective"].some((e=>n.willChange.includes(e)))||["paint","layout","strict","content"].some((e=>{const t=n.contain;return null!=t&&t.includes(e)}))}function X(){return!/^((?!chrome|android).)*safari/i.test(H())}function K(e){return["html","body","#document"].includes(I(e))}function J(e){return B(e)?e:e.contextElement}const Z={x:1,y:1};function G(e){const t=J(e);if(!U(t))return Z;const n=t.getBoundingClientRect(),{width:r,height:o,fallback:i}=C(t);let l=(i?$(n.width):n.width)/r,a=(i?$(n.height):n.height)/o;return l&&Number.isFinite(l)||(l=1),a&&Number.isFinite(a)||(a=1),{x:l,y:a}}function Q(e,t,n,r){var o,i;void 0===t&&(t=!1),void 0===n&&(n=!1);const l=e.getBoundingClientRect(),a=J(e);let c=Z;t&&(r?B(r)&&(c=G(r)):c=G(e));const s=a?P(a):window,u=!X()&&n;let f=(l.left+(u&&(null==(o=s.visualViewport)?void 0:o.offsetLeft)||0))/c.x,d=(l.top+(u&&(null==(i=s.visualViewport)?void 0:i.offsetTop)||0))/c.y,p=l.width/c.x,m=l.height/c.y;if(a){const e=P(a),t=r&&B(r)?P(r):r;let n=e.frameElement;for(;n&&r&&t!==e;){const e=G(n),t=n.getBoundingClientRect(),r=getComputedStyle(n);t.x+=(n.clientLeft+parseFloat(r.paddingLeft))*e.x,t.y+=(n.clientTop+parseFloat(r.paddingTop))*e.y,f*=e.x,d*=e.y,p*=e.x,m*=e.y,f+=t.x,d+=t.y,n=P(n).frameElement}}return{width:p,height:m,top:d,right:f+p,bottom:d+m,left:f,x:f,y:d}}function ee(e){return((V(e)?e.ownerDocument:e.document)||window.document).documentElement}function te(e){return B(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function ne(e){return Q(ee(e)).left+te(e).scrollLeft}function re(e){if("html"===I(e))return e;const t=e.assignedSlot||e.parentNode||M(e)&&e.host||ee(e);return M(t)?t.host:t}function oe(e){const t=re(e);return K(t)?t.ownerDocument.body:U(t)&&q(t)?t:oe(t)}function ie(e,t){var n;void 0===t&&(t=[]);const r=oe(e),o=r===(null==(n=e.ownerDocument)?void 0:n.body),i=P(r);return o?t.concat(i,i.visualViewport||[],q(r)?r:[]):t.concat(r,ie(r))}function le(e,t,n){return"viewport"===t?y(function(e,t){const n=P(e),r=ee(e),o=n.visualViewport;let i=r.clientWidth,l=r.clientHeight,a=0,c=0;if(o){i=o.width,l=o.height;const e=X();(e||!e&&"fixed"===t)&&(a=o.offsetLeft,c=o.offsetTop)}return{width:i,height:l,x:a,y:c}}(e,n)):B(t)?y(function(e,t){const n=Q(e,!0,"fixed"===t),r=n.top+e.clientTop,o=n.left+e.clientLeft,i=U(e)?G(e):{x:1,y:1};return{width:e.clientWidth*i.x,height:e.clientHeight*i.y,x:o*i.x,y:r*i.y}}(t,n)):y(function(e){const t=ee(e),n=te(e),r=e.ownerDocument.body,o=F(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),i=F(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight);let l=-n.scrollLeft+ne(e);const a=-n.scrollTop;return"rtl"===D(r).direction&&(l+=F(t.clientWidth,r.clientWidth)-o),{width:o,height:i,x:l,y:a}}(ee(e)))}function ae(e){return U(e)&&"fixed"!==D(e).position?e.offsetParent:null}function ce(e){const t=P(e);let n=ae(e);for(;n&&z(n)&&"static"===D(n).position;)n=ae(n);return n&&("html"===I(n)||"body"===I(n)&&"static"===D(n).position&&!Y(n))?t:n||function(e){let t=re(e);for(;U(t)&&!K(t);){if(Y(t))return t;t=re(t)}return null}(e)||t}function se(e,t,n){const r=U(t),o=ee(t),i=Q(e,!0,"fixed"===n,t);let l={scrollLeft:0,scrollTop:0};const a={x:0,y:0};if(r||!r&&"fixed"!==n)if(("body"!==I(t)||q(o))&&(l=te(t)),U(t)){const e=Q(t,!0);a.x=e.x+t.clientLeft,a.y=e.y+t.clientTop}else o&&(a.x=ne(o));return{x:i.left+l.scrollLeft-a.x,y:i.top+l.scrollTop-a.y,width:i.width,height:i.height}}const ue={getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e;const i="clippingAncestors"===n?function(e,t){const n=t.get(e);if(n)return n;let r=ie(e).filter((e=>B(e)&&"body"!==I(e))),o=null;const i="fixed"===D(e).position;let l=i?re(e):e;for(;B(l)&&!K(l);){const e=D(l),t=Y(l);(i?t||o:t||"static"!==e.position||!o||!["absolute","fixed"].includes(o.position))?o=e:r=r.filter((e=>e!==l)),l=re(l)}return t.set(e,r),r}(t,this._c):[].concat(n),l=[...i,r],a=l[0],c=l.reduce(((e,n)=>{const r=le(t,n,o);return e.top=F(r.top,e.top),e.right=N(r.right,e.right),e.bottom=N(r.bottom,e.bottom),e.left=F(r.left,e.left),e}),le(t,a,o));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}},convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{rect:t,offsetParent:n,strategy:r}=e;const o=U(n),i=ee(n);if(n===i)return t;let l={scrollLeft:0,scrollTop:0},a={x:1,y:1};const c={x:0,y:0};if((o||!o&&"fixed"!==r)&&(("body"!==I(n)||q(i))&&(l=te(n)),U(n))){const e=Q(n);a=G(n),c.x=e.x+n.clientLeft,c.y=e.y+n.clientTop}return{width:t.width*a.x,height:t.height*a.y,x:t.x*a.x-l.scrollLeft*a.x+c.x,y:t.y*a.y-l.scrollTop*a.y+c.y}},isElement:B,getDimensions:function(e){return U(e)?C(e):e.getBoundingClientRect()},getOffsetParent:ce,getDocumentElement:ee,getScale:G,async getElementRects(e){let{reference:t,floating:n,strategy:r}=e;const o=this.getOffsetParent||ce,i=this.getDimensions;return{reference:se(t,await o(n),r),floating:{x:0,y:0,...await i(n)}}},getClientRects:e=>Array.from(e.getClientRects()),isRTL:e=>"rtl"===D(e).direction},fe=(e,t,n)=>{const r=new Map,o={platform:ue,...n},i={...o.platform,_c:r};return(async(e,t,n)=>{const{placement:r="bottom",strategy:o="absolute",middleware:i=[],platform:l}=n,a=i.filter(Boolean),c=await(null==l.isRTL?void 0:l.isRTL(t));if(null==l&&console.error(["Floating UI: `platform` property was not passed to config. If you","want to use Floating UI on the web, install @floating-ui/dom","instead of the /core package. Otherwise, you can create your own","`platform`: https://floating-ui.com/docs/platform"].join(" ")),a.filter((e=>{let{name:t}=e;return"autoPlacement"===t||"flip"===t})).length>1)throw new Error(["Floating UI: duplicate `flip` and/or `autoPlacement` middleware","detected. This will lead to an infinite loop. Ensure only one of","either has been passed to the `middleware` array."].join(" "));e&&t||console.error(["Floating UI: The reference and/or floating element was not defined","when `computePosition()` was called. Ensure that both elements have","been created and can be measured."].join(" "));let s=await l.getElementRects({reference:e,floating:t,strategy:o}),{x:u,y:f}=p(s,r,c),d=r,m={},y=0;for(let n=0;n<a.length;n++){const{name:i,fn:h}=a[n],{x:g,y:v,data:w,reset:b}=await h({x:u,y:f,initialPlacement:r,placement:d,strategy:o,middlewareData:m,rects:s,platform:l,elements:{reference:e,floating:t}});u=null!=g?g:u,f=null!=v?v:f,m={...m,[i]:{...m[i],...w}},y>50&&console.warn(["Floating UI: The middleware lifecycle appears to be running in an","infinite loop. This is usually caused by a `reset` continually","being returned without a break condition."].join(" ")),b&&y<=50&&(y++,"object"==typeof b&&(b.placement&&(d=b.placement),b.rects&&(s=!0===b.rects?await l.getElementRects({reference:e,floating:t,strategy:o}):b.rects),({x:u,y:f}=p(s,d,c))),n=-1)}return{x:u,y:f,placement:d,strategy:o,middlewareData:m}})(e,t,{...o,platform:i})};var de,pe={exports:{}},me={};
2
2
  /** @license React v16.14.0
3
3
  * react-jsx-runtime.development.js
4
4
  *
@@ -7,9 +7,9 @@ import e,{createContext as t,useState as n,useCallback as r,useMemo as o,useCont
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
9
9
  */
10
- fe=de,function(){var t=e,n=60103,r=60106;fe.Fragment=60107;var o=60108,i=60114,l=60109,a=60110,s=60112,c=60113,u=60120,f=60115,p=60116,d=60121,m=60122,y=60117,h=60129,g=60131;if("function"==typeof Symbol&&Symbol.for){var v=Symbol.for;n=v("react.element"),r=v("react.portal"),fe.Fragment=v("react.fragment"),o=v("react.strict_mode"),i=v("react.profiler"),l=v("react.provider"),a=v("react.context"),s=v("react.forward_ref"),c=v("react.suspense"),u=v("react.suspense_list"),f=v("react.memo"),p=v("react.lazy"),d=v("react.block"),m=v("react.server.block"),y=v("react.fundamental"),v("react.scope"),v("react.opaque.id"),h=v("react.debug_trace_mode"),v("react.offscreen"),g=v("react.legacy_hidden")}var w="function"==typeof Symbol&&Symbol.iterator,b=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function x(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];R("error",e,n)}function R(e,t,n){var r=b.ReactDebugCurrentFrame,o="";if(k){var i=T(k.type),l=k._owner;o+=function(e,t,n){var r="";if(t){var o=t.fileName,i=o.replace(_,"");if(/^index\./.test(i)){var l=o.match(_);if(l){var a=l[1];a&&(i=a.replace(_,"")+"/"+i)}}r=" (at "+i+":"+t.lineNumber+")"}else n&&(r=" (created by "+n+")");return"\n in "+(e||"Unknown")+r}(i,k._source,l&&T(l.type))}""!==(o+=r.getStackAddendum())&&(t+="%s",n=n.concat([o]));var a=n.map((function(e){return""+e}));a.unshift("Warning: "+t),Function.prototype.apply.call(console[e],console,a)}var _=/^(.*)[\\\/]/;function T(e){if(null==e)return null;if("number"==typeof e.tag&&x("Received an unexpected object in getComponentName(). This is likely a bug in React. Please file an issue."),"function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case fe.Fragment:return"Fragment";case r:return"Portal";case i:return"Profiler";case o:return"StrictMode";case c:return"Suspense";case u:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case a:return"Context.Consumer";case l:return"Context.Provider";case s:return m=e,y=e.render,h="ForwardRef",g=y.displayName||y.name||"",m.displayName||(""!==g?h+"("+g+")":h);case f:return T(e.type);case d:return T(e.render);case p:var t=1===(n=e)._status?n._result:null;if(t)return T(t)}var n,m,y,h,g;return null}var O={};b.ReactDebugCurrentFrame;var k=null;function S(e){k=e}var A,E,j,L=b.ReactCurrentOwner,P=Object.prototype.hasOwnProperty,D={key:!0,ref:!0,__self:!0,__source:!0};function N(e,t,r,o,i){var l,a={},s=null,c=null;for(l in void 0!==r&&(s=""+r),function(e){if(P.call(e,"key")){var t=Object.getOwnPropertyDescriptor(e,"key").get;if(t&&t.isReactWarning)return!1}return void 0!==e.key}(t)&&(s=""+t.key),function(e){if(P.call(e,"ref")){var t=Object.getOwnPropertyDescriptor(e,"ref").get;if(t&&t.isReactWarning)return!1}return void 0!==e.ref}(t)&&(c=t.ref,function(e,t){if("string"==typeof e.ref&&L.current&&t&&L.current.stateNode!==t){var n=T(L.current.type);j[n]||(x('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',T(L.current.type),e.ref),j[n]=!0)}}(t,i)),t)P.call(t,l)&&!D.hasOwnProperty(l)&&(a[l]=t[l]);if(e&&e.defaultProps){var u=e.defaultProps;for(l in u)void 0===a[l]&&(a[l]=u[l])}if(s||c){var f="function"==typeof e?e.displayName||e.name||"Unknown":e;s&&function(e,t){var n=function(){A||(A=!0,x("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",t))};n.isReactWarning=!0,Object.defineProperty(e,"key",{get:n,configurable:!0})}(a,f),c&&function(e,t){var n=function(){E||(E=!0,x("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",t))};n.isReactWarning=!0,Object.defineProperty(e,"ref",{get:n,configurable:!0})}(a,f)}return function(e,t,r,o,i,l,a){var s={$$typeof:n,type:e,key:t,ref:r,props:a,_owner:l,_store:{}};return Object.defineProperty(s._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(s,"_self",{configurable:!1,enumerable:!1,writable:!1,value:o}),Object.defineProperty(s,"_source",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(s.props),Object.freeze(s)),s}(e,s,c,i,o,L.current,a)}j={};var F,C=b.ReactCurrentOwner;function I(e){k=e}function $(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}function W(){if(C.current){var e=T(C.current.type);if(e)return"\n\nCheck the render method of `"+e+"`."}return""}b.ReactDebugCurrentFrame,F=!1;var B={};function H(e,t){if(e._store&&!e._store.validated&&null==e.key){e._store.validated=!0;var n=function(e){var t=W();if(!t){var n="string"==typeof e?e:e.displayName||e.name;n&&(t="\n\nCheck the top-level render call using <"+n+">.")}return t}(t);if(!B[n]){B[n]=!0;var r="";e&&e._owner&&e._owner!==C.current&&(r=" It was passed a child from "+T(e._owner.type)+"."),I(e),x('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',n,r),I(null)}}}function U(e,t){if("object"==typeof e)if(Array.isArray(e))for(var n=0;n<e.length;n++){var r=e[n];$(r)&&H(r,t)}else if($(e))e._store&&(e._store.validated=!0);else if(e){var o=function(e){if(null===e||"object"!=typeof e)return null;var t=w&&e[w]||e["@@iterator"];return"function"==typeof t?t:null}(e);if("function"==typeof o&&o!==e.entries)for(var i,l=o.call(e);!(i=l.next()).done;)$(i.value)&&H(i.value,t)}}function V(e){var t,n=e.type;if(null!=n&&"string"!=typeof n){if("function"==typeof n)t=n.propTypes;else{if("object"!=typeof n||n.$$typeof!==s&&n.$$typeof!==f)return;t=n.propTypes}if(t){var r=T(n);!function(e,t,n,r,o){var i=Function.call.bind(Object.prototype.hasOwnProperty);for(var l in e)if(i(e,l)){var a=void 0;try{if("function"!=typeof e[l]){var s=Error((r||"React class")+": "+n+" type `"+l+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[l]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw s.name="Invariant Violation",s}a=e[l](t,l,r,n,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(e){a=e}!a||a instanceof Error||(S(o),x("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",r||"React class",n,l,typeof a),S(null)),a instanceof Error&&!(a.message in O)&&(O[a.message]=!0,S(o),x("Failed %s type: %s",n,a.message),S(null))}}(t,e.props,"prop",r,e)}else void 0===n.PropTypes||F||(F=!0,x("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",T(n)||"Unknown"));"function"!=typeof n.getDefaultProps||n.getDefaultProps.isReactClassApproved||x("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function M(e,t,r,v,w,b){var R=function(e){return"string"==typeof e||"function"==typeof e||e===fe.Fragment||e===i||e===h||e===o||e===c||e===u||e===g||"object"==typeof e&&null!==e&&(e.$$typeof===p||e.$$typeof===f||e.$$typeof===l||e.$$typeof===a||e.$$typeof===s||e.$$typeof===y||e.$$typeof===d||e[0]===m)}(e);if(!R){var _="";(void 0===e||"object"==typeof e&&null!==e&&0===Object.keys(e).length)&&(_+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var O,k=function(e){return void 0!==e?"\n\nCheck your code at "+e.fileName.replace(/^.*[\\\/]/,"")+":"+e.lineNumber+".":""}(w);_+=k||W(),null===e?O="null":Array.isArray(e)?O="array":void 0!==e&&e.$$typeof===n?(O="<"+(T(e.type)||"Unknown")+" />",_=" Did you accidentally export a JSX literal instead of a component?"):O=typeof e,x("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",O,_)}var S=N(e,t,r,w,b);if(null==S)return S;if(R){var A=t.children;if(void 0!==A)if(v)if(Array.isArray(A)){for(var E=0;E<A.length;E++)U(A[E],e);Object.freeze&&Object.freeze(A)}else x("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else U(A,e)}return e===fe.Fragment?function(e){for(var t=Object.keys(e.props),n=0;n<t.length;n++){var r=t[n];if("children"!==r&&"key"!==r){I(e),x("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",r),I(null);break}}null!==e.ref&&(I(e),x("Invalid attribute `ref` supplied to `React.Fragment`."),I(null))}(S):V(S),S}var z=function(e,t,n){return M(e,t,n,!1)},Y=function(e,t,n){return M(e,t,n,!0)};fe.jsx=z,fe.jsxs=Y}(),pe.exports=de;var me,ye={exports:{}};
10
+ de=me,function(){var t=e,n=60103,r=60106;de.Fragment=60107;var o=60108,i=60114,l=60109,a=60110,c=60112,s=60113,u=60120,f=60115,d=60116,p=60121,m=60122,y=60117,h=60129,g=60131;if("function"==typeof Symbol&&Symbol.for){var v=Symbol.for;n=v("react.element"),r=v("react.portal"),de.Fragment=v("react.fragment"),o=v("react.strict_mode"),i=v("react.profiler"),l=v("react.provider"),a=v("react.context"),c=v("react.forward_ref"),s=v("react.suspense"),u=v("react.suspense_list"),f=v("react.memo"),d=v("react.lazy"),p=v("react.block"),m=v("react.server.block"),y=v("react.fundamental"),v("react.scope"),v("react.opaque.id"),h=v("react.debug_trace_mode"),v("react.offscreen"),g=v("react.legacy_hidden")}var w="function"==typeof Symbol&&Symbol.iterator,b=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function x(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];R("error",e,n)}function R(e,t,n){var r=b.ReactDebugCurrentFrame,o="";if(O){var i=T(O.type),l=O._owner;o+=function(e,t,n){var r="";if(t){var o=t.fileName,i=o.replace(_,"");if(/^index\./.test(i)){var l=o.match(_);if(l){var a=l[1];a&&(i=a.replace(_,"")+"/"+i)}}r=" (at "+i+":"+t.lineNumber+")"}else n&&(r=" (created by "+n+")");return"\n in "+(e||"Unknown")+r}(i,O._source,l&&T(l.type))}""!==(o+=r.getStackAddendum())&&(t+="%s",n=n.concat([o]));var a=n.map((function(e){return""+e}));a.unshift("Warning: "+t),Function.prototype.apply.call(console[e],console,a)}var _=/^(.*)[\\\/]/;function T(e){if(null==e)return null;if("number"==typeof e.tag&&x("Received an unexpected object in getComponentName(). This is likely a bug in React. Please file an issue."),"function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case de.Fragment:return"Fragment";case r:return"Portal";case i:return"Profiler";case o:return"StrictMode";case s:return"Suspense";case u:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case a:return"Context.Consumer";case l:return"Context.Provider";case c:return m=e,y=e.render,h="ForwardRef",g=y.displayName||y.name||"",m.displayName||(""!==g?h+"("+g+")":h);case f:return T(e.type);case p:return T(e.render);case d:var t=1===(n=e)._status?n._result:null;if(t)return T(t)}var n,m,y,h,g;return null}var S={};b.ReactDebugCurrentFrame;var O=null;function A(e){O=e}var k,E,j,L=b.ReactCurrentOwner,P=Object.prototype.hasOwnProperty,D={key:!0,ref:!0,__self:!0,__source:!0};function N(e,t,r,o,i){var l,a={},c=null,s=null;for(l in void 0!==r&&(c=""+r),function(e){if(P.call(e,"key")){var t=Object.getOwnPropertyDescriptor(e,"key").get;if(t&&t.isReactWarning)return!1}return void 0!==e.key}(t)&&(c=""+t.key),function(e){if(P.call(e,"ref")){var t=Object.getOwnPropertyDescriptor(e,"ref").get;if(t&&t.isReactWarning)return!1}return void 0!==e.ref}(t)&&(s=t.ref,function(e,t){if("string"==typeof e.ref&&L.current&&t&&L.current.stateNode!==t){var n=T(L.current.type);j[n]||(x('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',T(L.current.type),e.ref),j[n]=!0)}}(t,i)),t)P.call(t,l)&&!D.hasOwnProperty(l)&&(a[l]=t[l]);if(e&&e.defaultProps){var u=e.defaultProps;for(l in u)void 0===a[l]&&(a[l]=u[l])}if(c||s){var f="function"==typeof e?e.displayName||e.name||"Unknown":e;c&&function(e,t){var n=function(){k||(k=!0,x("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",t))};n.isReactWarning=!0,Object.defineProperty(e,"key",{get:n,configurable:!0})}(a,f),s&&function(e,t){var n=function(){E||(E=!0,x("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",t))};n.isReactWarning=!0,Object.defineProperty(e,"ref",{get:n,configurable:!0})}(a,f)}return function(e,t,r,o,i,l,a){var c={$$typeof:n,type:e,key:t,ref:r,props:a,_owner:l,_store:{}};return Object.defineProperty(c._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(c,"_self",{configurable:!1,enumerable:!1,writable:!1,value:o}),Object.defineProperty(c,"_source",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(c.props),Object.freeze(c)),c}(e,c,s,i,o,L.current,a)}j={};var F,$=b.ReactCurrentOwner;function C(e){O=e}function I(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}function W(){if($.current){var e=T($.current.type);if(e)return"\n\nCheck the render method of `"+e+"`."}return""}b.ReactDebugCurrentFrame,F=!1;var H={};function U(e,t){if(e._store&&!e._store.validated&&null==e.key){e._store.validated=!0;var n=function(e){var t=W();if(!t){var n="string"==typeof e?e:e.displayName||e.name;n&&(t="\n\nCheck the top-level render call using <"+n+">.")}return t}(t);if(!H[n]){H[n]=!0;var r="";e&&e._owner&&e._owner!==$.current&&(r=" It was passed a child from "+T(e._owner.type)+"."),C(e),x('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',n,r),C(null)}}}function B(e,t){if("object"==typeof e)if(Array.isArray(e))for(var n=0;n<e.length;n++){var r=e[n];I(r)&&U(r,t)}else if(I(e))e._store&&(e._store.validated=!0);else if(e){var o=function(e){if(null===e||"object"!=typeof e)return null;var t=w&&e[w]||e["@@iterator"];return"function"==typeof t?t:null}(e);if("function"==typeof o&&o!==e.entries)for(var i,l=o.call(e);!(i=l.next()).done;)I(i.value)&&U(i.value,t)}}function V(e){var t,n=e.type;if(null!=n&&"string"!=typeof n){if("function"==typeof n)t=n.propTypes;else{if("object"!=typeof n||n.$$typeof!==c&&n.$$typeof!==f)return;t=n.propTypes}if(t){var r=T(n);!function(e,t,n,r,o){var i=Function.call.bind(Object.prototype.hasOwnProperty);for(var l in e)if(i(e,l)){var a=void 0;try{if("function"!=typeof e[l]){var c=Error((r||"React class")+": "+n+" type `"+l+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[l]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw c.name="Invariant Violation",c}a=e[l](t,l,r,n,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(e){a=e}!a||a instanceof Error||(A(o),x("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",r||"React class",n,l,typeof a),A(null)),a instanceof Error&&!(a.message in S)&&(S[a.message]=!0,A(o),x("Failed %s type: %s",n,a.message),A(null))}}(t,e.props,"prop",r,e)}else void 0===n.PropTypes||F||(F=!0,x("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",T(n)||"Unknown"));"function"!=typeof n.getDefaultProps||n.getDefaultProps.isReactClassApproved||x("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function M(e,t,r,v,w,b){var R=function(e){return"string"==typeof e||"function"==typeof e||e===de.Fragment||e===i||e===h||e===o||e===s||e===u||e===g||"object"==typeof e&&null!==e&&(e.$$typeof===d||e.$$typeof===f||e.$$typeof===l||e.$$typeof===a||e.$$typeof===c||e.$$typeof===y||e.$$typeof===p||e[0]===m)}(e);if(!R){var _="";(void 0===e||"object"==typeof e&&null!==e&&0===Object.keys(e).length)&&(_+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var S,O=function(e){return void 0!==e?"\n\nCheck your code at "+e.fileName.replace(/^.*[\\\/]/,"")+":"+e.lineNumber+".":""}(w);_+=O||W(),null===e?S="null":Array.isArray(e)?S="array":void 0!==e&&e.$$typeof===n?(S="<"+(T(e.type)||"Unknown")+" />",_=" Did you accidentally export a JSX literal instead of a component?"):S=typeof e,x("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",S,_)}var A=N(e,t,r,w,b);if(null==A)return A;if(R){var k=t.children;if(void 0!==k)if(v)if(Array.isArray(k)){for(var E=0;E<k.length;E++)B(k[E],e);Object.freeze&&Object.freeze(k)}else x("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else B(k,e)}return e===de.Fragment?function(e){for(var t=Object.keys(e.props),n=0;n<t.length;n++){var r=t[n];if("children"!==r&&"key"!==r){C(e),x("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",r),C(null);break}}null!==e.ref&&(C(e),x("Invalid attribute `ref` supplied to `React.Fragment`."),C(null))}(A):V(A),A}var q=function(e,t,n){return M(e,t,n,!1)},z=function(e,t,n){return M(e,t,n,!0)};de.jsx=q,de.jsxs=z}(),pe.exports=me;var ye,he={exports:{}};
11
11
  /*!
12
12
  Copyright (c) 2018 Jed Watson.
13
13
  Licensed under the MIT License (MIT), see
14
14
  http://jedwatson.github.io/classnames
15
- */me=ye,function(){var e={}.hasOwnProperty;function t(){for(var n=[],r=0;r<arguments.length;r++){var o=arguments[r];if(o){var i=typeof o;if("string"===i||"number"===i)n.push(o);else if(Array.isArray(o)){if(o.length){var l=t.apply(null,o);l&&n.push(l)}}else if("object"===i){if(o.toString!==Object.prototype.toString&&!o.toString.toString().includes("[native code]")){n.push(o.toString());continue}for(var a in o)e.call(o,a)&&o[a]&&n.push(a)}}}return n.join(" ")}me.exports?(t.default=t,me.exports=t):window.classNames=t}();var he=ye.exports;const ge=(e,t,n)=>{let r=null;return function(...o){r&&clearTimeout(r),r=setTimeout((()=>{r=null,n||e.apply(this,o)}),t)}},ve=({content:e})=>pe.exports.jsx("span",{dangerouslySetInnerHTML:{__html:e}}),we={anchorRefs:new Set,activeAnchor:{current:null},attach:()=>{},detach:()=>{},setActiveAnchor:()=>{}},be=t({getTooltipData:()=>we}),xe=({children:e})=>{const[t,i]=n({DEFAULT_TOOLTIP_ID:new Set}),[l,a]=n({DEFAULT_TOOLTIP_ID:{current:null}}),s=(e,...t)=>{i((n=>{var r;const o=null!==(r=n[e])&&void 0!==r?r:new Set;return t.forEach((e=>o.add(e))),{...n,[e]:new Set(o)}}))},c=(e,...t)=>{i((n=>{const r=n[e];return r?(t.forEach((e=>r.delete(e))),{...n}):n}))},u=r(((e="DEFAULT_TOOLTIP_ID")=>{var n,r;return{anchorRefs:null!==(n=t[e])&&void 0!==n?n:new Set,activeAnchor:null!==(r=l[e])&&void 0!==r?r:{current:null},attach:(...t)=>s(e,...t),detach:(...t)=>c(e,...t),setActiveAnchor:t=>((e,t)=>{a((n=>{var r;return(null===(r=n[e])||void 0===r?void 0:r.current)===t.current?n:{...n,[e]:t}}))})(e,t)}}),[t,l,s,c]),f=o((()=>({getTooltipData:u})),[u]);return pe.exports.jsx(be.Provider,{value:f,children:e})};function Re(e="DEFAULT_TOOLTIP_ID"){return i(be).getTooltipData(e)}const _e=({tooltipId:e,children:t,className:n,place:r,content:o,html:i,variant:s,offset:c,wrapper:u,events:f,positionStrategy:p,delayShow:d,delayHide:m})=>{const{attach:y,detach:h}=Re(e),g=l(null);return a((()=>(y(g),()=>{h(g)})),[]),pe.exports.jsx("span",{ref:g,className:he("react-tooltip-wrapper",n),"data-tooltip-place":r,"data-tooltip-content":o,"data-tooltip-html":i,"data-tooltip-variant":s,"data-tooltip-offset":c,"data-tooltip-wrapper":u,"data-tooltip-events":f,"data-tooltip-position-strategy":p,"data-tooltip-delay-show":d,"data-tooltip-delay-hide":m,children:t})},Te=async({elementReference:e=null,tooltipReference:t=null,tooltipArrowReference:n=null,place:r="top",offset:o=10,strategy:i="absolute",middlewares:l=[A(Number(o)),k(),E({padding:5})]})=>{if(!e)return{tooltipStyles:{},tooltipArrowStyles:{}};if(null===t)return{tooltipStyles:{},tooltipArrowStyles:{}};const a=l;return n?(a.push({name:"arrow",options:u={element:n,padding:5},async fn(e){const{element:t,padding:n=0}=u||{},{x:r,y:o,placement:i,rects:l,platform:a}=e;if(null==t)return console.warn("Floating UI: No `element` was passed to the `arrow` middleware."),{};const p=d(n),m={x:r,y:o},y=f(i),h=c(y),g=await a.getDimensions(t),w="y"===y?"top":"left",b="y"===y?"bottom":"right",x=l.reference[h]+l.reference[y]-m[y]-l.floating[h],R=m[y]-l.reference[y],_=await(null==a.getOffsetParent?void 0:a.getOffsetParent(t));let T=_?"y"===y?_.clientHeight||0:_.clientWidth||0:0;0===T&&(T=l.floating[h]);const O=x/2-R/2,k=p[w],S=T-g[h]-p[b],A=T/2-g[h]/2+O,E=v(k,A,S),j=null!=s(i)&&A!=E&&l.reference[h]/2-(A<k?p[w]:p[b])-g[h]/2<0;return{[y]:m[y]-(j?A<k?k-A:S-A:0),data:{[y]:E,centerOffset:A-E}}}}),ue(e,t,{placement:r,strategy:i,middleware:a}).then((({x:e,y:t,placement:n,middlewareData:r})=>{var o,i;const l={left:`${e}px`,top:`${t}px`},{x:a,y:s}=null!==(o=r.arrow)&&void 0!==o?o:{x:0,y:0};return{tooltipStyles:l,tooltipArrowStyles:{left:null!=a?`${a}px`:"",top:null!=s?`${s}px`:"",right:"",bottom:"",[null!==(i={top:"bottom",right:"left",bottom:"top",left:"right"}[n.split("-")[0]])&&void 0!==i?i:"bottom"]:"-4px"}}}))):ue(e,t,{placement:"bottom",strategy:i,middleware:a}).then((({x:e,y:t})=>({tooltipStyles:{left:`${e}px`,top:`${t}px`},tooltipArrowStyles:{}})));var u};var Oe={tooltip:"styles-module_tooltip__mnnfp",fixed:"styles-module_fixed__7ciUi",arrow:"styles-module_arrow__K0L3T","no-arrow":"styles-module_no-arrow__KcFZN",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"};const ke=({id:e,className:t,classNameArrow:r,variant:o="dark",anchorId:i,place:s="top",offset:c=10,events:u=["hover"],positionStrategy:f="absolute",middlewares:p,wrapper:d,children:m=null,delayShow:y=0,delayHide:h=0,float:g=!1,noArrow:v=!1,clickable:w=!1,closeOnEsc:b=!1,style:x,position:R,afterShow:_,afterHide:T,content:O,html:k,isOpen:S,setIsOpen:A})=>{const E=l(null),j=l(null),L=l(null),P=l(null),[D,N]=n({}),[F,C]=n({}),[I,$]=n(!1),[W,B]=n(!1),H=l(!1),U=l(null),{anchorRefs:V,setActiveAnchor:M}=Re(e),[z,Y]=n({current:null}),q=l(!1);a((()=>{I||B(!1)}),[I]);const X=e=>{B(!0),setTimeout((()=>{null==A||A(e),void 0===S&&$(e)}),10)};a((()=>{if(void 0===S)return()=>null;S&&B(!0);const e=setTimeout((()=>{$(S)}),10);return()=>{clearTimeout(e)}}),[S]),a((()=>{I!==H.current&&(H.current=I,I?null==_||_():null==T||T())}),[I]);const K=(e=h)=>{P.current&&clearTimeout(P.current),P.current=setTimeout((()=>{q.current||X(!1)}),e)},J=e=>{var t;if(!e)return;y?(L.current&&clearTimeout(L.current),L.current=setTimeout((()=>{X(!0)}),y)):X(!0);const n=null!==(t=e.currentTarget)&&void 0!==t?t:e.target;Y((e=>e.current===n?e:{current:n})),M({current:n}),P.current&&clearTimeout(P.current)},Z=()=>{w?K(h||100):h?K():X(!1),L.current&&clearTimeout(L.current)},G=({x:e,y:t})=>{Te({place:s,offset:c,elementReference:{getBoundingClientRect:()=>({x:e,y:t,width:0,height:0,top:t,left:e,right:e,bottom:t})},tooltipReference:E.current,tooltipArrowReference:j.current,strategy:f,middlewares:p}).then((e=>{Object.keys(e.tooltipStyles).length&&N(e.tooltipStyles),Object.keys(e.tooltipArrowStyles).length&&C(e.tooltipArrowStyles)}))},Q=e=>{if(!e)return;const t=e,n={x:t.clientX,y:t.clientY};G(n),U.current=n},ee=e=>{J(e),h&&K()},te=e=>{var t;(null===(t=z.current)||void 0===t?void 0:t.contains(e.target))||X(!1)},ne=e=>{"Escape"===e.key&&X(!1)},re=ge(J,50),oe=ge(Z,50);a((()=>{var e,t;const n=new Set(V),r=document.querySelector(`[id='${i}']`);if(r&&(Y((e=>e.current===r?e:{current:r})),n.add({current:r})),!n.size)return()=>null;b&&window.addEventListener("keydown",ne);const o=[];u.find((e=>"click"===e))&&(window.addEventListener("click",te),o.push({event:"click",listener:ee})),u.find((e=>"hover"===e))&&(o.push({event:"mouseenter",listener:re},{event:"mouseleave",listener:oe},{event:"focus",listener:re},{event:"blur",listener:oe}),g&&o.push({event:"mousemove",listener:Q}));const l=()=>{q.current=!0},a=()=>{q.current=!1,Z()};w&&(null===(e=E.current)||void 0===e||e.addEventListener("mouseenter",l),null===(t=E.current)||void 0===t||t.addEventListener("mouseleave",a)),o.forEach((({event:e,listener:t})=>{n.forEach((n=>{var r;null===(r=n.current)||void 0===r||r.addEventListener(e,t)}))}));const s=null!=r?r:z.current,c=new MutationObserver((e=>{s&&e.some((e=>"childList"===e.type&&[...e.removedNodes].some((e=>!!e.contains(s)&&(X(!1),!0)))))}));return c.observe(document.body,{attributes:!1,childList:!0,subtree:!0}),()=>{var e,t;u.find((e=>"click"===e))&&window.removeEventListener("click",te),b&&window.removeEventListener("keydown",ne),w&&(null===(e=E.current)||void 0===e||e.removeEventListener("mouseenter",l),null===(t=E.current)||void 0===t||t.removeEventListener("mouseleave",a)),o.forEach((({event:e,listener:t})=>{n.forEach((n=>{var r;null===(r=n.current)||void 0===r||r.removeEventListener(e,t)}))})),c.disconnect()}}),[W,V,z,b,i,u,h,y]),a((()=>{if(R)return G(R),()=>null;if(g)return U.current&&G(U.current),()=>null;let e=z.current;i&&(e=document.querySelector(`[id='${i}']`));let t=!0;return Te({place:s,offset:c,elementReference:e,tooltipReference:E.current,tooltipArrowReference:j.current,strategy:f,middlewares:p}).then((e=>{t&&(Object.keys(e.tooltipStyles).length&&N(e.tooltipStyles),Object.keys(e.tooltipArrowStyles).length&&C(e.tooltipArrowStyles))})),()=>{t=!1}}),[I,i,z,O,k,s,c,f,R]),a((()=>()=>{L.current&&clearTimeout(L.current),P.current&&clearTimeout(P.current)}),[]);const ie=Boolean(k||O||m),le=Boolean(ie&&I&&Object.keys(D).length>0);return W?pe.exports.jsxs(d,{id:e,role:"tooltip",className:he("react-tooltip",Oe.tooltip,Oe[o],t,{[Oe.show]:le,[Oe.fixed]:"fixed"===f,[Oe.clickable]:w}),style:{...x,...D},ref:E,children:[m||k&&pe.exports.jsx(ve,{content:k})||O,pe.exports.jsx(d,{className:he("react-tooltip-arrow",Oe.arrow,r,{[Oe["no-arrow"]]:v}),style:F,ref:j})]}):null},Se=({id:e,anchorId:t,content:r,html:o,className:i,classNameArrow:l,variant:s="dark",place:c="top",offset:u=10,wrapper:f="div",children:p=null,events:d=["hover"],positionStrategy:m="absolute",middlewares:y,delayShow:h=0,delayHide:g=0,float:v=!1,noArrow:w=!1,clickable:b=!1,closeOnEsc:x=!1,style:R,position:_,isOpen:T,setIsOpen:O,afterShow:k,afterHide:S})=>{const[A,E]=n(r),[j,L]=n(o),[P,D]=n(c),[N,F]=n(s),[C,I]=n(u),[$,W]=n(h),[B,H]=n(g),[U,V]=n(v),[M,z]=n(f),[Y,q]=n(d),[X,K]=n(m),{anchorRefs:J,activeAnchor:Z}=Re(e),G=e=>null==e?void 0:e.getAttributeNames().reduce(((t,n)=>{var r;if(n.startsWith("data-tooltip-")){t[n.replace(/^data-tooltip-/,"")]=null!==(r=null==e?void 0:e.getAttribute(n))&&void 0!==r?r:null}return t}),{}),Q=e=>{const t={place:e=>{var t;D(null!==(t=e)&&void 0!==t?t:c)},content:e=>{E(null!=e?e:r)},html:e=>{L(null!=e?e:o)},variant:e=>{var t;F(null!==(t=e)&&void 0!==t?t:s)},offset:e=>{I(null===e?u:Number(e))},wrapper:e=>{var t;z(null!==(t=e)&&void 0!==t?t:f)},events:e=>{const t=null==e?void 0:e.split(" ");q(null!=t?t:d)},"position-strategy":e=>{var t;K(null!==(t=e)&&void 0!==t?t:m)},"delay-show":e=>{W(null===e?h:Number(e))},"delay-hide":e=>{H(null===e?g:Number(e))},float:e=>{V(null===e?v:Boolean(e))}};Object.values(t).forEach((e=>e(null))),Object.entries(e).forEach((([e,n])=>{var r;null===(r=t[e])||void 0===r||r.call(t,n)}))};a((()=>{E(r)}),[r]),a((()=>{L(o)}),[o]),a((()=>{var e;const n=new Set(J),r=document.querySelector(`[id='${t}']`);if(r&&n.add({current:r}),!n.size)return()=>null;const o=null!==(e=Z.current)&&void 0!==e?e:r,i=new MutationObserver((e=>{e.forEach((e=>{var t;if(!o||"attributes"!==e.type||!(null===(t=e.attributeName)||void 0===t?void 0:t.startsWith("data-tooltip-")))return;const n=G(o);Q(n)}))})),l={attributes:!0,childList:!1,subtree:!1};if(o){const e=G(o);Q(e),i.observe(o,l)}return()=>{i.disconnect()}}),[J,Z,t]);const ee={id:e,anchorId:t,className:i,classNameArrow:l,content:A,html:j,place:P,variant:N,offset:C,wrapper:M,events:Y,positionStrategy:X,middlewares:y,delayShow:$,delayHide:B,float:U,noArrow:w,clickable:b,closeOnEsc:x,style:R,position:_,isOpen:T,setIsOpen:O,afterShow:k,afterHide:S};return p?pe.exports.jsx(ke,{...ee,children:p}):pe.exports.jsx(ke,{...ee})};export{Se as Tooltip,xe as TooltipProvider,_e as TooltipWrapper,O as autoPlacement,k as flip,S as inline,A as offset,E as shift,j as size};
15
+ */ye=he,function(){var e={}.hasOwnProperty;function t(){for(var n=[],r=0;r<arguments.length;r++){var o=arguments[r];if(o){var i=typeof o;if("string"===i||"number"===i)n.push(o);else if(Array.isArray(o)){if(o.length){var l=t.apply(null,o);l&&n.push(l)}}else if("object"===i){if(o.toString!==Object.prototype.toString&&!o.toString.toString().includes("[native code]")){n.push(o.toString());continue}for(var a in o)e.call(o,a)&&o[a]&&n.push(a)}}}return n.join(" ")}ye.exports?(t.default=t,ye.exports=t):window.classNames=t}();var ge=he.exports;const ve=(e,t,n)=>{let r=null;return function(...o){r&&clearTimeout(r),r=setTimeout((()=>{r=null,n||e.apply(this,o)}),t)}},we=({content:e})=>pe.exports.jsx("span",{dangerouslySetInnerHTML:{__html:e}}),be={anchorRefs:new Set,activeAnchor:{current:null},attach:()=>{},detach:()=>{},setActiveAnchor:()=>{}},xe=t({getTooltipData:()=>be}),Re=({children:e})=>{const[t,i]=n({DEFAULT_TOOLTIP_ID:new Set}),[l,a]=n({DEFAULT_TOOLTIP_ID:{current:null}}),c=(e,...t)=>{i((n=>{var r;const o=null!==(r=n[e])&&void 0!==r?r:new Set;return t.forEach((e=>o.add(e))),{...n,[e]:new Set(o)}}))},s=(e,...t)=>{i((n=>{const r=n[e];return r?(t.forEach((e=>r.delete(e))),{...n}):n}))},u=r(((e="DEFAULT_TOOLTIP_ID")=>{var n,r;return{anchorRefs:null!==(n=t[e])&&void 0!==n?n: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((n=>{var r;return(null===(r=n[e])||void 0===r?void 0:r.current)===t.current?n:{...n,[e]:t}}))})(e,t)}}),[t,l,c,s]),f=o((()=>({getTooltipData:u})),[u]);return pe.exports.jsx(xe.Provider,{value:f,children:e})};function _e(e="DEFAULT_TOOLTIP_ID"){return i(xe).getTooltipData(e)}const Te=({tooltipId:e,children:t,className:n,place:r,content:o,html:i,variant:c,offset:s,wrapper:u,events:f,positionStrategy:d,delayShow:p,delayHide:m})=>{const{attach:y,detach:h}=_e(e),g=l(null);return a((()=>(y(g),()=>{h(g)})),[]),pe.exports.jsx("span",{ref:g,className:ge("react-tooltip-wrapper",n),"data-tooltip-place":r,"data-tooltip-content":o,"data-tooltip-html":i,"data-tooltip-variant":c,"data-tooltip-offset":s,"data-tooltip-wrapper":u,"data-tooltip-events":f,"data-tooltip-position-strategy":d,"data-tooltip-delay-show":p,"data-tooltip-delay-hide":m,children:t})},Se=async({elementReference:e=null,tooltipReference:t=null,tooltipArrowReference:n=null,place:r="top",offset:o=10,strategy:i="absolute",middlewares:l=[E(Number(o)),A(),j({padding:5})]})=>{if(!e)return{tooltipStyles:{},tooltipArrowStyles:{}};if(null===t)return{tooltipStyles:{},tooltipArrowStyles:{}};const a=l;return n?(a.push({name:"arrow",options:c={element:n,padding:5},async fn(e){const{element:t,padding:n=0}=c||{},{x:r,y:o,placement:i,rects:l,platform:a}=e;if(null==t)return console.warn("Floating UI: No `element` was passed to the `arrow` middleware."),{};const f=m(n),p={x:r,y:o},y=d(i),h=u(y),g=await a.getDimensions(t),v="y"===y?"top":"left",b="y"===y?"bottom":"right",x=l.reference[h]+l.reference[y]-p[y]-l.floating[h],R=p[y]-l.reference[y],_=await(null==a.getOffsetParent?void 0:a.getOffsetParent(t));let T=_?"y"===y?_.clientHeight||0:_.clientWidth||0:0;0===T&&(T=l.floating[h]);const S=x/2-R/2,O=f[v],A=T-g[h]-f[b],k=T/2-g[h]/2+S,E=w(O,k,A),j=null!=s(i)&&k!=E&&l.reference[h]/2-(k<O?f[v]:f[b])-g[h]/2<0;return{[y]:p[y]-(j?k<O?O-k:A-k:0),data:{[y]:E,centerOffset:k-E}}}}),fe(e,t,{placement:r,strategy:i,middleware:a}).then((({x:e,y:t,placement:n,middlewareData:r})=>{var o,i;const l={left:`${e}px`,top:`${t}px`},{x:a,y:c}=null!==(o=r.arrow)&&void 0!==o?o:{x:0,y:0};return{tooltipStyles:l,tooltipArrowStyles:{left:null!=a?`${a}px`:"",top:null!=c?`${c}px`:"",right:"",bottom:"",[null!==(i={top:"bottom",right:"left",bottom:"top",left:"right"}[n.split("-")[0]])&&void 0!==i?i:"bottom"]:"-4px"}}}))):fe(e,t,{placement:"bottom",strategy:i,middleware:a}).then((({x:e,y:t})=>({tooltipStyles:{left:`${e}px`,top:`${t}px`},tooltipArrowStyles:{}})));var c};var Oe={tooltip:"styles-module_tooltip__mnnfp",fixed:"styles-module_fixed__7ciUi",arrow:"styles-module_arrow__K0L3T","no-arrow":"styles-module_no-arrow__KcFZN",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"};const Ae=({id:e,className:t,classNameArrow:r,variant:o="dark",anchorId:i,anchorSelect:s,place:u="top",offset:f=10,events:d=["hover"],positionStrategy:p="absolute",middlewares:m,wrapper:y,children:h=null,delayShow:g=0,delayHide:v=0,float:w=!1,noArrow:b=!1,clickable:x=!1,closeOnEsc:R=!1,style:_,position:T,afterShow:S,afterHide:O,content:A,html:k,isOpen:E,setIsOpen:j,activeAnchor:L,setActiveAnchor:P})=>{const D=l(null),N=l(null),F=l(null),$=l(null),[C,I]=n({}),[W,H]=n({}),[U,B]=n(!1),[V,M]=n(!1),q=l(!1),z=l(null),{anchorRefs:Y,setActiveAnchor:X}=_e(e),K=l(!1),[J,Z]=n([]),G=l(!1);a((()=>{let t=s;if(!t&&e&&(t=`[data-tooltip-id='${e}']`),t)try{const e=Array.from(document.querySelectorAll(t));Z(e)}catch(e){Z([])}}),[s,L]),c((()=>(G.current=!0,()=>{G.current=!1})),[]),a((()=>{if(!U){const e=setTimeout((()=>{M(!1)}),150);return()=>{clearTimeout(e)}}return()=>null}),[U]);const Q=e=>{G.current&&(M(!0),setTimeout((()=>{G.current&&(null==j||j(e),void 0===E&&B(e))}),10))};a((()=>{if(void 0===E)return()=>null;E&&M(!0);const e=setTimeout((()=>{B(E)}),10);return()=>{clearTimeout(e)}}),[E]),a((()=>{U!==q.current&&(q.current=U,U?null==S||S():null==O||O())}),[U]);const ee=(e=v)=>{$.current&&clearTimeout($.current),$.current=setTimeout((()=>{K.current||Q(!1)}),e)},te=e=>{var t;if(!e)return;g?(F.current&&clearTimeout(F.current),F.current=setTimeout((()=>{Q(!0)}),g)):Q(!0);const n=null!==(t=e.currentTarget)&&void 0!==t?t:e.target;P(n),X({current:n}),$.current&&clearTimeout($.current)},ne=()=>{x?ee(v||100):v?ee():Q(!1),F.current&&clearTimeout(F.current)},re=({x:e,y:t})=>{Se({place:u,offset:f,elementReference:{getBoundingClientRect:()=>({x:e,y:t,width:0,height:0,top:t,left:e,right:e,bottom:t})},tooltipReference:D.current,tooltipArrowReference:N.current,strategy:p,middlewares:m}).then((e=>{Object.keys(e.tooltipStyles).length&&I(e.tooltipStyles),Object.keys(e.tooltipArrowStyles).length&&H(e.tooltipArrowStyles)}))},oe=e=>{if(!e)return;const t=e,n={x:t.clientX,y:t.clientY};re(n),z.current=n},ie=e=>{te(e),v&&ee()},le=e=>{const t=document.querySelector(`[id='${i}']`);(null==t?void 0:t.contains(e.target))||J.some((t=>t.contains(e.target)))||Q(!1)},ae=e=>{"Escape"===e.key&&Q(!1)},ce=ve(te,50),se=ve(ne,50);a((()=>{var e,t;const n=new Set(Y);J.forEach((e=>{n.add({current:e})}));const r=document.querySelector(`[id='${i}']`);if(r&&n.add({current:r}),!n.size)return()=>null;R&&window.addEventListener("keydown",ae);const o=[];d.find((e=>"click"===e))&&(window.addEventListener("click",le),o.push({event:"click",listener:ie})),d.find((e=>"hover"===e))&&(o.push({event:"mouseenter",listener:ce},{event:"mouseleave",listener:se},{event:"focus",listener:ce},{event:"blur",listener:se}),w&&o.push({event:"mousemove",listener:oe}));const l=()=>{K.current=!0},a=()=>{K.current=!1,ne()};x&&(null===(e=D.current)||void 0===e||e.addEventListener("mouseenter",l),null===(t=D.current)||void 0===t||t.addEventListener("mouseleave",a)),o.forEach((({event:e,listener:t})=>{n.forEach((n=>{var r;null===(r=n.current)||void 0===r||r.addEventListener(e,t)}))}));const c=new MutationObserver((e=>{L&&e.some((e=>"childList"===e.type&&[...e.removedNodes].some((e=>!!e.contains(L)&&(Q(!1),P(null),!0)))))}));return c.observe(document.body,{attributes:!1,childList:!0,subtree:!0}),()=>{var e,t;d.find((e=>"click"===e))&&window.removeEventListener("click",le),R&&window.removeEventListener("keydown",ae),x&&(null===(e=D.current)||void 0===e||e.removeEventListener("mouseenter",l),null===(t=D.current)||void 0===t||t.removeEventListener("mouseleave",a)),o.forEach((({event:e,listener:t})=>{n.forEach((n=>{var r;null===(r=n.current)||void 0===r||r.removeEventListener(e,t)}))})),c.disconnect()}}),[V,Y,L,R,d,v,g]),a((()=>{T?re(T):w?z.current&&re(z.current):Se({place:u,offset:f,elementReference:L,tooltipReference:D.current,tooltipArrowReference:N.current,strategy:p,middlewares:m}).then((e=>{G.current&&(Object.keys(e.tooltipStyles).length&&I(e.tooltipStyles),Object.keys(e.tooltipArrowStyles).length&&H(e.tooltipArrowStyles))}))}),[U,L,A,k,u,f,p,T]),a((()=>{var e;const t=document.querySelector(`[id='${i}']`),n=[...J,t];L&&n.includes(L)||P(null!==(e=J[0])&&void 0!==e?e:t)}),[i,J,L]),a((()=>()=>{F.current&&clearTimeout(F.current),$.current&&clearTimeout($.current)}),[]);const ue=Boolean(k||A||h)&&U&&Object.keys(C).length>0;return V?pe.exports.jsxs(y,{id:e,role:"tooltip",className:ge("react-tooltip",Oe.tooltip,Oe[o],t,{[Oe.show]:ue,[Oe.fixed]:"fixed"===p,[Oe.clickable]:x}),style:{..._,...C},ref:D,children:[k&&pe.exports.jsx(we,{content:k})||A||h,pe.exports.jsx(y,{className:ge("react-tooltip-arrow",Oe.arrow,r,{[Oe["no-arrow"]]:b}),style:W,ref:N})]}):null},ke=({id:e,anchorId:t,anchorSelect:r,content:o,html:i,className:l,classNameArrow:c,variant:s="dark",place:u="top",offset:f=10,wrapper:d="div",children:p=null,events:m=["hover"],positionStrategy:y="absolute",middlewares:h,delayShow:g=0,delayHide:v=0,float:w=!1,noArrow:b=!1,clickable:x=!1,closeOnEsc:R=!1,style:_,position:T,isOpen:S,setIsOpen:O,afterShow:A,afterHide:k})=>{const[E,j]=n(o),[L,P]=n(i),[D,N]=n(u),[F,$]=n(s),[C,I]=n(f),[W,H]=n(g),[U,B]=n(v),[V,M]=n(w),[q,z]=n(d),[Y,X]=n(m),[K,J]=n(y),[Z,G]=n(null),{anchorRefs:Q,activeAnchor:ee}=_e(e),te=e=>null==e?void 0:e.getAttributeNames().reduce(((t,n)=>{var r;if(n.startsWith("data-tooltip-")){t[n.replace(/^data-tooltip-/,"")]=null!==(r=null==e?void 0:e.getAttribute(n))&&void 0!==r?r:null}return t}),{}),ne=e=>{const t={place:e=>{var t;N(null!==(t=e)&&void 0!==t?t:u)},content:e=>{j(null!=e?e:o)},html:e=>{P(null!=e?e:i)},variant:e=>{var t;$(null!==(t=e)&&void 0!==t?t:s)},offset:e=>{I(null===e?f:Number(e))},wrapper:e=>{var t;z(null!==(t=e)&&void 0!==t?t:d)},events:e=>{const t=null==e?void 0:e.split(" ");X(null!=t?t:m)},"position-strategy":e=>{var t;J(null!==(t=e)&&void 0!==t?t:y)},"delay-show":e=>{H(null===e?g:Number(e))},"delay-hide":e=>{B(null===e?v:Number(e))},float:e=>{M(null===e?w:Boolean(e))}};Object.values(t).forEach((e=>e(null))),Object.entries(e).forEach((([e,n])=>{var r;null===(r=t[e])||void 0===r||r.call(t,n)}))};a((()=>{j(o)}),[o]),a((()=>{P(i)}),[i]),a((()=>{N(u)}),[u]),a((()=>{var n;const o=new Set(Q);let i=r;if(!i&&e&&(i=`[data-tooltip-id='${e}']`),i)try{document.querySelectorAll(i).forEach((e=>{o.add({current:e})}))}catch(e){console.warn(`[react-tooltip] "${r}" is not a valid CSS selector`)}const l=document.querySelector(`[id='${t}']`);if(l&&o.add({current:l}),!o.size)return()=>null;const a=null!==(n=null!=Z?Z:l)&&void 0!==n?n:ee.current,c=new MutationObserver((e=>{e.forEach((e=>{var t;if(!a||"attributes"!==e.type||!(null===(t=e.attributeName)||void 0===t?void 0:t.startsWith("data-tooltip-")))return;const n=te(a);ne(n)}))})),s={attributes:!0,childList:!1,subtree:!1};if(a){const e=te(a);ne(e),c.observe(a,s)}return()=>{c.disconnect()}}),[Q,ee,Z,t,r]);const re={id:e,anchorId:t,anchorSelect:r,className:l,classNameArrow:c,content:E,html:L,place:D,variant:F,offset:C,wrapper:q,events:Y,positionStrategy:K,middlewares:h,delayShow:W,delayHide:U,float:V,noArrow:b,clickable:x,closeOnEsc:R,style:_,position:T,isOpen:S,setIsOpen:O,afterShow:A,afterHide:k,activeAnchor:Z,setActiveAnchor:e=>G(e)};return p?pe.exports.jsx(Ae,{...re,children:p}):pe.exports.jsx(Ae,{...re})};export{ke as Tooltip,Re as TooltipProvider,Te as TooltipWrapper,O as autoPlacement,A as flip,k as inline,E as offset,j as shift,L as size};
@@ -2543,6 +2543,10 @@
2543
2543
  getTooltipData: () => DEFAULT_CONTEXT_DATA,
2544
2544
  };
2545
2545
  const TooltipContext = require$$0.createContext(DEFAULT_CONTEXT_DATA_WRAPPER);
2546
+ /**
2547
+ * @deprecated Use the `data-tooltip-id` attribute, or the `anchorSelect` prop instead.
2548
+ * See https://react-tooltip.com/docs/getting-started
2549
+ */
2546
2550
  const TooltipProvider = ({ children }) => {
2547
2551
  const [anchorRefMap, setAnchorRefMap] = require$$0.useState({
2548
2552
  [DEFAULT_TOOLTIP_ID]: new Set(),
@@ -2603,6 +2607,10 @@
2603
2607
  return require$$0.useContext(TooltipContext).getTooltipData(tooltipId);
2604
2608
  }
2605
2609
 
2610
+ /**
2611
+ * @deprecated Use the `data-tooltip-id` attribute, or the `anchorSelect` prop instead.
2612
+ * See https://react-tooltip.com/docs/getting-started
2613
+ */
2606
2614
  const TooltipWrapper = ({ tooltipId, children, className, place, content, html, variant, offset, wrapper, events, positionStrategy, delayShow, delayHide, }) => {
2607
2615
  const { attach, detach } = useTooltip(tooltipId);
2608
2616
  const anchorRef = require$$0.useRef(null);
@@ -2666,9 +2674,9 @@
2666
2674
 
2667
2675
  const Tooltip = ({
2668
2676
  // props
2669
- id, className, classNameArrow, variant = 'dark', anchorId, place = 'top', offset = 10, events = ['hover'], positionStrategy = 'absolute', middlewares, wrapper: WrapperElement, children = null, delayShow = 0, delayHide = 0, float = false, noArrow = false, clickable = false, closeOnEsc = false, style: externalStyles, position, afterShow, afterHide,
2677
+ id, className, classNameArrow, variant = 'dark', anchorId, anchorSelect, place = 'top', offset = 10, events = ['hover'], positionStrategy = 'absolute', middlewares, wrapper: WrapperElement, children = null, delayShow = 0, delayHide = 0, float = false, noArrow = false, clickable = false, closeOnEsc = false, style: externalStyles, position, afterShow, afterHide,
2670
2678
  // props handled by controller
2671
- content, html, isOpen, setIsOpen, }) => {
2679
+ content, html, isOpen, setIsOpen, activeAnchor, setActiveAnchor, }) => {
2672
2680
  const tooltipRef = require$$0.useRef(null);
2673
2681
  const tooltipArrowRef = require$$0.useRef(null);
2674
2682
  const tooltipShowDelayTimerRef = require$$0.useRef(null);
@@ -2679,21 +2687,71 @@
2679
2687
  const [rendered, setRendered] = require$$0.useState(false);
2680
2688
  const wasShowing = require$$0.useRef(false);
2681
2689
  const lastFloatPosition = require$$0.useRef(null);
2690
+ /**
2691
+ * @todo Remove this in a future version (provider/wrapper method is deprecated)
2692
+ */
2682
2693
  const { anchorRefs, setActiveAnchor: setProviderActiveAnchor } = useTooltip(id);
2683
- const [activeAnchor, setActiveAnchor] = require$$0.useState({ current: null });
2684
2694
  const hoveringTooltip = require$$0.useRef(false);
2695
+ const [anchorsBySelect, setAnchorsBySelect] = require$$0.useState([]);
2696
+ const mounted = require$$0.useRef(false);
2697
+ require$$0.useEffect(() => {
2698
+ let selector = anchorSelect;
2699
+ if (!selector && id) {
2700
+ selector = `[data-tooltip-id='${id}']`;
2701
+ }
2702
+ if (!selector) {
2703
+ return;
2704
+ }
2705
+ try {
2706
+ const anchors = Array.from(document.querySelectorAll(selector));
2707
+ setAnchorsBySelect(anchors);
2708
+ }
2709
+ catch (_a) {
2710
+ // warning was already issued in the controller
2711
+ setAnchorsBySelect([]);
2712
+ }
2713
+ }, [anchorSelect, activeAnchor]);
2714
+ /**
2715
+ * useLayoutEffect runs before useEffect,
2716
+ * but should be used carefully because of caveats
2717
+ * https://beta.reactjs.org/reference/react/useLayoutEffect#caveats
2718
+ */
2719
+ require$$0.useLayoutEffect(() => {
2720
+ mounted.current = true;
2721
+ return () => {
2722
+ mounted.current = false;
2723
+ };
2724
+ }, []);
2685
2725
  require$$0.useEffect(() => {
2686
2726
  if (!show) {
2687
- setRendered(false);
2727
+ /**
2728
+ * this fixes weird behavior when switching between two anchor elements very quickly
2729
+ * remove the timeout and switch quickly between two adjancent anchor elements to see it
2730
+ *
2731
+ * in practice, this means the tooltip is not immediately removed from the DOM on hide
2732
+ */
2733
+ const timeout = setTimeout(() => {
2734
+ setRendered(false);
2735
+ }, 150);
2736
+ return () => {
2737
+ clearTimeout(timeout);
2738
+ };
2688
2739
  }
2740
+ return () => null;
2689
2741
  }, [show]);
2690
2742
  const handleShow = (value) => {
2743
+ if (!mounted.current) {
2744
+ return;
2745
+ }
2691
2746
  setRendered(true);
2692
2747
  /**
2693
2748
  * wait for the component to render and calculate position
2694
2749
  * before actually showing
2695
2750
  */
2696
2751
  setTimeout(() => {
2752
+ if (!mounted.current) {
2753
+ return;
2754
+ }
2697
2755
  setIsOpen === null || setIsOpen === void 0 ? void 0 : setIsOpen(value);
2698
2756
  if (isOpen === undefined) {
2699
2757
  setShow(value);
@@ -2761,7 +2819,7 @@
2761
2819
  handleShow(true);
2762
2820
  }
2763
2821
  const target = (_a = event.currentTarget) !== null && _a !== void 0 ? _a : event.target;
2764
- setActiveAnchor((anchor) => anchor.current === target ? anchor : { current: target });
2822
+ setActiveAnchor(target);
2765
2823
  setProviderActiveAnchor({ current: target });
2766
2824
  if (tooltipHideDelayTimerRef.current) {
2767
2825
  clearTimeout(tooltipHideDelayTimerRef.current);
@@ -2832,9 +2890,12 @@
2832
2890
  handleHideTooltipDelayed();
2833
2891
  }
2834
2892
  };
2835
- const handleClickOutsideAnchor = (event) => {
2836
- var _a;
2837
- if ((_a = activeAnchor.current) === null || _a === void 0 ? void 0 : _a.contains(event.target)) {
2893
+ const handleClickOutsideAnchors = (event) => {
2894
+ const anchorById = document.querySelector(`[id='${anchorId}']`);
2895
+ if (anchorById === null || anchorById === void 0 ? void 0 : anchorById.contains(event.target)) {
2896
+ return;
2897
+ }
2898
+ if (anchorsBySelect.some((anchor) => anchor.contains(event.target))) {
2838
2899
  return;
2839
2900
  }
2840
2901
  handleShow(false);
@@ -2852,9 +2913,11 @@
2852
2913
  require$$0.useEffect(() => {
2853
2914
  var _a, _b;
2854
2915
  const elementRefs = new Set(anchorRefs);
2916
+ anchorsBySelect.forEach((anchor) => {
2917
+ elementRefs.add({ current: anchor });
2918
+ });
2855
2919
  const anchorById = document.querySelector(`[id='${anchorId}']`);
2856
2920
  if (anchorById) {
2857
- setActiveAnchor((anchor) => anchor.current === anchorById ? anchor : { current: anchorById });
2858
2921
  elementRefs.add({ current: anchorById });
2859
2922
  }
2860
2923
  if (!elementRefs.size) {
@@ -2865,7 +2928,7 @@
2865
2928
  }
2866
2929
  const enabledEvents = [];
2867
2930
  if (events.find((event) => event === 'click')) {
2868
- window.addEventListener('click', handleClickOutsideAnchor);
2931
+ window.addEventListener('click', handleClickOutsideAnchors);
2869
2932
  enabledEvents.push({ event: 'click', listener: handleClickTooltipAnchor });
2870
2933
  }
2871
2934
  if (events.find((event) => event === 'hover')) {
@@ -2894,9 +2957,8 @@
2894
2957
  (_a = ref.current) === null || _a === void 0 ? void 0 : _a.addEventListener(event, listener);
2895
2958
  });
2896
2959
  });
2897
- const anchorElement = anchorById !== null && anchorById !== void 0 ? anchorById : activeAnchor.current;
2898
2960
  const parentObserverCallback = (mutationList) => {
2899
- if (!anchorElement) {
2961
+ if (!activeAnchor) {
2900
2962
  return;
2901
2963
  }
2902
2964
  mutationList.some((mutation) => {
@@ -2904,8 +2966,9 @@
2904
2966
  return false;
2905
2967
  }
2906
2968
  return [...mutation.removedNodes].some((node) => {
2907
- if (node.contains(anchorElement)) {
2969
+ if (node.contains(activeAnchor)) {
2908
2970
  handleShow(false);
2971
+ setActiveAnchor(null);
2909
2972
  return true;
2910
2973
  }
2911
2974
  return false;
@@ -2918,7 +2981,7 @@
2918
2981
  return () => {
2919
2982
  var _a, _b;
2920
2983
  if (events.find((event) => event === 'click')) {
2921
- window.removeEventListener('click', handleClickOutsideAnchor);
2984
+ window.removeEventListener('click', handleClickOutsideAnchors);
2922
2985
  }
2923
2986
  if (closeOnEsc) {
2924
2987
  window.removeEventListener('keydown', handleEsc);
@@ -2939,12 +3002,12 @@
2939
3002
  * rendered is also a dependency to ensure anchor observers are re-registered
2940
3003
  * since `tooltipRef` becomes stale after removing/adding the tooltip to the DOM
2941
3004
  */
2942
- }, [rendered, anchorRefs, activeAnchor, closeOnEsc, anchorId, events, delayHide, delayShow]);
3005
+ }, [rendered, anchorRefs, activeAnchor, closeOnEsc, events, delayHide, delayShow]);
2943
3006
  require$$0.useEffect(() => {
2944
3007
  if (position) {
2945
3008
  // if `position` is set, override regular and `float` positioning
2946
3009
  handleTooltipPosition(position);
2947
- return () => null;
3010
+ return;
2948
3011
  }
2949
3012
  if (float) {
2950
3013
  if (lastFloatPosition.current) {
@@ -2958,24 +3021,18 @@
2958
3021
  handleTooltipPosition(lastFloatPosition.current);
2959
3022
  }
2960
3023
  // if `float` is set, override regular positioning
2961
- return () => null;
2962
- }
2963
- let elementReference = activeAnchor.current;
2964
- if (anchorId) {
2965
- // `anchorId` element takes precedence
2966
- elementReference = document.querySelector(`[id='${anchorId}']`);
3024
+ return;
2967
3025
  }
2968
- let mounted = true;
2969
3026
  computeTooltipPosition({
2970
3027
  place,
2971
3028
  offset,
2972
- elementReference,
3029
+ elementReference: activeAnchor,
2973
3030
  tooltipReference: tooltipRef.current,
2974
3031
  tooltipArrowReference: tooltipArrowRef.current,
2975
3032
  strategy: positionStrategy,
2976
3033
  middlewares,
2977
3034
  }).then((computedStylesData) => {
2978
- if (!mounted) {
3035
+ if (!mounted.current) {
2979
3036
  // invalidate computed positions after remount
2980
3037
  return;
2981
3038
  }
@@ -2986,10 +3043,20 @@
2986
3043
  setInlineArrowStyles(computedStylesData.tooltipArrowStyles);
2987
3044
  }
2988
3045
  });
2989
- return () => {
2990
- mounted = false;
2991
- };
2992
- }, [show, anchorId, activeAnchor, content, html, place, offset, positionStrategy, position]);
3046
+ }, [show, activeAnchor, content, html, place, offset, positionStrategy, position]);
3047
+ require$$0.useEffect(() => {
3048
+ var _a;
3049
+ const anchorById = document.querySelector(`[id='${anchorId}']`);
3050
+ const anchors = [...anchorsBySelect, anchorById];
3051
+ if (!activeAnchor || !anchors.includes(activeAnchor)) {
3052
+ /**
3053
+ * if there is no active anchor,
3054
+ * or if the current active anchor is not amongst the allowed ones,
3055
+ * reset it
3056
+ */
3057
+ setActiveAnchor((_a = anchorsBySelect[0]) !== null && _a !== void 0 ? _a : anchorById);
3058
+ }
3059
+ }, [anchorId, anchorsBySelect, activeAnchor]);
2993
3060
  require$$0.useEffect(() => {
2994
3061
  return () => {
2995
3062
  if (tooltipShowDelayTimerRef.current) {
@@ -3001,17 +3068,17 @@
3001
3068
  };
3002
3069
  }, []);
3003
3070
  const hasContentOrChildren = Boolean(html || content || children);
3004
- const canShow = Boolean(hasContentOrChildren && show && Object.keys(inlineStyles).length > 0);
3071
+ const canShow = hasContentOrChildren && show && Object.keys(inlineStyles).length > 0;
3005
3072
  return rendered ? (jsxRuntime.exports.jsxs(WrapperElement, { id: id, role: "tooltip", className: classNames('react-tooltip', styles['tooltip'], styles[variant], className, {
3006
3073
  [styles['show']]: canShow,
3007
3074
  [styles['fixed']]: positionStrategy === 'fixed',
3008
3075
  [styles['clickable']]: clickable,
3009
- }), style: { ...externalStyles, ...inlineStyles }, ref: tooltipRef, children: [children || (html && jsxRuntime.exports.jsx(TooltipContent, { content: html })) || content, jsxRuntime.exports.jsx(WrapperElement, { className: classNames('react-tooltip-arrow', styles['arrow'], classNameArrow, {
3076
+ }), style: { ...externalStyles, ...inlineStyles }, ref: tooltipRef, children: [(html && jsxRuntime.exports.jsx(TooltipContent, { content: html })) || content || children, jsxRuntime.exports.jsx(WrapperElement, { className: classNames('react-tooltip-arrow', styles['arrow'], classNameArrow, {
3010
3077
  [styles['no-arrow']]: noArrow,
3011
3078
  }), style: inlineArrowStyles, ref: tooltipArrowRef })] })) : null;
3012
3079
  };
3013
3080
 
3014
- const TooltipController = ({ id, anchorId, content, html, className, classNameArrow, variant = 'dark', place = 'top', offset = 10, wrapper = 'div', children = null, events = ['hover'], positionStrategy = 'absolute', middlewares, delayShow = 0, delayHide = 0, float = false, noArrow = false, clickable = false, closeOnEsc = false, style, position, isOpen, setIsOpen, afterShow, afterHide, }) => {
3081
+ const TooltipController = ({ id, anchorId, anchorSelect, content, html, className, classNameArrow, variant = 'dark', place = 'top', offset = 10, wrapper = 'div', children = null, events = ['hover'], positionStrategy = 'absolute', middlewares, delayShow = 0, delayHide = 0, float = false, noArrow = false, clickable = false, closeOnEsc = false, style, position, isOpen, setIsOpen, afterShow, afterHide, }) => {
3015
3082
  const [tooltipContent, setTooltipContent] = require$$0.useState(content);
3016
3083
  const [tooltipHtml, setTooltipHtml] = require$$0.useState(html);
3017
3084
  const [tooltipPlace, setTooltipPlace] = require$$0.useState(place);
@@ -3023,7 +3090,11 @@
3023
3090
  const [tooltipWrapper, setTooltipWrapper] = require$$0.useState(wrapper);
3024
3091
  const [tooltipEvents, setTooltipEvents] = require$$0.useState(events);
3025
3092
  const [tooltipPositionStrategy, setTooltipPositionStrategy] = require$$0.useState(positionStrategy);
3026
- const { anchorRefs, activeAnchor } = useTooltip(id);
3093
+ const [activeAnchor, setActiveAnchor] = require$$0.useState(null);
3094
+ /**
3095
+ * @todo Remove this in a future version (provider/wrapper method is deprecated)
3096
+ */
3097
+ const { anchorRefs, activeAnchor: providerActiveAnchor } = useTooltip(id);
3027
3098
  const getDataAttributesFromAnchorElement = (elementReference) => {
3028
3099
  const dataAttributes = elementReference === null || elementReference === void 0 ? void 0 : elementReference.getAttributeNames().reduce((acc, name) => {
3029
3100
  var _a;
@@ -3090,9 +3161,30 @@
3090
3161
  require$$0.useEffect(() => {
3091
3162
  setTooltipHtml(html);
3092
3163
  }, [html]);
3164
+ require$$0.useEffect(() => {
3165
+ setTooltipPlace(place);
3166
+ }, [place]);
3093
3167
  require$$0.useEffect(() => {
3094
3168
  var _a;
3095
3169
  const elementRefs = new Set(anchorRefs);
3170
+ let selector = anchorSelect;
3171
+ if (!selector && id) {
3172
+ selector = `[data-tooltip-id='${id}']`;
3173
+ }
3174
+ if (selector) {
3175
+ try {
3176
+ const anchorsBySelect = document.querySelectorAll(selector);
3177
+ anchorsBySelect.forEach((anchor) => {
3178
+ elementRefs.add({ current: anchor });
3179
+ });
3180
+ }
3181
+ catch (_b) {
3182
+ {
3183
+ // eslint-disable-next-line no-console
3184
+ console.warn(`[react-tooltip] "${anchorSelect}" is not a valid CSS selector`);
3185
+ }
3186
+ }
3187
+ }
3096
3188
  const anchorById = document.querySelector(`[id='${anchorId}']`);
3097
3189
  if (anchorById) {
3098
3190
  elementRefs.add({ current: anchorById });
@@ -3100,7 +3192,7 @@
3100
3192
  if (!elementRefs.size) {
3101
3193
  return () => null;
3102
3194
  }
3103
- const anchorElement = (_a = activeAnchor.current) !== null && _a !== void 0 ? _a : anchorById;
3195
+ const anchorElement = (_a = activeAnchor !== null && activeAnchor !== void 0 ? activeAnchor : anchorById) !== null && _a !== void 0 ? _a : providerActiveAnchor.current;
3104
3196
  const observerCallback = (mutationList) => {
3105
3197
  mutationList.forEach((mutation) => {
3106
3198
  var _a;
@@ -3129,10 +3221,11 @@
3129
3221
  // Remove the observer when the tooltip is destroyed
3130
3222
  observer.disconnect();
3131
3223
  };
3132
- }, [anchorRefs, activeAnchor, anchorId]);
3224
+ }, [anchorRefs, providerActiveAnchor, activeAnchor, anchorId, anchorSelect]);
3133
3225
  const props = {
3134
3226
  id,
3135
3227
  anchorId,
3228
+ anchorSelect,
3136
3229
  className,
3137
3230
  classNameArrow,
3138
3231
  content: tooltipContent,
@@ -3156,6 +3249,8 @@
3156
3249
  setIsOpen,
3157
3250
  afterShow,
3158
3251
  afterHide,
3252
+ activeAnchor,
3253
+ setActiveAnchor: (anchor) => setActiveAnchor(anchor),
3159
3254
  };
3160
3255
  return children ? jsxRuntime.exports.jsx(Tooltip, { ...props, children: children }) : jsxRuntime.exports.jsx(Tooltip, { ...props });
3161
3256
  };