@tldiagram/core-ui 1.92.0 → 1.94.0

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 (37) hide show
  1. package/dist/api/client.d.ts +13 -1
  2. package/dist/components/ElementNode.d.ts +14 -1
  3. package/dist/components/ZUI/ZUICanvas.d.ts +1 -0
  4. package/dist/config/runtime-vscode.d.ts +1 -0
  5. package/dist/config/runtime.d.ts +1 -0
  6. package/dist/index.js +10875 -9550
  7. package/dist/pages/InfiniteZoom.d.ts +5 -2
  8. package/dist/pages/ViewEditor/hooks/useCanvasInteractions.d.ts +10 -3
  9. package/dist/pages/ViewEditor/hooks/useCanvasInteractions.test.d.ts +1 -0
  10. package/dist/pages/ViewEditor/hooks/useViewData.d.ts +27 -24
  11. package/dist/pages/ViewsGrid.d.ts +9 -1
  12. package/dist/shims/empty-node-module.d.ts +2 -0
  13. package/dist/store/useStore.d.ts +80 -0
  14. package/dist/store/useStore.test.d.ts +1 -0
  15. package/package.json +10 -7
  16. package/src/api/client.ts +39 -1
  17. package/src/components/ElementNode.tsx +21 -59
  18. package/src/components/ElementPanel.tsx +2 -3
  19. package/src/components/LayoutSection.tsx +95 -104
  20. package/src/components/ViewGridNode.tsx +1 -4
  21. package/src/components/ZUI/ZUICanvas.tsx +138 -1
  22. package/src/components/ZUI/renderer.ts +166 -66
  23. package/src/components/ZUI/useZUIInteraction.ts +235 -81
  24. package/src/config/runtime-vscode.ts +6 -0
  25. package/src/config/runtime.ts +4 -0
  26. package/src/main.tsx +26 -14
  27. package/src/pages/InfiniteZoom.tsx +14 -5
  28. package/src/pages/ViewEditor/context.tsx +14 -3
  29. package/src/pages/ViewEditor/hooks/useCanvasInteractions.test.ts +30 -0
  30. package/src/pages/ViewEditor/hooks/useCanvasInteractions.ts +294 -146
  31. package/src/pages/ViewEditor/hooks/useViewData.ts +459 -256
  32. package/src/pages/ViewEditor/index.tsx +67 -70
  33. package/src/pages/Views.tsx +552 -83
  34. package/src/pages/ViewsGrid.tsx +26 -337
  35. package/src/shims/empty-node-module.ts +1 -0
  36. package/src/store/useStore.test.ts +285 -0
  37. package/src/store/useStore.ts +327 -0
@@ -58,6 +58,18 @@ export declare const api: {
58
58
  connectors: Connector[];
59
59
  }>;
60
60
  tree: () => Promise<ViewTreeNode[]>;
61
+ treeRoots: (opts?: {
62
+ limit?: number;
63
+ offset?: number;
64
+ search?: string;
65
+ }) => Promise<{
66
+ views: ViewTreeNode[];
67
+ totalCount: number;
68
+ }>;
69
+ treeChildren: (parentId: number, opts?: {
70
+ limit?: number;
71
+ offset?: number;
72
+ }) => Promise<ViewTreeNode[]>;
61
73
  get: (id: number) => Promise<ViewTreeNode>;
62
74
  create: (data: {
63
75
  name: string;
@@ -71,7 +83,7 @@ export declare const api: {
71
83
  rename: (id: number, name: string) => Promise<View>;
72
84
  setLevel: (id: number, level: number) => Promise<void>;
73
85
  delete: (_orgId: string, id: number) => Promise<void>;
74
- thumbnail: (_id: number) => Promise<string | null>;
86
+ thumbnail: (id: number) => Promise<string | null>;
75
87
  placements: {
76
88
  list: (diagramId: number) => Promise<ElementPlacement[]>;
77
89
  add: (diagramId: number, elementId: number, x?: number, y?: number) => Promise<ElementPlacement>;
@@ -7,7 +7,11 @@ interface NodeData extends PlacedElement {
7
7
  onZoomOut: (elementId: number) => void;
8
8
  onNavigateToDiagram: (viewId: number) => void;
9
9
  onSelect: (obj: PlacedElement) => void;
10
- onInteractionStart: (elementId: number) => void;
10
+ onInteractionStart: (elementId: number, options?: {
11
+ sourceHandle?: string;
12
+ clientX?: number;
13
+ clientY?: number;
14
+ }) => void;
11
15
  onConnectTo: (elementId: number) => void;
12
16
  onStartHandleReconnect?: (args: {
13
17
  edgeId: string;
@@ -26,6 +30,15 @@ interface NodeData extends PlacedElement {
26
30
  layerHighlightColor?: string;
27
31
  forceShowTagPopup?: boolean;
28
32
  isCanvasMoving?: boolean;
33
+ connectedHandleIds?: readonly string[];
34
+ selectedHandleIds?: readonly string[];
35
+ reconnectCandidates?: readonly {
36
+ handleId: string;
37
+ edgeId: string;
38
+ endpoint: 'source' | 'target';
39
+ selected: boolean;
40
+ }[];
41
+ isConnectorHighlighted?: boolean;
29
42
  }
30
43
  interface Props {
31
44
  data: NodeData;
@@ -2,6 +2,7 @@ import type { ExploreData } from '../../types';
2
2
  import type { CrossBranchContextSettings } from '../../crossBranch/types';
3
3
  export interface ZUICanvasHandle {
4
4
  fitView(): void;
5
+ focusDiagram(viewId: number): boolean;
5
6
  }
6
7
  interface Props {
7
8
  data: ExploreData;
@@ -15,6 +15,7 @@ export declare const routerBasename: undefined;
15
15
  export declare const isNativeApp = false;
16
16
  export declare const apiBase: string;
17
17
  export declare function apiUrl(path: string): string;
18
+ export declare function fetchApiAsset(input: RequestInfo | URL, init?: RequestInit): Promise<Response>;
18
19
  export declare function oauthGoogleStartUrl(): string;
19
20
  export declare function oauthGithubStartUrl(): string;
20
21
  export declare function oauthAppleStartUrl(): string;
@@ -3,3 +3,4 @@ export declare const routerBasename: string | undefined;
3
3
  export declare const isNativeApp = false;
4
4
  export declare const apiBase: string;
5
5
  export declare function apiUrl(path: string): string;
6
+ export declare function fetchApiAsset(input: RequestInfo | URL, init?: RequestInit): Promise<Response>;