UNPKG

@loke/ui

Version:
55 lines (54 loc) 2.94 kB
import { Primitive } from "@loke/ui/primitive"; import * as RovingFocusGroup from "@loke/ui/roving-focus"; import { type ComponentPropsWithoutRef } from "react"; declare const createTabsScope: import("@loke/ui/context").CreateScope; type RovingFocusGroupProps = ComponentPropsWithoutRef<typeof RovingFocusGroup.Root>; type PrimitiveDivProps = ComponentPropsWithoutRef<typeof Primitive.div>; interface TabsProps extends PrimitiveDivProps { /** * Whether a tab is activated automatically or manually. * @defaultValue automatic */ activationMode?: "automatic" | "manual"; /** The value of the tab to select by default, if uncontrolled */ defaultValue?: string; /** * The direction of navigation between toolbar items. */ dir?: RovingFocusGroupProps["dir"]; /** A function called when a new tab is selected */ onValueChange?: (value: string) => void; /** * The orientation the tabs are layed out. * Mainly so arrow navigation is done accordingly (left & right vs. up & down) * @defaultValue horizontal */ orientation?: RovingFocusGroupProps["orientation"]; /** The value for the selected tab, if controlled */ value?: string; } declare const Tabs: import("react").ForwardRefExoticComponent<TabsProps & import("react").RefAttributes<HTMLDivElement>>; interface TabsListProps extends PrimitiveDivProps { loop?: RovingFocusGroupProps["loop"]; } declare const TabsList: import("react").ForwardRefExoticComponent<TabsListProps & import("react").RefAttributes<HTMLDivElement>>; type PrimitiveButtonProps = ComponentPropsWithoutRef<typeof Primitive.button>; interface TabsTriggerProps extends PrimitiveButtonProps { value: string; } declare const TabsTrigger: import("react").ForwardRefExoticComponent<TabsTriggerProps & import("react").RefAttributes<HTMLButtonElement>>; interface TabsContentProps extends PrimitiveDivProps { /** * Used to force mounting when more control is needed. Useful when * controlling animation with React animation libraries. */ forceMount?: true; value: string; } declare const TabsContent: import("react").ForwardRefExoticComponent<TabsContentProps & import("react").RefAttributes<HTMLDivElement>>; declare const Root: import("react").ForwardRefExoticComponent<TabsProps & import("react").RefAttributes<HTMLDivElement>>; declare const List: import("react").ForwardRefExoticComponent<TabsListProps & import("react").RefAttributes<HTMLDivElement>>; declare const Trigger: import("react").ForwardRefExoticComponent<TabsTriggerProps & import("react").RefAttributes<HTMLButtonElement>>; declare const Content: import("react").ForwardRefExoticComponent<TabsContentProps & import("react").RefAttributes<HTMLDivElement>>; export { createTabsScope, Tabs, TabsList, TabsTrigger, TabsContent, Root, List, Trigger, Content, }; export type { TabsProps, TabsListProps, TabsTriggerProps, TabsContentProps };