@june-ai/june-ui 0.2.9 → 0.2.11

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.
@@ -67,7 +67,11 @@
67
67
 
68
68
 
69
69
 
70
- var _chunkGFCROSGQcjs = require('./chunk-GFCROSGQ.cjs');
70
+
71
+
72
+
73
+
74
+ var _chunkTD6GKOURcjs = require('./chunk-TD6GKOUR.cjs');
71
75
 
72
76
 
73
77
 
@@ -145,4 +149,8 @@ var _chunkG6YPSE6Jcjs = require('./chunk-G6YPSE6J.cjs');
145
149
 
146
150
 
147
151
 
148
- exports.ALL_EXPORT_FORMATS = _chunkGFCROSGQcjs.ALL_EXPORT_FORMATS; exports.ComponentRegistry = _chunkGFCROSGQcjs.ComponentRegistry; exports.DOCUMENT_COMPONENT_DESCRIPTION = _chunkGFCROSGQcjs.DOCUMENT_COMPONENT_DESCRIPTION; exports.DocumentBridge = _chunkGFCROSGQcjs.DocumentBridge; exports.DocumentEditor = _chunkGFCROSGQcjs.DocumentEditor; exports.JuneDocumentContext = _chunkGFCROSGQcjs.JuneDocumentContext; exports.JuneDocumentEditorComponent = _chunkGFCROSGQcjs.JuneDocumentEditorComponent; exports.JuneError = _chunkG6YPSE6Jcjs.JuneError; exports.JuneErrorBoundary = _chunkGFCROSGQcjs.JuneErrorBoundary; exports.JuneRenderer = _chunkGFCROSGQcjs.JuneRenderer; exports.JuneRuntimeContext = _chunkGFCROSGQcjs.JuneRuntimeContext; exports.JuneThemeProvider = _chunkGFCROSGQcjs.JuneThemeProvider; exports.MarkdownText = _chunkGFCROSGQcjs.MarkdownText; exports.ToolApproval = _chunkGFCROSGQcjs.ToolApproval; exports.ToolApprovalList = _chunkGFCROSGQcjs.ToolApprovalList; exports.consumeStream = _chunkGFCROSGQcjs.consumeStream; exports.copyDocumentToClipboard = _chunkGFCROSGQcjs.copyDocumentToClipboard; exports.createActionHandler = _chunkGFCROSGQcjs.createActionHandler; exports.createComponentRegistry = _chunkGFCROSGQcjs.createComponentRegistry; exports.createDocumentStore = _chunkGFCROSGQcjs.createDocumentStore; exports.createJuneLibrary = _chunkGFCROSGQcjs.createJuneLibrary; exports.createLangGraphExtractor = _chunkGFCROSGQcjs.createLangGraphExtractor; exports.createTheme = _chunkGFCROSGQcjs.createTheme; exports.darkTheme = _chunkGFCROSGQcjs.darkTheme; exports.defaultParseActionEvent = _chunkGFCROSGQcjs.defaultParseActionEvent; exports.defaultToolApprovalLabels = _chunkGFCROSGQcjs.defaultToolApprovalLabels; exports.defineComponent = _chunkGFCROSGQcjs.defineComponent; exports.defineJuneAction = _chunkGFCROSGQcjs.defineJuneAction; exports.defineJuneComponent = _chunkGFCROSGQcjs.defineJuneComponent; exports.documentPromptOptions = _chunkGFCROSGQcjs.documentPromptOptions; exports.downloadResult = _chunkGFCROSGQcjs.downloadResult; exports.exportDocument = _chunkGFCROSGQcjs.exportDocument; exports.fetchStream = _chunkGFCROSGQcjs.fetchStream; exports.getDefaultDocumentStore = _chunkGFCROSGQcjs.getDefaultDocumentStore; exports.getDocumentEditorInstructions = _chunkGFCROSGQcjs.getDocumentEditorInstructions; exports.getDocumentEditorRules = _chunkGFCROSGQcjs.getDocumentEditorRules; exports.interruptToApprovalRequests = _chunkGFCROSGQcjs.interruptToApprovalRequests; exports.isDocumentEcho = _chunkGFCROSGQcjs.isDocumentEcho; exports.isJuneComponent = _chunkGFCROSGQcjs.isJuneComponent; exports.isJuneError = _chunkG6YPSE6Jcjs.isJuneError; exports.isThemeSet = _chunkGFCROSGQcjs.isThemeSet; exports.jsonFieldExtractor = _chunkGFCROSGQcjs.jsonFieldExtractor; exports.langGraphStreamOptions = _chunkGFCROSGQcjs.langGraphStreamOptions; exports.lightTheme = _chunkGFCROSGQcjs.lightTheme; exports.listDocumentExporters = _chunkGFCROSGQcjs.listDocumentExporters; exports.mergeDocuments = _chunkGFCROSGQcjs.mergeDocuments; exports.messageContentToText = _chunkGFCROSGQcjs.messageContentToText; exports.normalizeProgram = _chunkGFCROSGQcjs.normalizeProgram; exports.readDocumentFromProgram = _chunkGFCROSGQcjs.readDocumentFromProgram; exports.readLangGraphInterrupts = _chunkGFCROSGQcjs.readLangGraphInterrupts; exports.registerDocumentExporter = _chunkGFCROSGQcjs.registerDocumentExporter; exports.rememberDocumentEcho = _chunkGFCROSGQcjs.rememberDocumentEcho; exports.resolveMixedContent = _chunkGFCROSGQcjs.resolveMixedContent; exports.resolveThemeVars = _chunkGFCROSGQcjs.resolveThemeVars; exports.runAction = _chunkGFCROSGQcjs.runAction; exports.serializeDocumentsForAgent = _chunkGFCROSGQcjs.serializeDocumentsForAgent; exports.splitResponse = _chunkGFCROSGQcjs.splitResponse; exports.sseToText = _chunkGFCROSGQcjs.sseToText; exports.toAsyncIterable = _chunkGFCROSGQcjs.toAsyncIterable; exports.toJuneError = _chunkG6YPSE6Jcjs.toJuneError; exports.updateDocumentInProgram = _chunkGFCROSGQcjs.updateDocumentInProgram; exports.useDocumentBridge = _chunkGFCROSGQcjs.useDocumentBridge; exports.useDocumentOptions = _chunkGFCROSGQcjs.useDocumentOptions; exports.useJuneRuntime = _chunkGFCROSGQcjs.useJuneRuntime; exports.useJuneStream = _chunkGFCROSGQcjs.useJuneStream; exports.useJuneTheme = _chunkGFCROSGQcjs.useJuneTheme; exports.useRegistryLibrary = _chunkGFCROSGQcjs.useRegistryLibrary; exports.useResolvedTheme = _chunkGFCROSGQcjs.useResolvedTheme; exports.useToolApproval = _chunkGFCROSGQcjs.useToolApproval; exports.validateComponentDefinition = _chunkGFCROSGQcjs.validateComponentDefinition; exports.withDocumentEditor = _chunkGFCROSGQcjs.withDocumentEditor;
152
+
153
+
154
+
155
+
156
+ exports.ALL_EXPORT_FORMATS = _chunkTD6GKOURcjs.ALL_EXPORT_FORMATS; exports.ComponentRegistry = _chunkTD6GKOURcjs.ComponentRegistry; exports.DOCUMENT_COMPONENT_DESCRIPTION = _chunkTD6GKOURcjs.DOCUMENT_COMPONENT_DESCRIPTION; exports.DocumentBridge = _chunkTD6GKOURcjs.DocumentBridge; exports.DocumentEditor = _chunkTD6GKOURcjs.DocumentEditor; exports.DocumentEditorConfigContext = _chunkTD6GKOURcjs.DocumentEditorConfigContext; exports.JuneDocumentContext = _chunkTD6GKOURcjs.JuneDocumentContext; exports.JuneDocumentEditorComponent = _chunkTD6GKOURcjs.JuneDocumentEditorComponent; exports.JuneError = _chunkG6YPSE6Jcjs.JuneError; exports.JuneErrorBoundary = _chunkTD6GKOURcjs.JuneErrorBoundary; exports.JuneRenderer = _chunkTD6GKOURcjs.JuneRenderer; exports.JuneRuntimeContext = _chunkTD6GKOURcjs.JuneRuntimeContext; exports.JuneThemeProvider = _chunkTD6GKOURcjs.JuneThemeProvider; exports.MarkdownText = _chunkTD6GKOURcjs.MarkdownText; exports.ToolApproval = _chunkTD6GKOURcjs.ToolApproval; exports.ToolApprovalList = _chunkTD6GKOURcjs.ToolApprovalList; exports.consumeStream = _chunkTD6GKOURcjs.consumeStream; exports.copyDocumentToClipboard = _chunkTD6GKOURcjs.copyDocumentToClipboard; exports.createActionHandler = _chunkTD6GKOURcjs.createActionHandler; exports.createComponentRegistry = _chunkTD6GKOURcjs.createComponentRegistry; exports.createDocumentStore = _chunkTD6GKOURcjs.createDocumentStore; exports.createJuneLibrary = _chunkTD6GKOURcjs.createJuneLibrary; exports.createLangGraphExtractor = _chunkTD6GKOURcjs.createLangGraphExtractor; exports.createTheme = _chunkTD6GKOURcjs.createTheme; exports.darkTheme = _chunkTD6GKOURcjs.darkTheme; exports.defaultParseActionEvent = _chunkTD6GKOURcjs.defaultParseActionEvent; exports.defaultToolApprovalLabels = _chunkTD6GKOURcjs.defaultToolApprovalLabels; exports.defineComponent = _chunkTD6GKOURcjs.defineComponent; exports.defineJuneAction = _chunkTD6GKOURcjs.defineJuneAction; exports.defineJuneComponent = _chunkTD6GKOURcjs.defineJuneComponent; exports.documentPanelWidth = _chunkTD6GKOURcjs.documentPanelWidth; exports.documentPromptOptions = _chunkTD6GKOURcjs.documentPromptOptions; exports.downloadResult = _chunkTD6GKOURcjs.downloadResult; exports.exportDocument = _chunkTD6GKOURcjs.exportDocument; exports.fetchStream = _chunkTD6GKOURcjs.fetchStream; exports.getDefaultDocumentStore = _chunkTD6GKOURcjs.getDefaultDocumentStore; exports.getDocumentEditorInstructions = _chunkTD6GKOURcjs.getDocumentEditorInstructions; exports.getDocumentEditorRules = _chunkTD6GKOURcjs.getDocumentEditorRules; exports.interruptToApprovalRequests = _chunkTD6GKOURcjs.interruptToApprovalRequests; exports.isDocumentEcho = _chunkTD6GKOURcjs.isDocumentEcho; exports.isJuneComponent = _chunkTD6GKOURcjs.isJuneComponent; exports.isJuneError = _chunkG6YPSE6Jcjs.isJuneError; exports.isThemeSet = _chunkTD6GKOURcjs.isThemeSet; exports.jsonFieldExtractor = _chunkTD6GKOURcjs.jsonFieldExtractor; exports.langGraphStreamOptions = _chunkTD6GKOURcjs.langGraphStreamOptions; exports.lightTheme = _chunkTD6GKOURcjs.lightTheme; exports.listDocumentExporters = _chunkTD6GKOURcjs.listDocumentExporters; exports.mergeDocuments = _chunkTD6GKOURcjs.mergeDocuments; exports.messageContentToText = _chunkTD6GKOURcjs.messageContentToText; exports.normalizeProgram = _chunkTD6GKOURcjs.normalizeProgram; exports.readDocumentFromProgram = _chunkTD6GKOURcjs.readDocumentFromProgram; exports.readLangGraphInterrupts = _chunkTD6GKOURcjs.readLangGraphInterrupts; exports.registerDocumentExporter = _chunkTD6GKOURcjs.registerDocumentExporter; exports.rememberDocumentEcho = _chunkTD6GKOURcjs.rememberDocumentEcho; exports.resolveDocumentPresentation = _chunkTD6GKOURcjs.resolveDocumentPresentation; exports.resolveMixedContent = _chunkTD6GKOURcjs.resolveMixedContent; exports.resolveThemeVars = _chunkTD6GKOURcjs.resolveThemeVars; exports.runAction = _chunkTD6GKOURcjs.runAction; exports.serializeDocumentsForAgent = _chunkTD6GKOURcjs.serializeDocumentsForAgent; exports.splitResponse = _chunkTD6GKOURcjs.splitResponse; exports.sseToText = _chunkTD6GKOURcjs.sseToText; exports.toAsyncIterable = _chunkTD6GKOURcjs.toAsyncIterable; exports.toJuneError = _chunkG6YPSE6Jcjs.toJuneError; exports.updateDocumentInProgram = _chunkTD6GKOURcjs.updateDocumentInProgram; exports.useDocumentBridge = _chunkTD6GKOURcjs.useDocumentBridge; exports.useDocumentEditorConfig = _chunkTD6GKOURcjs.useDocumentEditorConfig; exports.useDocumentOptions = _chunkTD6GKOURcjs.useDocumentOptions; exports.useJuneRuntime = _chunkTD6GKOURcjs.useJuneRuntime; exports.useJuneStream = _chunkTD6GKOURcjs.useJuneStream; exports.useJuneTheme = _chunkTD6GKOURcjs.useJuneTheme; exports.useRegistryLibrary = _chunkTD6GKOURcjs.useRegistryLibrary; exports.useResolvedTheme = _chunkTD6GKOURcjs.useResolvedTheme; exports.useToolApproval = _chunkTD6GKOURcjs.useToolApproval; exports.validateComponentDefinition = _chunkTD6GKOURcjs.validateComponentDefinition; exports.withDocumentEditor = _chunkTD6GKOURcjs.withDocumentEditor;
@@ -211,6 +211,23 @@ interface DocumentConflict {
211
211
  /** Number of regions that both the user and the assistant changed. */
212
212
  conflicts: number;
213
213
  }
