NE.Standard

Theme switcher

A button that switches the page between the light and dark theme, and wears the theme it offers.

ThemeSwitcherComponent · type key standard.theme-switcher · Actions · property blocks: ISurfaceComponent, IBorderedComponent, ITooltipComponent

Both glyphs are rendered and :root[data-ui-theme] picks one, because the shell is cached across themes.

new ThemeSwitcherComponent("theme-switcher")

Properties

PropertyTypeDefaultBindingDescription
LightIcon
SetLightIcon · BindLightIcon
stringnullone-wayThe glyph shown while the page is dark — the one that offers the light theme.
DarkIcon
SetDarkIcon · BindDarkIcon
stringnullone-wayThe glyph shown while the page is light — the one that offers the dark theme.
IconSize
SetIconSize · BindIconSize
UIIconSize?nullone-wayThe size both glyphs are drawn at.
Type
SetType · BindType
UIButtonType?UIButtonType.Ghostone-wayThe button style.
Size
SetSize · BindSize
UIButtonSize?UIButtonSize.Mediumone-wayThe button size — the box the glyph sits in.
Background
SetBackground · BindBackground
UIThemeColor?nullone-wayThe surface's background colour; unset leaves whatever the theme paints underneath.
Padding
SetPadding · BindPadding
UIResponsive<UIThickness>?nullone-wayThe inner spacing between this component's edges and its content, optionally overridden per breakpoint.
BackgroundImage
SetBackgroundImage · BindBackgroundImage
stringnullone-wayThe picture painted over the background colour, centred and never repeated: a URL or a data URI.
BackgroundImageFit
SetBackgroundImageFit · BindBackgroundImageFit
UIImageFit?UIImageFit.Coverone-wayHow the picture fills the surface.
BorderColor
SetBorderColor · BindBorderColor
UIThemeColor?nullone-wayThe border's colour, written as CSS border-color; unset leaves the stylesheet's own.
BorderThickness
SetBorderThickness · BindBorderThickness
UIThickness?nullone-wayThe border's thickness, written as CSS border-width; unset leaves the stylesheet's own.
BorderRadius
SetBorderRadius · BindBorderRadius
UICornerRadius?nullone-wayThe corner rounding, written as CSS border-radius; unset leaves the stylesheet's own.
Tooltip
SetTooltip · BindTooltip
stringnullone-wayThe tooltip shown on hover and on focus. On a button-shaped control with no title of its own — an icon button — it is also the name a screen reader gets. translatable
TooltipPlacement
SetTooltipPlacement · BindTooltipPlacement
UIPopupPlacement?UIPopupPlacement.Topone-wayThe side the tooltip prefers; flips to the opposite side when there is no room for it there.
Common properties (16) — layout, visibility, theme, and the rest every component shares
PropertyTypeDefaultBindingDescription
Visibility
SetVisibility · BindVisibility
UIResponsive<UIVisibility>?Visibleone-wayWhat the component does with the room it was given, optionally overridden per breakpoint (e.g. collapsed from a given width up).
Enabled
SetEnabled · BindEnabled
bool?trueone-wayWhether the component responds to input; false dims it and marks it, and its subtree, inert.
Theme
SetTheme · BindTheme
UIThemeMode?nullone-wayThe theme mode forced on this component's subtree, or null to inherit the ambient theme.
HorizontalAlignment
SetHorizontalAlignment · BindHorizontalAlignment
UIAlignment?UIAlignment.Stretchone-wayWhere the component sits within its grid cell along the horizontal axis.
VerticalAlignment
SetVerticalAlignment · BindVerticalAlignment
UIAlignment?UIAlignment.Stretchone-wayWhere the component sits within its grid cell along the vertical axis.
Width
SetWidth · BindWidth
UIResponsive<UILayoutLength>?nullone-wayThe component width, optionally overridden per breakpoint.
MinWidth
SetMinWidth · BindMinWidth
UIResponsive<UILayoutLength>?nullone-wayThe component minimum width, optionally overridden per breakpoint.
MaxWidth
SetMaxWidth · BindMaxWidth
UIResponsive<UILayoutLength>?nullone-wayThe component maximum width, optionally overridden per breakpoint.
Height
SetHeight · BindHeight
UIResponsive<UILayoutLength>?nullone-wayThe component height, optionally overridden per breakpoint.
MinHeight
SetMinHeight · BindMinHeight
UIResponsive<UILayoutLength>?nullone-wayThe component minimum height, optionally overridden per breakpoint.
MaxHeight
SetMaxHeight · BindMaxHeight
UIResponsive<UILayoutLength>?nullone-wayThe component maximum height, optionally overridden per breakpoint.
ZIndex
SetZIndex · BindZIndex
int?0one-wayThe stacking order within the visual tree.
Margin
SetMargin · BindMargin
UIResponsive<UIThickness>?nullone-wayThe outer spacing around the component, optionally overridden per breakpoint.
Placement
SetPlacement · BindPlacement
UIResponsive<UIGridPlacement>?nullone-wayThe grid placement, optionally overridden per breakpoint.
Loading
SetLoading · BindLoading
bool?falseone-wayWhether the component is in loading state — a live state a controller turns on and off.
ShowContextMenu
SetShowContextMenu · BindShowContextMenu
bool?trueone-wayWhether a right-click opens the IVisualComponent.ContextMenu; on a host with rows, whether it opens any row's. Off, the menu stays in the tree and nothing opens it.