ivt
Version:
Ivt Components Library
60 lines (57 loc) • 1.68 kB
TypeScript
import React__default from 'react';
interface TabConfig {
value: string;
label: string;
path?: string;
match?: string;
disabled?: boolean;
className?: string;
}
interface GenericTabsProps {
/**
* Array of tab configurations.
*/
tabs: TabConfig[];
/**
* Disables all tabs if true.
*/
isLoading?: boolean;
/**
* Custom class name for the container.
*/
className?: string;
/**
* Current path string used for matching active tab.
* Pass browser URL or current router path here to enable auto-highlighting.
* Makes the component compatible with any router (Next.js, React Router, etc).
*/
currentPath?: string;
/**
* Callback handler for navigation.
* Called with the tab's path when a tab is clicked.
* Use this to trigger your router's navigation (e.g. router.push, navigate(), etc).
*/
onNavigate?: (path: string) => void;
/**
* Optional override for active tab value.
* If provided, the component acts as controlled for the active state display.
*/
value?: string;
/**
* Custom class name for all tab triggers.
*/
triggerClassName?: string;
/**
* If true, sets the tab width to fit content on small screens (sm:min-w-fit),
* overriding the default fixed width.
*/
widthCurrent?: boolean;
/**
* Callback handler for value change.
* Triggered when a tab is clicked.
*/
onValueChange?: (value: string) => void;
}
declare const GenericTabs: React__default.FC<GenericTabsProps>;
export { GenericTabs as a };
export type { GenericTabsProps as G, TabConfig as T };