/* * Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved. * This file is licensed 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 https://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 REPRESENTATIONS * OF ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ import "client-only"; import { PropsWithChildren } from "react"; import * as react_jsx_runtime16 from "react/jsx-runtime"; import { PartialDeep } from "type-fest"; import { DomainColorTokens, SemanticColorTokens, ThemeTokens } from "@accelint/design-foundation/tokens/types"; //#region src/providers/theme-provider.d.ts /** Theme mode for light or dark appearance */ type ThemeMode = 'dark' | 'light'; type ContextColorTokens = SemanticColorTokens & DomainColorTokens; type ThemeContextValue = { mode: ThemeMode; tokens: ContextColorTokens; toggleMode: (mode: ThemeMode) => void; }; type ThemeProviderProps = PropsWithChildren & { defaultMode?: ThemeMode; onChange?: (mode: ThemeMode) => void; /** override existing values in the theme */ overrides?: PartialDeep; }; /** * Provides theme context with mode toggling and token overrides * * @param props - {@link ThemeProviderProps} * @param props.children - Content to render within the theme context. * @param props.defaultMode - Initial theme mode (defaults to 'dark'). * @param props.onChange - Callback when theme mode changes. * @param props.overrides - Partial overrides for theme tokens. * @returns The theme provider wrapping children. */ declare function ThemeProvider({ children, defaultMode, onChange, overrides }: ThemeProviderProps): react_jsx_runtime16.JSX.Element; /** * Access the current theme context * * @returns Theme context with mode, tokens, and toggleMode function. */ declare function useTheme(): ThemeContextValue; //#endregion export { ThemeMode, ThemeProvider, useTheme }; //# sourceMappingURL=theme-provider.d.ts.map