watercolor-ui
Version:
A modern minimalist cross-framework component library
296 lines • 8.69 kB
TypeScript
export function getDefaultManager(): any;
/**
* Show success snackbar with enhanced options
* @param {string} message - Message text
* @param {Object} options - Additional options
* @returns {string} Snackbar ID
*/
export function showSuccess(message: string, options?: Object): string;
/**
* Show warning snackbar with enhanced options
* @param {string} message - Message text
* @param {Object} options - Additional options
* @returns {string} Snackbar ID
*/
export function showWarning(message: string, options?: Object): string;
/**
* Show error snackbar with enhanced options
* @param {string} message - Message text
* @param {Object} options - Additional options
* @returns {string} Snackbar ID
*/
export function showError(message: string, options?: Object): string;
/**
* Show info snackbar with enhanced options
* @param {string} message - Message text
* @param {Object} options - Additional options
* @returns {string} Snackbar ID
*/
export function showInfo(message: string, options?: Object): string;
/**
* Show snackbar with custom options
* @param {string} message - Message text
* @param {Object} options - Snackbar options
* @returns {string} Snackbar ID
*/
export function show(message: string, options?: Object): string;
/**
* Hide snackbar by ID
* @param {string} id - Snackbar ID
*/
export function hide(id: string): void;
/**
* Hide all snackbars
*/
export function hideAll(): void;
/**
* Get snackbar icon
* @param {string} severity - Severity type
* @returns {string} Icon character
*/
export function getSnackbarIcon(severity: string): string;
/**
* Get snackbar colors
* @param {string} severity - Severity type
* @returns {Object} Color object
*/
export function getSnackbarColors(severity: string): Object;
/**
* Validate snackbar position
* @param {string} position - Position string
* @returns {boolean} Is valid position
*/
export function isValidPosition(position: string): boolean;
/**
* Validate snackbar severity
* @param {string} severity - Severity string
* @returns {boolean} Is valid severity
*/
export function isValidSeverity(severity: string): boolean;
/**
* Get enhanced container classes
* @param {Object} props - Component props
* @returns {string} CSS classes
*/
export function getContainerClasses(props?: Object): string;
/**
* Get enhanced snackbar classes
* @param {Object} props - Component props
* @returns {string} CSS classes
*/
export function getSnackbarClasses(props?: Object): string;
/**
* Get animation classes by position
* @param {string} position - Position
* @param {string} state - Animation state
* @returns {string} Animation classes
*/
export function getAnimationByPosition(position: string, state?: string): string;
/**
* Calculate progress percentage
* @param {number} elapsed - Elapsed time
* @param {number} duration - Total duration
* @returns {number} Progress percentage
*/
export function calculateProgress(elapsed: number, duration: number): number;
/**
* Enhanced validation for options
* @param {Object} options - Options to validate
* @returns {Object} Validated and normalized options
*/
export function validateOptions(options?: Object): Object;
/**
* Get ARIA attributes for accessibility
* @param {Object} props - Component props
* @returns {Object} ARIA attributes
*/
export function getAriaAttributes(props?: Object): Object;
/**
* Create error snackbar from Error object
* @param {Error} error - Error object
* @param {Object} options - Additional options
* @returns {string} Snackbar ID
*/
export function createErrorSnackbar(error: Error, options?: Object): string;
/**
* Format duration for display
* @param {number} duration - Duration in milliseconds
* @returns {string} Formatted duration
*/
export function formatDuration(duration: number): string;
/**
* Truncate message if too long
* @param {string} message - Original message
* @param {number} maxLength - Maximum length
* @returns {string} Truncated message
*/
export function truncateMessage(message: string, maxLength?: number): string;
/**
* Debounce snackbar calls to prevent spam
* @param {Function} func - Function to debounce
* @param {number} delay - Delay in milliseconds
* @returns {Function} Debounced function
*/
export function debounceSnackbar(func: Function, delay?: number): Function;
export namespace SNACKBAR_POSITIONS {
let topLeft: string;
let topCenter: string;
let topRight: string;
let bottomLeft: string;
let bottomCenter: string;
let bottomRight: string;
}
export namespace SNACKBAR_SEVERITIES {
export let success: string;
export let warning: string;
export let error: string;
export let info: string;
let _default: string;
export { _default as default };
}
export namespace SNACKBAR_VARIANTS {
let filled: string;
let outlined: string;
let minimal: string;
let elevated: string;
let standard: string;
}
export namespace ANIMATION_TYPES {
let slideUp: string;
let slideDown: string;
let slideLeft: string;
let slideRight: string;
let fade: string;
}
export namespace ICON_MAP {
let success_1: string;
export { success_1 as success };
let info_1: string;
export { info_1 as info };
let warning_1: string;
export { warning_1 as warning };
let error_1: string;
export { error_1 as error };
}
export namespace COLOR_MAP {
export namespace info_2 {
let bg: string;
let text: string;
let border: string;
}
export { info_2 as info };
export namespace success_2 {
let bg_1: string;
export { bg_1 as bg };
let text_1: string;
export { text_1 as text };
let border_1: string;
export { border_1 as border };
}
export { success_2 as success };
export namespace warning_2 {
let bg_2: string;
export { bg_2 as bg };
let text_2: string;
export { text_2 as text };
let border_2: string;
export { border_2 as border };
}
export { warning_2 as warning };
export namespace error_2 {
let bg_3: string;
export { bg_3 as bg };
let text_3: string;
export { text_3 as text };
let border_3: string;
export { border_3 as border };
}
export { error_2 as error };
}
export const DEFAULT_DURATION: 6000;
export const PERSIST_DURATION: -1;
/**
* Enhanced Snackbar Manager Class
* Manages multiple snackbars with queue, positioning, and lifecycle
* Integrated with Toast functionality
*/
export class SnackbarManager {
constructor(config?: {});
snackbars: Map<any, any>;
queue: any[];
maxVisible: any;
defaultPosition: any;
defaultDuration: any;
nextId: number;
containers: Map<any, any>;
/**
* Show a snackbar with enhanced options
* @param {Object} options - Enhanced snackbar options
* @returns {string} Snackbar ID
*/
show(options?: Object): string;
/**
* Hide a snackbar by ID
* @param {string} id - Snackbar ID
*/
hide(id: string): void;
/**
* Hide all snackbars
*/
hideAll(): void;
/**
* Create enhanced snackbar object
* @param {Object} options - Snackbar options
* @returns {Object} Enhanced snackbar object
*/
createSnackbar(options: Object): Object;
/**
* Check if snackbar should be queued
* @param {Object} snackbar - Snackbar object
* @returns {boolean} Should queue
*/
shouldQueue(snackbar: Object): boolean;
/**
* Get visible snackbar count for position
* @param {string} position - Position
* @returns {number} Count
*/
getVisibleCount(position: string): number;
/**
* Display snackbar
* @param {Object} snackbar - Snackbar object
*/
displaySnackbar(snackbar: Object): void;
/**
* Remove snackbar
* @param {string} id - Snackbar ID
*/
removeSnackbar(id: string): void;
/**
* Process queue to show next snackbar
*/
processQueue(): void;
/**
* Pause snackbar timer
* @param {string} id - Snackbar ID
*/
pauseTimer(id: string): void;
/**
* Resume snackbar timer
* @param {string} id - Snackbar ID
*/
resumeTimer(id: string): void;
/**
* Get all snackbars by position
* @param {string} position - Position
* @returns {Array} Snackbars
*/
getSnackbarsByPosition(position: string): any[];
/**
* Get snackbar by ID
* @param {string} id - Snackbar ID
* @returns {Object} Snackbar
*/
getSnackbar(id: string): Object;
}
//# sourceMappingURL=utils.d.ts.map