import React, { useMemo } from 'react';
import { createRoot } from 'react-dom/client';
import { createMemoryProvider } from './dataSourceProvider/memory';
import { IGWProps } from './interfaces';
import { DataSourceSegmentComponent } from './dataSource';
import { GraphicRenderer, GraphicWalker, ILocalTableProps, ILocalVizAppProps, IRemoteTableProps, IRemoteVizAppProps, TableWalker } from './root';
import PureRenderer, { ILocalPureRendererProps, IRemotePureRendererProps } from './renderer/pureRenderer';
function FullGraphicWalker(props: IGWProps) {
const provider = useMemo(() => createMemoryProvider(), []);
return (
{(p) => {
return ;
}}
);
}
const hasData = (props: ILocalVizAppProps | IRemoteVizAppProps | IGWProps): props is ILocalVizAppProps | IRemoteVizAppProps =>
'dataSource' in props || 'data' in props || 'computation' in props || 'rawFields' in props || 'fields' in props;
export function embedGraphicWalker(dom: HTMLElement | null, props: ILocalVizAppProps | undefined);
export function embedGraphicWalker(dom: HTMLElement | null, props: IRemoteVizAppProps | undefined);
export function embedGraphicWalker(dom: HTMLElement | null, props: IGWProps | undefined);
export function embedGraphicWalker(dom, props: IGWProps | ILocalVizAppProps | IRemoteVizAppProps = {}) {
if (!dom) {
throw 'DOM element not found.';
}
if (hasData(props)) {
createRoot(dom).render();
return;
}
createRoot(dom).render();
}
export function embedGraphicRenderer(dom: HTMLElement | null, props: ILocalVizAppProps | undefined);
export function embedGraphicRenderer(dom: HTMLElement | null, props: IRemoteVizAppProps | undefined);
export function embedGraphicRenderer(dom, props = {}) {
if (!dom) {
throw 'DOM element not found.';
}
createRoot(dom).render();
}
export function embedTableWalker(dom: HTMLElement | null, props: ILocalTableProps | undefined);
export function embedTableWalker(dom: HTMLElement | null, props: IRemoteTableProps | undefined);
export function embedTableWalker(dom, props = {}) {
if (!dom) {
throw 'DOM element not found.';
}
createRoot(dom).render();
}
export function embedPureRenderer(dom: HTMLElement | null, props: ILocalPureRendererProps);
export function embedPureRenderer(dom: HTMLElement | null, props: IRemotePureRendererProps);
export function embedPureRenderer(dom, props) {
if (!dom) {
throw 'DOM element not found.';
}
createRoot(dom).render();
}