ThemeToggle
experimentalLa API puede cambiar sin una versión mayor. Desde la versión 0.1.0.
Botón que alterna el tema entre sistema, oscuro y claro, recuerda la elección y la anuncia a los lectores de pantalla.
import { ThemeToggle } from '@pipepath/brand-ui';Ejemplos
tema oscuro
arcade claro
Props
| Prop | Tipo | Por defecto | Descripción (en inglés, desde el código) |
|---|---|---|---|
className | string | — | |
labels (obligatoria) | ThemeLabels | — | Visible text from the consumer, for example `{ prefix: 'Tema', system: 'sistema', dark: 'oscuro', light: 'claro' }`. |
ref | Ref<HTMLAnchorElement | HTMLButtonElement> | — |
Cuándo usarlo
- Una vez por sitio, en el encabezado, como isla de cliente (
client:load). - Pon
themeBootScript()en el<head>ythemeLabelScript(labels)justo después del selector: la página nunca muestra el tema ni la etiqueta equivocados. - Al cambiar el tema, anuncia el cambio a los lectores de pantalla en el idioma de la página.
Cuándo no usarlo
- En landings, que siempre van en oscuro con
data-theme="dark". - Dentro de las interfaces de producto: siguen el tema del sistema.
Teclado
- Tab
- Shift+Tab
- Enter
- Space