Skip to content

Commit

Permalink
add tooltip component
Browse files Browse the repository at this point in the history
  • Loading branch information
karooolis committed Jan 9, 2025
1 parent 96b7a6e commit b59516f
Show file tree
Hide file tree
Showing 2 changed files with 64 additions and 0 deletions.
14 changes: 14 additions & 0 deletions packages/explorer/src/components/Tooltip.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import { Tooltip as RadixTooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "./ui/Tooltip";

export function Tooltip({ text, children }: { text: string; children: React.ReactNode }) {
return (
<TooltipProvider>
<RadixTooltip>
<TooltipTrigger>{children}</TooltipTrigger>
<TooltipContent>
<p className="text-xs">{text}</p>
</TooltipContent>
</RadixTooltip>
</TooltipProvider>
);
}
50 changes: 50 additions & 0 deletions packages/explorer/src/components/ui/Tooltip.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
"use client";

import * as React from "react";
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
import { cn } from "../../utils";

const TooltipProvider = TooltipPrimitive.Provider;

const Tooltip = TooltipPrimitive.Root;

const TooltipTrigger = TooltipPrimitive.Trigger;

const TooltipContent = React.forwardRef<
React.ElementRef<typeof TooltipPrimitive.Content>,
React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>
>(({ className, sideOffset = 4, ...props }, ref) => (
<TooltipPrimitive.Content
ref={ref}
sideOffset={sideOffset}
className={cn(
[
"z-50",
"overflow-hidden",
"rounded-md",
"border",
"bg-popover",
"text-popover-foreground",
"px-3",
"py-1.5",
"text-sm",
"shadow-md",
"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",
].join(" "),
className,
)}
{...props}
/>
));
TooltipContent.displayName = TooltipPrimitive.Content.displayName;

export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };

0 comments on commit b59516f

Please sign in to comment.