UNPKG

@youwen/ai-design-system

Version:

Enterprise AI-driven design system with comprehensive design tokens

48 lines (47 loc) 2.27 kB
/** * 企业级标签页组件 * 基于 Radix Tabs 实现的可访问性标签页 */ import * as React from 'react'; import * as TabsPrimitive from '@radix-ui/react-tabs'; import type { EnterpriseTabsProps, TabItem } from './types'; declare const TabsRoot: React.ForwardRefExoticComponent<TabsPrimitive.TabsProps & React.RefAttributes<HTMLDivElement>>; declare const TabsList: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsListProps & React.RefAttributes<HTMLDivElement>, "ref"> & { variant?: "default" | "vertical" | "underline" | "pills" | undefined; size?: "default" | "sm" | "lg" | undefined; } & React.RefAttributes<HTMLDivElement>>; declare const TabsTrigger: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & { variant?: "default" | "underline" | "pills" | undefined; size?: "default" | "sm" | "lg" | undefined; icon?: React.ReactNode; } & React.RefAttributes<HTMLButtonElement>>; declare const TabsContent: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>; declare const EnterpriseTabs: React.FC<EnterpriseTabsProps>; declare const ControlledTabs: React.FC<{ tabs: TabItem[]; defaultTab?: string; onTabChange?: (value: string) => void; variant?: 'default' | 'pills' | 'underline' | 'vertical'; size?: 'sm' | 'default' | 'lg'; className?: string; }>; declare const DynamicTabs: React.FC<{ tabs: TabItem[]; closable?: boolean; addable?: boolean; onTabClose?: (value: string) => void; onTabAdd?: () => void; variant?: 'default' | 'pills' | 'underline'; size?: 'sm' | 'default' | 'lg'; className?: string; }>; declare const useTabs: (initialTabs: TabItem[], defaultValue?: string) => { tabs: TabItem[]; value: string; setValue: React.Dispatch<React.SetStateAction<string>>; addTab: (tab: TabItem) => void; removeTab: (tabValue: string) => void; updateTab: (tabValue: string, updates: Partial<TabItem>) => void; getTab: (tabValue: string) => TabItem | undefined; }; export { EnterpriseTabs, ControlledTabs, DynamicTabs, useTabs, TabsRoot, TabsList, TabsTrigger, TabsContent, };