UNPKG

@enonic/react-components

Version:

Library of React components for handling Enonic XP data and page components

25 lines (24 loc) 1.35 kB
export interface ComponentDefinitionParams<PROPS = {}> { View: React.FunctionComponent<PROPS>; } export interface ComponentDefinition<PROPS = {}> { View: React.FunctionComponent<PROPS>; } export type ComponentDictionary<PROPS = {}> = Record<string, ComponentDefinition<PROPS>>; export interface ComponentRegistry { addContentType<PROPS = {}>(name: string, obj: ComponentDefinitionParams<PROPS>): void; addMacro<PROPS = {}>(name: string, obj: ComponentDefinitionParams<PROPS>): void; addLayout<PROPS = {}>(name: string, obj: ComponentDefinitionParams<PROPS>): void; addPage<PROPS = {}>(name: string, obj: ComponentDefinitionParams<PROPS>): void; addPart<PROPS = {}>(name: string, obj: ComponentDefinitionParams<PROPS>): void; getContentType<PROPS = {}>(name: string): ComponentDefinition<PROPS> | undefined; getMacro<PROPS = {}>(name: string): ComponentDefinition<PROPS> | undefined; getLayout<PROPS = {}>(name: string): ComponentDefinition<PROPS> | undefined; getPage<PROPS = {}>(name: string): ComponentDefinition<PROPS> | undefined; getPart<PROPS = {}>(name: string): ComponentDefinition<PROPS> | undefined; hasContentType(name: string): boolean; hasMacro(name: string): boolean; hasLayout(name: string): boolean; hasPage(name: string): boolean; hasPart(name: string): boolean; }