@papernote/ui
Version:
A modern React component library with a paper notebook aesthetic - minimal, professional, and expressive
63 lines • 2.03 kB
TypeScript
import React from 'react';
export type StatusType = 'success' | 'error' | 'warning' | 'info';
export interface StatusMessage {
id: string;
type: StatusType;
message: string;
timestamp: Date;
autoHide?: boolean;
autoHideDelay?: number;
persistent?: boolean;
}
export interface StatusBarProps {
className?: string;
maxMessages?: number;
defaultAutoHideDelay?: number;
/** Status message to display when no toast messages */
message?: string;
/** Connection status (online/offline/connecting) */
connectionStatus?: 'online' | 'offline' | 'connecting';
/** Show connection indicator */
showConnectionStatus?: boolean;
/** Show current time */
showTime?: boolean;
}
declare class StatusManager {
private messages;
private listeners;
addMessage(type: StatusType, message: string, options?: {
autoHide?: boolean;
autoHideDelay?: number;
persistent?: boolean;
}): string;
removeMessage(id: string): void;
clearAll(): void;
clearByType(type: StatusType): void;
subscribe(listener: (messages: StatusMessage[]) => void): () => void;
private notifyListeners;
getMessages(): StatusMessage[];
}
export declare const statusManager: StatusManager;
export declare const addSuccessMessage: (message: string, options?: {
autoHide?: boolean;
autoHideDelay?: number;
persistent?: boolean;
}) => string;
export declare const addErrorMessage: (message: string, options?: {
autoHide?: boolean;
autoHideDelay?: number;
persistent?: boolean;
}) => string;
export declare const addWarningMessage: (message: string, options?: {
autoHide?: boolean;
autoHideDelay?: number;
persistent?: boolean;
}) => string;
export declare const addInfoMessage: (message: string, options?: {
autoHide?: boolean;
autoHideDelay?: number;
persistent?: boolean;
}) => string;
export declare const StatusBar: React.FC<StatusBarProps>;
export default StatusBar;
//# sourceMappingURL=StatusBar.d.ts.map