48 lines
1.7 KiB
TypeScript
48 lines
1.7 KiB
TypeScript
import React from 'react';
|
|
import { TablerIconsProps } from '@tabler/icons-react';
|
|
export type EmptyStateVariant = 'no-data' | 'no-results' | 'error' | 'loading-failed' | 'access-denied' | 'coming-soon';
|
|
export type EmptyStateContext = 'users' | 'applications' | 'functions' | 'tokens' | 'executions' | 'permissions' | 'audit' | 'generic';
|
|
export interface EmptyStateAction {
|
|
label: string;
|
|
onClick: () => void;
|
|
variant?: 'filled' | 'light' | 'outline';
|
|
color?: string;
|
|
leftSection?: React.ReactNode;
|
|
}
|
|
export interface EmptyStateProps {
|
|
variant?: EmptyStateVariant;
|
|
context?: EmptyStateContext;
|
|
title?: string;
|
|
message?: string;
|
|
icon?: React.ComponentType<TablerIconsProps>;
|
|
iconSize?: number;
|
|
iconColor?: string;
|
|
actions?: EmptyStateAction[];
|
|
height?: number | string;
|
|
}
|
|
declare const EmptyState: React.FC<EmptyStateProps & {
|
|
onAdd?: () => void;
|
|
onRefresh?: () => void;
|
|
onClearFilters?: () => void;
|
|
}>;
|
|
export default EmptyState;
|
|
export declare const NoUsersState: React.FC<Omit<EmptyStateProps, 'context' | 'variant'> & {
|
|
onAddUser?: () => void;
|
|
}>;
|
|
export declare const NoApplicationsState: React.FC<Omit<EmptyStateProps, 'context' | 'variant'> & {
|
|
onCreateApp?: () => void;
|
|
}>;
|
|
export declare const NoFunctionsState: React.FC<Omit<EmptyStateProps, 'context' | 'variant'> & {
|
|
onCreateFunction?: () => void;
|
|
}>;
|
|
export declare const NoTokensState: React.FC<Omit<EmptyStateProps, 'context' | 'variant'> & {
|
|
onGenerateToken?: () => void;
|
|
}>;
|
|
export declare const NoSearchResults: React.FC<Omit<EmptyStateProps, 'variant'> & {
|
|
onClearFilters?: () => void;
|
|
onRefresh?: () => void;
|
|
}>;
|
|
export declare const ErrorState: React.FC<Omit<EmptyStateProps, 'variant'> & {
|
|
onRetry?: () => void;
|
|
}>;
|