A quick vibe-coded site to test response times of PLC.directory mirrors (over 3 attempts)
1import * as React from "react";
2import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
3
4import { cn } from "@/lib/utils";
5
6const ScrollArea = React.forwardRef<
7 React.ElementRef<typeof ScrollAreaPrimitive.Root>,
8 React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>
9>(({ className, children, ...props }, ref) => (
10 <ScrollAreaPrimitive.Root ref={ref} className={cn("relative overflow-hidden", className)} {...props}>
11 <ScrollAreaPrimitive.Viewport className="h-full w-full rounded-[inherit]">{children}</ScrollAreaPrimitive.Viewport>
12 <ScrollBar />
13 <ScrollAreaPrimitive.Corner />
14 </ScrollAreaPrimitive.Root>
15));
16ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
17
18const ScrollBar = React.forwardRef<
19 React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,
20 React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>
21>(({ className, orientation = "vertical", ...props }, ref) => (
22 <ScrollAreaPrimitive.ScrollAreaScrollbar
23 ref={ref}
24 orientation={orientation}
25 className={cn(
26 "flex touch-none select-none transition-colors",
27 orientation === "vertical" && "h-full w-2.5 border-l border-l-transparent p-[1px]",
28 orientation === "horizontal" && "h-2.5 flex-col border-t border-t-transparent p-[1px]",
29 className,
30 )}
31 {...props}
32 >
33 <ScrollAreaPrimitive.ScrollAreaThumb className="relative flex-1 rounded-full bg-border" />
34 </ScrollAreaPrimitive.ScrollAreaScrollbar>
35));
36ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
37
38export { ScrollArea, ScrollBar };