UNPKG

@asgardeo/browser

Version:

Browser-specific implementation of Asgardeo JavaScript SDK.

41 lines (40 loc) 1.63 kB
/** * Copyright (c) 2025, WSO2 LLC. (https://www.wso2.com). * * WSO2 LLC. licenses this file to you under the Apache License, * Version 2.0 (the "License"); you may not use this file except * in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ import { ThemeDetection, ThemeMode } from '@asgardeo/javascript'; /** * Extended theme detection config that includes DOM-specific options */ export interface BrowserThemeDetection extends ThemeDetection { /** * The element to observe for class changes * @default document.documentElement (html element) */ targetElement?: HTMLElement; } /** * Detects the current theme mode based on the specified method */ export declare const detectThemeMode: (mode: ThemeMode, config?: BrowserThemeDetection) => "light" | "dark"; /** * Creates a MutationObserver to watch for class changes on the target element */ export declare const createClassObserver: (targetElement: HTMLElement, callback: (isDark: boolean) => void, config?: BrowserThemeDetection) => MutationObserver; /** * Creates a media query listener for system theme changes */ export declare const createMediaQueryListener: (callback: (isDark: boolean) => void) => MediaQueryList | null;