svelte-fancy-darkmode
Version:
A fancy dark mode toggle for Svelte
46 lines (45 loc) • 853 B
TypeScript
/**
* Class for toggling dark mode
*/
export declare class Mode {
_isDark: boolean;
_mode: 'dark' | 'light';
constructor();
/**
* Get the current mode
*/
get current(): "dark" | "light";
/**
* Toggle the mode
*/
private _toggleMode;
/**
* Credit to [@hooray](https://github.com/hooray)
* @see https://github.com/vuejs/vitepress/pull/2347
*/
toggle: (event: MouseEvent) => void;
}
/**
* rune for toggling and checking dark mode
*
* @example
* ```svelte
* <script>
* import { mode } from './runes.svelte';
* </script>
*
* <button
* onclick={mode.toggle}
* aria-label="Toggle Dark Mode"
* type="button"
* >
* </button>
*
* {#if mode.current === 'dark'}
* <p>Dark Mode</p>
* {:else}
* <p>Light Mode</p>
* {/if}
* ```
*/
export declare const mode: Mode;