@radix-ui/react-tooltip
Advanced tools
Comparing version 0.1.7 to 0.1.8-rc.1
import * as React from "react"; | ||
import { DismissableLayer } from "@radix-ui/react-dismissable-layer"; | ||
import * as PopperPrimitive from "@radix-ui/react-popper"; | ||
import * as Radix from "@radix-ui/react-primitive"; | ||
import { Primitive } from "@radix-ui/react-primitive"; | ||
import * as PopperPrimitive from "@radix-ui/react-popper"; | ||
export const createTooltipScope: import("@radix-ui/react-context").CreateScope; | ||
@@ -45,2 +46,3 @@ interface TooltipProviderProps { | ||
export const TooltipContent: React.ForwardRefExoticComponent<TooltipContentProps & React.RefAttributes<HTMLDivElement>>; | ||
type DismissableLayerProps = Radix.ComponentPropsWithoutRef<typeof DismissableLayer>; | ||
type PopperContentProps = Radix.ComponentPropsWithoutRef<typeof PopperPrimitive.Content>; | ||
@@ -53,2 +55,12 @@ interface TooltipContentImplProps extends PopperContentProps { | ||
/** | ||
* Event handler called when the escape key is down. | ||
* Can be prevented. | ||
*/ | ||
onEscapeKeyDown?: DismissableLayerProps['onEscapeKeyDown']; | ||
/** | ||
* Event handler called when the a `pointerdown` event happens outside of the `Tooltip`. | ||
* Can be prevented. | ||
*/ | ||
onPointerDownOutside?: DismissableLayerProps['onPointerDownOutside']; | ||
/** | ||
* Whether the Tooltip should render in a Portal | ||
@@ -55,0 +67,0 @@ * (default: `true`) |
@@ -1,2 +0,2 @@ | ||
var e,t=require("@radix-ui/react-id").useId,o=x({},require("@radix-ui/react-visually-hidden")),r=require("@radix-ui/react-slot").Slottable,n=require("@radix-ui/react-portal").Portal,i=require("@radix-ui/react-popper"),u=x({},i),a=i.createPopperScope,l=require("@radix-ui/react-primitive").Primitive,c=require("@radix-ui/react-presence").Presence,s=require("@radix-ui/react-use-rect").useRect,p=require("@radix-ui/react-use-previous").usePrevious,d=require("@radix-ui/react-use-escape-keydown").useEscapeKeydown,m=require("@radix-ui/react-use-controllable-state").useControllableState,f=require("@radix-ui/react-context").createContextScope,T=require("@radix-ui/react-compose-refs").useComposedRefs,C=require("@radix-ui/primitive").composeEventHandlers,E=x({},require("react")),w=(e=require("@babel/runtime/helpers/extends"))&&e.__esModule?e.default:e;function x(e,t){return Object.keys(t).forEach((function(o){"default"!==o&&"__esModule"!==o&&Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[o]}})})),e}const[g,v]=f("Tooltip",[a]);exports.createTooltipScope=v;const b=a(),_=700,[y,q]=g("TooltipProvider",{isOpenDelayed:!0,delayDuration:_,onOpen:()=>{},onClose:()=>{}}),h=e=>{const{__scopeTooltip:t,delayDuration:o=_,skipDelayDuration:r=300,children:n}=e,[i,u]=E.useState(!0),a=E.useRef(0);return E.useEffect((()=>{const e=a.current;return()=>window.clearTimeout(e)}),[]),/*#__PURE__*/E.createElement(y,{scope:t,isOpenDelayed:i,delayDuration:o,onOpen:E.useCallback((()=>{window.clearTimeout(a.current),u(!1)}),[]),onClose:E.useCallback((()=>{window.clearTimeout(a.current),a.current=window.setTimeout((()=>u(!0)),r)}),[r])},n)};exports.TooltipProvider=h;const[k,D]=g("Tooltip"),O=e=>{const{__scopeTooltip:o,children:r,open:n,defaultOpen:i=!1,onOpenChange:a,delayDuration:l}=e,c=q("Tooltip",o),s=b(o),[p,d]=E.useState(null),f=t(),T=E.useRef(0),C=null!=l?l:c.delayDuration,w=E.useRef(!1),{onOpen:x,onClose:g}=c,[v=!1,_]=m({prop:n,defaultProp:i,onChange:e=>{e&&(document.dispatchEvent(new CustomEvent("tooltip.open")),x()),null==a||a(e)}}),y=E.useMemo((()=>v?w.current?"delayed-open":"instant-open":"closed"),[v]),h=E.useCallback((()=>{window.clearTimeout(T.current),w.current=!1,_(!0)}),[_]),D=E.useCallback((()=>{window.clearTimeout(T.current),T.current=window.setTimeout((()=>{w.current=!0,_(!0)}),C)}),[C,_]);return E.useEffect((()=>()=>window.clearTimeout(T.current)),[]),/*#__PURE__*/E.createElement(u.Root,s,/*#__PURE__*/E.createElement(k,{scope:o,contentId:f,open:v,stateAttribute:y,trigger:p,onTriggerChange:d,onTriggerEnter:E.useCallback((()=>{c.isOpenDelayed?D():h()}),[c.isOpenDelayed,D,h]),onOpen:E.useCallback(h,[h]),onClose:E.useCallback((()=>{window.clearTimeout(T.current),_(!1),g()}),[_,g])},r))};exports.Tooltip=O;const R=/*#__PURE__*/E.forwardRef(((e,t)=>{const{__scopeTooltip:o,...r}=e,n=D("TooltipTrigger",o),i=b(o),a=T(t,n.onTriggerChange),c=E.useRef(!1),s=E.useCallback((()=>c.current=!1),[]);return E.useEffect((()=>()=>document.removeEventListener("mouseup",s)),[s]),/*#__PURE__*/E.createElement(u.Anchor,w({asChild:!0},i),/*#__PURE__*/E.createElement(l.button,w({"aria-describedby":n.open?n.contentId:void 0,"data-state":n.stateAttribute},r,{ref:a,onMouseEnter:C(e.onMouseEnter,n.onTriggerEnter),onMouseLeave:C(e.onMouseLeave,n.onClose),onMouseDown:C(e.onMouseDown,(()=>{n.onClose(),c.current=!0,document.addEventListener("mouseup",s,{once:!0})})),onFocus:C(e.onFocus,(()=>{c.current||n.onOpen()})),onBlur:C(e.onBlur,n.onClose),onClick:C(e.onClick,(e=>{0===e.detail&&n.onClose()}))})))}));exports.TooltipTrigger=R;const M=/*#__PURE__*/E.forwardRef(((e,t)=>{const{forceMount:o,...r}=e,n=D("TooltipContent",e.__scopeTooltip);/*#__PURE__*/return E.createElement(c,{present:o||n.open},/*#__PURE__*/E.createElement(P,w({ref:t},r)))}));exports.TooltipContent=M;const P=/*#__PURE__*/E.forwardRef(((e,t)=>{const{__scopeTooltip:i,children:a,"aria-label":l,portalled:c=!0,...s}=e,p=D("TooltipContent",i),m=b(i),f=c?n:E.Fragment,{onClose:T}=p;return d((()=>T())),E.useEffect((()=>(document.addEventListener("tooltip.open",T),()=>document.removeEventListener("tooltip.open",T))),[T]),/*#__PURE__*/E.createElement(f,null,/*#__PURE__*/E.createElement(S,{__scopeTooltip:i}),/*#__PURE__*/E.createElement(u.Content,w({"data-state":p.stateAttribute},m,s,{ref:t,style:{...s.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)"}}),/*#__PURE__*/E.createElement(r,null,a),/*#__PURE__*/E.createElement(o.Root,{id:p.contentId,role:"tooltip"},l||a)))})),A=/*#__PURE__*/E.forwardRef(((e,t)=>{const{__scopeTooltip:o,...r}=e,n=b(o);/*#__PURE__*/return E.createElement(u.Arrow,w({},n,r,{ref:t}))}));/*#__PURE__*/function S(e){const{__scopeTooltip:t}=e,o=D("CheckTriggerMoved",t),r=s(o.trigger),n=null==r?void 0:r.left,i=p(n),u=null==r?void 0:r.top,a=p(u),l=o.onClose;return E.useEffect((()=>{(void 0!==i&&i!==n||void 0!==a&&a!==u)&&l()}),[l,i,a,n,u]),null}exports.TooltipArrow=A;const L=h;exports.Provider=L;const I=O;exports.Root=I;const F=R;exports.Trigger=F;const j=M;exports.Content=j;const B=A;exports.Arrow=B; | ||
var e,t=v({},require("@radix-ui/react-visually-hidden")),o=require("@radix-ui/react-use-rect").useRect,r=require("@radix-ui/react-use-previous").usePrevious,n=require("@radix-ui/react-use-controllable-state").useControllableState,i=require("@radix-ui/react-slot").Slottable,u=require("@radix-ui/react-primitive").Primitive,s=require("@radix-ui/react-presence").Presence,a=require("@radix-ui/react-portal").Portal,l=require("@radix-ui/react-popper"),c=v({},l),p=l.createPopperScope,d=require("@radix-ui/react-id").useId,m=require("@radix-ui/react-dismissable-layer").DismissableLayer,f=require("@radix-ui/react-context").createContextScope,T=require("@radix-ui/react-compose-refs").useComposedRefs,C=require("@radix-ui/primitive").composeEventHandlers,E=v({},require("react")),w=(e=require("@babel/runtime/helpers/extends"))&&e.__esModule?e.default:e;function v(e,t){return Object.keys(t).forEach((function(o){"default"!==o&&"__esModule"!==o&&Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[o]}})})),e}const[x,g]=f("Tooltip",[p]);exports.createTooltipScope=g;const b=p(),y=700,[D,_]=x("TooltipProvider",{isOpenDelayed:!0,delayDuration:y,onOpen:()=>{},onClose:()=>{}}),O=e=>{const{__scopeTooltip:t,delayDuration:o=y,skipDelayDuration:r=300,children:n}=e,[i,u]=E.useState(!0),s=E.useRef(0);return E.useEffect((()=>{const e=s.current;return()=>window.clearTimeout(e)}),[]),/*#__PURE__*/E.createElement(D,{scope:t,isOpenDelayed:i,delayDuration:o,onOpen:E.useCallback((()=>{window.clearTimeout(s.current),u(!1)}),[]),onClose:E.useCallback((()=>{window.clearTimeout(s.current),s.current=window.setTimeout((()=>u(!0)),r)}),[r])},n)};exports.TooltipProvider=O;const[q,h]=x("Tooltip"),k=e=>{const{__scopeTooltip:t,children:o,open:r,defaultOpen:i=!1,onOpenChange:u,delayDuration:s}=e,a=_("Tooltip",t),l=b(t),[p,m]=E.useState(null),f=d(),T=E.useRef(0),C=null!=s?s:a.delayDuration,w=E.useRef(!1),{onOpen:v,onClose:x}=a,[g=!1,y]=n({prop:r,defaultProp:i,onChange:e=>{e&&(document.dispatchEvent(new CustomEvent("tooltip.open")),v()),null==u||u(e)}}),D=E.useMemo((()=>g?w.current?"delayed-open":"instant-open":"closed"),[g]),O=E.useCallback((()=>{window.clearTimeout(T.current),w.current=!1,y(!0)}),[y]),h=E.useCallback((()=>{window.clearTimeout(T.current),T.current=window.setTimeout((()=>{w.current=!0,y(!0)}),C)}),[C,y]);return E.useEffect((()=>()=>window.clearTimeout(T.current)),[]),/*#__PURE__*/E.createElement(c.Root,l,/*#__PURE__*/E.createElement(q,{scope:t,contentId:f,open:g,stateAttribute:D,trigger:p,onTriggerChange:m,onTriggerEnter:E.useCallback((()=>{a.isOpenDelayed?h():O()}),[a.isOpenDelayed,h,O]),onOpen:E.useCallback(O,[O]),onClose:E.useCallback((()=>{window.clearTimeout(T.current),y(!1),x()}),[y,x])},o))};exports.Tooltip=k;const P=/*#__PURE__*/E.forwardRef(((e,t)=>{const{__scopeTooltip:o,...r}=e,n=h("TooltipTrigger",o),i=b(o),s=T(t,n.onTriggerChange),a=E.useRef(!1),l=E.useCallback((()=>a.current=!1),[]);return E.useEffect((()=>()=>document.removeEventListener("mouseup",l)),[l]),/*#__PURE__*/E.createElement(c.Anchor,w({asChild:!0},i),/*#__PURE__*/E.createElement(u.button,w({"aria-describedby":n.open?n.contentId:void 0,"data-state":n.stateAttribute},r,{ref:s,onMouseEnter:C(e.onMouseEnter,n.onTriggerEnter),onMouseLeave:C(e.onMouseLeave,n.onClose),onMouseDown:C(e.onMouseDown,(()=>{a.current=!0,document.addEventListener("mouseup",l,{once:!0})})),onFocus:C(e.onFocus,(()=>{a.current||n.onOpen()})),onBlur:C(e.onBlur,n.onClose),onClick:C(e.onClick,(e=>{0===e.detail&&n.onClose()}))})))}));exports.TooltipTrigger=P;const R=/*#__PURE__*/E.forwardRef(((e,t)=>{const{forceMount:o,...r}=e,n=h("TooltipContent",e.__scopeTooltip);/*#__PURE__*/return E.createElement(s,{present:o||n.open},/*#__PURE__*/E.createElement(M,w({ref:t},r)))}));exports.TooltipContent=R;const M=/*#__PURE__*/E.forwardRef(((e,o)=>{const{__scopeTooltip:r,children:n,"aria-label":u,portalled:s=!0,onEscapeKeyDown:l,onPointerDownOutside:p,...d}=e,f=h("TooltipContent",r),T=b(r),C=s?a:E.Fragment,{onClose:v}=f;return E.useEffect((()=>(document.addEventListener("tooltip.open",v),()=>document.removeEventListener("tooltip.open",v))),[v]),/*#__PURE__*/E.createElement(C,null,/*#__PURE__*/E.createElement(L,{__scopeTooltip:r}),/*#__PURE__*/E.createElement(m,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:l,onPointerDownOutside:p,onFocusOutside:e=>e.preventDefault(),onDismiss:v},/*#__PURE__*/E.createElement(c.Content,w({"data-state":f.stateAttribute},T,d,{ref:o,style:{...d.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)"}}),/*#__PURE__*/E.createElement(i,null,n),/*#__PURE__*/E.createElement(t.Root,{id:f.contentId,role:"tooltip"},u||n))))})),A=/*#__PURE__*/E.forwardRef(((e,t)=>{const{__scopeTooltip:o,...r}=e,n=b(o);/*#__PURE__*/return E.createElement(c.Arrow,w({},n,r,{ref:t}))}));/*#__PURE__*/function L(e){const{__scopeTooltip:t}=e,n=h("CheckTriggerMoved",t),i=o(n.trigger),u=null==i?void 0:i.left,s=r(u),a=null==i?void 0:i.top,l=r(a),c=n.onClose;return E.useEffect((()=>{(void 0!==s&&s!==u||void 0!==l&&l!==a)&&c()}),[c,s,l,u,a]),null}exports.TooltipArrow=A;const S=O;exports.Provider=S;const F=k;exports.Root=F;const I=P;exports.Trigger=I;const j=R;exports.Content=j;const B=A;exports.Arrow=B; | ||
//# sourceMappingURL=index.js.map |
@@ -1,2 +0,2 @@ | ||
import{useId as e}from"@radix-ui/react-id";import*as o from"@radix-ui/react-visually-hidden";import{Slottable as t}from"@radix-ui/react-slot";import{Portal as r}from"@radix-ui/react-portal";import*as n from"@radix-ui/react-popper";import{createPopperScope as i}from"@radix-ui/react-popper";import{Primitive as a}from"@radix-ui/react-primitive";import{Presence as l}from"@radix-ui/react-presence";import{useRect as c}from"@radix-ui/react-use-rect";import{usePrevious as s}from"@radix-ui/react-use-previous";import{useEscapeKeydown as u}from"@radix-ui/react-use-escape-keydown";import{useControllableState as p}from"@radix-ui/react-use-controllable-state";import{createContextScope as d}from"@radix-ui/react-context";import{useComposedRefs as m}from"@radix-ui/react-compose-refs";import{composeEventHandlers as f}from"@radix-ui/primitive";import*as T from"react";import C from"@babel/runtime/helpers/esm/extends";const[w,x]=d("Tooltip",[i]);export{x as createTooltipScope};const g=i(),E=700,[v,b]=w("TooltipProvider",{isOpenDelayed:!0,delayDuration:E,onOpen:()=>{},onClose:()=>{}});export const TooltipProvider=e=>{const{__scopeTooltip:o,delayDuration:t=E,skipDelayDuration:r=300,children:n}=e,[i,a]=T.useState(!0),l=T.useRef(0);return T.useEffect((()=>{const e=l.current;return()=>window.clearTimeout(e)}),[]),/*#__PURE__*/T.createElement(v,{scope:o,isOpenDelayed:i,delayDuration:t,onOpen:T.useCallback((()=>{window.clearTimeout(l.current),a(!1)}),[]),onClose:T.useCallback((()=>{window.clearTimeout(l.current),l.current=window.setTimeout((()=>a(!0)),r)}),[r])},n)};/*#__PURE__*/const[y,_]=w("Tooltip");export const Tooltip=o=>{const{__scopeTooltip:t,children:r,open:i,defaultOpen:a=!1,onOpenChange:l,delayDuration:c}=o,s=b("Tooltip",t),u=g(t),[d,m]=T.useState(null),f=e(),C=T.useRef(0),w=null!=c?c:s.delayDuration,x=T.useRef(!1),{onOpen:E,onClose:v}=s,[_=!1,h]=p({prop:i,defaultProp:a,onChange:e=>{e&&(document.dispatchEvent(new CustomEvent("tooltip.open")),E()),null==l||l(e)}}),k=T.useMemo((()=>_?x.current?"delayed-open":"instant-open":"closed"),[_]),D=T.useCallback((()=>{window.clearTimeout(C.current),x.current=!1,h(!0)}),[h]),O=T.useCallback((()=>{window.clearTimeout(C.current),C.current=window.setTimeout((()=>{x.current=!0,h(!0)}),w)}),[w,h]);return T.useEffect((()=>()=>window.clearTimeout(C.current)),[]),/*#__PURE__*/T.createElement(n.Root,u,/*#__PURE__*/T.createElement(y,{scope:t,contentId:f,open:_,stateAttribute:k,trigger:d,onTriggerChange:m,onTriggerEnter:T.useCallback((()=>{s.isOpenDelayed?O():D()}),[s.isOpenDelayed,O,D]),onOpen:T.useCallback(D,[D]),onClose:T.useCallback((()=>{window.clearTimeout(C.current),h(!1),v()}),[h,v])},r))};/*#__PURE__*/export const TooltipTrigger=/*#__PURE__*/T.forwardRef(((e,o)=>{const{__scopeTooltip:t,...r}=e,i=_("TooltipTrigger",t),l=g(t),c=m(o,i.onTriggerChange),s=T.useRef(!1),u=T.useCallback((()=>s.current=!1),[]);return T.useEffect((()=>()=>document.removeEventListener("mouseup",u)),[u]),/*#__PURE__*/T.createElement(n.Anchor,C({asChild:!0},l),/*#__PURE__*/T.createElement(a.button,C({"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute},r,{ref:c,onMouseEnter:f(e.onMouseEnter,i.onTriggerEnter),onMouseLeave:f(e.onMouseLeave,i.onClose),onMouseDown:f(e.onMouseDown,(()=>{i.onClose(),s.current=!0,document.addEventListener("mouseup",u,{once:!0})})),onFocus:f(e.onFocus,(()=>{s.current||i.onOpen()})),onBlur:f(e.onBlur,i.onClose),onClick:f(e.onClick,(e=>{0===e.detail&&i.onClose()}))})))}));/*#__PURE__*/export const TooltipContent=/*#__PURE__*/T.forwardRef(((e,o)=>{const{forceMount:t,...r}=e,n=_("TooltipContent",e.__scopeTooltip);/*#__PURE__*/return T.createElement(l,{present:t||n.open},/*#__PURE__*/T.createElement(h,C({ref:o},r)))}));const h=/*#__PURE__*/T.forwardRef(((e,i)=>{const{__scopeTooltip:a,children:l,"aria-label":c,portalled:s=!0,...p}=e,d=_("TooltipContent",a),m=g(a),f=s?r:T.Fragment,{onClose:w}=d;return u((()=>w())),T.useEffect((()=>(document.addEventListener("tooltip.open",w),()=>document.removeEventListener("tooltip.open",w))),[w]),/*#__PURE__*/T.createElement(f,null,/*#__PURE__*/T.createElement(k,{__scopeTooltip:a}),/*#__PURE__*/T.createElement(n.Content,C({"data-state":d.stateAttribute},m,p,{ref:i,style:{...p.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)"}}),/*#__PURE__*/T.createElement(t,null,l),/*#__PURE__*/T.createElement(o.Root,{id:d.contentId,role:"tooltip"},c||l)))}));/*#__PURE__*/export const TooltipArrow=/*#__PURE__*/T.forwardRef(((e,o)=>{const{__scopeTooltip:t,...r}=e,i=g(t);/*#__PURE__*/return T.createElement(n.Arrow,C({},i,r,{ref:o}))}));/*#__PURE__*/function k(e){const{__scopeTooltip:o}=e,t=_("CheckTriggerMoved",o),r=c(t.trigger),n=null==r?void 0:r.left,i=s(n),a=null==r?void 0:r.top,l=s(a),u=t.onClose;return T.useEffect((()=>{(void 0!==i&&i!==n||void 0!==l&&l!==a)&&u()}),[u,i,l,n,a]),null}export const Provider=TooltipProvider;export const Root=Tooltip;export const Trigger=TooltipTrigger;export const Content=TooltipContent;export const Arrow=TooltipArrow; | ||
import*as e from"@radix-ui/react-visually-hidden";import{useRect as o}from"@radix-ui/react-use-rect";import{usePrevious as t}from"@radix-ui/react-use-previous";import{useControllableState as r}from"@radix-ui/react-use-controllable-state";import{Slottable as n}from"@radix-ui/react-slot";import{Primitive as i}from"@radix-ui/react-primitive";import{Presence as a}from"@radix-ui/react-presence";import{Portal as l}from"@radix-ui/react-portal";import*as s from"@radix-ui/react-popper";import{createPopperScope as c}from"@radix-ui/react-popper";import{useId as u}from"@radix-ui/react-id";import{DismissableLayer as p}from"@radix-ui/react-dismissable-layer";import{createContextScope as d}from"@radix-ui/react-context";import{useComposedRefs as m}from"@radix-ui/react-compose-refs";import{composeEventHandlers as f}from"@radix-ui/primitive";import*as T from"react";import w from"@babel/runtime/helpers/esm/extends";const[C,E]=d("Tooltip",[c]);export{E as createTooltipScope};const x=c(),g=700,[v,b]=C("TooltipProvider",{isOpenDelayed:!0,delayDuration:g,onOpen:()=>{},onClose:()=>{}});export const TooltipProvider=e=>{const{__scopeTooltip:o,delayDuration:t=g,skipDelayDuration:r=300,children:n}=e,[i,a]=T.useState(!0),l=T.useRef(0);return T.useEffect((()=>{const e=l.current;return()=>window.clearTimeout(e)}),[]),/*#__PURE__*/T.createElement(v,{scope:o,isOpenDelayed:i,delayDuration:t,onOpen:T.useCallback((()=>{window.clearTimeout(l.current),a(!1)}),[]),onClose:T.useCallback((()=>{window.clearTimeout(l.current),l.current=window.setTimeout((()=>a(!0)),r)}),[r])},n)};/*#__PURE__*/const[D,y]=C("Tooltip");export const Tooltip=e=>{const{__scopeTooltip:o,children:t,open:n,defaultOpen:i=!1,onOpenChange:a,delayDuration:l}=e,c=b("Tooltip",o),p=x(o),[d,m]=T.useState(null),f=u(),w=T.useRef(0),C=null!=l?l:c.delayDuration,E=T.useRef(!1),{onOpen:g,onClose:v}=c,[y=!1,_]=r({prop:n,defaultProp:i,onChange:e=>{e&&(document.dispatchEvent(new CustomEvent("tooltip.open")),g()),null==a||a(e)}}),O=T.useMemo((()=>y?E.current?"delayed-open":"instant-open":"closed"),[y]),h=T.useCallback((()=>{window.clearTimeout(w.current),E.current=!1,_(!0)}),[_]),k=T.useCallback((()=>{window.clearTimeout(w.current),w.current=window.setTimeout((()=>{E.current=!0,_(!0)}),C)}),[C,_]);return T.useEffect((()=>()=>window.clearTimeout(w.current)),[]),/*#__PURE__*/T.createElement(s.Root,p,/*#__PURE__*/T.createElement(D,{scope:o,contentId:f,open:y,stateAttribute:O,trigger:d,onTriggerChange:m,onTriggerEnter:T.useCallback((()=>{c.isOpenDelayed?k():h()}),[c.isOpenDelayed,k,h]),onOpen:T.useCallback(h,[h]),onClose:T.useCallback((()=>{window.clearTimeout(w.current),_(!1),v()}),[_,v])},t))};/*#__PURE__*/export const TooltipTrigger=/*#__PURE__*/T.forwardRef(((e,o)=>{const{__scopeTooltip:t,...r}=e,n=y("TooltipTrigger",t),a=x(t),l=m(o,n.onTriggerChange),c=T.useRef(!1),u=T.useCallback((()=>c.current=!1),[]);return T.useEffect((()=>()=>document.removeEventListener("mouseup",u)),[u]),/*#__PURE__*/T.createElement(s.Anchor,w({asChild:!0},a),/*#__PURE__*/T.createElement(i.button,w({"aria-describedby":n.open?n.contentId:void 0,"data-state":n.stateAttribute},r,{ref:l,onMouseEnter:f(e.onMouseEnter,n.onTriggerEnter),onMouseLeave:f(e.onMouseLeave,n.onClose),onMouseDown:f(e.onMouseDown,(()=>{c.current=!0,document.addEventListener("mouseup",u,{once:!0})})),onFocus:f(e.onFocus,(()=>{c.current||n.onOpen()})),onBlur:f(e.onBlur,n.onClose),onClick:f(e.onClick,(e=>{0===e.detail&&n.onClose()}))})))}));/*#__PURE__*/export const TooltipContent=/*#__PURE__*/T.forwardRef(((e,o)=>{const{forceMount:t,...r}=e,n=y("TooltipContent",e.__scopeTooltip);/*#__PURE__*/return T.createElement(a,{present:t||n.open},/*#__PURE__*/T.createElement(_,w({ref:o},r)))}));const _=/*#__PURE__*/T.forwardRef(((o,t)=>{const{__scopeTooltip:r,children:i,"aria-label":a,portalled:c=!0,onEscapeKeyDown:u,onPointerDownOutside:d,...m}=o,f=y("TooltipContent",r),C=x(r),E=c?l:T.Fragment,{onClose:g}=f;return T.useEffect((()=>(document.addEventListener("tooltip.open",g),()=>document.removeEventListener("tooltip.open",g))),[g]),/*#__PURE__*/T.createElement(E,null,/*#__PURE__*/T.createElement(O,{__scopeTooltip:r}),/*#__PURE__*/T.createElement(p,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:e=>e.preventDefault(),onDismiss:g},/*#__PURE__*/T.createElement(s.Content,w({"data-state":f.stateAttribute},C,m,{ref:t,style:{...m.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)"}}),/*#__PURE__*/T.createElement(n,null,i),/*#__PURE__*/T.createElement(e.Root,{id:f.contentId,role:"tooltip"},a||i))))}));/*#__PURE__*/export const TooltipArrow=/*#__PURE__*/T.forwardRef(((e,o)=>{const{__scopeTooltip:t,...r}=e,n=x(t);/*#__PURE__*/return T.createElement(s.Arrow,w({},n,r,{ref:o}))}));/*#__PURE__*/function O(e){const{__scopeTooltip:r}=e,n=y("CheckTriggerMoved",r),i=o(n.trigger),a=null==i?void 0:i.left,l=t(a),s=null==i?void 0:i.top,c=t(s),u=n.onClose;return T.useEffect((()=>{(void 0!==l&&l!==a||void 0!==c&&c!==s)&&u()}),[u,l,c,a,s]),null}export const Provider=TooltipProvider;export const Root=Tooltip;export const Trigger=TooltipTrigger;export const Content=TooltipContent;export const Arrow=TooltipArrow; | ||
//# sourceMappingURL=index.module.js.map |
{ | ||
"name": "@radix-ui/react-tooltip", | ||
"version": "0.1.7", | ||
"version": "0.1.8-rc.1", | ||
"license": "MIT", | ||
@@ -23,2 +23,3 @@ "source": "src/index.ts", | ||
"@radix-ui/react-context": "0.1.1", | ||
"@radix-ui/react-dismissable-layer": "0.1.5", | ||
"@radix-ui/react-id": "0.1.5", | ||
@@ -31,3 +32,2 @@ "@radix-ui/react-popper": "0.1.4", | ||
"@radix-ui/react-use-controllable-state": "0.1.0", | ||
"@radix-ui/react-use-escape-keydown": "0.1.0", | ||
"@radix-ui/react-use-previous": "0.1.1", | ||
@@ -48,3 +48,4 @@ "@radix-ui/react-use-rect": "0.1.1", | ||
"url": "https://github.com/radix-ui/primitives/issues" | ||
} | ||
}, | ||
"stableVersion": "0.1.7" | ||
} |
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
64666
122
+ Added@radix-ui/react-dismissable-layer@0.1.5(transitive)
+ Added@radix-ui/react-use-body-pointer-events@0.1.1(transitive)