@cmk/fe_utils
Version:
frontend utility library
41 lines (39 loc) • 1.76 kB
TypeScript
import { Theme } from '@mui/material';
import { SetStateAction, Dispatch, FC, ReactNode } from 'react';
import { EditorStateType, Element } from '../types';
import { EditorRendererControllerType } from '../editorRendererController';
type RendererUiActionsType = {
selectElement?: (elementId: string, boundingRect: unknown) => void;
};
export type HtmlRendererProps<UiActionsType extends RendererUiActionsType> = {
isProduction?: boolean;
theme: Theme;
OverlayComponent?: FC<{
element: Element;
}>;
editorState: EditorStateType;
setEditorState?: Dispatch<SetStateAction<EditorStateType>>;
currentViewportElements: Element[];
uiActions?: UiActionsType;
ELEMENT_MODELS: EditorRendererControllerType['ELEMENT_MODELS'];
appController: EditorRendererControllerType['appController'];
pageName: string;
navigate: (to: string) => void;
isInHelpMode?: boolean;
isInHelpModeSelected?: boolean;
id?: string;
injectElementAtEnd?: ReactNode;
injectElementInContainerStart?: ReactNode;
importIconByName: (name: string) => Promise<string>;
hoveredElementSide?: string | null;
dragging?: unknown;
disableElementEvents?: boolean;
allElements: Element[];
injections?: {
elements: Record<string, any>;
elementReplacementComponent: Record<string, ReactNode>;
};
};
export declare const HtmlRendererComponent: <UiActionsType extends RendererUiActionsType>(props: HtmlRendererProps<UiActionsType>) => import("react/jsx-runtime").JSX.Element;
export declare const HtmlRenderer: import('react').MemoExoticComponent<(<UiActionsType extends RendererUiActionsType>(props: HtmlRendererProps<UiActionsType>) => import("react/jsx-runtime").JSX.Element)>;
export {};