@fluentui/react-northstar
Version:
A themable React component library.
28 lines (27 loc) • 1.32 kB
TypeScript
import { AccessibilityActionHandlers, ComponentSlotClasses, ReactAccessibilityBehavior, ProviderContextPrepared } from '@fluentui/react-bindings';
import { ComponentSlotStylesResolved, ComponentVariablesObject, DebugData, PropsWithVarsAndStyles, ThemePrepared } from '@fluentui/styles';
import * as React from 'react';
import { Props } from '../types';
export interface RenderResultConfig<P> {
ElementType: React.ElementType<P>;
classes: ComponentSlotClasses;
unhandledProps: Props;
variables: ComponentVariablesObject;
styles: ComponentSlotStylesResolved;
accessibility: ReactAccessibilityBehavior;
rtl: boolean;
theme: ThemePrepared;
}
export declare type RenderComponentCallback<P> = (config: RenderResultConfig<P>) => any;
export interface RenderConfig<P> {
className?: string;
displayName: string;
handledProps: string[];
props: PropsWithVarsAndStyles;
state: Record<string, any>;
actionHandlers: AccessibilityActionHandlers;
render: RenderComponentCallback<P>;
saveDebug: (debug: DebugData | null) => void;
isFirstRenderRef: React.MutableRefObject<boolean>;
}
export declare const renderComponent: <P extends {}>(config: RenderConfig<P>, context?: ProviderContextPrepared) => React.ReactElement<P, string | React.JSXElementConstructor<any>>;