@prefecthq/graphs 2.0.5 → 2.1.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 (129) hide show
  1. package/dist/assets/runGraph.worker-57858a3b.js.map +1 -0
  2. package/dist/graphs.mjs +31635 -5
  3. package/dist/graphs.mjs.map +1 -1
  4. package/dist/graphs.umd.js +693 -1093
  5. package/dist/graphs.umd.js.map +1 -1
  6. package/dist/style.css +1 -1
  7. package/dist/types/demo/{sections/components/FlowRunTimelineDemo.vue.d.ts → components/AppComponentNavigationItems.vue.d.ts} +5 -0
  8. package/dist/types/demo/components/{HashLink.vue.d.ts → AppNavigationBar.vue.d.ts} +5 -3
  9. package/dist/types/demo/main.d.ts +1 -1
  10. package/dist/types/src/components/RunGraph.vue.d.ts +39 -0
  11. package/dist/types/src/components/index.d.ts +1 -0
  12. package/dist/types/src/consts.d.ts +16 -0
  13. package/dist/types/src/factories/animation.d.ts +4 -0
  14. package/dist/types/src/factories/arrow.d.ts +15 -0
  15. package/dist/types/src/factories/bar.d.ts +13 -0
  16. package/dist/types/src/factories/border.d.ts +12 -0
  17. package/dist/types/src/factories/cap.d.ts +12 -0
  18. package/dist/types/src/factories/data.d.ts +7 -0
  19. package/dist/types/src/factories/edge.d.ts +8 -0
  20. package/dist/types/src/factories/events.d.ts +13 -0
  21. package/dist/types/src/factories/guide.d.ts +7 -0
  22. package/dist/types/src/factories/guides.d.ts +5 -0
  23. package/dist/types/src/factories/label.d.ts +6 -0
  24. package/dist/types/src/factories/node.d.ts +10 -0
  25. package/dist/types/src/factories/nodeArrowButton.d.ts +11 -0
  26. package/dist/types/src/factories/nodeBar.d.ts +6 -0
  27. package/dist/types/src/factories/nodeFlowRun.d.ts +9 -0
  28. package/dist/types/src/factories/nodeTaskRun.d.ts +9 -0
  29. package/dist/types/src/factories/nodes.d.ts +11 -0
  30. package/dist/types/src/factories/offsets.d.ts +24 -0
  31. package/dist/types/src/factories/position.d.ts +12 -0
  32. package/dist/types/src/factories/rectangle.d.ts +2 -0
  33. package/dist/types/src/factories/settings.d.ts +3 -0
  34. package/dist/types/src/index.d.ts +1 -2
  35. package/dist/types/src/models/RunGraph.d.ts +70 -0
  36. package/dist/types/src/models/boundsContainer.d.ts +15 -0
  37. package/dist/types/src/models/guides.d.ts +6 -0
  38. package/dist/types/src/models/index.d.ts +3 -1
  39. package/dist/types/src/models/layout.d.ts +35 -0
  40. package/dist/types/src/models/nonTemporalLayoutError.d.ts +3 -0
  41. package/dist/types/src/models/selection.d.ts +5 -0
  42. package/dist/types/src/models/states.d.ts +2 -0
  43. package/dist/types/src/models/viewport.d.ts +1 -0
  44. package/dist/types/src/objects/application.d.ts +5 -0
  45. package/dist/types/src/objects/config.d.ts +4 -0
  46. package/dist/types/src/objects/culling.d.ts +6 -0
  47. package/dist/types/src/objects/edgeCulling.d.ts +4 -0
  48. package/dist/types/src/objects/events.d.ts +48 -0
  49. package/dist/types/src/objects/fonts.d.ts +9 -0
  50. package/dist/types/src/objects/guides.d.ts +2 -0
  51. package/dist/types/src/objects/index.d.ts +10 -0
  52. package/dist/types/src/objects/labelCulling.d.ts +4 -0
  53. package/dist/types/src/objects/nodes.d.ts +4 -0
  54. package/dist/types/src/objects/scale.d.ts +4 -0
  55. package/dist/types/src/objects/scope.d.ts +4 -0
  56. package/dist/types/src/objects/selection.d.ts +5 -0
  57. package/dist/types/src/objects/settings.d.ts +26 -0
  58. package/dist/types/src/objects/stage.d.ts +4 -0
  59. package/dist/types/src/objects/viewport.d.ts +17 -0
  60. package/dist/types/src/services/visibilityCull.d.ts +12 -0
  61. package/dist/types/src/textures/cap.d.ts +6 -0
  62. package/dist/types/src/textures/corner.d.ts +7 -0
  63. package/dist/types/src/textures/pixel.d.ts +2 -0
  64. package/dist/types/src/utilities/columns.d.ts +14 -0
  65. package/dist/types/src/utilities/effectScopeFactory.d.ts +6 -0
  66. package/dist/types/src/utilities/exhaustive.d.ts +1 -0
  67. package/dist/types/src/utilities/getEdgesCount.d.ts +2 -0
  68. package/dist/types/src/utilities/getInitialHorizontalScaleMultiplier.d.ts +2 -0
  69. package/dist/types/src/utilities/keyboard.d.ts +1 -0
  70. package/dist/types/src/utilities/repeat.d.ts +1 -0
  71. package/dist/types/src/utilities/timeIncrements.d.ts +21 -0
  72. package/dist/types/src/workers/layouts/horizontal.d.ts +6 -0
  73. package/dist/types/src/workers/layouts/nearestParentVertical.d.ts +4 -0
  74. package/dist/types/src/workers/layouts/vertical.d.ts +4 -0
  75. package/dist/types/src/workers/runGraph.d.ts +21 -0
  76. package/dist/types/vite.config.d.ts +1 -1
  77. package/package.json +23 -19
  78. package/dist/assets/nodeLayout.worker-ba54e168.js.map +0 -1
  79. package/dist/index-cd319f80.mjs +0 -19948
  80. package/dist/index-cd319f80.mjs.map +0 -1
  81. package/dist/types/demo/components/ComponentPage.vue.d.ts +0 -30
  82. package/dist/types/demo/components/ResizableSection.vue.d.ts +0 -9
  83. package/dist/types/demo/components/contextAccordionChildItem.d.ts +0 -5
  84. package/dist/types/demo/components/router.d.ts +0 -3
  85. package/dist/types/demo/sections/components/TimescaleTable.vue.d.ts +0 -30
  86. package/dist/types/demo/utilities/randomColor.d.ts +0 -5
  87. package/dist/types/demo/utilities/randomDate.d.ts +0 -7
  88. package/dist/types/demo/utilities/randomStarName.d.ts +0 -4
  89. package/dist/types/demo/utilities/starnames/index.d.ts +0 -3
  90. package/dist/types/demo/utilities/starnames/names.d.ts +0 -2
  91. package/dist/types/demo/utilities/starnames/prefixes.d.ts +0 -2
  92. package/dist/types/demo/utilities/starnames/suffixes.d.ts +0 -2
  93. package/dist/types/demo/utilities/timescaleData.d.ts +0 -14
  94. package/dist/types/src/FlowRunTimeline.vue.d.ts +0 -52
  95. package/dist/types/src/containers/guide.d.ts +0 -29
  96. package/dist/types/src/containers/guides.d.ts +0 -26
  97. package/dist/types/src/models/FlowRunTimeline.d.ts +0 -191
  98. package/dist/types/src/pixiFunctions/bitmapFonts.d.ts +0 -4
  99. package/dist/types/src/pixiFunctions/deselectLayer.d.ts +0 -12
  100. package/dist/types/src/pixiFunctions/index.d.ts +0 -13
  101. package/dist/types/src/pixiFunctions/initPixiApp.d.ts +0 -2
  102. package/dist/types/src/pixiFunctions/initViewport.d.ts +0 -3
  103. package/dist/types/src/pixiFunctions/loadingIndicator.d.ts +0 -19
  104. package/dist/types/src/pixiFunctions/nodeSprites.d.ts +0 -34
  105. package/dist/types/src/pixiFunctions/roundedBorderRect.d.ts +0 -39
  106. package/dist/types/src/pixiFunctions/subNodesToggle.d.ts +0 -41
  107. package/dist/types/src/pixiFunctions/timeScale.d.ts +0 -2
  108. package/dist/types/src/pixiFunctions/timelineEdge.d.ts +0 -49
  109. package/dist/types/src/pixiFunctions/timelineNode.d.ts +0 -112
  110. package/dist/types/src/pixiFunctions/timelineNodes.d.ts +0 -54
  111. package/dist/types/src/pixiFunctions/timelinePlayhead.d.ts +0 -14
  112. package/dist/types/src/pixiFunctions/viewport.d.ts +0 -1
  113. package/dist/types/src/types/index.d.ts +0 -1
  114. package/dist/types/src/types/timeline.d.ts +0 -11
  115. package/dist/types/src/utilities/index.d.ts +0 -5
  116. package/dist/types/src/utilities/map.d.ts +0 -1
  117. package/dist/types/src/utilities/math.d.ts +0 -13
  118. package/dist/types/src/utilities/style.d.ts +0 -4
  119. package/dist/types/src/utilities/time.d.ts +0 -42
  120. package/dist/types/src/utilities/viewport.d.ts +0 -3
  121. package/dist/types/src/utilities/zIndex.d.ts +0 -5
  122. package/dist/types/src/workers/layouts/nearestNeighbor.d.ts +0 -10
  123. package/dist/types/src/workers/layouts/waterfall.d.ts +0 -3
  124. package/dist/viewport.es-3ce16114.mjs +0 -2237
  125. package/dist/viewport.es-3ce16114.mjs.map +0 -1
  126. /package/dist/types/demo/{components/ContextSidebar.vue.d.ts → sections/WelcomePage.vue.d.ts} +0 -0
  127. /package/dist/types/demo/sections/{Data.vue.d.ts → components/RunGraphDemo.vue.d.ts} +0 -0
  128. /package/dist/types/{demo/sections/Home.vue.d.ts → src/components/RunGraphSettings.vue.d.ts} +0 -0
  129. /package/dist/types/src/workers/{nodeLayout.worker.d.ts → runGraph.worker.d.ts} +0 -0
