{"ast":null,"code":"import $8wepK$babelruntimehelpersesmextends from \"@babel/runtime/helpers/esm/extends\";\nimport { useState as $8wepK$useState, useRef as $8wepK$useRef, useEffect as $8wepK$useEffect, createElement as $8wepK$createElement, useCallback as $8wepK$useCallback, useMemo as $8wepK$useMemo, forwardRef as $8wepK$forwardRef } from \"react\";\nimport { composeEventHandlers as $8wepK$composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs as $8wepK$useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope as $8wepK$createContextScope } from \"@radix-ui/react-context\";\nimport { DismissableLayer as $8wepK$DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useId as $8wepK$useId } from \"@radix-ui/react-id\";\nimport { createPopperScope as $8wepK$createPopperScope, Root as $8wepK$Root, Anchor as $8wepK$Anchor, Content as $8wepK$Content, Arrow as $8wepK$Arrow } from \"@radix-ui/react-popper\";\nimport { Portal as $8wepK$Portal } from \"@radix-ui/react-portal\";\nimport { Presence as $8wepK$Presence } from \"@radix-ui/react-presence\";\nimport { Primitive as $8wepK$Primitive } from \"@radix-ui/react-primitive\";\nimport { Slottable as $8wepK$Slottable } from \"@radix-ui/react-slot\";\nimport { useControllableState as $8wepK$useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { Root as $8wepK$Root1 } from \"@radix-ui/react-visually-hidden\";\nconst [$a093c7e1ec25a057$var$createTooltipContext, $a093c7e1ec25a057$export$1c540a2224f0d865] = $8wepK$createContextScope('Tooltip', [$8wepK$createPopperScope]);\nconst $a093c7e1ec25a057$var$usePopperScope = $8wepK$createPopperScope();\n/* -------------------------------------------------------------------------------------------------\n * TooltipProvider\n * -----------------------------------------------------------------------------------------------*/\nconst $a093c7e1ec25a057$var$PROVIDER_NAME = 'TooltipProvider';\nconst $a093c7e1ec25a057$var$DEFAULT_DELAY_DURATION = 700;\nconst $a093c7e1ec25a057$var$TOOLTIP_OPEN = 'tooltip.open';\nconst [$a093c7e1ec25a057$var$TooltipProviderContextProvider, $a093c7e1ec25a057$var$useTooltipProviderContext] = $a093c7e1ec25a057$var$createTooltipContext($a093c7e1ec25a057$var$PROVIDER_NAME);\nconst $a093c7e1ec25a057$export$f78649fb9ca566b8 = props => {\n  const {\n    __scopeTooltip: __scopeTooltip,\n    delayDuration = $a093c7e1ec25a057$var$DEFAULT_DELAY_DURATION,\n    skipDelayDuration = 300,\n    disableHoverableContent = false,\n    children: children\n  } = props;\n  const [isOpenDelayed, setIsOpenDelayed] = $8wepK$useState(true);\n  const isPointerInTransitRef = $8wepK$useRef(false);\n  const skipDelayTimerRef = $8wepK$useRef(0);\n  $8wepK$useEffect(() => {\n    const skipDelayTimer = skipDelayTimerRef.current;\n    return () => window.clearTimeout(skipDelayTimer);\n  }, []);\n  return /*#__PURE__*/$8wepK$createElement($a093c7e1ec25a057$var$TooltipProviderContextProvider, {\n    scope: __scopeTooltip,\n    isOpenDelayed: isOpenDelayed,\n    delayDuration: delayDuration,\n    onOpen: $8wepK$useCallback(() => {\n      window.clearTimeout(skipDelayTimerRef.current);\n      setIsOpenDelayed(false);\n    }, []),\n    onClose: $8wepK$useCallback(() => {\n      window.clearTimeout(skipDelayTimerRef.current);\n      skipDelayTimerRef.current = window.setTimeout(() => setIsOpenDelayed(true), skipDelayDuration);\n    }, [skipDelayDuration]),\n    isPointerInTransitRef: isPointerInTransitRef,\n    onPointerInTransitChange: $8wepK$useCallback(inTransit => {\n      isPointerInTransitRef.current = inTransit;\n    }, []),\n    disableHoverableContent: disableHoverableContent\n  }, children);\n};\n/*#__PURE__*/\nObject.assign($a093c7e1ec25a057$export$f78649fb9ca566b8, {\n  displayName: $a093c7e1ec25a057$var$PROVIDER_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * Tooltip\n * -----------------------------------------------------------------------------------------------*/\nconst $a093c7e1ec25a057$var$TOOLTIP_NAME = 'Tooltip';\nconst [$a093c7e1ec25a057$var$TooltipContextProvider, $a093c7e1ec25a057$var$useTooltipContext] = $a093c7e1ec25a057$var$createTooltipContext($a093c7e1ec25a057$var$TOOLTIP_NAME);\nconst $a093c7e1ec25a057$export$28c660c63b792dea = props => {\n  const {\n    __scopeTooltip: __scopeTooltip,\n    children: children,\n    open: openProp,\n    defaultOpen = false,\n    onOpenChange: onOpenChange,\n    disableHoverableContent: disableHoverableContentProp,\n    delayDuration: delayDurationProp\n  } = props;\n  const providerContext = $a093c7e1ec25a057$var$useTooltipProviderContext($a093c7e1ec25a057$var$TOOLTIP_NAME, props.__scopeTooltip);\n  const popperScope = $a093c7e1ec25a057$var$usePopperScope(__scopeTooltip);\n  const [trigger, setTrigger] = $8wepK$useState(null);\n  const contentId = $8wepK$useId();\n  const openTimerRef = $8wepK$useRef(0);\n  const disableHoverableContent = disableHoverableContentProp !== null && disableHoverableContentProp !== void 0 ? disableHoverableContentProp : providerContext.disableHoverableContent;\n  const delayDuration = delayDurationProp !== null && delayDurationProp !== void 0 ? delayDurationProp : providerContext.delayDuration;\n  const wasOpenDelayedRef = $8wepK$useRef(false);\n  const [open1 = false, setOpen] = $8wepK$useControllableState({\n    prop: openProp,\n    defaultProp: defaultOpen,\n    onChange: open => {\n      if (open) {\n        providerContext.onOpen(); // as `onChange` is called within a lifecycle method we\n        // avoid dispatching via `dispatchDiscreteCustomEvent`.\n        document.dispatchEvent(new CustomEvent($a093c7e1ec25a057$var$TOOLTIP_OPEN));\n      } else providerContext.onClose();\n      onOpenChange === null || onOpenChange === void 0 || onOpenChange(open);\n    }\n  });\n  const stateAttribute = $8wepK$useMemo(() => {\n    return open1 ? wasOpenDelayedRef.current ? 'delayed-open' : 'instant-open' : 'closed';\n  }, [open1]);\n  const handleOpen = $8wepK$useCallback(() => {\n    window.clearTimeout(openTimerRef.current);\n    wasOpenDelayedRef.current = false;\n    setOpen(true);\n  }, [setOpen]);\n  const handleClose = $8wepK$useCallback(() => {\n    window.clearTimeout(openTimerRef.current);\n    setOpen(false);\n  }, [setOpen]);\n  const handleDelayedOpen = $8wepK$useCallback(() => {\n    window.clearTimeout(openTimerRef.current);\n    openTimerRef.current = window.setTimeout(() => {\n      wasOpenDelayedRef.current = true;\n      setOpen(true);\n    }, delayDuration);\n  }, [delayDuration, setOpen]);\n  $8wepK$useEffect(() => {\n    return () => window.clearTimeout(openTimerRef.current);\n  }, []);\n  return /*#__PURE__*/$8wepK$createElement($8wepK$Root, popperScope, /*#__PURE__*/$8wepK$createElement($a093c7e1ec25a057$var$TooltipContextProvider, {\n    scope: __scopeTooltip,\n    contentId: contentId,\n    open: open1,\n    stateAttribute: stateAttribute,\n    trigger: trigger,\n    onTriggerChange: setTrigger,\n    onTriggerEnter: $8wepK$useCallback(() => {\n      if (providerContext.isOpenDelayed) handleDelayedOpen();else handleOpen();\n    }, [providerContext.isOpenDelayed, handleDelayedOpen, handleOpen]),\n    onTriggerLeave: $8wepK$useCallback(() => {\n      if (disableHoverableContent) handleClose();else\n        // Clear the timer in case the pointer leaves the trigger before the tooltip is opened.\n        window.clearTimeout(openTimerRef.current);\n    }, [handleClose, disableHoverableContent]),\n    onOpen: handleOpen,\n    onClose: handleClose,\n    disableHoverableContent: disableHoverableContent\n  }, children));\n};\n/*#__PURE__*/\nObject.assign($a093c7e1ec25a057$export$28c660c63b792dea, {\n  displayName: $a093c7e1ec25a057$var$TOOLTIP_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * TooltipTrigger\n * -----------------------------------------------------------------------------------------------*/\nconst $a093c7e1ec25a057$var$TRIGGER_NAME = 'TooltipTrigger';\nconst $a093c7e1ec25a057$export$8c610744efcf8a1d = /*#__PURE__*/$8wepK$forwardRef((props, forwardedRef) => {\n  const {\n    __scopeTooltip: __scopeTooltip,\n    ...triggerProps\n  } = props;\n  const context = $a093c7e1ec25a057$var$useTooltipContext($a093c7e1ec25a057$var$TRIGGER_NAME, __scopeTooltip);\n  const providerContext = $a093c7e1ec25a057$var$useTooltipProviderContext($a093c7e1ec25a057$var$TRIGGER_NAME, __scopeTooltip);\n  const popperScope = $a093c7e1ec25a057$var$usePopperScope(__scopeTooltip);\n  const ref = $8wepK$useRef(null);\n  const composedRefs = $8wepK$useComposedRefs(forwardedRef, ref, context.onTriggerChange);\n  const isPointerDownRef = $8wepK$useRef(false);\n  const hasPointerMoveOpenedRef = $8wepK$useRef(false);\n  const handlePointerUp = $8wepK$useCallback(() => isPointerDownRef.current = false, []);\n  $8wepK$useEffect(() => {\n    return () => document.removeEventListener('pointerup', handlePointerUp);\n  }, [handlePointerUp]);\n  return /*#__PURE__*/$8wepK$createElement($8wepK$Anchor, $8wepK$babelruntimehelpersesmextends({\n    asChild: true\n  }, popperScope), /*#__PURE__*/$8wepK$createElement($8wepK$Primitive.button, $8wepK$babelruntimehelpersesmextends({\n    // We purposefully avoid adding `type=button` here because tooltip triggers are also\n    // commonly anchors and the anchor `type` attribute signifies MIME type.\n    \"aria-describedby\": context.open ? context.contentId : undefined,\n    \"data-state\": context.stateAttribute\n  }, triggerProps, {\n    ref: composedRefs,\n    onPointerMove: $8wepK$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: $8wepK$composeEventHandlers(props.onPointerLeave, () => {\n      context.onTriggerLeave();\n      hasPointerMoveOpenedRef.current = false;\n    }),\n    onPointerDown: $8wepK$composeEventHandlers(props.onPointerDown, () => {\n      isPointerDownRef.current = true;\n      document.addEventListener('pointerup', handlePointerUp, {\n        once: true\n      });\n    }),\n    onFocus: $8wepK$composeEventHandlers(props.onFocus, () => {\n      if (!isPointerDownRef.current) context.onOpen();\n    }),\n    onBlur: $8wepK$composeEventHandlers(props.onBlur, context.onClose),\n    onClick: $8wepK$composeEventHandlers(props.onClick, context.onClose)\n  })));\n});\n/*#__PURE__*/\nObject.assign($a093c7e1ec25a057$export$8c610744efcf8a1d, {\n  displayName: $a093c7e1ec25a057$var$TRIGGER_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * TooltipPortal\n * -----------------------------------------------------------------------------------------------*/\nconst $a093c7e1ec25a057$var$PORTAL_NAME = 'TooltipPortal';\nconst [$a093c7e1ec25a057$var$PortalProvider, $a093c7e1ec25a057$var$usePortalContext] = $a093c7e1ec25a057$var$createTooltipContext($a093c7e1ec25a057$var$PORTAL_NAME, {\n  forceMount: undefined\n});\nconst $a093c7e1ec25a057$export$7b36b8f925ab7497 = props => {\n  const {\n    __scopeTooltip: __scopeTooltip,\n    forceMount: forceMount,\n    children: children,\n    container: container\n  } = props;\n  const context = $a093c7e1ec25a057$var$useTooltipContext($a093c7e1ec25a057$var$PORTAL_NAME, __scopeTooltip);\n  return /*#__PURE__*/$8wepK$createElement($a093c7e1ec25a057$var$PortalProvider, {\n    scope: __scopeTooltip,\n    forceMount: forceMount\n  }, /*#__PURE__*/$8wepK$createElement($8wepK$Presence, {\n    present: forceMount || context.open\n  }, /*#__PURE__*/$8wepK$createElement($8wepK$Portal, {\n    asChild: true,\n    container: container\n  }, children)));\n};\n/*#__PURE__*/\nObject.assign($a093c7e1ec25a057$export$7b36b8f925ab7497, {\n  displayName: $a093c7e1ec25a057$var$PORTAL_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * TooltipContent\n * -----------------------------------------------------------------------------------------------*/\nconst $a093c7e1ec25a057$var$CONTENT_NAME = 'TooltipContent';\nconst $a093c7e1ec25a057$export$e9003e2be37ec060 = /*#__PURE__*/$8wepK$forwardRef((props, forwardedRef) => {\n  const portalContext = $a093c7e1ec25a057$var$usePortalContext($a093c7e1ec25a057$var$CONTENT_NAME, props.__scopeTooltip);\n  const {\n    forceMount = portalContext.forceMount,\n    side = 'top',\n    ...contentProps\n  } = props;\n  const context = $a093c7e1ec25a057$var$useTooltipContext($a093c7e1ec25a057$var$CONTENT_NAME, props.__scopeTooltip);\n  return /*#__PURE__*/$8wepK$createElement($8wepK$Presence, {\n    present: forceMount || context.open\n  }, context.disableHoverableContent ? /*#__PURE__*/$8wepK$createElement($a093c7e1ec25a057$var$TooltipContentImpl, $8wepK$babelruntimehelpersesmextends({\n    side: side\n  }, contentProps, {\n    ref: forwardedRef\n  })) : /*#__PURE__*/$8wepK$createElement($a093c7e1ec25a057$var$TooltipContentHoverable, $8wepK$babelruntimehelpersesmextends({\n    side: side\n  }, contentProps, {\n    ref: forwardedRef\n  })));\n});\nconst $a093c7e1ec25a057$var$TooltipContentHoverable = /*#__PURE__*/$8wepK$forwardRef((props, forwardedRef) => {\n  const context = $a093c7e1ec25a057$var$useTooltipContext($a093c7e1ec25a057$var$CONTENT_NAME, props.__scopeTooltip);\n  const providerContext = $a093c7e1ec25a057$var$useTooltipProviderContext($a093c7e1ec25a057$var$CONTENT_NAME, props.__scopeTooltip);\n  const ref = $8wepK$useRef(null);\n  const composedRefs = $8wepK$useComposedRefs(forwardedRef, ref);\n  const [pointerGraceArea, setPointerGraceArea] = $8wepK$useState(null);\n  const {\n    trigger: trigger,\n    onClose: onClose\n  } = context;\n  const content = ref.current;\n  const {\n    onPointerInTransitChange: onPointerInTransitChange\n  } = providerContext;\n  const handleRemoveGraceArea = $8wepK$useCallback(() => {\n    setPointerGraceArea(null);\n    onPointerInTransitChange(false);\n  }, [onPointerInTransitChange]);\n  const handleCreateGraceArea = $8wepK$useCallback((event, hoverTarget) => {\n    const currentTarget = event.currentTarget;\n    const exitPoint = {\n      x: event.clientX,\n      y: event.clientY\n    };\n    const exitSide = $a093c7e1ec25a057$var$getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect());\n    const paddedExitPoints = $a093c7e1ec25a057$var$getPaddedExitPoints(exitPoint, exitSide);\n    const hoverTargetPoints = $a093c7e1ec25a057$var$getPointsFromRect(hoverTarget.getBoundingClientRect());\n    const graceArea = $a093c7e1ec25a057$var$getHull([...paddedExitPoints, ...hoverTargetPoints]);\n    setPointerGraceArea(graceArea);\n    onPointerInTransitChange(true);\n  }, [onPointerInTransitChange]);\n  $8wepK$useEffect(() => {\n    return () => handleRemoveGraceArea();\n  }, [handleRemoveGraceArea]);\n  $8wepK$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  $8wepK$useEffect(() => {\n    if (pointerGraceArea) {\n      const handleTrackPointerGrace = event => {\n        const target = event.target;\n        const pointerPosition = {\n          x: event.clientX,\n          y: event.clientY\n        };\n        const hasEnteredTarget = (trigger === null || trigger === void 0 ? void 0 : trigger.contains(target)) || (content === null || content === void 0 ? void 0 : content.contains(target));\n        const isPointerOutsideGraceArea = !$a093c7e1ec25a057$var$isPointInPolygon(pointerPosition, pointerGraceArea);\n        if (hasEnteredTarget) handleRemoveGraceArea();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__*/$8wepK$createElement($a093c7e1ec25a057$var$TooltipContentImpl, $8wepK$babelruntimehelpersesmextends({}, props, {\n    ref: composedRefs\n  }));\n});\nconst [$a093c7e1ec25a057$var$VisuallyHiddenContentContextProvider, $a093c7e1ec25a057$var$useVisuallyHiddenContentContext] = $a093c7e1ec25a057$var$createTooltipContext($a093c7e1ec25a057$var$TOOLTIP_NAME, {\n  isInside: false\n});\nconst $a093c7e1ec25a057$var$TooltipContentImpl = /*#__PURE__*/$8wepK$forwardRef((props, forwardedRef) => {\n  const {\n    __scopeTooltip: __scopeTooltip,\n    children: children,\n    'aria-label': ariaLabel,\n    onEscapeKeyDown: onEscapeKeyDown,\n    onPointerDownOutside: onPointerDownOutside,\n    ...contentProps\n  } = props;\n  const context = $a093c7e1ec25a057$var$useTooltipContext($a093c7e1ec25a057$var$CONTENT_NAME, __scopeTooltip);\n  const popperScope = $a093c7e1ec25a057$var$usePopperScope(__scopeTooltip);\n  const {\n    onClose: onClose\n  } = context; // Close this tooltip if another one opens\n  $8wepK$useEffect(() => {\n    document.addEventListener($a093c7e1ec25a057$var$TOOLTIP_OPEN, onClose);\n    return () => document.removeEventListener($a093c7e1ec25a057$var$TOOLTIP_OPEN, onClose);\n  }, [onClose]); // Close the tooltip if the trigger is scrolled\n  $8wepK$useEffect(() => {\n    if (context.trigger) {\n      const handleScroll = event => {\n        const target = event.target;\n        if (target !== null && target !== void 0 && target.contains(context.trigger)) onClose();\n      };\n      window.addEventListener('scroll', handleScroll, {\n        capture: true\n      });\n      return () => window.removeEventListener('scroll', handleScroll, {\n        capture: true\n      });\n    }\n  }, [context.trigger, onClose]);\n  return /*#__PURE__*/$8wepK$createElement($8wepK$DismissableLayer, {\n    asChild: true,\n    disableOutsidePointerEvents: false,\n    onEscapeKeyDown: onEscapeKeyDown,\n    onPointerDownOutside: onPointerDownOutside,\n    onFocusOutside: event => event.preventDefault(),\n    onDismiss: onClose\n  }, /*#__PURE__*/$8wepK$createElement($8wepK$Content, $8wepK$babelruntimehelpersesmextends({\n    \"data-state\": context.stateAttribute\n  }, popperScope, contentProps, {\n    ref: forwardedRef,\n    style: {\n      ...contentProps.style,\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  }), /*#__PURE__*/$8wepK$createElement($8wepK$Slottable, null, children), /*#__PURE__*/$8wepK$createElement($a093c7e1ec25a057$var$VisuallyHiddenContentContextProvider, {\n    scope: __scopeTooltip,\n    isInside: true\n  }, /*#__PURE__*/$8wepK$createElement($8wepK$Root1, {\n    id: context.contentId,\n    role: \"tooltip\"\n  }, ariaLabel || children))));\n});\n/*#__PURE__*/\nObject.assign($a093c7e1ec25a057$export$e9003e2be37ec060, {\n  displayName: $a093c7e1ec25a057$var$CONTENT_NAME\n});\n/* -------------------------------------------------------------------------------------------------\n * TooltipArrow\n * -----------------------------------------------------------------------------------------------*/\nconst $a093c7e1ec25a057$var$ARROW_NAME = 'TooltipArrow';\nconst $a093c7e1ec25a057$export$c27ee0ad710f7559 = /*#__PURE__*/$8wepK$forwardRef((props, forwardedRef) => {\n  const {\n    __scopeTooltip: __scopeTooltip,\n    ...arrowProps\n  } = props;\n  const popperScope = $a093c7e1ec25a057$var$usePopperScope(__scopeTooltip);\n  const visuallyHiddenContentContext = $a093c7e1ec25a057$var$useVisuallyHiddenContentContext($a093c7e1ec25a057$var$ARROW_NAME, __scopeTooltip); // if the arrow is inside the `VisuallyHidden`, we don't want to render it all to\n  // prevent issues in positioning the arrow due to the duplicate\n  return visuallyHiddenContentContext.isInside ? null : /*#__PURE__*/$8wepK$createElement($8wepK$Arrow, $8wepK$babelruntimehelpersesmextends({}, popperScope, arrowProps, {\n    ref: forwardedRef\n  }));\n});\n/*#__PURE__*/\nObject.assign($a093c7e1ec25a057$export$c27ee0ad710f7559, {\n  displayName: $a093c7e1ec25a057$var$ARROW_NAME\n});\n/* -----------------------------------------------------------------------------------------------*/\nfunction $a093c7e1ec25a057$var$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 $a093c7e1ec25a057$var$getPaddedExitPoints(exitPoint, exitSide, padding = 5) {\n  const paddedExitPoints = [];\n  switch (exitSide) {\n    case 'top':\n      paddedExitPoints.push({\n        x: exitPoint.x - padding,\n        y: exitPoint.y + padding\n      }, {\n        x: exitPoint.x + padding,\n        y: exitPoint.y + padding\n      });\n      break;\n    case 'bottom':\n      paddedExitPoints.push({\n        x: exitPoint.x - padding,\n        y: exitPoint.y - padding\n      }, {\n        x: exitPoint.x + padding,\n        y: exitPoint.y - padding\n      });\n      break;\n    case 'left':\n      paddedExitPoints.push({\n        x: exitPoint.x + padding,\n        y: exitPoint.y - padding\n      }, {\n        x: exitPoint.x + padding,\n        y: exitPoint.y + padding\n      });\n      break;\n    case 'right':\n      paddedExitPoints.push({\n        x: exitPoint.x - padding,\n        y: exitPoint.y - padding\n      }, {\n        x: exitPoint.x - padding,\n        y: exitPoint.y + padding\n      });\n      break;\n  }\n  return paddedExitPoints;\n}\nfunction $a093c7e1ec25a057$var$getPointsFromRect(rect) {\n  const {\n    top: top,\n    right: right,\n    bottom: bottom,\n    left: left\n  } = rect;\n  return [{\n    x: left,\n    y: top\n  }, {\n    x: right,\n    y: top\n  }, {\n    x: right,\n    y: bottom\n  }, {\n    x: left,\n    y: bottom\n  }];\n} // Determine if a point is inside of a polygon.\n// Based on https://github.com/substack/point-in-polygon\nfunction $a093c7e1ec25a057$var$isPointInPolygon(point, polygon) {\n  const {\n    x: x,\n    y: y\n  } = point;\n  let inside = false;\n  for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n    const xi = polygon[i].x;\n    const yi = polygon[i].y;\n    const xj = polygon[j].x;\n    const yj = polygon[j].y; // prettier-ignore\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} // Returns a new array of points representing the convex hull of the given set of points.\n// https://www.nayuki.io/page/convex-hull-algorithm\nfunction $a093c7e1ec25a057$var$getHull(points) {\n  const newPoints = points.slice();\n  newPoints.sort((a, b) => {\n    if (a.x < b.x) return -1;else if (a.x > b.x) return 1;else if (a.y < b.y) return -1;else if (a.y > b.y) return 1;else return 0;\n  });\n  return $a093c7e1ec25a057$var$getHullPresorted(newPoints);\n} // Returns the convex hull, assuming that each points[i] <= points[i + 1]. Runs in O(n) time.\nfunction $a093c7e1ec25a057$var$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();else break;\n    }\n    upperHull.push(p);\n  }\n  upperHull.pop();\n  const lowerHull = [];\n  for (let i1 = points.length - 1; i1 >= 0; i1--) {\n    const p = points[i1];\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();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) return upperHull;else return upperHull.concat(lowerHull);\n}\nconst $a093c7e1ec25a057$export$2881499e37b75b9a = $a093c7e1ec25a057$export$f78649fb9ca566b8;\nconst $a093c7e1ec25a057$export$be92b6f5f03c0fe9 = $a093c7e1ec25a057$export$28c660c63b792dea;\nconst $a093c7e1ec25a057$export$41fb9f06171c75f4 = $a093c7e1ec25a057$export$8c610744efcf8a1d;\nconst $a093c7e1ec25a057$export$602eac185826482c = $a093c7e1ec25a057$export$7b36b8f925ab7497;\nconst $a093c7e1ec25a057$export$7c6e2c02157bb7d2 = $a093c7e1ec25a057$export$e9003e2be37ec060;\nconst $a093c7e1ec25a057$export$21b07c8f274aebd5 = $a093c7e1ec25a057$export$c27ee0ad710f7559;\nexport { $a093c7e1ec25a057$export$1c540a2224f0d865 as createTooltipScope, $a093c7e1ec25a057$export$f78649fb9ca566b8 as TooltipProvider, $a093c7e1ec25a057$export$28c660c63b792dea as Tooltip, $a093c7e1ec25a057$export$8c610744efcf8a1d as TooltipTrigger, $a093c7e1ec25a057$export$7b36b8f925ab7497 as TooltipPortal, $a093c7e1ec25a057$export$e9003e2be37ec060 as TooltipContent, $a093c7e1ec25a057$export$c27ee0ad710f7559 as TooltipArrow, $a093c7e1ec25a057$export$2881499e37b75b9a as Provider, $a093c7e1ec25a057$export$be92b6f5f03c0fe9 as Root, $a093c7e1ec25a057$export$41fb9f06171c75f4 as Trigger, $a093c7e1ec25a057$export$602eac185826482c as Portal, $a093c7e1ec25a057$export$7c6e2c02157bb7d2 as Content, $a093c7e1ec25a057$export$21b07c8f274aebd5 as Arrow };","map":{"version":3,"names":["$a093c7e1ec25a057$var$createTooltipContext","$a093c7e1ec25a057$export$1c540a2224f0d865","$8wepK$createContextScope","$8wepK$createPopperScope","$a093c7e1ec25a057$var$usePopperScope","$a093c7e1ec25a057$var$PROVIDER_NAME","$a093c7e1ec25a057$var$DEFAULT_DELAY_DURATION","$a093c7e1ec25a057$var$TOOLTIP_OPEN","$a093c7e1ec25a057$var$TooltipProviderContextProvider","$a093c7e1ec25a057$var$useTooltipProviderContext","$a093c7e1ec25a057$export$f78649fb9ca566b8","props","__scopeTooltip","delayDuration","skipDelayDuration","disableHoverableContent","children","isOpenDelayed","setIsOpenDelayed","$8wepK$useState","isPointerInTransitRef","$8wepK$useRef","skipDelayTimerRef","$8wepK$useEffect","skipDelayTimer","current","window","clearTimeout","$8wepK$createElement","scope","onOpen","$8wepK$useCallback","onClose","setTimeout","onPointerInTransitChange","inTransit","Object","assign","displayName","$a093c7e1ec25a057$var$TOOLTIP_NAME","$a093c7e1ec25a057$var$TooltipContextProvider","$a093c7e1ec25a057$var$useTooltipContext","$a093c7e1ec25a057$export$28c660c63b792dea","open","openProp","defaultOpen","onOpenChange","disableHoverableContentProp","delayDurationProp","providerContext","popperScope","trigger","setTrigger","contentId","$8wepK$useId","openTimerRef","wasOpenDelayedRef","open1","setOpen","$8wepK$useControllableState","prop","defaultProp","onChange","document","dispatchEvent","CustomEvent","stateAttribute","$8wepK$useMemo","handleOpen","handleClose","handleDelayedOpen","$8wepK$Root","onTriggerChange","onTriggerEnter","onTriggerLeave","$a093c7e1ec25a057$var$TRIGGER_NAME","$a093c7e1ec25a057$export$8c610744efcf8a1d","$8wepK$forwardRef","forwardedRef","triggerProps","context","ref","composedRefs","$8wepK$useComposedRefs","isPointerDownRef","hasPointerMoveOpenedRef","handlePointerUp","removeEventListener","$8wepK$Anchor","$8wepK$babelruntimehelpersesmextends","asChild","$8wepK$Primitive","button","undefined","onPointerMove","$8wepK$composeEventHandlers","event","pointerType","onPointerLeave","onPointerDown","addEventListener","once","onFocus","onBlur","onClick","$a093c7e1ec25a057$var$PORTAL_NAME","$a093c7e1ec25a057$var$PortalProvider","$a093c7e1ec25a057$var$usePortalContext","forceMount","$a093c7e1ec25a057$export$7b36b8f925ab7497","container","$8wepK$Presence","present","$8wepK$Portal","$a093c7e1ec25a057$var$CONTENT_NAME","$a093c7e1ec25a057$export$e9003e2be37ec060","portalContext","side","contentProps","$a093c7e1ec25a057$var$TooltipContentImpl","$a093c7e1ec25a057$var$TooltipContentHoverable","pointerGraceArea","setPointerGraceArea","content","handleRemoveGraceArea","handleCreateGraceArea","hoverTarget","currentTarget","exitPoint","x","clientX","y","clientY","exitSide","$a093c7e1ec25a057$var$getExitSideFromRect","getBoundingClientRect","paddedExitPoints","$a093c7e1ec25a057$var$getPaddedExitPoints","hoverTargetPoints","$a093c7e1ec25a057$var$getPointsFromRect","graceArea","$a093c7e1ec25a057$var$getHull","handleTriggerLeave","handleContentLeave","handleTrackPointerGrace","target","pointerPosition","hasEnteredTarget","contains","isPointerOutsideGraceArea","$a093c7e1ec25a057$var$isPointInPolygon","$a093c7e1ec25a057$var$VisuallyHiddenContentContextProvider","$a093c7e1ec25a057$var$useVisuallyHiddenContentContext","isInside","ariaLabel","onEscapeKeyDown","onPointerDownOutside","handleScroll","capture","$8wepK$DismissableLayer","disableOutsidePointerEvents","onFocusOutside","preventDefault","onDismiss","$8wepK$Content","style","$8wepK$Slottable","$8wepK$Root1","id","role","$a093c7e1ec25a057$var$ARROW_NAME","$a093c7e1ec25a057$export$c27ee0ad710f7559","arrowProps","visuallyHiddenContentContext","$8wepK$Arrow","getExitSideFromRect","point","rect","top","Math","abs","bottom","right","left","min","Error","getPaddedExitPoints","padding","push","getPointsFromRect","isPointInPolygon","polygon","inside","i","j","length","xi","yi","xj","yj","intersect","getHull","points","newPoints","slice","sort","a","b","$a093c7e1ec25a057$var$getHullPresorted","getHullPresorted","upperHull","p","q","r","pop","lowerHull","i1","concat","$a093c7e1ec25a057$export$2881499e37b75b9a","$a093c7e1ec25a057$export$be92b6f5f03c0fe9","$a093c7e1ec25a057$export$41fb9f06171c75f4","$a093c7e1ec25a057$export$602eac185826482c","$a093c7e1ec25a057$export$7c6e2c02157bb7d2","$a093c7e1ec25a057$export$21b07c8f274aebd5"],"sources":["C:\\Users\\user\\Desktop\\000newport\\node_modules\\@radix-ui\\react-tooltip\\dist\\packages\\react\\tooltip\\src\\index.ts","C:\\Users\\user\\Desktop\\000newport\\node_modules\\@radix-ui\\react-tooltip\\dist\\packages\\react\\tooltip\\src\\Tooltip.tsx"],"sourcesContent":["export {\n  createTooltipScope,\n  //\n  TooltipProvider,\n  Tooltip,\n  TooltipTrigger,\n  TooltipPortal,\n  TooltipContent,\n  TooltipArrow,\n  //\n  Provider,\n  Root,\n  Trigger,\n  Portal,\n  Content,\n  Arrow,\n} from './Tooltip';\nexport type {\n  TooltipProps,\n  TooltipTriggerProps,\n  TooltipPortalProps,\n  TooltipContentProps,\n  TooltipArrowProps,\n} from './Tooltip';\n","import * 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 { Slottable } from '@radix-ui/react-slot';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport * as VisuallyHiddenPrimitive from '@radix-ui/react-visually-hidden';\n\nimport type * as Radix from '@radix-ui/react-primitive';\nimport type { Scope } from '@radix-ui/react-context';\n\ntype ScopedProps<P = {}> = P & { __scopeTooltip?: Scope };\nconst [createTooltipContext, createTooltipScope] = createContextScope('Tooltip', [\n  createPopperScope,\n]);\nconst usePopperScope = createPopperScope();\n\n/* -------------------------------------------------------------------------------------------------\n * TooltipProvider\n * -----------------------------------------------------------------------------------------------*/\n\nconst PROVIDER_NAME = 'TooltipProvider';\nconst DEFAULT_DELAY_DURATION = 700;\nconst TOOLTIP_OPEN = 'tooltip.open';\n\ntype TooltipProviderContextValue = {\n  isOpenDelayed: boolean;\n  delayDuration: number;\n  onOpen(): void;\n  onClose(): void;\n  onPointerInTransitChange(inTransit: boolean): void;\n  isPointerInTransitRef: React.MutableRefObject<boolean>;\n  disableHoverableContent: boolean;\n};\n\nconst [TooltipProviderContextProvider, useTooltipProviderContext] =\n  createTooltipContext<TooltipProviderContextValue>(PROVIDER_NAME);\n\ninterface TooltipProviderProps {\n  children: React.ReactNode;\n  /**\n   * The duration from when the pointer enters the trigger until the tooltip gets opened.\n   * @defaultValue 700\n   */\n  delayDuration?: number;\n  /**\n   * How much time a user has to enter another trigger without incurring a delay again.\n   * @defaultValue 300\n   */\n  skipDelayDuration?: number;\n  /**\n   * When `true`, trying to hover the content will result in the tooltip closing as the pointer leaves the trigger.\n   * @defaultValue false\n   */\n  disableHoverableContent?: boolean;\n}\n\nconst TooltipProvider: React.FC<TooltipProviderProps> = (\n  props: ScopedProps<TooltipProviderProps>\n) => {\n  const {\n    __scopeTooltip,\n    delayDuration = DEFAULT_DELAY_DURATION,\n    skipDelayDuration = 300,\n    disableHoverableContent = false,\n    children,\n  } = props;\n  const [isOpenDelayed, setIsOpenDelayed] = React.useState(true);\n  const isPointerInTransitRef = React.useRef(false);\n  const skipDelayTimerRef = React.useRef(0);\n\n  React.useEffect(() => {\n    const skipDelayTimer = skipDelayTimerRef.current;\n    return () => window.clearTimeout(skipDelayTimer);\n  }, []);\n\n  return (\n    <TooltipProviderContextProvider\n      scope={__scopeTooltip}\n      isOpenDelayed={isOpenDelayed}\n      delayDuration={delayDuration}\n      onOpen={React.useCallback(() => {\n        window.clearTimeout(skipDelayTimerRef.current);\n        setIsOpenDelayed(false);\n      }, [])}\n      onClose={React.useCallback(() => {\n        window.clearTimeout(skipDelayTimerRef.current);\n        skipDelayTimerRef.current = window.setTimeout(\n          () => setIsOpenDelayed(true),\n          skipDelayDuration\n        );\n      }, [skipDelayDuration])}\n      isPointerInTransitRef={isPointerInTransitRef}\n      onPointerInTransitChange={React.useCallback((inTransit: boolean) => {\n        isPointerInTransitRef.current = inTransit;\n      }, [])}\n      disableHoverableContent={disableHoverableContent}\n    >\n      {children}\n    </TooltipProviderContextProvider>\n  );\n};\n\nTooltipProvider.displayName = PROVIDER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * Tooltip\n * -----------------------------------------------------------------------------------------------*/\n\nconst TOOLTIP_NAME = 'Tooltip';\n\ntype TooltipContextValue = {\n  contentId: string;\n  open: boolean;\n  stateAttribute: 'closed' | 'delayed-open' | 'instant-open';\n  trigger: TooltipTriggerElement | null;\n  onTriggerChange(trigger: TooltipTriggerElement | null): void;\n  onTriggerEnter(): void;\n  onTriggerLeave(): void;\n  onOpen(): void;\n  onClose(): void;\n  disableHoverableContent: boolean;\n};\n\nconst [TooltipContextProvider, useTooltipContext] =\n  createTooltipContext<TooltipContextValue>(TOOLTIP_NAME);\n\ninterface TooltipProps {\n  children?: React.ReactNode;\n  open?: boolean;\n  defaultOpen?: boolean;\n  onOpenChange?: (open: boolean) => void;\n  /**\n   * The duration from when the pointer enters the trigger until the tooltip gets opened. This will\n   * override the prop with the same name passed to Provider.\n   * @defaultValue 700\n   */\n  delayDuration?: number;\n  /**\n   * When `true`, trying to hover the content will result in the tooltip closing as the pointer leaves the trigger.\n   * @defaultValue false\n   */\n  disableHoverableContent?: boolean;\n}\n\nconst Tooltip: React.FC<TooltipProps> = (props: ScopedProps<TooltipProps>) => {\n  const {\n    __scopeTooltip,\n    children,\n    open: openProp,\n    defaultOpen = false,\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<HTMLButtonElement | null>(null);\n  const contentId = useId();\n  const openTimerRef = React.useRef(0);\n  const disableHoverableContent =\n    disableHoverableContentProp ?? providerContext.disableHoverableContent;\n  const delayDuration = delayDurationProp ?? providerContext.delayDuration;\n  const wasOpenDelayedRef = React.useRef(false);\n  const [open = false, setOpen] = useControllableState({\n    prop: openProp,\n    defaultProp: defaultOpen,\n    onChange: (open) => {\n      if (open) {\n        providerContext.onOpen();\n\n        // as `onChange` is called within a lifecycle method we\n        // avoid dispatching via `dispatchDiscreteCustomEvent`.\n        document.dispatchEvent(new CustomEvent(TOOLTIP_OPEN));\n      } else {\n        providerContext.onClose();\n      }\n      onOpenChange?.(open);\n    },\n  });\n  const stateAttribute = React.useMemo(() => {\n    return open ? (wasOpenDelayedRef.current ? 'delayed-open' : 'instant-open') : 'closed';\n  }, [open]);\n\n  const handleOpen = React.useCallback(() => {\n    window.clearTimeout(openTimerRef.current);\n    wasOpenDelayedRef.current = false;\n    setOpen(true);\n  }, [setOpen]);\n\n  const handleClose = React.useCallback(() => {\n    window.clearTimeout(openTimerRef.current);\n    setOpen(false);\n  }, [setOpen]);\n\n  const handleDelayedOpen = React.useCallback(() => {\n    window.clearTimeout(openTimerRef.current);\n    openTimerRef.current = window.setTimeout(() => {\n      wasOpenDelayedRef.current = true;\n      setOpen(true);\n    }, delayDuration);\n  }, [delayDuration, setOpen]);\n\n  React.useEffect(() => {\n    return () => window.clearTimeout(openTimerRef.current);\n  }, []);\n\n  return (\n    <PopperPrimitive.Root {...popperScope}>\n      <TooltipContextProvider\n        scope={__scopeTooltip}\n        contentId={contentId}\n        open={open}\n        stateAttribute={stateAttribute}\n        trigger={trigger}\n        onTriggerChange={setTrigger}\n        onTriggerEnter={React.useCallback(() => {\n          if (providerContext.isOpenDelayed) handleDelayedOpen();\n          else handleOpen();\n        }, [providerContext.isOpenDelayed, handleDelayedOpen, handleOpen])}\n        onTriggerLeave={React.useCallback(() => {\n          if (disableHoverableContent) {\n            handleClose();\n          } else {\n            // Clear the timer in case the pointer leaves the trigger before the tooltip is opened.\n            window.clearTimeout(openTimerRef.current);\n          }\n        }, [handleClose, disableHoverableContent])}\n        onOpen={handleOpen}\n        onClose={handleClose}\n        disableHoverableContent={disableHoverableContent}\n      >\n        {children}\n      </TooltipContextProvider>\n    </PopperPrimitive.Root>\n  );\n};\n\nTooltip.displayName = TOOLTIP_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * TooltipTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'TooltipTrigger';\n\ntype TooltipTriggerElement = React.ElementRef<typeof Primitive.button>;\ntype PrimitiveButtonProps = Radix.ComponentPropsWithoutRef<typeof Primitive.button>;\ninterface TooltipTriggerProps extends PrimitiveButtonProps {}\n\nconst TooltipTrigger = React.forwardRef<TooltipTriggerElement, TooltipTriggerProps>(\n  (props: ScopedProps<TooltipTriggerProps>, 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<TooltipTriggerElement>(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\n    React.useEffect(() => {\n      return () => document.removeEventListener('pointerup', handlePointerUp);\n    }, [handlePointerUp]);\n\n    return (\n      <PopperPrimitive.Anchor asChild {...popperScope}>\n        <Primitive.button\n          // We purposefully avoid adding `type=button` here because tooltip triggers are also\n          // commonly anchors and the anchor `type` attribute signifies MIME type.\n          aria-describedby={context.open ? context.contentId : undefined}\n          data-state={context.stateAttribute}\n          {...triggerProps}\n          ref={composedRefs}\n          onPointerMove={composeEventHandlers(props.onPointerMove, (event) => {\n            if (event.pointerType === 'touch') return;\n            if (\n              !hasPointerMoveOpenedRef.current &&\n              !providerContext.isPointerInTransitRef.current\n            ) {\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            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      </PopperPrimitive.Anchor>\n    );\n  }\n);\n\nTooltipTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * TooltipPortal\n * -----------------------------------------------------------------------------------------------*/\n\nconst PORTAL_NAME = 'TooltipPortal';\n\ntype PortalContextValue = { forceMount?: true };\nconst [PortalProvider, usePortalContext] = createTooltipContext<PortalContextValue>(PORTAL_NAME, {\n  forceMount: undefined,\n});\n\ntype PortalProps = React.ComponentPropsWithoutRef<typeof PortalPrimitive>;\ninterface TooltipPortalProps extends Omit<PortalProps, 'asChild'> {\n  children?: React.ReactNode;\n  /**\n   * Used to force mounting when more control is needed. Useful when\n   * controlling animation with React animation libraries.\n   */\n  forceMount?: true;\n}\n\nconst TooltipPortal: React.FC<TooltipPortalProps> = (props: ScopedProps<TooltipPortalProps>) => {\n  const { __scopeTooltip, forceMount, children, container } = props;\n  const context = useTooltipContext(PORTAL_NAME, __scopeTooltip);\n  return (\n    <PortalProvider scope={__scopeTooltip} forceMount={forceMount}>\n      <Presence present={forceMount || context.open}>\n        <PortalPrimitive asChild container={container}>\n          {children}\n        </PortalPrimitive>\n      </Presence>\n    </PortalProvider>\n  );\n};\n\nTooltipPortal.displayName = PORTAL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * TooltipContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'TooltipContent';\n\ntype TooltipContentElement = TooltipContentImplElement;\ninterface TooltipContentProps extends TooltipContentImplProps {\n  /**\n   * Used to force mounting when more control is needed. Useful when\n   * controlling animation with React animation libraries.\n   */\n  forceMount?: true;\n}\n\nconst TooltipContent = React.forwardRef<TooltipContentElement, TooltipContentProps>(\n  (props: ScopedProps<TooltipContentProps>, 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\n    return (\n      <Presence present={forceMount || context.open}>\n        {context.disableHoverableContent ? (\n          <TooltipContentImpl side={side} {...contentProps} ref={forwardedRef} />\n        ) : (\n          <TooltipContentHoverable side={side} {...contentProps} ref={forwardedRef} />\n        )}\n      </Presence>\n    );\n  }\n);\n\ntype Point = { x: number; y: number };\ntype Polygon = Point[];\n\ntype TooltipContentHoverableElement = TooltipContentImplElement;\ninterface TooltipContentHoverableProps extends TooltipContentImplProps {}\n\nconst TooltipContentHoverable = React.forwardRef<\n  TooltipContentHoverableElement,\n  TooltipContentHoverableProps\n>((props: ScopedProps<TooltipContentHoverableProps>, forwardedRef) => {\n  const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n  const providerContext = useTooltipProviderContext(CONTENT_NAME, props.__scopeTooltip);\n  const ref = React.useRef<TooltipContentHoverableElement>(null);\n  const composedRefs = useComposedRefs(forwardedRef, ref);\n  const [pointerGraceArea, setPointerGraceArea] = React.useState<Polygon | null>(null);\n\n  const { trigger, onClose } = context;\n  const content = ref.current;\n\n  const { onPointerInTransitChange } = providerContext;\n\n  const handleRemoveGraceArea = React.useCallback(() => {\n    setPointerGraceArea(null);\n    onPointerInTransitChange(false);\n  }, [onPointerInTransitChange]);\n\n  const handleCreateGraceArea = React.useCallback(\n    (event: PointerEvent, hoverTarget: HTMLElement) => {\n      const currentTarget = event.currentTarget as HTMLElement;\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\n  React.useEffect(() => {\n    return () => handleRemoveGraceArea();\n  }, [handleRemoveGraceArea]);\n\n  React.useEffect(() => {\n    if (trigger && content) {\n      const handleTriggerLeave = (event: PointerEvent) => handleCreateGraceArea(event, content);\n      const handleContentLeave = (event: PointerEvent) => handleCreateGraceArea(event, trigger);\n\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\n  React.useEffect(() => {\n    if (pointerGraceArea) {\n      const handleTrackPointerGrace = (event: PointerEvent) => {\n        const target = event.target as HTMLElement;\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\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\n  return <TooltipContentImpl {...props} ref={composedRefs} />;\n});\n\nconst [VisuallyHiddenContentContextProvider, useVisuallyHiddenContentContext] =\n  createTooltipContext(TOOLTIP_NAME, { isInside: false });\n\ntype TooltipContentImplElement = React.ElementRef<typeof PopperPrimitive.Content>;\ntype DismissableLayerProps = Radix.ComponentPropsWithoutRef<typeof DismissableLayer>;\ntype PopperContentProps = Radix.ComponentPropsWithoutRef<typeof PopperPrimitive.Content>;\ninterface TooltipContentImplProps extends Omit<PopperContentProps, 'onPlaced'> {\n  /**\n   * A more descriptive label for accessibility purpose\n   */\n  'aria-label'?: string;\n\n  /**\n   * Event handler called when the escape key is down.\n   * Can be prevented.\n   */\n  onEscapeKeyDown?: DismissableLayerProps['onEscapeKeyDown'];\n  /**\n   * Event handler called when the a `pointerdown` event happens outside of the `Tooltip`.\n   * Can be prevented.\n   */\n  onPointerDownOutside?: DismissableLayerProps['onPointerDownOutside'];\n}\n\nconst TooltipContentImpl = React.forwardRef<TooltipContentImplElement, TooltipContentImplProps>(\n  (props: ScopedProps<TooltipContentImplProps>, 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\n    // Close this tooltip if another one opens\n    React.useEffect(() => {\n      document.addEventListener(TOOLTIP_OPEN, onClose);\n      return () => document.removeEventListener(TOOLTIP_OPEN, onClose);\n    }, [onClose]);\n\n    // Close the tooltip if the trigger is scrolled\n    React.useEffect(() => {\n      if (context.trigger) {\n        const handleScroll = (event: Event) => {\n          const target = event.target as HTMLElement;\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\n    return (\n      <DismissableLayer\n        asChild\n        disableOutsidePointerEvents={false}\n        onEscapeKeyDown={onEscapeKeyDown}\n        onPointerDownOutside={onPointerDownOutside}\n        onFocusOutside={(event) => event.preventDefault()}\n        onDismiss={onClose}\n      >\n        <PopperPrimitive.Content\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        >\n          <Slottable>{children}</Slottable>\n          <VisuallyHiddenContentContextProvider scope={__scopeTooltip} isInside={true}>\n            <VisuallyHiddenPrimitive.Root id={context.contentId} role=\"tooltip\">\n              {ariaLabel || children}\n            </VisuallyHiddenPrimitive.Root>\n          </VisuallyHiddenContentContextProvider>\n        </PopperPrimitive.Content>\n      </DismissableLayer>\n    );\n  }\n);\n\nTooltipContent.displayName = CONTENT_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * TooltipArrow\n * -----------------------------------------------------------------------------------------------*/\n\nconst ARROW_NAME = 'TooltipArrow';\n\ntype TooltipArrowElement = React.ElementRef<typeof PopperPrimitive.Arrow>;\ntype PopperArrowProps = Radix.ComponentPropsWithoutRef<typeof PopperPrimitive.Arrow>;\ninterface TooltipArrowProps extends PopperArrowProps {}\n\nconst TooltipArrow = React.forwardRef<TooltipArrowElement, TooltipArrowProps>(\n  (props: ScopedProps<TooltipArrowProps>, forwardedRef) => {\n    const { __scopeTooltip, ...arrowProps } = props;\n    const popperScope = usePopperScope(__scopeTooltip);\n    const visuallyHiddenContentContext = useVisuallyHiddenContentContext(\n      ARROW_NAME,\n      __scopeTooltip\n    );\n    // if the arrow is inside the `VisuallyHidden`, we don't want to render it all to\n    // prevent issues in positioning the arrow due to the duplicate\n    return visuallyHiddenContentContext.isInside ? null : (\n      <PopperPrimitive.Arrow {...popperScope} {...arrowProps} ref={forwardedRef} />\n    );\n  }\n);\n\nTooltipArrow.displayName = ARROW_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype Side = NonNullable<TooltipContentProps['side']>;\n\nfunction getExitSideFromRect(point: Point, rect: DOMRect): Side {\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\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}\n\nfunction getPaddedExitPoints(exitPoint: Point, exitSide: Side, padding = 5) {\n  const paddedExitPoints: Point[] = [];\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}\n\nfunction getPointsFromRect(rect: DOMRect) {\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}\n\n// Determine if a point is inside of a polygon.\n// Based on https://github.com/substack/point-in-polygon\nfunction isPointInPolygon(point: Point, polygon: 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 xi = polygon[i].x;\n    const yi = polygon[i].y;\n    const xj = polygon[j].x;\n    const yj = polygon[j].y;\n\n    // prettier-ignore\n    const intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi);\n    if (intersect) inside = !inside;\n  }\n\n  return inside;\n}\n\n// Returns a new array of points representing the convex hull of the given set of points.\n// https://www.nayuki.io/page/convex-hull-algorithm\nfunction getHull<P extends Point>(points: Readonly<Array<P>>): Array<P> {\n  const newPoints: Array<P> = points.slice();\n  newPoints.sort((a: Point, b: Point) => {\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}\n\n// Returns the convex hull, assuming that each points[i] <= points[i + 1]. Runs in O(n) time.\nfunction getHullPresorted<P extends Point>(points: Readonly<Array<P>>): Array<P> {\n  if (points.length <= 1) return points.slice();\n\n  const upperHull: Array<P> = [];\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\n  const lowerHull: Array<P> = [];\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\n  if (\n    upperHull.length === 1 &&\n    lowerHull.length === 1 &&\n    upperHull[0].x === lowerHull[0].x &&\n    upperHull[0].y === lowerHull[0].y\n  ) {\n    return upperHull;\n  } else {\n    return upperHull.concat(lowerHull);\n  }\n}\n\nconst Provider = TooltipProvider;\nconst Root = Tooltip;\nconst Trigger = TooltipTrigger;\nconst Portal = TooltipPortal;\nconst Content = TooltipContent;\nconst Arrow = TooltipArrow;\n\nexport {\n  createTooltipScope,\n  //\n  TooltipProvider,\n  Tooltip,\n  TooltipTrigger,\n  TooltipPortal,\n  TooltipContent,\n  TooltipArrow,\n  //\n  Provider,\n  Root,\n  Trigger,\n  Portal,\n  Content,\n  Arrow,\n};\nexport type {\n  TooltipProps,\n  TooltipTriggerProps,\n  TooltipPortalProps,\n  TooltipContentProps,\n  TooltipArrowProps,\n};\n"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}