@tldiagram/core-ui 1.95.1 → 2.0.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.
- package/dist/api/client.d.ts +184 -3
- package/dist/components/ConnectorPanel.d.ts +5 -1
- package/dist/components/CrossBranchControls.d.ts +4 -3
- package/dist/components/ElementNode.d.ts +5 -0
- package/dist/components/ElementPanel.d.ts +6 -1
- package/dist/components/LayoutSection.d.ts +2 -1
- package/dist/components/MergeDialog.d.ts +16 -0
- package/dist/components/NodeContainer.d.ts +2 -0
- package/dist/components/ProxyConnectorPanel.d.ts +4 -1
- package/dist/components/ViewExplorer/index.d.ts +1 -1
- package/dist/components/ViewFloatingMenu-vscode.d.ts +5 -0
- package/dist/components/ViewFloatingMenu.d.ts +8 -1
- package/dist/components/ViewGridNode.d.ts +3 -0
- package/dist/components/ViewPanel.d.ts +2 -1
- package/dist/components/WorkspacePanel.d.ts +2 -0
- package/dist/components/ZUI/ZUICanvas.d.ts +4 -0
- package/dist/components/ZUI/focus.d.ts +32 -0
- package/dist/components/ZUI/focus.test.d.ts +1 -0
- package/dist/components/ZUI/layout.d.ts +2 -2
- package/dist/components/ZUI/proxy.d.ts +20 -4
- package/dist/components/ZUI/renderer.d.ts +35 -1
- package/dist/components/ZUI/types.d.ts +6 -0
- package/dist/components/ZUI/useZUIInteraction.d.ts +1 -0
- package/dist/context/WorkspaceVersionContext.d.ts +49 -0
- package/dist/crossBranch/resolve.d.ts +39 -2
- package/dist/crossBranch/resolve.test.d.ts +1 -0
- package/dist/crossBranch/settings.d.ts +6 -1
- package/dist/crossBranch/types.d.ts +8 -0
- package/dist/hooks/useElementSearch.d.ts +8 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +16529 -14030
- package/dist/pages/InfiniteZoom.d.ts +1 -0
- package/dist/pages/ViewEditor/hooks/useCanvasInteractions.d.ts +6 -1
- package/dist/pages/ViewEditor/hooks/useViewContextNeighbours.d.ts +2 -0
- package/dist/pages/ViewEditor/hooks/useViewData.d.ts +4 -2
- package/dist/pages/ViewEditor/hooks/useViewEditHistory.d.ts +13 -0
- package/dist/pages/viewsJumpSearch.d.ts +22 -0
- package/dist/pages/viewsJumpSearch.test.d.ts +1 -0
- package/dist/store/useStore.d.ts +3 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/utils/elementIcon.d.ts +2 -0
- package/dist/utils/elementIcon.test.d.ts +1 -0
- package/dist/utils/sourceEditor.d.ts +7 -0
- package/dist/utils/watchDiffSummary.d.ts +34 -0
- package/package.json +2 -2
- package/src/App.tsx +12 -8
- package/src/api/client.ts +488 -26
- package/src/components/CodePreviewPanel.tsx +90 -16
- package/src/components/ConnectorPanel.tsx +34 -3
- package/src/components/ContextNeighborElement.tsx +2 -5
- package/src/components/CrossBranchControls.tsx +46 -17
- package/src/components/ElementNode.tsx +98 -47
- package/src/components/ElementPanel.tsx +62 -25
- package/src/components/InlineElementAdder.tsx +8 -3
- package/src/components/LayoutSection.tsx +4 -1
- package/src/components/MergeDialog.tsx +269 -0
- package/src/components/NodeContainer.tsx +55 -17
- package/src/components/ProxyConnectorPanel.tsx +58 -16
- package/src/components/ViewBezierConnector.tsx +116 -21
- package/src/components/ViewExplorer/index.tsx +1 -1
- package/src/components/ViewFloatingMenu-vscode.tsx +5 -0
- package/src/components/ViewFloatingMenu.tsx +110 -1
- package/src/components/ViewGridNode.tsx +59 -8
- package/src/components/ViewPanel.tsx +3 -2
- package/src/components/WorkspacePanel.tsx +938 -0
- package/src/components/ZUI/ZUICanvas.tsx +216 -122
- package/src/components/ZUI/focus.test.ts +534 -0
- package/src/components/ZUI/focus.ts +293 -0
- package/src/components/ZUI/layout.ts +7 -11
- package/src/components/ZUI/proxy.ts +470 -114
- package/src/components/ZUI/renderer.ts +510 -134
- package/src/components/ZUI/types.ts +6 -0
- package/src/components/ZUI/useZUIInteraction.ts +66 -29
- package/src/context/WorkspaceVersionContext.tsx +126 -0
- package/src/crossBranch/resolve.test.ts +342 -0
- package/src/crossBranch/resolve.ts +368 -68
- package/src/crossBranch/settings.ts +49 -3
- package/src/crossBranch/types.ts +9 -0
- package/src/hooks/useElementSearch.ts +45 -0
- package/src/index.css +11 -0
- package/src/index.ts +7 -0
- package/src/pages/AppearanceSettings.tsx +24 -1
- package/src/pages/Dependencies.tsx +231 -65
- package/src/pages/InfiniteZoom.tsx +41 -19
- package/src/pages/Settings.tsx +1 -1
- package/src/pages/ViewEditor/hooks/useCanvasInteractions.ts +103 -24
- package/src/pages/ViewEditor/hooks/useViewContextNeighbours.ts +102 -6
- package/src/pages/ViewEditor/hooks/useViewData.ts +42 -26
- package/src/pages/ViewEditor/hooks/useViewEditHistory.ts +62 -0
- package/src/pages/ViewEditor/index.tsx +549 -59
- package/src/pages/Views.tsx +112 -41
- package/src/pages/ViewsGrid.tsx +332 -113
- package/src/pages/viewsJumpSearch.test.ts +193 -0
- package/src/pages/viewsJumpSearch.ts +111 -0
- package/src/store/useStore.ts +58 -0
- package/src/types/index.ts +10 -0
- package/src/utils/elementIcon.test.ts +28 -0
- package/src/utils/elementIcon.ts +20 -0
- package/src/utils/sourceEditor.ts +46 -0
- package/src/utils/watchDiffSummary.ts +159 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { WatchDiff, WatchRepository, WatchVersion, WorkspaceVersion } from '../api/client';
|
|
2
|
+
export type VersionChangeType = 'added' | 'updated' | 'deleted' | 'initialized';
|
|
3
|
+
export interface VersionLineDelta {
|
|
4
|
+
added: number;
|
|
5
|
+
removed: number;
|
|
6
|
+
}
|
|
7
|
+
export interface WorkspaceVersionPreview {
|
|
8
|
+
repository: WatchRepository | null;
|
|
9
|
+
version: WatchVersion | null;
|
|
10
|
+
workspaceVersions: WorkspaceVersion[];
|
|
11
|
+
diffs: WatchDiff[];
|
|
12
|
+
elementChanges: Map<number, VersionChangeType>;
|
|
13
|
+
elementLineDeltas: Map<number, VersionLineDelta>;
|
|
14
|
+
connectorChanges: Map<number, VersionChangeType>;
|
|
15
|
+
summary: {
|
|
16
|
+
added: number;
|
|
17
|
+
updated: number;
|
|
18
|
+
deleted: number;
|
|
19
|
+
initialized: number;
|
|
20
|
+
elements: number;
|
|
21
|
+
connectors: number;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export interface WorkspaceVersionFollowTarget {
|
|
25
|
+
token: number;
|
|
26
|
+
resourceType: string;
|
|
27
|
+
resourceId?: number;
|
|
28
|
+
viewId?: number;
|
|
29
|
+
changeType?: VersionChangeType;
|
|
30
|
+
}
|
|
31
|
+
interface WorkspaceVersionContextValue {
|
|
32
|
+
preview: WorkspaceVersionPreview | null;
|
|
33
|
+
followToken: number;
|
|
34
|
+
followTarget: WorkspaceVersionFollowTarget | null;
|
|
35
|
+
setPreview: (preview: WorkspaceVersionPreview | null) => void;
|
|
36
|
+
clearPreview: () => void;
|
|
37
|
+
requestFollow: (target?: Omit<WorkspaceVersionFollowTarget, 'token'>) => void;
|
|
38
|
+
}
|
|
39
|
+
export declare function buildWorkspaceVersionPreview(args: {
|
|
40
|
+
repository: WatchRepository | null;
|
|
41
|
+
version: WatchVersion | null;
|
|
42
|
+
workspaceVersions: WorkspaceVersion[];
|
|
43
|
+
diffs: WatchDiff[] | null | undefined;
|
|
44
|
+
}): WorkspaceVersionPreview;
|
|
45
|
+
export declare function WorkspaceVersionProvider({ children }: {
|
|
46
|
+
children: React.ReactNode;
|
|
47
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
48
|
+
export declare function useWorkspaceVersionPreview(): WorkspaceVersionContextValue;
|
|
49
|
+
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { PlacedElement } from '../types';
|
|
2
|
-
import type { AggregatedProxyConnector, CrossBranchContextSettings, ProxyConnectorDetails, ProxyContextNode, WorkspaceGraphSnapshot } from './types';
|
|
2
|
+
import type { AggregatedProxyConnector, CrossBranchConnectorPriority, CrossBranchContextSettings, ProxyConnectorDetails, ProxyContextNode, WorkspaceGraphSnapshot } from './types';
|
|
3
3
|
export interface ViewProxyGraphResult {
|
|
4
4
|
proxyNodes: ProxyContextNode[];
|
|
5
5
|
proxyConnectors: AggregatedProxyConnector[];
|
|
@@ -17,6 +17,43 @@ export interface ZUIResolvedConnector {
|
|
|
17
17
|
direction: string;
|
|
18
18
|
style: string;
|
|
19
19
|
label: string;
|
|
20
|
+
sourceDepth: number;
|
|
21
|
+
targetDepth: number;
|
|
22
|
+
maxDepth: number;
|
|
20
23
|
details: ProxyConnectorDetails;
|
|
21
24
|
}
|
|
22
|
-
export
|
|
25
|
+
export interface ZUIHiddenProxyBadge {
|
|
26
|
+
key: string;
|
|
27
|
+
sourceAnchorElementId: number;
|
|
28
|
+
targetAnchorElementId: number;
|
|
29
|
+
sourceNodeId: string;
|
|
30
|
+
targetNodeId: string;
|
|
31
|
+
count: number;
|
|
32
|
+
details: ProxyConnectorDetails;
|
|
33
|
+
}
|
|
34
|
+
export interface ZUIProxyResolution {
|
|
35
|
+
connectors: ZUIResolvedConnector[];
|
|
36
|
+
hiddenBadges: ZUIHiddenProxyBadge[];
|
|
37
|
+
omittedConnectorCount: number;
|
|
38
|
+
}
|
|
39
|
+
export interface ZUIViewportBounds {
|
|
40
|
+
minX: number;
|
|
41
|
+
minY: number;
|
|
42
|
+
maxX: number;
|
|
43
|
+
maxY: number;
|
|
44
|
+
centerX: number;
|
|
45
|
+
centerY: number;
|
|
46
|
+
}
|
|
47
|
+
export interface ZUIConnectorAnchorInfo {
|
|
48
|
+
nodeId: string;
|
|
49
|
+
worldX: number;
|
|
50
|
+
worldY: number;
|
|
51
|
+
worldW: number;
|
|
52
|
+
worldH: number;
|
|
53
|
+
}
|
|
54
|
+
export interface ResolveZUIProxyConnectorOptions {
|
|
55
|
+
viewport?: ZUIViewportBounds | null;
|
|
56
|
+
anchorsByElementId?: Map<number, ZUIConnectorAnchorInfo>;
|
|
57
|
+
connectorPriority?: CrossBranchConnectorPriority;
|
|
58
|
+
}
|
|
59
|
+
export declare function resolveZUIProxyConnectors(snapshot: WorkspaceGraphSnapshot | null, visibleNodeIdsByElementId: Map<number, string>, settings: CrossBranchContextSettings, options?: ResolveZUIProxyConnectorOptions): ZUIProxyResolution;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
import type { CrossBranchContextSettings, CrossBranchSurface } from './types';
|
|
1
|
+
import type { CrossBranchConnectorPriority, CrossBranchContextSettings, CrossBranchSurface } from './types';
|
|
2
|
+
export declare const DEFAULT_MIN_CONNECTOR_ANCHOR_ALPHA = 0.35;
|
|
3
|
+
export declare const DEFAULT_MAX_PROXY_CONNECTOR_GROUPS = 32;
|
|
4
|
+
export declare const DEFAULT_CONNECTOR_PRIORITY: CrossBranchConnectorPriority;
|
|
2
5
|
export declare function useCrossBranchContextSettings(surface: CrossBranchSurface): {
|
|
3
6
|
settings: CrossBranchContextSettings;
|
|
4
7
|
setEnabled: (enabled: boolean) => void;
|
|
5
8
|
setDepth: (depth: number) => void;
|
|
9
|
+
setConnectorBudget: (connectorBudget: number) => void;
|
|
10
|
+
setConnectorPriority: (connectorPriority: CrossBranchConnectorPriority) => void;
|
|
6
11
|
};
|
|
@@ -2,10 +2,18 @@ import type { Connector, ExploreData, PlacedElement, ViewTreeNode } from '../typ
|
|
|
2
2
|
export declare const CROSS_BRANCH_DEPTH_ALL = 5;
|
|
3
3
|
export declare const CROSS_BRANCH_DEPTH_MIN = 1;
|
|
4
4
|
export declare const CROSS_BRANCH_DEPTH_MAX = 5;
|
|
5
|
+
export declare const CROSS_BRANCH_CONNECTOR_BUDGET_MIN = 10;
|
|
6
|
+
export declare const CROSS_BRANCH_CONNECTOR_BUDGET_MAX = 200;
|
|
7
|
+
export declare const CROSS_BRANCH_CONNECTOR_BUDGET_DEFAULT = 50;
|
|
8
|
+
export type CrossBranchConnectorPriority = 'external' | 'internal';
|
|
5
9
|
export type CrossBranchSurface = 'editor' | 'zui' | 'zui-shared';
|
|
6
10
|
export interface CrossBranchContextSettings {
|
|
7
11
|
enabled: boolean;
|
|
8
12
|
depth: number;
|
|
13
|
+
connectorBudget: number;
|
|
14
|
+
connectorPriority: CrossBranchConnectorPriority;
|
|
15
|
+
minConnectorAnchorAlpha?: number;
|
|
16
|
+
maxProxyConnectorGroups?: number;
|
|
9
17
|
}
|
|
10
18
|
export interface GraphPlacementRef {
|
|
11
19
|
viewId: number;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { LibraryElement } from '../types';
|
|
2
|
+
export interface ElementSearchResult {
|
|
3
|
+
query: string;
|
|
4
|
+
setQuery: (q: string) => void;
|
|
5
|
+
remoteElements: LibraryElement[];
|
|
6
|
+
fetching: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare function useElementSearch(): ElementSearchResult;
|
package/dist/index.d.ts
CHANGED
|
@@ -74,6 +74,7 @@ export * from './components/ZUI';
|
|
|
74
74
|
export { default as theme } from './theme';
|
|
75
75
|
export { ThemeProvider, useAccentColor, useTheme } from './context/ThemeContext';
|
|
76
76
|
export { HeaderProvider, useSetHeader, useHeader } from './components/HeaderContext';
|
|
77
|
+
export { WorkspaceVersionProvider, buildWorkspaceVersionPreview, useWorkspaceVersionPreview, type WorkspaceVersionFollowTarget, type WorkspaceVersionPreview, } from './context/WorkspaceVersionContext';
|
|
77
78
|
export * from './types';
|
|
78
79
|
export type { PlatformFeatures, PlatformRouteContext } from './platform/types';
|
|
79
80
|
export { platform as localPlatform } from './platform/local';
|