@arolariu/components
Version:
🎨 60+ beautiful, accessible React components built on Radix UI. TypeScript-first, tree-shakeable, SSR-ready. Perfect for modern web apps, design systems & rapid prototyping. Zero config, maximum flexibility! ⚡
45 lines (44 loc) • 1.93 kB
JavaScript
"use client";
import { jsx, jsxs } from "react/jsx-runtime";
import "react";
import { Arrow, Content, Portal, Provider, Root, Trigger } from "@radix-ui/react-tooltip";
import { cn } from "../../lib/utils.js";
function TooltipProvider({ delayDuration = 0, ...props }) {
return /*#__PURE__*/ jsx(Provider, {
"data-slot": "tooltip-provider",
delayDuration: delayDuration,
...props
});
}
function Tooltip({ ...props }) {
return /*#__PURE__*/ jsx(TooltipProvider, {
children: /*#__PURE__*/ jsx(Root, {
"data-slot": "tooltip",
...props
})
});
}
function TooltipTrigger({ ...props }) {
return /*#__PURE__*/ jsx(Trigger, {
"data-slot": "tooltip-trigger",
...props
});
}
function TooltipContent({ className, sideOffset = 0, children, ...props }) {
return /*#__PURE__*/ jsx(Portal, {
children: /*#__PURE__*/ jsxs(Content, {
"data-slot": "tooltip-content",
sideOffset: sideOffset,
className: cn("bg-neutral-900 text-neutral-50 animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-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 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance dark:bg-neutral-50 dark:text-neutral-900", className),
...props,
children: [
children,
/*#__PURE__*/ jsx(Arrow, {
className: "bg-neutral-900 fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] dark:bg-neutral-50"
})
]
})
});
}
export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };
//# sourceMappingURL=tooltip.js.map