@ranker/raxflow 2.0.5 → 2.1.1

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 (160) hide show
  1. package/dist/hub/components/ChatInput.d.ts +14 -0
  2. package/dist/hub/components/ChatInput.d.ts.map +1 -0
  3. package/dist/hub/components/ChatInput.js +14 -0
  4. package/dist/hub/components/ChatInput.js.map +1 -0
  5. package/dist/hub/components/ChatMessage.d.ts +14 -0
  6. package/dist/hub/components/ChatMessage.d.ts.map +1 -0
  7. package/dist/hub/components/ChatMessage.js +23 -0
  8. package/dist/hub/components/ChatMessage.js.map +1 -0
  9. package/dist/hub/components/HubHeader.d.ts +12 -0
  10. package/dist/hub/components/HubHeader.d.ts.map +1 -0
  11. package/dist/hub/components/HubHeader.js +12 -0
  12. package/dist/hub/components/HubHeader.js.map +1 -0
  13. package/dist/hub/components/index.d.ts +7 -0
  14. package/dist/hub/components/index.d.ts.map +1 -0
  15. package/dist/hub/components/index.js +7 -0
  16. package/dist/hub/components/index.js.map +1 -0
  17. package/dist/tui/App.d.ts.map +1 -1
  18. package/dist/tui/App.js +10 -10
  19. package/dist/tui/App.js.map +1 -1
  20. package/dist/tui/components/ChatPanel.d.ts +1 -1
  21. package/dist/tui/components/ChatPanel.d.ts.map +1 -1
  22. package/dist/tui/components/ChatPanel.js +37 -26
  23. package/dist/tui/components/ChatPanel.js.map +1 -1
  24. package/dist/tui/components/DAGPanel.d.ts +3 -4
  25. package/dist/tui/components/DAGPanel.d.ts.map +1 -1
  26. package/dist/tui/components/DAGPanel.js +44 -36
  27. package/dist/tui/components/DAGPanel.js.map +1 -1
  28. package/dist/tui/components/Header.d.ts.map +1 -1
  29. package/dist/tui/components/Header.js +54 -36
  30. package/dist/tui/components/Header.js.map +1 -1
  31. package/dist/tui/components/HelpOverlay.d.ts.map +1 -1
  32. package/dist/tui/components/HelpOverlay.js +7 -5
  33. package/dist/tui/components/HelpOverlay.js.map +1 -1
  34. package/dist/tui/components/InputBar.d.ts.map +1 -1
  35. package/dist/tui/components/InputBar.js +25 -13
  36. package/dist/tui/components/InputBar.js.map +1 -1
  37. package/dist/tui/components/LogsPanel.d.ts.map +1 -1
  38. package/dist/tui/components/LogsPanel.js +23 -17
  39. package/dist/tui/components/LogsPanel.js.map +1 -1
  40. package/dist/tui/components/MemoryPanel.d.ts +1 -1
  41. package/dist/tui/components/MemoryPanel.d.ts.map +1 -1
  42. package/dist/tui/components/MemoryPanel.js +24 -31
  43. package/dist/tui/components/MemoryPanel.js.map +1 -1
  44. package/dist/tui/components/MetricsPanel.d.ts +1 -1
  45. package/dist/tui/components/MetricsPanel.d.ts.map +1 -1
  46. package/dist/tui/components/MetricsPanel.js +10 -13
  47. package/dist/tui/components/MetricsPanel.js.map +1 -1
  48. package/dist/tui/components/SelectMenu.d.ts +20 -0
  49. package/dist/tui/components/SelectMenu.d.ts.map +1 -0
  50. package/dist/tui/components/SelectMenu.js +19 -0
  51. package/dist/tui/components/SelectMenu.js.map +1 -0
  52. package/dist/tui/components/StatusPanel.d.ts +4 -3
  53. package/dist/tui/components/StatusPanel.d.ts.map +1 -1
  54. package/dist/tui/components/StatusPanel.js +26 -18
  55. package/dist/tui/components/StatusPanel.js.map +1 -1
  56. package/dist/tui/components/animations/ProgressBar.d.ts +8 -1
  57. package/dist/tui/components/animations/ProgressBar.d.ts.map +1 -1
  58. package/dist/tui/components/animations/ProgressBar.js +52 -26
  59. package/dist/tui/components/animations/ProgressBar.js.map +1 -1
  60. package/dist/tui/components/animations/Pulse.d.ts +11 -3
  61. package/dist/tui/components/animations/Pulse.d.ts.map +1 -1
  62. package/dist/tui/components/animations/Pulse.js +23 -14
  63. package/dist/tui/components/animations/Pulse.js.map +1 -1
  64. package/dist/tui/components/animations/Spinner.d.ts +2 -1
  65. package/dist/tui/components/animations/Spinner.d.ts.map +1 -1
  66. package/dist/tui/components/animations/Spinner.js +31 -16
  67. package/dist/tui/components/animations/Spinner.js.map +1 -1
  68. package/dist/tui/components/animations/StatusAnimator.d.ts +3 -0
  69. package/dist/tui/components/animations/StatusAnimator.d.ts.map +1 -1
  70. package/dist/tui/components/animations/StatusAnimator.js +43 -28
  71. package/dist/tui/components/animations/StatusAnimator.js.map +1 -1
  72. package/dist/tui/components/animations/TypingEffect.d.ts +1 -0
  73. package/dist/tui/components/animations/TypingEffect.d.ts.map +1 -1
  74. package/dist/tui/components/animations/TypingEffect.js +13 -7
  75. package/dist/tui/components/animations/TypingEffect.js.map +1 -1
  76. package/dist/tui/components/animations/index.d.ts +3 -2
  77. package/dist/tui/components/animations/index.d.ts.map +1 -1
  78. package/dist/tui/components/animations/index.js +2 -2
  79. package/dist/tui/components/animations/index.js.map +1 -1
  80. package/dist/tui/components/composed/Button.d.ts +18 -0
  81. package/dist/tui/components/composed/Button.d.ts.map +1 -0
  82. package/dist/tui/components/composed/Button.js +22 -0
  83. package/dist/tui/components/composed/Button.js.map +1 -0
  84. package/dist/tui/components/composed/Divider.d.ts +13 -0
  85. package/dist/tui/components/composed/Divider.d.ts.map +1 -0
  86. package/dist/tui/components/composed/Divider.js +18 -0
  87. package/dist/tui/components/composed/Divider.js.map +1 -0
  88. package/dist/tui/components/composed/StatusBadge.d.ts +14 -0
  89. package/dist/tui/components/composed/StatusBadge.d.ts.map +1 -0
  90. package/dist/tui/components/composed/StatusBadge.js +28 -0
  91. package/dist/tui/components/composed/StatusBadge.js.map +1 -0
  92. package/dist/tui/components/composed/index.d.ts +7 -0
  93. package/dist/tui/components/composed/index.d.ts.map +1 -0
  94. package/dist/tui/components/composed/index.js +7 -0
  95. package/dist/tui/components/composed/index.js.map +1 -0
  96. package/dist/tui/components/layouts/Container.d.ts +14 -0
  97. package/dist/tui/components/layouts/Container.d.ts.map +1 -0
  98. package/dist/tui/components/layouts/Container.js +10 -0
  99. package/dist/tui/components/layouts/Container.js.map +1 -0
  100. package/dist/tui/components/layouts/Grid.d.ts +14 -0
  101. package/dist/tui/components/layouts/Grid.d.ts.map +1 -0
  102. package/dist/tui/components/layouts/Grid.js +13 -0
  103. package/dist/tui/components/layouts/Grid.js.map +1 -0
  104. package/dist/tui/components/layouts/Stack.d.ts +32 -0
  105. package/dist/tui/components/layouts/Stack.d.ts.map +1 -0
  106. package/dist/tui/components/layouts/Stack.js +17 -0
  107. package/dist/tui/components/layouts/Stack.js.map +1 -0
  108. package/dist/tui/components/layouts/index.d.ts +7 -0
  109. package/dist/tui/components/layouts/index.d.ts.map +1 -0
  110. package/dist/tui/components/layouts/index.js +7 -0
  111. package/dist/tui/components/layouts/index.js.map +1 -0
  112. package/dist/tui/components/primitives/Box.d.ts +28 -0
  113. package/dist/tui/components/primitives/Box.d.ts.map +1 -0
  114. package/dist/tui/components/primitives/Box.js +38 -0
  115. package/dist/tui/components/primitives/Box.js.map +1 -0
  116. package/dist/tui/components/primitives/Panel.d.ts +17 -0
  117. package/dist/tui/components/primitives/Panel.d.ts.map +1 -0
  118. package/dist/tui/components/primitives/Panel.js +12 -0
  119. package/dist/tui/components/primitives/Panel.js.map +1 -0
  120. package/dist/tui/components/primitives/Text.d.ts +18 -0
  121. package/dist/tui/components/primitives/Text.d.ts.map +1 -0
  122. package/dist/tui/components/primitives/Text.js +21 -0
  123. package/dist/tui/components/primitives/Text.js.map +1 -0
  124. package/dist/tui/components/primitives/index.d.ts +7 -0
  125. package/dist/tui/components/primitives/index.d.ts.map +1 -0
  126. package/dist/tui/components/primitives/index.js +7 -0
  127. package/dist/tui/components/primitives/index.js.map +1 -0
  128. package/dist/tui/hooks/useAppState.d.ts +30 -2
  129. package/dist/tui/hooks/useAppState.d.ts.map +1 -1
  130. package/dist/tui/hooks/useAppState.js +333 -186
  131. package/dist/tui/hooks/useAppState.js.map +1 -1
  132. package/dist/tui/hooks/useTerminalSize.d.ts +3 -0
  133. package/dist/tui/hooks/useTerminalSize.d.ts.map +1 -1
  134. package/dist/tui/hooks/useTerminalSize.js +36 -10
  135. package/dist/tui/hooks/useTerminalSize.js.map +1 -1
  136. package/dist/tui/services/orchestrator.d.ts +6 -2
  137. package/dist/tui/services/orchestrator.d.ts.map +1 -1
  138. package/dist/tui/services/orchestrator.js +22 -5
  139. package/dist/tui/services/orchestrator.js.map +1 -1
  140. package/dist/tui/styles/colors.d.ts +4 -0
  141. package/dist/tui/styles/colors.d.ts.map +1 -1
  142. package/dist/tui/styles/colors.js +54 -14
  143. package/dist/tui/styles/colors.js.map +1 -1
  144. package/dist/tui/styles/design-system.d.ts +107 -0
  145. package/dist/tui/styles/design-system.d.ts.map +1 -0
  146. package/dist/tui/styles/design-system.js +140 -0
  147. package/dist/tui/styles/design-system.js.map +1 -0
  148. package/dist/tui/styles/index.d.ts +4 -2
  149. package/dist/tui/styles/index.d.ts.map +1 -1
  150. package/dist/tui/styles/index.js +3 -2
  151. package/dist/tui/styles/index.js.map +1 -1
  152. package/dist/tui/styles/themes.d.ts +10 -0
  153. package/dist/tui/styles/themes.d.ts.map +1 -1
  154. package/dist/tui/styles/themes.js +137 -47
  155. package/dist/tui/styles/themes.js.map +1 -1
  156. package/dist/tui/styles/tokens.d.ts +262 -0
  157. package/dist/tui/styles/tokens.d.ts.map +1 -0
  158. package/dist/tui/styles/tokens.js +230 -0
  159. package/dist/tui/styles/tokens.js.map +1 -0
  160. package/package.json +1 -1
