@scbt-ecom/ui 0.118.0 → 0.119.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/widgets/model/helpers.js +2 -2
- package/dist/lib/widgets/model/helpers.js.map +1 -1
- package/dist/lib/widgets/table/Table.js +1 -1
- package/dist/lib/widgets/table/Table.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-checkbox/dist/index.js +1 -1
- package/dist/node_modules/@radix-ui/react-checkbox/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-popover/dist/index.js +1 -1
- package/dist/node_modules/@radix-ui/react-popover/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-radio-group/dist/index.js +1 -1
- package/dist/node_modules/@radix-ui/react-radio-group/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-switch/dist/index.js +1 -1
- package/dist/node_modules/@radix-ui/react-switch/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-tabs/dist/index.js +1 -1
- package/dist/node_modules/@radix-ui/react-tabs/dist/index.js.map +1 -1
- package/dist/node_modules/@radix-ui/react-tooltip/dist/index.js +1 -1
- package/dist/node_modules/@radix-ui/react-tooltip/dist/index.js.map +1 -1
- package/dist/stats.html +1 -1
- package/dist/types/lib/widgets/model/helpers.d.ts +2 -1
- package/dist/types/lib/widgets/table/Table.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as s from"react";import{composeEventHandlers as g}from"../../primitive/dist/index.js";import{useComposedRefs as H}from"../../react-compose-refs/dist/index.js";import{createContextScope as q}from"../../react-context/dist/index.js";import{DismissableLayer as X}from"../../react-dismissable-layer/dist/index.js";import{useId as K}from"../../react-id/dist/index.js";import{createPopperScope as
|
|
1
|
+
import*as s from"react";import{composeEventHandlers as g}from"../../primitive/dist/index.js";import{useComposedRefs as H}from"../../react-compose-refs/dist/index.js";import{createContextScope as q}from"../../react-context/dist/index.js";import{DismissableLayer as X}from"../../react-dismissable-layer/dist/index.js";import{useId as K}from"../../react-id/dist/index.js";import{createPopperScope as N,Root as W,Anchor as z,Arrow as J,Content as Q}from"../../react-popper/dist/index.js";import{Presence as Z}from"../../react-presence/dist/index.js";import{Primitive as $}from"../../react-primitive/dist/index.js";import{createSlottable as ee}from"../../react-slot/dist/index.js";import{useControllableState as te}from"../../react-use-controllable-state/dist/index.js";import{Root as oe}from"../../react-visually-hidden/dist/index.js";import{jsx as h,jsxs as re}from"react/jsx-runtime";var[_]=q("Tooltip",[N]),A=N(),S="TooltipProvider",ne=700,O="tooltip.open",[se,k]=_(S),G=t=>{const{__scopeTooltip:o,delayDuration:e=ne,skipDelayDuration:r=300,disableHoverableContent:n=!1,children:l}=t,a=s.useRef(!0),f=s.useRef(!1),i=s.useRef(0);return s.useEffect(()=>{const p=i.current;return()=>window.clearTimeout(p)},[]),h(se,{scope:o,isOpenDelayedRef:a,delayDuration:e,onOpen:s.useCallback(()=>{window.clearTimeout(i.current),a.current=!1},[]),onClose:s.useCallback(()=>{window.clearTimeout(i.current),i.current=window.setTimeout(()=>a.current=!0,r)},[r]),isPointerInTransitRef:f,onPointerInTransitChange:s.useCallback(p=>{f.current=p},[]),disableHoverableContent:n,children:l})};G.displayName=S;var P="Tooltip",[ie,D]=_(P),j=t=>{const{__scopeTooltip:o,children:e,open:r,defaultOpen:n,onOpenChange:l,disableHoverableContent:a,delayDuration:f}=t,i=k(P,t.__scopeTooltip),p=A(o),[c,d]=s.useState(null),v=K(),u=s.useRef(0),m=a??i.disableHoverableContent,y=f??i.delayDuration,T=s.useRef(!1),[x,C]=te({prop:r,defaultProp:n??!1,onChange:M=>{M?(i.onOpen(),document.dispatchEvent(new CustomEvent(O))):i.onClose(),l==null||l(M)},caller:P}),w=s.useMemo(()=>x?T.current?"delayed-open":"instant-open":"closed",[x]),E=s.useCallback(()=>{window.clearTimeout(u.current),u.current=0,T.current=!1,C(!0)},[C]),R=s.useCallback(()=>{window.clearTimeout(u.current),u.current=0,C(!1)},[C]),I=s.useCallback(()=>{window.clearTimeout(u.current),u.current=window.setTimeout(()=>{T.current=!0,C(!0),u.current=0},y)},[y,C]);return s.useEffect(()=>()=>{u.current&&(window.clearTimeout(u.current),u.current=0)},[]),h(W,{...p,children:h(ie,{scope:o,contentId:v,open:x,stateAttribute:w,trigger:c,onTriggerChange:d,onTriggerEnter:s.useCallback(()=>{i.isOpenDelayedRef.current?I():E()},[i.isOpenDelayedRef,I,E]),onTriggerLeave:s.useCallback(()=>{m?R():(window.clearTimeout(u.current),u.current=0)},[R,m]),onOpen:E,onClose:R,disableHoverableContent:m,children:e})})};j.displayName=P;var L="TooltipTrigger",F=s.forwardRef((t,o)=>{const{__scopeTooltip:e,...r}=t,n=D(L,e),l=k(L,e),a=A(e),f=s.useRef(null),i=H(o,f,n.onTriggerChange),p=s.useRef(!1),c=s.useRef(!1),d=s.useCallback(()=>p.current=!1,[]);return s.useEffect(()=>()=>document.removeEventListener("pointerup",d),[d]),h(z,{asChild:!0,...a,children:h($.button,{"aria-describedby":n.open?n.contentId:void 0,"data-state":n.stateAttribute,...r,ref:i,onPointerMove:g(t.onPointerMove,v=>{v.pointerType!=="touch"&&!c.current&&!l.isPointerInTransitRef.current&&(n.onTriggerEnter(),c.current=!0)}),onPointerLeave:g(t.onPointerLeave,()=>{n.onTriggerLeave(),c.current=!1}),onPointerDown:g(t.onPointerDown,()=>{n.open&&n.onClose(),p.current=!0,document.addEventListener("pointerup",d,{once:!0})}),onFocus:g(t.onFocus,()=>{p.current||n.onOpen()}),onBlur:g(t.onBlur,n.onClose),onClick:g(t.onClick,n.onClose)})})});F.displayName=L;var ae="TooltipPortal",[Le,le]=_(ae,{forceMount:void 0}),b="TooltipContent",B=s.forwardRef((t,o)=>{const e=le(b,t.__scopeTooltip),{forceMount:r=e.forceMount,side:n="top",...l}=t,a=D(b,t.__scopeTooltip);return h(Z,{present:r||a.open,children:a.disableHoverableContent?h(U,{side:n,...l,ref:o}):h(ce,{side:n,...l,ref:o})})}),ce=s.forwardRef((t,o)=>{const e=D(b,t.__scopeTooltip),r=k(b,t.__scopeTooltip),n=s.useRef(null),l=H(o,n),[a,f]=s.useState(null),{trigger:i,onClose:p}=e,c=n.current,{onPointerInTransitChange:d}=r,v=s.useCallback(()=>{f(null),d(!1)},[d]),u=s.useCallback((m,y)=>{const T=m.currentTarget,x={x:m.clientX,y:m.clientY},C=fe(x,T.getBoundingClientRect()),w=ve(x,C),E=he(y.getBoundingClientRect()),R=Te([...w,...E]);f(R),d(!0)},[d]);return s.useEffect(()=>()=>v(),[v]),s.useEffect(()=>{if(i&&c){const m=T=>u(T,c),y=T=>u(T,i);return i.addEventListener("pointerleave",m),c.addEventListener("pointerleave",y),()=>{i.removeEventListener("pointerleave",m),c.removeEventListener("pointerleave",y)}}},[i,c,u,v]),s.useEffect(()=>{if(a){const m=y=>{const T=y.target,x={x:y.clientX,y:y.clientY},C=(i==null?void 0:i.contains(T))||(c==null?void 0:c.contains(T)),w=!me(x,a);C?v():w&&(v(),p())};return document.addEventListener("pointermove",m),()=>document.removeEventListener("pointermove",m)}},[i,c,a,p,v]),h(U,{...t,ref:l})}),[ue,pe]=_(P,{isInside:!1}),de=ee("TooltipContent"),U=s.forwardRef((t,o)=>{const{__scopeTooltip:e,children:r,"aria-label":n,onEscapeKeyDown:l,onPointerDownOutside:a,...f}=t,i=D(b,e),p=A(e),{onClose:c}=i;return s.useEffect(()=>(document.addEventListener(O,c),()=>document.removeEventListener(O,c)),[c]),s.useEffect(()=>{if(i.trigger){const d=v=>{const u=v.target;u!=null&&u.contains(i.trigger)&&c()};return window.addEventListener("scroll",d,{capture:!0}),()=>window.removeEventListener("scroll",d,{capture:!0})}},[i.trigger,c]),h(X,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:l,onPointerDownOutside:a,onFocusOutside:d=>d.preventDefault(),onDismiss:c,children:re(Q,{"data-state":i.stateAttribute,...p,...f,ref:o,style:{...f.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[h(de,{children:r}),h(ue,{scope:e,isInside:!0,children:h(oe,{id:i.contentId,role:"tooltip",children:n||r})})]})})});B.displayName=b;var V="TooltipArrow",Y=s.forwardRef((t,o)=>{const{__scopeTooltip:e,...r}=t,n=A(e);return pe(V,e).isInside?null:h(J,{...n,...r,ref:o})});Y.displayName=V;function fe(t,o){const e=Math.abs(o.top-t.y),r=Math.abs(o.bottom-t.y),n=Math.abs(o.right-t.x),l=Math.abs(o.left-t.x);switch(Math.min(e,r,n,l)){case l:return"left";case n:return"right";case e:return"top";case r:return"bottom";default:throw new Error("unreachable")}}function ve(t,o,e=5){const r=[];switch(o){case"top":r.push({x:t.x-e,y:t.y+e},{x:t.x+e,y:t.y+e});break;case"bottom":r.push({x:t.x-e,y:t.y-e},{x:t.x+e,y:t.y-e});break;case"left":r.push({x:t.x+e,y:t.y-e},{x:t.x+e,y:t.y+e});break;case"right":r.push({x:t.x-e,y:t.y-e},{x:t.x-e,y:t.y+e});break}return r}function he(t){const{top:o,right:e,bottom:r,left:n}=t;return[{x:n,y:o},{x:e,y:o},{x:e,y:r},{x:n,y:r}]}function me(t,o){const{x:e,y:r}=t;let n=!1;for(let l=0,a=o.length-1;l<o.length;a=l++){const f=o[l],i=o[a],p=f.x,c=f.y,d=i.x,v=i.y;c>r!=v>r&&e<(d-p)*(r-c)/(v-c)+p&&(n=!n)}return n}function Te(t){const o=t.slice();return o.sort((e,r)=>e.x<r.x?-1:e.x>r.x?1:e.y<r.y?-1:e.y>r.y?1:0),ye(o)}function ye(t){if(t.length<=1)return t.slice();const o=[];for(let r=0;r<t.length;r++){const n=t[r];for(;o.length>=2;){const l=o[o.length-1],a=o[o.length-2];if((l.x-a.x)*(n.y-a.y)>=(l.y-a.y)*(n.x-a.x))o.pop();else break}o.push(n)}o.pop();const e=[];for(let r=t.length-1;r>=0;r--){const n=t[r];for(;e.length>=2;){const l=e[e.length-1],a=e[e.length-2];if((l.x-a.x)*(n.y-a.y)>=(l.y-a.y)*(n.x-a.x))e.pop();else break}e.push(n)}return e.pop(),o.length===1&&e.length===1&&o[0].x===e[0].x&&o[0].y===e[0].y?o:o.concat(e)}var ke=G,Ie=j,Me=F,He=B,Ne=Y;export{Ne as Arrow,He as Content,ke as Provider,Ie as Root,j as Tooltip,Y as TooltipArrow,B as TooltipContent,G as TooltipProvider,F as TooltipTrigger,Me as Trigger};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@radix-ui/react-tooltip/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// src/tooltip.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlottable } from \"@radix-ui/react-slot\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport * as VisuallyHiddenPrimitive from \"@radix-ui/react-visually-hidden\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar [createTooltipContext, createTooltipScope] = createContextScope(\"Tooltip\", [\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar PROVIDER_NAME = \"TooltipProvider\";\nvar DEFAULT_DELAY_DURATION = 700;\nvar TOOLTIP_OPEN = \"tooltip.open\";\nvar [TooltipProviderContextProvider, useTooltipProviderContext] = createTooltipContext(PROVIDER_NAME);\nvar TooltipProvider = (props) => {\n const {\n __scopeTooltip,\n delayDuration = DEFAULT_DELAY_DURATION,\n skipDelayDuration = 300,\n disableHoverableContent = false,\n children\n } = props;\n const isOpenDelayedRef = React.useRef(true);\n const isPointerInTransitRef = React.useRef(false);\n const skipDelayTimerRef = React.useRef(0);\n React.useEffect(() => {\n const skipDelayTimer = skipDelayTimerRef.current;\n return () => window.clearTimeout(skipDelayTimer);\n }, []);\n return /* @__PURE__ */ jsx(\n TooltipProviderContextProvider,\n {\n scope: __scopeTooltip,\n isOpenDelayedRef,\n delayDuration,\n onOpen: React.useCallback(() => {\n window.clearTimeout(skipDelayTimerRef.current);\n isOpenDelayedRef.current = false;\n }, []),\n onClose: React.useCallback(() => {\n window.clearTimeout(skipDelayTimerRef.current);\n skipDelayTimerRef.current = window.setTimeout(\n () => isOpenDelayedRef.current = true,\n skipDelayDuration\n );\n }, [skipDelayDuration]),\n isPointerInTransitRef,\n onPointerInTransitChange: React.useCallback((inTransit) => {\n isPointerInTransitRef.current = inTransit;\n }, []),\n disableHoverableContent,\n children\n }\n );\n};\nTooltipProvider.displayName = PROVIDER_NAME;\nvar TOOLTIP_NAME = \"Tooltip\";\nvar [TooltipContextProvider, useTooltipContext] = createTooltipContext(TOOLTIP_NAME);\nvar Tooltip = (props) => {\n const {\n __scopeTooltip,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n disableHoverableContent: disableHoverableContentProp,\n delayDuration: delayDurationProp\n } = props;\n const providerContext = useTooltipProviderContext(TOOLTIP_NAME, props.__scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const [trigger, setTrigger] = React.useState(null);\n const contentId = useId();\n const openTimerRef = React.useRef(0);\n const disableHoverableContent = disableHoverableContentProp ?? providerContext.disableHoverableContent;\n const delayDuration = delayDurationProp ?? providerContext.delayDuration;\n const wasOpenDelayedRef = React.useRef(false);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: (open2) => {\n if (open2) {\n providerContext.onOpen();\n document.dispatchEvent(new CustomEvent(TOOLTIP_OPEN));\n } else {\n providerContext.onClose();\n }\n onOpenChange?.(open2);\n },\n caller: TOOLTIP_NAME\n });\n const stateAttribute = React.useMemo(() => {\n return open ? wasOpenDelayedRef.current ? \"delayed-open\" : \"instant-open\" : \"closed\";\n }, [open]);\n const handleOpen = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n wasOpenDelayedRef.current = false;\n setOpen(true);\n }, [setOpen]);\n const handleClose = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n setOpen(false);\n }, [setOpen]);\n const handleDelayedOpen = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = window.setTimeout(() => {\n wasOpenDelayedRef.current = true;\n setOpen(true);\n openTimerRef.current = 0;\n }, delayDuration);\n }, [delayDuration, setOpen]);\n React.useEffect(() => {\n return () => {\n if (openTimerRef.current) {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n }\n };\n }, []);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n TooltipContextProvider,\n {\n scope: __scopeTooltip,\n contentId,\n open,\n stateAttribute,\n trigger,\n onTriggerChange: setTrigger,\n onTriggerEnter: React.useCallback(() => {\n if (providerContext.isOpenDelayedRef.current) handleDelayedOpen();\n else handleOpen();\n }, [providerContext.isOpenDelayedRef, handleDelayedOpen, handleOpen]),\n onTriggerLeave: React.useCallback(() => {\n if (disableHoverableContent) {\n handleClose();\n } else {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n }\n }, [handleClose, disableHoverableContent]),\n onOpen: handleOpen,\n onClose: handleClose,\n disableHoverableContent,\n children\n }\n ) });\n};\nTooltip.displayName = TOOLTIP_NAME;\nvar TRIGGER_NAME = \"TooltipTrigger\";\nvar TooltipTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTooltip, ...triggerProps } = props;\n const context = useTooltipContext(TRIGGER_NAME, __scopeTooltip);\n const providerContext = useTooltipProviderContext(TRIGGER_NAME, __scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onTriggerChange);\n const isPointerDownRef = React.useRef(false);\n const hasPointerMoveOpenedRef = React.useRef(false);\n const handlePointerUp = React.useCallback(() => isPointerDownRef.current = false, []);\n React.useEffect(() => {\n return () => document.removeEventListener(\"pointerup\", handlePointerUp);\n }, [handlePointerUp]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n \"aria-describedby\": context.open ? context.contentId : void 0,\n \"data-state\": context.stateAttribute,\n ...triggerProps,\n ref: composedRefs,\n onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {\n if (event.pointerType === \"touch\") return;\n if (!hasPointerMoveOpenedRef.current && !providerContext.isPointerInTransitRef.current) {\n context.onTriggerEnter();\n hasPointerMoveOpenedRef.current = true;\n }\n }),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, () => {\n context.onTriggerLeave();\n hasPointerMoveOpenedRef.current = false;\n }),\n onPointerDown: composeEventHandlers(props.onPointerDown, () => {\n if (context.open) {\n context.onClose();\n }\n isPointerDownRef.current = true;\n document.addEventListener(\"pointerup\", handlePointerUp, { once: true });\n }),\n onFocus: composeEventHandlers(props.onFocus, () => {\n if (!isPointerDownRef.current) context.onOpen();\n }),\n onBlur: composeEventHandlers(props.onBlur, context.onClose),\n onClick: composeEventHandlers(props.onClick, context.onClose)\n }\n ) });\n }\n);\nTooltipTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"TooltipPortal\";\nvar [PortalProvider, usePortalContext] = createTooltipContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar TooltipPortal = (props) => {\n const { __scopeTooltip, forceMount, children, container } = props;\n const context = useTooltipContext(PORTAL_NAME, __scopeTooltip);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeTooltip, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nTooltipPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"TooltipContent\";\nvar TooltipContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeTooltip);\n const { forceMount = portalContext.forceMount, side = \"top\", ...contentProps } = props;\n const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.disableHoverableContent ? /* @__PURE__ */ jsx(TooltipContentImpl, { side, ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(TooltipContentHoverable, { side, ...contentProps, ref: forwardedRef }) });\n }\n);\nvar TooltipContentHoverable = React.forwardRef((props, forwardedRef) => {\n const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n const providerContext = useTooltipProviderContext(CONTENT_NAME, props.__scopeTooltip);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [pointerGraceArea, setPointerGraceArea] = React.useState(null);\n const { trigger, onClose } = context;\n const content = ref.current;\n const { onPointerInTransitChange } = providerContext;\n const handleRemoveGraceArea = React.useCallback(() => {\n setPointerGraceArea(null);\n onPointerInTransitChange(false);\n }, [onPointerInTransitChange]);\n const handleCreateGraceArea = React.useCallback(\n (event, hoverTarget) => {\n const currentTarget = event.currentTarget;\n const exitPoint = { x: event.clientX, y: event.clientY };\n const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect());\n const paddedExitPoints = getPaddedExitPoints(exitPoint, exitSide);\n const hoverTargetPoints = getPointsFromRect(hoverTarget.getBoundingClientRect());\n const graceArea = getHull([...paddedExitPoints, ...hoverTargetPoints]);\n setPointerGraceArea(graceArea);\n onPointerInTransitChange(true);\n },\n [onPointerInTransitChange]\n );\n React.useEffect(() => {\n return () => handleRemoveGraceArea();\n }, [handleRemoveGraceArea]);\n React.useEffect(() => {\n if (trigger && content) {\n const handleTriggerLeave = (event) => handleCreateGraceArea(event, content);\n const handleContentLeave = (event) => handleCreateGraceArea(event, trigger);\n trigger.addEventListener(\"pointerleave\", handleTriggerLeave);\n content.addEventListener(\"pointerleave\", handleContentLeave);\n return () => {\n trigger.removeEventListener(\"pointerleave\", handleTriggerLeave);\n content.removeEventListener(\"pointerleave\", handleContentLeave);\n };\n }\n }, [trigger, content, handleCreateGraceArea, handleRemoveGraceArea]);\n React.useEffect(() => {\n if (pointerGraceArea) {\n const handleTrackPointerGrace = (event) => {\n const target = event.target;\n const pointerPosition = { x: event.clientX, y: event.clientY };\n const hasEnteredTarget = trigger?.contains(target) || content?.contains(target);\n const isPointerOutsideGraceArea = !isPointInPolygon(pointerPosition, pointerGraceArea);\n if (hasEnteredTarget) {\n handleRemoveGraceArea();\n } else if (isPointerOutsideGraceArea) {\n handleRemoveGraceArea();\n onClose();\n }\n };\n document.addEventListener(\"pointermove\", handleTrackPointerGrace);\n return () => document.removeEventListener(\"pointermove\", handleTrackPointerGrace);\n }\n }, [trigger, content, pointerGraceArea, onClose, handleRemoveGraceArea]);\n return /* @__PURE__ */ jsx(TooltipContentImpl, { ...props, ref: composedRefs });\n});\nvar [VisuallyHiddenContentContextProvider, useVisuallyHiddenContentContext] = createTooltipContext(TOOLTIP_NAME, { isInside: false });\nvar Slottable = createSlottable(\"TooltipContent\");\nvar TooltipContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeTooltip,\n children,\n \"aria-label\": ariaLabel,\n onEscapeKeyDown,\n onPointerDownOutside,\n ...contentProps\n } = props;\n const context = useTooltipContext(CONTENT_NAME, __scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const { onClose } = context;\n React.useEffect(() => {\n document.addEventListener(TOOLTIP_OPEN, onClose);\n return () => document.removeEventListener(TOOLTIP_OPEN, onClose);\n }, [onClose]);\n React.useEffect(() => {\n if (context.trigger) {\n const handleScroll = (event) => {\n const target = event.target;\n if (target?.contains(context.trigger)) onClose();\n };\n window.addEventListener(\"scroll\", handleScroll, { capture: true });\n return () => window.removeEventListener(\"scroll\", handleScroll, { capture: true });\n }\n }, [context.trigger, onClose]);\n return /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents: false,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside: (event) => event.preventDefault(),\n onDismiss: onClose,\n children: /* @__PURE__ */ jsxs(\n PopperPrimitive.Content,\n {\n \"data-state\": context.stateAttribute,\n ...popperScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-tooltip-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-tooltip-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-tooltip-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-tooltip-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-tooltip-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n },\n children: [\n /* @__PURE__ */ jsx(Slottable, { children }),\n /* @__PURE__ */ jsx(VisuallyHiddenContentContextProvider, { scope: __scopeTooltip, isInside: true, children: /* @__PURE__ */ jsx(VisuallyHiddenPrimitive.Root, { id: context.contentId, role: \"tooltip\", children: ariaLabel || children }) })\n ]\n }\n )\n }\n );\n }\n);\nTooltipContent.displayName = CONTENT_NAME;\nvar ARROW_NAME = \"TooltipArrow\";\nvar TooltipArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTooltip, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeTooltip);\n const visuallyHiddenContentContext = useVisuallyHiddenContentContext(\n ARROW_NAME,\n __scopeTooltip\n );\n return visuallyHiddenContentContext.isInside ? null : /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nTooltipArrow.displayName = ARROW_NAME;\nfunction getExitSideFromRect(point, rect) {\n const top = Math.abs(rect.top - point.y);\n const bottom = Math.abs(rect.bottom - point.y);\n const right = Math.abs(rect.right - point.x);\n const left = Math.abs(rect.left - point.x);\n switch (Math.min(top, bottom, right, left)) {\n case left:\n return \"left\";\n case right:\n return \"right\";\n case top:\n return \"top\";\n case bottom:\n return \"bottom\";\n default:\n throw new Error(\"unreachable\");\n }\n}\nfunction getPaddedExitPoints(exitPoint, exitSide, padding = 5) {\n const paddedExitPoints = [];\n switch (exitSide) {\n case \"top\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y + padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding }\n );\n break;\n case \"bottom\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y - padding }\n );\n break;\n case \"left\":\n paddedExitPoints.push(\n { x: exitPoint.x + padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding }\n );\n break;\n case \"right\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x - padding, y: exitPoint.y + padding }\n );\n break;\n }\n return paddedExitPoints;\n}\nfunction getPointsFromRect(rect) {\n const { top, right, bottom, left } = rect;\n return [\n { x: left, y: top },\n { x: right, y: top },\n { x: right, y: bottom },\n { x: left, y: bottom }\n ];\n}\nfunction isPointInPolygon(point, polygon) {\n const { x, y } = point;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const ii = polygon[i];\n const jj = polygon[j];\n const xi = ii.x;\n const yi = ii.y;\n const xj = jj.x;\n const yj = jj.y;\n const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) inside = !inside;\n }\n return inside;\n}\nfunction getHull(points) {\n const newPoints = points.slice();\n newPoints.sort((a, b) => {\n if (a.x < b.x) return -1;\n else if (a.x > b.x) return 1;\n else if (a.y < b.y) return -1;\n else if (a.y > b.y) return 1;\n else return 0;\n });\n return getHullPresorted(newPoints);\n}\nfunction getHullPresorted(points) {\n if (points.length <= 1) return points.slice();\n const upperHull = [];\n for (let i = 0; i < points.length; i++) {\n const p = points[i];\n while (upperHull.length >= 2) {\n const q = upperHull[upperHull.length - 1];\n const r = upperHull[upperHull.length - 2];\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) upperHull.pop();\n else break;\n }\n upperHull.push(p);\n }\n upperHull.pop();\n const lowerHull = [];\n for (let i = points.length - 1; i >= 0; i--) {\n const p = points[i];\n while (lowerHull.length >= 2) {\n const q = lowerHull[lowerHull.length - 1];\n const r = lowerHull[lowerHull.length - 2];\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) lowerHull.pop();\n else break;\n }\n lowerHull.push(p);\n }\n lowerHull.pop();\n if (upperHull.length === 1 && lowerHull.length === 1 && upperHull[0].x === lowerHull[0].x && upperHull[0].y === lowerHull[0].y) {\n return upperHull;\n } else {\n return upperHull.concat(lowerHull);\n }\n}\nvar Provider = TooltipProvider;\nvar Root3 = Tooltip;\nvar Trigger = TooltipTrigger;\nvar Portal = TooltipPortal;\nvar Content2 = TooltipContent;\nvar Arrow2 = TooltipArrow;\nexport {\n Arrow2 as Arrow,\n Content2 as Content,\n Portal,\n Provider,\n Root3 as Root,\n Tooltip,\n TooltipArrow,\n TooltipContent,\n TooltipPortal,\n TooltipProvider,\n TooltipTrigger,\n Trigger,\n createTooltipScope\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["createTooltipContext","createTooltipScope","createContextScope","createPopperScope","usePopperScope","PROVIDER_NAME","DEFAULT_DELAY_DURATION","TOOLTIP_OPEN","TooltipProviderContextProvider","useTooltipProviderContext","TooltipProvider","props","__scopeTooltip","delayDuration","skipDelayDuration","disableHoverableContent","children","isOpenDelayedRef","React","isPointerInTransitRef","skipDelayTimerRef","skipDelayTimer","jsx","inTransit","TOOLTIP_NAME","TooltipContextProvider","useTooltipContext","Tooltip","openProp","defaultOpen","onOpenChange","disableHoverableContentProp","delayDurationProp","providerContext","popperScope","trigger","setTrigger","contentId","useId","openTimerRef","wasOpenDelayedRef","open","setOpen","useControllableState","open2","stateAttribute","handleOpen","handleClose","handleDelayedOpen","PopperPrimitive.Root","TRIGGER_NAME","TooltipTrigger","forwardedRef","triggerProps","context","ref","composedRefs","useComposedRefs","isPointerDownRef","hasPointerMoveOpenedRef","handlePointerUp","PopperPrimitive.Anchor","Primitive","composeEventHandlers","event","PORTAL_NAME","PortalProvider","usePortalContext","CONTENT_NAME","TooltipContent","portalContext","forceMount","side","contentProps","Presence","TooltipContentImpl","TooltipContentHoverable","pointerGraceArea","setPointerGraceArea","onClose","content","onPointerInTransitChange","handleRemoveGraceArea","handleCreateGraceArea","hoverTarget","currentTarget","exitPoint","exitSide","getExitSideFromRect","paddedExitPoints","getPaddedExitPoints","hoverTargetPoints","getPointsFromRect","graceArea","getHull","handleTriggerLeave","handleContentLeave","handleTrackPointerGrace","target","pointerPosition","hasEnteredTarget","isPointerOutsideGraceArea","isPointInPolygon","VisuallyHiddenContentContextProvider","useVisuallyHiddenContentContext","Slottable","createSlottable","ariaLabel","onEscapeKeyDown","onPointerDownOutside","handleScroll","DismissableLayer","jsxs","PopperPrimitive.Content","VisuallyHiddenPrimitive.Root","ARROW_NAME","TooltipArrow","arrowProps","PopperPrimitive.Arrow","point","rect","top","bottom","right","left","padding","polygon","x","y","inside","i","j","ii","jj","xi","yi","xj","yj","points","newPoints","a","b","getHullPresorted","upperHull","p","q","r","lowerHull","Provider","Root3","Trigger","Content2","Arrow2"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../node_modules/@radix-ui/react-tooltip/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// src/tooltip.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlottable } from \"@radix-ui/react-slot\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport * as VisuallyHiddenPrimitive from \"@radix-ui/react-visually-hidden\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar [createTooltipContext, createTooltipScope] = createContextScope(\"Tooltip\", [\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar PROVIDER_NAME = \"TooltipProvider\";\nvar DEFAULT_DELAY_DURATION = 700;\nvar TOOLTIP_OPEN = \"tooltip.open\";\nvar [TooltipProviderContextProvider, useTooltipProviderContext] = createTooltipContext(PROVIDER_NAME);\nvar TooltipProvider = (props) => {\n const {\n __scopeTooltip,\n delayDuration = DEFAULT_DELAY_DURATION,\n skipDelayDuration = 300,\n disableHoverableContent = false,\n children\n } = props;\n const isOpenDelayedRef = React.useRef(true);\n const isPointerInTransitRef = React.useRef(false);\n const skipDelayTimerRef = React.useRef(0);\n React.useEffect(() => {\n const skipDelayTimer = skipDelayTimerRef.current;\n return () => window.clearTimeout(skipDelayTimer);\n }, []);\n return /* @__PURE__ */ jsx(\n TooltipProviderContextProvider,\n {\n scope: __scopeTooltip,\n isOpenDelayedRef,\n delayDuration,\n onOpen: React.useCallback(() => {\n window.clearTimeout(skipDelayTimerRef.current);\n isOpenDelayedRef.current = false;\n }, []),\n onClose: React.useCallback(() => {\n window.clearTimeout(skipDelayTimerRef.current);\n skipDelayTimerRef.current = window.setTimeout(\n () => isOpenDelayedRef.current = true,\n skipDelayDuration\n );\n }, [skipDelayDuration]),\n isPointerInTransitRef,\n onPointerInTransitChange: React.useCallback((inTransit) => {\n isPointerInTransitRef.current = inTransit;\n }, []),\n disableHoverableContent,\n children\n }\n );\n};\nTooltipProvider.displayName = PROVIDER_NAME;\nvar TOOLTIP_NAME = \"Tooltip\";\nvar [TooltipContextProvider, useTooltipContext] = createTooltipContext(TOOLTIP_NAME);\nvar Tooltip = (props) => {\n const {\n __scopeTooltip,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n disableHoverableContent: disableHoverableContentProp,\n delayDuration: delayDurationProp\n } = props;\n const providerContext = useTooltipProviderContext(TOOLTIP_NAME, props.__scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const [trigger, setTrigger] = React.useState(null);\n const contentId = useId();\n const openTimerRef = React.useRef(0);\n const disableHoverableContent = disableHoverableContentProp ?? providerContext.disableHoverableContent;\n const delayDuration = delayDurationProp ?? providerContext.delayDuration;\n const wasOpenDelayedRef = React.useRef(false);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: (open2) => {\n if (open2) {\n providerContext.onOpen();\n document.dispatchEvent(new CustomEvent(TOOLTIP_OPEN));\n } else {\n providerContext.onClose();\n }\n onOpenChange?.(open2);\n },\n caller: TOOLTIP_NAME\n });\n const stateAttribute = React.useMemo(() => {\n return open ? wasOpenDelayedRef.current ? \"delayed-open\" : \"instant-open\" : \"closed\";\n }, [open]);\n const handleOpen = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n wasOpenDelayedRef.current = false;\n setOpen(true);\n }, [setOpen]);\n const handleClose = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n setOpen(false);\n }, [setOpen]);\n const handleDelayedOpen = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = window.setTimeout(() => {\n wasOpenDelayedRef.current = true;\n setOpen(true);\n openTimerRef.current = 0;\n }, delayDuration);\n }, [delayDuration, setOpen]);\n React.useEffect(() => {\n return () => {\n if (openTimerRef.current) {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n }\n };\n }, []);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n TooltipContextProvider,\n {\n scope: __scopeTooltip,\n contentId,\n open,\n stateAttribute,\n trigger,\n onTriggerChange: setTrigger,\n onTriggerEnter: React.useCallback(() => {\n if (providerContext.isOpenDelayedRef.current) handleDelayedOpen();\n else handleOpen();\n }, [providerContext.isOpenDelayedRef, handleDelayedOpen, handleOpen]),\n onTriggerLeave: React.useCallback(() => {\n if (disableHoverableContent) {\n handleClose();\n } else {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n }\n }, [handleClose, disableHoverableContent]),\n onOpen: handleOpen,\n onClose: handleClose,\n disableHoverableContent,\n children\n }\n ) });\n};\nTooltip.displayName = TOOLTIP_NAME;\nvar TRIGGER_NAME = \"TooltipTrigger\";\nvar TooltipTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTooltip, ...triggerProps } = props;\n const context = useTooltipContext(TRIGGER_NAME, __scopeTooltip);\n const providerContext = useTooltipProviderContext(TRIGGER_NAME, __scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onTriggerChange);\n const isPointerDownRef = React.useRef(false);\n const hasPointerMoveOpenedRef = React.useRef(false);\n const handlePointerUp = React.useCallback(() => isPointerDownRef.current = false, []);\n React.useEffect(() => {\n return () => document.removeEventListener(\"pointerup\", handlePointerUp);\n }, [handlePointerUp]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n \"aria-describedby\": context.open ? context.contentId : void 0,\n \"data-state\": context.stateAttribute,\n ...triggerProps,\n ref: composedRefs,\n onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {\n if (event.pointerType === \"touch\") return;\n if (!hasPointerMoveOpenedRef.current && !providerContext.isPointerInTransitRef.current) {\n context.onTriggerEnter();\n hasPointerMoveOpenedRef.current = true;\n }\n }),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, () => {\n context.onTriggerLeave();\n hasPointerMoveOpenedRef.current = false;\n }),\n onPointerDown: composeEventHandlers(props.onPointerDown, () => {\n if (context.open) {\n context.onClose();\n }\n isPointerDownRef.current = true;\n document.addEventListener(\"pointerup\", handlePointerUp, { once: true });\n }),\n onFocus: composeEventHandlers(props.onFocus, () => {\n if (!isPointerDownRef.current) context.onOpen();\n }),\n onBlur: composeEventHandlers(props.onBlur, context.onClose),\n onClick: composeEventHandlers(props.onClick, context.onClose)\n }\n ) });\n }\n);\nTooltipTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"TooltipPortal\";\nvar [PortalProvider, usePortalContext] = createTooltipContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar TooltipPortal = (props) => {\n const { __scopeTooltip, forceMount, children, container } = props;\n const context = useTooltipContext(PORTAL_NAME, __scopeTooltip);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeTooltip, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nTooltipPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"TooltipContent\";\nvar TooltipContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeTooltip);\n const { forceMount = portalContext.forceMount, side = \"top\", ...contentProps } = props;\n const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.disableHoverableContent ? /* @__PURE__ */ jsx(TooltipContentImpl, { side, ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(TooltipContentHoverable, { side, ...contentProps, ref: forwardedRef }) });\n }\n);\nvar TooltipContentHoverable = React.forwardRef((props, forwardedRef) => {\n const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n const providerContext = useTooltipProviderContext(CONTENT_NAME, props.__scopeTooltip);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [pointerGraceArea, setPointerGraceArea] = React.useState(null);\n const { trigger, onClose } = context;\n const content = ref.current;\n const { onPointerInTransitChange } = providerContext;\n const handleRemoveGraceArea = React.useCallback(() => {\n setPointerGraceArea(null);\n onPointerInTransitChange(false);\n }, [onPointerInTransitChange]);\n const handleCreateGraceArea = React.useCallback(\n (event, hoverTarget) => {\n const currentTarget = event.currentTarget;\n const exitPoint = { x: event.clientX, y: event.clientY };\n const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect());\n const paddedExitPoints = getPaddedExitPoints(exitPoint, exitSide);\n const hoverTargetPoints = getPointsFromRect(hoverTarget.getBoundingClientRect());\n const graceArea = getHull([...paddedExitPoints, ...hoverTargetPoints]);\n setPointerGraceArea(graceArea);\n onPointerInTransitChange(true);\n },\n [onPointerInTransitChange]\n );\n React.useEffect(() => {\n return () => handleRemoveGraceArea();\n }, [handleRemoveGraceArea]);\n React.useEffect(() => {\n if (trigger && content) {\n const handleTriggerLeave = (event) => handleCreateGraceArea(event, content);\n const handleContentLeave = (event) => handleCreateGraceArea(event, trigger);\n trigger.addEventListener(\"pointerleave\", handleTriggerLeave);\n content.addEventListener(\"pointerleave\", handleContentLeave);\n return () => {\n trigger.removeEventListener(\"pointerleave\", handleTriggerLeave);\n content.removeEventListener(\"pointerleave\", handleContentLeave);\n };\n }\n }, [trigger, content, handleCreateGraceArea, handleRemoveGraceArea]);\n React.useEffect(() => {\n if (pointerGraceArea) {\n const handleTrackPointerGrace = (event) => {\n const target = event.target;\n const pointerPosition = { x: event.clientX, y: event.clientY };\n const hasEnteredTarget = trigger?.contains(target) || content?.contains(target);\n const isPointerOutsideGraceArea = !isPointInPolygon(pointerPosition, pointerGraceArea);\n if (hasEnteredTarget) {\n handleRemoveGraceArea();\n } else if (isPointerOutsideGraceArea) {\n handleRemoveGraceArea();\n onClose();\n }\n };\n document.addEventListener(\"pointermove\", handleTrackPointerGrace);\n return () => document.removeEventListener(\"pointermove\", handleTrackPointerGrace);\n }\n }, [trigger, content, pointerGraceArea, onClose, handleRemoveGraceArea]);\n return /* @__PURE__ */ jsx(TooltipContentImpl, { ...props, ref: composedRefs });\n});\nvar [VisuallyHiddenContentContextProvider, useVisuallyHiddenContentContext] = createTooltipContext(TOOLTIP_NAME, { isInside: false });\nvar Slottable = createSlottable(\"TooltipContent\");\nvar TooltipContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeTooltip,\n children,\n \"aria-label\": ariaLabel,\n onEscapeKeyDown,\n onPointerDownOutside,\n ...contentProps\n } = props;\n const context = useTooltipContext(CONTENT_NAME, __scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const { onClose } = context;\n React.useEffect(() => {\n document.addEventListener(TOOLTIP_OPEN, onClose);\n return () => document.removeEventListener(TOOLTIP_OPEN, onClose);\n }, [onClose]);\n React.useEffect(() => {\n if (context.trigger) {\n const handleScroll = (event) => {\n const target = event.target;\n if (target?.contains(context.trigger)) onClose();\n };\n window.addEventListener(\"scroll\", handleScroll, { capture: true });\n return () => window.removeEventListener(\"scroll\", handleScroll, { capture: true });\n }\n }, [context.trigger, onClose]);\n return /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents: false,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside: (event) => event.preventDefault(),\n onDismiss: onClose,\n children: /* @__PURE__ */ jsxs(\n PopperPrimitive.Content,\n {\n \"data-state\": context.stateAttribute,\n ...popperScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-tooltip-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-tooltip-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-tooltip-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-tooltip-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-tooltip-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n },\n children: [\n /* @__PURE__ */ jsx(Slottable, { children }),\n /* @__PURE__ */ jsx(VisuallyHiddenContentContextProvider, { scope: __scopeTooltip, isInside: true, children: /* @__PURE__ */ jsx(VisuallyHiddenPrimitive.Root, { id: context.contentId, role: \"tooltip\", children: ariaLabel || children }) })\n ]\n }\n )\n }\n );\n }\n);\nTooltipContent.displayName = CONTENT_NAME;\nvar ARROW_NAME = \"TooltipArrow\";\nvar TooltipArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTooltip, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeTooltip);\n const visuallyHiddenContentContext = useVisuallyHiddenContentContext(\n ARROW_NAME,\n __scopeTooltip\n );\n return visuallyHiddenContentContext.isInside ? null : /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nTooltipArrow.displayName = ARROW_NAME;\nfunction getExitSideFromRect(point, rect) {\n const top = Math.abs(rect.top - point.y);\n const bottom = Math.abs(rect.bottom - point.y);\n const right = Math.abs(rect.right - point.x);\n const left = Math.abs(rect.left - point.x);\n switch (Math.min(top, bottom, right, left)) {\n case left:\n return \"left\";\n case right:\n return \"right\";\n case top:\n return \"top\";\n case bottom:\n return \"bottom\";\n default:\n throw new Error(\"unreachable\");\n }\n}\nfunction getPaddedExitPoints(exitPoint, exitSide, padding = 5) {\n const paddedExitPoints = [];\n switch (exitSide) {\n case \"top\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y + padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding }\n );\n break;\n case \"bottom\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y - padding }\n );\n break;\n case \"left\":\n paddedExitPoints.push(\n { x: exitPoint.x + padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding }\n );\n break;\n case \"right\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x - padding, y: exitPoint.y + padding }\n );\n break;\n }\n return paddedExitPoints;\n}\nfunction getPointsFromRect(rect) {\n const { top, right, bottom, left } = rect;\n return [\n { x: left, y: top },\n { x: right, y: top },\n { x: right, y: bottom },\n { x: left, y: bottom }\n ];\n}\nfunction isPointInPolygon(point, polygon) {\n const { x, y } = point;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const ii = polygon[i];\n const jj = polygon[j];\n const xi = ii.x;\n const yi = ii.y;\n const xj = jj.x;\n const yj = jj.y;\n const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) inside = !inside;\n }\n return inside;\n}\nfunction getHull(points) {\n const newPoints = points.slice();\n newPoints.sort((a, b) => {\n if (a.x < b.x) return -1;\n else if (a.x > b.x) return 1;\n else if (a.y < b.y) return -1;\n else if (a.y > b.y) return 1;\n else return 0;\n });\n return getHullPresorted(newPoints);\n}\nfunction getHullPresorted(points) {\n if (points.length <= 1) return points.slice();\n const upperHull = [];\n for (let i = 0; i < points.length; i++) {\n const p = points[i];\n while (upperHull.length >= 2) {\n const q = upperHull[upperHull.length - 1];\n const r = upperHull[upperHull.length - 2];\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) upperHull.pop();\n else break;\n }\n upperHull.push(p);\n }\n upperHull.pop();\n const lowerHull = [];\n for (let i = points.length - 1; i >= 0; i--) {\n const p = points[i];\n while (lowerHull.length >= 2) {\n const q = lowerHull[lowerHull.length - 1];\n const r = lowerHull[lowerHull.length - 2];\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) lowerHull.pop();\n else break;\n }\n lowerHull.push(p);\n }\n lowerHull.pop();\n if (upperHull.length === 1 && lowerHull.length === 1 && upperHull[0].x === lowerHull[0].x && upperHull[0].y === lowerHull[0].y) {\n return upperHull;\n } else {\n return upperHull.concat(lowerHull);\n }\n}\nvar Provider = TooltipProvider;\nvar Root3 = Tooltip;\nvar Trigger = TooltipTrigger;\nvar Portal = TooltipPortal;\nvar Content2 = TooltipContent;\nvar Arrow2 = TooltipArrow;\nexport {\n Arrow2 as Arrow,\n Content2 as Content,\n Portal,\n Provider,\n Root3 as Root,\n Tooltip,\n TooltipArrow,\n TooltipContent,\n TooltipPortal,\n TooltipProvider,\n TooltipTrigger,\n Trigger,\n createTooltipScope\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["createTooltipContext","createContextScope","createPopperScope","usePopperScope","PROVIDER_NAME","DEFAULT_DELAY_DURATION","TOOLTIP_OPEN","TooltipProviderContextProvider","useTooltipProviderContext","TooltipProvider","props","__scopeTooltip","delayDuration","skipDelayDuration","disableHoverableContent","children","isOpenDelayedRef","React","isPointerInTransitRef","skipDelayTimerRef","skipDelayTimer","jsx","inTransit","TOOLTIP_NAME","TooltipContextProvider","useTooltipContext","Tooltip","openProp","defaultOpen","onOpenChange","disableHoverableContentProp","delayDurationProp","providerContext","popperScope","trigger","setTrigger","contentId","useId","openTimerRef","wasOpenDelayedRef","open","setOpen","useControllableState","open2","stateAttribute","handleOpen","handleClose","handleDelayedOpen","PopperPrimitive.Root","TRIGGER_NAME","TooltipTrigger","forwardedRef","triggerProps","context","ref","composedRefs","useComposedRefs","isPointerDownRef","hasPointerMoveOpenedRef","handlePointerUp","PopperPrimitive.Anchor","Primitive","composeEventHandlers","event","PORTAL_NAME","PortalProvider","usePortalContext","CONTENT_NAME","TooltipContent","portalContext","forceMount","side","contentProps","Presence","TooltipContentImpl","TooltipContentHoverable","pointerGraceArea","setPointerGraceArea","onClose","content","onPointerInTransitChange","handleRemoveGraceArea","handleCreateGraceArea","hoverTarget","currentTarget","exitPoint","exitSide","getExitSideFromRect","paddedExitPoints","getPaddedExitPoints","hoverTargetPoints","getPointsFromRect","graceArea","getHull","handleTriggerLeave","handleContentLeave","handleTrackPointerGrace","target","pointerPosition","hasEnteredTarget","isPointerOutsideGraceArea","isPointInPolygon","VisuallyHiddenContentContextProvider","useVisuallyHiddenContentContext","Slottable","createSlottable","ariaLabel","onEscapeKeyDown","onPointerDownOutside","handleScroll","DismissableLayer","jsxs","PopperPrimitive.Content","VisuallyHiddenPrimitive.Root","ARROW_NAME","TooltipArrow","arrowProps","PopperPrimitive.Arrow","point","rect","top","bottom","right","left","padding","polygon","x","y","inside","i","j","ii","jj","xi","yi","xj","yj","points","newPoints","a","b","getHullPresorted","upperHull","p","q","r","lowerHull","Provider","Root3","Trigger","Content2","Arrow2"],"mappings":"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","x_google_ignoreList":[0]}
|