@spark-ui/components
Version:
Spark (Leboncoin design system) components.
104 lines (96 loc) • 3.98 kB
TypeScript
import * as react_jsx_runtime from 'react/jsx-runtime';
import { Tabs as Tabs$2 } from 'radix-ui';
import { PropsWithChildren, Ref, ReactElement } from 'react';
import * as class_variance_authority_types from 'class-variance-authority/types';
import { VariantProps } from 'class-variance-authority';
declare const triggerVariants: (props?: ({
intent?: "main" | "support" | "basic" | null | undefined;
size?: "xs" | "sm" | "md" | null | undefined;
} & class_variance_authority_types.ClassProp) | undefined) => string;
type TabsTriggerVariantsProps = VariantProps<typeof triggerVariants>;
interface TabsProps extends Omit<Tabs$2.TabsProps, 'activationMode'>, PropsWithChildren<TabsTriggerVariantsProps> {
/**
* Change the component to the HTML tag or custom component of the only child. This will merge the original component props with the props of the supplied element/component and change the underlying DOM node.
* @default false
*/
asChild?: boolean;
/**
* Whether to keep inactive tabs content in the DOM.
* @default false
*/
forceMount?: boolean;
ref?: Ref<HTMLDivElement>;
}
/**
* @deprecated
*/
type TabsRootProps = TabsProps;
declare const Tabs$1: {
({ intent, size, asChild, forceMount, orientation, children, className, ref, ...rest }: TabsProps): react_jsx_runtime.JSX.Element;
displayName: string;
};
interface TabsContentProps extends PropsWithChildren<Omit<Tabs$2.TabsContentProps, 'forceMount'>> {
/**
* A unique value that associates the content with a trigger.
*/
value: string;
/**
* Change the component to the HTML tag or custom component of the only child. This will merge the original component props with the props of the supplied element/component and change the underlying DOM node.
* @default false
*/
asChild?: boolean;
/**
* Used to force mounting when more control is needed. Useful when controlling animation with React animation libraries.
*/
forceMount?: true;
ref?: Ref<HTMLDivElement>;
}
declare const TabsContent: {
({ children, asChild, className, ref, ...rest }: TabsContentProps): react_jsx_runtime.JSX.Element;
displayName: string;
};
interface TabsListProps extends Omit<Tabs$2.TabsListProps, 'children'> {
/**
* Change the component to the HTML tag or custom component of the only child. This will merge the original component props with the props of the supplied element/component and change the underlying DOM node.
* @default false
*/
asChild?: boolean;
/**
* When true, keyboard navigation will loop from last tab to first, and vice versa.
* @default false
*/
loop?: boolean;
children: ReactElement[] | ReactElement;
ref?: Ref<HTMLDivElement>;
}
declare const TabsList: {
({ asChild, loop, children, className, ref, ...rest }: TabsListProps): react_jsx_runtime.JSX.Element;
displayName: string;
};
interface TabsTriggerProps extends Tabs$2.TabsTriggerProps {
/**
* A unique value that associates the trigger with a content.
*/
value: string;
/**
* Change the component to the HTML tag or custom component of the only child. This will merge the original component props with the props of the supplied element/component and change the underlying DOM node.
* @default false
*/
asChild?: boolean;
/**
* When true, prevents the user from interacting with the tab.
* @default false
*/
disabled?: boolean;
ref?: Ref<HTMLButtonElement>;
}
declare const TabsTrigger: {
({ asChild, value, disabled, children, className, ref, ...rest }: TabsTriggerProps): react_jsx_runtime.JSX.Element;
displayName: string;
};
declare const Tabs: typeof Tabs$1 & {
List: typeof TabsList;
Trigger: typeof TabsTrigger;
Content: typeof TabsContent;
};
export { Tabs, type TabsContentProps, type TabsListProps, type TabsProps, type TabsRootProps, type TabsTriggerProps };