@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.
- package/dist/components/ActionGrid.d.ts +11 -0
- package/dist/components/ActionGrid.d.ts.map +1 -0
- package/dist/components/ActionGrid.js +9 -0
- package/dist/components/ActionGrid.js.map +1 -0
- package/dist/components/AppFrame.d.ts +6 -0
- package/dist/components/AppFrame.d.ts.map +1 -0
- package/dist/components/AppFrame.js +7 -0
- package/dist/components/AppFrame.js.map +1 -0
- package/dist/components/Button.d.ts +8 -0
- package/dist/components/Button.d.ts.map +1 -0
- package/dist/components/Button.js +10 -0
- package/dist/components/Button.js.map +1 -0
- package/dist/components/Card.d.ts +12 -0
- package/dist/components/Card.d.ts.map +1 -0
- package/dist/components/Card.js +14 -0
- package/dist/components/Card.js.map +1 -0
- package/dist/components/Clickable.d.ts +8 -0
- package/dist/components/Clickable.d.ts.map +1 -0
- package/dist/components/Clickable.js +8 -0
- package/dist/components/Clickable.js.map +1 -0
- package/dist/components/Collapsible.d.ts +10 -0
- package/dist/components/Collapsible.d.ts.map +1 -0
- package/dist/components/Collapsible.js +8 -0
- package/dist/components/Collapsible.js.map +1 -0
- package/dist/components/CommandPaletteModal.d.ts +12 -0
- package/dist/components/CommandPaletteModal.d.ts.map +1 -0
- package/dist/components/CommandPaletteModal.js +41 -0
- package/dist/components/CommandPaletteModal.js.map +1 -0
- package/dist/components/HelpOverlay.d.ts +8 -0
- package/dist/components/HelpOverlay.d.ts.map +1 -0
- package/dist/components/HelpOverlay.js +40 -0
- package/dist/components/HelpOverlay.js.map +1 -0
- package/dist/components/InputLine.d.ts +6 -0
- package/dist/components/InputLine.d.ts.map +1 -0
- package/dist/components/InputLine.js +10 -0
- package/dist/components/InputLine.js.map +1 -0
- package/dist/components/NavList.d.ts +10 -0
- package/dist/components/NavList.d.ts.map +1 -0
- package/dist/components/NavList.js +85 -0
- package/dist/components/NavList.js.map +1 -0
- package/dist/components/PaneFrame.d.ts +9 -0
- package/dist/components/PaneFrame.d.ts.map +1 -0
- package/dist/components/PaneFrame.js +7 -0
- package/dist/components/PaneFrame.js.map +1 -0
- package/dist/components/PromptModal.d.ts +7 -0
- package/dist/components/PromptModal.d.ts.map +1 -0
- package/dist/components/PromptModal.js +9 -0
- package/dist/components/PromptModal.js.map +1 -0
- package/dist/components/Spinner.d.ts +2 -0
- package/dist/components/Spinner.d.ts.map +1 -0
- package/dist/components/Spinner.js +15 -0
- package/dist/components/Spinner.js.map +1 -0
- package/dist/components/StatusChips.d.ts +8 -0
- package/dist/components/StatusChips.d.ts.map +1 -0
- package/dist/components/StatusChips.js +10 -0
- package/dist/components/StatusChips.js.map +1 -0
- package/dist/components/TaskProgressView.d.ts +5 -0
- package/dist/components/TaskProgressView.d.ts.map +1 -0
- package/dist/components/TaskProgressView.js +14 -0
- package/dist/components/TaskProgressView.js.map +1 -0
- package/dist/components/ToastHost.d.ts +8 -0
- package/dist/components/ToastHost.d.ts.map +1 -0
- package/dist/components/ToastHost.js +18 -0
- package/dist/components/ToastHost.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/palette/index.d.ts +22 -0
- package/dist/palette/index.d.ts.map +1 -0
- package/dist/palette/index.js +79 -0
- package/dist/palette/index.js.map +1 -0
- package/dist/screens/AddWizardScreen.d.ts +5 -0
- package/dist/screens/AddWizardScreen.d.ts.map +1 -0
- package/dist/screens/AddWizardScreen.js +8 -0
- package/dist/screens/AddWizardScreen.js.map +1 -0
- package/dist/screens/DashboardScreen.d.ts +25 -0
- package/dist/screens/DashboardScreen.d.ts.map +1 -0
- package/dist/screens/DashboardScreen.js +15 -0
- package/dist/screens/DashboardScreen.js.map +1 -0
- package/dist/screens/DocDetailsScreen.d.ts +27 -0
- package/dist/screens/DocDetailsScreen.d.ts.map +1 -0
- package/dist/screens/DocDetailsScreen.js +13 -0
- package/dist/screens/DocDetailsScreen.js.map +1 -0
- package/dist/screens/DoctorScreen.d.ts +13 -0
- package/dist/screens/DoctorScreen.d.ts.map +1 -0
- package/dist/screens/DoctorScreen.js +12 -0
- package/dist/screens/DoctorScreen.js.map +1 -0
- package/dist/screens/EditPlaceholderScreen.d.ts +6 -0
- package/dist/screens/EditPlaceholderScreen.d.ts.map +1 -0
- package/dist/screens/EditPlaceholderScreen.js +8 -0
- package/dist/screens/EditPlaceholderScreen.js.map +1 -0
- package/dist/screens/EditScreen.d.ts +15 -0
- package/dist/screens/EditScreen.d.ts.map +1 -0
- package/dist/screens/EditScreen.js +18 -0
- package/dist/screens/EditScreen.js.map +1 -0
- package/dist/screens/ExportScreen.d.ts +15 -0
- package/dist/screens/ExportScreen.d.ts.map +1 -0
- package/dist/screens/ExportScreen.js +11 -0
- package/dist/screens/ExportScreen.js.map +1 -0
- package/dist/screens/FormatScreen.d.ts +11 -0
- package/dist/screens/FormatScreen.d.ts.map +1 -0
- package/dist/screens/FormatScreen.js +11 -0
- package/dist/screens/FormatScreen.js.map +1 -0
- package/dist/screens/NewWizardScreen.d.ts +20 -0
- package/dist/screens/NewWizardScreen.d.ts.map +1 -0
- package/dist/screens/NewWizardScreen.js +28 -0
- package/dist/screens/NewWizardScreen.js.map +1 -0
- package/dist/screens/OpenScreen.d.ts +43 -0
- package/dist/screens/OpenScreen.d.ts.map +1 -0
- package/dist/screens/OpenScreen.js +37 -0
- package/dist/screens/OpenScreen.js.map +1 -0
- package/dist/screens/SettingsScreen.d.ts +8 -0
- package/dist/screens/SettingsScreen.d.ts.map +1 -0
- package/dist/screens/SettingsScreen.js +12 -0
- package/dist/screens/SettingsScreen.js.map +1 -0
- package/dist/screens/ViewerControlScreen.d.ts +16 -0
- package/dist/screens/ViewerControlScreen.d.ts.map +1 -0
- package/dist/screens/ViewerControlScreen.js +12 -0
- package/dist/screens/ViewerControlScreen.js.map +1 -0
- package/dist/state/dashboard-machine.d.ts +11 -0
- package/dist/state/dashboard-machine.d.ts.map +1 -0
- package/dist/state/dashboard-machine.js +13 -0
- package/dist/state/dashboard-machine.js.map +1 -0
- package/dist/state/focus.d.ts +6 -0
- package/dist/state/focus.d.ts.map +1 -0
- package/dist/state/focus.js +29 -0
- package/dist/state/focus.js.map +1 -0
- package/dist/state/mouse.d.ts +8 -0
- package/dist/state/mouse.d.ts.map +1 -0
- package/dist/state/mouse.js +89 -0
- package/dist/state/mouse.js.map +1 -0
- package/dist/state/open-search.d.ts +26 -0
- package/dist/state/open-search.d.ts.map +1 -0
- package/dist/state/open-search.js +27 -0
- package/dist/state/open-search.js.map +1 -0
- package/dist/state/progress.d.ts +12 -0
- package/dist/state/progress.d.ts.map +1 -0
- package/dist/state/progress.js +31 -0
- package/dist/state/progress.js.map +1 -0
- package/dist/state/toasts.d.ts +12 -0
- package/dist/state/toasts.d.ts.map +1 -0
- package/dist/state/toasts.js +22 -0
- package/dist/state/toasts.js.map +1 -0
- package/dist/state/types.d.ts +60 -0
- package/dist/state/types.d.ts.map +1 -0
- package/dist/state/types.js +2 -0
- package/dist/state/types.js.map +1 -0
- package/dist/theme/index.d.ts +38 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/index.js +101 -0
- package/dist/theme/index.js.map +1 -0
- package/dist/ui/ModalOverlay.d.ts +37 -0
- package/dist/ui/ModalOverlay.d.ts.map +1 -0
- package/dist/ui/ModalOverlay.js +60 -0
- package/dist/ui/ModalOverlay.js.map +1 -0
- package/dist/ui/app.d.ts +11 -0
- package/dist/ui/app.d.ts.map +1 -0
- package/dist/ui/app.js +2409 -0
- package/dist/ui/app.js.map +1 -0
- package/dist/ui/input.d.ts +4 -0
- package/dist/ui/input.d.ts.map +1 -0
- package/dist/ui/input.js +11 -0
- package/dist/ui/input.js.map +1 -0
- package/dist/ui/layout.d.ts +20 -0
- package/dist/ui/layout.d.ts.map +1 -0
- package/dist/ui/layout.js +37 -0
- package/dist/ui/layout.js.map +1 -0
- package/dist/ui/useDebouncedValue.d.ts +2 -0
- package/dist/ui/useDebouncedValue.d.ts.map +1 -0
- package/dist/ui/useDebouncedValue.js +10 -0
- package/dist/ui/useDebouncedValue.js.map +1 -0
- package/dist/ui/useTerminalDimensions.d.ts +5 -0
- package/dist/ui/useTerminalDimensions.d.ts.map +1 -0
- package/dist/ui/useTerminalDimensions.js +31 -0
- package/dist/ui/useTerminalDimensions.js.map +1 -0
- 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"}
|
package/dist/index.d.ts
ADDED
|
@@ -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 @@
|
|
|
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":"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"}
|
|
@@ -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":"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"}
|
|
@@ -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":";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,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,UAAU,EACV,QAAQ,EACR,UAAU,EACV,WAAW,EACX,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,UAAU,EACV,KAAK,GAaN;IACC,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAChC,MAAC,IAAI,IAAC,KAAK,EAAC,YAAY,EAAC,IAAI,EAAC,EAAE,EAAC,MAAM,QAAC,SAAS,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,aACvE,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,EACA,UAAU,CAAC,CAAC,CAAC,CACZ,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,yBAAW,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC,IAAQ,CAChG,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,MAAM,IAAC,EAAE,EAAC,YAAY,EAAC,KAAK,EAAC,YAAY,EAAC,IAAI,EAAC,QAAG,EAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,KAAK,CAAC,GAAI,GAChG,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,UAAU,CAAC,CAAC,CAAC,CACZ,MAAC,IAAI,IAAC,KAAK,EAAC,iBAAiB,EAAC,IAAI,EAAC,EAAE,EAAC,SAAS,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,aACtE,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,YAAG,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,GAAQ,EACtF,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,EAAC,GAAG,EAAE,CAAC,aAC7B,KAAC,MAAM,IAAC,EAAE,EAAC,aAAa,EAAC,KAAK,EAAC,WAAW,EAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,KAAK,CAAC,GAAI,EAC7F,KAAC,MAAM,IAAC,EAAE,EAAC,eAAe,EAAC,KAAK,EAAC,kBAAkB,EAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,KAAK,CAAC,GAAI,EACpG,KAAC,MAAM,IAAC,EAAE,EAAC,aAAa,EAAC,KAAK,EAAC,WAAW,EAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,KAAK,CAAC,GAAI,IACzF,IACD,CACR,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -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"}
|