Saltar al contenido
Meeko
Escribe para buscar en las guías y en la referencia de la API. Ábrela desde cualquier página con / o Ctrl K; muévete con las flechas y entra con Intro.
Empezar

Contenidos

En esta página

ThemeToggleState

interfaz Desde 1.8.0

Lo que devuelve useThemeToggle: lo que necesita un selector de tema propio para pintar lo mismo en SSR y en la hidratación y para cambiar el tema sin JavaScript con el formulario de POST /_meeko/theme.

ts
import type { ThemeToggleState } from "@meekojs/meeko/framework";

Código fuente src/shared/theme.ts:418

Declaración #

ts
interface ThemeToggleState<Name extends string = ThemeName, Choice extends string = ThemeChoice> {
	readonly theme: ThemeState<Name, Choice>
	readonly choices: readonly Choice[]
	readonly system: ThemeToggleSystem<Name> | undefined
	readonly known: ReadonlySignal<boolean>
	readonly interactive: ReadonlySignal<boolean>
}

Parámetros de tipo #

Name extends string = ThemeName
Choice extends string = ThemeChoice

Ejemplo #

ts
import { useThemeToggle } from "@meekojs/meeko/framework";

const toggle = useThemeToggle();
const next = computed(() => {
  const index = toggle.choices.indexOf(toggle.theme.theme.value);
  return toggle.choices[(index + 1) % toggle.choices.length];
});

Propiedades #

theme #

propiedad sólo lectura

readonly theme: ThemeState<Name, Choice>

El estado del tema, el mismo que devuelve useTheme().

choices #

propiedad sólo lectura

readonly choices: readonly Choice[]

Las elecciones de la configuración en orden: los temas y, con el modo sistema, "system".

system #

propiedad sólo lectura

readonly system: ThemeToggleSystem<Name> | undefined

Los temas que muestra "system" según prefers-color-scheme; undefined sin modo sistema.

known #

propiedad sólo lectura

readonly known: ReadonlySignal<boolean>

Si este render conoce la elección del usuario: el servidor con la cookie, el navegador al terminar la hidratación. Mientras vale false, nombre la acción sin el tema actual.

interactive #

propiedad sólo lectura

readonly interactive: ReadonlySignal<boolean>

Si el selector ya responde en el navegador: false en SSR y durante la hidratación.

Véase también #

¿Te sirvió esta página?

Añadir un comentario

Se envía al elegir «Sí» o «No». Solo se guardan la página, tu respuesta y el comentario: ni cookies ni datos tuyos.

0 de 2000 caracteres

Editar en GitHub: packages/meeko/src/shared/theme.ts