UNPKG

@prisma-cms/front-editor

Version:
63 lines (62 loc) 2.97 kB
import React, { PureComponent } from 'react'; import { PrismaCmsContext } from '@prisma-cms/context'; import { EditorContextValue } from './context/EditorContext/interfaces'; import EditorComponent, { EditorComponentObject } from './EditorComponent'; import { FrontEditorProps, FrontEditorState } from './interfaces'; export * from './interfaces'; export * from './EditorComponent'; export * from './context'; export declare function registerComponents<T extends typeof EditorComponent>(_keys: T[]): (p: EditorComponentObject & { component: typeof _keys[number]['Name']; components: Array<typeof p>; }) => EditorComponentObject; export declare class FrontEditor<P extends FrontEditorProps = FrontEditorProps, S extends FrontEditorState = FrontEditorState> extends PureComponent<P, S> { context: PrismaCmsContext; static contextType: React.Context<PrismaCmsContext>; static defaultProps: Pick<FrontEditorProps, 'itemsOnly' | 'inEditMode' | 'Components' | 'className'>; /** * Этот массив используется для быстрого поиска всех отрендеренных компонентов */ mountedComponents: EditorComponent[]; actionPanel: HTMLDivElement | undefined; settingsViewContainer: HTMLDivElement | undefined; constructor(props: P); registerMountedComponent: (component: EditorComponent) => void; setActiveItem: (component: EditorContextValue['activeItem']) => void; getDragItem: () => S["dragItem"]; getDragTarget: () => S["dragTarget"]; getActiveItem: () => S["activeItem"]; getHoveredItem: () => S["hoveredItem"]; getSettingsViewContainer: () => HTMLDivElement | undefined; onDragStart: (_event: React.DragEvent, item: EditorComponentObject) => void; onDragEnd: () => void; setDragTarget: (component: EditorComponent) => void; setHoveredItem: (component: EditorComponent | null) => void; getActionPanel: () => HTMLDivElement | undefined; unregisterMountedComponent: (component: EditorComponent) => void; initContext(): EditorContextValue; updateContext(data: Partial<EditorContextValue>): void; /** * @deprecated */ getContextValue(name: keyof S['editorContext']): S["editorContext"][keyof S["editorContext"]]; /** * @deprecated use next/head instead */ setPageMeta(_meta?: {}): void; componentDidUpdate(prevProps: P, prevState: S): void; prepareComponents(): P['Components']; settingsViewContainerRef: (el: HTMLDivElement) => void; renderPanels(): JSX.Element; renderItems(): JSX.Element | null; getComponents(): S["Components"]; actionPanelRef: (el: HTMLDivElement) => void; onWindowClick: () => void; componentDidMount(): void; componentWillUnmount(): void; addEvents(): void; removeEvents(): void; stopPropagation: (event: React.MouseEvent<HTMLDivElement>) => void; render(): JSX.Element; } export default FrontEditor;