mirror of
https://github.com/bitwarden/jslib
synced 2026-01-08 03:23:15 +00:00
41 lines
1.7 KiB
TypeScript
41 lines
1.7 KiB
TypeScript
import { DeviceType } from '../enums/deviceType';
|
|
import { ThemeType } from '../enums/themeType';
|
|
|
|
interface ToastOptions {
|
|
timeout?: number;
|
|
}
|
|
|
|
export abstract class PlatformUtilsService {
|
|
identityClientId: string;
|
|
getDevice: () => DeviceType;
|
|
getDeviceString: () => string;
|
|
isFirefox: () => boolean;
|
|
isChrome: () => boolean;
|
|
isEdge: () => boolean;
|
|
isOpera: () => boolean;
|
|
isVivaldi: () => boolean;
|
|
isSafari: () => boolean;
|
|
isIE: () => boolean;
|
|
isMacAppStore: () => boolean;
|
|
isViewOpen: () => Promise<boolean>;
|
|
launchUri: (uri: string, options?: any) => void;
|
|
saveFile: (win: Window, blobData: any, blobOptions: any, fileName: string) => void;
|
|
getApplicationVersion: () => Promise<string>;
|
|
supportsWebAuthn: (win: Window) => boolean;
|
|
supportsDuo: () => boolean;
|
|
showToast: (type: 'error' | 'success' | 'warning' | 'info', title: string, text: string | string[],
|
|
options?: ToastOptions) => void;
|
|
showDialog: (body: string, title?: string, confirmText?: string, cancelText?: string,
|
|
type?: string, bodyIsHtml?: boolean) => Promise<boolean>;
|
|
isDev: () => boolean;
|
|
isSelfHost: () => boolean;
|
|
copyToClipboard: (text: string, options?: any) => void | boolean;
|
|
readFromClipboard: (options?: any) => Promise<string>;
|
|
supportsBiometric: () => Promise<boolean>;
|
|
authenticateBiometric: () => Promise<boolean>;
|
|
getDefaultSystemTheme: () => Promise<ThemeType.Light | ThemeType.Dark>;
|
|
onDefaultSystemThemeChange: (callback: ((theme: ThemeType.Light | ThemeType.Dark) => unknown)) => unknown;
|
|
getEffectiveTheme: () => Promise<ThemeType>;
|
|
supportsSecureStorage: () => boolean;
|
|
}
|