- Updated color classes to use CSS variables for better maintainability and theming. - Refactored component styles in MembersDirectory.js to enhance visual consistency. - Adjusted loading states and empty states in NewsletterArchive.js for improved user experience. - Added new brand colors to tailwind.config.js for future use.
45 lines
1.6 KiB
JavaScript
45 lines
1.6 KiB
JavaScript
import * as React from "react";
|
|
import * as TabsPrimitive from "@radix-ui/react-tabs";
|
|
|
|
import { cn } from "@/lib/utils";
|
|
|
|
const Tabs = TabsPrimitive.Root;
|
|
|
|
const TabsList = React.forwardRef(({ className, ...props }, ref) => (
|
|
<TabsPrimitive.List
|
|
ref={ref}
|
|
className={cn(
|
|
"inline-flex h-full items-center justify-center rounded-lg gap-6 p-1 text-muted-foreground",
|
|
className
|
|
)}
|
|
{...props}
|
|
/>
|
|
));
|
|
TabsList.displayName = TabsPrimitive.List.displayName;
|
|
|
|
const TabsTrigger = React.forwardRef(({ className, ...props }, ref) => (
|
|
<TabsPrimitive.Trigger
|
|
ref={ref}
|
|
className={cn(
|
|
"inline-flex items-center justify-center whitespace-nowrap hover:bg-var(--lavender-300) border-2 border-var(--purple-lavender) rounded-2xl px-3 py-1 text-var(--purple-lavender) text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-foreground data-[state=active]:text-background data-[state=active]:border-foreground data-[state=active]:shadow",
|
|
className
|
|
)}
|
|
{...props}
|
|
/>
|
|
));
|
|
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
|
|
|
|
const TabsContent = React.forwardRef(({ className, ...props }, ref) => (
|
|
<TabsPrimitive.Content
|
|
ref={ref}
|
|
className={cn(
|
|
"mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
|
|
className
|
|
)}
|
|
{...props}
|
|
/>
|
|
));
|
|
TabsContent.displayName = TabsPrimitive.Content.displayName;
|
|
|
|
export { Tabs, TabsList, TabsTrigger, TabsContent };
|