@anlyx/ui 0.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.
- package/LICENSE +21 -0
- package/README.md +5 -0
- package/dist/components/AnlyxAppShell.d.ts +6 -0
- package/dist/components/AnlyxAppShell.d.ts.map +1 -0
- package/dist/components/AnlyxAppShell.js +61 -0
- package/dist/components/AnlyxAppShell.js.map +1 -0
- package/dist/components/ApiCallList.d.ts +6 -0
- package/dist/components/ApiCallList.d.ts.map +1 -0
- package/dist/components/ApiCallList.js +18 -0
- package/dist/components/ApiCallList.js.map +1 -0
- package/dist/components/CanvasPlaceholder.d.ts +7 -0
- package/dist/components/CanvasPlaceholder.d.ts.map +1 -0
- package/dist/components/CanvasPlaceholder.js +6 -0
- package/dist/components/CanvasPlaceholder.js.map +1 -0
- package/dist/components/CaptureStatusEmptyState.d.ts +7 -0
- package/dist/components/CaptureStatusEmptyState.d.ts.map +1 -0
- package/dist/components/CaptureStatusEmptyState.js +10 -0
- package/dist/components/CaptureStatusEmptyState.js.map +1 -0
- package/dist/components/EndpointList.d.ts +9 -0
- package/dist/components/EndpointList.d.ts.map +1 -0
- package/dist/components/EndpointList.js +12 -0
- package/dist/components/EndpointList.js.map +1 -0
- package/dist/components/EndpointMapCanvas.d.ts +11 -0
- package/dist/components/EndpointMapCanvas.d.ts.map +1 -0
- package/dist/components/EndpointMapCanvas.js +47 -0
- package/dist/components/EndpointMapCanvas.js.map +1 -0
- package/dist/components/FlowLegend.d.ts +2 -0
- package/dist/components/FlowLegend.d.ts.map +1 -0
- package/dist/components/FlowLegend.js +5 -0
- package/dist/components/FlowLegend.js.map +1 -0
- package/dist/components/FlowNodeCard.d.ts +4 -0
- package/dist/components/FlowNodeCard.d.ts.map +1 -0
- package/dist/components/FlowNodeCard.js +13 -0
- package/dist/components/FlowNodeCard.js.map +1 -0
- package/dist/components/InspectorPanel.d.ts +9 -0
- package/dist/components/InspectorPanel.d.ts.map +1 -0
- package/dist/components/InspectorPanel.js +19 -0
- package/dist/components/InspectorPanel.js.map +1 -0
- package/dist/components/PageList.d.ts +9 -0
- package/dist/components/PageList.d.ts.map +1 -0
- package/dist/components/PageList.js +6 -0
- package/dist/components/PageList.js.map +1 -0
- package/dist/components/PageStoryboardCard.d.ts +6 -0
- package/dist/components/PageStoryboardCard.d.ts.map +1 -0
- package/dist/components/PageStoryboardCard.js +6 -0
- package/dist/components/PageStoryboardCard.js.map +1 -0
- package/dist/components/PageStoryboardView.d.ts +6 -0
- package/dist/components/PageStoryboardView.d.ts.map +1 -0
- package/dist/components/PageStoryboardView.js +9 -0
- package/dist/components/PageStoryboardView.js.map +1 -0
- package/dist/components/ReplayControls.d.ts +13 -0
- package/dist/components/ReplayControls.d.ts.map +1 -0
- package/dist/components/ReplayControls.js +5 -0
- package/dist/components/ReplayControls.js.map +1 -0
- package/dist/components/ScreenshotSegmentCard.d.ts +6 -0
- package/dist/components/ScreenshotSegmentCard.d.ts.map +1 -0
- package/dist/components/ScreenshotSegmentCard.js +6 -0
- package/dist/components/ScreenshotSegmentCard.js.map +1 -0
- package/dist/components/Sidebar.d.ts +13 -0
- package/dist/components/Sidebar.d.ts.map +1 -0
- package/dist/components/Sidebar.js +7 -0
- package/dist/components/Sidebar.js.map +1 -0
- package/dist/components/StatusBadge.d.ts +9 -0
- package/dist/components/StatusBadge.d.ts.map +1 -0
- package/dist/components/StatusBadge.js +5 -0
- package/dist/components/StatusBadge.js.map +1 -0
- package/dist/flow/build-react-flow-model.d.ts +27 -0
- package/dist/flow/build-react-flow-model.d.ts.map +1 -0
- package/dist/flow/build-react-flow-model.js +79 -0
- package/dist/flow/build-react-flow-model.js.map +1 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -0
- package/dist/mock-data.d.ts +3 -0
- package/dist/mock-data.d.ts.map +1 -0
- package/dist/mock-data.js +222 -0
- package/dist/mock-data.js.map +1 -0
- package/dist/replay/build-replay-steps.d.ts +10 -0
- package/dist/replay/build-replay-steps.d.ts.map +1 -0
- package/dist/replay/build-replay-steps.js +26 -0
- package/dist/replay/build-replay-steps.js.map +1 -0
- package/dist/replay/use-replay-lite.d.ts +26 -0
- package/dist/replay/use-replay-lite.d.ts.map +1 -0
- package/dist/replay/use-replay-lite.js +97 -0
- package/dist/replay/use-replay-lite.js.map +1 -0
- package/dist/styles.css +786 -0
- package/dist/viewer/ViewerApp.d.ts +2 -0
- package/dist/viewer/ViewerApp.d.ts.map +1 -0
- package/dist/viewer/ViewerApp.js +39 -0
- package/dist/viewer/ViewerApp.js.map +1 -0
- package/dist/viewer/viewer-entry.d.ts +2 -0
- package/dist/viewer/viewer-entry.d.ts.map +1 -0
- package/dist/viewer/viewer-entry.js +10 -0
- package/dist/viewer/viewer-entry.js.map +1 -0
- package/dist/viewer/viewer.html +12 -0
- package/package.json +49 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
2
|
+
import { buildReplaySteps } from "./build-replay-steps.js";
|
|
3
|
+
export function useReplayLite({ mainPath, loop: initialLoop = false, intervalMs = 800 }) {
|
|
4
|
+
const steps = useMemo(() => buildReplaySteps(mainPath), [mainPath]);
|
|
5
|
+
const [currentStepIndex, setCurrentStepIndex] = useState(0);
|
|
6
|
+
const [phase, setPhase] = useState("idle");
|
|
7
|
+
const [isPlaying, setIsPlaying] = useState(false);
|
|
8
|
+
const [loop, setLoop] = useState(initialLoop);
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
setCurrentStepIndex(0);
|
|
11
|
+
setPhase("idle");
|
|
12
|
+
setIsPlaying(false);
|
|
13
|
+
}, [steps]);
|
|
14
|
+
const play = useCallback(() => {
|
|
15
|
+
if (steps.length === 0) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
setCurrentStepIndex((current) => phase === "complete" || current >= steps.length ? 0 : current);
|
|
19
|
+
setPhase((currentPhase) => {
|
|
20
|
+
if (currentPhase === "complete") {
|
|
21
|
+
return steps[0].phase;
|
|
22
|
+
}
|
|
23
|
+
return steps[currentStepIndex]?.phase ?? steps[0].phase;
|
|
24
|
+
});
|
|
25
|
+
setIsPlaying(true);
|
|
26
|
+
}, [currentStepIndex, phase, steps]);
|
|
27
|
+
const pause = useCallback(() => {
|
|
28
|
+
setIsPlaying(false);
|
|
29
|
+
}, []);
|
|
30
|
+
const restart = useCallback(() => {
|
|
31
|
+
setCurrentStepIndex(0);
|
|
32
|
+
setPhase(steps[0]?.phase ?? "idle");
|
|
33
|
+
setIsPlaying(false);
|
|
34
|
+
}, [steps]);
|
|
35
|
+
const toggleLoop = useCallback(() => {
|
|
36
|
+
setLoop((current) => !current);
|
|
37
|
+
}, []);
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
if (!isPlaying || steps.length === 0) {
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
const timer = window.setInterval(() => {
|
|
43
|
+
setCurrentStepIndex((current) => {
|
|
44
|
+
const next = current + 1;
|
|
45
|
+
if (next >= steps.length) {
|
|
46
|
+
if (loop) {
|
|
47
|
+
setPhase(steps[0].phase);
|
|
48
|
+
return 0;
|
|
49
|
+
}
|
|
50
|
+
setIsPlaying(false);
|
|
51
|
+
setPhase("complete");
|
|
52
|
+
return current;
|
|
53
|
+
}
|
|
54
|
+
setPhase(steps[next].phase);
|
|
55
|
+
return next;
|
|
56
|
+
});
|
|
57
|
+
}, intervalMs);
|
|
58
|
+
return () => {
|
|
59
|
+
window.clearInterval(timer);
|
|
60
|
+
};
|
|
61
|
+
}, [intervalMs, isPlaying, loop, steps]);
|
|
62
|
+
const currentStep = phase === "idle" || phase === "complete" ? undefined : steps[currentStepIndex];
|
|
63
|
+
return {
|
|
64
|
+
state: toReplayState({
|
|
65
|
+
currentStep,
|
|
66
|
+
currentStepIndex,
|
|
67
|
+
isPlaying,
|
|
68
|
+
phase
|
|
69
|
+
}),
|
|
70
|
+
loop,
|
|
71
|
+
play,
|
|
72
|
+
pause,
|
|
73
|
+
restart,
|
|
74
|
+
toggleLoop
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
function toReplayState(options) {
|
|
78
|
+
return {
|
|
79
|
+
phase: options.phase,
|
|
80
|
+
isPlaying: options.isPlaying,
|
|
81
|
+
currentStepIndex: options.currentStepIndex,
|
|
82
|
+
...(options.currentStep
|
|
83
|
+
? {
|
|
84
|
+
activeNodeId: options.currentStep.nodeId,
|
|
85
|
+
...(options.currentStep.fromNodeId && options.currentStep.toNodeId
|
|
86
|
+
? {
|
|
87
|
+
activeEdge: {
|
|
88
|
+
from: options.currentStep.fromNodeId,
|
|
89
|
+
to: options.currentStep.toNodeId
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
: {})
|
|
93
|
+
}
|
|
94
|
+
: {})
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=use-replay-lite.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-replay-lite.js","sourceRoot":"","sources":["../../src/replay/use-replay-lite.ts"],"names":[],"mappings":"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"}
|