simple-nextjs-darkmode
Version:
Simple, automatic dark mode for Next.Js
40 lines (39 loc) • 1.45 kB
TypeScript
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;