@tooee/view 0.2.3 → 0.3.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/README.md +15 -15
- package/dist/components/subviews/{CodeSubview.d.ts → code-subview.d.ts} +2 -2
- package/dist/components/subviews/code-subview.d.ts.map +1 -0
- package/dist/components/subviews/{CodeSubview.js → code-subview.js} +8 -8
- package/dist/components/subviews/code-subview.js.map +1 -0
- package/dist/components/subviews/custom-subview.d.ts +9 -0
- package/dist/components/subviews/custom-subview.d.ts.map +1 -0
- package/dist/components/subviews/{CustomSubview.js → custom-subview.js} +7 -7
- package/dist/components/subviews/custom-subview.js.map +1 -0
- package/dist/components/subviews/index.d.ts +4 -4
- package/dist/components/subviews/index.d.ts.map +1 -1
- package/dist/components/subviews/index.js +4 -4
- package/dist/components/subviews/index.js.map +1 -1
- package/dist/components/subviews/markdown-subview.d.ts +11 -0
- package/dist/components/subviews/markdown-subview.d.ts.map +1 -0
- package/dist/components/subviews/{MarkdownSubview.js → markdown-subview.js} +28 -26
- package/dist/components/subviews/markdown-subview.js.map +1 -0
- package/dist/components/subviews/table-subview.d.ts +8 -0
- package/dist/components/subviews/table-subview.d.ts.map +1 -0
- package/dist/components/subviews/{TableSubview.js → table-subview.js} +40 -22
- package/dist/components/subviews/table-subview.js.map +1 -0
- package/dist/components/subviews/types.d.ts.map +1 -1
- package/dist/components/{ViewScreen.d.ts → view-screen.d.ts} +3 -3
- package/dist/components/view-screen.d.ts.map +1 -0
- package/dist/components/{ViewScreen.js → view-screen.js} +11 -11
- package/dist/components/view-screen.js.map +1 -0
- package/dist/content-loader-store.d.ts +11 -7
- package/dist/content-loader-store.d.ts.map +1 -1
- package/dist/content-loader-store.js +70 -50
- package/dist/content-loader-store.js.map +1 -1
- package/dist/default-provider.d.ts +4 -4
- package/dist/default-provider.d.ts.map +1 -1
- package/dist/default-provider.js +48 -39
- package/dist/default-provider.js.map +1 -1
- package/dist/directory-provider.d.ts +2 -2
- package/dist/directory-provider.d.ts.map +1 -1
- package/dist/directory-provider.js +13 -10
- package/dist/directory-provider.js.map +1 -1
- package/dist/directory-view.d.ts +8 -0
- package/dist/directory-view.d.ts.map +1 -0
- package/dist/{DirectoryView.js → directory-view.js} +18 -12
- package/dist/directory-view.js.map +1 -0
- package/dist/hooks/index.d.ts +4 -4
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +3 -3
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/{useContentCommands.d.ts → use-content-commands.d.ts} +2 -2
- package/dist/hooks/use-content-commands.d.ts.map +1 -0
- package/dist/hooks/{useContentCommands.js → use-content-commands.js} +6 -4
- package/dist/hooks/use-content-commands.js.map +1 -0
- package/dist/hooks/{useContentLoader.d.ts → use-content-loader.d.ts} +4 -4
- package/dist/hooks/use-content-loader.d.ts.map +1 -0
- package/dist/hooks/use-content-loader.js +81 -0
- package/dist/hooks/use-content-loader.js.map +1 -0
- package/dist/hooks/{useViewCommandContext.d.ts → use-view-command-context.d.ts} +3 -3
- package/dist/hooks/use-view-command-context.d.ts.map +1 -0
- package/dist/hooks/{useViewCommandContext.js → use-view-command-context.js} +15 -13
- package/dist/hooks/use-view-command-context.js.map +1 -0
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/launch.d.ts +2 -2
- package/dist/launch.d.ts.map +1 -1
- package/dist/launch.js +6 -6
- package/dist/launch.js.map +1 -1
- package/dist/types.d.ts +4 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +46 -24
- package/dist/types.js.map +1 -1
- package/dist/view.d.ts +18 -0
- package/dist/view.d.ts.map +1 -0
- package/dist/{View.js → view.js} +20 -14
- package/dist/view.js.map +1 -0
- package/package.json +10 -10
- package/src/components/subviews/{CodeSubview.tsx → code-subview.tsx} +25 -19
- package/src/components/subviews/{CustomSubview.tsx → custom-subview.tsx} +23 -21
- package/src/components/subviews/index.ts +5 -5
- package/src/components/subviews/{MarkdownSubview.tsx → markdown-subview.tsx} +55 -52
- package/src/components/subviews/table-subview.tsx +95 -0
- package/src/components/subviews/types.ts +14 -14
- package/src/components/{ViewScreen.tsx → view-screen.tsx} +33 -32
- package/src/content-loader-store.ts +131 -99
- package/src/default-provider.ts +84 -64
- package/src/directory-provider.ts +32 -24
- package/src/directory-view.tsx +79 -0
- package/src/hooks/index.ts +7 -4
- package/src/hooks/{useContentCommands.ts → use-content-commands.ts} +19 -14
- package/src/hooks/use-content-loader.ts +92 -0
- package/src/hooks/{useViewCommandContext.ts → use-view-command-context.ts} +40 -38
- package/src/index.ts +14 -14
- package/src/launch.tsx +20 -18
- package/src/types.ts +107 -78
- package/src/view.tsx +114 -0
- package/dist/DirectoryView.d.ts +0 -7
- package/dist/DirectoryView.d.ts.map +0 -1
- package/dist/DirectoryView.js.map +0 -1
- package/dist/View.d.ts +0 -16
- package/dist/View.d.ts.map +0 -1
- package/dist/View.js.map +0 -1
- package/dist/components/ViewScreen.d.ts.map +0 -1
- package/dist/components/ViewScreen.js.map +0 -1
- package/dist/components/subviews/CodeSubview.d.ts.map +0 -1
- package/dist/components/subviews/CodeSubview.js.map +0 -1
- package/dist/components/subviews/CustomSubview.d.ts +0 -9
- package/dist/components/subviews/CustomSubview.d.ts.map +0 -1
- package/dist/components/subviews/CustomSubview.js.map +0 -1
- package/dist/components/subviews/MarkdownSubview.d.ts +0 -10
- package/dist/components/subviews/MarkdownSubview.d.ts.map +0 -1
- package/dist/components/subviews/MarkdownSubview.js.map +0 -1
- package/dist/components/subviews/TableSubview.d.ts +0 -8
- package/dist/components/subviews/TableSubview.d.ts.map +0 -1
- package/dist/components/subviews/TableSubview.js.map +0 -1
- package/dist/hooks/useContentCommands.d.ts.map +0 -1
- package/dist/hooks/useContentCommands.js.map +0 -1
- package/dist/hooks/useContentLoader.d.ts.map +0 -1
- package/dist/hooks/useContentLoader.js +0 -55
- package/dist/hooks/useContentLoader.js.map +0 -1
- package/dist/hooks/useViewCommandContext.d.ts.map +0 -1
- package/dist/hooks/useViewCommandContext.js.map +0 -1
- package/src/DirectoryView.tsx +0 -68
- package/src/View.tsx +0 -94
- package/src/components/subviews/TableSubview.tsx +0 -65
- package/src/hooks/useContentLoader.ts +0 -72
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { ContentProvider } from "../types.js";
|
|
2
|
-
export declare
|
|
2
|
+
export declare const useContentLoader: (contentProvider: ContentProvider) => {
|
|
3
3
|
content: import("../types.js").AnyContent | null;
|
|
4
|
-
streaming: boolean;
|
|
5
4
|
error: string | null;
|
|
6
5
|
providerMarks: import("@tooee/marks").MarkSet[];
|
|
7
|
-
status: import("../content-loader-store.js").ContentLoaderStatus;
|
|
8
6
|
reload: () => void;
|
|
7
|
+
status: import("../content-loader-store.js").ContentLoaderStatus;
|
|
8
|
+
streaming: boolean;
|
|
9
9
|
};
|
|
10
|
-
//# sourceMappingURL=
|
|
10
|
+
//# sourceMappingURL=use-content-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-content-loader.d.ts","sourceRoot":"","sources":["../../src/hooks/use-content-loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAanD,eAAO,MAAM,gBAAgB,GAA6B,iBAAiB,eAAe;;;;;;;CA4EzF,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { useCallback, useEffect, useMemo } from "react";
|
|
2
|
+
import { useSelector } from "@xstate/store-react";
|
|
3
|
+
import { createContentLoaderStore, isAsyncIterable, normalizeError, selectContent, selectError, selectLoadSeq, selectProviderMarks, selectStatus, selectStreaming, } from "../content-loader-store.js";
|
|
4
|
+
export const useContentLoader = function useContentLoader(contentProvider) {
|
|
5
|
+
const store = useMemo(createContentLoaderStore, []);
|
|
6
|
+
const loadSeq = useSelector(store, (snapshot) => selectLoadSeq(snapshot.context));
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
store.trigger.loadStarted({
|
|
9
|
+
marks: contentProvider.marks ?? [],
|
|
10
|
+
title: contentProvider.title,
|
|
11
|
+
});
|
|
12
|
+
const { requestId } = store.getSnapshot().context;
|
|
13
|
+
const loaded = contentProvider.load();
|
|
14
|
+
let cleanup = () => {
|
|
15
|
+
// Synchronous providers have no pending work to cancel.
|
|
16
|
+
};
|
|
17
|
+
if (isAsyncIterable(loaded)) {
|
|
18
|
+
store.trigger.streamStarted({
|
|
19
|
+
format: contentProvider.format ?? "markdown",
|
|
20
|
+
requestId,
|
|
21
|
+
});
|
|
22
|
+
const iterator = loaded[Symbol.asyncIterator]();
|
|
23
|
+
void (async () => {
|
|
24
|
+
try {
|
|
25
|
+
while (true) {
|
|
26
|
+
// Deferred(lint-sweep): preserve sequential stream consumption for ordered backpressure.
|
|
27
|
+
// oxlint-disable-next-line no-await-in-loop -- each chunk must be consumed in iterator order
|
|
28
|
+
const result = await iterator.next();
|
|
29
|
+
if (result.done === true) {
|
|
30
|
+
break;
|
|
31
|
+
}
|
|
32
|
+
store.trigger.chunkReceived({ chunk: result.value, requestId });
|
|
33
|
+
}
|
|
34
|
+
store.trigger.streamEnded({ requestId });
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
store.trigger.loadFailed({ error: normalizeError(error), requestId });
|
|
38
|
+
}
|
|
39
|
+
})();
|
|
40
|
+
cleanup = () => {
|
|
41
|
+
store.trigger.loadCancelled({ requestId });
|
|
42
|
+
void (async () => {
|
|
43
|
+
try {
|
|
44
|
+
await iterator.return?.();
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
// Iterator cleanup is best-effort during effect disposal.
|
|
48
|
+
}
|
|
49
|
+
})();
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
else if (loaded instanceof Promise) {
|
|
53
|
+
void (async () => {
|
|
54
|
+
try {
|
|
55
|
+
const content = await loaded;
|
|
56
|
+
store.trigger.loaded({ content, requestId });
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
store.trigger.loadFailed({ error: normalizeError(error), requestId });
|
|
60
|
+
}
|
|
61
|
+
})();
|
|
62
|
+
cleanup = () => {
|
|
63
|
+
store.trigger.loadCancelled({ requestId });
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
store.trigger.loaded({ content: loaded, requestId });
|
|
68
|
+
}
|
|
69
|
+
return cleanup;
|
|
70
|
+
}, [contentProvider, loadSeq, store]);
|
|
71
|
+
const content = useSelector(store, (snapshot) => selectContent(snapshot.context));
|
|
72
|
+
const streaming = useSelector(store, (snapshot) => selectStreaming(snapshot.context));
|
|
73
|
+
const error = useSelector(store, (snapshot) => selectError(snapshot.context));
|
|
74
|
+
const providerMarks = useSelector(store, (snapshot) => selectProviderMarks(snapshot.context));
|
|
75
|
+
const status = useSelector(store, (snapshot) => selectStatus(snapshot.context));
|
|
76
|
+
const reload = useCallback(() => {
|
|
77
|
+
store.trigger.reloadRequested({});
|
|
78
|
+
}, [store]);
|
|
79
|
+
return { content, error, providerMarks, reload, status, streaming };
|
|
80
|
+
};
|
|
81
|
+
//# sourceMappingURL=use-content-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-content-loader.js","sourceRoot":"","sources":["../../src/hooks/use-content-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,6 +40,6 @@ export interface CreateViewCommandContextOptions {
|
|
|
40
40
|
marks?: Partial<ViewCommandContext["marks"]>;
|
|
41
41
|
}
|
|
42
42
|
export type ProvideViewCommandContextOptions = CreateViewCommandContextOptions;
|
|
43
|
-
export declare
|
|
44
|
-
export declare
|
|
45
|
-
//# sourceMappingURL=
|
|
43
|
+
export declare const createViewCommandContext: ({ content, format, title, data, reload, marks, }: CreateViewCommandContextOptions) => ViewCommandContext;
|
|
44
|
+
export declare const useProvideViewCommandContext: (options: ProvideViewCommandContextOptions | (() => ProvideViewCommandContextOptions)) => void;
|
|
45
|
+
//# sourceMappingURL=use-view-command-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-view-command-context.d.ts","sourceRoot":"","sources":["../../src/hooks/use-view-command-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,UAAU,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,4CAA4C;IAC5C,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,KAAK,EAAE;QACL,UAAU,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;QACnC,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;QAC5C,QAAQ,EAAE,MAAM,IAAI,CAAC;QACrB,SAAS,EAAE,OAAO,EAAE,CAAC;QACrB,aAAa,EAAE,OAAO,EAAE,CAAC;KAC1B,CAAC;CACH;AAED,OAAO,QAAQ,iBAAiB,CAAC;IAC/B,UAAU,cAAc;QACtB,IAAI,EAAE,kBAAkB,CAAC;KAC1B;CACF;AAMD,MAAM,WAAW,+BAA+B;IAC9C;;;OAGG;IACH,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;CAC9C;AAED,MAAM,MAAM,gCAAgC,GAAG,+BAA+B,CAAC;AAE/E,eAAO,MAAM,wBAAwB,GAAqC,kDAOvE,+BAA+B,KAAG,kBAwBpC,CAAC;AAEF,eAAO,MAAM,4BAA4B,GACvC,SAAS,gCAAgC,GAAG,CAAC,MAAM,gCAAgC,CAAC,SAKrF,CAAC"}
|
|
@@ -1,29 +1,31 @@
|
|
|
1
1
|
import { useProvideCommandContextKey } from "@tooee/commands";
|
|
2
|
-
const noop = () => {
|
|
3
|
-
|
|
2
|
+
const noop = () => {
|
|
3
|
+
// Optional command-context operations default to intentional no-ops.
|
|
4
|
+
};
|
|
5
|
+
export const createViewCommandContext = function createViewCommandContext({ content, format, title, data, reload, marks, }) {
|
|
4
6
|
const resolvedFormat = format ?? content?.format ?? "custom";
|
|
5
7
|
const resolvedContent = content ??
|
|
6
8
|
{
|
|
7
|
-
format: resolvedFormat,
|
|
8
9
|
data,
|
|
10
|
+
format: resolvedFormat,
|
|
9
11
|
title,
|
|
10
12
|
};
|
|
11
13
|
return {
|
|
12
14
|
content: resolvedContent,
|
|
13
|
-
format: resolvedFormat,
|
|
14
|
-
title: title ?? content?.title,
|
|
15
15
|
data: data ?? ("data" in resolvedContent ? resolvedContent.data : undefined),
|
|
16
|
-
|
|
16
|
+
format: resolvedFormat,
|
|
17
17
|
marks: {
|
|
18
|
-
setMarkSet: marks?.setMarkSet ?? noop,
|
|
19
|
-
clearNamespace: marks?.clearNamespace ?? noop,
|
|
20
18
|
clearAll: marks?.clearAll ?? noop,
|
|
21
|
-
|
|
19
|
+
clearNamespace: marks?.clearNamespace ?? noop,
|
|
22
20
|
providerMarks: marks?.providerMarks ?? [],
|
|
21
|
+
setMarkSet: marks?.setMarkSet ?? noop,
|
|
22
|
+
userMarks: marks?.userMarks ?? [],
|
|
23
23
|
},
|
|
24
|
+
reload: reload ?? noop,
|
|
25
|
+
title: title ?? content?.title,
|
|
24
26
|
};
|
|
25
|
-
}
|
|
26
|
-
export function useProvideViewCommandContext(options) {
|
|
27
|
+
};
|
|
28
|
+
export const useProvideViewCommandContext = function useProvideViewCommandContext(options) {
|
|
27
29
|
useProvideCommandContextKey("view", () => createViewCommandContext(typeof options === "function" ? options() : options));
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=use-view-command-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-view-command-context.js","sourceRoot":"","sources":["../../src/hooks/use-view-command-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAiC9D,MAAM,IAAI,GAAG,GAAG,EAAE;IAChB,qEAAqE;AACvE,CAAC,CAAC;AAiBF,MAAM,CAAC,MAAM,wBAAwB,GAAG,SAAS,wBAAwB,CAAC,EACxE,OAAO,EACP,MAAM,EACN,KAAK,EACL,IAAI,EACJ,MAAM,EACN,KAAK,GAC2B;IAChC,MAAM,cAAc,GAAG,MAAM,IAAI,OAAO,EAAE,MAAM,IAAI,QAAQ,CAAC;IAC7D,MAAM,eAAe,GACnB,OAAO;QACN;YACC,IAAI;YACJ,MAAM,EAAE,cAAc;YACtB,KAAK;SACgB,CAAC;IAE1B,OAAO;QACL,OAAO,EAAE,eAAe;QACxB,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,IAAI,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5E,MAAM,EAAE,cAAc;QACtB,KAAK,EAAE;YACL,QAAQ,EAAE,KAAK,EAAE,QAAQ,IAAI,IAAI;YACjC,cAAc,EAAE,KAAK,EAAE,cAAc,IAAI,IAAI;YAC7C,aAAa,EAAE,KAAK,EAAE,aAAa,IAAI,EAAE;YACzC,UAAU,EAAE,KAAK,EAAE,UAAU,IAAI,IAAI;YACrC,SAAS,EAAE,KAAK,EAAE,SAAS,IAAI,EAAE;SAClC;QACD,MAAM,EAAE,MAAM,IAAI,IAAI;QACtB,KAAK,EAAE,KAAK,IAAI,OAAO,EAAE,KAAK;KAC/B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,SAAS,4BAA4B,CAC/E,OAAoF;IAEpF,2BAA2B,CAAC,MAAM,EAAE,GAAG,EAAE,CACvC,wBAAwB,CAAC,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAC9E,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export { View } from "./
|
|
2
|
-
export { DirectoryView } from "./
|
|
1
|
+
export { View } from "./view.js";
|
|
2
|
+
export { DirectoryView } from "./directory-view.js";
|
|
3
3
|
export { launch, launchDirectory } from "./launch.js";
|
|
4
4
|
export type { ViewLaunchOptions } from "./launch.js";
|
|
5
5
|
export { createFileProvider, createStdinProvider, createTableFileProvider, createTableStdinProvider, } from "./default-provider.js";
|
|
6
6
|
export type { CreateProviderOptions } from "./default-provider.js";
|
|
7
7
|
export { listDirectoryFiles } from "./directory-provider.js";
|
|
8
8
|
export type { DirectoryEntry } from "./directory-provider.js";
|
|
9
|
-
export { createViewCommandContext, useProvideViewCommandContext, } from "./hooks/
|
|
10
|
-
export type { CreateViewCommandContextOptions, ProvideViewCommandContextOptions, ViewCommandContext, } from "./hooks/
|
|
9
|
+
export { createViewCommandContext, useProvideViewCommandContext, } from "./hooks/use-view-command-context.js";
|
|
10
|
+
export type { CreateViewCommandContextOptions, ProvideViewCommandContextOptions, ViewCommandContext, } from "./hooks/use-view-command-context.js";
|
|
11
11
|
export type { AnyContent, Content, ContentChunk, ContentFormat, ContentProvider, ContentRenderer, ContentRendererProps, CustomContent, ViewContent, ViewContentProvider, ColumnDef, TableRow, } from "./types.js";
|
|
12
12
|
export { getTextContent, isBuiltinContent, isCustomContent } from "./types.js";
|
|
13
13
|
export { CodeBlockChrome } from "@tooee/renderers";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EACL,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EACV,+BAA+B,EAC/B,gCAAgC,EAChC,kBAAkB,GACnB,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EACV,UAAU,EACV,OAAO,EACP,YAAY,EACZ,aAAa,EACb,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,SAAS,EACT,QAAQ,GACT,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,YAAY,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { View } from "./
|
|
2
|
-
export { DirectoryView } from "./
|
|
1
|
+
export { View } from "./view.js";
|
|
2
|
+
export { DirectoryView } from "./directory-view.js";
|
|
3
3
|
export { launch, launchDirectory } from "./launch.js";
|
|
4
4
|
export { createFileProvider, createStdinProvider, createTableFileProvider, createTableStdinProvider, } from "./default-provider.js";
|
|
5
5
|
export { listDirectoryFiles } from "./directory-provider.js";
|
|
6
|
-
export { createViewCommandContext, useProvideViewCommandContext, } from "./hooks/
|
|
6
|
+
export { createViewCommandContext, useProvideViewCommandContext, } from "./hooks/use-view-command-context.js";
|
|
7
7
|
export { getTextContent, isBuiltinContent, isCustomContent } from "./types.js";
|
|
8
8
|
export { CodeBlockChrome } from "@tooee/renderers";
|
|
9
9
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EACL,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,qCAAqC,CAAC;AAoB7C,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/launch.d.ts
CHANGED
|
@@ -16,6 +16,6 @@ export interface DirectoryLaunchOptions {
|
|
|
16
16
|
dirPath: string;
|
|
17
17
|
actions?: ActionDefinition[];
|
|
18
18
|
}
|
|
19
|
-
export declare
|
|
20
|
-
export declare
|
|
19
|
+
export declare const launch: (options: ViewLaunchOptions) => Promise<void>;
|
|
20
|
+
export declare const launchDirectory: (options: DirectoryLaunchOptions) => Promise<void>;
|
|
21
21
|
//# sourceMappingURL=launch.d.ts.map
|
package/dist/launch.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../src/launch.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../src/launch.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG1D,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEnE,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,eAAe,CAAC;IACjC,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC5C;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC9B;AAED,eAAO,MAAM,MAAM,GAAyB,SAAS,iBAAiB,KAAG,OAAO,CAAC,IAAI,CASpF,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,SAAS,sBAAsB,KAC9B,OAAO,CAAC,IAAI,CAEd,CAAC"}
|
package/dist/launch.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { jsx as _jsx } from "@opentui/react/jsx-runtime";
|
|
2
2
|
import { launchCli } from "@tooee/shell";
|
|
3
|
-
import { View } from "./
|
|
4
|
-
import { DirectoryView } from "./
|
|
5
|
-
export async function launch(options) {
|
|
3
|
+
import { View } from "./view.js";
|
|
4
|
+
import { DirectoryView } from "./directory-view.js";
|
|
5
|
+
export const launch = async function launch(options) {
|
|
6
6
|
await launchCli(_jsx(View, { contentProvider: options.contentProvider, actions: options.actions, renderers: options.renderers, codeBlockRenderers: options.codeBlockRenderers }));
|
|
7
|
-
}
|
|
8
|
-
export async function launchDirectory(options) {
|
|
7
|
+
};
|
|
8
|
+
export const launchDirectory = async function launchDirectory(options) {
|
|
9
9
|
await launchCli(_jsx(DirectoryView, { dirPath: options.dirPath, actions: options.actions }));
|
|
10
|
-
}
|
|
10
|
+
};
|
|
11
11
|
//# sourceMappingURL=launch.js.map
|
package/dist/launch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launch.js","sourceRoot":"","sources":["../src/launch.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"launch.js","sourceRoot":"","sources":["../src/launch.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAoBpD,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,UAAU,MAAM,CAAC,OAA0B;IACpE,MAAM,SAAS,CACb,KAAC,IAAI,IACH,eAAe,EAAE,OAAO,CAAC,eAAe,EACxC,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,SAAS,EAAE,OAAO,CAAC,SAAS,EAC5B,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,GAC9C,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,UAAU,eAAe,CAC3D,OAA+B;IAE/B,MAAM,SAAS,CAAC,KAAC,aAAa,IAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,GAAI,CAAC,CAAC;AACzF,CAAC,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -69,7 +69,7 @@ export type ContentChunk = {
|
|
|
69
69
|
set: MarkSet;
|
|
70
70
|
};
|
|
71
71
|
export interface ContentProvider {
|
|
72
|
-
load()
|
|
72
|
+
load: () => AnyContent | Promise<AnyContent> | AsyncIterable<ContentChunk>;
|
|
73
73
|
format?: string;
|
|
74
74
|
title?: string;
|
|
75
75
|
/** Static marks to apply to the content. Merged with nav marks in View. */
|
|
@@ -78,7 +78,7 @@ export interface ContentProvider {
|
|
|
78
78
|
export type ViewContent = Content;
|
|
79
79
|
export type ViewContentProvider = ContentProvider;
|
|
80
80
|
export type { ColumnDef, TableRow } from "@tooee/renderers";
|
|
81
|
-
export declare
|
|
82
|
-
export declare
|
|
83
|
-
export declare
|
|
81
|
+
export declare const isBuiltinContent: (content: AnyContent) => content is Content;
|
|
82
|
+
export declare const isCustomContent: (content: AnyContent) => content is CustomContent;
|
|
83
|
+
export declare const getTextContent: (content: AnyContent) => string;
|
|
84
84
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAI5C,MAAM,MAAM,OAAO,GAAG,eAAe,GAAG,WAAW,GAAG,WAAW,GAAG,YAAY,CAAC;AAEjF,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE9C,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,IAAI,EAAE,QAAQ,EAAE,CAAC;CAClB;AAID,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,OAAO;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,MAAM,CAAC;CAC/B;AAED,yEAAyE;AACzE,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,aAAa,CAAC;AAIjD,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,aAAa,CAAC;IACvB;;;;;;;;;;;;OAYG;IACH,QAAQ,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;CAC7C;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,oBAAoB,KAAK,SAAS,CAAC;AAIzE,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,aAAa,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC;AAEpF,MAAM,MAAM,YAAY,GACpB;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,gBAAgB,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,UAAU,CAAC;CACrB,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,KAAK,UAAU,CAAC;CACnD,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,OAAO,CAAC;CACd,CAAC;AAIN,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;CACnB;AAID,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC;AAClC,MAAM,MAAM,mBAAmB,GAAG,eAAe,CAAC;AAClD,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAM5D,eAAO,MAAM,gBAAgB,GAA6B,SAAS,UAAU,KAAG,OAAO,IAAI,OAE1F,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,SAAS,UAAU,KAClB,OAAO,IAAI,aAEb,CAAC;AAoCF,eAAO,MAAM,cAAc,GAA2B,SAAS,UAAU,KAAG,MA8B3E,CAAC"}
|
package/dist/types.js
CHANGED
|
@@ -1,12 +1,44 @@
|
|
|
1
1
|
// === Utilities ===
|
|
2
2
|
const BUILTIN_FORMATS = new Set(["markdown", "code", "text", "table"]);
|
|
3
|
-
export function isBuiltinContent(content) {
|
|
3
|
+
export const isBuiltinContent = function isBuiltinContent(content) {
|
|
4
4
|
return BUILTIN_FORMATS.has(content.format);
|
|
5
|
-
}
|
|
6
|
-
export function isCustomContent(content) {
|
|
5
|
+
};
|
|
6
|
+
export const isCustomContent = function isCustomContent(content) {
|
|
7
7
|
return !BUILTIN_FORMATS.has(content.format);
|
|
8
|
-
}
|
|
9
|
-
|
|
8
|
+
};
|
|
9
|
+
const stringifyCell = function stringifyCell(value) {
|
|
10
|
+
if (value === null || value === undefined) {
|
|
11
|
+
return "";
|
|
12
|
+
}
|
|
13
|
+
if (typeof value === "string") {
|
|
14
|
+
return value;
|
|
15
|
+
}
|
|
16
|
+
if (typeof value === "number" || typeof value === "boolean") {
|
|
17
|
+
return String(value);
|
|
18
|
+
}
|
|
19
|
+
if (typeof value === "string") {
|
|
20
|
+
return value;
|
|
21
|
+
}
|
|
22
|
+
if (typeof value === "number" ||
|
|
23
|
+
typeof value === "bigint" ||
|
|
24
|
+
typeof value === "boolean" ||
|
|
25
|
+
typeof value === "symbol") {
|
|
26
|
+
return value.toString();
|
|
27
|
+
}
|
|
28
|
+
if (value === null || value === undefined) {
|
|
29
|
+
return String(value);
|
|
30
|
+
}
|
|
31
|
+
if (typeof value === "function") {
|
|
32
|
+
return Function.prototype.toString.call(value);
|
|
33
|
+
}
|
|
34
|
+
try {
|
|
35
|
+
return JSON.stringify(value);
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
return Array.isArray(value) ? value.join(",") : Object.prototype.toString.call(value);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
export const getTextContent = function getTextContent(content) {
|
|
10
42
|
if (content.getTextContent) {
|
|
11
43
|
return content.getTextContent();
|
|
12
44
|
}
|
|
@@ -14,33 +46,23 @@ export function getTextContent(content) {
|
|
|
14
46
|
return "";
|
|
15
47
|
}
|
|
16
48
|
switch (content.format) {
|
|
17
|
-
case "markdown":
|
|
49
|
+
case "markdown": {
|
|
18
50
|
return content.markdown;
|
|
19
|
-
|
|
51
|
+
}
|
|
52
|
+
case "code": {
|
|
20
53
|
return content.code;
|
|
21
|
-
|
|
54
|
+
}
|
|
55
|
+
case "text": {
|
|
22
56
|
return content.text;
|
|
57
|
+
}
|
|
23
58
|
case "table": {
|
|
24
59
|
const headers = content.columns.map((column) => column.header ?? column.key);
|
|
25
60
|
const rowLines = content.rows.map((row) => content.columns.map((column) => stringifyCell(row[column.key])).join("\t"));
|
|
26
61
|
return [headers.join("\t"), ...rowLines].join("\n");
|
|
27
62
|
}
|
|
28
|
-
default:
|
|
63
|
+
default: {
|
|
29
64
|
return "";
|
|
65
|
+
}
|
|
30
66
|
}
|
|
31
|
-
}
|
|
32
|
-
function stringifyCell(value) {
|
|
33
|
-
if (value == null)
|
|
34
|
-
return "";
|
|
35
|
-
if (typeof value === "string")
|
|
36
|
-
return value;
|
|
37
|
-
if (typeof value === "number" || typeof value === "boolean")
|
|
38
|
-
return String(value);
|
|
39
|
-
try {
|
|
40
|
-
return JSON.stringify(value);
|
|
41
|
-
}
|
|
42
|
-
catch {
|
|
43
|
-
return String(value);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
67
|
+
};
|
|
46
68
|
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAgHA,oBAAoB;AAEpB,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/view.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ActionDefinition } from "@tooee/commands";
|
|
2
|
+
import type { CodeBlockRenderer, MarkdownLinkHandler } from "@tooee/renderers";
|
|
3
|
+
import type { ContentProvider, ContentRenderer } from "./types.js";
|
|
4
|
+
interface ViewProps {
|
|
5
|
+
contentProvider: ContentProvider;
|
|
6
|
+
actions?: ActionDefinition[];
|
|
7
|
+
renderers?: Record<string, ContentRenderer>;
|
|
8
|
+
/**
|
|
9
|
+
* Custom renderers for fenced code blocks in markdown content, keyed by
|
|
10
|
+
* fence type (first word of the fence info string, case-insensitive).
|
|
11
|
+
*/
|
|
12
|
+
codeBlockRenderers?: Record<string, CodeBlockRenderer>;
|
|
13
|
+
/** Handles primary-button activation of inline Markdown links. */
|
|
14
|
+
onMarkdownLinkActivate?: MarkdownLinkHandler;
|
|
15
|
+
}
|
|
16
|
+
export declare const View: ({ contentProvider, actions, renderers, codeBlockRenderers, onMarkdownLinkActivate, }: ViewProps) => React.ReactNode;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../src/view.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE/E,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AASnE,UAAU,SAAS;IACjB,eAAe,EAAE,eAAe,CAAC;IACjC,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC5C;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACvD,kEAAkE;IAClE,sBAAsB,CAAC,EAAE,mBAAmB,CAAC;CAC9C;AAED,eAAO,MAAM,IAAI,GAAiB,sFAM/B,SAAS,KAAG,KAAK,CAAC,SA+EpB,CAAC"}
|
package/dist/{View.js → view.js}
RENAMED
|
@@ -2,9 +2,9 @@ import { jsx as _jsx } from "@opentui/react/jsx-runtime";
|
|
|
2
2
|
import { useCallback, useMemo, useState } from "react";
|
|
3
3
|
import { useTheme } from "@tooee/themes";
|
|
4
4
|
import { isCustomContent } from "./types.js";
|
|
5
|
-
import { useContentLoader } from "./hooks/
|
|
5
|
+
import { useContentLoader } from "./hooks/use-content-loader.js";
|
|
6
6
|
import { MarkdownSubview, CodeSubview, TableSubview, CustomSubview, } from "./components/subviews/index.js";
|
|
7
|
-
export function View({ contentProvider, actions, renderers, codeBlockRenderers }) {
|
|
7
|
+
export const View = function View({ contentProvider, actions, renderers, codeBlockRenderers, onMarkdownLinkActivate, }) {
|
|
8
8
|
const { theme } = useTheme();
|
|
9
9
|
const { content, streaming, error, providerMarks, reload } = useContentLoader(contentProvider);
|
|
10
10
|
const [userMarks, setUserMarks] = useState([]);
|
|
@@ -23,34 +23,40 @@ export function View({ contentProvider, actions, renderers, codeBlockRenderers }
|
|
|
23
23
|
// Mark sets are decoration layers; the controller composes them with the
|
|
24
24
|
// interaction layers it generates, ordered by each set's own priority.
|
|
25
25
|
const decorations = useMemo(() => [...providerMarks, ...userMarks], [providerMarks, userMarks]);
|
|
26
|
-
if (error) {
|
|
26
|
+
if ((error?.length ?? 0) > 0) {
|
|
27
27
|
return (_jsx("box", { style: { flexDirection: "column" }, children: _jsx("text", { content: `Error: ${error}`, fg: theme.error }) }));
|
|
28
28
|
}
|
|
29
29
|
if (!content) {
|
|
30
30
|
return (_jsx("box", { children: _jsx("text", { content: "Loading...", fg: theme.textMuted }) }));
|
|
31
31
|
}
|
|
32
32
|
const shared = {
|
|
33
|
+
actions,
|
|
34
|
+
clearAllUserMarks,
|
|
35
|
+
clearMarkNamespace,
|
|
33
36
|
decorations,
|
|
34
37
|
providerMarks,
|
|
35
|
-
userMarks,
|
|
36
|
-
setMarkSet,
|
|
37
|
-
clearMarkNamespace,
|
|
38
|
-
clearAllUserMarks,
|
|
39
38
|
reload,
|
|
39
|
+
setMarkSet,
|
|
40
40
|
streaming,
|
|
41
|
-
|
|
41
|
+
userMarks,
|
|
42
42
|
};
|
|
43
43
|
if (isCustomContent(content)) {
|
|
44
44
|
return _jsx(CustomSubview, { content: content, renderers: renderers, ...shared });
|
|
45
45
|
}
|
|
46
46
|
switch (content.format) {
|
|
47
|
-
case "markdown":
|
|
48
|
-
return (_jsx(MarkdownSubview, { content: content, codeBlockRenderers: codeBlockRenderers, ...shared }));
|
|
47
|
+
case "markdown": {
|
|
48
|
+
return (_jsx(MarkdownSubview, { content: content, codeBlockRenderers: codeBlockRenderers, onLinkActivate: onMarkdownLinkActivate, ...shared }));
|
|
49
|
+
}
|
|
49
50
|
case "code":
|
|
50
|
-
case "text":
|
|
51
|
+
case "text": {
|
|
51
52
|
return _jsx(CodeSubview, { content: content, ...shared });
|
|
52
|
-
|
|
53
|
+
}
|
|
54
|
+
case "table": {
|
|
53
55
|
return _jsx(TableSubview, { content: content, ...shared });
|
|
56
|
+
}
|
|
57
|
+
default: {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
54
60
|
}
|
|
55
|
-
}
|
|
56
|
-
//# sourceMappingURL=
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=view.js.map
|
package/dist/view.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view.js","sourceRoot":"","sources":["../src/view.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tooee/view",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Terminal content viewer for markdown, code, text, and tables",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cli",
|
|
@@ -37,15 +37,15 @@
|
|
|
37
37
|
"typecheck": "tsc --noEmit"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@tooee/commands": "0.
|
|
41
|
-
"@tooee/config": "0.
|
|
42
|
-
"@tooee/layout": "0.
|
|
43
|
-
"@tooee/marks": "0.
|
|
44
|
-
"@tooee/overlays": "0.
|
|
45
|
-
"@tooee/renderers": "0.
|
|
46
|
-
"@tooee/search": "0.
|
|
47
|
-
"@tooee/shell": "0.
|
|
48
|
-
"@tooee/themes": "0.
|
|
40
|
+
"@tooee/commands": "0.3.0",
|
|
41
|
+
"@tooee/config": "0.3.0",
|
|
42
|
+
"@tooee/layout": "0.3.0",
|
|
43
|
+
"@tooee/marks": "0.3.0",
|
|
44
|
+
"@tooee/overlays": "0.3.0",
|
|
45
|
+
"@tooee/renderers": "0.3.0",
|
|
46
|
+
"@tooee/search": "0.3.0",
|
|
47
|
+
"@tooee/shell": "0.3.0",
|
|
48
|
+
"@tooee/themes": "0.3.0",
|
|
49
49
|
"@xstate/store": "^4",
|
|
50
50
|
"@xstate/store-react": "^2",
|
|
51
51
|
"marked": "^17.0.4"
|