@flux-lang/cli-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.
Files changed (177) hide show
  1. package/dist/components/ActionGrid.d.ts +11 -0
  2. package/dist/components/ActionGrid.d.ts.map +1 -0
  3. package/dist/components/ActionGrid.js +9 -0
  4. package/dist/components/ActionGrid.js.map +1 -0
  5. package/dist/components/AppFrame.d.ts +6 -0
  6. package/dist/components/AppFrame.d.ts.map +1 -0
  7. package/dist/components/AppFrame.js +7 -0
  8. package/dist/components/AppFrame.js.map +1 -0
  9. package/dist/components/Button.d.ts +8 -0
  10. package/dist/components/Button.d.ts.map +1 -0
  11. package/dist/components/Button.js +10 -0
  12. package/dist/components/Button.js.map +1 -0
  13. package/dist/components/Card.d.ts +12 -0
  14. package/dist/components/Card.d.ts.map +1 -0
  15. package/dist/components/Card.js +14 -0
  16. package/dist/components/Card.js.map +1 -0
  17. package/dist/components/Clickable.d.ts +8 -0
  18. package/dist/components/Clickable.d.ts.map +1 -0
  19. package/dist/components/Clickable.js +8 -0
  20. package/dist/components/Clickable.js.map +1 -0
  21. package/dist/components/Collapsible.d.ts +10 -0
  22. package/dist/components/Collapsible.d.ts.map +1 -0
  23. package/dist/components/Collapsible.js +8 -0
  24. package/dist/components/Collapsible.js.map +1 -0
  25. package/dist/components/CommandPaletteModal.d.ts +12 -0
  26. package/dist/components/CommandPaletteModal.d.ts.map +1 -0
  27. package/dist/components/CommandPaletteModal.js +41 -0
  28. package/dist/components/CommandPaletteModal.js.map +1 -0
  29. package/dist/components/HelpOverlay.d.ts +8 -0
  30. package/dist/components/HelpOverlay.d.ts.map +1 -0
  31. package/dist/components/HelpOverlay.js +40 -0
  32. package/dist/components/HelpOverlay.js.map +1 -0
  33. package/dist/components/InputLine.d.ts +6 -0
  34. package/dist/components/InputLine.d.ts.map +1 -0
  35. package/dist/components/InputLine.js +10 -0
  36. package/dist/components/InputLine.js.map +1 -0
  37. package/dist/components/NavList.d.ts +10 -0
  38. package/dist/components/NavList.d.ts.map +1 -0
  39. package/dist/components/NavList.js +85 -0
  40. package/dist/components/NavList.js.map +1 -0
  41. package/dist/components/PaneFrame.d.ts +9 -0
  42. package/dist/components/PaneFrame.d.ts.map +1 -0
  43. package/dist/components/PaneFrame.js +7 -0
  44. package/dist/components/PaneFrame.js.map +1 -0
  45. package/dist/components/PromptModal.d.ts +7 -0
  46. package/dist/components/PromptModal.d.ts.map +1 -0
  47. package/dist/components/PromptModal.js +9 -0
  48. package/dist/components/PromptModal.js.map +1 -0
  49. package/dist/components/Spinner.d.ts +2 -0
  50. package/dist/components/Spinner.d.ts.map +1 -0
  51. package/dist/components/Spinner.js +15 -0
  52. package/dist/components/Spinner.js.map +1 -0
  53. package/dist/components/StatusChips.d.ts +8 -0
  54. package/dist/components/StatusChips.d.ts.map +1 -0
  55. package/dist/components/StatusChips.js +10 -0
  56. package/dist/components/StatusChips.js.map +1 -0
  57. package/dist/components/TaskProgressView.d.ts +5 -0
  58. package/dist/components/TaskProgressView.d.ts.map +1 -0
  59. package/dist/components/TaskProgressView.js +14 -0
  60. package/dist/components/TaskProgressView.js.map +1 -0
  61. package/dist/components/ToastHost.d.ts +8 -0
  62. package/dist/components/ToastHost.d.ts.map +1 -0
  63. package/dist/components/ToastHost.js +18 -0
  64. package/dist/components/ToastHost.js.map +1 -0
  65. package/dist/index.d.ts +11 -0
  66. package/dist/index.d.ts.map +1 -0
  67. package/dist/index.js +9 -0
  68. package/dist/index.js.map +1 -0
  69. package/dist/palette/index.d.ts +22 -0
  70. package/dist/palette/index.d.ts.map +1 -0
  71. package/dist/palette/index.js +79 -0
  72. package/dist/palette/index.js.map +1 -0
  73. package/dist/screens/AddWizardScreen.d.ts +5 -0
  74. package/dist/screens/AddWizardScreen.d.ts.map +1 -0
  75. package/dist/screens/AddWizardScreen.js +8 -0
  76. package/dist/screens/AddWizardScreen.js.map +1 -0
  77. package/dist/screens/DashboardScreen.d.ts +25 -0
  78. package/dist/screens/DashboardScreen.d.ts.map +1 -0
  79. package/dist/screens/DashboardScreen.js +15 -0
  80. package/dist/screens/DashboardScreen.js.map +1 -0
  81. package/dist/screens/DocDetailsScreen.d.ts +27 -0
  82. package/dist/screens/DocDetailsScreen.d.ts.map +1 -0
  83. package/dist/screens/DocDetailsScreen.js +13 -0
  84. package/dist/screens/DocDetailsScreen.js.map +1 -0
  85. package/dist/screens/DoctorScreen.d.ts +13 -0
  86. package/dist/screens/DoctorScreen.d.ts.map +1 -0
  87. package/dist/screens/DoctorScreen.js +12 -0
  88. package/dist/screens/DoctorScreen.js.map +1 -0
  89. package/dist/screens/EditPlaceholderScreen.d.ts +6 -0
  90. package/dist/screens/EditPlaceholderScreen.d.ts.map +1 -0
  91. package/dist/screens/EditPlaceholderScreen.js +8 -0
  92. package/dist/screens/EditPlaceholderScreen.js.map +1 -0
  93. package/dist/screens/EditScreen.d.ts +15 -0
  94. package/dist/screens/EditScreen.d.ts.map +1 -0
  95. package/dist/screens/EditScreen.js +18 -0
  96. package/dist/screens/EditScreen.js.map +1 -0
  97. package/dist/screens/ExportScreen.d.ts +15 -0
  98. package/dist/screens/ExportScreen.d.ts.map +1 -0
  99. package/dist/screens/ExportScreen.js +11 -0
  100. package/dist/screens/ExportScreen.js.map +1 -0
  101. package/dist/screens/FormatScreen.d.ts +11 -0
  102. package/dist/screens/FormatScreen.d.ts.map +1 -0
  103. package/dist/screens/FormatScreen.js +11 -0
  104. package/dist/screens/FormatScreen.js.map +1 -0
  105. package/dist/screens/NewWizardScreen.d.ts +20 -0
  106. package/dist/screens/NewWizardScreen.d.ts.map +1 -0
  107. package/dist/screens/NewWizardScreen.js +28 -0
  108. package/dist/screens/NewWizardScreen.js.map +1 -0
  109. package/dist/screens/OpenScreen.d.ts +43 -0
  110. package/dist/screens/OpenScreen.d.ts.map +1 -0
  111. package/dist/screens/OpenScreen.js +37 -0
  112. package/dist/screens/OpenScreen.js.map +1 -0
  113. package/dist/screens/SettingsScreen.d.ts +8 -0
  114. package/dist/screens/SettingsScreen.d.ts.map +1 -0
  115. package/dist/screens/SettingsScreen.js +12 -0
  116. package/dist/screens/SettingsScreen.js.map +1 -0
  117. package/dist/screens/ViewerControlScreen.d.ts +16 -0
  118. package/dist/screens/ViewerControlScreen.d.ts.map +1 -0
  119. package/dist/screens/ViewerControlScreen.js +12 -0
  120. package/dist/screens/ViewerControlScreen.js.map +1 -0
  121. package/dist/state/dashboard-machine.d.ts +11 -0
  122. package/dist/state/dashboard-machine.d.ts.map +1 -0
  123. package/dist/state/dashboard-machine.js +13 -0
  124. package/dist/state/dashboard-machine.js.map +1 -0
  125. package/dist/state/focus.d.ts +6 -0
  126. package/dist/state/focus.d.ts.map +1 -0
  127. package/dist/state/focus.js +29 -0
  128. package/dist/state/focus.js.map +1 -0
  129. package/dist/state/mouse.d.ts +8 -0
  130. package/dist/state/mouse.d.ts.map +1 -0
  131. package/dist/state/mouse.js +89 -0
  132. package/dist/state/mouse.js.map +1 -0
  133. package/dist/state/open-search.d.ts +26 -0
  134. package/dist/state/open-search.d.ts.map +1 -0
  135. package/dist/state/open-search.js +27 -0
  136. package/dist/state/open-search.js.map +1 -0
  137. package/dist/state/progress.d.ts +12 -0
  138. package/dist/state/progress.d.ts.map +1 -0
  139. package/dist/state/progress.js +31 -0
  140. package/dist/state/progress.js.map +1 -0
  141. package/dist/state/toasts.d.ts +12 -0
  142. package/dist/state/toasts.d.ts.map +1 -0
  143. package/dist/state/toasts.js +22 -0
  144. package/dist/state/toasts.js.map +1 -0
  145. package/dist/state/types.d.ts +60 -0
  146. package/dist/state/types.d.ts.map +1 -0
  147. package/dist/state/types.js +2 -0
  148. package/dist/state/types.js.map +1 -0
  149. package/dist/theme/index.d.ts +38 -0
  150. package/dist/theme/index.d.ts.map +1 -0
  151. package/dist/theme/index.js +101 -0
  152. package/dist/theme/index.js.map +1 -0
  153. package/dist/ui/ModalOverlay.d.ts +37 -0
  154. package/dist/ui/ModalOverlay.d.ts.map +1 -0
  155. package/dist/ui/ModalOverlay.js +60 -0
  156. package/dist/ui/ModalOverlay.js.map +1 -0
  157. package/dist/ui/app.d.ts +11 -0
  158. package/dist/ui/app.d.ts.map +1 -0
  159. package/dist/ui/app.js +2409 -0
  160. package/dist/ui/app.js.map +1 -0
  161. package/dist/ui/input.d.ts +4 -0
  162. package/dist/ui/input.d.ts.map +1 -0
  163. package/dist/ui/input.js +11 -0
  164. package/dist/ui/input.js.map +1 -0
  165. package/dist/ui/layout.d.ts +20 -0
  166. package/dist/ui/layout.d.ts.map +1 -0
  167. package/dist/ui/layout.js +37 -0
  168. package/dist/ui/layout.js.map +1 -0
  169. package/dist/ui/useDebouncedValue.d.ts +2 -0
  170. package/dist/ui/useDebouncedValue.d.ts.map +1 -0
  171. package/dist/ui/useDebouncedValue.js +10 -0
  172. package/dist/ui/useDebouncedValue.js.map +1 -0
  173. package/dist/ui/useTerminalDimensions.d.ts +5 -0
  174. package/dist/ui/useTerminalDimensions.d.ts.map +1 -0
  175. package/dist/ui/useTerminalDimensions.js +31 -0
  176. package/dist/ui/useTerminalDimensions.js.map +1 -0
  177. package/package.json +36 -0
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from "ink";
3
+ import { color } from "../theme/index.js";
4
+ function renderBar(percent, width) {
5
+ const clamped = Math.max(0, Math.min(100, percent));
6
+ const filled = Math.round((clamped / 100) * width);
7
+ return `${"=".repeat(filled)}${"-".repeat(Math.max(0, width - filled))}`;
8
+ }
9
+ export function TaskProgressView({ progress }) {
10
+ if (!progress)
11
+ return null;
12
+ return (_jsxs(Box, { flexDirection: "column", gap: 0, children: [_jsx(Text, { color: color.muted, children: `${progress.label} · ${progress.phase}` }), _jsxs(Text, { color: color.muted, children: [renderBar(progress.percent, 24), " ", progress.percent, "%"] })] }));
13
+ }
14
+ //# sourceMappingURL=TaskProgressView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskProgressView.js","sourceRoot":"","sources":["../../src/components/TaskProgressView.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEhC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,SAAS,SAAS,CAAC,OAAe,EAAE,KAAa;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IACnD,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAAE,QAAQ,EAAsC;IAC/E,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAChC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,YAAG,GAAG,QAAQ,CAAC,KAAK,MAAM,QAAQ,CAAC,KAAK,EAAE,GAAQ,EAC1E,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,aAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,OAAG,QAAQ,CAAC,OAAO,SAAS,IAClF,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { Toast } from "../state/toasts.js";
2
+ import { ProgressState } from "../state/progress.js";
3
+ export declare function ToastHost({ toasts, busy, progress, }: {
4
+ toasts: Toast[];
5
+ busy?: string | null;
6
+ progress?: ProgressState | null;
7
+ }): import("react/jsx-runtime").JSX.Element | null;
8
+ //# sourceMappingURL=ToastHost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToastHost.d.ts","sourceRoot":"","sources":["../../src/components/ToastHost.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AASrD,wBAAgB,SAAS,CAAC,EACxB,MAAM,EACN,IAAI,EACJ,QAAQ,GACT,EAAE;IACD,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;CACjC,kDA2BA"}
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from "ink";
3
+ import { color } from "../theme/index.js";
4
+ import { Spinner } from "./Spinner.js";
5
+ function renderBar(percent, width) {
6
+ const clamped = Math.max(0, Math.min(100, percent));
7
+ const filled = Math.round((clamped / 100) * width);
8
+ return `${"=".repeat(filled)}${"-".repeat(Math.max(0, width - filled))}`;
9
+ }
10
+ export function ToastHost({ toasts, busy, progress, }) {
11
+ if (!busy && !progress && toasts.length === 0)
12
+ return null;
13
+ return (_jsxs(Box, { flexDirection: "column", alignItems: "flex-end", width: "100%", gap: 1, children: [busy ? (_jsxs(Box, { flexDirection: "row", gap: 1, children: [_jsx(Text, { color: color.muted, children: _jsx(Spinner, {}) }), _jsx(Text, { color: color.muted, children: busy })] })) : null, progress ? (_jsxs(Box, { flexDirection: "column", alignItems: "flex-end", children: [_jsx(Text, { color: color.muted, children: `${progress.label} · ${progress.phase}` }), _jsxs(Text, { color: color.muted, children: [renderBar(progress.percent, 24), " ", progress.percent, "%"] })] })) : null, toasts.map((toast) => {
14
+ const tone = toast.kind === "error" ? color.danger : toast.kind === "success" ? "green" : color.muted;
15
+ return (_jsx(Text, { color: tone, children: toast.message }, toast.id));
16
+ })] }));
17
+ }
18
+ //# sourceMappingURL=ToastHost.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToastHost.js","sourceRoot":"","sources":["../../src/components/ToastHost.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEhC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,SAAS,SAAS,CAAC,OAAe,EAAE,KAAa;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IACnD,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,EACxB,MAAM,EACN,IAAI,EACJ,QAAQ,GAKT;IACC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE3D,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,KAAK,EAAC,MAAM,EAAC,GAAG,EAAE,CAAC,aAClE,IAAI,CAAC,CAAC,CAAC,CACN,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,EAAC,GAAG,EAAE,CAAC,aAC7B,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,YACtB,KAAC,OAAO,KAAG,GACN,EACP,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,YAAG,IAAI,GAAQ,IACnC,CACP,CAAC,CAAC,CAAC,IAAI,EACP,QAAQ,CAAC,CAAC,CAAC,CACV,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,aAC/C,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,YAAG,GAAG,QAAQ,CAAC,KAAK,MAAM,QAAQ,CAAC,KAAK,EAAE,GAAQ,EAC1E,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,aAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,OAAG,QAAQ,CAAC,OAAO,SAAS,IAClF,CACP,CAAC,CAAC,CAAC,IAAI,EACP,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBACpB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;gBACtG,OAAO,CACL,KAAC,IAAI,IAAgB,KAAK,EAAE,IAAI,YAAG,KAAK,CAAC,OAAO,IAArC,KAAK,CAAC,EAAE,CAAqC,CACzD,CAAC;YACJ,CAAC,CAAC,IACE,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,11 @@
1
+ export interface CliUiOptions {
2
+ cwd: string;
3
+ mode?: "new";
4
+ initialArgs?: string[];
5
+ detach?: boolean;
6
+ helpCommand?: string;
7
+ version?: string;
8
+ }
9
+ export declare function runCliUi(options: CliUiOptions): Promise<void>;
10
+ export * from "./state/dashboard-machine.js";
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAGnE;AAED,cAAc,8BAA8B,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { render } from "ink";
3
+ import { App } from "./ui/app.js";
4
+ export async function runCliUi(options) {
5
+ const { waitUntilExit } = render(_jsx(App, { ...options }), { exitOnCtrlC: true });
6
+ await waitUntilExit();
7
+ }
8
+ export * from "./state/dashboard-machine.js";
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAWlC,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAqB;IAClD,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC,KAAC,GAAG,OAAK,OAAO,GAAI,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,MAAM,aAAa,EAAE,CAAC;AACxB,CAAC;AAED,cAAc,8BAA8B,CAAC"}
@@ -0,0 +1,22 @@
1
+ export type PaletteGroup = "Commands" | "Docs" | "Templates" | "Files";
2
+ export type PaletteItem = {
3
+ id: string;
4
+ label: string;
5
+ group: PaletteGroup;
6
+ kind: "action" | "template" | "doc" | "file";
7
+ payload?: any;
8
+ hint?: string;
9
+ };
10
+ export declare function buildPaletteItems(options: {
11
+ recents: {
12
+ path: string;
13
+ }[];
14
+ fluxFiles: string[];
15
+ activeDoc?: string | null;
16
+ }): PaletteItem[];
17
+ export declare function filterPaletteItems(items: PaletteItem[], query: string): PaletteItem[];
18
+ export declare function groupPaletteItems(items: PaletteItem[]): {
19
+ group: PaletteGroup;
20
+ items: PaletteItem[];
21
+ }[];
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/palette/index.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC;AAEvE,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,KAAK,GAAG,MAAM,CAAC;IAC7C,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE;IACzC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,iBA6BA;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,iBAarE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE;;;IAWrD"}
@@ -0,0 +1,79 @@
1
+ import path from "node:path";
2
+ export function buildPaletteItems(options) {
3
+ const { recents, fluxFiles, activeDoc } = options;
4
+ const items = [];
5
+ items.push({ id: "open", label: "Open document", group: "Commands", kind: "action", payload: { action: "open" } });
6
+ items.push({ id: "new", label: "New document wizard", group: "Commands", kind: "action", payload: { action: "new" } });
7
+ items.push({ id: "edit", label: "Edit current document", group: "Commands", kind: "action", payload: { action: "edit" } });
8
+ items.push({ id: "export", label: "Export PDF", group: "Commands", kind: "action", payload: { action: "export" } });
9
+ items.push({ id: "doctor", label: "Doctor (check)", group: "Commands", kind: "action", payload: { action: "doctor" } });
10
+ items.push({ id: "format", label: "Format document", group: "Commands", kind: "action", payload: { action: "format" } });
11
+ items.push({ id: "new-demo", label: "Template: demo", group: "Templates", kind: "template", payload: { template: "demo" } });
12
+ items.push({ id: "new-article", label: "Template: article", group: "Templates", kind: "template", payload: { template: "article" } });
13
+ items.push({ id: "new-spec", label: "Template: spec", group: "Templates", kind: "template", payload: { template: "spec" } });
14
+ items.push({ id: "new-zine", label: "Template: zine", group: "Templates", kind: "template", payload: { template: "zine" } });
15
+ items.push({ id: "new-paper", label: "Template: paper", group: "Templates", kind: "template", payload: { template: "paper" } });
16
+ items.push({ id: "new-blank", label: "Template: blank", group: "Templates", kind: "template", payload: { template: "blank" } });
17
+ if (activeDoc) {
18
+ items.push({ id: `doc-${activeDoc}`, label: `Current: ${path.basename(activeDoc)}`, group: "Docs", kind: "doc", payload: { path: activeDoc } });
19
+ }
20
+ for (const entry of recents) {
21
+ items.push({ id: `recent-${entry.path}`, label: `Recent: ${path.basename(entry.path)}`, group: "Docs", kind: "doc", payload: { path: entry.path } });
22
+ }
23
+ for (const file of fluxFiles) {
24
+ items.push({ id: `file-${file}`, label: `File: ${path.basename(file)}`, group: "Files", kind: "file", payload: { path: file } });
25
+ }
26
+ return items;
27
+ }
28
+ export function filterPaletteItems(items, query) {
29
+ const q = query.trim().toLowerCase();
30
+ if (!q)
31
+ return items;
32
+ return items
33
+ .map((item) => {
34
+ const score = fuzzyScore(q, item.label.toLowerCase());
35
+ if (score === null)
36
+ return null;
37
+ return { item, score };
38
+ })
39
+ .filter((entry) => entry !== null)
40
+ .sort((a, b) => a.score - b.score)
41
+ .map((entry) => entry.item);
42
+ }
43
+ export function groupPaletteItems(items) {
44
+ const order = ["Commands", "Docs", "Templates", "Files"];
45
+ const grouped = new Map();
46
+ for (const group of order)
47
+ grouped.set(group, []);
48
+ for (const item of items) {
49
+ const bucket = grouped.get(item.group);
50
+ if (bucket)
51
+ bucket.push(item);
52
+ }
53
+ return order
54
+ .map((group) => ({ group, items: grouped.get(group) ?? [] }))
55
+ .filter((entry) => entry.items.length > 0);
56
+ }
57
+ function fuzzyScore(query, target) {
58
+ if (!query)
59
+ return 0;
60
+ let score = 0;
61
+ let lastIndex = -1;
62
+ let consecutive = 0;
63
+ for (const ch of query) {
64
+ const idx = target.indexOf(ch, lastIndex + 1);
65
+ if (idx === -1)
66
+ return null;
67
+ if (idx === lastIndex + 1) {
68
+ consecutive += 1;
69
+ score -= 2 * consecutive;
70
+ }
71
+ else {
72
+ consecutive = 0;
73
+ score += idx - lastIndex - 1;
74
+ }
75
+ lastIndex = idx;
76
+ }
77
+ return score + (target.length - query.length);
78
+ }
79
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/palette/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare function AddWizardScreen({ width, debug }: {
2
+ width: number;
3
+ debug?: boolean;
4
+ }): import("react/jsx-runtime").JSX.Element;
5
+ //# sourceMappingURL=AddWizardScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddWizardScreen.d.ts","sourceRoot":"","sources":["../../src/screens/AddWizardScreen.tsx"],"names":[],"mappings":"AAKA,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,2CASnF"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from "ink";
3
+ import { Card } from "../components/Card.js";
4
+ import { color } from "../theme/index.js";
5
+ export function AddWizardScreen({ width, debug }) {
6
+ return (_jsx(Card, { title: "Add to document", meta: "", accent: true, ruleWidth: width - 6, debug: debug, children: _jsxs(Box, { flexDirection: "column", gap: 1, children: [_jsx(Text, { color: color.muted, children: "Add a section, figure, or other building block." }), _jsx(Text, { color: color.muted, children: "Use Ctrl+K to open the command palette." })] }) }));
7
+ }
8
+ //# sourceMappingURL=AddWizardScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddWizardScreen.js","sourceRoot":"","sources":["../../src/screens/AddWizardScreen.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,MAAM,UAAU,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,EAAsC;IAClF,OAAO,CACL,KAAC,IAAI,IAAC,KAAK,EAAC,iBAAiB,EAAC,IAAI,EAAC,EAAE,EAAC,MAAM,QAAC,SAAS,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,YAC7E,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAChC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,gEAAwD,EAChF,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,wDAAgD,IACpE,GACD,CACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,25 @@
1
+ export declare function DashboardScreen({ width, activeDoc, backend, viewerStatus, streamOk, logs, logsOpen, onToggleLogs, actionItems, showEmptyState, onEmptyAction, debug, }: {
2
+ width: number;
3
+ activeDoc: string | null;
4
+ backend: string;
5
+ viewerStatus?: {
6
+ docstep: number;
7
+ time: number;
8
+ seed: number;
9
+ } | null;
10
+ streamOk: boolean;
11
+ logs: string[];
12
+ logsOpen: boolean;
13
+ onToggleLogs: () => void;
14
+ actionItems: {
15
+ id: string;
16
+ label: string;
17
+ icon?: string;
18
+ onClick: () => void;
19
+ active?: boolean;
20
+ }[];
21
+ showEmptyState: boolean;
22
+ onEmptyAction: (action: "new" | "open") => void;
23
+ debug?: boolean;
24
+ }): import("react/jsx-runtime").JSX.Element;
25
+ //# sourceMappingURL=DashboardScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardScreen.d.ts","sourceRoot":"","sources":["../../src/screens/DashboardScreen.tsx"],"names":[],"mappings":"AAUA,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,SAAS,EACT,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,cAAc,EACd,aAAa,EACb,KAAK,GACN,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACtE,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,WAAW,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,IAAI,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IACnG,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,KAAK,IAAI,CAAC;IAChD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,2CAwDA"}
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from "ink";
3
+ import path from "node:path";
4
+ import { ActionGrid } from "../components/ActionGrid.js";
5
+ import { Card } from "../components/Card.js";
6
+ import { Collapsible } from "../components/Collapsible.js";
7
+ import { StatusChips } from "../components/StatusChips.js";
8
+ import { color, truncateMiddle } from "../theme/index.js";
9
+ import { Button } from "../components/Button.js";
10
+ export function DashboardScreen({ width, activeDoc, backend, viewerStatus, streamOk, logs, logsOpen, onToggleLogs, actionItems, showEmptyState, onEmptyAction, debug, }) {
11
+ const docName = activeDoc ? path.basename(activeDoc) : "No document selected";
12
+ const docPath = activeDoc ? truncateMiddle(activeDoc, Math.max(20, width - 12)) : "Select a document to get started.";
13
+ return (_jsxs(Box, { flexDirection: "column", gap: 1, children: [_jsxs(Card, { title: docName, meta: _jsx(Text, { color: streamOk ? "green" : color.muted, children: streamOk ? "● connected" : "○ idle" }), accent: true, ruleWidth: width - 6, debug: debug, children: [_jsx(Text, { color: color.muted, children: docPath }), _jsx(StatusChips, { backend: backend, live: streamOk, seed: viewerStatus?.seed, docstep: viewerStatus?.docstep, time: viewerStatus?.time })] }), _jsx(Card, { title: "Actions", meta: "", ruleWidth: width - 6, debug: debug, children: _jsx(ActionGrid, { items: actionItems }) }), showEmptyState ? (_jsxs(Card, { title: "Welcome", meta: "", ruleWidth: width - 6, debug: debug, children: [_jsx(Text, { color: color.fg, children: "Start a new Flux doc or open an existing one." }), _jsxs(Box, { flexDirection: "row", gap: 2, children: [_jsx(Button, { id: "empty-new", label: "New", onClick: () => onEmptyAction("new") }), _jsx(Button, { id: "empty-open", label: "Open", onClick: () => onEmptyAction("open") })] }), _jsx(Text, { color: color.muted, children: "Tip: Press Ctrl+K for the command palette." })] })) : null, logs.length > 0 ? (_jsx(Card, { title: "Diagnostics", meta: logsOpen ? "expanded" : "collapsed", ruleWidth: width - 6, debug: debug, children: _jsxs(Collapsible, { id: "diagnostics", title: `Errors (${logs.length})`, summary: logsOpen ? "Enter to collapse" : "Press Enter to expand", isOpen: logsOpen, onToggle: onToggleLogs, children: [logs.slice(0, 6).map((line, idx) => (_jsx(Text, { color: color.muted, children: line }, `${line}-${idx}`))), _jsx(Text, { color: color.muted, children: "Suggestion: run `flux check` for full output." })] }) })) : null] }));
14
+ }
15
+ //# sourceMappingURL=DashboardScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardScreen.js","sourceRoot":"","sources":["../../src/screens/DashboardScreen.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ export type DocDetailsPreview = {
2
+ title?: string | null;
3
+ filePath: string;
4
+ modified?: string;
5
+ size?: string;
6
+ };
7
+ export declare function DocDetailsScreen({ width, docPath, preview, primaryActions, secondaryActions, debug, }: {
8
+ width: number;
9
+ docPath: string | null;
10
+ preview: DocDetailsPreview | null;
11
+ primaryActions: {
12
+ id: string;
13
+ label: string;
14
+ icon?: string;
15
+ onClick: () => void;
16
+ active?: boolean;
17
+ }[];
18
+ secondaryActions: {
19
+ id: string;
20
+ label: string;
21
+ icon?: string;
22
+ onClick: () => void;
23
+ active?: boolean;
24
+ }[];
25
+ debug?: boolean;
26
+ }): import("react/jsx-runtime").JSX.Element;
27
+ //# sourceMappingURL=DocDetailsScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocDetailsScreen.d.ts","sourceRoot":"","sources":["../../src/screens/DocDetailsScreen.tsx"],"names":[],"mappings":"AAQA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,OAAO,EACP,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,KAAK,GACN,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAClC,cAAc,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,IAAI,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IACtG,gBAAgB,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,IAAI,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IACxG,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,2CA8BA"}
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from "ink";
3
+ import path from "node:path";
4
+ import { Card } from "../components/Card.js";
5
+ import { ActionGrid } from "../components/ActionGrid.js";
6
+ import { Button } from "../components/Button.js";
7
+ import { color, truncateMiddle } from "../theme/index.js";
8
+ export function DocDetailsScreen({ width, docPath, preview, primaryActions, secondaryActions, debug, }) {
9
+ const title = preview?.title ?? (docPath ? path.basename(docPath) : "No document selected");
10
+ const filePath = docPath ?? "";
11
+ return (_jsxs(Box, { flexDirection: "column", gap: 1, children: [_jsx(Card, { title: title, meta: "", accent: true, ruleWidth: width - 6, debug: debug, children: filePath ? (_jsxs(Box, { flexDirection: "column", gap: 0, children: [_jsx(Text, { color: color.muted, children: truncateMiddle(filePath, Math.max(16, width - 8)) }), preview?.modified ? _jsxs(Text, { color: color.muted, children: ["Modified: ", preview.modified] }) : null, preview?.size ? _jsxs(Text, { color: color.muted, children: ["Size: ", preview.size] }) : null] })) : (_jsx(Text, { color: color.muted, children: "Select a document to get started." })) }), _jsx(Card, { title: "Primary actions", meta: "", ruleWidth: width - 6, debug: debug, children: _jsx(ActionGrid, { items: primaryActions }) }), _jsx(Card, { title: "Secondary actions", meta: "", ruleWidth: width - 6, debug: debug, children: _jsx(Box, { flexDirection: "row", gap: 2, children: secondaryActions.map((action) => (_jsx(Button, { ...action }, action.id))) }) })] }));
12
+ }
13
+ //# sourceMappingURL=DocDetailsScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DocDetailsScreen.js","sourceRoot":"","sources":["../../src/screens/DocDetailsScreen.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAS1D,MAAM,UAAU,gBAAgB,CAAC,EAC/B,KAAK,EACL,OAAO,EACP,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,KAAK,GAQN;IACC,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;IAC5F,MAAM,QAAQ,GAAG,OAAO,IAAI,EAAE,CAAC;IAC/B,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAChC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAC,EAAE,EAAC,MAAM,QAAC,SAAS,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,YAClE,QAAQ,CAAC,CAAC,CAAC,CACV,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAChC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,YAAG,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,GAAQ,EACnF,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,2BAAa,OAAO,CAAC,QAAQ,IAAQ,CAAC,CAAC,CAAC,IAAI,EACxF,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,uBAAS,OAAO,CAAC,IAAI,IAAQ,CAAC,CAAC,CAAC,IAAI,IACzE,CACP,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,kDAA0C,CACnE,GACI,EAEP,KAAC,IAAI,IAAC,KAAK,EAAC,iBAAiB,EAAC,IAAI,EAAC,EAAE,EAAC,SAAS,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,YACtE,KAAC,UAAU,IAAC,KAAK,EAAE,cAAc,GAAI,GAChC,EAEP,KAAC,IAAI,IAAC,KAAK,EAAC,mBAAmB,EAAC,IAAI,EAAC,EAAE,EAAC,SAAS,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,YACxE,KAAC,GAAG,IAAC,aAAa,EAAC,KAAK,EAAC,GAAG,EAAE,CAAC,YAC5B,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAChC,KAAC,MAAM,OAAqB,MAAM,IAArB,MAAM,CAAC,EAAE,CAAgB,CACvC,CAAC,GACE,GACD,IACH,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { ProgressState } from "../state/progress.js";
2
+ export declare function DoctorScreen({ width, docPath, summary, logs, logsOpen, progress, onToggleLogs, onRun, debug, }: {
3
+ width: number;
4
+ docPath: string | null;
5
+ summary: string;
6
+ logs: string[];
7
+ logsOpen: boolean;
8
+ progress: ProgressState | null;
9
+ onToggleLogs: () => void;
10
+ onRun: () => void;
11
+ debug?: boolean;
12
+ }): import("react/jsx-runtime").JSX.Element;
13
+ //# sourceMappingURL=DoctorScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DoctorScreen.d.ts","sourceRoot":"","sources":["../../src/screens/DoctorScreen.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,OAAO,EACP,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,KAAK,GACN,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,2CAyCA"}
@@ -0,0 +1,12 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { Box, Text } from "ink";
3
+ import path from "node:path";
4
+ import { Card } from "../components/Card.js";
5
+ import { Button } from "../components/Button.js";
6
+ import { Collapsible } from "../components/Collapsible.js";
7
+ import { TaskProgressView } from "../components/TaskProgressView.js";
8
+ import { color, truncateMiddle } from "../theme/index.js";
9
+ export function DoctorScreen({ width, docPath, summary, logs, logsOpen, progress, onToggleLogs, onRun, debug, }) {
10
+ return (_jsxs(Box, { flexDirection: "column", gap: 1, children: [_jsxs(Card, { title: "Doctor", meta: "", accent: true, ruleWidth: width - 6, debug: debug, children: [docPath ? (_jsxs(Box, { flexDirection: "column", gap: 0, children: [_jsxs(Text, { color: color.muted, children: ["Document: ", path.basename(docPath)] }), _jsxs(Text, { color: color.muted, children: ["Path: ", truncateMiddle(docPath, Math.max(16, width - 10))] })] })) : (_jsx(Text, { color: color.muted, children: "No document selected." })), _jsx(Text, { color: color.fg, children: summary }), _jsx(Box, { marginTop: 1, children: _jsx(Button, { id: "doctor-run", label: "Run Doctor", icon: "\u2713", onClick: onRun }) })] }), progress ? (_jsx(Card, { title: "Task", meta: "", ruleWidth: width - 6, debug: debug, children: _jsx(TaskProgressView, { progress: progress }) })) : null, logs.length > 0 ? (_jsx(Card, { title: "Diagnostics", meta: logsOpen ? "expanded" : "collapsed", ruleWidth: width - 6, debug: debug, children: _jsx(Collapsible, { id: "doctor-logs", title: `Issues (${logs.length})`, summary: logsOpen ? "Enter to collapse" : "Press Enter or L to expand", isOpen: logsOpen, onToggle: onToggleLogs, children: logs.map((line, idx) => (_jsx(Text, { color: color.muted, children: line }, `${line}-${idx}`))) }) })) : null] }));
11
+ }
12
+ //# sourceMappingURL=DoctorScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DoctorScreen.js","sourceRoot":"","sources":["../../src/screens/DoctorScreen.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,UAAU,YAAY,CAAC,EAC3B,KAAK,EACL,OAAO,EACP,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,KAAK,GAWN;IACC,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAChC,MAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAC,EAAE,EAAC,MAAM,QAAC,SAAS,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,aACnE,OAAO,CAAC,CAAC,CAAC,CACT,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAChC,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,2BAAa,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAQ,EACnE,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,uBAAS,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC,IAAQ,IACtF,CACP,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,sCAA8B,CACvD,EACD,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,EAAE,YAAG,OAAO,GAAQ,EACvC,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,MAAM,IAAC,EAAE,EAAC,YAAY,EAAC,KAAK,EAAC,YAAY,EAAC,IAAI,EAAC,QAAG,EAAC,OAAO,EAAE,KAAK,GAAI,GAClE,IACD,EAEN,QAAQ,CAAC,CAAC,CAAC,CACV,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,EAAE,EAAC,SAAS,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,YAC3D,KAAC,gBAAgB,IAAC,QAAQ,EAAE,QAAQ,GAAI,GACnC,CACR,CAAC,CAAC,CAAC,IAAI,EAEP,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACjB,KAAC,IAAI,IAAC,KAAK,EAAC,aAAa,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,YACrG,KAAC,WAAW,IACV,EAAE,EAAC,aAAa,EAChB,KAAK,EAAE,WAAW,IAAI,CAAC,MAAM,GAAG,EAChC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,4BAA4B,EACtE,MAAM,EAAE,QAAQ,EAChB,QAAQ,EAAE,YAAY,YAErB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CACvB,KAAC,IAAI,IAAwB,KAAK,EAAE,KAAK,CAAC,KAAK,YAAG,IAAI,IAA3C,GAAG,IAAI,IAAI,GAAG,EAAE,CAAmC,CAC/D,CAAC,GACU,GACT,CACR,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare function EditPlaceholderScreen({ width, docPath, debug, }: {
2
+ width: number;
3
+ docPath: string | null;
4
+ debug?: boolean;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=EditPlaceholderScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditPlaceholderScreen.d.ts","sourceRoot":"","sources":["../../src/screens/EditPlaceholderScreen.tsx"],"names":[],"mappings":"AAKA,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,OAAO,EACP,KAAK,GACN,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,2CAeA"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from "ink";
3
+ import { Card } from "../components/Card.js";
4
+ import { color } from "../theme/index.js";
5
+ export function EditPlaceholderScreen({ width, docPath, debug, }) {
6
+ return (_jsx(Card, { title: "Edit", meta: "", accent: true, ruleWidth: width - 6, debug: debug, children: _jsxs(Box, { flexDirection: "column", gap: 1, children: [_jsx(Text, { color: color.fg, children: "Editor coming next." }), docPath ? (_jsxs(Text, { color: color.muted, children: ["Current document: ", docPath] })) : (_jsx(Text, { color: color.muted, children: "Select a document to get started." })), _jsx(Text, { color: color.muted, children: "Add section (disabled)" }), _jsx(Text, { color: color.muted, children: "Add figure (disabled)" })] }) }));
7
+ }
8
+ //# sourceMappingURL=EditPlaceholderScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditPlaceholderScreen.js","sourceRoot":"","sources":["../../src/screens/EditPlaceholderScreen.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,MAAM,UAAU,qBAAqB,CAAC,EACpC,KAAK,EACL,OAAO,EACP,KAAK,GAKN;IACC,OAAO,CACL,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,EAAE,EAAC,MAAM,QAAC,SAAS,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,YAClE,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAChC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,EAAE,oCAA4B,EAChD,OAAO,CAAC,CAAC,CAAC,CACT,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,mCAAqB,OAAO,IAAQ,CAC7D,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,kDAA0C,CACnE,EACD,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,uCAA+B,EACvD,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,sCAA8B,IAClD,GACD,CACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,15 @@
1
+ export declare function EditScreen({ width, docPath, title, viewerUrl, onCopyUrl, onExport, onDoctor, onFormat, logs, logsOpen, onToggleLogs, debug, }: {
2
+ width: number;
3
+ docPath: string | null;
4
+ title?: string | null;
5
+ viewerUrl?: string | null;
6
+ onCopyUrl: () => void;
7
+ onExport: () => void;
8
+ onDoctor: () => void;
9
+ onFormat: () => void;
10
+ logs: string[];
11
+ logsOpen: boolean;
12
+ onToggleLogs: () => void;
13
+ debug?: boolean;
14
+ }): import("react/jsx-runtime").JSX.Element;
15
+ //# sourceMappingURL=EditScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditScreen.d.ts","sourceRoot":"","sources":["../../src/screens/EditScreen.tsx"],"names":[],"mappings":"AASA,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,OAAO,EACP,KAAK,EACL,SAAS,EACT,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,KAAK,GACN,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,2CAwDA"}
@@ -0,0 +1,18 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { Box, Text } from "ink";
3
+ import path from "node:path";
4
+ import { Card } from "../components/Card.js";
5
+ import { ActionGrid } from "../components/ActionGrid.js";
6
+ import { Button } from "../components/Button.js";
7
+ import { Collapsible } from "../components/Collapsible.js";
8
+ import { color, truncateMiddle } from "../theme/index.js";
9
+ export function EditScreen({ width, docPath, title, viewerUrl, onCopyUrl, onExport, onDoctor, onFormat, logs, logsOpen, onToggleLogs, debug, }) {
10
+ const displayTitle = title ?? (docPath ? path.basename(docPath) : "No document selected");
11
+ const editorUrl = viewerUrl ? `${viewerUrl}/edit` : null;
12
+ return (_jsxs(Box, { flexDirection: "column", gap: 1, children: [_jsxs(Card, { title: "Edit", meta: "", accent: true, ruleWidth: width - 6, debug: debug, children: [docPath ? (_jsxs(Box, { flexDirection: "column", gap: 0, children: [_jsxs(Text, { color: color.muted, children: ["Document: ", displayTitle] }), _jsxs(Text, { color: color.muted, children: ["Path: ", truncateMiddle(docPath, Math.max(16, width - 10))] })] })) : (_jsx(Text, { color: color.muted, children: "Select a document to get started." })), viewerUrl ? (_jsxs(Box, { flexDirection: "column", gap: 0, marginTop: 1, children: [_jsxs(Text, { color: color.muted, children: ["Viewer URL: ", truncateMiddle(viewerUrl, Math.max(16, width - 10))] }), _jsxs(Text, { color: color.muted, children: ["Editor URL: ", truncateMiddle(editorUrl ?? "", Math.max(16, width - 10))] }), _jsx(Box, { marginTop: 1, children: _jsx(Button, { id: "edit-copy-url", label: "Copy URL", icon: "C", onClick: onCopyUrl }) })] })) : (_jsx(Text, { color: color.muted, children: "Start the editor to get a local URL." }))] }), _jsx(Card, { title: "Shortcuts", meta: "", ruleWidth: width - 6, debug: debug, children: _jsx(ActionGrid, { items: [
13
+ { id: "edit-export", label: "Export PDF", icon: "E", onClick: onExport },
14
+ { id: "edit-doctor", label: "Doctor", icon: "D", onClick: onDoctor },
15
+ { id: "edit-format", label: "Format", icon: "F", onClick: onFormat },
16
+ ] }) }), _jsx(Card, { title: "Logs", meta: logsOpen ? "expanded" : "collapsed", ruleWidth: width - 6, debug: debug, children: _jsx(Collapsible, { id: "edit-logs", title: "Session", summary: logsOpen ? "Enter to collapse" : "Press Enter or L to expand", isOpen: logsOpen, onToggle: onToggleLogs, children: logs.length ? (logs.map((line, idx) => (_jsx(Text, { color: color.muted, children: line }, `${line}-${idx}`)))) : (_jsx(Text, { color: color.muted, children: "No logs yet." })) }) })] }));
17
+ }
18
+ //# sourceMappingURL=EditScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditScreen.js","sourceRoot":"","sources":["../../src/screens/EditScreen.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,UAAU,UAAU,CAAC,EACzB,KAAK,EACL,OAAO,EACP,KAAK,EACL,SAAS,EACT,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,KAAK,GAcN;IACC,MAAM,YAAY,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;IAC1F,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACzD,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAChC,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,EAAE,EAAC,MAAM,QAAC,SAAS,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,aACjE,OAAO,CAAC,CAAC,CAAC,CACT,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAChC,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,2BAAa,YAAY,IAAQ,EACzD,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,uBAAS,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC,IAAQ,IACtF,CACP,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,kDAA0C,CACnE,EACA,SAAS,CAAC,CAAC,CAAC,CACX,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,aAC9C,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,6BAAe,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC,IAAQ,EAClG,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,6BAAe,cAAc,CAAC,SAAS,IAAI,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC,IAAQ,EACxG,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,MAAM,IAAC,EAAE,EAAC,eAAe,EAAC,KAAK,EAAC,UAAU,EAAC,IAAI,EAAC,GAAG,EAAC,OAAO,EAAE,SAAS,GAAI,GACvE,IACF,CACP,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,qDAA6C,CACtE,IACI,EAEP,KAAC,IAAI,IAAC,KAAK,EAAC,WAAW,EAAC,IAAI,EAAC,EAAE,EAAC,SAAS,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,YAChE,KAAC,UAAU,IACT,KAAK,EAAE;wBACL,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE;wBACxE,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE;wBACpE,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE;qBACrE,GACD,GACG,EAEP,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,YAC9F,KAAC,WAAW,IACV,EAAE,EAAC,WAAW,EACd,KAAK,EAAC,SAAS,EACf,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,4BAA4B,EACtE,MAAM,EAAE,QAAQ,EAChB,QAAQ,EAAE,YAAY,YAErB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CACb,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CACtB,KAAC,IAAI,IAAwB,KAAK,EAAE,KAAK,CAAC,KAAK,YAAG,IAAI,IAA3C,GAAG,IAAI,IAAI,GAAG,EAAE,CAAmC,CAC/D,CAAC,CACH,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,6BAAqB,CAC9C,GACW,GACT,IACH,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { ProgressState } from "../state/progress.js";
2
+ export declare function ExportScreen({ width, docPath, outputPath, progress, resultPath, actionIndex, onExport, onOpenFile, onReveal, onCopyPath, debug, }: {
3
+ width: number;
4
+ docPath: string | null;
5
+ outputPath: string | null;
6
+ progress: ProgressState | null;
7
+ resultPath: string | null;
8
+ actionIndex: number;
9
+ onExport: () => void;
10
+ onOpenFile: () => void;
11
+ onReveal: () => void;
12
+ onCopyPath: () => void;
13
+ debug?: boolean;
14
+ }): import("react/jsx-runtime").JSX.Element;
15
+ //# sourceMappingURL=ExportScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExportScreen.d.ts","sourceRoot":"","sources":["../../src/screens/ExportScreen.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,OAAO,EACP,UAAU,EACV,QAAQ,EACR,UAAU,EACV,WAAW,EACX,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,UAAU,EACV,KAAK,GACN,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,2CAsCA"}
@@ -0,0 +1,11 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { Box, Text } from "ink";
3
+ import path from "node:path";
4
+ import { Card } from "../components/Card.js";
5
+ import { Button } from "../components/Button.js";
6
+ import { TaskProgressView } from "../components/TaskProgressView.js";
7
+ import { color, truncateMiddle } from "../theme/index.js";
8
+ export function ExportScreen({ width, docPath, outputPath, progress, resultPath, actionIndex, onExport, onOpenFile, onReveal, onCopyPath, debug, }) {
9
+ return (_jsxs(Box, { flexDirection: "column", gap: 1, children: [_jsxs(Card, { title: "Export PDF", meta: "", accent: true, ruleWidth: width - 6, debug: debug, children: [docPath ? (_jsxs(Box, { flexDirection: "column", gap: 0, children: [_jsxs(Text, { color: color.muted, children: ["Document: ", path.basename(docPath)] }), _jsxs(Text, { color: color.muted, children: ["Path: ", truncateMiddle(docPath, Math.max(16, width - 10))] })] })) : (_jsx(Text, { color: color.muted, children: "No document selected." })), outputPath ? (_jsxs(Text, { color: color.muted, children: ["Output: ", truncateMiddle(outputPath, Math.max(16, width - 10))] })) : null, _jsx(Box, { marginTop: 1, children: _jsx(Button, { id: "export-run", label: "Export PDF", icon: "\u21E9", onClick: onExport, active: actionIndex === 0 }) })] }), progress ? (_jsx(Card, { title: "Task", meta: "", ruleWidth: width - 6, debug: debug, children: _jsx(TaskProgressView, { progress: progress }) })) : null, resultPath ? (_jsxs(Card, { title: "Export complete", meta: "", ruleWidth: width - 6, debug: debug, children: [_jsx(Text, { color: color.muted, children: truncateMiddle(resultPath, Math.max(16, width - 8)) }), _jsxs(Box, { flexDirection: "row", gap: 2, children: [_jsx(Button, { id: "export-open", label: "Open file", onClick: onOpenFile, active: actionIndex === 1 }), _jsx(Button, { id: "export-reveal", label: "Reveal in folder", onClick: onReveal, active: actionIndex === 2 }), _jsx(Button, { id: "export-copy", label: "Copy path", onClick: onCopyPath, active: actionIndex === 3 })] })] })) : null] }));
10
+ }
11
+ //# sourceMappingURL=ExportScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExportScreen.js","sourceRoot":"","sources":["../../src/screens/ExportScreen.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export declare function FormatScreen({ width, docPath, summary, logs, logsOpen, onToggleLogs, onRun, debug, }: {
2
+ width: number;
3
+ docPath: string | null;
4
+ summary: string;
5
+ logs: string[];
6
+ logsOpen: boolean;
7
+ onToggleLogs: () => void;
8
+ onRun: () => void;
9
+ debug?: boolean;
10
+ }): import("react/jsx-runtime").JSX.Element;
11
+ //# sourceMappingURL=FormatScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormatScreen.d.ts","sourceRoot":"","sources":["../../src/screens/FormatScreen.tsx"],"names":[],"mappings":"AAQA,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,OAAO,EACP,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,KAAK,GACN,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,2CAmCA"}
@@ -0,0 +1,11 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { Box, Text } from "ink";
3
+ import path from "node:path";
4
+ import { Card } from "../components/Card.js";
5
+ import { Button } from "../components/Button.js";
6
+ import { Collapsible } from "../components/Collapsible.js";
7
+ import { color, truncateMiddle } from "../theme/index.js";
8
+ export function FormatScreen({ width, docPath, summary, logs, logsOpen, onToggleLogs, onRun, debug, }) {
9
+ return (_jsxs(Box, { flexDirection: "column", gap: 1, children: [_jsxs(Card, { title: "Format", meta: "", accent: true, ruleWidth: width - 6, debug: debug, children: [docPath ? (_jsxs(Box, { flexDirection: "column", gap: 0, children: [_jsxs(Text, { color: color.muted, children: ["Document: ", path.basename(docPath)] }), _jsxs(Text, { color: color.muted, children: ["Path: ", truncateMiddle(docPath, Math.max(16, width - 10))] })] })) : (_jsx(Text, { color: color.muted, children: "No document selected." })), _jsx(Text, { color: color.fg, children: summary }), _jsx(Box, { marginTop: 1, children: _jsx(Button, { id: "format-run", label: "Run Format", icon: "\u2261", onClick: onRun }) })] }), logs.length > 0 ? (_jsx(Card, { title: "Diagnostics", meta: logsOpen ? "expanded" : "collapsed", ruleWidth: width - 6, debug: debug, children: _jsx(Collapsible, { id: "format-logs", title: `Details (${logs.length})`, summary: logsOpen ? "Enter to collapse" : "Press Enter or L to expand", isOpen: logsOpen, onToggle: onToggleLogs, children: logs.map((line, idx) => (_jsx(Text, { color: color.muted, children: line }, `${line}-${idx}`))) }) })) : null] }));
10
+ }
11
+ //# sourceMappingURL=FormatScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormatScreen.js","sourceRoot":"","sources":["../../src/screens/FormatScreen.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,UAAU,YAAY,CAAC,EAC3B,KAAK,EACL,OAAO,EACP,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,KAAK,GAUN;IACC,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAChC,MAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAC,EAAE,EAAC,MAAM,QAAC,SAAS,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,aACnE,OAAO,CAAC,CAAC,CAAC,CACT,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAChC,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,2BAAa,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAQ,EACnE,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,uBAAS,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC,IAAQ,IACtF,CACP,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,sCAA8B,CACvD,EACD,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,EAAE,YAAG,OAAO,GAAQ,EACvC,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,MAAM,IAAC,EAAE,EAAC,YAAY,EAAC,KAAK,EAAC,YAAY,EAAC,IAAI,EAAC,QAAG,EAAC,OAAO,EAAE,KAAK,GAAI,GAClE,IACD,EAEN,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACjB,KAAC,IAAI,IAAC,KAAK,EAAC,aAAa,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,YACrG,KAAC,WAAW,IACV,EAAE,EAAC,aAAa,EAChB,KAAK,EAAE,YAAY,IAAI,CAAC,MAAM,GAAG,EACjC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,4BAA4B,EACtE,MAAM,EAAE,QAAQ,EAChB,QAAQ,EAAE,YAAY,YAErB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CACvB,KAAC,IAAI,IAAwB,KAAK,EAAE,KAAK,CAAC,KAAK,YAAG,IAAI,IAA3C,GAAG,IAAI,IAAI,GAAG,EAAE,CAAmC,CAC/D,CAAC,GACU,GACT,CACR,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { WizardStep, WizardValues } from "../state/types.js";
2
+ export declare function NewWizardScreen({ width, step, stepIndex, stepsCount, values, selectedIndex, created, postCreate, outputDir, debug, }: {
3
+ width: number;
4
+ step: WizardStep | null;
5
+ stepIndex: number;
6
+ stepsCount: number;
7
+ values: WizardValues;
8
+ selectedIndex: number;
9
+ created: {
10
+ docPath: string;
11
+ } | null;
12
+ postCreate: {
13
+ openViewer: boolean;
14
+ setCurrent: boolean;
15
+ selectedIndex: number;
16
+ };
17
+ outputDir: string;
18
+ debug?: boolean;
19
+ }): import("react/jsx-runtime").JSX.Element;
20
+ //# sourceMappingURL=NewWizardScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NewWizardScreen.d.ts","sourceRoot":"","sources":["../../src/screens/NewWizardScreen.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAI7D,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,IAAI,EACJ,SAAS,EACT,UAAU,EACV,MAAM,EACN,aAAa,EACb,OAAO,EACP,UAAU,EACV,SAAS,EACT,KAAK,GACN,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,YAAY,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACpC,UAAU,EAAE;QAAE,UAAU,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,OAAO,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAChF,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,2CAuFA"}