fenextjs-component
Version:
41 lines (40 loc) • 1.63 kB
TypeScript
import { use_T } from "fenextjs-hook";
import { _TProps } from "fenextjs-interface";
import React, { ReactNode } from "react";
export interface TabItemProps<T = string> {
id: T;
head: ReactNode;
body: ReactNode;
beforeTab?: ReactNode;
afterTab?: ReactNode;
useCount?: boolean;
count?: number;
singular?: ReactNode;
plural?: ReactNode;
}
export interface TabBaseProps<T = string> extends _TProps {
items?: TabItemProps<T>[];
onChange?: (item: TabItemProps<T>) => void;
defaultTab?: number;
activeTab?: number;
beforeTabs?: ReactNode;
afterTabs?: ReactNode;
tabScrollActive?: boolean;
validataTabOneHiddenHeader?: boolean;
useCount?: boolean;
}
export interface TabClassProps {
className?: string;
classNameContentHead?: string;
classNameContentBeforeHead?: string;
classNameContentAfterHead?: string;
classNameHead?: string;
classNameHeadItem?: string;
classNameHeadItemActive?: string;
classNameBody?: string;
classNameBodyItem?: string;
}
export interface TabProps<T = string> extends TabBaseProps<T>, TabClassProps {
}
export declare const parseTabCount: <T>(d: TabItemProps<T>, _t: ReturnType<typeof use_T>["_t"]) => TabItemProps<T>;
export declare const Tab: <T = string>({ className, classNameContentHead, classNameHead, classNameHeadItem, classNameHeadItemActive, classNameBody, classNameBodyItem, classNameContentAfterHead, classNameContentBeforeHead, items, defaultTab, activeTab, afterTabs, beforeTabs, onChange, tabScrollActive, validataTabOneHiddenHeader, useCount, ...props }: TabProps<T>) => React.JSX.Element;