UNPKG

@trycourier/courier-ui-inbox

Version:

Inbox components for the Courier web UI

32 lines (31 loc) 1.32 kB
import { CourierThemeManager, CourierThemeSubscription, SystemThemeMode } from '@trycourier/courier-ui-core'; import { CourierInboxTheme } from './courier-inbox-theme'; export interface CourierInboxThemeSubscription extends CourierThemeSubscription<CourierInboxTheme> { manager: CourierInboxThemeManager; } /** * Inbox-specific theme manager that extends the abstract CourierThemeManager. * Provides inbox theme management with light/dark mode support. */ export declare class CourierInboxThemeManager extends CourierThemeManager<CourierInboxTheme> { protected readonly THEME_CHANGE_EVENT: string; constructor(initialTheme: CourierInboxTheme); /** * Get the default light theme for inbox */ protected getDefaultLightTheme(): CourierInboxTheme; /** * Get the default dark theme for inbox */ protected getDefaultDarkTheme(): CourierInboxTheme; /** * Merge the inbox theme with defaults */ protected mergeTheme(mode: SystemThemeMode, theme: CourierInboxTheme): CourierInboxTheme; /** * Subscribe to inbox theme changes * @param callback - Function to run when the theme changes * @returns Object with unsubscribe method to stop listening */ subscribe(callback: (theme: CourierInboxTheme) => void): CourierInboxThemeSubscription; }