214
+ /** Where Edit opens the Tiptap editor. */
215
+ type DocumentPresentation = "inline" | "side-panel";
216
+ /**
217
+ * App-wide document editor presentation. Pass it as `<JuneUI documentEditor={...} />`.
218
+ * A document can override `presentation` on its own `DocumentEditor(...)` call.
219
+ * Priority: that per-document value, then this config, then `"inline"`.
220
+ */
221
+ interface DocumentEditorConfig {
222
+ /**
223
+ * `"inline"` renders the editor in the chat after Edit.
224
+ * `"side-panel"` opens it in a panel on the right.
225
+ * Default `"inline"`.
226
+ */
227
+ presentation?: DocumentPresentation;
228
+ /** Side-panel width. A number is pixels. Example: `"65%"` or `720`. */
229
+ width?: string | number;
230
+ }
214
231
  interface JuneDocumentOptions {
215
232
  /** Share one store across editors. Defaults to a global in-memory store, keyed by documentId. */
216
233
  store?: DocumentStore;
@@ -234,6 +251,11 @@ interface DocumentEditorProps {
234
251
  status?: string;
235
252
  editable?: boolean;
236
253
  exportFormats?: string[];
254
+ /**
255
+ * Where Edit opens this document. Overrides `JuneUI`'s `documentEditor.presentation`.
256
+ * Omit it to use the app config, which defaults to `"inline"`.
257
+ */
258
+ presentation?: DocumentPresentation;
237
259
  /** "auto" follows the June theme context. */
238
260
  theme?: "auto" | "light" | "dark";
239
261
  className?: string;
@@ -333,6 +355,12 @@ type JuneRendererProps = Omit<OpenUIRendererProps, "library" | "response" | "isS
333
355
  onJuneError?: (error: JuneError) => void;
334
356
  /** Document editor callbacks and store. Memoize this object. */
335
357
  documents?: JuneDocumentOptions;
358
+ /**
359
+ * Where Edit opens a generated document. Default is `"inline"` (in the chat).
360
+ * `"side-panel"` opens the same editor on the right. A document's own `presentation`
361
+ * argument overrides this.
362
+ */
363
+ documentEditor?: DocumentEditorConfig;
336
364
  /**
337
365
  * Called with an updated OpenUI program when the user edits a document (body or title).
338
366
  * The matching `DocumentEditor(id, title, content)` call is rewritten with the new title and
@@ -725,7 +753,7 @@ declare function sseToText(source: StreamSource, options?: SseOptions & {
725
753
  */
726
754
  declare function jsonFieldExtractor(path: string): (data: string) => string | null;
727
755
 
728
- declare const DOCUMENT_COMPONENT_DESCRIPTION = "Custom component. An editable document. DocumentEditor(documentId, title, content, documentType?, status?, editable?, exportFormats?). Place it in the root container (Card or Stack). \"content\" is the full document body as one Markdown string. Reuse documentId when revising the same document. Use it only when the user asks to create or revise a document.";
756
+ declare const DOCUMENT_COMPONENT_DESCRIPTION = "Custom component. An editable document. DocumentEditor(documentId, title, content, documentType?, status?, editable?, exportFormats?, presentation?). Place it in the root container (Card or Stack). \"content\" is the full document body as one Markdown string. Reuse documentId when revising the same document. Use it only when the user asks to create or revise a document. presentation is \"inline\" or \"side-panel\"; omit it to use the app default.";
729
757
  /** Standalone editor. While a June response is still streaming, shows a placeholder instead of mounting Tiptap. */
730
758
  declare function DocumentEditor(props: DocumentEditorProps): react.JSX.Element;
731
759
  declare const JuneDocumentEditorComponent: _openuidev_react_lang.DefinedComponent<z.ZodObject<{
@@ -736,6 +764,10 @@ declare const JuneDocumentEditorComponent: _openuidev_react_lang.DefinedComponen
736
764
  status: z.ZodOptional<z.ZodString>;
737
765
  editable: z.ZodOptional<z.ZodBoolean>;
738
766
  exportFormats: z.ZodOptional<z.ZodArray<z.ZodString>>;
767
+ presentation: z.ZodOptional<z.ZodEnum<{
768
+ inline: "inline";
769
+ "side-panel": "side-panel";
770
+ }>>;
739
771
  }, z.core.$strip>>;
740
772
  type Extendable = Library & {
741
773
  extend: NonNullable<Library["extend"]>;
@@ -749,11 +781,20 @@ type Extendable = Library & {
749
781
  declare function withDocumentEditor(library: Extendable): Required<_openuidev_lang_core.Library<_openuidev_react_lang.ComponentRenderer<any>, _openuidev_lang_core.DefinedAction<any, string>>>;
750
782
 
751
783
  declare const JuneDocumentContext: react.Context<JuneDocumentOptions>;
784
+ /** App-wide `documentEditor` config from JuneUI. Empty when the app did not set one. */
785
+ declare const DocumentEditorConfigContext: react.Context<DocumentEditorConfig>;
786
+ declare function useDocumentEditorConfig(): DocumentEditorConfig;
752
787
  declare function useDocumentOptions(): JuneDocumentOptions;
753
788
 
789
+ /** Per-document value, then the app config, then `"inline"`. */
790
+ declare function resolveDocumentPresentation(documentPresentation?: string | null, configured?: string | null): DocumentPresentation;
791
+ /** CSS width for the side panel. A number is pixels. */
792
+ declare function documentPanelWidth(width?: string | number): string | undefined;
793
+
754
794
  /** Provides document options (and edit write-back) to every DocumentEditor below it. */
755
- declare function DocumentBridge({ children, ...options }: DocumentBridgeOptions & {
795
+ declare function DocumentBridge({ children, documentEditor, ...options }: DocumentBridgeOptions & {
756
796
  children?: ReactNode;
797
+ documentEditor?: DocumentEditorConfig;
757
798
  }): react.JSX.Element;
758
799
 
759
800
  /**
@@ -1002,4 +1043,4 @@ declare function readLangGraphInterrupts(data: string, event?: string): unknown[
1002
1043
  */
1003
1044
  declare function interruptToApprovalRequests(value: unknown, idPrefix?: string): ToolApprovalRequest[];
1004
1045
 
1005
- export { ALL_EXPORT_FORMATS, type ActionEventParser, type ActionOutcome, type AnyComponentDefinition, type ApprovalChoice, type ComponentProps, ComponentRegistry, type ComponentRegistryOptions, type ConfirmAction, type ConsumeStreamOptions, DOCUMENT_COMPONENT_DESCRIPTION, type DefineComponentOptions, type DocJSON, type DocNode, DocumentBridge, type DocumentBridgeOptions, type DocumentChange, type DocumentConflict, DocumentEditor, type DocumentEditorProps, type DocumentExportEvent, type DocumentExportFormat, type DocumentExporter, type DocumentInstructionOptions, type DocumentProgramUpdate, type DocumentRecord, type DocumentSavePayload, type DocumentSnapshot, type DocumentStore, type ExportContext, type ExportResult, type FallbackArgs, type FetchStreamOptions, type IncomingDocument, type JuneAction, type JuneActionContext, type JuneActionDefinition, type JuneActionMap, type JuneComponent, type JuneComponentMeta, type JuneContextValue, JuneDocumentContext, JuneDocumentEditorComponent, type JuneDocumentOptions, JuneError, JuneErrorBoundary, type JuneErrorBoundaryProps, type JuneErrorCode, type JuneErrorOptions, type JuneLibraryOptions, type JuneRenderProps, JuneRenderer, type JuneRendererProps, type JuneResolvedTheme, JuneRuntimeContext, type JuneRuntimeValue, type JuneStreamState, type JuneThemeInput, type JuneThemeMode, JuneThemeProvider, type JuneThemeProviderProps, type JuneThemeSet, type JuneThemeToken, type JuneThemeVars, type LangGraphExtractorOptions, MarkdownText, type MarkdownTextProps, type MixedContent, type MixedContentOptions, type OpenUIActionEvent, type OpenUILibrary, type OpenUIRendererProps, type ParsedActionEvent, type PendingUpdate, type ReceiveOutcome, type RegisterOptions, type ResolveChoice, type ResponseChangeInfo, type RunActionOptions, type SchemaLike, type SplitOptions, type SplitResponse, type SseOptions, type StreamChunk, type StreamSource, type StreamStarter, type StreamStatus, type TextFormat, ToolApproval, type ToolApprovalDecision, type ToolApprovalEntry, type ToolApprovalInput, type ToolApprovalLabels, ToolApprovalList, type ToolApprovalListProps, type ToolApprovalProps, type ToolApprovalRequest, type ToolApprovalStatus, type UseJuneStreamOptions, type UseJuneStreamResult, type UseToolApprovalResult, consumeStream, copyDocumentToClipboard, createActionHandler, createComponentRegistry, createDocumentStore, createJuneLibrary, createLangGraphExtractor, createTheme, darkTheme, defaultParseActionEvent, defaultToolApprovalLabels, defineComponent, defineJuneAction, defineJuneComponent, documentPromptOptions, downloadResult, exportDocument, fetchStream, getDefaultDocumentStore, getDocumentEditorInstructions, getDocumentEditorRules, interruptToApprovalRequests, isDocumentEcho, isJuneComponent, isJuneError, isThemeSet, jsonFieldExtractor, langGraphStreamOptions, lightTheme, listDocumentExporters, mergeDocuments, messageContentToText, normalizeProgram, readDocumentFromProgram, readLangGraphInterrupts, registerDocumentExporter, rememberDocumentEcho, resolveMixedContent, resolveThemeVars, runAction, serializeDocumentsForAgent, splitResponse, sseToText, toAsyncIterable, toJuneError, updateDocumentInProgram, useDocumentBridge, useDocumentOptions, useJuneRuntime, useJuneStream, useJuneTheme, useRegistryLibrary, useResolvedTheme, useToolApproval, validateComponentDefinition, withDocumentEditor };
1046
+ export { ALL_EXPORT_FORMATS, type ActionEventParser, type ActionOutcome, type AnyComponentDefinition, type ApprovalChoice, type ComponentProps, ComponentRegistry, type ComponentRegistryOptions, type ConfirmAction, type ConsumeStreamOptions, DOCUMENT_COMPONENT_DESCRIPTION, type DefineComponentOptions, type DocJSON, type DocNode, DocumentBridge, type DocumentBridgeOptions, type DocumentChange, type DocumentConflict, DocumentEditor, type DocumentEditorConfig, DocumentEditorConfigContext, type DocumentEditorProps, type DocumentExportEvent, type DocumentExportFormat, type DocumentExporter, type DocumentInstructionOptions, type DocumentPresentation, type DocumentProgramUpdate, type DocumentRecord, type DocumentSavePayload, type DocumentSnapshot, type DocumentStore, type ExportContext, type ExportResult, type FallbackArgs, type FetchStreamOptions, type IncomingDocument, type JuneAction, type JuneActionContext, type JuneActionDefinition, type JuneActionMap, type JuneComponent, type JuneComponentMeta, type JuneContextValue, JuneDocumentContext, JuneDocumentEditorComponent, type JuneDocumentOptions, JuneError, JuneErrorBoundary, type JuneErrorBoundaryProps, type JuneErrorCode, type JuneErrorOptions, type JuneLibraryOptions, type JuneRenderProps, JuneRenderer, type JuneRendererProps, type JuneResolvedTheme, JuneRuntimeContext, type JuneRuntimeValue, type JuneStreamState, type JuneThemeInput, type JuneThemeMode, JuneThemeProvider, type JuneThemeProviderProps, type JuneThemeSet, type JuneThemeToken, type JuneThemeVars, type LangGraphExtractorOptions, MarkdownText, type MarkdownTextProps, type MixedContent, type MixedContentOptions, type OpenUIActionEvent, type OpenUILibrary, type OpenUIRendererProps, type ParsedActionEvent, type PendingUpdate, type ReceiveOutcome, type RegisterOptions, type ResolveChoice, type ResponseChangeInfo, type RunActionOptions, type SchemaLike, type SplitOptions, type SplitResponse, type SseOptions, type StreamChunk, type StreamSource, type StreamStarter, type StreamStatus, type TextFormat, ToolApproval, type ToolApprovalDecision, type ToolApprovalEntry, type ToolApprovalInput, type ToolApprovalLabels, ToolApprovalList, type ToolApprovalListProps, type ToolApprovalProps, type ToolApprovalRequest, type ToolApprovalStatus, type UseJuneStreamOptions, type UseJuneStreamResult, type UseToolApprovalResult, consumeStream, copyDocumentToClipboard, createActionHandler, createComponentRegistry, createDocumentStore, createJuneLibrary, createLangGraphExtractor, createTheme, darkTheme, defaultParseActionEvent, defaultToolApprovalLabels, defineComponent, defineJuneAction, defineJuneComponent, documentPanelWidth, documentPromptOptions, downloadResult, exportDocument, fetchStream, getDefaultDocumentStore, getDocumentEditorInstructions, getDocumentEditorRules, interruptToApprovalRequests, isDocumentEcho, isJuneComponent, isJuneError, isThemeSet, jsonFieldExtractor, langGraphStreamOptions, lightTheme, listDocumentExporters, mergeDocuments, messageContentToText, normalizeProgram, readDocumentFromProgram, readLangGraphInterrupts, registerDocumentExporter, rememberDocumentEcho, resolveDocumentPresentation, resolveMixedContent, resolveThemeVars, runAction, serializeDocumentsForAgent, splitResponse, sseToText, toAsyncIterable, toJuneError, updateDocumentInProgram, useDocumentBridge, useDocumentEditorConfig, useDocumentOptions, useJuneRuntime, useJuneStream, useJuneTheme, useRegistryLibrary, useResolvedTheme, useToolApproval, validateComponentDefinition, withDocumentEditor };
@@ -211,6 +211,23 @@ interface DocumentConflict {
211
211
  /** Number of regions that both the user and the assistant changed. */
212
212
  conflicts: number;
213
213
  }
214
+ /** Where Edit opens the Tiptap editor. */
215
+ type DocumentPresentation = "inline" | "side-panel";
216
+ /**
217
+ * App-wide document editor presentation. Pass it as `<JuneUI documentEditor={...} />`.
218
+ * A document can override `presentation` on its own `DocumentEditor(...)` call.
219
+ * Priority: that per-document value, then this config, then `"inline"`.
220
+ */
221
+ interface DocumentEditorConfig {
222
+ /**
223
+ * `"inline"` renders the editor in the chat after Edit.
224
+ * `"side-panel"` opens it in a panel on the right.
225
+ * Default `"inline"`.
226
+ */
227
+ presentation?: DocumentPresentation;
228
+ /** Side-panel width. A number is pixels. Example: `"65%"` or `720`. */
229
+ width?: string | number;
230
+ }
214
231
  interface JuneDocumentOptions {
215
232
  /** Share one store across editors. Defaults to a global in-memory store, keyed by documentId. */
216
233
  store?: DocumentStore;
@@ -234,6 +251,11 @@ interface DocumentEditorProps {
234
251
  status?: string;
235
252
  editable?: boolean;
236
253
  exportFormats?: string[];
254
+ /**
255
+ * Where Edit opens this document. Overrides `JuneUI`'s `documentEditor.presentation`.
256
+ * Omit it to use the app config, which defaults to `"inline"`.
257
+ */
258
+ presentation?: DocumentPresentation;
237
259
  /** "auto" follows the June theme context. */
238
260
  theme?: "auto" | "light" | "dark";
239
261
  className?: string;
@@ -333,6 +355,12 @@ type JuneRendererProps = Omit<OpenUIRendererProps, "library" | "response" | "isS
333
355
  onJuneError?: (error: JuneError) => void;
334
356
  /** Document editor callbacks and store. Memoize this object. */
335
357
  documents?: JuneDocumentOptions;
358
+ /**
359
+ * Where Edit opens a generated document. Default is `"inline"` (in the chat).
360
+ * `"side-panel"` opens the same editor on the right. A document's own `presentation`
361
+ * argument overrides this.
362
+ */
363
+ documentEditor?: DocumentEditorConfig;
336
364
  /**
337
365
  * Called with an updated OpenUI program when the user edits a document (body or title).
338
366
  * The matching `DocumentEditor(id, title, content)` call is rewritten with the new title and
@@ -725,7 +753,7 @@ declare function sseToText(source: StreamSource, options?: SseOptions & {
725
753
  */
726
754
  declare function jsonFieldExtractor(path: string): (data: string) => string | null;
727
755
 
728
- declare const DOCUMENT_COMPONENT_DESCRIPTION = "Custom component. An editable document. DocumentEditor(documentId, title, content, documentType?, status?, editable?, exportFormats?). Place it in the root container (Card or Stack). \"content\" is the full document body as one Markdown string. Reuse documentId when revising the same document. Use it only when the user asks to create or revise a document.";
756
+ declare const DOCUMENT_COMPONENT_DESCRIPTION = "Custom component. An editable document. DocumentEditor(documentId, title, content, documentType?, status?, editable?, exportFormats?, presentation?). Place it in the root container (Card or Stack). \"content\" is the full document body as one Markdown string. Reuse documentId when revising the same document. Use it only when the user asks to create or revise a document. presentation is \"inline\" or \"side-panel\"; omit it to use the app default.";
729
757
  /** Standalone editor. While a June response is still streaming, shows a placeholder instead of mounting Tiptap. */
730
758
  declare function DocumentEditor(props: DocumentEditorProps): react.JSX.Element;
731
759
  declare const JuneDocumentEditorComponent: _openuidev_react_lang.DefinedComponent<z.ZodObject<{
@@ -736,6 +764,10 @@ declare const JuneDocumentEditorComponent: _openuidev_react_lang.DefinedComponen
736
764
  status: z.ZodOptional<z.ZodString>;
737
765
  editable: z.ZodOptional<z.ZodBoolean>;
738
766
  exportFormats: z.ZodOptional<z.ZodArray<z.ZodString>>;
767
+ presentation: z.ZodOptional<z.ZodEnum<{
768
+ inline: "inline";
769
+ "side-panel": "side-panel";
770
+ }>>;
739
771
  }, z.core.$strip>>;
740
772
  type Extendable = Library & {
741
773
  extend: NonNullable<Library["extend"]>;
@@ -749,11 +781,20 @@ type Extendable = Library & {
749
781
  declare function withDocumentEditor(library: Extendable): Required<_openuidev_lang_core.Library<_openuidev_react_lang.ComponentRenderer<any>, _openuidev_lang_core.DefinedAction<any, string>>>;
750
782
 
751
783
  declare const JuneDocumentContext: react.Context<JuneDocumentOptions>;
784
+ /** App-wide `documentEditor` config from JuneUI. Empty when the app did not set one. */
785
+ declare const DocumentEditorConfigContext: react.Context<DocumentEditorConfig>;
786
+ declare function useDocumentEditorConfig(): DocumentEditorConfig;
752
787
  declare function useDocumentOptions(): JuneDocumentOptions;
753
788
 
789
+ /** Per-document value, then the app config, then `"inline"`. */
790
+ declare function resolveDocumentPresentation(documentPresentation?: string | null, configured?: string | null): DocumentPresentation;
791
+ /** CSS width for the side panel. A number is pixels. */
792
+ declare function documentPanelWidth(width?: string | number): string | undefined;
793
+
754
794
  /** Provides document options (and edit write-back) to every DocumentEditor below it. */
755
- declare function DocumentBridge({ children, ...options }: DocumentBridgeOptions & {
795
+ declare function DocumentBridge({ children, documentEditor, ...options }: DocumentBridgeOptions & {
756
796
  children?: ReactNode;
797
+ documentEditor?: DocumentEditorConfig;
757
798
  }): react.JSX.Element;
758
799
 
759
800
  /**
@@ -1002,4 +1043,4 @@ declare function readLangGraphInterrupts(data: string, event?: string): unknown[
1002
1043
  */
1003
1044
  declare function interruptToApprovalRequests(value: unknown, idPrefix?: string): ToolApprovalRequest[];
1004
1045
 
1005
- export { ALL_EXPORT_FORMATS, type ActionEventParser, type ActionOutcome, type AnyComponentDefinition, type ApprovalChoice, type ComponentProps, ComponentRegistry, type ComponentRegistryOptions, type ConfirmAction, type ConsumeStreamOptions, DOCUMENT_COMPONENT_DESCRIPTION, type DefineComponentOptions, type DocJSON, type DocNode, DocumentBridge, type DocumentBridgeOptions, type DocumentChange, type DocumentConflict, DocumentEditor, type DocumentEditorProps, type DocumentExportEvent, type DocumentExportFormat, type DocumentExporter, type DocumentInstructionOptions, type DocumentProgramUpdate, type DocumentRecord, type DocumentSavePayload, type DocumentSnapshot, type DocumentStore, type ExportContext, type ExportResult, type FallbackArgs, type FetchStreamOptions, type IncomingDocument, type JuneAction, type JuneActionContext, type JuneActionDefinition, type JuneActionMap, type JuneComponent, type JuneComponentMeta, type JuneContextValue, JuneDocumentContext, JuneDocumentEditorComponent, type JuneDocumentOptions, JuneError, JuneErrorBoundary, type JuneErrorBoundaryProps, type JuneErrorCode, type JuneErrorOptions, type JuneLibraryOptions, type JuneRenderProps, JuneRenderer, type JuneRendererProps, type JuneResolvedTheme, JuneRuntimeContext, type JuneRuntimeValue, type JuneStreamState, type JuneThemeInput, type JuneThemeMode, JuneThemeProvider, type JuneThemeProviderProps, type JuneThemeSet, type JuneThemeToken, type JuneThemeVars, type LangGraphExtractorOptions, MarkdownText, type MarkdownTextProps, type MixedContent, type MixedContentOptions, type OpenUIActionEvent, type OpenUILibrary, type OpenUIRendererProps, type ParsedActionEvent, type PendingUpdate, type ReceiveOutcome, type RegisterOptions, type ResolveChoice, type ResponseChangeInfo, type RunActionOptions, type SchemaLike, type SplitOptions, type SplitResponse, type SseOptions, type StreamChunk, type StreamSource, type StreamStarter, type StreamStatus, type TextFormat, ToolApproval, type ToolApprovalDecision, type ToolApprovalEntry, type ToolApprovalInput, type ToolApprovalLabels, ToolApprovalList, type ToolApprovalListProps, type ToolApprovalProps, type ToolApprovalRequest, type ToolApprovalStatus, type UseJuneStreamOptions, type UseJuneStreamResult, type UseToolApprovalResult, consumeStream, copyDocumentToClipboard, createActionHandler, createComponentRegistry, createDocumentStore, createJuneLibrary, createLangGraphExtractor, createTheme, darkTheme, defaultParseActionEvent, defaultToolApprovalLabels, defineComponent, defineJuneAction, defineJuneComponent, documentPromptOptions, downloadResult, exportDocument, fetchStream, getDefaultDocumentStore, getDocumentEditorInstructions, getDocumentEditorRules, interruptToApprovalRequests, isDocumentEcho, isJuneComponent, isJuneError, isThemeSet, jsonFieldExtractor, langGraphStreamOptions, lightTheme, listDocumentExporters, mergeDocuments, messageContentToText, normalizeProgram, readDocumentFromProgram, readLangGraphInterrupts, registerDocumentExporter, rememberDocumentEcho, resolveMixedContent, resolveThemeVars, runAction, serializeDocumentsForAgent, splitResponse, sseToText, toAsyncIterable, toJuneError, updateDocumentInProgram, useDocumentBridge, useDocumentOptions, useJuneRuntime, useJuneStream, useJuneTheme, useRegistryLibrary, useResolvedTheme, useToolApproval, validateComponentDefinition, withDocumentEditor };
1046
+ export { ALL_EXPORT_FORMATS, type ActionEventParser, type ActionOutcome, type AnyComponentDefinition, type ApprovalChoice, type ComponentProps, ComponentRegistry, type ComponentRegistryOptions, type ConfirmAction, type ConsumeStreamOptions, DOCUMENT_COMPONENT_DESCRIPTION, type DefineComponentOptions, type DocJSON, type DocNode, DocumentBridge, type DocumentBridgeOptions, type DocumentChange, type DocumentConflict, DocumentEditor, type DocumentEditorConfig, DocumentEditorConfigContext, type DocumentEditorProps, type DocumentExportEvent, type DocumentExportFormat, type DocumentExporter, type DocumentInstructionOptions, type DocumentPresentation, type DocumentProgramUpdate, type DocumentRecord, type DocumentSavePayload, type DocumentSnapshot, type DocumentStore, type ExportContext, type ExportResult, type FallbackArgs, type FetchStreamOptions, type IncomingDocument, type JuneAction, type JuneActionContext, type JuneActionDefinition, type JuneActionMap, type JuneComponent, type JuneComponentMeta, type JuneContextValue, JuneDocumentContext, JuneDocumentEditorComponent, type JuneDocumentOptions, JuneError, JuneErrorBoundary, type JuneErrorBoundaryProps, type JuneErrorCode, type JuneErrorOptions, type JuneLibraryOptions, type JuneRenderProps, JuneRenderer, type JuneRendererProps, type JuneResolvedTheme, JuneRuntimeContext, type JuneRuntimeValue, type JuneStreamState, type JuneThemeInput, type JuneThemeMode, JuneThemeProvider, type JuneThemeProviderProps, type JuneThemeSet, type JuneThemeToken, type JuneThemeVars, type LangGraphExtractorOptions, MarkdownText, type MarkdownTextProps, type MixedContent, type MixedContentOptions, type OpenUIActionEvent, type OpenUILibrary, type OpenUIRendererProps, type ParsedActionEvent, type PendingUpdate, type ReceiveOutcome, type RegisterOptions, type ResolveChoice, type ResponseChangeInfo, type RunActionOptions, type SchemaLike, type SplitOptions, type SplitResponse, type SseOptions, type StreamChunk, type StreamSource, type StreamStarter, type StreamStatus, type TextFormat, ToolApproval, type ToolApprovalDecision, type ToolApprovalEntry, type ToolApprovalInput, type ToolApprovalLabels, ToolApprovalList, type ToolApprovalListProps, type ToolApprovalProps, type ToolApprovalRequest, type ToolApprovalStatus, type UseJuneStreamOptions, type UseJuneStreamResult, type UseToolApprovalResult, consumeStream, copyDocumentToClipboard, createActionHandler, createComponentRegistry, createDocumentStore, createJuneLibrary, createLangGraphExtractor, createTheme, darkTheme, defaultParseActionEvent, defaultToolApprovalLabels, defineComponent, defineJuneAction, defineJuneComponent, documentPanelWidth, documentPromptOptions, downloadResult, exportDocument, fetchStream, getDefaultDocumentStore, getDocumentEditorInstructions, getDocumentEditorRules, interruptToApprovalRequests, isDocumentEcho, isJuneComponent, isJuneError, isThemeSet, jsonFieldExtractor, langGraphStreamOptions, lightTheme, listDocumentExporters, mergeDocuments, messageContentToText, normalizeProgram, readDocumentFromProgram, readLangGraphInterrupts, registerDocumentExporter, rememberDocumentEcho, resolveDocumentPresentation, resolveMixedContent, resolveThemeVars, runAction, serializeDocumentsForAgent, splitResponse, sseToText, toAsyncIterable, toJuneError, updateDocumentInProgram, useDocumentBridge, useDocumentEditorConfig, useDocumentOptions, useJuneRuntime, useJuneStream, useJuneTheme, useRegistryLibrary, useResolvedTheme, useToolApproval, validateComponentDefinition, withDocumentEditor };
@@ -5,6 +5,7 @@ import {
5
5
  DOCUMENT_COMPONENT_DESCRIPTION,
6
6
  DocumentBridge,
7
7
  DocumentEditor,
8
+ DocumentEditorConfigContext,
8
9
  JuneDocumentContext,
9
10
  JuneDocumentEditorComponent,
10
11
  JuneErrorBoundary,
@@ -28,6 +29,7 @@ import {
28
29
  defineComponent,
29
30
  defineJuneAction,
30
31
  defineJuneComponent,
32
+ documentPanelWidth,
31
33
  documentPromptOptions,
32
34
  downloadResult,
33
35
  exportDocument,
@@ -50,6 +52,7 @@ import {
50
52
  readLangGraphInterrupts,
51
53
  registerDocumentExporter,
52
54
  rememberDocumentEcho,
55
+ resolveDocumentPresentation,
53
56
  resolveMixedContent,
54
57
  resolveThemeVars,
55
58
  runAction,
@@ -59,6 +62,7 @@ import {
59
62
  toAsyncIterable,
60
63
  updateDocumentInProgram,
61
64
  useDocumentBridge,
65
+ useDocumentEditorConfig,
62
66
  useDocumentOptions,
63
67
  useJuneRuntime,
64
68
  useJuneStream,
@@ -68,7 +72,7 @@ import {
68
72
  useToolApproval,
69
73
  validateComponentDefinition,
70
74
  withDocumentEditor
71
- } from "./chunk-JSRO5CRO.js";
75
+ } from "./chunk-2TBT4VRQ.js";
72
76
  import {
73
77
  JuneError,
74
78
  isJuneError,
@@ -80,6 +84,7 @@ export {
80
84
  DOCUMENT_COMPONENT_DESCRIPTION,
81
85
  DocumentBridge,
82
86
  DocumentEditor,
87
+ DocumentEditorConfigContext,
83
88
  JuneDocumentContext,
84
89
  JuneDocumentEditorComponent,
85
90
  JuneError,
@@ -104,6 +109,7 @@ export {
104
109
  defineComponent,
105
110
  defineJuneAction,
106
111
  defineJuneComponent,
112
+ documentPanelWidth,
107
113
  documentPromptOptions,
108
114
  downloadResult,
109
115
  exportDocument,
@@ -127,6 +133,7 @@ export {
127
133
  readLangGraphInterrupts,
128
134
  registerDocumentExporter,
129
135
  rememberDocumentEcho,
136
+ resolveDocumentPresentation,
130
137
  resolveMixedContent,
131
138
  resolveThemeVars,
132
139
  runAction,
@@ -137,6 +144,7 @@ export {
137
144
  toJuneError,
138
145
  updateDocumentInProgram,
139
146
  useDocumentBridge,
147
+ useDocumentEditorConfig,
140
148
  useDocumentOptions,
141
149
  useJuneRuntime,
142
150
  useJuneStream,
package/dist/index.cjs CHANGED
@@ -67,7 +67,11 @@
67
67
 
68
68
 
69
69
 
70
- var _chunkGFCROSGQcjs = require('./chunk-GFCROSGQ.cjs');
70
+
71
+
72
+
73
+
74
+ var _chunkTD6GKOURcjs = require('./chunk-TD6GKOUR.cjs');
71
75
 
72
76
 
73
77
 
@@ -103,8 +107,8 @@ function withChatLayout(library) {
103
107
  }
104
108
  });
105
109
  }
106
- var juneLibrary = _chunkGFCROSGQcjs.withDocumentEditor.call(void 0, withChatLayout(_reactui.openuiChatLibrary));
107
- var defaultRegistry = _chunkGFCROSGQcjs.createComponentRegistry.call(void 0, { base: juneLibrary });
110
+ var juneLibrary = _chunkTD6GKOURcjs.withDocumentEditor.call(void 0, withChatLayout(_reactui.openuiChatLibrary));
111
+ var defaultRegistry = _chunkTD6GKOURcjs.createComponentRegistry.call(void 0, { base: juneLibrary });
108
112
  function registerComponent(components, options) {
109
113
  return defaultRegistry.register(components, options);
110
114
  }
@@ -129,14 +133,14 @@ function useJuneUIContext() {
129
133
  function JuneUI({ library, june, ...props }) {
130
134
  const context = useJuneUIContext();
131
135
  const instance = _nullishCoalesce(june, () => ( _optionalChain([context, 'optionalAccess', _ => _.june])));
132
- const registryLibrary = _chunkGFCROSGQcjs.useRegistryLibrary.call(void 0, _nullishCoalesce(_optionalChain([instance, 'optionalAccess', _2 => _2.registry]), () => ( defaultRegistry)));
136
+ const registryLibrary = _chunkTD6GKOURcjs.useRegistryLibrary.call(void 0, _nullishCoalesce(_optionalChain([instance, 'optionalAccess', _2 => _2.registry]), () => ( defaultRegistry)));
133
137
  const merged = mergeDefined(_optionalChain([instance, 'optionalAccess', _3 => _3.defaults]), _optionalChain([context, 'optionalAccess', _4 => _4.defaults]), props);
134
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGFCROSGQcjs.JuneRenderer, { ...merged, library: _nullishCoalesce(library, () => ( registryLibrary)) });
138
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTD6GKOURcjs.JuneRenderer, { ...merged, library: _nullishCoalesce(library, () => ( registryLibrary)) });
135
139
  }
136
140
 
137
141
  // src/core/create-june-ui.ts
138
142
  function createJuneUI(options = {}) {
139
- const registry = _chunkGFCROSGQcjs.createComponentRegistry.call(void 0, {
143
+ const registry = _chunkTD6GKOURcjs.createComponentRegistry.call(void 0, {
140
144
  base: _nullishCoalesce(options.baseLibrary, () => ( juneLibrary)),
141
145
  components: options.components,
142
146
  overrides: options.overrides,
@@ -237,4 +241,8 @@ function createJuneUI(options = {}) {
237
241
 
238
242
 
239
243
 
240
- exports.ALL_EXPORT_FORMATS = _chunkGFCROSGQcjs.ALL_EXPORT_FORMATS; exports.ComponentRegistry = _chunkGFCROSGQcjs.ComponentRegistry; exports.DOCUMENT_COMPONENT_DESCRIPTION = _chunkGFCROSGQcjs.DOCUMENT_COMPONENT_DESCRIPTION; exports.DocumentBridge = _chunkGFCROSGQcjs.DocumentBridge; exports.DocumentEditor = _chunkGFCROSGQcjs.DocumentEditor; exports.JuneDocumentContext = _chunkGFCROSGQcjs.JuneDocumentContext; exports.JuneDocumentEditorComponent = _chunkGFCROSGQcjs.JuneDocumentEditorComponent; exports.JuneError = _chunkG6YPSE6Jcjs.JuneError; exports.JuneErrorBoundary = _chunkGFCROSGQcjs.JuneErrorBoundary; exports.JuneRenderer = _chunkGFCROSGQcjs.JuneRenderer; exports.JuneRuntimeContext = _chunkGFCROSGQcjs.JuneRuntimeContext; exports.JuneThemeProvider = _chunkGFCROSGQcjs.JuneThemeProvider; exports.JuneUI = JuneUI; exports.JuneUIProvider = JuneUIProvider; exports.MarkdownText = _chunkGFCROSGQcjs.MarkdownText; exports.ToolApproval = _chunkGFCROSGQcjs.ToolApproval; exports.ToolApprovalList = _chunkGFCROSGQcjs.ToolApprovalList; exports.consumeStream = _chunkGFCROSGQcjs.consumeStream; exports.copyDocumentToClipboard = _chunkGFCROSGQcjs.copyDocumentToClipboard; exports.createActionHandler = _chunkGFCROSGQcjs.createActionHandler; exports.createComponentRegistry = _chunkGFCROSGQcjs.createComponentRegistry; exports.createDocumentStore = _chunkGFCROSGQcjs.createDocumentStore; exports.createJuneLibrary = _chunkGFCROSGQcjs.createJuneLibrary; exports.createJuneUI = createJuneUI; exports.createLangGraphExtractor = _chunkGFCROSGQcjs.createLangGraphExtractor; exports.createTheme = _chunkGFCROSGQcjs.createTheme; exports.darkTheme = _chunkGFCROSGQcjs.darkTheme; exports.defaultParseActionEvent = _chunkGFCROSGQcjs.defaultParseActionEvent; exports.defaultRegistry = defaultRegistry; exports.defaultToolApprovalLabels = _chunkGFCROSGQcjs.defaultToolApprovalLabels; exports.defineComponent = _chunkGFCROSGQcjs.defineComponent; exports.defineJuneAction = _chunkGFCROSGQcjs.defineJuneAction; exports.defineJuneComponent = _chunkGFCROSGQcjs.defineJuneComponent; exports.documentPromptOptions = _chunkGFCROSGQcjs.documentPromptOptions; exports.downloadResult = _chunkGFCROSGQcjs.downloadResult; exports.exportDocument = _chunkGFCROSGQcjs.exportDocument; exports.fetchStream = _chunkGFCROSGQcjs.fetchStream; exports.getDefaultDocumentStore = _chunkGFCROSGQcjs.getDefaultDocumentStore; exports.getDocumentEditorInstructions = _chunkGFCROSGQcjs.getDocumentEditorInstructions; exports.getDocumentEditorRules = _chunkGFCROSGQcjs.getDocumentEditorRules; exports.interruptToApprovalRequests = _chunkGFCROSGQcjs.interruptToApprovalRequests; exports.isDocumentEcho = _chunkGFCROSGQcjs.isDocumentEcho; exports.isJuneComponent = _chunkGFCROSGQcjs.isJuneComponent; exports.isJuneError = _chunkG6YPSE6Jcjs.isJuneError; exports.isThemeSet = _chunkGFCROSGQcjs.isThemeSet; exports.jsonFieldExtractor = _chunkGFCROSGQcjs.jsonFieldExtractor; exports.juneLibrary = juneLibrary; exports.langGraphStreamOptions = _chunkGFCROSGQcjs.langGraphStreamOptions; exports.lightTheme = _chunkGFCROSGQcjs.lightTheme; exports.listDocumentExporters = _chunkGFCROSGQcjs.listDocumentExporters; exports.mergeDocuments = _chunkGFCROSGQcjs.mergeDocuments; exports.messageContentToText = _chunkGFCROSGQcjs.messageContentToText; exports.normalizeProgram = _chunkGFCROSGQcjs.normalizeProgram; exports.readDocumentFromProgram = _chunkGFCROSGQcjs.readDocumentFromProgram; exports.readLangGraphInterrupts = _chunkGFCROSGQcjs.readLangGraphInterrupts; exports.registerComponent = registerComponent; exports.registerDocumentExporter = _chunkGFCROSGQcjs.registerDocumentExporter; exports.rememberDocumentEcho = _chunkGFCROSGQcjs.rememberDocumentEcho; exports.resolveMixedContent = _chunkGFCROSGQcjs.resolveMixedContent; exports.resolveThemeVars = _chunkGFCROSGQcjs.resolveThemeVars; exports.runAction = _chunkGFCROSGQcjs.runAction; exports.serializeDocumentsForAgent = _chunkGFCROSGQcjs.serializeDocumentsForAgent; exports.splitResponse = _chunkGFCROSGQcjs.splitResponse; exports.sseToText = _chunkGFCROSGQcjs.sseToText; exports.toAsyncIterable = _chunkGFCROSGQcjs.toAsyncIterable; exports.toJuneError = _chunkG6YPSE6Jcjs.toJuneError; exports.unregisterComponent = unregisterComponent; exports.updateDocumentInProgram = _chunkGFCROSGQcjs.updateDocumentInProgram; exports.useDocumentBridge = _chunkGFCROSGQcjs.useDocumentBridge; exports.useDocumentOptions = _chunkGFCROSGQcjs.useDocumentOptions; exports.useJuneRuntime = _chunkGFCROSGQcjs.useJuneRuntime; exports.useJuneStream = _chunkGFCROSGQcjs.useJuneStream; exports.useJuneTheme = _chunkGFCROSGQcjs.useJuneTheme; exports.useJuneUIContext = useJuneUIContext; exports.useRegistryLibrary = _chunkGFCROSGQcjs.useRegistryLibrary; exports.useResolvedTheme = _chunkGFCROSGQcjs.useResolvedTheme; exports.useToolApproval = _chunkGFCROSGQcjs.useToolApproval; exports.validateComponentDefinition = _chunkGFCROSGQcjs.validateComponentDefinition; exports.withDocumentEditor = _chunkGFCROSGQcjs.withDocumentEditor;
244
+
245
+
246
+
247
+
248
+ exports.ALL_EXPORT_FORMATS = _chunkTD6GKOURcjs.ALL_EXPORT_FORMATS; exports.ComponentRegistry = _chunkTD6GKOURcjs.ComponentRegistry; exports.DOCUMENT_COMPONENT_DESCRIPTION = _chunkTD6GKOURcjs.DOCUMENT_COMPONENT_DESCRIPTION; exports.DocumentBridge = _chunkTD6GKOURcjs.DocumentBridge; exports.DocumentEditor = _chunkTD6GKOURcjs.DocumentEditor; exports.DocumentEditorConfigContext = _chunkTD6GKOURcjs.DocumentEditorConfigContext; exports.JuneDocumentContext = _chunkTD6GKOURcjs.JuneDocumentContext; exports.JuneDocumentEditorComponent = _chunkTD6GKOURcjs.JuneDocumentEditorComponent; exports.JuneError = _chunkG6YPSE6Jcjs.JuneError; exports.JuneErrorBoundary = _chunkTD6GKOURcjs.JuneErrorBoundary; exports.JuneRenderer = _chunkTD6GKOURcjs.JuneRenderer; exports.JuneRuntimeContext = _chunkTD6GKOURcjs.JuneRuntimeContext; exports.JuneThemeProvider = _chunkTD6GKOURcjs.JuneThemeProvider; exports.JuneUI = JuneUI; exports.JuneUIProvider = JuneUIProvider; exports.MarkdownText = _chunkTD6GKOURcjs.MarkdownText; exports.ToolApproval = _chunkTD6GKOURcjs.ToolApproval; exports.ToolApprovalList = _chunkTD6GKOURcjs.ToolApprovalList; exports.consumeStream = _chunkTD6GKOURcjs.consumeStream; exports.copyDocumentToClipboard = _chunkTD6GKOURcjs.copyDocumentToClipboard; exports.createActionHandler = _chunkTD6GKOURcjs.createActionHandler; exports.createComponentRegistry = _chunkTD6GKOURcjs.createComponentRegistry; exports.createDocumentStore = _chunkTD6GKOURcjs.createDocumentStore; exports.createJuneLibrary = _chunkTD6GKOURcjs.createJuneLibrary; exports.createJuneUI = createJuneUI; exports.createLangGraphExtractor = _chunkTD6GKOURcjs.createLangGraphExtractor; exports.createTheme = _chunkTD6GKOURcjs.createTheme; exports.darkTheme = _chunkTD6GKOURcjs.darkTheme; exports.defaultParseActionEvent = _chunkTD6GKOURcjs.defaultParseActionEvent; exports.defaultRegistry = defaultRegistry; exports.defaultToolApprovalLabels = _chunkTD6GKOURcjs.defaultToolApprovalLabels; exports.defineComponent = _chunkTD6GKOURcjs.defineComponent; exports.defineJuneAction = _chunkTD6GKOURcjs.defineJuneAction; exports.defineJuneComponent = _chunkTD6GKOURcjs.defineJuneComponent; exports.documentPanelWidth = _chunkTD6GKOURcjs.documentPanelWidth; exports.documentPromptOptions = _chunkTD6GKOURcjs.documentPromptOptions; exports.downloadResult = _chunkTD6GKOURcjs.downloadResult; exports.exportDocument = _chunkTD6GKOURcjs.exportDocument; exports.fetchStream = _chunkTD6GKOURcjs.fetchStream; exports.getDefaultDocumentStore = _chunkTD6GKOURcjs.getDefaultDocumentStore; exports.getDocumentEditorInstructions = _chunkTD6GKOURcjs.getDocumentEditorInstructions; exports.getDocumentEditorRules = _chunkTD6GKOURcjs.getDocumentEditorRules; exports.interruptToApprovalRequests = _chunkTD6GKOURcjs.interruptToApprovalRequests; exports.isDocumentEcho = _chunkTD6GKOURcjs.isDocumentEcho; exports.isJuneComponent = _chunkTD6GKOURcjs.isJuneComponent; exports.isJuneError = _chunkG6YPSE6Jcjs.isJuneError; exports.isThemeSet = _chunkTD6GKOURcjs.isThemeSet; exports.jsonFieldExtractor = _chunkTD6GKOURcjs.jsonFieldExtractor; exports.juneLibrary = juneLibrary; exports.langGraphStreamOptions = _chunkTD6GKOURcjs.langGraphStreamOptions; exports.lightTheme = _chunkTD6GKOURcjs.lightTheme; exports.listDocumentExporters = _chunkTD6GKOURcjs.listDocumentExporters; exports.mergeDocuments = _chunkTD6GKOURcjs.mergeDocuments; exports.messageContentToText = _chunkTD6GKOURcjs.messageContentToText; exports.normalizeProgram = _chunkTD6GKOURcjs.normalizeProgram; exports.readDocumentFromProgram = _chunkTD6GKOURcjs.readDocumentFromProgram; exports.readLangGraphInterrupts = _chunkTD6GKOURcjs.readLangGraphInterrupts; exports.registerComponent = registerComponent; exports.registerDocumentExporter = _chunkTD6GKOURcjs.registerDocumentExporter; exports.rememberDocumentEcho = _chunkTD6GKOURcjs.rememberDocumentEcho; exports.resolveDocumentPresentation = _chunkTD6GKOURcjs.resolveDocumentPresentation; exports.resolveMixedContent = _chunkTD6GKOURcjs.resolveMixedContent; exports.resolveThemeVars = _chunkTD6GKOURcjs.resolveThemeVars; exports.runAction = _chunkTD6GKOURcjs.runAction; exports.serializeDocumentsForAgent = _chunkTD6GKOURcjs.serializeDocumentsForAgent; exports.splitResponse = _chunkTD6GKOURcjs.splitResponse; exports.sseToText = _chunkTD6GKOURcjs.sseToText; exports.toAsyncIterable = _chunkTD6GKOURcjs.toAsyncIterable; exports.toJuneError = _chunkG6YPSE6Jcjs.toJuneError; exports.unregisterComponent = unregisterComponent; exports.updateDocumentInProgram = _chunkTD6GKOURcjs.updateDocumentInProgram; exports.useDocumentBridge = _chunkTD6GKOURcjs.useDocumentBridge; exports.useDocumentEditorConfig = _chunkTD6GKOURcjs.useDocumentEditorConfig; exports.useDocumentOptions = _chunkTD6GKOURcjs.useDocumentOptions; exports.useJuneRuntime = _chunkTD6GKOURcjs.useJuneRuntime; exports.useJuneStream = _chunkTD6GKOURcjs.useJuneStream; exports.useJuneTheme = _chunkTD6GKOURcjs.useJuneTheme; exports.useJuneUIContext = useJuneUIContext; exports.useRegistryLibrary = _chunkTD6GKOURcjs.useRegistryLibrary; exports.useResolvedTheme = _chunkTD6GKOURcjs.useResolvedTheme; exports.useToolApproval = _chunkTD6GKOURcjs.useToolApproval; exports.validateComponentDefinition = _chunkTD6GKOURcjs.validateComponentDefinition; exports.withDocumentEditor = _chunkTD6GKOURcjs.withDocumentEditor;
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { JuneRendererProps, AnyComponentDefinition, OpenUILibrary, ComponentRegistry, RegisterOptions } from './entry-core.cjs';
2
- export { ALL_EXPORT_FORMATS, ActionEventParser, ActionOutcome, ApprovalChoice, ComponentProps, ComponentRegistryOptions, ConfirmAction, ConsumeStreamOptions, DOCUMENT_COMPONENT_DESCRIPTION, DefineComponentOptions, DocJSON, DocNode, DocumentBridge, DocumentBridgeOptions, DocumentChange, DocumentConflict, DocumentEditor, DocumentEditorProps, DocumentExportEvent, DocumentExportFormat, DocumentExporter, DocumentInstructionOptions, DocumentProgramUpdate, DocumentRecord, DocumentSavePayload, DocumentSnapshot, DocumentStore, ExportContext, ExportResult, FallbackArgs, FetchStreamOptions, IncomingDocument, JuneAction, JuneActionContext, JuneActionDefinition, JuneActionMap, JuneComponent, JuneComponentMeta, JuneContextValue, JuneDocumentContext, JuneDocumentEditorComponent, JuneDocumentOptions, JuneError, JuneErrorBoundary, JuneErrorBoundaryProps, JuneErrorCode, JuneErrorOptions, JuneLibraryOptions, JuneRenderProps, JuneRenderer, JuneResolvedTheme, JuneRuntimeContext, JuneRuntimeValue, JuneStreamState, JuneThemeInput, JuneThemeMode, JuneThemeProvider, JuneThemeProviderProps, JuneThemeSet, JuneThemeToken, JuneThemeVars, LangGraphExtractorOptions, MarkdownText, MarkdownTextProps, MixedContent, MixedContentOptions, OpenUIActionEvent, OpenUIRendererProps, ParsedActionEvent, PendingUpdate, ReceiveOutcome, ResolveChoice, ResponseChangeInfo, RunActionOptions, SchemaLike, SplitOptions, SplitResponse, SseOptions, StreamChunk, StreamSource, StreamStarter, StreamStatus, TextFormat, ToolApproval, ToolApprovalDecision, ToolApprovalEntry, ToolApprovalInput, ToolApprovalLabels, ToolApprovalList, ToolApprovalListProps, ToolApprovalProps, ToolApprovalRequest, ToolApprovalStatus, UseJuneStreamOptions, UseJuneStreamResult, UseToolApprovalResult, consumeStream, copyDocumentToClipboard, createActionHandler, createComponentRegistry, createDocumentStore, createJuneLibrary, createLangGraphExtractor, createTheme, darkTheme, defaultParseActionEvent, defaultToolApprovalLabels, defineComponent, defineJuneAction, defineJuneComponent, documentPromptOptions, downloadResult, exportDocument, fetchStream, getDefaultDocumentStore, getDocumentEditorInstructions, getDocumentEditorRules, interruptToApprovalRequests, isDocumentEcho, isJuneComponent, isJuneError, isThemeSet, jsonFieldExtractor, langGraphStreamOptions, lightTheme, listDocumentExporters, mergeDocuments, messageContentToText, normalizeProgram, readDocumentFromProgram, readLangGraphInterrupts, registerDocumentExporter, rememberDocumentEcho, resolveMixedContent, resolveThemeVars, runAction, serializeDocumentsForAgent, splitResponse, sseToText, toAsyncIterable, toJuneError, updateDocumentInProgram, useDocumentBridge, useDocumentOptions, useJuneRuntime, useJuneStream, useJuneTheme, useRegistryLibrary, useResolvedTheme, useToolApproval, validateComponentDefinition, withDocumentEditor } from './entry-core.cjs';
2
+ export { ALL_EXPORT_FORMATS, ActionEventParser, ActionOutcome, ApprovalChoice, ComponentProps, ComponentRegistryOptions, ConfirmAction, ConsumeStreamOptions, DOCUMENT_COMPONENT_DESCRIPTION, DefineComponentOptions, DocJSON, DocNode, DocumentBridge, DocumentBridgeOptions, DocumentChange, DocumentConflict, DocumentEditor, DocumentEditorConfig, DocumentEditorConfigContext, DocumentEditorProps, DocumentExportEvent, DocumentExportFormat, DocumentExporter, DocumentInstructionOptions, DocumentPresentation, DocumentProgramUpdate, DocumentRecord, DocumentSavePayload, DocumentSnapshot, DocumentStore, ExportContext, ExportResult, FallbackArgs, FetchStreamOptions, IncomingDocument, JuneAction, JuneActionContext, JuneActionDefinition, JuneActionMap, JuneComponent, JuneComponentMeta, JuneContextValue, JuneDocumentContext, JuneDocumentEditorComponent, JuneDocumentOptions, JuneError, JuneErrorBoundary, JuneErrorBoundaryProps, JuneErrorCode, JuneErrorOptions, JuneLibraryOptions, JuneRenderProps, JuneRenderer, JuneResolvedTheme, JuneRuntimeContext, JuneRuntimeValue, JuneStreamState, JuneThemeInput, JuneThemeMode, JuneThemeProvider, JuneThemeProviderProps, JuneThemeSet, JuneThemeToken, JuneThemeVars, LangGraphExtractorOptions, MarkdownText, MarkdownTextProps, MixedContent, MixedContentOptions, OpenUIActionEvent, OpenUIRendererProps, ParsedActionEvent, PendingUpdate, ReceiveOutcome, ResolveChoice, ResponseChangeInfo, RunActionOptions, SchemaLike, SplitOptions, SplitResponse, SseOptions, StreamChunk, StreamSource, StreamStarter, StreamStatus, TextFormat, ToolApproval, ToolApprovalDecision, ToolApprovalEntry, ToolApprovalInput, ToolApprovalLabels, ToolApprovalList, ToolApprovalListProps, ToolApprovalProps, ToolApprovalRequest, ToolApprovalStatus, UseJuneStreamOptions, UseJuneStreamResult, UseToolApprovalResult, consumeStream, copyDocumentToClipboard, createActionHandler, createComponentRegistry, createDocumentStore, createJuneLibrary, createLangGraphExtractor, createTheme, darkTheme, defaultParseActionEvent, defaultToolApprovalLabels, defineComponent, defineJuneAction, defineJuneComponent, documentPanelWidth, documentPromptOptions, downloadResult, exportDocument, fetchStream, getDefaultDocumentStore, getDocumentEditorInstructions, getDocumentEditorRules, interruptToApprovalRequests, isDocumentEcho, isJuneComponent, isJuneError, isThemeSet, jsonFieldExtractor, langGraphStreamOptions, lightTheme, listDocumentExporters, mergeDocuments, messageContentToText, normalizeProgram, readDocumentFromProgram, readLangGraphInterrupts, registerDocumentExporter, rememberDocumentEcho, resolveDocumentPresentation, resolveMixedContent, resolveThemeVars, runAction, serializeDocumentsForAgent, splitResponse, sseToText, toAsyncIterable, toJuneError, updateDocumentInProgram, useDocumentBridge, useDocumentEditorConfig, useDocumentOptions, useJuneRuntime, useJuneStream, useJuneTheme, useRegistryLibrary, useResolvedTheme, useToolApproval, validateComponentDefinition, withDocumentEditor } from './entry-core.cjs';
3
3
  import * as react from 'react';
4
4
  import { ReactNode } from 'react';
5
5
  import { PromptOptions } from '@openuidev/react-lang';
@@ -11,7 +11,7 @@ import '@openuidev/lang-core';
11
11
  * Props that can be set once (on a `createJuneUI` instance or a `JuneUIProvider`) instead of on
12
12
  * every `<JuneUI>`. Props passed to `<JuneUI>` itself always win.
13
13
  */
14
- type JuneUIDefaults = Partial<Pick<JuneRendererProps, "mixedContent" | "textFormat" | "renderText" | "repair" | "theme" | "themeVars" | "className" | "actions" | "confirmAction" | "parseActionEvent" | "onAction" | "onJuneError" | "documents" | "loadingFallback" | "emptyFallback" | "errorFallback" | "toolProvider">>;
14
+ type JuneUIDefaults = Partial<Pick<JuneRendererProps, "mixedContent" | "textFormat" | "renderText" | "repair" | "theme" | "themeVars" | "className" | "actions" | "confirmAction" | "parseActionEvent" | "onAction" | "onJuneError" | "documents" | "documentEditor" | "loadingFallback" | "emptyFallback" | "errorFallback" | "toolProvider">>;
15
15
 
16
16
  interface CreateJuneUIOptions {
17
17
  /** Your components, made with `defineComponent`. Names must be new. */
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { JuneRendererProps, AnyComponentDefinition, OpenUILibrary, ComponentRegistry, RegisterOptions } from './entry-core.js';
2
- export { ALL_EXPORT_FORMATS, ActionEventParser, ActionOutcome, ApprovalChoice, ComponentProps, ComponentRegistryOptions, ConfirmAction, ConsumeStreamOptions, DOCUMENT_COMPONENT_DESCRIPTION, DefineComponentOptions, DocJSON, DocNode, DocumentBridge, DocumentBridgeOptions, DocumentChange, DocumentConflict, DocumentEditor, DocumentEditorProps, DocumentExportEvent, DocumentExportFormat, DocumentExporter, DocumentInstructionOptions, DocumentProgramUpdate, DocumentRecord, DocumentSavePayload, DocumentSnapshot, DocumentStore, ExportContext, ExportResult, FallbackArgs, FetchStreamOptions, IncomingDocument, JuneAction, JuneActionContext, JuneActionDefinition, JuneActionMap, JuneComponent, JuneComponentMeta, JuneContextValue, JuneDocumentContext, JuneDocumentEditorComponent, JuneDocumentOptions, JuneError, JuneErrorBoundary, JuneErrorBoundaryProps, JuneErrorCode, JuneErrorOptions, JuneLibraryOptions, JuneRenderProps, JuneRenderer, JuneResolvedTheme, JuneRuntimeContext, JuneRuntimeValue, JuneStreamState, JuneThemeInput, JuneThemeMode, JuneThemeProvider, JuneThemeProviderProps, JuneThemeSet, JuneThemeToken, JuneThemeVars, LangGraphExtractorOptions, MarkdownText, MarkdownTextProps, MixedContent, MixedContentOptions, OpenUIActionEvent, OpenUIRendererProps, ParsedActionEvent, PendingUpdate, ReceiveOutcome, ResolveChoice, ResponseChangeInfo, RunActionOptions, SchemaLike, SplitOptions, SplitResponse, SseOptions, StreamChunk, StreamSource, StreamStarter, StreamStatus, TextFormat, ToolApproval, ToolApprovalDecision, ToolApprovalEntry, ToolApprovalInput, ToolApprovalLabels, ToolApprovalList, ToolApprovalListProps, ToolApprovalProps, ToolApprovalRequest, ToolApprovalStatus, UseJuneStreamOptions, UseJuneStreamResult, UseToolApprovalResult, consumeStream, copyDocumentToClipboard, createActionHandler, createComponentRegistry, createDocumentStore, createJuneLibrary, createLangGraphExtractor, createTheme, darkTheme, defaultParseActionEvent, defaultToolApprovalLabels, defineComponent, defineJuneAction, defineJuneComponent, documentPromptOptions, downloadResult, exportDocument, fetchStream, getDefaultDocumentStore, getDocumentEditorInstructions, getDocumentEditorRules, interruptToApprovalRequests, isDocumentEcho, isJuneComponent, isJuneError, isThemeSet, jsonFieldExtractor, langGraphStreamOptions, lightTheme, listDocumentExporters, mergeDocuments, messageContentToText, normalizeProgram, readDocumentFromProgram, readLangGraphInterrupts, registerDocumentExporter, rememberDocumentEcho, resolveMixedContent, resolveThemeVars, runAction, serializeDocumentsForAgent, splitResponse, sseToText, toAsyncIterable, toJuneError, updateDocumentInProgram, useDocumentBridge, useDocumentOptions, useJuneRuntime, useJuneStream, useJuneTheme, useRegistryLibrary, useResolvedTheme, useToolApproval, validateComponentDefinition, withDocumentEditor } from './entry-core.js';
2
+ export { ALL_EXPORT_FORMATS, ActionEventParser, ActionOutcome, ApprovalChoice, ComponentProps, ComponentRegistryOptions, ConfirmAction, ConsumeStreamOptions, DOCUMENT_COMPONENT_DESCRIPTION, DefineComponentOptions, DocJSON, DocNode, DocumentBridge, DocumentBridgeOptions, DocumentChange, DocumentConflict, DocumentEditor, DocumentEditorConfig, DocumentEditorConfigContext, DocumentEditorProps, DocumentExportEvent, DocumentExportFormat, DocumentExporter, DocumentInstructionOptions, DocumentPresentation, DocumentProgramUpdate, DocumentRecord, DocumentSavePayload, DocumentSnapshot, DocumentStore, ExportContext, ExportResult, FallbackArgs, FetchStreamOptions, IncomingDocument, JuneAction, JuneActionContext, JuneActionDefinition, JuneActionMap, JuneComponent, JuneComponentMeta, JuneContextValue, JuneDocumentContext, JuneDocumentEditorComponent, JuneDocumentOptions, JuneError, JuneErrorBoundary, JuneErrorBoundaryProps, JuneErrorCode, JuneErrorOptions, JuneLibraryOptions, JuneRenderProps, JuneRenderer, JuneResolvedTheme, JuneRuntimeContext, JuneRuntimeValue, JuneStreamState, JuneThemeInput, JuneThemeMode, JuneThemeProvider, JuneThemeProviderProps, JuneThemeSet, JuneThemeToken, JuneThemeVars, LangGraphExtractorOptions, MarkdownText, MarkdownTextProps, MixedContent, MixedContentOptions, OpenUIActionEvent, OpenUIRendererProps, ParsedActionEvent, PendingUpdate, ReceiveOutcome, ResolveChoice, ResponseChangeInfo, RunActionOptions, SchemaLike, SplitOptions, SplitResponse, SseOptions, StreamChunk, StreamSource, StreamStarter, StreamStatus, TextFormat, ToolApproval, ToolApprovalDecision, ToolApprovalEntry, ToolApprovalInput, ToolApprovalLabels, ToolApprovalList, ToolApprovalListProps, ToolApprovalProps, ToolApprovalRequest, ToolApprovalStatus, UseJuneStreamOptions, UseJuneStreamResult, UseToolApprovalResult, consumeStream, copyDocumentToClipboard, createActionHandler, createComponentRegistry, createDocumentStore, createJuneLibrary, createLangGraphExtractor, createTheme, darkTheme, defaultParseActionEvent, defaultToolApprovalLabels, defineComponent, defineJuneAction, defineJuneComponent, documentPanelWidth, documentPromptOptions, downloadResult, exportDocument, fetchStream, getDefaultDocumentStore, getDocumentEditorInstructions, getDocumentEditorRules, interruptToApprovalRequests, isDocumentEcho, isJuneComponent, isJuneError, isThemeSet, jsonFieldExtractor, langGraphStreamOptions, lightTheme, listDocumentExporters, mergeDocuments, messageContentToText, normalizeProgram, readDocumentFromProgram, readLangGraphInterrupts, registerDocumentExporter, rememberDocumentEcho, resolveDocumentPresentation, resolveMixedContent, resolveThemeVars, runAction, serializeDocumentsForAgent, splitResponse, sseToText, toAsyncIterable, toJuneError, updateDocumentInProgram, useDocumentBridge, useDocumentEditorConfig, useDocumentOptions, useJuneRuntime, useJuneStream, useJuneTheme, useRegistryLibrary, useResolvedTheme, useToolApproval, validateComponentDefinition, withDocumentEditor } from './entry-core.js';
3
3
  import * as react from 'react';
4
4
  import { ReactNode } from 'react';
5
5
  import { PromptOptions } from '@openuidev/react-lang';
@@ -11,7 +11,7 @@ import '@openuidev/lang-core';
11
11
  * Props that can be set once (on a `createJuneUI` instance or a `JuneUIProvider`) instead of on
12
12
  * every `<JuneUI>`. Props passed to `<JuneUI>` itself always win.
13
13
  */
14
- type JuneUIDefaults = Partial<Pick<JuneRendererProps, "mixedContent" | "textFormat" | "renderText" | "repair" | "theme" | "themeVars" | "className" | "actions" | "confirmAction" | "parseActionEvent" | "onAction" | "onJuneError" | "documents" | "loadingFallback" | "emptyFallback" | "errorFallback" | "toolProvider">>;
14
+ type JuneUIDefaults = Partial<Pick<JuneRendererProps, "mixedContent" | "textFormat" | "renderText" | "repair" | "theme" | "themeVars" | "className" | "actions" | "confirmAction" | "parseActionEvent" | "onAction" | "onJuneError" | "documents" | "documentEditor" | "loadingFallback" | "emptyFallback" | "errorFallback" | "toolProvider">>;
15
15
 
16
16
  interface CreateJuneUIOptions {
17
17
  /** Your components, made with `defineComponent`. Names must be new. */
package/dist/index.js CHANGED
@@ -5,6 +5,7 @@ import {
5
5
  DOCUMENT_COMPONENT_DESCRIPTION,
6
6
  DocumentBridge,
7
7
  DocumentEditor,
8
+ DocumentEditorConfigContext,
8
9
  JuneDocumentContext,
9
10
  JuneDocumentEditorComponent,
10
11
  JuneErrorBoundary,
@@ -28,6 +29,7 @@ import {
28
29
  defineComponent,
29
30
  defineJuneAction,
30
31
  defineJuneComponent,
32
+ documentPanelWidth,
31
33
  documentPromptOptions,
32
34
  downloadResult,
33
35
  exportDocument,
@@ -50,6 +52,7 @@ import {
50
52
  readLangGraphInterrupts,
51
53
  registerDocumentExporter,
52
54
  rememberDocumentEcho,
55
+ resolveDocumentPresentation,
53
56
  resolveMixedContent,
54
57
  resolveThemeVars,
55
58
  runAction,
@@ -59,6 +62,7 @@ import {
59
62
  toAsyncIterable,
60
63
  updateDocumentInProgram,
61
64
  useDocumentBridge,
65
+ useDocumentEditorConfig,
62
66
  useDocumentOptions,
63
67
  useJuneRuntime,
64
68
  useJuneStream,
@@ -68,7 +72,7 @@ import {
68
72
  useToolApproval,
69
73
  validateComponentDefinition,
70
74
  withDocumentEditor
71
- } from "./chunk-JSRO5CRO.js";
75
+ } from "./chunk-2TBT4VRQ.js";
72
76
  import {
73
77
  JuneError,
74
78
  isJuneError,
@@ -164,6 +168,7 @@ export {
164
168
  DOCUMENT_COMPONENT_DESCRIPTION,
165
169
  DocumentBridge,
166
170
  DocumentEditor,
171
+ DocumentEditorConfigContext,
167
172
  JuneDocumentContext,
168
173
  JuneDocumentEditorComponent,
169
174
  JuneError,
@@ -192,6 +197,7 @@ export {
192
197
  defineComponent,
193
198
  defineJuneAction,
194
199
  defineJuneComponent,
200
+ documentPanelWidth,
195
201
  documentPromptOptions,
196
202
  downloadResult,
197
203
  exportDocument,
@@ -217,6 +223,7 @@ export {
217
223
  registerComponent,
218
224
  registerDocumentExporter,
219
225
  rememberDocumentEcho,
226
+ resolveDocumentPresentation,
220
227
  resolveMixedContent,
221
228
  resolveThemeVars,
222
229
  runAction,
@@ -228,6 +235,7 @@ export {
228
235
  unregisterComponent,
229
236
  updateDocumentInProgram,
230
237
  useDocumentBridge,
238
+ useDocumentEditorConfig,
231
239
  useDocumentOptions,
232
240
  useJuneRuntime,
233
241
  useJuneStream,
package/dist/june.css CHANGED
@@ -483,6 +483,58 @@
483
483
  .june-doc__status { display: none; }
484
484
  .june-doc__footer { justify-content: space-between; }
485
485
  }
486
+ /* ---------- generated preview and edit panel ---------- */
487
+ .june-doc-card { margin: 8px 0; }
488
+ .june-doc-card__bar {
489
+ display: flex; align-items: center; gap: 10px;
490
+ min-height: 44px; padding: 6px 8px 6px 14px;
491
+ border-bottom: 1px solid var(--jd-border);
492
+ }
493
+ .june-doc-card__title {
494
+ flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
495
+ font-size: 0.9375rem; font-weight: 600;
496
+ }
497
+ .june-doc-card__actions { display: flex; align-items: center; gap: 2px; flex: none; }
498
+ .june-doc-card__notice { font-size: 0.75rem; color: var(--jd-muted); padding-right: 4px; }
499
+ .june-doc-card__canvas {
500
+ max-height: 420px; overflow: auto;
501
+ padding: 14px 12px 18px; background: var(--jd-canvas);
502
+ }
503
+ .june-doc-card__sheet {
504
+ max-width: 794px; margin: 0 auto; padding: 28px 24px;
505
+ color: var(--jd-page-fg); background: var(--jd-page);
506
+ border: 1px solid var(--jd-border); border-radius: 3px; box-shadow: var(--jd-shadow);
507
+ }
508
+ .june-doc.june-doc-inline {
509
+ margin: 8px 0; border: 0; background: transparent; box-shadow: none;
510
+ }
511
+ .june-doc-inline > .june-doc { margin-top: 0; }
512
+ .june-doc-editor__bar {
513
+ display: flex; align-items: center; justify-content: flex-end;
514
+ min-height: 40px; padding: 4px 8px;
515
+ background: var(--jd-bg); border: 1px solid var(--jd-border); border-bottom: 0;
516
+ border-radius: var(--jd-radius) var(--jd-radius) 0 0;
517
+ }
518
+ .june-doc-inline .june-doc-editor__bar + .june-doc { border-top-left-radius: 0; border-top-right-radius: 0; }
519
+ .june-doc-modal {
520
+ position: fixed; inset: 0; z-index: 2147482000;
521
+ display: flex; justify-content: flex-end;
522
+ background: rgba(15, 18, 28, 0.48);
523
+ }
524
+ .june-doc.june-doc-modal__panel {
525
+ position: relative; display: flex; flex-direction: column;
526
+ width: min(960px, 100vw); max-width: 100%; height: 100%; margin: 0;
527
+ border: 0; border-radius: 0;
528
+ box-shadow: -16px 0 40px rgba(0, 0, 0, 0.28);
529
+ }
530
+ .june-doc-modal[data-theme="dark"] .june-doc-modal__panel { background: #0f1420; color: #f3f4f6; }
531
+ .june-doc-modal__panel > .june-doc-editor__bar {
532
+ border: 0; border-bottom: 1px solid var(--jd-border); border-radius: 0; background: transparent;
533
+ }
534
+ .june-doc-modal__body { flex: 1 1 auto; min-height: 0; overflow: auto; }
535
+ .june-doc-modal__body .june-doc { height: 100%; margin: 0; border: 0; border-radius: 0; box-shadow: none; }
536
+ .june-doc-modal__body .june-doc__canvas { max-height: none; flex: 1 1 auto; }
537
+
486
538
  @media print {
487
539
  .june-doc__header, .june-doc__ribbon, .june-doc__findbar, .june-doc__footer, .june-doc__banner { display: none; }
488
540
  .june-doc__canvas { max-height: none; overflow: visible; padding: 0; background: none; }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@june-ai/june-ui",
3
- "version": "0.2.9",
3
+ "version": "0.2.11",
4
4
  "description": "A modular React SDK for generative UI: Markdown, streaming OpenUI Lang, custom components and documents",
5
5
  "license": "MIT",
6
6
  "type": "module",