UNPKG

@edtr-io/plugin-text

Version:
29 lines 1.61 kB
import { EditorTheme, EditorUiTheme } from '@edtr-io/editor-ui'; import { RendererTheme, RendererUiTheme } from '@edtr-io/renderer-ui'; import * as React from 'react'; import styled, { ThemeProps as StyledThemeProps, ThemeProviderProps as StyledThemeProviderProps } from 'styled-components'; export { styled }; export interface Theme { editor: EditorTheme; editorUi: DeepPartial<EditorUiTheme>; renderer: RendererTheme; rendererUi: DeepPartial<RendererUiTheme>; plugins: Record<string, unknown>; } export declare type CustomTheme = DeepPartial<Theme>; export declare type ThemeProps = StyledThemeProps<Theme>; export declare function RootThemeProvider(props: StyledThemeProviderProps<CustomTheme>): JSX.Element; export declare const ThemeContext: React.Context<Theme>; export declare const ThemeConsumer: React.Context<Theme>['Consumer']; export declare function useTheme(): Theme; export declare function ThemeProvider(props: StyledThemeProviderProps<CustomTheme>): JSX.Element; export declare function createPluginTheme<T>(createDefaultTheme: PluginThemeFactory<T>): (pluginName: string, theme: Theme) => T; export declare function usePluginTheme<T>(pluginName: string, createDefaultTheme: PluginThemeFactory<T>): T; export declare type PluginThemeFactory<T> = (theme: { editor: EditorTheme; renderer: RendererTheme; }) => T; declare type DeepPartial<T> = { [P in keyof T]?: T[P] extends (infer U)[] ? (DeepPartial<U>)[] : T[P] extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : DeepPartial<T[P]>; }; //# sourceMappingURL=index.d.ts.map