block

Theme Mode Select

props · 8 shown · 8 total

Behavior

  • "top" "right" "bottom" "left" "top-start" "top-end" "right-start" "right-end" "bottom-start" "bottom-end" "left-start" "left-end"
    default "bottom-end"

    Placement of the menu panel relative to its trigger.

Accessibility

  • ThemeModeSelectLabels

    Localized strings — the trigger's accessible name, the menu's accessible name, and the two option names. Unset keys keep their English defaults.

Advanced

  • buttonProps deprecated
    Record<string, unknown>

    Props forwarded to the trigger `<Button>`.

  • string

    Root element id. Also seeds the menu, trigger, and option ids. Defaults to a generated value.

  • Record<string, unknown>

    Props forwarded to the internal `<Menu>` (e.g. `size`). `passThrough` is owned by the block — use this component's own `passThrough.trigger` / `passThrough.menuPanel` instead of nesting one here.

  • ThemeModeSelectPassThrough

    Per-slot escape hatch. `root` accepts `style` (merged into the slot class) and `props`; `trigger` and `menuPanel` forward onto the Menu's own `passThrough.trigger` / `passThrough.popoverPanel`.

  • boolean
    default false

    Astro / vanilla: serialize the props into `data-theme-mode-select-config` so the client runtime hydrates this instance and `getPindoba(el, "theme-mode-select")` can `update()` it. Frameworks with their own reactivity don't need it.

  • Record<string, unknown>

    Props forwarded to the trigger `<Button>` (e.g. `size`, `emphasis`).

Type

  • Components
  • Blocks