import type { ITheme } from '@breadstone/mosaik-themes'; import { CustomElement } from '../Controls/Components/Abstracts/CustomElement'; import { IThemeElementProps } from './IThemeElementProps'; import type { IThemeProvider } from './IThemeService'; /** * The `Theme2Element` element. * * This element delegates all theme application logic to `ThemeService`, * which can also be used independently without this element. * * @public */ export declare class Theme2Element extends CustomElement implements IThemeElementProps, IThemeProvider { private _name; private _theme; private _global; /** * @public */ constructor(); /** * Returns the `is` property. * The `is` property represents natural name of this element. * * @public * @static * @readonly */ static get is(): string; /** * Gets or sets the `name` property. * When set, this element will only respond to theme changes for this specific name. * When null (default), responds to global/default theme changes. * * @public */ get name(): string | null; set name(value: string | null); /** * Gets or sets the `theme` property. * If no local theme is set, returns the theme from ThemeService for this element's name. * * @public */ get theme(): ITheme | null; set theme(value: ITheme | null); /** * Gets or sets the `global` property. * When true, CSS variables are applied both locally and globally. * When false (default), CSS variables are only applied locally to this element. * * @public */ get global(): boolean; set global(value: boolean); /** * @public * @override */ connectedCallback(): void; /** * @public * @override */ disconnectedCallback(): void; /** * Applies the complete theme. * Called by ThemeService to update this provider's internal state. * CSS variables are handled by ThemeService directly. * * @public * @param theme The theme to apply. */ applyTheme(theme: ITheme | null): void; /** * Applies the scheme (light/dark mode color roles) from the theme. * Called by ThemeService to update this provider's internal state. * * @public * @param scheme The scheme to apply. */ applyScheme(scheme: ITheme['scheme']): void; /** * Applies the color palette from the theme. * Called by ThemeService to update this provider's internal state. * * @public * @param palette The palette to apply. */ applyPalette(palette: ITheme['palette']): void; /** * Applies the font family from the theme. * Called by ThemeService to update this provider's internal state. * * @public * @param fontFamily The font family to apply. */ applyFontFamily(fontFamily: ITheme['fontFamily']): void; /** * Applies the typography settings from the theme. * Called by ThemeService to update this provider's internal state. * * @public * @param typography The typography settings to apply. */ applyTypography(typography: ITheme['typography']): void; /** * Applies the layout settings from the theme. * Called by ThemeService to update this provider's internal state. * * @public * @param layout The layout settings to apply. */ applyLayout(layout: ITheme['layout']): void; /** * Applies the elevation (shadow) settings from the theme. * Called by ThemeService to update this provider's internal state. * * @public * @param elevation The elevation settings to apply. */ applyElevation(elevation: ITheme['elevation']): void; /** * Called when the theme property changes. * Delegates to ThemeService for CSS variable management. * * @protected */ protected onThemePropertyChanged(prev?: ITheme, next?: ITheme): void; } export declare namespace Theme2Element { type Props = IThemeElementProps; } /** * @public */ declare global { interface HTMLElementTagNameMap { 'mosaik-theme2': Theme2Element; } } //# sourceMappingURL=Theme2Element.d.ts.map