#[non_exhaustive]pub struct Theme {
pub id: SharedString,
pub appearance: Appearance,
pub colors: ThemeColors,
pub layout: LayoutTheme,
pub components: ComponentThemes,
}Expand description
A complete HeroUI v3 theme: semantic colors plus layout tokens.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.id: SharedStringUnique id the theme is registered and activated under.
appearance: AppearanceWhether the theme is light or dark.
colors: ThemeColorsSemantic color tokens.
layout: LayoutThemeLayout tokens: radii, border width, shadows, opacities and timings.
components: ComponentThemesTyped component defaults and named recipes.
Implementations§
Source§impl Theme
impl Theme
Sourcepub fn builder(id: impl Into<SharedString>, base: Theme) -> ThemeBuilder
pub fn builder(id: impl Into<SharedString>, base: Theme) -> ThemeBuilder
Starts a custom theme extending base — the equivalent of overriding
CSS variables under a [data-theme] selector.
A JSON document of the same sparse overrides lives behind this crate’s
serde feature (ThemeDocument): it applies through this builder so
derived hover / soft mixes stay live.
Sourcepub fn is_dark(&self) -> bool
pub fn is_dark(&self) -> bool
Whether this theme’s appearance is Appearance::Dark.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Theme
impl RefUnwindSafe for Theme
impl Send for Theme
impl Sync for Theme
impl Unpin for Theme
impl UnsafeUnpin for Theme
impl UnwindSafe for Theme
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more