import React, { forwardRef, type ComponentPropsWithoutRef, type ElementRef, type PropsWithChildren, type ReactNode, } from 'react'; import { Trigger } from '@radix-ui/react-tabs'; import { tabsTheme } from 'components/shared/Tabs/Tabs.theme'; import { useTabs } from 'components/shared/Tabs/TabsProvider'; export interface TabsTriggerProps extends ComponentPropsWithoutRef { /** * The icon to display in the trigger. */ icon?: ReactNode; } /** * A component that represents the trigger for the tabs component. */ const TabsTrigger = forwardRef< ElementRef, PropsWithChildren >(({ className, icon, children, ...props }, ref) => { const config = useTabs(); const { triggerWrapper, trigger } = tabsTheme(config); const orientation = config.orientation; return ( {/* Need to add button in the trigger children because there's focus state inside the children */} ); }); TabsTrigger.displayName = 'TabsTrigger'; export { TabsTrigger };