piral-core
Version:
The core library for creating a Piral instance.
15 lines (14 loc) • 1.19 kB
TypeScript
import { ComponentType, ReactPortal } from 'react';
import { GlobalStateContext, ForeignComponent } from '../types';
export declare const extensionName = "piral-extension";
export declare const componentName = "piral-component";
export declare const contentName = "piral-content";
export declare const portalName = "piral-portal";
export declare const slotName = "piral-slot";
export declare function attachDomPortal<TProps>(id: string, context: GlobalStateContext, element: HTMLElement | ShadowRoot, component: ComponentType<TProps>, props: TProps): [string, ReactPortal];
export declare function changeDomPortal<TProps>(id: string, current: ReactPortal, context: GlobalStateContext, element: HTMLElement | ShadowRoot, component: ComponentType<TProps>, props: TProps): [string, ReactPortal];
export declare function convertComponent<T extends {
type: string;
}, U>(converter: (component: T) => ForeignComponent<U>, component: T): ForeignComponent<U>;
export declare function renderInDom<TProps>(context: GlobalStateContext, element: HTMLElement | ShadowRoot, component: ComponentType<TProps>, props: TProps): [string, ReactPortal];
export declare function defer(cb: () => void): void;