UNPKG

simple-nextjs-darkmode

Version:
40 lines (39 loc) 1.45 kB
import { type DarkModePreference } from "./constants"; /** * Get the client's current dark mode state * * ***WARNING***: Only call this function from the client * * @returns If dark mode is enabled */ export declare function getClientDarkMode(): boolean; /** * Get the client's current dark mode preference * * ***WARNING***: Only call this function from the client * * @returns The dark mode preference */ export declare function getClientPreference(): DarkModePreference; /** * Change the user's dark mode preference * * ***WARNING***: Only call this function from the client * * @param preference The user preference * @param darkModeClass A custom class that is used for dark mode */ export declare function updateClientPreference(preference: DarkModePreference): void; /** * Place this component somewhere in your app to automatically update dark mode * * If this component is not rendered, it will not be able to update dark mode, so it's recommended to place in the root layout * * ***Note***: This component does not actually render anything, it only performs the functionality * * @param alwaysUpdate Set to true if you are not setting dark mode during server-side rendering. Forces dark mode to be updated when the component renders * @param darkModeClass A custom class that is used for dark mode */ export declare function DarkModeManager({ alwaysUpdate, }: { alwaysUpdate?: boolean; }): React.ReactNode;