@bizhermit/react-sdk
Version:
React SDK
44 lines (43 loc) • 1.76 kB
TypeScript
import React, { FC, HTMLAttributes, ReactElement, ReactNode } from "react";
import { FitToOuter, Signal } from "../styles/css-var";
import { MaskHook, MaskProps } from "../popups/mask";
declare type TabKey = string | number;
export declare type TabContainerHook = {
selectTab: (tabKey: TabKey) => void;
showMask: (props?: MaskProps) => void;
closeMask: () => void;
};
export declare type TabContentAttributes = {
key: TabKey;
title: string | ReactNode;
$selected?: () => void;
$signal?: Signal;
children?: ReactNode;
};
export declare type TabContentWrapperFC<P = {}> = FC<P & TabContentAttributes>;
export declare type TabContentFC<P = {}> = TabContentWrapperFC<P & {
$$mask?: MaskHook;
}>;
export declare const TabContentWrapper: TabContentWrapperFC;
export declare type TabContainerAttributes = HTMLAttributes<HTMLDivElement> & {
$fto?: FitToOuter;
$hook?: TabContainerHook;
$defaultKey?: TabKey;
$selected?: (key: TabKey) => void;
$calcTabWidth?: boolean;
$signal?: Signal;
$navigationBackgroundColor?: boolean;
children: ReactElement<TabContentAttributes> | Array<ReactElement<TabContentAttributes>>;
};
declare const TabContainer: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
$fto?: FitToOuter;
$hook?: TabContainerHook;
$defaultKey?: TabKey;
$selected?: (key: TabKey) => void;
$calcTabWidth?: boolean;
$signal?: Signal;
$navigationBackgroundColor?: boolean;
children: ReactElement<TabContentAttributes> | Array<ReactElement<TabContentAttributes>>;
} & React.RefAttributes<HTMLDivElement>>;
export declare const useTabContainer: () => TabContainerHook;
export default TabContainer;