import { CSSResultGroup, LitElement, PropertyValues } from "lit"; import { ColorScheme } from "./ColorScheme"; import { ContrastLevel } from "./ContrastLevel"; import { MotionScheme } from "./MotionScheme"; import { ThemeVariant } from "./ThemeVariant"; /** * A non-visual element responsible for application-level theming. * * @description * The `m3e-theme` component is a non-visual element used to apply dynamic color, expressive motion, density, and strong focus indicators * to nested, theme-aware elements. * * When `m3e-theme` is nested directly beneath the `
` of a document, the ``'s `background-color` is set to the computed * value of `--md-sys-color-background` and `color` is set to the computed value of `--md-sys-color-on-background`. In addition, * the document's `scrollbar-color` is set to the computed values of `--m3e-scrollbar-thumb-color` and `--m3e-scrollbar-track-color` which, * when supported, cascades to all viewport scrollbars. * * @example * The following example adds a top-level `m3e-theme` directly beneath a document's `` element to * apply application-level theming. In this example, `color` and `scheme` are used to create a dynamic color * palette which automatically adjusts to a user's light or dark color preference. In addition, expressive motion * and strong focus indicators are enabled. * * ```html * *