import { StrictMode, useMemo, useState } from 'react';
import { createRoot } from 'react-dom/client';
import { OrgChart } from '@hm-design/org-chart-react';
import { JsonOrgChartDataSource } from '@hm-design/org-chart';
import engineUrl from '@hm-design/org-chart/engine.css?url';
import coreUrl from '@hm-design/org-chart/style.css?url';
import { datasets, readQuery } from './data';
import './chart-only.css';
const { data, layout, embed } = readQuery();
if (embed) document.body.classList.add('embed');
const stylesheetUrls = { engine: engineUrl, core: coreUrl };
let replace: (key: string) => void = () => {};
let rerender: () => void = () => {};
function ChartOnlyPage() {
const [key, setKey] = useState(data);
const [, setTick] = useState(0);
replace = setKey;
rerender = () => setTick(value => value + 1);
const dataSource = useMemo(() => new JsonOrgChartDataSource(datasets[key]!()), [key]);
// Inline option literals are intentional: equal values must not refit on re-render.
return ;
}
createRoot(document.getElementById('chart')!).render();
// Verification seam only.
Object.assign(window, { replaceData: (key: string) => replace(key), rerenderPage: () => rerender() });