47 lines
1.4 KiB
TypeScript
47 lines
1.4 KiB
TypeScript
import React from 'react';
|
|
export type LoadingVariant = 'spinner' | 'progress' | 'skeleton-table' | 'skeleton-cards' | 'skeleton-form' | 'skeleton-text' | 'dots' | 'overlay';
|
|
export type LoadingSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
export interface LoadingStateProps {
|
|
variant?: LoadingVariant;
|
|
size?: LoadingSize;
|
|
height?: number | string;
|
|
message?: string;
|
|
submessage?: string;
|
|
progress?: number;
|
|
progressLabel?: string;
|
|
rows?: number;
|
|
columns?: number;
|
|
color?: string;
|
|
withContainer?: boolean;
|
|
animate?: boolean;
|
|
}
|
|
declare const LoadingState: React.FC<LoadingStateProps>;
|
|
export default LoadingState;
|
|
export declare const TableLoadingState: React.FC<{
|
|
rows?: number;
|
|
columns?: number;
|
|
}>;
|
|
export declare const CardsLoadingState: React.FC<{
|
|
count?: number;
|
|
columns?: number;
|
|
}>;
|
|
export declare const FormLoadingState: React.FC<{
|
|
fields?: number;
|
|
}>;
|
|
export declare const PageLoadingState: React.FC<{
|
|
message?: string;
|
|
}>;
|
|
export declare const InlineLoadingState: React.FC<{
|
|
message?: string;
|
|
size?: LoadingSize;
|
|
}>;
|
|
export declare const useLoadingState: (initialLoading?: boolean) => {
|
|
loading: boolean;
|
|
progress: number;
|
|
startLoading: () => void;
|
|
stopLoading: () => void;
|
|
updateProgress: (value: number) => void;
|
|
setLoading: React.Dispatch<React.SetStateAction<boolean>>;
|
|
setProgress: React.Dispatch<React.SetStateAction<number>>;
|
|
};
|