@@ -1,39 +1,65 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { memo, useMemo } from "react";
3
3
  import { Box, Text } from "ink";
4
- import { tuiColors, getProgressMarker, getProgressGlow } from "../../styles/index.js";
5
- export const AnimatedProgressBar = memo(function AnimatedProgressBar({ progress, width = 16, showPercentage = true, animated = true, tick = 0, showMarker = true, glowEffect = false, color, }) {
6
- const filled = Math.round((progress / 100) * width);
4
+ import { getCurrentTheme } from "../../styles/colors.js";
5
+ import { indicators } from "../../styles/tokens.js";
6
+ const GLOW_CHARS = ["█", "▓", "█", "▓"];
7
+ const MARKER_CHARS = ["▸", "▶", "▸", "▶"];
8
+ const WAVE_CHARS = ["░", "▒", "▓", "█", "▓", "▒"];
9
+ function getProgressGlow(tick) {
10
+ return GLOW_CHARS[tick % GLOW_CHARS.length];
11
+ }
12
+ function getProgressMarker(tick) {
13
+ return MARKER_CHARS[tick % MARKER_CHARS.length];
14
+ }
15
+ function getWaveChar(tick, position) {
16
+ const offset = (tick + position) % WAVE_CHARS.length;
17
+ return WAVE_CHARS[offset];
18
+ }
19
+ export const AnimatedProgressBar = memo(function AnimatedProgressBar({ progress, width = 16, showPercentage = true, animated = true, tick = 0, showMarker = true, glowEffect = false, color, compact = false, }) {
20
+ const theme = getCurrentTheme();
21
+ const clampedProgress = Math.max(0, Math.min(100, progress));
22
+ const filled = Math.round((clampedProgress / 100) * width);
7
23
  const empty = width - filled;
8
- const markerPos = Math.min(filled, width - 1);
9
- const barColor = color || (progress >= 100
10
- ? tuiColors.success
11
- : progress > 0
12
- ? tuiColors.warning
13
- : tuiColors.textTertiary);
14
- const filledChar = glowEffect && animated ? getProgressGlow(tick) : "█";
15
- const emptyChar = "░";
16
- const markerChar = showMarker && animated && progress > 0 && progress < 100 ? getProgressMarker(tick) : "";
24
+ const barColor = useMemo(() => {
25
+ if (color)
26
+ return color;
27
+ if (clampedProgress >= 100)
28
+ return theme.colors.success;
29
+ if (clampedProgress >= 70)
30
+ return theme.colors.warning;
31
+ if (clampedProgress > 0)
32
+ return theme.colors.primary;
33
+ return theme.colors.textTertiary;
34
+ }, [clampedProgress, color, theme]);
35
+ const filledChar = glowEffect && animated ? getProgressGlow(tick) : indicators.progress.filled;
36
+ const emptyChar = compact ? "·" : indicators.progress.empty;
37
+ const markerChar = showMarker && animated && clampedProgress > 0 && clampedProgress < 100
38
+ ? getProgressMarker(tick)
39
+ : "";
17
40
  const beforeMarker = filled > 0 ? filledChar.repeat(Math.max(0, filled - 1)) : "";
18
41
  const afterMarker = emptyChar.repeat(empty);
19
- const progressStr = useMemo(() => progress.toString().padStart(3), [progress]);
20
- if (showMarker && animated && progress > 0 && progress < 100) {
21
- return (_jsxs(Box, { flexDirection: "row", children: [_jsx(Text, { color: barColor, children: beforeMarker }), _jsx(Text, { color: tuiColors.primary, bold: true, children: markerChar }), _jsx(Text, { color: tuiColors.textTertiary, children: afterMarker.slice(1) }), showPercentage && (_jsxs(Text, { color: barColor, children: [" ", progressStr, "%"] }))] }));
42
+ const progressStr = useMemo(() => Math.round(clampedProgress).toString().padStart(3), [clampedProgress]);
43
+ if (showMarker && animated && clampedProgress > 0 && clampedProgress < 100) {
44
+ return (_jsxs(Box, { flexDirection: "row", children: [_jsx(Text, { color: barColor, children: beforeMarker }), _jsx(Text, { color: theme.colors.accent, bold: true, children: markerChar }), _jsx(Text, { color: theme.colors.textTertiary, children: afterMarker.slice(1) }), showPercentage && !compact && (_jsxs(Text, { color: barColor, children: [" ", progressStr, "%"] }))] }));
22
45
  }
23
46
  const bar = filledChar.repeat(filled) + emptyChar.repeat(empty);
24
- return (_jsxs(Box, { flexDirection: "row", children: [_jsx(Text, { color: barColor, children: bar }), showPercentage && (_jsxs(Text, { color: barColor, children: [" ", progressStr, "%"] }))] }));
47
+ return (_jsxs(Box, { flexDirection: "row", children: [_jsx(Text, { color: barColor, children: bar }), showPercentage && !compact && (_jsxs(Text, { color: barColor, children: [" ", progressStr, "%"] }))] }));
25
48
  });
26
- export const ProgressWithLabel = memo(function ProgressWithLabel({ label, progress, width = 12, tick = 0, animated = true }) {
27
- const paddedLabel = useMemo(() => label.padEnd(10), [label]);
28
- return (_jsxs(Box, { flexDirection: "row", children: [_jsx(Text, { color: tuiColors.textSecondary, children: paddedLabel }), _jsx(AnimatedProgressBar, { progress: progress, width: width, tick: tick, animated: animated, showMarker: true })] }));
49
+ export const ProgressWithLabel = memo(function ProgressWithLabel({ label, progress, width = 12, tick = 0, animated = true, compact = false, }) {
50
+ const theme = getCurrentTheme();
51
+ const paddedLabel = useMemo(() => label.slice(0, compact ? 8 : 12).padEnd(compact ? 8 : 12), [label, compact]);
52
+ return (_jsxs(Box, { flexDirection: "row", children: [_jsx(Text, { color: theme.colors.textSecondary, children: paddedLabel }), _jsx(AnimatedProgressBar, { progress: progress, width: width, tick: tick, animated: animated, showMarker: true, compact: compact })] }));
29
53
  });
30
- export const SegmentedProgress = memo(function SegmentedProgress({ segments, width = 20, tick = 0 }) {
31
- const totalProgress = useMemo(() => segments.reduce((sum, s) => sum + s.progress, 0) / segments.length, [segments]);
32
- return (_jsx(Box, { flexDirection: "column", children: segments.map((segment, idx) => (_jsxs(Box, { flexDirection: "row", children: [segment.label && _jsx(Text, { color: tuiColors.textTertiary, children: segment.label.padEnd(8) }), _jsx(AnimatedProgressBar, { progress: segment.progress, width: width, tick: tick, color: segment.color, showPercentage: false }), _jsxs(Text, { color: segment.color || tuiColors.textPrimary, children: [" ", segment.progress, "%"] })] }, idx))) }));
54
+ export const SegmentedProgress = memo(function SegmentedProgress({ segments, width = 20, tick = 0, compact = false, }) {
55
+ const theme = getCurrentTheme();
56
+ return (_jsx(Box, { flexDirection: "column", children: segments.map((segment, idx) => (_jsxs(Box, { flexDirection: "row", children: [segment.label && (_jsx(Text, { color: theme.colors.textTertiary, children: segment.label.slice(0, compact ? 6 : 10).padEnd(compact ? 6 : 10) })), _jsx(AnimatedProgressBar, { progress: segment.progress, width: width, tick: tick, color: segment.color, showPercentage: false, compact: compact }), _jsxs(Text, { color: segment.color || theme.colors.textPrimary, children: [" ", Math.round(segment.progress), "%"] })] }, idx))) }));
33
57
  });
34
- export const WorkflowProgress = memo(function WorkflowProgress({ level, progress, isActive, tick = 0 }) {
35
- const levelColor = isActive ? tuiColors.primary : tuiColors.textSecondary;
36
- const paddedLevel = useMemo(() => level.padEnd(12), [level]);
37
- return (_jsxs(Box, { flexDirection: "row", children: [_jsx(Text, { color: levelColor, bold: true, children: paddedLevel }), _jsx(AnimatedProgressBar, { progress: progress, width: 12, tick: tick, animated: isActive, showMarker: isActive, glowEffect: isActive, color: isActive ? tuiColors.warning : undefined })] }));
58
+ export const WorkflowProgress = memo(function WorkflowProgress({ level, progress, isActive, tick = 0, compact = false, }) {
59
+ const theme = getCurrentTheme();
60
+ const levelColor = isActive ? theme.colors.primary : theme.colors.textSecondary;
61
+ const paddedLevel = useMemo(() => level.slice(0, compact ? 8 : 12).padEnd(compact ? 8 : 12), [level, compact]);
62
+ return (_jsxs(Box, { flexDirection: "row", children: [_jsx(Text, { color: levelColor, bold: isActive, children: paddedLevel }), _jsx(AnimatedProgressBar, { progress: progress, width: compact ? 10 : 14, tick: tick, animated: isActive, showMarker: isActive, glowEffect: isActive, color: isActive ? theme.colors.warning : undefined, compact: compact })] }));
38
63
  });
64
+ export { getProgressGlow, getProgressMarker };
39
65
  //# sourceMappingURL=ProgressBar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressBar.js","sourceRoot":"","sources":["../../../../src/tui/components/animations/ProgressBar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProgressBar.js","sourceRoot":"","sources":["../../../../src/tui/components/animations/ProgressBar.tsx"],"names":[],"mappings":"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"}
@@ -1,17 +1,25 @@
1
1
  import React from "react";
2
+ declare const FRAME_MAP: {
3
+ readonly pulse: string[];
4
+ readonly breath: string[];
5
+ readonly ping: string[];
6
+ readonly wave: string[];
7
+ readonly heartbeat: string[];
8
+ };
9
+ type PulseType = keyof typeof FRAME_MAP;
2
10
  interface PulseProps {
3
11
  interval?: number;
4
12
  color?: string;
5
13
  isAnimating?: boolean;
6
- type?: "pulse" | "breath" | "ping";
14
+ type?: PulseType;
7
15
  }
8
16
  export declare const Pulse: React.NamedExoticComponent<PulseProps>;
9
- export declare function usePulseFrame(tick: number, type?: "pulse" | "breath" | "ping"): string;
17
+ export declare function usePulseFrame(tick: number, type?: PulseType): string;
10
18
  export declare function usePulseIntensity(tick: number, interval?: number): number;
11
19
  interface StatusPulseProps {
12
20
  status: "online" | "offline" | "running" | "error";
13
21
  tick?: number;
14
22
  }
15
23
  export declare const StatusPulse: React.NamedExoticComponent<StatusPulseProps>;
16
- export {};
24
+ export type { PulseType };
17
25
  //# sourceMappingURL=Pulse.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pulse.d.ts","sourceRoot":"","sources":["../../../../src/tui/components/animations/Pulse.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAqBpC,UAAU,UAAU;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;CACpC;AAED,eAAO,MAAM,KAAK,wCAYhB,CAAC;AAEH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,OAAO,GAAG,QAAQ,GAAG,MAAgB,GAAG,MAAM,CAG/F;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAY,GAAG,MAAM,CAI9E;AAED,UAAU,gBAAgB;IACxB,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,WAAW,8CActB,CAAC"}
1
+ {"version":3,"file":"Pulse.d.ts","sourceRoot":"","sources":["../../../../src/tui/components/animations/Pulse.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAWpC,QAAA,MAAM,SAAS;;;;;;CAML,CAAC;AAUX,KAAK,SAAS,GAAG,MAAM,OAAO,SAAS,CAAC;AAExC,UAAU,UAAU;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,eAAO,MAAM,KAAK,wCAchB,CAAC;AAEH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,SAAmB,GAAG,MAAM,CAG7E;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAY,GAAG,MAAM,CAI9E;AAED,UAAU,gBAAgB;IACxB,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,WAAW,8CAgBtB,CAAC;AAEH,YAAY,EAAE,SAAS,EAAE,CAAC"}
@@ -2,26 +2,34 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { memo } from "react";
3
3
  import { Text } from "ink";
4
4
  import { useAnimation } from "../../hooks/useAnimation.js";
5
- import { tuiColors } from "../../styles/index.js";
6
- const PULSE_FRAMES = ["●", "◐", "○", "◐"];
7
- const BREATH_FRAMES = ["●", "●", "◐", "◐", "○", "○", "◐", "◐"];
8
- const PING_FRAMES = ["●", "●", "●", "○", "○", "○", "○", "○", "○", "○"];
5
+ import { getCurrentTheme } from "../../styles/colors.js";
6
+ const PULSE_FRAMES = ["●", "●", "◐", "○", "○", "◐"];
7
+ const BREATH_FRAMES = ["●", "●", "●", "◐", "◐", "○", "○", "○", "○", "◐", "◐"];
8
+ const PING_FRAMES = ["●", "●", "●", "○", "○", "○", "○", "○", "○", "○", "○", "○"];
9
+ const WAVE_FRAMES = ["○", "◐", "●", "◐", "○", "◐", "●"];
10
+ const HEARTBEAT_FRAMES = ["●", "●", "○", "●", "●", "○", "○", "○", "○", "○"];
9
11
  const FRAME_MAP = {
10
12
  pulse: PULSE_FRAMES,
11
13
  breath: BREATH_FRAMES,
12
14
  ping: PING_FRAMES,
15
+ wave: WAVE_FRAMES,
16
+ heartbeat: HEARTBEAT_FRAMES,
13
17
  };
14
18
  const DEFAULT_INTERVALS = {
15
- pulse: 300,
16
- breath: 600,
17
- ping: 400,
19
+ pulse: 250,
20
+ breath: 500,
21
+ ping: 350,
22
+ wave: 150,
23
+ heartbeat: 200,
18
24
  };
19
- export const Pulse = memo(function Pulse({ interval, color = tuiColors.success, isAnimating = true, type = "pulse" }) {
25
+ export const Pulse = memo(function Pulse({ interval, color, isAnimating = true, type = "pulse", }) {
26
+ const theme = getCurrentTheme();
20
27
  const frames = FRAME_MAP[type];
21
28
  const actualInterval = interval ?? DEFAULT_INTERVALS[type];
29
+ const pulseColor = color ?? theme.colors.success;
22
30
  const { frame } = useAnimation({ interval: actualInterval, loop: true, autoStart: isAnimating, maxFps: 15 });
23
31
  const currentFrame = frames[frame % frames.length];
24
- return _jsx(Text, { color: color, children: currentFrame });
32
+ return _jsx(Text, { color: pulseColor, children: currentFrame });
25
33
  });
26
34
  export function usePulseFrame(tick, type = "pulse") {
27
35
  const frames = FRAME_MAP[type];
@@ -32,16 +40,17 @@ export function usePulseIntensity(tick, interval = 100) {
32
40
  const phase = (tick % cycleLength) / cycleLength;
33
41
  return 0.5 + Math.sin(phase * Math.PI * 2) * 0.5;
34
42
  }
35
- export const StatusPulse = memo(function StatusPulse({ status, tick }) {
43
+ export const StatusPulse = memo(function StatusPulse({ status }) {
44
+ const theme = getCurrentTheme();
36
45
  if (status === "running") {
37
- return _jsx(Pulse, { interval: 200, color: tuiColors.warning, type: "pulse" });
46
+ return _jsx(Pulse, { interval: 180, color: theme.colors.warning, type: "wave" });
38
47
  }
39
48
  if (status === "online") {
40
- return _jsx(Pulse, { interval: 600, color: tuiColors.success, type: "breath" });
49
+ return _jsx(Pulse, { interval: 500, color: theme.colors.success, type: "breath" });
41
50
  }
42
51
  if (status === "error") {
43
- return _jsx(Pulse, { interval: 400, color: tuiColors.error, type: "ping" });
52
+ return _jsx(Pulse, { interval: 300, color: theme.colors.error, type: "ping" });
44
53
  }
45
- return _jsx(Text, { color: tuiColors.textTertiary, children: "\u25CB" });
54
+ return _jsx(Text, { color: theme.colors.textTertiary, children: "\u25CB" });
46
55
  });
47
56
  //# sourceMappingURL=Pulse.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pulse.js","sourceRoot":"","sources":["../../../../src/tui/components/animations/Pulse.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Pulse.js","sourceRoot":"","sources":["../../../../src/tui/components/animations/Pulse.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- export type SpinnerType = "dots" | "circle" | "pulse" | "brackets" | "arrows" | "hamburger" | "grow";
2
+ export type SpinnerType = "dots" | "dots2" | "circle" | "circleHalves" | "pipe" | "triangle" | "arc" | "line" | "dots12" | "bounce" | "wave" | "pulse";
3
3
  interface SpinnerProps {
4
4
  type?: SpinnerType;
5
5
  interval?: number;
@@ -9,5 +9,6 @@ interface SpinnerProps {
9
9
  export declare const Spinner: React.NamedExoticComponent<SpinnerProps>;
10
10
  export declare function useSpinnerFrame(type: SpinnerType | undefined, tick: number): string;
11
11
  export declare const spinnerTypes: SpinnerType[];
12
+ export declare function getSpinnerFrames(type: SpinnerType): string[];
12
13
  export {};
13
14
  //# sourceMappingURL=Spinner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["../../../../src/tui/components/animations/Spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAK7C,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAC;AAsBrG,UAAU,YAAY;IACpB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,OAAO,0CAYlB,CAAC;AAEH,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,YAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAGhF;AAED,eAAO,MAAM,YAAY,EAAkC,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["../../../../src/tui/components/animations/Spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAKpC,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,cAAc,GAAG,MAAM,GAAG,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAgCvJ,UAAU,YAAY;IACpB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,OAAO,0CAclB,CAAC;AAEH,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,YAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAGhF;AAED,eAAO,MAAM,YAAY,EAAkC,WAAW,EAAE,CAAC;AAEzE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,EAAE,CAE5D"}
@@ -2,35 +2,50 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { memo } from "react";
3
3
  import { Text } from "ink";
4
4
  import { useAnimation } from "../../hooks/useAnimation.js";
5
- import { tuiColors } from "../../styles/index.js";
5
+ import { getCurrentTheme } from "../../styles/colors.js";
6
6
  const SPINNER_FRAMES = {
7
- dots: ["⠋", "⠙", "⠹", "⠸", "", "⠴", "⠦", "⠧", "⠇", "⠏"],
8
- circle: ["", "", "", ""],
9
- pulse: ["", "", "", ""],
10
- brackets: ["[ ]", "[= ]", "[== ]", "[=== ]", "[==== ]", "[===== ]", "[====== ]", "[======= ]", "[======== ]", "[========= ]", "[==========]", "[ =========]", "[ ========]", "[ =======]", "[ ======]", "[ =====]", "[ ====]", "[ ===]", "[ ==]", "[ =]"],
11
- arrows: ["", "", "", "", "", "", "", ""],
12
- hamburger: ["", "", "ěr", "", "☴", "pě", "☲", "☶"],
13
- grow: ["", "", "", "", "▅", "▆", "▇", "█", "▇", "▆", "▅", "▄", "▃", "▂"],
7
+ dots: ["⠋", "⠙", "⠹", "⠸", "", "⠴", "⠦", "⠧", "⠇", "⠏"],
8
+ dots2: ["", "", "", "", "⡿", "⣟", "⣯", "⣷"],
9
+ circle: ["", "", "", "", "◡", "◟"],
10
+ circleHalves: ["", "", "", ""],
11
+ pipe: ["", "", "", "", "", "", "", ""],
12
+ triangle: ["", "", "", ""],
13
+ arc: ["", "", "", ""],
14
+ line: ["━", "━", "╋", "━", "━"],
15
+ dots12: ["⠁", "⠂", "⠄", "⡀", "⢀", "⠠", "⠐", "⠈"],
16
+ bounce: ["⠁", "⠂", "⠄", "⡀", "⢀", "⠠", "⠐", "⠈", "⠐", "⠠", "⢀", "⡀", "⠄", "⠂"],
17
+ wave: ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█", "▇", "▆", "▅", "▄", "▃", "▂"],
18
+ pulse: ["○", "◎", "●", "◎"],
14
19
  };
15
20
  const DEFAULT_INTERVALS = {
16
- dots: 100,
17
- circle: 120,
21
+ dots: 80,
22
+ dots2: 80,
23
+ circle: 100,
24
+ circleHalves: 120,
25
+ pipe: 100,
26
+ triangle: 100,
27
+ arc: 80,
28
+ line: 150,
29
+ dots12: 80,
30
+ bounce: 60,
31
+ wave: 80,
18
32
  pulse: 200,
19
- brackets: 80,
20
- arrows: 100,
21
- hamburger: 150,
22
- grow: 100,
23
33
  };
24
- export const Spinner = memo(function Spinner({ type = "dots", interval, color = tuiColors.primary, isAnimating = true }) {
34
+ export const Spinner = memo(function Spinner({ type = "dots", interval, color, isAnimating = true, }) {
35
+ const theme = getCurrentTheme();
25
36
  const frames = SPINNER_FRAMES[type];
26
37
  const actualInterval = interval ?? DEFAULT_INTERVALS[type];
38
+ const spinnerColor = color ?? theme.colors.primary;
27
39
  const { frame } = useAnimation({ interval: actualInterval, loop: true, autoStart: isAnimating, maxFps: 20 });
28
40
  const currentFrame = frames[frame % frames.length];
29
- return _jsx(Text, { color: color, children: currentFrame });
41
+ return _jsx(Text, { color: spinnerColor, children: currentFrame });
30
42
  });
31
43
  export function useSpinnerFrame(type = "dots", tick) {
32
44
  const frames = SPINNER_FRAMES[type];
33
45
  return frames[tick % frames.length];
34
46
  }
35
47
  export const spinnerTypes = Object.keys(SPINNER_FRAMES);
48
+ export function getSpinnerFrames(type) {
49
+ return SPINNER_FRAMES[type];
50
+ }
36
51
  //# sourceMappingURL=Spinner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Spinner.js","sourceRoot":"","sources":["../../../../src/tui/components/animations/Spinner.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,IAAI,EAAW,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAIlD,MAAM,cAAc,GAAkC;IACpD,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IACxD,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAC5B,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAC3B,QAAQ,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC;IAC1U,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;IAChD,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC;IACrD,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;CAC7E,CAAC;AAEF,MAAM,iBAAiB,GAAgC;IACrD,IAAI,EAAE,GAAG;IACT,MAAM,EAAE,GAAG;IACX,KAAK,EAAE,GAAG;IACV,QAAQ,EAAE,EAAE;IACZ,MAAM,EAAE,GAAG;IACX,SAAS,EAAE,GAAG;IACd,IAAI,EAAE,GAAG;CACV,CAAC;AASF,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,OAAO,CAAC,EAC3C,IAAI,GAAG,MAAM,EACb,QAAQ,EACR,KAAK,GAAG,SAAS,CAAC,OAAO,EACzB,WAAW,GAAG,IAAI,EACL;IACb,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,cAAc,GAAG,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7G,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAEnD,OAAO,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,YAAG,YAAY,GAAQ,CAAC;AACnD,CAAC,CAAC,CAAC;AAEH,MAAM,UAAU,eAAe,CAAC,OAAoB,MAAM,EAAE,IAAY;IACtE,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAkB,CAAC"}
1
+ {"version":3,"file":"Spinner.js","sourceRoot":"","sources":["../../../../src/tui/components/animations/Spinner.tsx"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ interface StatusAnimatorProps {
5
5
  label?: string;
6
6
  showLabel?: boolean;
7
7
  transitionDuration?: number;
8
+ compact?: boolean;
8
9
  }
9
10
  export declare const StatusAnimator: React.NamedExoticComponent<StatusAnimatorProps>;
10
11
  interface MetricPulseProps {
@@ -16,11 +17,13 @@ interface MetricPulseProps {
16
17
  critical: number;
17
18
  };
18
19
  isHighlighted?: boolean;
20
+ compact?: boolean;
19
21
  }
20
22
  export declare const MetricPulse: React.NamedExoticComponent<MetricPulseProps>;
21
23
  interface FitnessAnimatorProps {
22
24
  value: number;
23
25
  previousValue?: number;
26
+ compact?: boolean;
24
27
  }
25
28
  export declare const FitnessAnimator: React.NamedExoticComponent<FitnessAnimatorProps>;
26
29
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"StatusAnimator.d.ts","sourceRoot":"","sources":["../../../../src/tui/components/animations/StatusAnimator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAC;AAKjE,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE5E,UAAU,mBAAmB;IAC3B,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAqBD,eAAO,MAAM,cAAc,iDAuDzB,CAAC;AAEH,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,eAAO,MAAM,WAAW,8CAsBtB,CAAC;AAEH,UAAU,oBAAoB;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,eAAe,kDAyB1B,CAAC"}
1
+ {"version":3,"file":"StatusAnimator.d.ts","sourceRoot":"","sources":["../../../../src/tui/components/animations/StatusAnimator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAC;AAKjE,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE5E,UAAU,mBAAmB;IAC3B,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAiCD,eAAO,MAAM,cAAc,iDAwDzB,CAAC;AAEH,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,WAAW,8CA+BtB,CAAC;AAEH,UAAU,oBAAoB;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,eAAe,kDAqC1B,CAAC"}
@@ -1,24 +1,37 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState, useEffect, memo, useRef } from "react";
3
3
  import { Box, Text } from "ink";
4
- import { tuiColors, getStatusIndicator } from "../../styles/index.js";
4
+ import { getCurrentTheme } from "../../styles/colors.js";
5
5
  import { useAnimation } from "../../hooks/useAnimation.js";
6
- const STATUS_COLORS = {
7
- pending: tuiColors.textTertiary,
8
- queued: tuiColors.warning,
9
- running: tuiColors.primary,
10
- done: tuiColors.success,
11
- error: tuiColors.error,
12
- idle: tuiColors.textQuaternary,
13
- };
14
6
  const RUNNING_FRAMES = ["◐", "◓", "◑", "◒"];
15
7
  const TRANSITION_FRAMES = ["○", "◐", "◓", "●"];
16
8
  const EXIT_FRAMES = ["●", "◑", "◒", "○"];
9
+ const PULSE_FRAMES = ["●", "●", "◐", "○"];
17
10
  const STATUS_ORDER = ["pending", "queued", "running", "done", "error", "idle"];
18
- function getStatusColor(status) {
19
- return STATUS_COLORS[status] || tuiColors.textTertiary;
11
+ function getStatusColor(status, theme) {
12
+ const colors = {
13
+ pending: theme.colors.textTertiary,
14
+ queued: theme.colors.warning,
15
+ running: theme.colors.primary,
16
+ done: theme.colors.success,
17
+ error: theme.colors.error,
18
+ idle: theme.colors.textQuaternary,
19
+ };
20
+ return colors[status] || theme.colors.textTertiary;
21
+ }
22
+ function getStatusIcon(status) {
23
+ const icons = {
24
+ pending: "○",
25
+ queued: "◐",
26
+ running: "●",
27
+ done: "✓",
28
+ error: "✗",
29
+ idle: "·",
30
+ };
31
+ return icons[status] || "·";
20
32
  }
21
- export const StatusAnimator = memo(function StatusAnimator({ status, label, showLabel = true, transitionDuration = 500, }) {
33
+ export const StatusAnimator = memo(function StatusAnimator({ status, label, showLabel = true, transitionDuration = 400, compact = false, }) {
34
+ const theme = getCurrentTheme();
22
35
  const [displayStatus, setDisplayStatus] = useState(status);
23
36
  const [isTransitioning, setIsTransitioning] = useState(false);
24
37
  const [transitionFrame, setTransitionFrame] = useState(0);
@@ -47,39 +60,41 @@ export const StatusAnimator = memo(function StatusAnimator({ status, label, show
47
60
  : EXIT_FRAMES;
48
61
  return frames[transitionFrame % frames.length];
49
62
  }
50
- const statusInfo = getStatusIndicator(displayStatus);
51
- return statusInfo.icon;
63
+ return getStatusIcon(displayStatus);
52
64
  };
53
- const color = getStatusColor(status);
54
- return (_jsxs(Box, { flexDirection: "row", children: [_jsx(Text, { color: color, children: getAnimatedIcon() }), showLabel && label && (_jsxs(Text, { color: color, children: [" ", label] })), showLabel && !label && (_jsxs(Text, { color: tuiColors.textSecondary, children: [" [", status.toUpperCase(), "]"] }))] }));
65
+ const color = getStatusColor(status, theme);
66
+ return (_jsxs(Box, { flexDirection: "row", children: [_jsx(Text, { color: color, children: getAnimatedIcon() }), showLabel && label && (_jsxs(Text, { color: color, children: [" ", label] })), showLabel && !label && !compact && (_jsxs(Text, { color: theme.colors.textSecondary, children: [" [", status.toUpperCase(), "]"] }))] }));
55
67
  });
56
- export const MetricPulse = memo(function MetricPulse({ value, label, unit, threshold, isHighlighted }) {
68
+ export const MetricPulse = memo(function MetricPulse({ value, label, unit, threshold, isHighlighted, compact = false, }) {
69
+ const theme = getCurrentTheme();
57
70
  const { frame } = useAnimation({ interval: 200, loop: true, maxFps: 10 });
58
71
  const numValue = typeof value === "number" ? value : parseFloat(value) || 0;
59
- let color = tuiColors.success;
72
+ let color = theme.colors.success;
60
73
  if (threshold) {
61
74
  if (numValue >= threshold.critical)
62
- color = tuiColors.error;
75
+ color = theme.colors.error;
63
76
  else if (numValue >= threshold.warning)
64
- color = tuiColors.warning;
77
+ color = theme.colors.warning;
65
78
  }
66
- return (_jsxs(Box, { flexDirection: "row", children: [_jsxs(Text, { color: tuiColors.textTertiary, children: [label, ":"] }), _jsxs(Text, { color: color, bold: isHighlighted, children: [" ", value, unit || ""] })] }));
79
+ const pulseFrame = isHighlighted ? PULSE_FRAMES[frame % PULSE_FRAMES.length] : "";
80
+ return (_jsxs(Box, { flexDirection: "row", children: [_jsxs(Text, { color: theme.colors.textTertiary, children: [label.slice(0, compact ? 6 : 12), ":"] }), _jsxs(Text, { color: color, bold: isHighlighted, children: [" ", value, unit || ""] }), isHighlighted && _jsxs(Text, { color: color, children: [" ", pulseFrame] })] }));
67
81
  });
68
- export const FitnessAnimator = memo(function FitnessAnimator({ value, previousValue }) {
82
+ export const FitnessAnimator = memo(function FitnessAnimator({ value, previousValue, compact = false, }) {
83
+ const theme = getCurrentTheme();
69
84
  const { frame } = useAnimation({ interval: 150, loop: true, maxFps: 12 });
70
85
  const diff = previousValue !== undefined ? value - previousValue : 0;
71
86
  const isImproving = diff > 0;
72
87
  const isDeclining = diff < 0;
73
- let color = tuiColors.success;
88
+ let color = theme.colors.success;
74
89
  if (value >= 0.9)
75
- color = tuiColors.success;
90
+ color = theme.colors.success;
76
91
  else if (value >= 0.7)
77
- color = tuiColors.warning;
92
+ color = theme.colors.warning;
78
93
  else
79
- color = tuiColors.error;
94
+ color = theme.colors.error;
80
95
  const frames = ["●", "◐", "●", "◐"];
81
- const animFrame = (isImproving || isDeclining) ? frames[frame % frames.length] : "●";
96
+ const animFrame = isImproving || isDeclining ? frames[frame % frames.length] : "●";
82
97
  const statusLabel = value >= 0.9 ? "OPTIMAL" : value >= 0.7 ? "GOOD" : "IMPROVING";
83
- return (_jsxs(Box, { flexDirection: "row", children: [_jsx(Text, { color: tuiColors.textTertiary, children: "Fitness:" }), _jsxs(Text, { color: color, bold: true, children: [" ", value.toFixed(2)] }), _jsxs(Text, { color: tuiColors.textTertiary, children: [" [", statusLabel, "]"] }), isImproving && _jsx(Text, { color: tuiColors.success, children: " \u2191" }), isDeclining && _jsx(Text, { color: tuiColors.error, children: " \u2193" })] }));
98
+ return (_jsxs(Box, { flexDirection: "row", children: [_jsx(Text, { color: theme.colors.textTertiary, children: compact ? "Fit:" : "Fitness:" }), _jsxs(Text, { color: color, bold: true, children: [" ", value.toFixed(2)] }), !compact && (_jsxs(Text, { color: theme.colors.textTertiary, children: [" [", statusLabel, "]"] })), isImproving && _jsx(Text, { color: theme.colors.success, children: " \u2191" }), isDeclining && _jsx(Text, { color: theme.colors.error, children: " \u2193" }), (isImproving || isDeclining) && (_jsxs(Text, { color: color, children: [" ", animFrame] }))] }));
84
99
  });
85
100
  //# sourceMappingURL=StatusAnimator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StatusAnimator.js","sourceRoot":"","sources":["../../../../src/tui/components/animations/StatusAnimator.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StatusAnimator.js","sourceRoot":"","sources":["../../../../src/tui/components/animations/StatusAnimator.tsx"],"names":[],"mappings":"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"}
@@ -20,6 +20,7 @@ export declare const TypewriterMessage: React.NamedExoticComponent<TypewriterMes
20
20
  interface ProcessingIndicatorProps {
21
21
  text?: string;
22
22
  color?: string;
23
+ spinnerType?: "dots" | "dots2" | "circle" | "pulse";
23
24
  }
24
25
  export declare const ProcessingIndicator: React.NamedExoticComponent<ProcessingIndicatorProps>;
25
26
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"TypingEffect.d.ts","sourceRoot":"","sources":["../../../../src/tui/components/animations/TypingEffect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAC;AAKjE,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,YAAY,+CAiDvB,CAAC;AAEH,UAAU,sBAAsB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,iBAAiB,oDA2B5B,CAAC;AAEH,UAAU,wBAAwB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,mBAAmB,sDAU9B,CAAC"}
1
+ {"version":3,"file":"TypingEffect.d.ts","sourceRoot":"","sources":["../../../../src/tui/components/animations/TypingEffect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAC;AAKjE,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,YAAY,+CAqDvB,CAAC;AAEH,UAAU,sBAAsB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,iBAAiB,oDA6B5B,CAAC;AAEH,UAAU,wBAAwB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;CACrD;AAED,eAAO,MAAM,mBAAmB,sDAe9B,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState, useEffect, memo, useRef } from "react";
3
3
  import { Box, Text } from "ink";
4
- import { tuiColors } from "../../styles/index.js";
4
+ import { getCurrentTheme } from "../../styles/colors.js";
5
5
  import { Spinner } from "./Spinner.js";
6
- export const TypingEffect = memo(function TypingEffect({ text, speed = 30, color = tuiColors.textPrimary, showCursor = true, cursorChar = "", onComplete, isAnimating = true, prefix, }) {
6
+ export const TypingEffect = memo(function TypingEffect({ text, speed = 25, color, showCursor = true, cursorChar = "", onComplete, isAnimating = true, prefix, }) {
7
+ const theme = getCurrentTheme();
8
+ const textColor = color ?? theme.colors.textPrimary;
7
9
  const [displayedChars, setDisplayedChars] = useState(0);
8
10
  const [isComplete, setIsComplete] = useState(false);
9
11
  const timeoutRef = useRef(null);
@@ -31,9 +33,11 @@ export const TypingEffect = memo(function TypingEffect({ text, speed = 30, color
31
33
  };
32
34
  }, [displayedChars, text.length, speed, isComplete, isAnimating]);
33
35
  const displayedText = text.slice(0, displayedChars);
34
- return (_jsxs(Box, { flexDirection: "row", children: [prefix && _jsx(Text, { color: tuiColors.textTertiary, children: prefix }), _jsx(Text, { color: color, children: displayedText }), showCursor && !isComplete && _jsx(Text, { color: tuiColors.primary, children: cursorChar })] }));
36
+ return (_jsxs(Box, { flexDirection: "row", children: [prefix && _jsx(Text, { color: theme.colors.textTertiary, children: prefix }), _jsx(Text, { color: textColor, children: displayedText }), showCursor && !isComplete && (_jsx(Text, { color: theme.colors.primary, children: cursorChar }))] }));
35
37
  });
36
- export const TypewriterMessage = memo(function TypewriterMessage({ text, speed = 20, color = tuiColors.textPrimary, isComplete }) {
38
+ export const TypewriterMessage = memo(function TypewriterMessage({ text, speed = 15, color, isComplete, }) {
39
+ const theme = getCurrentTheme();
40
+ const textColor = color ?? theme.colors.textPrimary;
37
41
  const [displayedChars, setDisplayedChars] = useState(0);
38
42
  const timeoutRef = useRef(null);
39
43
  useEffect(() => {
@@ -51,9 +55,11 @@ export const TypewriterMessage = memo(function TypewriterMessage({ text, speed =
51
55
  clearTimeout(timeoutRef.current);
52
56
  };
53
57
  }, [displayedChars, text.length, speed, isComplete]);
54
- return _jsx(Text, { color: color, children: text.slice(0, displayedChars) });
58
+ return _jsx(Text, { color: textColor, children: text.slice(0, displayedChars) });
55
59
  });
56
- export const ProcessingIndicator = memo(function ProcessingIndicator({ text = "Processing", color = tuiColors.warning }) {
57
- return (_jsxs(Box, { flexDirection: "row", children: [_jsx(Spinner, { type: "dots", color: color }), _jsxs(Text, { color: color, children: [" ", text, "..."] })] }));
60
+ export const ProcessingIndicator = memo(function ProcessingIndicator({ text = "Processing", color, spinnerType = "dots", }) {
61
+ const theme = getCurrentTheme();
62
+ const indicatorColor = color ?? theme.colors.warning;
63
+ return (_jsxs(Box, { flexDirection: "row", children: [_jsx(Spinner, { type: spinnerType, color: indicatorColor }), _jsxs(Text, { color: indicatorColor, children: [" ", text] }), _jsx(Text, { color: theme.colors.textTertiary, children: "\u2026" })] }));
58
64
  });
59
65
  //# sourceMappingURL=TypingEffect.js.map