@trycourier/courier-ui-inbox
Version:
Inbox components for the Courier web UI
32 lines (31 loc) • 1.32 kB
TypeScript
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;
}