@brett_lamy/docstream 1.2.4 → 1.4.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 +76 -14
- package/dist/assets.d.ts +3 -0
- package/dist/assets.d.ts.map +1 -0
- package/dist/assets.js +20 -0
- package/dist/assets.js.map +1 -0
- package/dist/demo/DemoViewer.d.ts +64 -0
- package/dist/demo/DemoViewer.d.ts.map +1 -0
- package/dist/demo/DemoViewer.js +426 -0
- package/dist/demo/DemoViewer.js.map +1 -0
- package/dist/demo/context.d.ts +14 -0
- package/dist/demo/context.d.ts.map +1 -0
- package/dist/demo/context.js +25 -0
- package/dist/demo/context.js.map +1 -0
- package/dist/demo/glob.d.ts +60 -0
- package/dist/demo/glob.d.ts.map +1 -0
- package/dist/demo/glob.js +158 -0
- package/dist/demo/glob.js.map +1 -0
- package/dist/demo/index.d.ts +10 -0
- package/dist/demo/index.d.ts.map +1 -0
- package/dist/demo/index.js +6 -0
- package/dist/demo/index.js.map +1 -0
- package/dist/demo/markdown.d.ts +60 -0
- package/dist/demo/markdown.d.ts.map +1 -0
- package/dist/demo/markdown.js +181 -0
- package/dist/demo/markdown.js.map +1 -0
- package/dist/demo/surface.d.ts +11 -0
- package/dist/demo/surface.d.ts.map +1 -0
- package/dist/demo/surface.js +69 -0
- package/dist/demo/surface.js.map +1 -0
- package/dist/demo/types.d.ts +91 -0
- package/dist/demo/types.d.ts.map +1 -0
- package/dist/demo/types.js +2 -0
- package/dist/demo/types.js.map +1 -0
- package/dist/docs/CollapsibleCode.d.ts +14 -0
- package/dist/docs/CollapsibleCode.d.ts.map +1 -0
- package/dist/docs/CollapsibleCode.js +19 -0
- package/dist/docs/CollapsibleCode.js.map +1 -0
- package/dist/docs/DocsRenderer.d.ts +49 -0
- package/dist/docs/DocsRenderer.d.ts.map +1 -0
- package/dist/docs/DocsRenderer.js +277 -0
- package/dist/docs/DocsRenderer.js.map +1 -0
- package/dist/docs/HighlightedCode.d.ts +6 -0
- package/dist/docs/HighlightedCode.d.ts.map +1 -0
- package/dist/docs/HighlightedCode.js +40 -0
- package/dist/docs/HighlightedCode.js.map +1 -0
- package/dist/docs/Mermaid.d.ts +7 -0
- package/dist/docs/Mermaid.d.ts.map +1 -0
- package/dist/docs/Mermaid.js +39 -0
- package/dist/docs/Mermaid.js.map +1 -0
- package/dist/docs/PageActions.d.ts +33 -0
- package/dist/docs/PageActions.d.ts.map +1 -0
- package/dist/docs/PageActions.js +115 -0
- package/dist/docs/PageActions.js.map +1 -0
- package/dist/docs/controls.d.ts +29 -0
- package/dist/docs/controls.d.ts.map +1 -0
- package/dist/docs/controls.js +46 -0
- package/dist/docs/controls.js.map +1 -0
- package/dist/docs/copy.d.ts +24 -0
- package/dist/docs/copy.d.ts.map +1 -0
- package/dist/docs/copy.js +62 -0
- package/dist/docs/copy.js.map +1 -0
- package/dist/docs/math.d.ts +3 -0
- package/dist/docs/math.d.ts.map +1 -0
- package/dist/docs/math.js +12 -0
- package/dist/docs/math.js.map +1 -0
- package/dist/docs/reference.d.ts +27 -0
- package/dist/docs/reference.d.ts.map +1 -0
- package/dist/docs/reference.js +73 -0
- package/dist/docs/reference.js.map +1 -0
- package/dist/docs/tabs-sync.d.ts +5 -0
- package/dist/docs/tabs-sync.d.ts.map +1 -0
- package/dist/docs/tabs-sync.js +58 -0
- package/dist/docs/tabs-sync.js.map +1 -0
- package/dist/gitbook/ast.d.ts +506 -0
- package/dist/gitbook/ast.d.ts.map +1 -0
- package/dist/gitbook/ast.js +8 -0
- package/dist/gitbook/ast.js.map +1 -0
- package/dist/gitbook/attrs.d.ts +14 -0
- package/dist/gitbook/attrs.d.ts.map +1 -0
- package/dist/gitbook/attrs.js +36 -0
- package/dist/gitbook/attrs.js.map +1 -0
- package/dist/gitbook/flatten.d.ts +14 -0
- package/dist/gitbook/flatten.d.ts.map +1 -0
- package/dist/gitbook/flatten.js +45 -0
- package/dist/gitbook/flatten.js.map +1 -0
- package/dist/gitbook/index.d.ts +10 -0
- package/dist/gitbook/index.d.ts.map +1 -0
- package/dist/gitbook/index.js +8 -0
- package/dist/gitbook/index.js.map +1 -0
- package/dist/gitbook/inline.d.ts +28 -0
- package/dist/gitbook/inline.d.ts.map +1 -0
- package/dist/gitbook/inline.js +956 -0
- package/dist/gitbook/inline.js.map +1 -0
- package/dist/gitbook/outline.d.ts +16 -0
- package/dist/gitbook/outline.d.ts.map +1 -0
- package/dist/gitbook/outline.js +44 -0
- package/dist/gitbook/outline.js.map +1 -0
- package/dist/gitbook/package-managers.d.ts +12 -0
- package/dist/gitbook/package-managers.d.ts.map +1 -0
- package/dist/gitbook/package-managers.js +93 -0
- package/dist/gitbook/package-managers.js.map +1 -0
- package/dist/gitbook/parse.d.ts +44 -0
- package/dist/gitbook/parse.d.ts.map +1 -0
- package/dist/gitbook/parse.js +1113 -0
- package/dist/gitbook/parse.js.map +1 -0
- package/dist/gitbook/serialize.d.ts +23 -0
- package/dist/gitbook/serialize.d.ts.map +1 -0
- package/dist/gitbook/serialize.js +498 -0
- package/dist/gitbook/serialize.js.map +1 -0
- package/dist/index.d.ts +34 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/dist/openapi/OpenApiOperation.d.ts +6 -0
- package/dist/openapi/OpenApiOperation.d.ts.map +1 -0
- package/dist/openapi/OpenApiOperation.js +112 -0
- package/dist/openapi/OpenApiOperation.js.map +1 -0
- package/dist/playground/InlineDemoPreview.d.ts +24 -0
- package/dist/playground/InlineDemoPreview.d.ts.map +1 -0
- package/dist/playground/InlineDemoPreview.js +48 -0
- package/dist/playground/InlineDemoPreview.js.map +1 -0
- package/dist/playground/PlaygroundStreamdown.d.ts +16 -0
- package/dist/playground/PlaygroundStreamdown.d.ts.map +1 -0
- package/dist/playground/PlaygroundStreamdown.js +22 -0
- package/dist/playground/PlaygroundStreamdown.js.map +1 -0
- package/dist/playground/ReactCodePreview.d.ts +64 -0
- package/dist/playground/ReactCodePreview.d.ts.map +1 -0
- package/dist/playground/ReactCodePreview.js +108 -0
- package/dist/playground/ReactCodePreview.js.map +1 -0
- package/dist/playground/filesystem.d.ts +27 -0
- package/dist/playground/filesystem.d.ts.map +1 -0
- package/dist/playground/filesystem.js +65 -0
- package/dist/playground/filesystem.js.map +1 -0
- package/dist/playground/index.d.ts +9 -0
- package/dist/playground/index.d.ts.map +1 -0
- package/dist/playground/index.js +7 -0
- package/dist/playground/index.js.map +1 -0
- package/dist/playground/project.d.ts +57 -0
- package/dist/playground/project.d.ts.map +1 -0
- package/dist/playground/project.js +137 -0
- package/dist/playground/project.js.map +1 -0
- package/dist/replay/NativeReplay.d.ts +9 -0
- package/dist/replay/NativeReplay.d.ts.map +1 -0
- package/dist/replay/NativeReplay.js +173 -0
- package/dist/replay/NativeReplay.js.map +1 -0
- package/dist/replay/ReplayPreview.d.ts +33 -0
- package/dist/replay/ReplayPreview.d.ts.map +1 -0
- package/dist/replay/ReplayPreview.js +91 -0
- package/dist/replay/ReplayPreview.js.map +1 -0
- package/dist/replay/index.d.ts +5 -0
- package/dist/replay/index.d.ts.map +1 -0
- package/dist/replay/index.js +4 -0
- package/dist/replay/index.js.map +1 -0
- package/dist/replay/sanitize.d.ts +4 -0
- package/dist/replay/sanitize.d.ts.map +1 -0
- package/dist/replay/sanitize.js +86 -0
- package/dist/replay/sanitize.js.map +1 -0
- package/dist/replay/url.d.ts +8 -0
- package/dist/replay/url.d.ts.map +1 -0
- package/dist/replay/url.js +41 -0
- package/dist/replay/url.js.map +1 -0
- package/dist/source/SourcePreview.d.ts +13 -0
- package/dist/source/SourcePreview.d.ts.map +1 -0
- package/dist/source/SourcePreview.js +47 -0
- package/dist/source/SourcePreview.js.map +1 -0
- package/dist/source/client.d.ts +7 -0
- package/dist/source/client.d.ts.map +1 -0
- package/dist/source/client.js +52 -0
- package/dist/source/client.js.map +1 -0
- package/dist/source/index.d.ts +6 -0
- package/dist/source/index.d.ts.map +1 -0
- package/dist/source/index.js +3 -0
- package/dist/source/index.js.map +1 -0
- package/dist/source/types.d.ts +33 -0
- package/dist/source/types.d.ts.map +1 -0
- package/dist/source/types.js +2 -0
- package/dist/source/types.js.map +1 -0
- package/dist/streamdown.d.ts +19 -0
- package/dist/streamdown.d.ts.map +1 -0
- package/dist/streamdown.js +15 -0
- package/dist/streamdown.js.map +1 -0
- package/dist/styles.css +2441 -0
- package/dist/video/VideoEmbed.d.ts +17 -0
- package/dist/video/VideoEmbed.d.ts.map +1 -0
- package/dist/video/VideoEmbed.js +12 -0
- package/dist/video/VideoEmbed.js.map +1 -0
- package/dist/video/index.d.ts +3 -0
- package/dist/video/index.d.ts.map +1 -0
- package/dist/video/index.js +2 -0
- package/dist/video/index.js.map +1 -0
- package/dist/vite/index.d.ts +21 -0
- package/dist/vite/index.d.ts.map +1 -0
- package/dist/vite/index.js +137 -0
- package/dist/vite/index.js.map +1 -0
- package/dist/viz/VizEmbed.d.ts +18 -0
- package/dist/viz/VizEmbed.d.ts.map +1 -0
- package/dist/viz/VizEmbed.js +12 -0
- package/dist/viz/VizEmbed.js.map +1 -0
- package/dist/viz/index.d.ts +4 -0
- package/dist/viz/index.d.ts.map +1 -0
- package/dist/viz/index.js +3 -0
- package/dist/viz/index.js.map +1 -0
- package/package.json +70 -34
- package/src/demo/types.ts +2 -2
- package/src/docs/DocsRenderer.tsx +31 -7
- package/src/docs/Mermaid.tsx +5 -3
- package/src/docs/math.ts +3 -0
- package/src/index.ts +10 -28
- package/src/playground/PlaygroundStreamdown.tsx +28 -61
- package/src/playground/filesystem.ts +10 -190
- package/src/playground/index.ts +4 -0
- package/src/playground/project.ts +194 -0
- package/src/replay/NativeReplay.tsx +236 -0
- package/src/replay/ReplayPreview.tsx +7 -226
- package/src/styles.css +91 -1
- package/src/replay/styles.css +0 -87
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/gitbook/serialize.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export { GitbookStreamdown } from "./streamdown.js";
|
|
2
|
+
export type { GitbookStreamdownProps } from "./streamdown.js";
|
|
3
|
+
export { DocsRenderer, MarkdownContent } from "./docs/DocsRenderer.js";
|
|
4
|
+
export type { DocRenderOptions, LivePreviewProps, LivePreviewRenderer, SourceReferenceRenderer } from "./docs/DocsRenderer.js";
|
|
5
|
+
export { DocPageActions } from "./docs/PageActions.js";
|
|
6
|
+
export type { DocPageAction, DocPageActionsOptions, DocPageActionsProps } from "./docs/PageActions.js";
|
|
7
|
+
export { CollapsibleCode } from "./docs/CollapsibleCode.js";
|
|
8
|
+
export type { CollapsibleCodeProps } from "./docs/CollapsibleCode.js";
|
|
9
|
+
export { CopyButton, copyText } from "./docs/copy.js";
|
|
10
|
+
export { getSyncedTab, setSyncedTab, useSyncedTab } from "./docs/tabs-sync.js";
|
|
11
|
+
export { DemoBlock, DemoFullscreen, DemoViewer, DocstreamDemoContext, DocstreamDemoRuntimeContext, createGlobDemoResolver, defaultDemoMarkdown, inlineDemoMarkdown, inlineDemoNode, demoComponentFrom, demoFromSearch, demoHref, preloadDemos, resolveDemosToMarkdown, sortDemoFiles, toInlineFiles, useDemoResolver, useDemoRuntime, } from "./demo/index.js";
|
|
12
|
+
export type { DemoComponent, DemoComponentProps, DemoFile, DemoFullscreenProps, DemoMarkdownFormat, DemoMeta, DemoResolver, DemoRuntimeOptions, DemoVariant, DemoViewerProps, GlobDemoResolverOptions, InlineDemoRuntime, InlineDemoRuntimeProps, ResolveDemosOptions, ResolvedDemo, } from "./demo/index.js";
|
|
13
|
+
export { CitationSources, DocstreamRefContext, InlineReference } from "./docs/reference.js";
|
|
14
|
+
export type { CitationPreview, CitationPreviewResolver, DocstreamRefContextValue } from "./docs/reference.js";
|
|
15
|
+
export { ReplayEmbed, ReplayPreview } from "./replay/ReplayPreview.js";
|
|
16
|
+
export type { ReplayEventsSource, ReplayEventsUrlSource, ReplayPageSource, ReplayPreviewProps, ReplaySource, } from "./replay/ReplayPreview.js";
|
|
17
|
+
export { isReplayQaUrl, normalizeReplayEmbedUrl } from "./replay/url.js";
|
|
18
|
+
export { VideoEmbed } from "./video/index.js";
|
|
19
|
+
export type { VideoEmbedProps } from "./video/index.js";
|
|
20
|
+
export { OpenApiOperation } from "./openapi/OpenApiOperation.js";
|
|
21
|
+
export { createInlineDemoProject, createReactDemoFiles } from "./playground/project.js";
|
|
22
|
+
export type { AlmostNodeFile, AlmostNodeFileContent, AlmostNodeFiles, InlineDemoProject, InlineDemoProjectOptions, ReactDemoFilesOptions, } from "./playground/project.js";
|
|
23
|
+
export { resolveAsset, setAssetBase } from "./assets.js";
|
|
24
|
+
export { createBundledSourceClient, createViteSourceClient, SourcePreview } from "./source/index.js";
|
|
25
|
+
export type { BundledSourceModule, SourceFileSnapshot, SourceModule, SourcePreviewProps, SourceProvenance, SourceReferenceClient, } from "./source/index.js";
|
|
26
|
+
export { parseDemoVariants, parseMarkdown, parseBlocks, trimPartialInlineToken } from "./gitbook/parse.js";
|
|
27
|
+
export { fenceFor, serializeBlocks, serializeDemoFile, serializeMarkdown } from "./gitbook/serialize.js";
|
|
28
|
+
export { defaultInlineDelims, footnoteDefinitions, inlineDelims, parseInline, plainText, refDefinitions, serializeInline, serializeReference, } from "./gitbook/inline.js";
|
|
29
|
+
export type * from "./gitbook/ast.js";
|
|
30
|
+
export { PACKAGE_MANAGERS, packageManagerCommands } from "./gitbook/package-managers.js";
|
|
31
|
+
export { flattenBlocks, flattenForPlainMarkdown } from "./gitbook/flatten.js";
|
|
32
|
+
export { documentOutline, slugify } from "./gitbook/outline.js";
|
|
33
|
+
export type { OutlineEntry } from "./gitbook/outline.js";
|
|
34
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,YAAY,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACnE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC3H,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,YAAY,EAAE,aAAa,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACnG,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,YAAY,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC3E,OAAO,EACL,SAAS,EACT,cAAc,EACd,UAAU,EACV,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,sBAAsB,EACtB,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,GACf,MAAM,QAAQ,CAAA;AACf,YAAY,EACV,aAAa,EACb,kBAAkB,EAClB,QAAQ,EACR,mBAAmB,EACnB,kBAAkB,EAClB,QAAQ,EACR,YAAY,EACZ,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,YAAY,GACb,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACxF,YAAY,EAAE,eAAe,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AAC1G,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACnE,YAAY,EACV,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,GACb,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AACpF,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACrD,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAC3F,YAAY,EACV,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AACvG,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACrG,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,SAAS,EACT,cAAc,EACd,eAAe,EACf,kBAAkB,GACnB,MAAM,kBAAkB,CAAA;AACzB,mBAAmB,eAAe,CAAA;AAClC,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AACrF,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAC1E,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC5D,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// The root entry never references `@agent-wasm/core` (almost-node). Live code fences and
|
|
2
|
+
// inline-file demos run only when the host passes a runtime — see `@brett_lamy/docstream/playground`.
|
|
3
|
+
export { GitbookStreamdown } from "./streamdown.js";
|
|
4
|
+
export { DocsRenderer, MarkdownContent } from "./docs/DocsRenderer.js";
|
|
5
|
+
export { DocPageActions } from "./docs/PageActions.js";
|
|
6
|
+
export { CollapsibleCode } from "./docs/CollapsibleCode.js";
|
|
7
|
+
export { CopyButton, copyText } from "./docs/copy.js";
|
|
8
|
+
export { getSyncedTab, setSyncedTab, useSyncedTab } from "./docs/tabs-sync.js";
|
|
9
|
+
export { DemoBlock, DemoFullscreen, DemoViewer, DocstreamDemoContext, DocstreamDemoRuntimeContext, createGlobDemoResolver, defaultDemoMarkdown, inlineDemoMarkdown, inlineDemoNode, demoComponentFrom, demoFromSearch, demoHref, preloadDemos, resolveDemosToMarkdown, sortDemoFiles, toInlineFiles, useDemoResolver, useDemoRuntime, } from "./demo/index.js";
|
|
10
|
+
export { CitationSources, DocstreamRefContext, InlineReference } from "./docs/reference.js";
|
|
11
|
+
export { ReplayEmbed, ReplayPreview } from "./replay/ReplayPreview.js";
|
|
12
|
+
export { isReplayQaUrl, normalizeReplayEmbedUrl } from "./replay/url.js";
|
|
13
|
+
export { VideoEmbed } from "./video/index.js";
|
|
14
|
+
export { OpenApiOperation } from "./openapi/OpenApiOperation.js";
|
|
15
|
+
export { createInlineDemoProject, createReactDemoFiles } from "./playground/project.js";
|
|
16
|
+
export { resolveAsset, setAssetBase } from "./assets.js";
|
|
17
|
+
export { createBundledSourceClient, createViteSourceClient, SourcePreview } from "./source/index.js";
|
|
18
|
+
export { parseDemoVariants, parseMarkdown, parseBlocks, trimPartialInlineToken } from "./gitbook/parse.js";
|
|
19
|
+
export { fenceFor, serializeBlocks, serializeDemoFile, serializeMarkdown } from "./gitbook/serialize.js";
|
|
20
|
+
export { defaultInlineDelims, footnoteDefinitions, inlineDelims, parseInline, plainText, refDefinitions, serializeInline, serializeReference, } from "./gitbook/inline.js";
|
|
21
|
+
export { PACKAGE_MANAGERS, packageManagerCommands } from "./gitbook/package-managers.js";
|
|
22
|
+
export { flattenBlocks, flattenForPlainMarkdown } from "./gitbook/flatten.js";
|
|
23
|
+
export { documentOutline, slugify } from "./gitbook/outline.js";
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,sGAAsG;AACtG,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAEhD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC3E,OAAO,EACL,SAAS,EACT,cAAc,EACd,UAAU,EACV,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,sBAAsB,EACtB,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,GACf,MAAM,QAAQ,CAAA;AAkBf,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAExF,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAQnE,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AASpF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACrD,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAS3F,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AACvG,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACrG,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,SAAS,EACT,cAAc,EACd,eAAe,EACf,kBAAkB,GACnB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AACrF,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAC1E,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenApiOperation.d.ts","sourceRoot":"","sources":["../../src/openapi/OpenApiOperation.tsx"],"names":[],"mappings":"AAyFA,wBAAgB,gBAAgB,CAAC,EAC/B,OAAO,EACP,IAAI,EACJ,MAAM,GACP,EAAE;IACD,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;CACf,+BA4IA"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useState } from "react";
|
|
3
|
+
import { parse as parseYaml } from "yaml";
|
|
4
|
+
import { MarkdownContent } from "../docs/DocsRenderer.js";
|
|
5
|
+
import { HighlightedCode } from "../docs/HighlightedCode.js";
|
|
6
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
7
|
+
const specCache = new Map();
|
|
8
|
+
function loadSpec(url) {
|
|
9
|
+
if (!specCache.has(url)) {
|
|
10
|
+
specCache.set(url, fetch(url)
|
|
11
|
+
.then((r) => {
|
|
12
|
+
if (!r.ok)
|
|
13
|
+
throw new Error(`Failed to load spec (${r.status})`);
|
|
14
|
+
return r.text();
|
|
15
|
+
})
|
|
16
|
+
.then((text) => (text.trimStart().startsWith("{") ? JSON.parse(text) : parseYaml(text))));
|
|
17
|
+
}
|
|
18
|
+
return specCache.get(url);
|
|
19
|
+
}
|
|
20
|
+
function resolveRef(spec, node) {
|
|
21
|
+
if (node && typeof node === "object" && typeof node.$ref === "string") {
|
|
22
|
+
const parts = node.$ref.replace(/^#\//, "").split("/");
|
|
23
|
+
let cur = spec;
|
|
24
|
+
for (const p of parts)
|
|
25
|
+
cur = cur?.[p];
|
|
26
|
+
return resolveRef(spec, cur);
|
|
27
|
+
}
|
|
28
|
+
return node;
|
|
29
|
+
}
|
|
30
|
+
function exampleFromSchema(spec, schema, depth = 0) {
|
|
31
|
+
schema = resolveRef(spec, schema);
|
|
32
|
+
if (!schema || depth > 4)
|
|
33
|
+
return null;
|
|
34
|
+
if (schema.example !== undefined)
|
|
35
|
+
return schema.example;
|
|
36
|
+
if (schema.type === "array")
|
|
37
|
+
return [exampleFromSchema(spec, schema.items, depth + 1)];
|
|
38
|
+
if (schema.type === "object" || schema.properties) {
|
|
39
|
+
const obj = {};
|
|
40
|
+
for (const [k, v] of Object.entries(schema.properties ?? {})) {
|
|
41
|
+
obj[k] = exampleFromSchema(spec, v, depth + 1);
|
|
42
|
+
}
|
|
43
|
+
return obj;
|
|
44
|
+
}
|
|
45
|
+
if (schema.enum?.length)
|
|
46
|
+
return schema.enum[0];
|
|
47
|
+
switch (schema.type) {
|
|
48
|
+
case "integer":
|
|
49
|
+
case "number":
|
|
50
|
+
return 1;
|
|
51
|
+
case "boolean":
|
|
52
|
+
return true;
|
|
53
|
+
default:
|
|
54
|
+
return "string";
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
function SchemaFields({ spec, schema }) {
|
|
58
|
+
schema = resolveRef(spec, schema);
|
|
59
|
+
if (schema?.type === "array")
|
|
60
|
+
schema = resolveRef(spec, schema.items);
|
|
61
|
+
const props = Object.entries(schema?.properties ?? {});
|
|
62
|
+
if (!props.length)
|
|
63
|
+
return null;
|
|
64
|
+
const required = schema.required ?? [];
|
|
65
|
+
return (_jsx("div", { className: "oas-fields", children: props.map(([name, raw]) => {
|
|
66
|
+
const p = resolveRef(spec, raw);
|
|
67
|
+
return (_jsxs("div", { className: "oas-field", children: [_jsxs("div", { children: [_jsx("code", { className: "oas-field-name", children: name }), " ", _jsxs("span", { className: "oas-field-type", children: [p.type ?? "object", p.format ? ` · ${p.format}` : ""] }), " ", _jsx("span", { className: required.includes(name) ? "oas-required" : "oas-optional", children: required.includes(name) ? "required" : "optional" })] }), p.description && _jsx("p", { className: "oas-field-desc", children: p.description })] }, name));
|
|
68
|
+
}) }));
|
|
69
|
+
}
|
|
70
|
+
export function OpenApiOperation({ specUrl, path, method, }) {
|
|
71
|
+
const [spec, setSpec] = useState(null);
|
|
72
|
+
const [error, setError] = useState(null);
|
|
73
|
+
useEffect(() => {
|
|
74
|
+
if (!specUrl)
|
|
75
|
+
return;
|
|
76
|
+
setSpec(null);
|
|
77
|
+
setError(null);
|
|
78
|
+
loadSpec(specUrl)
|
|
79
|
+
.then(setSpec)
|
|
80
|
+
.catch((e) => setError(String(e.message ?? e)));
|
|
81
|
+
}, [specUrl]);
|
|
82
|
+
if (!specUrl)
|
|
83
|
+
return _jsx("div", { className: "oas oas-empty", children: "Set an OpenAPI spec URL\u2026" });
|
|
84
|
+
if (error)
|
|
85
|
+
return _jsxs("div", { className: "oas oas-empty", children: ["\u26A0\uFE0E ", error] });
|
|
86
|
+
if (!spec)
|
|
87
|
+
return _jsx("div", { className: "oas oas-empty", children: "Loading OpenAPI spec\u2026" });
|
|
88
|
+
const op = spec.paths?.[path]?.[method.toLowerCase()];
|
|
89
|
+
if (!op) {
|
|
90
|
+
return (_jsxs("div", { className: "oas oas-empty", children: ["Operation ", method.toUpperCase(), " ", path, " not found in spec."] }));
|
|
91
|
+
}
|
|
92
|
+
const server = spec.servers?.[0]?.url ?? "";
|
|
93
|
+
const security = op.security ?? spec.security ?? [];
|
|
94
|
+
const schemes = Object.entries(spec.components?.securitySchemes ?? {}).filter(([name]) => security.some((s) => name in s));
|
|
95
|
+
const responses = Object.entries(op.responses ?? {});
|
|
96
|
+
const okResponse = responses.find(([code]) => code.startsWith("2"))?.[1];
|
|
97
|
+
const okSchema = okResponse?.content?.["application/json"]?.schema;
|
|
98
|
+
const example = okSchema ? exampleFromSchema(spec, okSchema) : null;
|
|
99
|
+
const curl = [
|
|
100
|
+
`curl -L ${server}${path} \\`,
|
|
101
|
+
...(schemes.length ? [` -H 'Authorization: Bearer YOUR_API_KEY'`] : []),
|
|
102
|
+
].join("\n");
|
|
103
|
+
return (_jsxs("div", { className: "oas", children: [_jsx("h3", { className: "oas-title", children: op.summary ?? `${method.toUpperCase()} ${path}` }), _jsxs("div", { className: "oas-endpoint", children: [_jsx("span", { className: `oas-method oas-method-${method.toLowerCase()}`, children: method.toUpperCase() }), server && _jsx("span", { className: "oas-server", children: server }), _jsx("code", { className: "oas-path", children: path })] }), op.description && (_jsx("div", { className: "oas-desc", children: _jsx(MarkdownContent, { markdown: op.description }) })), schemes.length > 0 && (_jsxs("section", { className: "oas-section", children: [_jsx("h4", { children: "Authorizations" }), schemes.map(([name, s]) => (_jsxs("div", { className: "oas-field", children: [_jsxs("div", { children: [_jsx("code", { className: "oas-field-name", children: s.name ?? "Authorization" }), " ", _jsx("span", { className: "oas-field-type", children: s.type }), " ", _jsx("span", { className: "oas-required", children: "required" })] }), s.description && _jsx("p", { className: "oas-field-desc", children: s.description })] }, name)))] })), (op.parameters?.length ?? 0) > 0 && (_jsxs("section", { className: "oas-section", children: [_jsx("h4", { children: "Parameters" }), op.parameters.map((raw, i) => {
|
|
104
|
+
const p = resolveRef(spec, raw);
|
|
105
|
+
return (_jsxs("div", { className: "oas-field", children: [_jsxs("div", { children: [_jsx("code", { className: "oas-field-name", children: p.name }), " ", _jsxs("span", { className: "oas-field-type", children: [p.schema?.type ?? "string", " \u00B7 ", p.in] }), " ", _jsx("span", { className: p.required ? "oas-required" : "oas-optional", children: p.required ? "required" : "optional" })] }), p.description && _jsx("p", { className: "oas-field-desc", children: p.description })] }, i));
|
|
106
|
+
})] })), _jsxs("section", { className: "oas-section", children: [_jsx("h4", { children: "Responses" }), responses.map(([code, raw]) => {
|
|
107
|
+
const r = resolveRef(spec, raw);
|
|
108
|
+
const schema = r.content?.["application/json"]?.schema;
|
|
109
|
+
return (_jsxs("details", { className: "oas-response", open: code.startsWith("2"), children: [_jsxs("summary", { children: [_jsx("span", { className: `oas-code oas-code-${code[0]}`, children: code }), _jsx("span", { children: r.description })] }), schema && _jsx(SchemaFields, { spec: spec, schema: schema })] }, code));
|
|
110
|
+
})] }), _jsxs("section", { className: "oas-section oas-samples", children: [_jsxs("div", { className: "oas-sample", children: [_jsxs("div", { className: "oas-sample-head", children: [_jsx("span", { className: `oas-method oas-method-${method.toLowerCase()}`, children: method.toUpperCase() }), _jsx("code", { children: path }), _jsx("span", { className: "oas-sample-label", children: "cURL" })] }), _jsx("pre", { children: _jsx(HighlightedCode, { code: curl, language: "bash" }) })] }), example !== null && (_jsxs("div", { className: "oas-sample", children: [_jsxs("div", { className: "oas-sample-head", children: [_jsx("span", { className: "oas-code oas-code-2", children: "200" }), _jsx("span", { children: okResponse?.description })] }), _jsx("pre", { children: _jsx(HighlightedCode, { code: JSON.stringify(example, null, 2), language: "json" }) })] }))] })] }));
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=OpenApiOperation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenApiOperation.js","sourceRoot":"","sources":["../../src/openapi/OpenApiOperation.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { InlineDemoRuntime, InlineDemoRuntimeProps } from "../demo/types.js";
|
|
2
|
+
import { type AlmostNodeWorkspaceOptions } from "./filesystem.js";
|
|
3
|
+
export interface InlineDemoPreviewProps extends InlineDemoRuntimeProps {
|
|
4
|
+
/** Preferred virtual port. almost-node picks the next free one if taken. */
|
|
5
|
+
port?: number;
|
|
6
|
+
/** iframe sandbox value (same-origin lets the almost-node service worker route it). */
|
|
7
|
+
sandbox?: string;
|
|
8
|
+
/** Extra options for `createAlmostNodeWorkspace` (e.g. `basePath` for static hosting). */
|
|
9
|
+
workspaceOptions?: Partial<AlmostNodeWorkspaceOptions>;
|
|
10
|
+
}
|
|
11
|
+
export declare function InlineDemoPreview({ title, files, entry, variant, dependencies, port, sandbox, workspaceOptions, }: InlineDemoPreviewProps): import("react").JSX.Element;
|
|
12
|
+
export interface AlmostNodeDemoRuntimeOptions {
|
|
13
|
+
port?: number;
|
|
14
|
+
sandbox?: string;
|
|
15
|
+
workspaceOptions?: Partial<AlmostNodeWorkspaceOptions>;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* An `InlineDemoRuntime` backed by almost-node (`@agent-wasm/core`, loaded lazily on first
|
|
19
|
+
* use). Pass it as `demoRuntime`; `PlaygroundStreamdown` uses one with default options.
|
|
20
|
+
*/
|
|
21
|
+
export declare function createAlmostNodeDemoRuntime(options?: AlmostNodeDemoRuntimeOptions): InlineDemoRuntime;
|
|
22
|
+
/** The default almost-node runtime (no base path, port 4173+). */
|
|
23
|
+
export declare const almostNodeDemoRuntime: InlineDemoRuntime;
|
|
24
|
+
//# sourceMappingURL=InlineDemoPreview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InlineDemoPreview.d.ts","sourceRoot":"","sources":["../../src/playground/InlineDemoPreview.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAY,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AACxF,OAAO,EAA2B,KAAK,0BAA0B,EAAE,MAAM,cAAc,CAAA;AAGvF,MAAM,WAAW,sBAAuB,SAAQ,sBAAsB;IACpE,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,uFAAuF;IACvF,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,0FAA0F;IAC1F,gBAAgB,CAAC,EAAE,OAAO,CAAC,0BAA0B,CAAC,CAAA;CACvD;AAMD,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,KAAK,EACL,KAAK,EACL,OAAO,EACP,YAAY,EACZ,IAAW,EACX,OAAoE,EACpE,gBAAgB,GACjB,EAAE,sBAAsB,+BA4BxB;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAC,0BAA0B,CAAC,CAAA;CACvD;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,GAAE,4BAAiC,GAAG,iBAAiB,CAEzG;AAED,kEAAkE;AAClE,eAAO,MAAM,qBAAqB,EAAE,iBAAiD,CAAA"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
/* Runs a `{% demo %}` block's inline files in almost-node — the Preview of a pasted,
|
|
3
|
+
self-contained demo when no resolver knows it. Just the iframe: the DemoViewer around it
|
|
4
|
+
supplies the header, variants, viewports, Code view and fullscreen. */
|
|
5
|
+
import { useMemo } from "react";
|
|
6
|
+
import { createInlineDemoProject } from "./filesystem.js";
|
|
7
|
+
import { useAlmostNodeServer } from "./ReactCodePreview.js";
|
|
8
|
+
function filesKey(files, entry, dependencies) {
|
|
9
|
+
return JSON.stringify([entry, dependencies ?? null, files.map((f) => [f.path, f.content])]);
|
|
10
|
+
}
|
|
11
|
+
export function InlineDemoPreview({ title, files, entry, variant, dependencies, port = 4173, sandbox = "allow-scripts allow-same-origin allow-forms allow-modals", workspaceOptions, }) {
|
|
12
|
+
// Content-keyed so re-renders (variant switches, parent state) never restart Vite.
|
|
13
|
+
const key = filesKey(files, entry, dependencies);
|
|
14
|
+
const project = useMemo(() => {
|
|
15
|
+
try {
|
|
16
|
+
return { value: createInlineDemoProject(files, { entry, dependencies }) };
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
return { error: error instanceof Error ? error.message : String(error) };
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
23
|
+
[key]);
|
|
24
|
+
const { state, url, error } = useAlmostNodeServer({
|
|
25
|
+
files: project.value?.files ?? {},
|
|
26
|
+
port,
|
|
27
|
+
run: project.value ? 1 : 0,
|
|
28
|
+
workspaceOptions,
|
|
29
|
+
});
|
|
30
|
+
const message = project.error ?? error;
|
|
31
|
+
if (message)
|
|
32
|
+
return _jsx("pre", { className: "docs-demo-error", role: "alert", children: message });
|
|
33
|
+
if (state !== "ready" || !url) {
|
|
34
|
+
return _jsx("div", { className: "docs-demo-runtime-status", role: "status", children: "Starting almost-node\u2026" });
|
|
35
|
+
}
|
|
36
|
+
const src = project.value?.wrapped && variant !== undefined ? `${url}?variant=${encodeURIComponent(variant)}` : url;
|
|
37
|
+
return _jsx("iframe", { title: title, className: "docs-demo-runtime-frame", src: src, sandbox: sandbox }, src);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* An `InlineDemoRuntime` backed by almost-node (`@agent-wasm/core`, loaded lazily on first
|
|
41
|
+
* use). Pass it as `demoRuntime`; `PlaygroundStreamdown` uses one with default options.
|
|
42
|
+
*/
|
|
43
|
+
export function createAlmostNodeDemoRuntime(options = {}) {
|
|
44
|
+
return (props) => _jsx(InlineDemoPreview, { ...props, ...options });
|
|
45
|
+
}
|
|
46
|
+
/** The default almost-node runtime (no base path, port 4173+). */
|
|
47
|
+
export const almostNodeDemoRuntime = createAlmostNodeDemoRuntime();
|
|
48
|
+
//# sourceMappingURL=InlineDemoPreview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InlineDemoPreview.js","sourceRoot":"","sources":["../../src/playground/InlineDemoPreview.tsx"],"names":[],"mappings":";AAAA;;yEAEyE;AACzE,OAAO,EAAE,OAAO,EAAkB,MAAM,OAAO,CAAA;AAG/C,OAAO,EAAE,uBAAuB,EAAmC,MAAM,cAAc,CAAA;AACvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAWxD,SAAS,QAAQ,CAAC,KAAiB,EAAE,KAAa,EAAE,YAAgD;IAClG,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,YAAY,IAAI,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;AAC7F,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAChC,KAAK,EACL,KAAK,EACL,KAAK,EACL,OAAO,EACP,YAAY,EACZ,IAAI,GAAG,IAAI,EACX,OAAO,GAAG,0DAA0D,EACpE,gBAAgB,GACO;IACvB,mFAAmF;IACnF,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;IAChD,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,EAAE;QACH,IAAI,CAAC;YACH,OAAO,EAAE,KAAK,EAAE,uBAAuB,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,CAAA;QAC3E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;QAC1E,CAAC;IACH,CAAC;IACD,uDAAuD;IACvD,CAAC,GAAG,CAAC,CACN,CAAA;IACD,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,mBAAmB,CAAC;QAChD,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;QACjC,IAAI;QACJ,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,gBAAgB;KACjB,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAA;IACtC,IAAI,OAAO;QAAE,OAAO,cAAK,SAAS,EAAC,iBAAiB,EAAC,IAAI,EAAC,OAAO,YAAE,OAAO,GAAO,CAAA;IACjF,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;QAC9B,OAAO,cAAK,SAAS,EAAC,0BAA0B,EAAC,IAAI,EAAC,QAAQ,2CAA4B,CAAA;IAC5F,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,OAAO,IAAI,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,YAAY,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;IACnH,OAAO,iBAAkB,KAAK,EAAE,KAAK,EAAE,SAAS,EAAC,yBAAyB,EAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,IAAjF,GAAG,CAAkF,CAAA;AAC3G,CAAC;AAQD;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CAAC,UAAwC,EAAE;IACpF,OAAO,CAAC,KAAK,EAAa,EAAE,CAAC,KAAC,iBAAiB,OAAK,KAAK,KAAM,OAAO,GAAI,CAAA;AAC5E,CAAC;AAED,kEAAkE;AAClE,MAAM,CAAC,MAAM,qBAAqB,GAAsB,2BAA2B,EAAE,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { LivePreviewRenderer } from "../docs/DocsRenderer.js";
|
|
2
|
+
import { type GitbookStreamdownProps } from "../streamdown.js";
|
|
3
|
+
export type PlaygroundStreamdownProps = GitbookStreamdownProps;
|
|
4
|
+
/**
|
|
5
|
+
* A `LivePreviewRenderer` that runs `live` React/JSX/TSX code fences in almost-node.
|
|
6
|
+
* Pass it as `liveRenderer` to the root `GitbookStreamdown` / `DocsRenderer` (or the editor).
|
|
7
|
+
*/
|
|
8
|
+
export declare const almostNodeLiveRenderer: LivePreviewRenderer;
|
|
9
|
+
/**
|
|
10
|
+
* `GitbookStreamdown` with the almost-node playground wired in: live code fences and
|
|
11
|
+
* `{% demo %}` blocks with inline files (and no resolver) run in almost-node
|
|
12
|
+
* (`@agent-wasm/core`, an optional peer dependency — install it to use this entry).
|
|
13
|
+
* Explicit `liveRenderer` / `demoRuntime` props (or an outer runtime context) still win.
|
|
14
|
+
*/
|
|
15
|
+
export declare function PlaygroundStreamdown({ liveRenderer, demoRuntime, ...props }: PlaygroundStreamdownProps): import("react").JSX.Element;
|
|
16
|
+
//# sourceMappingURL=PlaygroundStreamdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlaygroundStreamdown.d.ts","sourceRoot":"","sources":["../../src/playground/PlaygroundStreamdown.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAE/D,OAAO,EAAqB,KAAK,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAI9E,MAAM,MAAM,yBAAyB,GAAG,sBAAsB,CAAA;AAE9D;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,mBAQpC,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,KAAK,EAAE,EAAE,yBAAyB,+BAStG"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useContext } from "react";
|
|
3
|
+
import { DocstreamDemoRuntimeContext } from "../demo/context.js";
|
|
4
|
+
import { GitbookStreamdown } from "../streamdown.js";
|
|
5
|
+
import { almostNodeDemoRuntime } from "./InlineDemoPreview.js";
|
|
6
|
+
import { ReactCodePreview } from "./ReactCodePreview.js";
|
|
7
|
+
/**
|
|
8
|
+
* A `LivePreviewRenderer` that runs `live` React/JSX/TSX code fences in almost-node.
|
|
9
|
+
* Pass it as `liveRenderer` to the root `GitbookStreamdown` / `DocsRenderer` (or the editor).
|
|
10
|
+
*/
|
|
11
|
+
export const almostNodeLiveRenderer = ({ files, entry, title, collapsedCodeLines, expandedCodeLines }) => (_jsx(ReactCodePreview, { files: files, entry: entry, title: title, collapsedCodeLines: collapsedCodeLines, expandedCodeLines: expandedCodeLines }));
|
|
12
|
+
/**
|
|
13
|
+
* `GitbookStreamdown` with the almost-node playground wired in: live code fences and
|
|
14
|
+
* `{% demo %}` blocks with inline files (and no resolver) run in almost-node
|
|
15
|
+
* (`@agent-wasm/core`, an optional peer dependency — install it to use this entry).
|
|
16
|
+
* Explicit `liveRenderer` / `demoRuntime` props (or an outer runtime context) still win.
|
|
17
|
+
*/
|
|
18
|
+
export function PlaygroundStreamdown({ liveRenderer, demoRuntime, ...props }) {
|
|
19
|
+
const inheritedRuntime = useContext(DocstreamDemoRuntimeContext).runtime;
|
|
20
|
+
return (_jsx(GitbookStreamdown, { ...props, liveRenderer: liveRenderer ?? almostNodeLiveRenderer, demoRuntime: demoRuntime ?? inheritedRuntime ?? almostNodeDemoRuntime }));
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=PlaygroundStreamdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlaygroundStreamdown.js","sourceRoot":"","sources":["../../src/playground/PlaygroundStreamdown.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAGlC,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAC7D,OAAO,EAAE,iBAAiB,EAA+B,MAAM,eAAe,CAAA;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAIrD;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAwB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC,CAC7H,KAAC,gBAAgB,IACf,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,kBAAkB,EAAE,kBAAkB,EACtC,iBAAiB,EAAE,iBAAiB,GACpC,CACH,CAAA;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,KAAK,EAA6B;IACrG,MAAM,gBAAgB,GAAG,UAAU,CAAC,2BAA2B,CAAC,CAAC,OAAO,CAAA;IACxE,OAAO,CACL,KAAC,iBAAiB,OACZ,KAAK,EACT,YAAY,EAAE,YAAY,IAAI,sBAAsB,EACpD,WAAW,EAAE,WAAW,IAAI,gBAAgB,IAAI,qBAAqB,GACrE,CACH,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
import { type AlmostNodeFiles, type AlmostNodeWorkspaceOptions } from "./filesystem.js";
|
|
3
|
+
export interface ReactDemoProps {
|
|
4
|
+
/** Complete project file map. Relative paths are rooted at `/`. Not needed when `preview` is given. */
|
|
5
|
+
files?: AlmostNodeFiles;
|
|
6
|
+
/**
|
|
7
|
+
* Render this in place of the almost-node iframe — for hosts that can mount the demo directly
|
|
8
|
+
* (components already on the page). No runtime starts; the frame, header, and code panel stay the same.
|
|
9
|
+
*/
|
|
10
|
+
preview?: ReactNode;
|
|
11
|
+
/** Source text for the code panel. Overrides reading `codeFile` from `files`. */
|
|
12
|
+
code?: string;
|
|
13
|
+
/** Highlighting language for `code` (e.g. "tsx"). Defaults to the extension of `codeFile`. */
|
|
14
|
+
language?: string;
|
|
15
|
+
/** Header status. Defaults to the runtime state ("ready", "starting"…); pass `false` to hide it. */
|
|
16
|
+
status?: ReactNode | false;
|
|
17
|
+
/** Extra header content after the status, e.g. controls that switch between demo variants. */
|
|
18
|
+
actions?: ReactNode;
|
|
19
|
+
/** Vite entry file. Defaults to `/src/main.jsx`. */
|
|
20
|
+
entry?: string;
|
|
21
|
+
/** Preferred virtual port. almost-node picks the next free port if needed. */
|
|
22
|
+
port?: number;
|
|
23
|
+
/** Height of the embedded preview. */
|
|
24
|
+
height?: number | string;
|
|
25
|
+
/** Source file displayed below the preview. Defaults to the entry file. */
|
|
26
|
+
codeFile?: string;
|
|
27
|
+
/** Number of source lines visible while the code preview is collapsed. Defaults to 3. */
|
|
28
|
+
collapsedCodeLines?: number;
|
|
29
|
+
/** Maximum visible source lines before expanded code scrolls. Defaults to 30. */
|
|
30
|
+
expandedCodeLines?: number;
|
|
31
|
+
/** Label shown above the preview. */
|
|
32
|
+
title?: string;
|
|
33
|
+
/** Start the runtime on mount (default true). */
|
|
34
|
+
autoStart?: boolean;
|
|
35
|
+
/** iframe sandbox value. The same-origin permission lets the almost-node service worker route the preview. */
|
|
36
|
+
sandbox?: string;
|
|
37
|
+
/** Extra options spread into `createAlmostNodeWorkspace` (e.g. `basePath` for static hosting). */
|
|
38
|
+
workspaceOptions?: Partial<AlmostNodeWorkspaceOptions>;
|
|
39
|
+
className?: string;
|
|
40
|
+
onReady?: (url: string) => void;
|
|
41
|
+
onError?: (error: Error) => void;
|
|
42
|
+
}
|
|
43
|
+
export type ReactCodePreviewProps = ReactDemoProps;
|
|
44
|
+
export type PreviewState = "idle" | "starting" | "ready" | "error";
|
|
45
|
+
export interface AlmostNodeServerOptions {
|
|
46
|
+
/** The complete project (see `createReactDemoFiles`). Keep its identity stable between renders. */
|
|
47
|
+
files: AlmostNodeFiles;
|
|
48
|
+
port?: number;
|
|
49
|
+
/** Start when > 0; bump to restart. 0 stops (and disposes) the server. */
|
|
50
|
+
run: number;
|
|
51
|
+
workspaceOptions?: Partial<AlmostNodeWorkspaceOptions>;
|
|
52
|
+
onReady?: (url: string) => void;
|
|
53
|
+
onError?: (error: Error) => void;
|
|
54
|
+
}
|
|
55
|
+
export interface AlmostNodeServerState {
|
|
56
|
+
state: PreviewState;
|
|
57
|
+
url: string | null;
|
|
58
|
+
error: string | null;
|
|
59
|
+
}
|
|
60
|
+
/** Boots `vite` for `files` in an almost-node container; disposes it on change/unmount. */
|
|
61
|
+
export declare function useAlmostNodeServer({ files, port, run, workspaceOptions, onReady, onError }: AlmostNodeServerOptions): AlmostNodeServerState;
|
|
62
|
+
export declare function ReactDemo({ files, preview, code: codeProp, language, status, actions, entry, port, height, codeFile, collapsedCodeLines, expandedCodeLines, title, autoStart, sandbox, workspaceOptions, className, onReady, onError, }: ReactDemoProps): import("react").JSX.Element;
|
|
63
|
+
export declare function ReactCodePreview(props: ReactCodePreviewProps): import("react").JSX.Element;
|
|
64
|
+
//# sourceMappingURL=ReactCodePreview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReactCodePreview.d.ts","sourceRoot":"","sources":["../../src/playground/ReactCodePreview.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAExF,OAAO,EAKL,KAAK,eAAe,EAEpB,KAAK,0BAA0B,EAChC,MAAM,cAAc,CAAA;AAErB,MAAM,WAAW,cAAc;IAC7B,uGAAuG;IACvG,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,iFAAiF;IACjF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,8FAA8F;IAC9F,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,oGAAoG;IACpG,MAAM,CAAC,EAAE,SAAS,GAAG,KAAK,CAAA;IAC1B,8FAA8F;IAC9F,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8EAA8E;IAC9E,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,yFAAyF;IACzF,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,iFAAiF;IACjF,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,iDAAiD;IACjD,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,8GAA8G;IAC9G,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,kGAAkG;IAClG,gBAAgB,CAAC,EAAE,OAAO,CAAC,0BAA0B,CAAC,CAAA;IACtD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CACjC;AAED,MAAM,MAAM,qBAAqB,GAAG,cAAc,CAAA;AAElD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,CAAA;AA0BlE,MAAM,WAAW,uBAAuB;IACtC,mGAAmG;IACnG,KAAK,EAAE,eAAe,CAAA;IACtB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,0EAA0E;IAC1E,GAAG,EAAE,MAAM,CAAA;IACX,gBAAgB,CAAC,EAAE,OAAO,CAAC,0BAA0B,CAAC,CAAA;IACtD,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;CACjC;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,YAAY,CAAA;IACnB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB;AAED,2FAA2F;AAC3F,wBAAgB,mBAAmB,CAAC,EAAE,KAAK,EAAE,IAAW,EAAE,GAAG,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,uBAAuB,GAAG,qBAAqB,CAiEnJ;AAKD,wBAAgB,SAAS,CAAC,EACxB,KAAgB,EAChB,OAAO,EACP,IAAI,EAAE,QAAQ,EACd,QAAQ,EACR,MAAM,EACN,OAAO,EACP,KAAuB,EACvB,IAAW,EACX,MAAY,EACZ,QAAQ,EACR,kBAAsB,EACtB,iBAAsB,EACtB,KAA4B,EAC5B,SAAgB,EAChB,OAAoE,EACpE,gBAAgB,EAChB,SAAS,EACT,OAAO,EACP,OAAO,GACR,EAAE,cAAc,+BAsEhB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,+BAE5D"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useMemo, useState } from "react";
|
|
3
|
+
import { CollapsibleCode } from "../docs/CollapsibleCode.js";
|
|
4
|
+
import { createAlmostNodeWorkspace, createReactDemoFiles, normalizeAlmostNodeFiles, normalizeAlmostNodePath, } from "./filesystem.js";
|
|
5
|
+
const DETACHED_SERVER_ENV = { ALMOSTNODE_DETACH_DEV_SERVERS: "1" };
|
|
6
|
+
function errorFromUnknown(error) {
|
|
7
|
+
return error instanceof Error ? error : new Error(String(error));
|
|
8
|
+
}
|
|
9
|
+
function frameHeight(height) {
|
|
10
|
+
return { height: typeof height === "number" ? `${height}px` : height };
|
|
11
|
+
}
|
|
12
|
+
function sourceLanguage(path) {
|
|
13
|
+
const extension = path.split(".").pop()?.toLowerCase();
|
|
14
|
+
return extension && extension !== path ? extension : null;
|
|
15
|
+
}
|
|
16
|
+
function sourceText(files, requestedPath) {
|
|
17
|
+
const normalizedPath = normalizeAlmostNodePath(requestedPath);
|
|
18
|
+
const file = normalizeAlmostNodeFiles(files).find((candidate) => normalizeAlmostNodePath(candidate.path) === normalizedPath);
|
|
19
|
+
if (!file)
|
|
20
|
+
return null;
|
|
21
|
+
return typeof file.content === "string" ? file.content : new TextDecoder().decode(file.content);
|
|
22
|
+
}
|
|
23
|
+
/** Boots `vite` for `files` in an almost-node container; disposes it on change/unmount. */
|
|
24
|
+
export function useAlmostNodeServer({ files, port = 4173, run, workspaceOptions, onReady, onError }) {
|
|
25
|
+
const [state, setState] = useState(run ? "starting" : "idle");
|
|
26
|
+
const [url, setUrl] = useState(null);
|
|
27
|
+
const [error, setError] = useState(null);
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
if (!run) {
|
|
30
|
+
setState("idle");
|
|
31
|
+
setUrl(null);
|
|
32
|
+
setError(null);
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
let cancelled = false;
|
|
36
|
+
let workspace = null;
|
|
37
|
+
let readyUrl = null;
|
|
38
|
+
setState("starting");
|
|
39
|
+
setUrl(null);
|
|
40
|
+
setError(null);
|
|
41
|
+
const start = async () => {
|
|
42
|
+
try {
|
|
43
|
+
workspace = await createAlmostNodeWorkspace(files, {
|
|
44
|
+
...workspaceOptions,
|
|
45
|
+
env: { ...DETACHED_SERVER_ENV, ...workspaceOptions?.env },
|
|
46
|
+
onServerReady: (serverPort, serverUrl) => {
|
|
47
|
+
readyUrl = serverUrl.endsWith("/") ? serverUrl : `${serverUrl}/`;
|
|
48
|
+
workspaceOptions?.onServerReady?.(serverPort, serverUrl);
|
|
49
|
+
},
|
|
50
|
+
});
|
|
51
|
+
const result = await workspace.container.run(`vite --port ${port}`, {
|
|
52
|
+
env: DETACHED_SERVER_ENV,
|
|
53
|
+
});
|
|
54
|
+
if (result.exitCode !== 0) {
|
|
55
|
+
throw new Error(result.stderr || result.stdout || "almost-node could not start Vite");
|
|
56
|
+
}
|
|
57
|
+
const serverUrl = readyUrl ?? `${workspace.container.serverBridge.getServerUrl(port)}/`;
|
|
58
|
+
if (cancelled) {
|
|
59
|
+
workspace.dispose();
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
setUrl(serverUrl);
|
|
63
|
+
setState("ready");
|
|
64
|
+
onReady?.(serverUrl);
|
|
65
|
+
}
|
|
66
|
+
catch (cause) {
|
|
67
|
+
const nextError = errorFromUnknown(cause);
|
|
68
|
+
if (!cancelled) {
|
|
69
|
+
setState("error");
|
|
70
|
+
setError(nextError.message);
|
|
71
|
+
onError?.(nextError);
|
|
72
|
+
}
|
|
73
|
+
workspace?.dispose();
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
void start();
|
|
77
|
+
return () => {
|
|
78
|
+
cancelled = true;
|
|
79
|
+
workspace?.dispose();
|
|
80
|
+
};
|
|
81
|
+
}, [files, onError, onReady, port, run, workspaceOptions]);
|
|
82
|
+
return { state, url, error };
|
|
83
|
+
}
|
|
84
|
+
/** Render a multi-file React/JSX/TSX project through almost-node's Vite server. */
|
|
85
|
+
const NO_FILES = {};
|
|
86
|
+
export function ReactDemo({ files = NO_FILES, preview, code: codeProp, language, status, actions, entry = "/src/main.jsx", port = 4173, height = 360, codeFile, collapsedCodeLines = 3, expandedCodeLines = 30, title = "Live React preview", autoStart = true, sandbox = "allow-scripts allow-same-origin allow-forms allow-modals", workspaceOptions, className, onReady, onError, }) {
|
|
87
|
+
const inline = preview !== undefined;
|
|
88
|
+
const [run, setRun] = useState(autoStart && !inline ? 1 : 0);
|
|
89
|
+
const projectFiles = useMemo(() => createReactDemoFiles(files, { entry }), [files, entry]);
|
|
90
|
+
const { state: serverState, url, error } = useAlmostNodeServer({
|
|
91
|
+
files: projectFiles,
|
|
92
|
+
port,
|
|
93
|
+
run: inline ? 0 : run,
|
|
94
|
+
workspaceOptions,
|
|
95
|
+
onReady,
|
|
96
|
+
onError,
|
|
97
|
+
});
|
|
98
|
+
const state = inline ? "ready" : serverState;
|
|
99
|
+
const displayedCodeFile = codeFile ?? entry;
|
|
100
|
+
const code = useMemo(() => codeProp ?? sourceText(files, displayedCodeFile), [codeProp, displayedCodeFile, files]);
|
|
101
|
+
const wrapperClass = className ? `docs-react-demo ${className}` : "docs-react-demo";
|
|
102
|
+
const running = state === "starting";
|
|
103
|
+
return (_jsxs("section", { className: wrapperClass, "data-docstream-react-demo": "", children: [_jsxs("header", { className: "docs-react-demo-header", children: [_jsx("span", { children: title }), status === false ? null : (_jsx("span", { className: `docs-react-demo-status docs-react-demo-status-${state}`, children: status ?? (state === "ready" ? "ready" : state === "starting" ? "starting" : state) })), actions, !inline && (!autoStart || state === "error") ? (_jsx("button", { type: "button", className: "docs-react-demo-run", disabled: running, onClick: () => setRun((value) => value + 1), children: state === "error" ? "Retry" : "Run demo" })) : null] }), inline ? (_jsx("div", { className: "docs-react-demo-preview", style: frameHeight(height), children: preview })) : error ? (_jsx("pre", { className: "docs-react-demo-error", children: error })) : url ? (_jsx("iframe", { title: title, className: "docs-react-demo-frame", src: url, sandbox: sandbox, style: frameHeight(height) })) : (_jsx("div", { className: "docs-react-demo-placeholder", style: frameHeight(height), children: running ? "Starting almost-node…" : "Run the demo to open its virtual filesystem." })), code !== null ? (_jsx(CollapsibleCode, { code: code, language: language ?? sourceLanguage(displayedCodeFile), collapsedLines: collapsedCodeLines, expandedLines: expandedCodeLines })) : null] }));
|
|
104
|
+
}
|
|
105
|
+
export function ReactCodePreview(props) {
|
|
106
|
+
return _jsx(ReactDemo, { ...props });
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=ReactCodePreview.js.map
|