prefersscheme

View Source

NOTE: Introduced feature in v0.2.3.

prefersscheme is a readonly Svelte Store, which returns true whenever matchMedia(SCHEME) is validated.

NOTE: Change your Operating System's color settings to see changes.

<script>
    import {
        Code,
        Heading,
        Text,
        prefersscheme,
    } from "@kahi-ui/framework";

    const darkscheme_store = prefersscheme("dark");
    const lightscheme_store = prefersscheme("light");
</script>

<Heading>User Color Scheme Preferences</Heading>

<Text>
    Dark Scheme Preference: <Code
        >{$darkscheme_store}</Code
    >
</Text>

<Text>
    Light Scheme Preference: <Code
        >{$lightscheme_store}</Code
    >
</Text>

Imports

import {
    prefersscheme,
    prefersdark,
    preferslight,
} from "@kahi-ui/framework";

Built-in Shortcuts

The prefersscheme Store also comes with two readonly preconfigured shortcut Stores, prefersdark and preferslight.

<script>
    import {
        Code,
        Heading,
        Text,
        prefersdark,
        preferslight,
    } from "@kahi-ui/framework";

    const darkscheme_store = prefersdark();
    const lightscheme_store = preferslight();
</script>

<Heading>User Color Scheme Preferences</Heading>

<Text>
    Dark Scheme Preference: <Code
        >{$darkscheme_store}</Code
    >
</Text>

<Text>
    Light Scheme Preference: <Code
        >{$lightscheme_store}</Code
    >
</Text>

Compatibility

The Store is dependent on Window.matchMedia. So if you're rendering on the server, it'll always return false.