"use client";
import { jsx as x, jsxs as fe } from "react/jsx-runtime";
import { cn as ge } from "../../../lib/utils.js";
import * as i from "react";
import { R as me, P as he, d as w, H as ye, p as Ce, q as Te, I as be, J as ve, r as Pe, s as xe, x as j } from "../../../popupStateMapping-BT9Y_jIq.js";
import { u as Re } from "../../../useOnFirstRender-B4aruaIA.js";
import { u as _ } from "../../../useIsoLayoutEffect-DpJo20by.js";
import { f as B, a as Se, u as L } from "../../../useRenderElement-DNB2vtF1.js";
import { c as G, n as oe, b as Z, t as Ee, a as Oe, e as we, g as Ie, i as Ne } from "../../../createBaseUIEventDetails-CqidROtw.js";
import * as De from "react-dom";
import { p as ke, u as Me, c as Ve, a as Ae, b as _e, d as He } from "../../../useSyncedFloatingRootContext-Bc90zSTy.js";
import { g as Ue } from "../../../floating-ui.utils.dom-jr2suqy2.js";
import { u as ee } from "../../../useStableCallback-CudqoENs.js";
import { b as Fe } from "../../../event-BCa0Un_3.js";
import { b as Be, c as Le } from "../../../element-DSo91iOi.js";
import { u as ze } from "../../../useBaseUiId-C8Dq0BQq.js";
import { u as Xe, T as Ye } from "../../../useTimeout-DAqPwigF.js";
import { g as je, u as Ge, s as We, a as $e } from "../../../safePolygon-CJcmMc0u.js";
import { u as qe } from "../../../useFocus-Aj9ShMQu.js";
import { F as Je } from "../../../FloatingPortalLite-BHsRx4XN.js";
import { u as Ke, a as Qe, g as ne } from "../../../getDisabledMountTransitionStyles-fmnaQYVj.js";
import { a as Ze, t as et } from "../../../useOpenChangeComplete-DkeH9FGJ.js";
const W = /* @__PURE__ */ i.createContext({
  hasProvider: !1,
  timeoutMs: 0,
  delayRef: {
    current: 0
  },
  initialDelayRef: {
    current: 0
  },
  timeout: new Ye(),
  currentIdRef: {
    current: null
  },
  currentContextRef: {
    current: null
  }
});
process.env.NODE_ENV !== "production" && (W.displayName = "FloatingDelayGroupContext");
function tt(e) {
  const {
    children: t,
    delay: o,
    timeoutMs: r = 0
  } = e, a = i.useRef(o), l = i.useRef(o), s = i.useRef(null), u = i.useRef(null), p = Xe();
  return /* @__PURE__ */ x(W.Provider, {
    value: i.useMemo(() => ({
      hasProvider: !0,
      delayRef: a,
      initialDelayRef: l,
      currentIdRef: s,
      timeoutMs: r,
      currentContextRef: u,
      timeout: p
    }), [r, p]),
    children: t
  });
}
function ot(e, t = {
  open: !1
}) {
  const o = "rootStore" in e ? e.rootStore : e, r = o.useState("floatingId"), {
    open: a
  } = t, l = i.useContext(W), {
    currentIdRef: s,
    delayRef: u,
    timeoutMs: p,
    initialDelayRef: c,
    currentContextRef: d,
    hasProvider: g,
    timeout: f
  } = l, [P, n] = i.useState(!1);
  return _(() => {
    function m() {
      n(!1), d.current?.setIsInstantPhase(!1), s.current = null, d.current = null, u.current = c.current;
    }
    if (s.current && !a && s.current === r) {
      if (n(!1), p) {
        const b = r;
        return f.start(p, () => {
          o.select("open") || s.current && s.current !== b || m();
        }), () => {
          f.clear();
        };
      }
      m();
    }
  }, [a, r, s, u, p, c, d, f, o]), _(() => {
    if (!a)
      return;
    const m = d.current, b = s.current;
    f.clear(), d.current = {
      onOpenChange: o.setOpen,
      setIsInstantPhase: n
    }, s.current = r, u.current = {
      open: 0,
      close: je(c.current, "close")
    }, b !== null && b !== r ? (n(!0), m?.setIsInstantPhase(!0), m?.onOpenChange(!1, G(oe))) : (n(!1), m?.setIsInstantPhase(!1));
  }, [a, r, o, s, u, p, c, d, f]), _(() => () => {
    d.current = null;
  }, [d]), i.useMemo(() => ({
    hasProvider: g,
    delayRef: u,
    isInstantPhase: P
  }), [g, u, P]);
}
function nt(e, t) {
  let o = null, r = null, a = !1;
  return {
    contextElement: e || void 0,
    getBoundingClientRect() {
      const l = e?.getBoundingClientRect() || {
        width: 0,
        height: 0,
        x: 0,
        y: 0
      }, s = t.axis === "x" || t.axis === "both", u = t.axis === "y" || t.axis === "both", p = ["mouseenter", "mousemove"].includes(t.dataRef.current.openEvent?.type || "") && t.pointerType !== "touch";
      let c = l.width, d = l.height, g = l.x, f = l.y;
      return o == null && t.x && s && (o = l.x - t.x), r == null && t.y && u && (r = l.y - t.y), g -= o || 0, f -= r || 0, c = 0, d = 0, !a || p ? (c = t.axis === "y" ? l.width : 0, d = t.axis === "x" ? l.height : 0, g = s && t.x != null ? t.x : g, f = u && t.y != null ? t.y : f) : a && !p && (d = t.axis === "x" ? l.height : d, c = t.axis === "y" ? l.width : c), a = !0, {
        width: c,
        height: d,
        x: g,
        y: f,
        top: f,
        right: g + c,
        bottom: f + d,
        left: g
      };
    }
  };
}
function te(e) {
  return e != null && e.clientX != null;
}
function st(e, t = {}) {
  const o = "rootStore" in e ? e.rootStore : e, r = o.useState("open"), a = o.useState("floatingElement"), l = o.useState("domReferenceElement"), s = o.context.dataRef, {
    enabled: u = !0,
    axis: p = "both"
  } = t, c = i.useRef(!1), d = i.useRef(null), [g, f] = i.useState(), [P, n] = i.useState([]), m = ee((h, v, y) => {
    c.current || s.current.openEvent && !te(s.current.openEvent) || o.set("positionReference", nt(y ?? l, {
      x: h,
      y: v,
      axis: p,
      dataRef: s,
      pointerType: g
    }));
  }), b = ee((h) => {
    r ? d.current || n([]) : m(h.clientX, h.clientY, h.currentTarget);
  }), S = Fe(g) ? a : r, C = i.useCallback(() => {
    if (!S || !u)
      return;
    const h = Ue(a);
    function v(y) {
      const O = Be(y);
      Le(a, O) ? (h.removeEventListener("mousemove", v), d.current = null) : m(y.clientX, y.clientY);
    }
    if (!s.current.openEvent || te(s.current.openEvent)) {
      h.addEventListener("mousemove", v);
      const y = () => {
        h.removeEventListener("mousemove", v), d.current = null;
      };
      return d.current = y, y;
    }
    o.set("positionReference", l);
  }, [S, u, a, s, l, o, m]);
  i.useEffect(() => C(), [C, P]), i.useEffect(() => {
    u && !a && (c.current = !1);
  }, [u, a]), i.useEffect(() => {
    !u && r && (c.current = !0);
  }, [u, r]);
  const R = i.useMemo(() => {
    function h(v) {
      f(v.pointerType);
    }
    return {
      onPointerDown: h,
      onPointerEnter: h,
      onMouseMove: b,
      onMouseEnter: b
    };
  }, [b]);
  return i.useMemo(() => u ? {
    reference: R,
    trigger: R
  } : {}, [u, R]);
}
const $ = /* @__PURE__ */ i.createContext(void 0);
process.env.NODE_ENV !== "production" && ($.displayName = "TooltipRootContext");
function U(e) {
  const t = i.useContext($);
  if (t === void 0 && !e)
    throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: TooltipRootContext is missing. Tooltip parts must be placed within <Tooltip.Root>." : B(72));
  return t;
}
const rt = {
  ...ke,
  disabled: w((e) => e.disabled),
  instantType: w((e) => e.instantType),
  isInstantPhase: w((e) => e.isInstantPhase),
  trackCursorAxis: w((e) => e.trackCursorAxis),
  disableHoverablePopup: w((e) => e.disableHoverablePopup),
  lastOpenChangeReason: w((e) => e.openChangeReason),
  closeOnClick: w((e) => e.closeOnClick),
  closeDelay: w((e) => e.closeDelay),
  hasViewport: w((e) => e.hasViewport)
};
class q extends me {
  constructor(t) {
    super({
      ...it(),
      ...t
    }, {
      popupRef: /* @__PURE__ */ i.createRef(),
      onOpenChange: void 0,
      onOpenChangeComplete: void 0,
      triggerElements: new he()
    }, rt);
  }
  setOpen = (t, o) => {
    const r = o.reason, a = r === Z, l = t && r === Ee, s = !t && (r === Oe || r === we);
    if (o.preventUnmountOnClose = () => {
      this.set("preventUnmountingOnClose", !0);
    }, this.context.onOpenChange?.(t, o), o.isCanceled)
      return;
    const u = () => {
      const p = {
        open: t,
        openChangeReason: r
      };
      l ? p.instantType = "focus" : s ? p.instantType = "dismiss" : r === Z && (p.instantType = void 0);
      const c = o.trigger?.id ?? null;
      (c || t) && (p.activeTriggerId = c, p.activeTriggerElement = o.trigger ?? null), this.update(p);
    };
    a ? De.flushSync(u) : u();
  };
  static useStore(t, o) {
    const r = Se(() => new q(o)).current, a = t ?? r, l = Me({
      popupStore: a,
      onOpenChange: a.setOpen
    });
    return a.state.floatingRootContext = l, a;
  }
}
function it() {
  return {
    ...Ve(),
    disabled: !1,
    instantType: void 0,
    isInstantPhase: !1,
    trackCursorAxis: "none",
    disableHoverablePopup: !1,
    openChangeReason: null,
    closeOnClick: !0,
    closeDelay: 0,
    hasViewport: !1
  };
}
const se = ye(function(t) {
  const {
    disabled: o = !1,
    defaultOpen: r = !1,
    open: a,
    disableHoverablePopup: l = !1,
    trackCursorAxis: s = "none",
    actionsRef: u,
    onOpenChange: p,
    onOpenChangeComplete: c,
    handle: d,
    triggerId: g,
    defaultTriggerId: f = null,
    children: P
  } = t, n = q.useStore(d?.store, {
    open: r,
    openProp: a,
    activeTriggerId: f,
    triggerIdProp: g
  });
  Re(() => {
    a === void 0 && n.state.open === !1 && r === !0 && n.update({
      open: !0,
      activeTriggerId: f
    });
  }), n.useControlledProp("openProp", a), n.useControlledProp("triggerIdProp", g), n.useContextCallback("onOpenChange", p), n.useContextCallback("onOpenChangeComplete", c);
  const m = n.useState("open"), b = !o && m, S = n.useState("activeTriggerId"), C = n.useState("payload");
  n.useSyncedValues({
    trackCursorAxis: s,
    disableHoverablePopup: l
  }), _(() => {
    m && o && n.setOpen(!1, G(Ie));
  }, [m, o, n]), n.useSyncedValue("disabled", o), Ae(n);
  const {
    forceUnmount: R,
    transitionStatus: h
  } = _e(b, n), v = n.useState("isInstantPhase"), y = n.useState("instantType"), O = n.useState("lastOpenChangeReason"), I = i.useRef(null);
  _(() => {
    h === "ending" && O === oe || h !== "ending" && v ? (y !== "delay" && (I.current = y), n.set("instantType", "delay")) : I.current !== null && (n.set("instantType", I.current), I.current = null);
  }, [h, v, O, y, n]), _(() => {
    b && S == null && n.set("payload", void 0);
  }, [n, S, b]);
  const E = i.useCallback(() => {
    n.setOpen(!1, at(n, Ne));
  }, [n]);
  i.useImperativeHandle(u, () => ({
    unmount: R,
    close: E
  }), [R, E]);
  const k = n.useState("floatingRootContext"), M = Ce(k, {
    enabled: !o,
    referencePress: () => n.select("closeOnClick")
  }), T = st(k, {
    enabled: !o && s !== "none",
    axis: s === "none" ? void 0 : s
  }), {
    getReferenceProps: N,
    getFloatingProps: D,
    getTriggerProps: V
  } = Te([M, T]), H = i.useMemo(() => N(), [N]), A = i.useMemo(() => V(), [V]), z = i.useMemo(() => D(), [D]);
  return n.useSyncedValues({
    activeTriggerProps: H,
    inactiveTriggerProps: A,
    popupProps: z
  }), /* @__PURE__ */ x($.Provider, {
    value: n,
    children: typeof P == "function" ? P({
      payload: C
    }) : P
  });
});
process.env.NODE_ENV !== "production" && (se.displayName = "TooltipRoot");
function at(e, t) {
  const o = G(t);
  return o.preventUnmountOnClose = () => {
    e.set("preventUnmountingOnClose", !0);
  }, o;
}
const J = /* @__PURE__ */ i.createContext(void 0);
process.env.NODE_ENV !== "production" && (J.displayName = "TooltipProviderContext");
function lt() {
  return i.useContext(J);
}
let ut = (function(e) {
  return e[e.popupOpen = be.popupOpen] = "popupOpen", e.triggerDisabled = "data-trigger-disabled", e;
})({});
const ct = 600, re = ve(function(t, o) {
  const {
    className: r,
    render: a,
    handle: l,
    payload: s,
    disabled: u,
    delay: p,
    closeOnClick: c = !0,
    closeDelay: d,
    id: g,
    ...f
  } = t, P = U(!0), n = l?.store ?? P;
  if (!n)
    throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: <Tooltip.Trigger> must be either used within a <Tooltip.Root> component or provided with a handle." : B(82));
  const m = ze(g), b = n.useState("isTriggerActive", m), S = n.useState("isOpenedByTrigger", m), C = n.useState("floatingRootContext"), R = i.useRef(null), h = p ?? ct, v = d ?? 0, {
    registerTrigger: y,
    isMountedByThisTrigger: O
  } = He(m, R, n, {
    payload: s,
    closeOnClick: c,
    closeDelay: v
  }), I = lt(), {
    delayRef: E,
    isInstantPhase: k,
    hasProvider: M
  } = ot(C, {
    open: S
  });
  n.useSyncedValue("isInstantPhase", k);
  const T = n.useState("disabled"), N = u ?? T, D = n.useState("trackCursorAxis"), V = n.useState("disableHoverablePopup"), H = Ge(C, {
    enabled: !N,
    mouseOnly: !0,
    move: !1,
    handleClose: !V && D !== "both" ? We() : null,
    restMs() {
      const X = I?.delay, F = typeof E.current == "object" ? E.current.open : void 0;
      let Y = h;
      return M && (F !== 0 ? Y = p ?? X ?? h : Y = 0), Y;
    },
    delay() {
      const X = typeof E.current == "object" ? E.current.close : void 0;
      let F = v;
      return d == null && M && (F = X), {
        close: F
      };
    },
    triggerElementRef: R,
    isActiveTrigger: b
  }), A = qe(C, {
    enabled: !N
  }).reference, z = {
    open: S
  }, pe = n.useState("triggerProps", O);
  return L("button", t, {
    state: z,
    ref: [o, y, R],
    props: [H, A, pe, {
      onPointerDown() {
        n.set("closeOnClick", c);
      },
      id: m,
      [ut.triggerDisabled]: N ? "" : void 0
    }, f],
    stateAttributesMapping: Pe
  });
});
process.env.NODE_ENV !== "production" && (re.displayName = "TooltipTrigger");
const K = /* @__PURE__ */ i.createContext(void 0);
process.env.NODE_ENV !== "production" && (K.displayName = "TooltipPortalContext");
function dt() {
  const e = i.useContext(K);
  if (e === void 0)
    throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: <Tooltip.Portal> is missing." : B(70));
  return e;
}
const ie = /* @__PURE__ */ i.forwardRef(function(t, o) {
  const {
    keepMounted: r = !1,
    ...a
  } = t;
  return U().useState("mounted") || r ? /* @__PURE__ */ x(K.Provider, {
    value: r,
    children: /* @__PURE__ */ x(Je, {
      ref: o,
      ...a
    })
  }) : null;
});
process.env.NODE_ENV !== "production" && (ie.displayName = "TooltipPortal");
const Q = /* @__PURE__ */ i.createContext(void 0);
process.env.NODE_ENV !== "production" && (Q.displayName = "TooltipPositionerContext");
function ae() {
  const e = i.useContext(Q);
  if (e === void 0)
    throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: TooltipPositionerContext is missing. TooltipPositioner parts must be placed within <Tooltip.Positioner>." : B(71));
  return e;
}
const le = /* @__PURE__ */ i.forwardRef(function(t, o) {
  const {
    render: r,
    className: a,
    anchor: l,
    positionMethod: s = "absolute",
    side: u = "top",
    align: p = "center",
    sideOffset: c = 0,
    alignOffset: d = 0,
    collisionBoundary: g = "clipping-ancestors",
    collisionPadding: f = 5,
    arrowPadding: P = 5,
    sticky: n = !1,
    disableAnchorTracking: m = !1,
    collisionAvoidance: b = xe,
    ...S
  } = t, C = U(), R = dt(), h = C.useState("open"), v = C.useState("mounted"), y = C.useState("trackCursorAxis"), O = C.useState("disableHoverablePopup"), I = C.useState("floatingRootContext"), E = C.useState("instantType"), k = C.useState("transitionStatus"), M = C.useState("hasViewport"), T = Ke({
    anchor: l,
    positionMethod: s,
    floatingRootContext: I,
    mounted: v,
    side: u,
    sideOffset: c,
    align: p,
    alignOffset: d,
    collisionBoundary: g,
    collisionPadding: f,
    sticky: n,
    arrowPadding: P,
    disableAnchorTracking: m,
    keepMounted: R,
    collisionAvoidance: b,
    adaptiveOrigin: M ? Qe : void 0
  }), N = i.useMemo(() => {
    const A = {};
    return (!h || y === "both" || O) && (A.pointerEvents = "none"), {
      role: "presentation",
      hidden: !v,
      style: {
        ...T.positionerStyles,
        ...A
      }
    };
  }, [h, y, O, v, T.positionerStyles]), D = i.useMemo(() => ({
    open: h,
    side: T.side,
    align: T.align,
    anchorHidden: T.anchorHidden,
    instant: y !== "none" ? "tracking-cursor" : E
  }), [h, T.side, T.align, T.anchorHidden, y, E]), V = i.useMemo(() => ({
    ...D,
    arrowRef: T.arrowRef,
    arrowStyles: T.arrowStyles,
    arrowUncentered: T.arrowUncentered
  }), [D, T.arrowRef, T.arrowStyles, T.arrowUncentered]), H = L("div", t, {
    state: D,
    props: [N, ne(k), S],
    ref: [o, C.useStateSetter("positionerElement")],
    stateAttributesMapping: j
  });
  return /* @__PURE__ */ x(Q.Provider, {
    value: V,
    children: H
  });
});
process.env.NODE_ENV !== "production" && (le.displayName = "TooltipPositioner");
const pt = {
  ...j,
  ...et
}, ue = /* @__PURE__ */ i.forwardRef(function(t, o) {
  const {
    className: r,
    render: a,
    ...l
  } = t, s = U(), {
    side: u,
    align: p
  } = ae(), c = s.useState("open"), d = s.useState("instantType"), g = s.useState("transitionStatus"), f = s.useState("popupProps"), P = s.useState("floatingRootContext");
  Ze({
    open: c,
    ref: s.context.popupRef,
    onComplete() {
      c && s.context.onOpenChangeComplete?.(!0);
    }
  });
  const n = s.useState("disabled"), m = s.useState("closeDelay");
  return $e(P, {
    enabled: !n,
    closeDelay: m
  }), L("div", t, {
    state: {
      open: c,
      side: u,
      align: p,
      instant: d,
      transitionStatus: g
    },
    ref: [o, s.context.popupRef, s.useStateSetter("popupElement")],
    props: [f, ne(g), l],
    stateAttributesMapping: pt
  });
});
process.env.NODE_ENV !== "production" && (ue.displayName = "TooltipPopup");
const ce = /* @__PURE__ */ i.forwardRef(function(t, o) {
  const {
    className: r,
    render: a,
    ...l
  } = t, u = U().useState("instantType"), {
    open: p,
    arrowRef: c,
    side: d,
    align: g,
    arrowUncentered: f,
    arrowStyles: P
  } = ae();
  return L("div", t, {
    state: {
      open: p,
      side: d,
      align: g,
      uncentered: f,
      instant: u
    },
    ref: [o, c],
    props: [{
      style: P,
      "aria-hidden": !0
    }, l],
    stateAttributesMapping: j
  });
});
process.env.NODE_ENV !== "production" && (ce.displayName = "TooltipArrow");
const de = function(t) {
  const {
    delay: o,
    closeDelay: r,
    timeout: a = 400
  } = t, l = i.useMemo(() => ({
    delay: o,
    closeDelay: r
  }), [o, r]), s = i.useMemo(() => ({
    open: o,
    close: r
  }), [o, r]);
  return /* @__PURE__ */ x(J.Provider, {
    value: l,
    children: /* @__PURE__ */ x(tt, {
      delay: s,
      timeoutMs: a,
      children: t.children
    })
  });
};
process.env.NODE_ENV !== "production" && (de.displayName = "TooltipProvider");
function Mt({
  delay: e = 0,
  ...t
}) {
  return /* @__PURE__ */ x(
    de,
    {
      "data-slot": "tooltip-provider",
      delay: e,
      ...t
    }
  );
}
function Vt({ ...e }) {
  return /* @__PURE__ */ x(se, { "data-slot": "tooltip", ...e });
}
function At({ ...e }) {
  return /* @__PURE__ */ x(re, { "data-slot": "tooltip-trigger", ...e });
}
function _t({
  className: e,
  side: t = "top",
  sideOffset: o = 4,
  align: r = "center",
  alignOffset: a = 0,
  children: l,
  ...s
}) {
  return /* @__PURE__ */ x(ie, { children: /* @__PURE__ */ x(
    le,
    {
      align: r,
      alignOffset: a,
      className: "isolate z-50",
      side: t,
      sideOffset: o,
      children: /* @__PURE__ */ fe(
        ue,
        {
          className: ge(
            "data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-open:fade-in-0 data-open:zoom-in-95 data-closed:fade-out-0 data-closed:zoom-out-95 z-50 inline-flex w-fit max-w-xs origin-(--transform-origin) items-center gap-1.5 overflow-visible rounded-md border border-foreground/10 bg-background px-3 py-1.5 text-foreground text-xs shadow-md has-data-[slot=kbd]:pr-1.5 data-[state=delayed-open]:animate-in data-closed:animate-out data-open:animate-in **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-sm dark:border-border",
            e
          ),
          "data-slot": "tooltip-content",
          ...s,
          children: [
            l,
            /* @__PURE__ */ x(ce, { className: "z-50 size-2.5 translate-y-[calc(-50%-1px)] rotate-45 rounded-[2px] border-foreground/10 bg-background fill-background data-[side=bottom]:top-1 data-[side=inline-end]:top-1/2! data-[side=inline-start]:top-1/2! data-[side=left]:top-1/2! data-[side=right]:top-1/2! data-[side=inline-start]:-right-1 data-[side=left]:-right-1 data-[side=top]:-bottom-2.5 data-[side=inline-end]:-left-1 data-[side=right]:-left-1 data-[side=inline-end]:-translate-y-1/2 data-[side=inline-start]:-translate-y-1/2 data-[side=left]:-translate-y-1/2 data-[side=right]:-translate-y-1/2 data-[side=bottom]:border-t data-[side=left]:border-t data-[side=left]:border-r data-[side=top]:border-r data-[side=right]:border-b data-[side=top]:border-b data-[side=bottom]:border-l data-[side=right]:border-l dark:border-border dark:bg-background dark:fill-background" })
          ]
        }
      )
    }
  ) });
}
export {
  Vt as Tooltip,
  _t as TooltipContent,
  Mt as TooltipProvider,
  At as TooltipTrigger
};
