@hitachivantara/uikit-react-shared
Version:
Shared React contexts for the NEXT UI Kit.
38 lines (28 loc) • 1.14 kB
TypeScript
import { Context } from 'react';
import { EmotionCache } from '@emotion/cache';
import { EmotionCache as EmotionCache_2 } from '@emotion/utils';
import { HvThemeColorMode } from '@hitachivantara/uikit-styles';
import { HvThemeStructure } from '@hitachivantara/uikit-styles';
export declare const defaultCacheKey = "hv";
export declare const defaultEmotionCache: EmotionCache;
export declare const EmotionContext: Context< {
cache: EmotionCache;
}>;
/** This type allows to pass undetermined extra props to components recursively */
declare type HvExtraDeepProps<T> = {
[P in keyof T]: T[P] & Record<string, any>;
} & Record<string, any>;
/**
* Theme structure
*/
export declare type HvTheme = HvExtraDeepProps<HvThemeStructure>;
export declare const HvThemeContext: Context<HvThemeContextValue>;
export declare interface HvThemeContextValue {
colorModes: HvThemeColorMode[];
activeTheme?: HvTheme;
selectedMode: HvThemeColorMode;
changeMode: (mode?: HvThemeColorMode) => void;
rootId?: string;
}
export declare function useEmotionCache(): EmotionCache_2;
export { }