@@ -1,49 +0,0 @@
1
- import { Container } from 'pixi.js';
2
- import { GraphState } from '../models';
3
- import { TimelineNode } from '../pixiFunctions';
4
- type TimelineEdgeProps = {
5
- sourceNode: TimelineNode;
6
- targetNode: TimelineNode;
7
- state: GraphState;
8
- };
9
- export declare class TimelineEdge extends Container {
10
- private readonly sourceNode;
11
- private readonly targetNode;
12
- private readonly graphState;
13
- private sourceX;
14
- private sourceY;
15
- private targetX;
16
- private targetY;
17
- private sourceControlPointX;
18
- private sourceControlPointY;
19
- private targetControlPointX;
20
- private targetControlPointY;
21
- private readonly edgePoints;
22
- private readonly edge;
23
- private readonly arrow;
24
- private readonly unWatchers;
25
- constructor({ sourceNode, targetNode, state, }: TimelineEdgeProps);
26
- private initCulling;
27
- private initWatchers;
28
- private assignBezierPositions;
29
- private initEdge;
30
- private initEdgePoints;
31
- private drawArrow;
32
- /**
33
- * Update functions
34
- */
35
- update(): void;
36
- private updateStyle;
37
- /**
38
- * Utilities
39
- */
40
- private hasEdgeChanged;
41
- private getSourceX;
42
- private getNodeY;
43
- private readonly getXBezier;
44
- private getEdgeTexture;
45
- private readonly getPointBezierPosition;
46
- private getTargetAnchorPointPosition;
47
- destroy(): void;
48
- }
49
- export {};
@@ -1,112 +0,0 @@
1
- import { Container } from 'pixi.js';
2
- import { Ref } from 'vue';
3
- import { GraphState, NodeLayoutRow, NodesLayout } from '../models';
4
- import { TimelineItem } from '../types/timeline';
5
- export declare const nodeClickEvents: {
6
- nodeDetails: string;
7
- subNodesToggle: string;
8
- };
9
- export declare const nodeResizeEvent = "nodeResize";
10
- export declare const nodeAnimationDurations: {
11
- fadeIn: number;
12
- move: number;
13
- };
14
- export declare const timelineNodeBoxName = "box";
15
- type TimelineNodeProps = {
16
- nodeData: TimelineItem;
17
- state: GraphState;
18
- layout: Ref<NodesLayout>;
19
- layoutRows: Ref<NodeLayoutRow[]>;
20
- };
21
- export declare class TimelineNode extends Container {
22
- nodeData: TimelineItem;
23
- private readonly state;
24
- private readonly layout;
25
- private readonly layoutRows;
26
- private currentState;
27
- private readonly hasSubNodes;
28
- private isRunningNode;
29
- private runningNodeTicker;
30
- private readonly unWatchers;
31
- positionInitialized: boolean;
32
- private nodeWidth;
33
- private readonly nodeHeight;
34
- private readonly boxCapWidth;
35
- private readonly box;
36
- private leftBoxCap;
37
- private rightBoxCap;
38
- private boxBody;
39
- private subNodesToggle;
40
- private subNodesToggleWidth;
41
- private isSubNodesToggleFloating;
42
- private isLoadingSubNodes;
43
- private subNodesLoadingIndicator;
44
- private noSubNodesMessage;
45
- private label;
46
- private apxLabelWidth;
47
- private isLabelInBox;
48
- private isSubNodesExpanded;
49
- private readonly subNodesOutlineContainer;
50
- private subNodesOutline;
51
- private subNodesContent;
52
- private subNodesHeight;
53
- private subNodesContentTicker;
54
- private isSelected;
55
- private selectedRing;
56
- constructor({ nodeData, state, layout, layoutRows, }: TimelineNodeProps);
57
- private initWatchers;
58
- private drawSubNodesOutline;
59
- private initBox;
60
- private drawBox;
61
- private initSubNodesToggle;
62
- private drawLabel;
63
- private initSelectedRing;
64
- /**
65
- * Node Selection
66
- */
67
- select(): void;
68
- deselect(): void;
69
- private centerViewportToNodeAfterDelay;
70
- /**
71
- * Subnodes
72
- */
73
- private expandSubNodes;
74
- private drawLoadingSubNodes;
75
- private drawNoSubNodesMessage;
76
- private updateSubNodesContentPosition;
77
- private initSubNodesTicker;
78
- private collapseSubNodes;
79
- /**
80
- * Update Functions
81
- */
82
- update(newData?: TimelineItem): void;
83
- private updatePosition;
84
- private updateIsRunningNode;
85
- private updateBoxWidth;
86
- private updateSubNodesOutlineSize;
87
- private updateLabelPosition;
88
- private updateSelectedRingSize;
89
- private updateSubNodesTogglePosition;
90
- /**
91
- * Utilities
92
- */
93
- readonly initializePosition: () => void;
94
- private getNodeWidth;
95
- private getNodeHeight;
96
- private getBoxBodyWidth;
97
- private getOutlineWidth;
98
- private getLabelText;
99
- private checkIsLabelInBox;
100
- private getSelectedRingSize;
101
- private emitSelection;
102
- private readonly getSubNodesData;
103
- private getSubContentHeight;
104
- private emitSubNodesToggle;
105
- private destroySubNodesContent;
106
- private destroySubNodesLoadingIndicator;
107
- private destroyNoSubNodesMessage;
108
- private destroyRunningNodeTicker;
109
- private killTweens;
110
- destroy(): void;
111
- }
112
- export {};
@@ -1,54 +0,0 @@
1
- import { Container } from 'pixi.js';
2
- import { GraphState } from '../models';
3
- import { TimelineNode } from '../pixiFunctions';
4
- import { TimelineData } from '../types/timeline';
5
- export declare const timelineUpdateEvent = "timelineUpdateEvent";
6
- type TimelineNodesProps = {
7
- nodeContentContainerName?: string;
8
- isSubNodes?: boolean;
9
- data: TimelineData;
10
- state: GraphState;
11
- };
12
- export declare class TimelineNodes extends Container {
13
- private readonly layoutWorker;
14
- private readonly isSubNodes;
15
- private data;
16
- private readonly state;
17
- private readonly nodeContainer;
18
- readonly nodeRecords: Map<string, TimelineNode>;
19
- private readonly layout;
20
- private readonly layoutRows;
21
- private readonly edgeContainer;
22
- private readonly edgeRecords;
23
- private readonly unWatchers;
24
- private isSelectionPathHighlighted;
25
- constructor({ nodeContentContainerName, isSubNodes, data, state, }: TimelineNodesProps);
26
- private initWatchers;
27
- private initLayoutWorker;
28
- private initDeselectLayer;
29
- private renderLayout;
30
- private createNode;
31
- private addNodeEdges;
32
- /**
33
- * Update Functions
34
- */
35
- update(newData: TimelineData): void;
36
- updateHideEdges(): void;
37
- private updateLayoutRows;
38
- updateLayoutSetting(): void;
39
- /**
40
- * Node Selection
41
- */
42
- private highlightSelectedNodePath;
43
- private getAllUpstreamEdges;
44
- private getAllDownstreamEdges;
45
- private unHighlightSelectedNodePath;
46
- /**
47
- * Utilities
48
- */
49
- private registerEmits;
50
- private emitNullSelection;
51
- getEarliestNodeStart(): Date | null;
52
- destroy(): void;
53
- }
54
- export {};
@@ -1,14 +0,0 @@
1
- import { Container } from 'pixi.js';
2
- import { GraphState } from '../models';
3
- export declare class TimelinePlayhead extends Container {
4
- private readonly state;
5
- private readonly unwatch;
6
- private readonly playhead;
7
- private label;
8
- constructor(state: GraphState);
9
- private drawPlayhead;
10
- private drawTimeLabel;
11
- private getTimeLabelY;
12
- updatePosition(): void;
13
- destroy(): void;
14
- }
@@ -1 +0,0 @@
1
- export declare function getPixiViewport(): Promise<typeof import("pixi-viewport").Viewport>;
@@ -1 +0,0 @@
1
- export * from './timeline';
@@ -1,11 +0,0 @@
1
- export type TimelineItem = {
2
- id: string;
3
- label: string;
4
- state: string;
5
- start: Date | null;
6
- end: Date | null;
7
- subflowRunId: string | null;
8
- upstream: string[];
9
- downstream: string[];
10
- };
11
- export type TimelineData = Map<string, TimelineItem>;
@@ -1,5 +0,0 @@
1
- export * from './map';
2
- export * from './math';
3
- export * from './style';
4
- export * from './time';
5
- export * from './zIndex';
@@ -1 +0,0 @@
1
- export declare function mapSome<K, V>(map: Map<K, V>, callback: (value: V, key: K) => boolean): boolean;
@@ -1,13 +0,0 @@
1
- export declare const abs: (x: number) => number, atan2: (y: number, x: number) => number, cos: (x: number) => number, max: (...values: number[]) => number, min: (...values: number[]) => number, sin: (x: number) => number, tan: (x: number) => number, sqrt: (x: number) => number, pow: (x: number, y: number) => number, floor: (x: number) => number, ceil: (x: number) => number, random: () => number, round: (x: number) => number;
2
- export declare const epsilon = 1e-12;
3
- export declare const pi: number;
4
- export declare const halfPi: number;
5
- export declare const tau: number;
6
- export declare const acos: (x: number) => number;
7
- export declare const asin: (x: number) => number;
8
- export declare const pow2: (n: number) => number;
9
- export declare const choice: <T>(list: T[] | readonly T[]) => T;
10
- export declare const range: (min: number, max: number) => number[];
11
- export declare const uniform: (min: number, max: number) => number;
12
- export declare const coinflip: (weight: number) => boolean;
13
- export declare const weightedNumber: () => number;
@@ -1,4 +0,0 @@
1
- import { ParsedThemeStyles, ThemeStyleOverrides } from '../models';
2
- export declare function parseThemeOptions(overrides?: ThemeStyleOverrides): ParsedThemeStyles;
3
- export declare function colorToHex(color: string): number;
4
- export declare function spacingToNumber(spacing: string): number;
@@ -1,42 +0,0 @@
1
- import { GuideDateFormatter } from '../containers/guide';
2
- import { FormatDateFns } from '../models/FlowRunTimeline';
3
- import { TimelineData } from '../types/timeline';
4
- export declare const intervals: {
5
- readonly year: 31536000;
6
- readonly day: 86400;
7
- readonly hour: 3600;
8
- readonly minute: 60;
9
- readonly second: 1;
10
- };
11
- export declare function secondsToString(input: number, showOnes?: boolean): string;
12
- export declare function secondsToApproximateString(input: number, showOnes?: boolean): string;
13
- export declare function formatDateBySeconds(date: Date): string;
14
- export declare function formatDateByMinutes(date: Date): string;
15
- export declare function formatDate(date: Date): string;
16
- export declare function getDateBounds(data: TimelineData, minimumTimeSpan?: number, isRunning?: boolean): {
17
- min: Date;
18
- max: Date;
19
- span: number;
20
- };
21
- export declare function roundDownToNearestDay(date: Date): Date;
22
- export declare function roundDownToNearestEvenNumberedHour(date: Date): Date;
23
- export declare const timeLengths: {
24
- second: number;
25
- minute: number;
26
- hour: number;
27
- day: number;
28
- week: number;
29
- };
30
- export declare const labelFormats: {
31
- readonly seconds: "seconds";
32
- readonly minutes: "minutes";
33
- readonly date: "date";
34
- };
35
- export type TimeSpan = {
36
- ceiling: number;
37
- span: number;
38
- labelFormat: typeof labelFormats[keyof typeof labelFormats];
39
- };
40
- export declare const timeSpanSlots: TimeSpan[];
41
- export declare function getTimeSpanSlot(span: number): TimeSpan;
42
- export declare function getLabelFormatter(labelFormat: string, formatters: FormatDateFns): GuideDateFormatter;
@@ -1,3 +0,0 @@
1
- import { Viewport } from 'pixi-viewport';
2
- export type ViewportUpdatedCheck = () => boolean;
3
- export declare function viewportUpdatedFactory(viewport: Viewport): ViewportUpdatedCheck;
@@ -1,5 +0,0 @@
1
- export declare const zIndex: {
2
- readonly timelineGuides: 0;
3
- readonly viewport: 10;
4
- readonly playhead: 20;
5
- };
@@ -1,10 +0,0 @@
1
- import { NodesLayout, TimeScale } from '../../models';
2
- import { TimelineData } from '../../types/timeline';
3
- type FactoryArgs = {
4
- data: TimelineData;
5
- timeScale: TimeScale;
6
- currentApxCharacterWidth: number;
7
- minimumNodeEdgeGap: number;
8
- };
9
- export declare function generateNearestParentLayout({ data, timeScale, currentApxCharacterWidth, minimumNodeEdgeGap, }: FactoryArgs): Promise<NodesLayout>;
10
- export {};
@@ -1,3 +0,0 @@
1
- import { NodesLayout } from '../../models';
2
- import { TimelineData } from '../../types/timeline';
3
- export declare function generateWaterfallLayout(data: TimelineData): NodesLayout;