@anlyx/ui 0.1.2 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/README.md +3 -2
  2. package/dist/capture/capture-runtime.d.ts +14 -0
  3. package/dist/capture/capture-runtime.js +300 -0
  4. package/dist/components/AnalysisEvidenceList.d.ts +5 -0
  5. package/dist/components/AnalysisEvidenceList.js +61 -0
  6. package/dist/components/AnlyxAppShell.d.ts +1 -1
  7. package/dist/components/AnlyxAppShell.js +16 -7
  8. package/dist/components/ApiCallList.d.ts +3 -2
  9. package/dist/components/ApiCallList.js +12 -2
  10. package/dist/components/CaptureStatusEmptyState.js +2 -2
  11. package/dist/components/EndpointMapCanvas.js +1 -1
  12. package/dist/components/FlowStoryView.d.ts +22 -0
  13. package/dist/components/FlowStoryView.js +117 -0
  14. package/dist/components/InspectorPanel.d.ts +1 -1
  15. package/dist/components/InspectorPanel.js +46 -1
  16. package/dist/components/PageStoryboardView.js +9 -1
  17. package/dist/components/ProcessFlowView.js +8 -1
  18. package/dist/components/ReplayControls.d.ts +2 -1
  19. package/dist/components/ReplayControls.js +29 -2
  20. package/dist/components/Sidebar.d.ts +2 -2
  21. package/dist/components/Sidebar.js +15 -3
  22. package/dist/components/StatusBadge.d.ts +2 -2
  23. package/dist/index.d.ts +2 -0
  24. package/dist/index.js +1 -0
  25. package/dist/mock-data.js +50 -4
  26. package/dist/overlay/AnlyxFlowEdge.d.ts +2 -0
  27. package/dist/overlay/AnlyxFlowEdge.js +15 -0
  28. package/dist/overlay/AnlyxFlowNode.d.ts +13 -0
  29. package/dist/overlay/AnlyxFlowNode.js +28 -0
  30. package/dist/overlay/FlowDrawer.d.ts +2 -0
  31. package/dist/overlay/FlowDrawer.js +59 -0
  32. package/dist/overlay/MainFlowCanvas.d.ts +20 -0
  33. package/dist/overlay/MainFlowCanvas.js +285 -0
  34. package/dist/overlay/RecentApiEventsTable.d.ts +5 -0
  35. package/dist/overlay/RecentApiEventsTable.js +19 -0
  36. package/dist/overlay/overlay-entry.d.ts +8 -0
  37. package/dist/overlay/overlay-entry.js +14 -0
  38. package/dist/overlay/overlay-ui.css +2 -0
  39. package/dist/overlay/overlay-ui.js +14 -0
  40. package/dist/overlay/types.d.ts +38 -0
  41. package/dist/overlay/types.js +1 -0
  42. package/dist/overlay/ui.d.ts +18 -0
  43. package/dist/overlay/ui.js +13 -0
  44. package/dist/readme-demo/ReadmeDemoApp.d.ts +15 -0
  45. package/dist/readme-demo/ReadmeDemoApp.js +184 -0
  46. package/dist/readme-demo/readme-demo-entry.d.ts +1 -0
  47. package/dist/readme-demo/readme-demo-entry.js +8 -0
  48. package/dist/styles.css +1165 -38
  49. package/dist/viewer/ViewerApp.js +26 -16
  50. package/dist/viewer/styles.css +2639 -0
  51. package/dist/viewer/viewer-entry.d.ts +1 -0
  52. package/dist/viewer/viewer-entry.js +1 -0
  53. package/dist/viewer/workspace/anlyx-logo-transparent.png +0 -0
  54. package/dist/viewer/workspace/workspace.css +6354 -0
  55. package/dist/workspace/ScanTreeMap.d.ts +6 -0
  56. package/dist/workspace/ScanTreeMap.js +838 -0
  57. package/dist/workspace/WorkspaceApp.d.ts +8 -0
  58. package/dist/workspace/WorkspaceApp.js +2293 -0
  59. package/dist/workspace/project-view-model.d.ts +63 -0
  60. package/dist/workspace/project-view-model.js +170 -0
  61. package/dist/workspace/workspace.css +6354 -0
  62. package/package.json +10 -3
@@ -1,38 +1,48 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useState } from "react";
3
- import { scanResultSchema } from "@anlyx/core";
4
- import { AnlyxAppShell } from "../components/AnlyxAppShell.js";
3
+ import { projectDataSchema } from "@anlyx/core";
4
+ import { WorkspaceApp } from "../workspace/WorkspaceApp.js";
5
5
  export function ViewerApp() {
6
6
  const [state, setState] = useState({ status: "loading" });
7
7
  useEffect(() => {
8
8
  let active = true;
9
- async function loadReportData() {
9
+ async function loadViewerData() {
10
10
  try {
11
- const response = await fetch("/api/report-data");
12
- if (!response.ok) {
13
- throw new Error(`Failed to fetch report data: ${response.status}`);
14
- }
15
- const parsed = scanResultSchema.parse(await response.json());
11
+ const viewerData = await fetchViewerData();
16
12
  if (active) {
17
- setState({ status: "success", data: parsed });
13
+ setState({ status: "success", viewerData });
18
14
  }
19
15
  }
20
- catch {
16
+ catch (error) {
21
17
  if (active) {
22
- setState({ status: "error" });
18
+ setState({
19
+ status: "error",
20
+ detail: error instanceof Error ? error.message : "Unknown project data loading error"
21
+ });
23
22
  }
24
23
  }
25
24
  }
26
- void loadReportData();
25
+ void loadViewerData();
27
26
  return () => {
28
27
  active = false;
29
28
  };
30
29
  }, []);
31
30
  if (state.status === "loading") {
32
- return _jsx("main", { className: "anlyx-viewer-state", children: "Loading Anlyx report..." });
31
+ return (_jsx(ViewerStateCard, { detail: "Reading /api/project-data from the local Anlyx runtime.", label: "Anlyx project data loading", status: "loading", title: "Loading Anlyx project data" }));
33
32
  }
34
33
  if (state.status === "error") {
35
- return _jsx("main", { className: "anlyx-viewer-state", children: "Failed to load Anlyx report." });
34
+ return (_jsx(ViewerStateCard, { detail: state.detail, label: "Anlyx project data load failed", status: "error", title: "Failed to load Anlyx project data" }));
35
+ }
36
+ return _jsx(WorkspaceApp, { projectData: state.viewerData.data });
37
+ }
38
+ async function fetchViewerData() {
39
+ const projectResponse = await fetch("/api/project-data");
40
+ if (projectResponse.ok) {
41
+ return { kind: "project", data: projectDataSchema.parse(await projectResponse.json()) };
36
42
  }
37
- return _jsx(AnlyxAppShell, { data: state.data });
43
+ throw new Error(`/api/project-data returned ${projectResponse.status}`);
44
+ }
45
+ function ViewerStateCard({ detail, label, status, title }) {
46
+ const role = status === "error" ? "alert" : "status";
47
+ return (_jsx("main", { className: `anlyx-viewer-state anlyx-viewer-state--${status}`, children: _jsxs("section", { className: "anlyx-viewer-state__card", role: role, "aria-label": label, children: [_jsx("span", { className: "anlyx-viewer-state__eyebrow", children: status === "error" ? "Viewer waiting for project data" : "Preparing local project" }), _jsx("h1", { children: title }), _jsx("p", { children: detail }), status === "error" ? _jsx("p", { children: "Run `anlyx dev` again, then reload." }) : null] }) }));
38
48
  }