fumadocs-ui
Version:
The Radix UI version of Fumadocs UI
48 lines • 1.39 kB
TypeScript
import { SearchProviderProps } from "../contexts/search.js";
import { I18nProviderProps } from "../contexts/i18n.js";
import { ReactNode } from "react";
import { ThemeProviderProps, UseThemeProps, useTheme } from "next-themes";
//#region src/provider/base.d.ts
interface SearchOptions extends Omit<SearchProviderProps, 'children'> {
/**
* Enable search functionality
*
* @defaultValue `true`
*/
enabled?: boolean;
}
interface ThemeOptions extends ThemeProviderProps {
/**
* Enable `next-themes`
*
* @defaultValue true
*/
enabled?: boolean;
/**
* Hotkey for toggling between light/dark mode, pass `false` to disable it.
*
* It is ignored while typing in an editable element (e.g. `<input />`), or when a dialog is opened.
*
* @defaultValue `d`
*/
hotKey?: string | ((e: KeyboardEvent) => boolean) | false;
}
interface RootProviderProps {
/**
* `dir` option for Radix UI
*/
dir?: 'rtl' | 'ltr';
/**
* @remarks `SearchProviderProps`
*/
search?: Partial<SearchOptions>;
/**
* Customize options for `next-themes`
*/
theme?: ThemeOptions;
i18n?: Omit<I18nProviderProps, 'children'>;
children?: ReactNode;
}
declare function RootProvider({ children, dir, theme, search, i18n }: RootProviderProps): import("react").JSX.Element;
//#endregion
export { RootProvider, RootProviderProps, type UseThemeProps, useTheme };