@octaviaflow/core 3.0.14 → 3.0.17-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-2AWVQFSC.js +2456 -0
- package/dist/chunk-2AWVQFSC.js.map +1 -0
- package/dist/chunk-2K7IQR2F.js +2432 -0
- package/dist/chunk-2K7IQR2F.js.map +1 -0
- package/dist/chunk-2YUWZPIT.js +2483 -0
- package/dist/chunk-2YUWZPIT.js.map +1 -0
- package/dist/chunk-4VCRGPYQ.js +2452 -0
- package/dist/chunk-4VCRGPYQ.js.map +1 -0
- package/dist/chunk-4WU5YAL2.js +2470 -0
- package/dist/chunk-4WU5YAL2.js.map +1 -0
- package/dist/chunk-5L4TGL74.js +2448 -0
- package/dist/chunk-5L4TGL74.js.map +1 -0
- package/dist/chunk-7M5HFY2J.js +2483 -0
- package/dist/chunk-7M5HFY2J.js.map +1 -0
- package/dist/chunk-AJ4556EH.js +2490 -0
- package/dist/chunk-AJ4556EH.js.map +1 -0
- package/dist/chunk-AOL365B3.js +2448 -0
- package/dist/chunk-AOL365B3.js.map +1 -0
- package/dist/chunk-D4X7RMGF.js +2481 -0
- package/dist/chunk-D4X7RMGF.js.map +1 -0
- package/dist/chunk-DCGXCPD4.js +2389 -0
- package/dist/chunk-DCGXCPD4.js.map +1 -0
- package/dist/chunk-DG35MIV3.js +2480 -0
- package/dist/chunk-DG35MIV3.js.map +1 -0
- package/dist/chunk-DRZ73Q5X.js +2503 -0
- package/dist/chunk-DRZ73Q5X.js.map +1 -0
- package/dist/chunk-DRZMET2G.js +2458 -0
- package/dist/chunk-DRZMET2G.js.map +1 -0
- package/dist/chunk-DYCW4TYB.js +2546 -0
- package/dist/chunk-DYCW4TYB.js.map +1 -0
- package/dist/chunk-E7WR7DMP.js +2451 -0
- package/dist/chunk-E7WR7DMP.js.map +1 -0
- package/dist/chunk-ELNQQAHD.js +2454 -0
- package/dist/chunk-ELNQQAHD.js.map +1 -0
- package/dist/chunk-FN3MFN6C.js +2389 -0
- package/dist/chunk-FN3MFN6C.js.map +1 -0
- package/dist/chunk-IBTEGHFT.js +10 -0
- package/dist/chunk-IBTEGHFT.js.map +1 -0
- package/dist/chunk-JCPM7YF2.js +2474 -0
- package/dist/chunk-JCPM7YF2.js.map +1 -0
- package/dist/chunk-JLPCCZKG.js +2459 -0
- package/dist/chunk-JLPCCZKG.js.map +1 -0
- package/dist/chunk-KY4JHPIE.js +2546 -0
- package/dist/chunk-KY4JHPIE.js.map +1 -0
- package/dist/chunk-LCQMQAWJ.js +2461 -0
- package/dist/chunk-LCQMQAWJ.js.map +1 -0
- package/dist/chunk-LSDAQCUJ.js +2546 -0
- package/dist/chunk-LSDAQCUJ.js.map +1 -0
- package/dist/chunk-LW4ZHQKL.js +2432 -0
- package/dist/chunk-LW4ZHQKL.js.map +1 -0
- package/dist/chunk-MMZW3Q26.js +2442 -0
- package/dist/chunk-MMZW3Q26.js.map +1 -0
- package/dist/chunk-MXJR2WHG.js +2470 -0
- package/dist/chunk-MXJR2WHG.js.map +1 -0
- package/dist/chunk-OK2CUIKQ.js +2447 -0
- package/dist/chunk-OK2CUIKQ.js.map +1 -0
- package/dist/chunk-OSOP2WPT.js +2456 -0
- package/dist/chunk-OSOP2WPT.js.map +1 -0
- package/dist/chunk-PNBZLLWT.js +2529 -0
- package/dist/chunk-PNBZLLWT.js.map +1 -0
- package/dist/chunk-PULX2GK5.js +2447 -0
- package/dist/chunk-PULX2GK5.js.map +1 -0
- package/dist/chunk-QDT45KF4.js +2480 -0
- package/dist/chunk-QDT45KF4.js.map +1 -0
- package/dist/chunk-QI3ITHAZ.js +2450 -0
- package/dist/chunk-QI3ITHAZ.js.map +1 -0
- package/dist/chunk-QSGJ3DNA.js +2475 -0
- package/dist/chunk-QSGJ3DNA.js.map +1 -0
- package/dist/chunk-RDGJWRHM.js +2490 -0
- package/dist/chunk-RDGJWRHM.js.map +1 -0
- package/dist/chunk-SDE3ARKY.js +2451 -0
- package/dist/chunk-SDE3ARKY.js.map +1 -0
- package/dist/chunk-SX7WRJGD.js +2441 -0
- package/dist/chunk-SX7WRJGD.js.map +1 -0
- package/dist/chunk-TZ56MSYM.js +2452 -0
- package/dist/chunk-TZ56MSYM.js.map +1 -0
- package/dist/chunk-UEQLKS2B.js +2445 -0
- package/dist/chunk-UEQLKS2B.js.map +1 -0
- package/dist/chunk-UNU6YNTL.js +2452 -0
- package/dist/chunk-UNU6YNTL.js.map +1 -0
- package/dist/chunk-UUG6XYUC.js +2482 -0
- package/dist/chunk-UUG6XYUC.js.map +1 -0
- package/dist/chunk-VEY3BP5E.js +2447 -0
- package/dist/chunk-VEY3BP5E.js.map +1 -0
- package/dist/chunk-WBTXV3Q2.js +2482 -0
- package/dist/chunk-WBTXV3Q2.js.map +1 -0
- package/dist/chunk-WILVB7XA.js +2512 -0
- package/dist/chunk-WILVB7XA.js.map +1 -0
- package/dist/chunk-WQCHABP3.js +2441 -0
- package/dist/chunk-WQCHABP3.js.map +1 -0
- package/dist/chunk-WUFAW3TB.js +2512 -0
- package/dist/chunk-WUFAW3TB.js.map +1 -0
- package/dist/chunk-WYBJKALZ.js +2458 -0
- package/dist/chunk-WYBJKALZ.js.map +1 -0
- package/dist/chunk-XZ7FELMT.js +2448 -0
- package/dist/chunk-XZ7FELMT.js.map +1 -0
- package/dist/chunk-YATCRJVF.js +2458 -0
- package/dist/chunk-YATCRJVF.js.map +1 -0
- package/dist/chunk-YSSD2T4M.js +2451 -0
- package/dist/chunk-YSSD2T4M.js.map +1 -0
- package/dist/chunk-YW6ZOYCG.js +2451 -0
- package/dist/chunk-YW6ZOYCG.js.map +1 -0
- package/dist/components/ActionsDrawer/ActionsDrawer.d.ts +89 -0
- package/dist/components/ActionsDrawer/ActionsDrawer.d.ts.map +1 -0
- package/dist/components/ActionsDrawer/index.d.ts +2 -0
- package/dist/components/ActionsDrawer/index.d.ts.map +1 -0
- package/dist/components/AgentCard/AgentCard.d.ts +1 -1
- package/dist/components/AgentCard/AgentCard.d.ts.map +1 -1
- package/dist/components/AuthCard/AuthCard.d.ts.map +1 -1
- package/dist/components/Button/Button.d.ts.map +1 -1
- package/dist/components/CodeEditor/CodeEditor.d.ts.map +1 -1
- package/dist/components/CodeEditor/index.d.ts +1 -1
- package/dist/components/CodeEditor/index.d.ts.map +1 -1
- package/dist/components/DataMapper/DataMapper.d.ts.map +1 -1
- package/dist/components/DataTable/DataTable.d.ts.map +1 -1
- package/dist/components/DataTable/index.d.ts +1 -1
- package/dist/components/DataTable/index.d.ts.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/components/ExecutionConsole/ExecutionConsole.d.ts +29 -3
- package/dist/components/ExecutionConsole/ExecutionConsole.d.ts.map +1 -1
- package/dist/components/FileDropzone/FileDropzone.d.ts.map +1 -1
- package/dist/components/FlowEdge/FlowEdge.d.ts +15 -14
- package/dist/components/FlowEdge/FlowEdge.d.ts.map +1 -1
- package/dist/components/Input/Input.d.ts.map +1 -1
- package/dist/components/MonacoEditor/MonacoDiffEditor.d.ts.map +1 -1
- package/dist/components/MonacoEditor/MonacoEditor.d.ts.map +1 -1
- package/dist/components/MonacoEditor/index.d.ts +1 -1
- package/dist/components/MonacoEditor/index.d.ts.map +1 -1
- package/dist/components/PromptInput/PromptInput.d.ts.map +1 -1
- package/dist/components/Radio/Radio.d.ts.map +1 -1
- package/dist/components/Resizable/Resizable.d.ts.map +1 -1
- package/dist/components/Resizable/index.d.ts +1 -1
- package/dist/components/Resizable/index.d.ts.map +1 -1
- package/dist/components/Select/Select.d.ts +16 -1
- package/dist/components/Select/Select.d.ts.map +1 -1
- package/dist/components/Sortable/Sortable.d.ts.map +1 -1
- package/dist/components/Sortable/index.d.ts +1 -1
- package/dist/components/Sortable/index.d.ts.map +1 -1
- package/dist/components/Toast/Toast.d.ts.map +1 -1
- package/dist/components/ToolCard/ToolCard.d.ts +1 -1
- package/dist/components/ToolCard/ToolCard.d.ts.map +1 -1
- package/dist/components/TopBar/TopBar.d.ts +22 -1
- package/dist/components/TopBar/TopBar.d.ts.map +1 -1
- package/dist/components/TraceStep/TraceStep.d.ts.map +1 -1
- package/dist/components/TraceStep/index.d.ts +1 -1
- package/dist/components/TraceStep/index.d.ts.map +1 -1
- package/dist/components/WorkflowEditor/WorkflowEditor.d.ts +10 -2
- package/dist/components/WorkflowEditor/WorkflowEditor.d.ts.map +1 -1
- package/dist/components/XmlViewer/XmlViewer.d.ts.map +1 -1
- package/dist/components/YamlViewer/YamlViewer.d.ts.map +1 -1
- package/dist/index.cjs +6830 -3260
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3225 -2093
- package/dist/index.js.map +1 -1
- package/dist/monaco.cjs +344 -201
- package/dist/monaco.cjs.map +1 -1
- package/dist/monaco.js +348 -205
- package/dist/monaco.js.map +1 -1
- package/dist/stories/state-matrix.d.ts.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utils/a11y.d.ts.map +1 -1
- package/dist/utils/sanitizeUrl.d.ts.map +1 -1
- package/dist/workflow/components/ConfigPanel/ConfigPanel.d.ts +64 -0
- package/dist/workflow/components/ConfigPanel/ConfigPanel.d.ts.map +1 -0
- package/dist/workflow/components/FlowCanvas/FlowCanvas.d.ts +111 -0
- package/dist/workflow/components/FlowCanvas/FlowCanvas.d.ts.map +1 -0
- package/dist/workflow/components/FlowCanvas/FlowCanvasContext.d.ts +47 -0
- package/dist/workflow/components/FlowCanvas/FlowCanvasContext.d.ts.map +1 -0
- package/dist/workflow/components/FlowEdge/FlowEdge.d.ts +26 -0
- package/dist/workflow/components/FlowEdge/FlowEdge.d.ts.map +1 -0
- package/dist/workflow/components/FlowNode/FlowNode.d.ts +13 -0
- package/dist/workflow/components/FlowNode/FlowNode.d.ts.map +1 -0
- package/dist/workflow/components/FlowNode/FlowNodeContext.d.ts +9 -0
- package/dist/workflow/components/FlowNode/FlowNodeContext.d.ts.map +1 -0
- package/dist/workflow/components/FlowNode/nodeKinds.d.ts +25 -0
- package/dist/workflow/components/FlowNode/nodeKinds.d.ts.map +1 -0
- package/dist/workflow/components/Handle/Handle.d.ts +26 -0
- package/dist/workflow/components/Handle/Handle.d.ts.map +1 -0
- package/dist/workflow/components/Handle/handleRegistry.d.ts +32 -0
- package/dist/workflow/components/Handle/handleRegistry.d.ts.map +1 -0
- package/dist/workflow/components/NodeResizer/NodeResizer.d.ts +27 -0
- package/dist/workflow/components/NodeResizer/NodeResizer.d.ts.map +1 -0
- package/dist/workflow/components/NodeToolbar/NodeToolbar.d.ts +19 -0
- package/dist/workflow/components/NodeToolbar/NodeToolbar.d.ts.map +1 -0
- package/dist/workflow/components/kinds/BaseNode.d.ts +40 -0
- package/dist/workflow/components/kinds/BaseNode.d.ts.map +1 -0
- package/dist/workflow/components/kinds/index.d.ts +55 -0
- package/dist/workflow/components/kinds/index.d.ts.map +1 -0
- package/dist/workflow/editor.d.ts +181 -0
- package/dist/workflow/editor.d.ts.map +1 -0
- package/dist/workflow/hooks/useAutoLayout.d.ts +35 -0
- package/dist/workflow/hooks/useAutoLayout.d.ts.map +1 -0
- package/dist/workflow/hooks/useFlow.d.ts +61 -0
- package/dist/workflow/hooks/useFlow.d.ts.map +1 -0
- package/dist/workflow/hooks/useFlowState.d.ts +33 -0
- package/dist/workflow/hooks/useFlowState.d.ts.map +1 -0
- package/dist/workflow/index.d.ts +25 -0
- package/dist/workflow/index.d.ts.map +1 -0
- package/dist/workflow/layout/dagre.d.ts +24 -0
- package/dist/workflow/layout/dagre.d.ts.map +1 -0
- package/dist/workflow/layout/elk.d.ts +22 -0
- package/dist/workflow/layout/elk.d.ts.map +1 -0
- package/dist/workflow/layout/types.d.ts +55 -0
- package/dist/workflow/layout/types.d.ts.map +1 -0
- package/dist/workflow/store/changes.d.ts +34 -0
- package/dist/workflow/store/changes.d.ts.map +1 -0
- package/dist/workflow/store/context.d.ts +4 -0
- package/dist/workflow/store/context.d.ts.map +1 -0
- package/dist/workflow/store/createFlowStore.d.ts +27 -0
- package/dist/workflow/store/createFlowStore.d.ts.map +1 -0
- package/dist/workflow/store/selectors.d.ts +33 -0
- package/dist/workflow/store/selectors.d.ts.map +1 -0
- package/dist/workflow/types/index.d.ts +181 -0
- package/dist/workflow/types/index.d.ts.map +1 -0
- package/dist/workflow/utils/collapse.d.ts +26 -0
- package/dist/workflow/utils/collapse.d.ts.map +1 -0
- package/dist/workflow/utils/collision.d.ts +37 -0
- package/dist/workflow/utils/collision.d.ts.map +1 -0
- package/dist/workflow/utils/geometry.d.ts +46 -0
- package/dist/workflow/utils/geometry.d.ts.map +1 -0
- package/dist/workflow/utils/parenting.d.ts +28 -0
- package/dist/workflow/utils/parenting.d.ts.map +1 -0
- package/dist/workflow/utils/paths.d.ts +19 -0
- package/dist/workflow/utils/paths.d.ts.map +1 -0
- package/dist/workflow.cjs +3562 -0
- package/dist/workflow.cjs.map +1 -0
- package/dist/workflow.js +1029 -0
- package/dist/workflow.js.map +1 -0
- package/package.json +6 -1
package/dist/monaco.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/MonacoEditor/MonacoEditor.tsx","../src/components/MonacoEditor/octaviaflowTheme.ts","../src/components/MonacoEditor/MonacoDiffEditor.tsx"],"sourcesContent":["\"use client\";\n// IMPORTANT: `@monaco-editor/react` and `monaco-editor` are optional peer deps.\n// Consumers that don't install them must still be able to import the rest of\n// `@octaviaflow/core` without crashing. Using `React.lazy` + dynamic import\n// keeps Monaco out of the synchronous module graph — it only resolves when a\n// MonacoEditor is actually rendered, deferring the require to that moment.\n//\n// Type-only imports for `editor` and `Monaco` are erased at build time, so\n// they impose no runtime dependency.\nimport type { Monaco, OnMount } from \"@monaco-editor/react\";\nimport type { editor } from \"monaco-editor\";\nimport {\n type CSSProperties,\n type ReactNode,\n Suspense,\n lazy,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { OCTAVIAFLOW_LIGHT, OCTAVIAFLOW_THEME_ID } from \"./octaviaflowTheme\";\n\nconst Editor = lazy(() =>\n import(\"@monaco-editor/react\").then((mod) => ({ default: mod.Editor })),\n);\n\nexport type MonacoLanguage =\n | \"sql\"\n | \"json\"\n | \"javascript\"\n | \"typescript\"\n | \"tsx\"\n | \"yaml\"\n | \"xml\"\n | \"html\"\n | \"css\"\n | \"scss\"\n | \"markdown\"\n | \"python\"\n | \"go\"\n | \"rust\"\n | \"java\"\n | \"csharp\"\n | \"shell\"\n | \"plaintext\";\n\nexport interface MonacoMarker {\n /** 1-based line number. */\n line: number;\n /** 1-based column. */\n column?: number;\n /** 1-based end line. Defaults to `line`. */\n endLine?: number;\n /** 1-based end column. */\n endColumn?: number;\n severity?: \"error\" | \"warning\" | \"info\" | \"hint\";\n message: string;\n /** Optional source label, e.g. \"json-schema\". */\n source?: string;\n}\n\nexport interface MonacoEditorProps {\n value: string;\n onChange?: (value: string) => void;\n language?: MonacoLanguage;\n /** Read-only mode. */\n readOnly?: boolean;\n /** Editor height — number (px) or any CSS length. Default 320. */\n height?: number | string;\n /** Min height when auto-sizing is disabled. */\n minHeight?: number;\n /** Custom toolbar slot above the editor. */\n toolbar?: ReactNode;\n /** Status pill on the right side of the toolbar. */\n status?: ReactNode;\n /** Hide the toolbar entirely. */\n hideToolbar?: boolean;\n /** Hide the footer (cursor pos + shortcut hints). */\n hideFooter?: boolean;\n /** Show built-in Copy button. */\n showCopy?: boolean;\n /** Show built-in Format button. Uses Monaco's `editor.action.formatDocument`. */\n showFormat?: boolean;\n /** Show built-in word-wrap toggle. */\n showWordWrapToggle?: boolean;\n /** Show built-in minimap toggle. */\n showMinimapToggle?: boolean;\n /** Initial word wrap. Default false. */\n wordWrap?: boolean;\n /** Initial minimap state. Default false (off — Linear-tight). */\n minimap?: boolean;\n /** Show line numbers. Default true. */\n showLineNumbers?: boolean;\n /** Diagnostic markers (errors, warnings, info, hints). */\n markers?: MonacoMarker[];\n /** Pass-through Monaco editor options. Merged after the defaults. */\n options?: editor.IStandaloneEditorConstructionOptions;\n /** Called once Monaco has mounted with the editor + monaco namespace. */\n onMount?: OnMount;\n /** Style attribute for the wrapper. */\n style?: CSSProperties;\n className?: string;\n ariaLabel?: string;\n /** Theme override. Defaults to \"octaviaflow-light\". */\n theme?: string;\n}\n\nconst MARKER_SEVERITY: Record<\n Required<MonacoMarker>[\"severity\"],\n number\n> = {\n hint: 1,\n info: 2,\n warning: 4,\n error: 8,\n};\n\nexport function MonacoEditor({\n value,\n onChange,\n language = \"plaintext\",\n readOnly = false,\n height = 320,\n minHeight = 120,\n toolbar,\n status,\n hideToolbar = false,\n hideFooter = false,\n showCopy = true,\n showFormat = true,\n showWordWrapToggle = true,\n showMinimapToggle = true,\n wordWrap: wordWrapProp,\n minimap: minimapProp,\n showLineNumbers = true,\n markers,\n options,\n onMount,\n style,\n className,\n ariaLabel = \"Code editor\",\n theme,\n}: MonacoEditorProps) {\n const editorRef = useRef<editor.IStandaloneCodeEditor | null>(null);\n const monacoRef = useRef<Monaco | null>(null);\n\n const [wordWrap, setWordWrap] = useState<boolean>(wordWrapProp ?? false);\n const [minimap, setMinimap] = useState<boolean>(minimapProp ?? false);\n const [copied, setCopied] = useState(false);\n const [cursor, setCursor] = useState({ line: 1, column: 1 });\n const [selection, setSelection] = useState({ chars: 0, lines: 0 });\n const [lineCount, setLineCount] = useState(value.split(\"\\n\").length);\n\n // Keep prop-driven state in sync if controlled\n useEffect(() => {\n if (wordWrapProp !== undefined) setWordWrap(wordWrapProp);\n }, [wordWrapProp]);\n useEffect(() => {\n if (minimapProp !== undefined) setMinimap(minimapProp);\n }, [minimapProp]);\n\n // Apply word wrap / minimap changes to the live editor\n useEffect(() => {\n editorRef.current?.updateOptions({\n wordWrap: wordWrap ? \"on\" : \"off\",\n minimap: { enabled: minimap },\n });\n }, [wordWrap, minimap]);\n\n // Apply markers when they change\n useEffect(() => {\n const editor = editorRef.current;\n const monaco = monacoRef.current;\n if (!editor || !monaco || !markers) return;\n const model = editor.getModel();\n if (!model) return;\n monaco.editor.setModelMarkers(\n model,\n \"octaviaflow\",\n markers.map((m) => ({\n severity: MARKER_SEVERITY[m.severity ?? \"error\"],\n message: m.message,\n startLineNumber: m.line,\n startColumn: m.column ?? 1,\n endLineNumber: m.endLine ?? m.line,\n endColumn: m.endColumn ?? (m.column ?? 1) + 1,\n source: m.source,\n })),\n );\n }, [markers]);\n\n const handleMount: OnMount = useCallback(\n (editor, monaco) => {\n editorRef.current = editor;\n monacoRef.current = monaco;\n monaco.editor.defineTheme(OCTAVIAFLOW_THEME_ID, OCTAVIAFLOW_LIGHT);\n monaco.editor.setTheme(theme ?? OCTAVIAFLOW_THEME_ID);\n\n // Cursor + selection tracking\n editor.onDidChangeCursorPosition((e) => {\n setCursor({ line: e.position.lineNumber, column: e.position.column });\n });\n editor.onDidChangeCursorSelection((e) => {\n const sel = e.selection;\n if (sel.isEmpty()) {\n setSelection({ chars: 0, lines: 0 });\n return;\n }\n const model = editor.getModel();\n if (!model) return;\n const text = model.getValueInRange(sel);\n setSelection({\n chars: text.length,\n lines: text.split(\"\\n\").length,\n });\n });\n // Track line count for footer\n const model = editor.getModel();\n if (model) {\n setLineCount(model.getLineCount());\n model.onDidChangeContent(() => setLineCount(model.getLineCount()));\n }\n\n onMount?.(editor, monaco);\n },\n [onMount, theme],\n );\n\n const handleCopy = async () => {\n if (typeof navigator === \"undefined\") return;\n try {\n await navigator.clipboard.writeText(value);\n setCopied(true);\n setTimeout(() => setCopied(false), 1200);\n } catch {\n /* ignore */\n }\n };\n\n const handleFormat = () => {\n editorRef.current?.getAction(\"editor.action.formatDocument\")?.run();\n };\n\n const mergedOptions: editor.IStandaloneEditorConstructionOptions = {\n readOnly,\n fontFamily:\n \"ui-monospace, SFMono-Regular, 'JetBrains Mono', 'Fira Code', Menlo, Consolas, monospace\",\n fontSize: 13,\n fontLigatures: true,\n lineHeight: 20,\n lineNumbers: showLineNumbers ? \"on\" : \"off\",\n lineNumbersMinChars: 3,\n lineDecorationsWidth: 6,\n folding: true,\n glyphMargin: false,\n minimap: { enabled: minimap },\n wordWrap: wordWrap ? \"on\" : \"off\",\n scrollBeyondLastLine: false,\n smoothScrolling: true,\n cursorBlinking: \"smooth\",\n cursorSmoothCaretAnimation: \"on\",\n renderLineHighlight: \"line\",\n padding: { top: 8, bottom: 8 },\n bracketPairColorization: { enabled: true },\n guides: { bracketPairs: true, indentation: true },\n automaticLayout: true,\n tabSize: 2,\n insertSpaces: true,\n scrollbar: {\n verticalScrollbarSize: 8,\n horizontalScrollbarSize: 8,\n useShadows: false,\n },\n fixedOverflowWidgets: true,\n contextmenu: true,\n suggestOnTriggerCharacters: true,\n quickSuggestions: { other: true, comments: false, strings: false },\n formatOnPaste: false,\n formatOnType: false,\n \"semanticHighlighting.enabled\": true,\n ...options,\n };\n\n const showWrapBtn = showWordWrapToggle && wordWrapProp === undefined;\n const showMinimapBtn = showMinimapToggle && minimapProp === undefined;\n\n return (\n <div\n className={cn(\n \"ods-monaco\",\n `ods-monaco--${language}`,\n readOnly && \"ods-monaco--readonly\",\n className,\n )}\n style={style}\n >\n {!hideToolbar && (\n <div className=\"ods-monaco__toolbar\">\n <div className=\"ods-monaco__toolbar-left\">\n <span className=\"ods-monaco__lang\">{language.toUpperCase()}</span>\n {toolbar}\n </div>\n <div className=\"ods-monaco__toolbar-right\">\n <span className=\"ods-monaco__lines\">\n {lineCount} line{lineCount === 1 ? \"\" : \"s\"}\n </span>\n {status && <span className=\"ods-monaco__status\">{status}</span>}\n {showWrapBtn && (\n <button\n type=\"button\"\n className={cn(\"ods-monaco__btn\", wordWrap && \"ods-monaco__btn--active\")}\n onClick={() => setWordWrap((w) => !w)}\n aria-pressed={wordWrap}\n aria-label=\"Toggle word wrap\"\n title=\"Word wrap\"\n >\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M2 3.5h10M2 7h7.5a2 2 0 1 1 0 4H8m0 0 1.5-1.5M8 11l1.5 1.5M2 10.5h3\"\n stroke=\"currentColor\"\n strokeWidth=\"1.2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </button>\n )}\n {showMinimapBtn && (\n <button\n type=\"button\"\n className={cn(\"ods-monaco__btn\", minimap && \"ods-monaco__btn--active\")}\n onClick={() => setMinimap((m) => !m)}\n aria-pressed={minimap}\n aria-label=\"Toggle minimap\"\n title=\"Minimap\"\n >\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden=\"true\">\n <rect x=\"2\" y=\"2.5\" width=\"6\" height=\"9\" rx=\"0.5\" stroke=\"currentColor\" strokeWidth=\"1.2\" />\n <rect x=\"9\" y=\"2.5\" width=\"3\" height=\"9\" rx=\"0.5\" fill=\"currentColor\" opacity=\"0.25\" />\n <path d=\"M3.5 4.5h3M3.5 6.5h3M3.5 8.5h2\" stroke=\"currentColor\" strokeWidth=\"1\" strokeLinecap=\"round\" />\n </svg>\n </button>\n )}\n {showFormat && !readOnly && (\n <button\n type=\"button\"\n className=\"ods-monaco__btn\"\n onClick={handleFormat}\n aria-label=\"Format document\"\n title=\"Format (Shift+Alt+F)\"\n >\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M2.5 4h9M4 7h7.5M5.5 10H11\" stroke=\"currentColor\" strokeWidth=\"1.3\" strokeLinecap=\"round\" />\n <path d=\"M2.5 7 3.5 6 2.5 5\" stroke=\"currentColor\" strokeWidth=\"1.2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n </button>\n )}\n {showCopy && (\n <button\n type=\"button\"\n className={cn(\"ods-monaco__btn\", copied && \"ods-monaco__btn--success\")}\n onClick={handleCopy}\n aria-label=\"Copy\"\n title=\"Copy\"\n >\n {copied ? (\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"m3 7 3 3 5-6\"\n stroke=\"currentColor\"\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n ) : (\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden=\"true\">\n <rect x=\"3\" y=\"3\" width=\"8\" height=\"8\" rx=\"1\" stroke=\"currentColor\" strokeWidth=\"1.3\" />\n <path d=\"M5 1.5h6V8\" stroke=\"currentColor\" strokeWidth=\"1.3\" strokeLinecap=\"round\" />\n </svg>\n )}\n </button>\n )}\n </div>\n </div>\n )}\n\n <div className=\"ods-monaco__body\" style={{ minHeight }}>\n <Suspense fallback={\n <div className=\"ods-monaco__loading\">\n <span className=\"ods-monaco__loading-spin\" aria-hidden=\"true\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\">\n <circle cx=\"7\" cy=\"7\" r=\"5\" stroke=\"currentColor\" strokeWidth=\"1.4\" strokeDasharray=\"4 18\" strokeLinecap=\"round\" />\n </svg>\n </span>\n <span>Loading editor…</span>\n </div>\n }>\n <Editor\n value={value}\n onChange={(v) => onChange?.(v ?? \"\")}\n language={language}\n height={height}\n theme={theme ?? OCTAVIAFLOW_THEME_ID}\n options={mergedOptions}\n onMount={handleMount}\n loading={\n <div className=\"ods-monaco__loading\">\n <span className=\"ods-monaco__loading-spin\" aria-hidden=\"true\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\">\n <circle cx=\"7\" cy=\"7\" r=\"5\" stroke=\"currentColor\" strokeWidth=\"1.4\" strokeDasharray=\"4 18\" strokeLinecap=\"round\" />\n </svg>\n </span>\n <span>Loading editor…</span>\n </div>\n }\n aria-label={ariaLabel}\n />\n </Suspense>\n </div>\n\n {!hideFooter && (\n <div className=\"ods-monaco__footer\">\n <span className=\"ods-monaco__pos\">\n Ln {cursor.line}, Col {cursor.column}\n {selection.chars > 0 && (\n <>\n {\" \"}· {selection.chars} char{selection.chars === 1 ? \"\" : \"s\"}\n {selection.lines > 1 && ` · ${selection.lines} lines`}\n </>\n )}\n </span>\n <span className=\"ods-monaco__shortcut-hint\">\n <kbd className=\"ods-monaco__kbd\">⌘F</kbd> find\n <span className=\"ods-monaco__sep\">·</span>\n <kbd className=\"ods-monaco__kbd\">⌘⇧F</kbd> replace\n <span className=\"ods-monaco__sep\">·</span>\n <kbd className=\"ods-monaco__kbd\">F1</kbd> commands\n </span>\n </div>\n )}\n </div>\n );\n}\n","import type { editor } from \"monaco-editor\";\n\n/**\n * OctaviaFlow v1 Monaco theme — light, Linear-tight, accent-driven.\n * Hex values mirror the canonical v1 tokens (see packages/styles/src/02-tokens/_v1.scss).\n */\nexport const OCTAVIAFLOW_LIGHT: editor.IStandaloneThemeData = {\n base: \"vs\",\n inherit: true,\n rules: [\n { token: \"\", foreground: \"161616\", background: \"FFFFFF\" },\n { token: \"comment\", foreground: \"6F6F6F\", fontStyle: \"italic\" },\n { token: \"string\", foreground: \"198038\" },\n { token: \"string.key.json\", foreground: \"0F62FE\" },\n { token: \"string.value.json\", foreground: \"198038\" },\n { token: \"number\", foreground: \"0043CE\" },\n { token: \"keyword\", foreground: \"8A3FFC\" },\n { token: \"keyword.sql\", foreground: \"8A3FFC\" },\n { token: \"operator\", foreground: \"393939\" },\n { token: \"delimiter\", foreground: \"525252\" },\n { token: \"type\", foreground: \"0F62FE\" },\n { token: \"type.identifier\", foreground: \"0F62FE\" },\n { token: \"identifier\", foreground: \"161616\" },\n { token: \"constant\", foreground: \"0043CE\" },\n { token: \"boolean\", foreground: \"F1C21B\", fontStyle: \"bold\" },\n { token: \"tag\", foreground: \"DA1E28\" },\n { token: \"attribute.name\", foreground: \"8A3FFC\" },\n { token: \"attribute.value\", foreground: \"198038\" },\n { token: \"regexp\", foreground: \"DA1E28\" },\n { token: \"function\", foreground: \"0F62FE\" },\n { token: \"variable\", foreground: \"161616\" },\n { token: \"variable.parameter\", foreground: \"393939\", fontStyle: \"italic\" },\n { token: \"namespace\", foreground: \"0F62FE\" },\n ],\n colors: {\n \"editor.background\": \"#FFFFFF\",\n \"editor.foreground\": \"#161616\",\n \"editor.lineHighlightBackground\": \"#F4F4F4\",\n \"editor.lineHighlightBorder\": \"#00000000\",\n \"editorLineNumber.foreground\": \"#A8A8A8\",\n \"editorLineNumber.activeForeground\": \"#0F62FE\",\n \"editorCursor.foreground\": \"#0F62FE\",\n \"editor.selectionBackground\": \"#D0E2FF\",\n \"editor.selectionHighlightBackground\": \"#EDF5FF\",\n \"editor.wordHighlightBackground\": \"#EDF5FF\",\n \"editor.wordHighlightStrongBackground\": \"#D0E2FF\",\n \"editor.findMatchBackground\": \"#FFD7D9\",\n \"editor.findMatchHighlightBackground\": \"#FFE9EB\",\n \"editorIndentGuide.background1\": \"#F4F4F4\",\n \"editorIndentGuide.activeBackground1\": \"#E0E0E0\",\n \"editorWhitespace.foreground\": \"#E0E0E0\",\n \"editorBracketMatch.background\": \"#D0E2FF\",\n \"editorBracketMatch.border\": \"#0F62FE\",\n \"editor.foldBackground\": \"#F4F4F4\",\n\n \"editorGutter.background\": \"#F4F4F4\",\n \"editorGutter.modifiedBackground\": \"#0F62FE\",\n \"editorGutter.addedBackground\": \"#198038\",\n \"editorGutter.deletedBackground\": \"#DA1E28\",\n\n \"editorWidget.background\": \"#FFFFFF\",\n \"editorWidget.foreground\": \"#161616\",\n \"editorWidget.border\": \"#E0E0E0\",\n \"editorSuggestWidget.background\": \"#FFFFFF\",\n \"editorSuggestWidget.border\": \"#E0E0E0\",\n \"editorSuggestWidget.foreground\": \"#161616\",\n \"editorSuggestWidget.selectedBackground\": \"#EDF5FF\",\n \"editorSuggestWidget.selectedForeground\": \"#161616\",\n \"editorSuggestWidget.highlightForeground\": \"#0F62FE\",\n\n \"editorHoverWidget.background\": \"#FFFFFF\",\n \"editorHoverWidget.border\": \"#E0E0E0\",\n\n \"editorError.foreground\": \"#DA1E28\",\n \"editorWarning.foreground\": \"#F1C21B\",\n \"editorInfo.foreground\": \"#0F62FE\",\n\n \"diffEditor.insertedTextBackground\": \"#A7F0BA40\",\n \"diffEditor.removedTextBackground\": \"#FFB3B840\",\n \"diffEditor.insertedLineBackground\": \"#DEFBE640\",\n \"diffEditor.removedLineBackground\": \"#FFD7D940\",\n\n \"scrollbar.shadow\": \"#00000000\",\n \"scrollbarSlider.background\": \"#0F62FE20\",\n \"scrollbarSlider.hoverBackground\": \"#0F62FE40\",\n \"scrollbarSlider.activeBackground\": \"#0F62FE60\",\n\n \"minimap.background\": \"#FAFAFA\",\n \"minimap.selectionHighlight\": \"#0F62FE\",\n \"minimapSlider.background\": \"#0F62FE15\",\n \"minimapSlider.hoverBackground\": \"#0F62FE30\",\n \"minimapSlider.activeBackground\": \"#0F62FE50\",\n\n \"input.background\": \"#FFFFFF\",\n \"input.foreground\": \"#161616\",\n \"input.border\": \"#C6C6C6\",\n \"inputOption.activeBorder\": \"#0F62FE\",\n\n \"focusBorder\": \"#0F62FE\",\n },\n};\n\nexport const OCTAVIAFLOW_THEME_ID = \"octaviaflow-light\";\n","\"use client\";\n// Same lazy-load rationale as MonacoEditor.tsx — keep Monaco out of the\n// synchronous module graph so consumers without @monaco-editor/react can\n// still import @octaviaflow/core safely.\nimport type { Monaco } from \"@monaco-editor/react\";\nimport type { editor } from \"monaco-editor\";\nimport { type CSSProperties, type ReactNode, Suspense, lazy, useRef, useState } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { OCTAVIAFLOW_LIGHT, OCTAVIAFLOW_THEME_ID } from \"./octaviaflowTheme\";\nimport type { MonacoLanguage } from \"./MonacoEditor\";\n\nconst DiffEditor = lazy(() =>\n import(\"@monaco-editor/react\").then((mod) => ({ default: mod.DiffEditor })),\n);\n\nexport interface MonacoDiffEditorProps {\n original: string;\n modified: string;\n onModifiedChange?: (value: string) => void;\n language?: MonacoLanguage;\n /** Side-by-side vs inline diff. Default \"side-by-side\". */\n renderSideBySide?: boolean;\n /** Read-only on the right side. Default false. */\n readOnly?: boolean;\n /** Show only changed regions. */\n hideUnchangedRegions?: boolean;\n /** Editor height. Default 360. */\n height?: number | string;\n minHeight?: number;\n /** Labels above each side. */\n originalLabel?: ReactNode;\n modifiedLabel?: ReactNode;\n toolbar?: ReactNode;\n /** Pass-through Monaco diff editor options. */\n options?: editor.IDiffEditorConstructionOptions;\n onMount?: (\n editor: editor.IStandaloneDiffEditor,\n monaco: Monaco,\n ) => void;\n style?: CSSProperties;\n className?: string;\n theme?: string;\n hideToolbar?: boolean;\n}\n\nexport function MonacoDiffEditor({\n original,\n modified,\n onModifiedChange,\n language = \"plaintext\",\n renderSideBySide = true,\n readOnly = false,\n hideUnchangedRegions = false,\n height = 360,\n minHeight = 200,\n originalLabel = \"Original\",\n modifiedLabel = \"Modified\",\n toolbar,\n options,\n onMount,\n style,\n className,\n theme,\n hideToolbar = false,\n}: MonacoDiffEditorProps) {\n const editorRef = useRef<editor.IStandaloneDiffEditor | null>(null);\n const [sideBySide, setSideBySide] = useState(renderSideBySide);\n\n const handleMount = (\n diffEditor: editor.IStandaloneDiffEditor,\n monaco: Monaco,\n ) => {\n editorRef.current = diffEditor;\n monaco.editor.defineTheme(OCTAVIAFLOW_THEME_ID, OCTAVIAFLOW_LIGHT);\n monaco.editor.setTheme(theme ?? OCTAVIAFLOW_THEME_ID);\n\n const modifiedEditor = diffEditor.getModifiedEditor();\n modifiedEditor.onDidChangeModelContent(() => {\n onModifiedChange?.(modifiedEditor.getValue());\n });\n\n onMount?.(diffEditor, monaco);\n };\n\n const mergedOptions: editor.IDiffEditorConstructionOptions = {\n readOnly,\n originalEditable: false,\n renderSideBySide: sideBySide,\n fontFamily:\n \"ui-monospace, SFMono-Regular, 'JetBrains Mono', 'Fira Code', Menlo, Consolas, monospace\",\n fontSize: 13,\n lineHeight: 20,\n automaticLayout: true,\n lineNumbersMinChars: 3,\n lineDecorationsWidth: 6,\n folding: true,\n glyphMargin: false,\n minimap: { enabled: false },\n scrollBeyondLastLine: false,\n smoothScrolling: true,\n renderOverviewRuler: true,\n diffWordWrap: \"off\",\n padding: { top: 8, bottom: 8 },\n hideUnchangedRegions: {\n enabled: hideUnchangedRegions,\n revealLineCount: 20,\n minimumLineCount: 3,\n contextLineCount: 3,\n },\n scrollbar: {\n verticalScrollbarSize: 8,\n horizontalScrollbarSize: 8,\n useShadows: false,\n },\n ...options,\n };\n\n return (\n <div\n className={cn(\"ods-monaco-diff\", `ods-monaco-diff--${language}`, className)}\n style={style}\n >\n {!hideToolbar && (\n <div className=\"ods-monaco__toolbar\">\n <div className=\"ods-monaco__toolbar-left\">\n <span className=\"ods-monaco__lang\">DIFF · {language.toUpperCase()}</span>\n <span className=\"ods-monaco-diff__labels\">\n <span className=\"ods-monaco-diff__label ods-monaco-diff__label--orig\">\n {originalLabel}\n </span>\n <span className=\"ods-monaco-diff__arrow\" aria-hidden=\"true\">→</span>\n <span className=\"ods-monaco-diff__label ods-monaco-diff__label--mod\">\n {modifiedLabel}\n </span>\n </span>\n {toolbar}\n </div>\n <div className=\"ods-monaco__toolbar-right\">\n <button\n type=\"button\"\n className={cn(\n \"ods-monaco__btn\",\n sideBySide && \"ods-monaco__btn--active\",\n )}\n onClick={() => setSideBySide((s) => !s)}\n aria-pressed={sideBySide}\n aria-label=\"Toggle side-by-side\"\n title={sideBySide ? \"Inline\" : \"Side-by-side\"}\n >\n {sideBySide ? (\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden=\"true\">\n <rect x=\"1.5\" y=\"2\" width=\"5\" height=\"10\" rx=\"0.5\" stroke=\"currentColor\" strokeWidth=\"1.3\" />\n <rect x=\"7.5\" y=\"2\" width=\"5\" height=\"10\" rx=\"0.5\" stroke=\"currentColor\" strokeWidth=\"1.3\" />\n </svg>\n ) : (\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden=\"true\">\n <rect x=\"1.5\" y=\"2\" width=\"11\" height=\"10\" rx=\"0.5\" stroke=\"currentColor\" strokeWidth=\"1.3\" />\n <path d=\"M1.5 7h11\" stroke=\"currentColor\" strokeWidth=\"1.3\" />\n </svg>\n )}\n </button>\n </div>\n </div>\n )}\n\n <div className=\"ods-monaco__body\" style={{ minHeight }}>\n <Suspense fallback={\n <div className=\"ods-monaco__loading\">\n <span className=\"ods-monaco__loading-spin\" aria-hidden=\"true\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\">\n <circle cx=\"7\" cy=\"7\" r=\"5\" stroke=\"currentColor\" strokeWidth=\"1.4\" strokeDasharray=\"4 18\" strokeLinecap=\"round\" />\n </svg>\n </span>\n <span>Loading diff…</span>\n </div>\n }>\n <DiffEditor\n original={original}\n modified={modified}\n language={language}\n height={height}\n theme={theme ?? OCTAVIAFLOW_THEME_ID}\n options={mergedOptions}\n onMount={handleMount}\n loading={\n <div className=\"ods-monaco__loading\">\n <span className=\"ods-monaco__loading-spin\" aria-hidden=\"true\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\">\n <circle cx=\"7\" cy=\"7\" r=\"5\" stroke=\"currentColor\" strokeWidth=\"1.4\" strokeDasharray=\"4 18\" strokeLinecap=\"round\" />\n </svg>\n </span>\n <span>Loading diff…</span>\n </div>\n }\n />\n </Suspense>\n </div>\n </div>\n );\n}\n"],"mappings":"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","names":["model","Suspense","lazy","useRef","useState","jsx","jsxs","lazy","useRef","useState","Suspense"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/MonacoEditor/MonacoDiffEditor.tsx","../src/components/MonacoEditor/octaviaflowTheme.ts","../src/components/MonacoEditor/MonacoEditor.tsx"],"sourcesContent":["\"use client\";\n// Same lazy-load rationale as MonacoEditor.tsx — keep Monaco out of the\n// synchronous module graph so consumers without @monaco-editor/react can\n// still import @octaviaflow/core safely.\nimport type { Monaco } from \"@monaco-editor/react\";\nimport type { editor } from \"monaco-editor\";\nimport { type CSSProperties, lazy, type ReactNode, Suspense, useRef, useState } from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport type { MonacoLanguage } from \"./MonacoEditor\";\nimport { OCTAVIAFLOW_LIGHT, OCTAVIAFLOW_THEME_ID } from \"./octaviaflowTheme\";\n\nconst DiffEditor = lazy(() =>\n import(\"@monaco-editor/react\").then((mod) => ({ default: mod.DiffEditor })),\n);\n\nexport interface MonacoDiffEditorProps {\n original: string;\n modified: string;\n onModifiedChange?: (value: string) => void;\n language?: MonacoLanguage;\n /** Side-by-side vs inline diff. Default \"side-by-side\". */\n renderSideBySide?: boolean;\n /** Read-only on the right side. Default false. */\n readOnly?: boolean;\n /** Show only changed regions. */\n hideUnchangedRegions?: boolean;\n /** Editor height. Default 360. */\n height?: number | string;\n minHeight?: number;\n /** Labels above each side. */\n originalLabel?: ReactNode;\n modifiedLabel?: ReactNode;\n toolbar?: ReactNode;\n /** Pass-through Monaco diff editor options. */\n options?: editor.IDiffEditorConstructionOptions;\n onMount?: (editor: editor.IStandaloneDiffEditor, monaco: Monaco) => void;\n style?: CSSProperties;\n className?: string;\n theme?: string;\n hideToolbar?: boolean;\n}\n\nexport function MonacoDiffEditor({\n original,\n modified,\n onModifiedChange,\n language = \"plaintext\",\n renderSideBySide = true,\n readOnly = false,\n hideUnchangedRegions = false,\n height = 360,\n minHeight = 200,\n originalLabel = \"Original\",\n modifiedLabel = \"Modified\",\n toolbar,\n options,\n onMount,\n style,\n className,\n theme,\n hideToolbar = false,\n}: MonacoDiffEditorProps) {\n const editorRef = useRef<editor.IStandaloneDiffEditor | null>(null);\n const [sideBySide, setSideBySide] = useState(renderSideBySide);\n\n const handleMount = (diffEditor: editor.IStandaloneDiffEditor, monaco: Monaco) => {\n editorRef.current = diffEditor;\n monaco.editor.defineTheme(OCTAVIAFLOW_THEME_ID, OCTAVIAFLOW_LIGHT);\n monaco.editor.setTheme(theme ?? OCTAVIAFLOW_THEME_ID);\n\n const modifiedEditor = diffEditor.getModifiedEditor();\n modifiedEditor.onDidChangeModelContent(() => {\n onModifiedChange?.(modifiedEditor.getValue());\n });\n\n onMount?.(diffEditor, monaco);\n };\n\n const mergedOptions: editor.IDiffEditorConstructionOptions = {\n readOnly,\n originalEditable: false,\n renderSideBySide: sideBySide,\n fontFamily:\n \"ui-monospace, SFMono-Regular, 'JetBrains Mono', 'Fira Code', Menlo, Consolas, monospace\",\n fontSize: 13,\n lineHeight: 20,\n automaticLayout: true,\n lineNumbersMinChars: 3,\n lineDecorationsWidth: 6,\n folding: true,\n glyphMargin: false,\n minimap: { enabled: false },\n scrollBeyondLastLine: false,\n smoothScrolling: true,\n renderOverviewRuler: true,\n diffWordWrap: \"off\",\n padding: { top: 8, bottom: 8 },\n hideUnchangedRegions: {\n enabled: hideUnchangedRegions,\n revealLineCount: 20,\n minimumLineCount: 3,\n contextLineCount: 3,\n },\n scrollbar: {\n verticalScrollbarSize: 8,\n horizontalScrollbarSize: 8,\n useShadows: false,\n },\n ...options,\n };\n\n return (\n <div className={cn(\"ods-monaco-diff\", `ods-monaco-diff--${language}`, className)} style={style}>\n {!hideToolbar && (\n <div className=\"ods-monaco__toolbar\">\n <div className=\"ods-monaco__toolbar-left\">\n <span className=\"ods-monaco__lang\">DIFF · {language.toUpperCase()}</span>\n <span className=\"ods-monaco-diff__labels\">\n <span className=\"ods-monaco-diff__label ods-monaco-diff__label--orig\">\n {originalLabel}\n </span>\n <span className=\"ods-monaco-diff__arrow\" aria-hidden=\"true\">\n →\n </span>\n <span className=\"ods-monaco-diff__label ods-monaco-diff__label--mod\">\n {modifiedLabel}\n </span>\n </span>\n {toolbar}\n </div>\n <div className=\"ods-monaco__toolbar-right\">\n <button\n type=\"button\"\n className={cn(\"ods-monaco__btn\", sideBySide && \"ods-monaco__btn--active\")}\n onClick={() => setSideBySide((s) => !s)}\n aria-pressed={sideBySide}\n aria-label=\"Toggle side-by-side\"\n title={sideBySide ? \"Inline\" : \"Side-by-side\"}\n >\n {sideBySide ? (\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden=\"true\">\n <rect\n x=\"1.5\"\n y=\"2\"\n width=\"5\"\n height=\"10\"\n rx=\"0.5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.3\"\n />\n <rect\n x=\"7.5\"\n y=\"2\"\n width=\"5\"\n height=\"10\"\n rx=\"0.5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.3\"\n />\n </svg>\n ) : (\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden=\"true\">\n <rect\n x=\"1.5\"\n y=\"2\"\n width=\"11\"\n height=\"10\"\n rx=\"0.5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.3\"\n />\n <path d=\"M1.5 7h11\" stroke=\"currentColor\" strokeWidth=\"1.3\" />\n </svg>\n )}\n </button>\n </div>\n </div>\n )}\n\n <div className=\"ods-monaco__body\" style={{ minHeight }}>\n <Suspense\n fallback={\n <div className=\"ods-monaco__loading\">\n <span className=\"ods-monaco__loading-spin\" aria-hidden=\"true\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\">\n <circle\n cx=\"7\"\n cy=\"7\"\n r=\"5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.4\"\n strokeDasharray=\"4 18\"\n strokeLinecap=\"round\"\n />\n </svg>\n </span>\n <span>Loading diff…</span>\n </div>\n }\n >\n <DiffEditor\n original={original}\n modified={modified}\n language={language}\n height={height}\n theme={theme ?? OCTAVIAFLOW_THEME_ID}\n options={mergedOptions}\n onMount={handleMount}\n loading={\n <div className=\"ods-monaco__loading\">\n <span className=\"ods-monaco__loading-spin\" aria-hidden=\"true\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\">\n <circle\n cx=\"7\"\n cy=\"7\"\n r=\"5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.4\"\n strokeDasharray=\"4 18\"\n strokeLinecap=\"round\"\n />\n </svg>\n </span>\n <span>Loading diff…</span>\n </div>\n }\n />\n </Suspense>\n </div>\n </div>\n );\n}\n","import type { editor } from \"monaco-editor\";\n\n/**\n * OctaviaFlow v1 Monaco theme — light, Linear-tight, accent-driven.\n * Hex values mirror the canonical v1 tokens (see packages/styles/src/02-tokens/_v1.scss).\n */\nexport const OCTAVIAFLOW_LIGHT: editor.IStandaloneThemeData = {\n base: \"vs\",\n inherit: true,\n rules: [\n { token: \"\", foreground: \"161616\", background: \"FFFFFF\" },\n { token: \"comment\", foreground: \"6F6F6F\", fontStyle: \"italic\" },\n { token: \"string\", foreground: \"198038\" },\n { token: \"string.key.json\", foreground: \"0F62FE\" },\n { token: \"string.value.json\", foreground: \"198038\" },\n { token: \"number\", foreground: \"0043CE\" },\n { token: \"keyword\", foreground: \"8A3FFC\" },\n { token: \"keyword.sql\", foreground: \"8A3FFC\" },\n { token: \"operator\", foreground: \"393939\" },\n { token: \"delimiter\", foreground: \"525252\" },\n { token: \"type\", foreground: \"0F62FE\" },\n { token: \"type.identifier\", foreground: \"0F62FE\" },\n { token: \"identifier\", foreground: \"161616\" },\n { token: \"constant\", foreground: \"0043CE\" },\n { token: \"boolean\", foreground: \"F1C21B\", fontStyle: \"bold\" },\n { token: \"tag\", foreground: \"DA1E28\" },\n { token: \"attribute.name\", foreground: \"8A3FFC\" },\n { token: \"attribute.value\", foreground: \"198038\" },\n { token: \"regexp\", foreground: \"DA1E28\" },\n { token: \"function\", foreground: \"0F62FE\" },\n { token: \"variable\", foreground: \"161616\" },\n { token: \"variable.parameter\", foreground: \"393939\", fontStyle: \"italic\" },\n { token: \"namespace\", foreground: \"0F62FE\" },\n ],\n colors: {\n \"editor.background\": \"#FFFFFF\",\n \"editor.foreground\": \"#161616\",\n \"editor.lineHighlightBackground\": \"#F4F4F4\",\n \"editor.lineHighlightBorder\": \"#00000000\",\n \"editorLineNumber.foreground\": \"#A8A8A8\",\n \"editorLineNumber.activeForeground\": \"#0F62FE\",\n \"editorCursor.foreground\": \"#0F62FE\",\n \"editor.selectionBackground\": \"#D0E2FF\",\n \"editor.selectionHighlightBackground\": \"#EDF5FF\",\n \"editor.wordHighlightBackground\": \"#EDF5FF\",\n \"editor.wordHighlightStrongBackground\": \"#D0E2FF\",\n \"editor.findMatchBackground\": \"#FFD7D9\",\n \"editor.findMatchHighlightBackground\": \"#FFE9EB\",\n \"editorIndentGuide.background1\": \"#F4F4F4\",\n \"editorIndentGuide.activeBackground1\": \"#E0E0E0\",\n \"editorWhitespace.foreground\": \"#E0E0E0\",\n \"editorBracketMatch.background\": \"#D0E2FF\",\n \"editorBracketMatch.border\": \"#0F62FE\",\n \"editor.foldBackground\": \"#F4F4F4\",\n\n \"editorGutter.background\": \"#F4F4F4\",\n \"editorGutter.modifiedBackground\": \"#0F62FE\",\n \"editorGutter.addedBackground\": \"#198038\",\n \"editorGutter.deletedBackground\": \"#DA1E28\",\n\n \"editorWidget.background\": \"#FFFFFF\",\n \"editorWidget.foreground\": \"#161616\",\n \"editorWidget.border\": \"#E0E0E0\",\n \"editorSuggestWidget.background\": \"#FFFFFF\",\n \"editorSuggestWidget.border\": \"#E0E0E0\",\n \"editorSuggestWidget.foreground\": \"#161616\",\n \"editorSuggestWidget.selectedBackground\": \"#EDF5FF\",\n \"editorSuggestWidget.selectedForeground\": \"#161616\",\n \"editorSuggestWidget.highlightForeground\": \"#0F62FE\",\n\n \"editorHoverWidget.background\": \"#FFFFFF\",\n \"editorHoverWidget.border\": \"#E0E0E0\",\n\n \"editorError.foreground\": \"#DA1E28\",\n \"editorWarning.foreground\": \"#F1C21B\",\n \"editorInfo.foreground\": \"#0F62FE\",\n\n \"diffEditor.insertedTextBackground\": \"#A7F0BA40\",\n \"diffEditor.removedTextBackground\": \"#FFB3B840\",\n \"diffEditor.insertedLineBackground\": \"#DEFBE640\",\n \"diffEditor.removedLineBackground\": \"#FFD7D940\",\n\n \"scrollbar.shadow\": \"#00000000\",\n \"scrollbarSlider.background\": \"#0F62FE20\",\n \"scrollbarSlider.hoverBackground\": \"#0F62FE40\",\n \"scrollbarSlider.activeBackground\": \"#0F62FE60\",\n\n \"minimap.background\": \"#FAFAFA\",\n \"minimap.selectionHighlight\": \"#0F62FE\",\n \"minimapSlider.background\": \"#0F62FE15\",\n \"minimapSlider.hoverBackground\": \"#0F62FE30\",\n \"minimapSlider.activeBackground\": \"#0F62FE50\",\n\n \"input.background\": \"#FFFFFF\",\n \"input.foreground\": \"#161616\",\n \"input.border\": \"#C6C6C6\",\n \"inputOption.activeBorder\": \"#0F62FE\",\n\n focusBorder: \"#0F62FE\",\n },\n};\n\nexport const OCTAVIAFLOW_THEME_ID = \"octaviaflow-light\";\n","\"use client\";\n// IMPORTANT: `@monaco-editor/react` and `monaco-editor` are optional peer deps.\n// Consumers that don't install them must still be able to import the rest of\n// `@octaviaflow/core` without crashing. Using `React.lazy` + dynamic import\n// keeps Monaco out of the synchronous module graph — it only resolves when a\n// MonacoEditor is actually rendered, deferring the require to that moment.\n//\n// Type-only imports for `editor` and `Monaco` are erased at build time, so\n// they impose no runtime dependency.\nimport type { Monaco, OnMount } from \"@monaco-editor/react\";\nimport type { editor } from \"monaco-editor\";\nimport {\n type CSSProperties,\n lazy,\n type ReactNode,\n Suspense,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { OCTAVIAFLOW_LIGHT, OCTAVIAFLOW_THEME_ID } from \"./octaviaflowTheme\";\n\nconst Editor = lazy(() => import(\"@monaco-editor/react\").then((mod) => ({ default: mod.Editor })));\n\nexport type MonacoLanguage =\n | \"sql\"\n | \"json\"\n | \"javascript\"\n | \"typescript\"\n | \"tsx\"\n | \"yaml\"\n | \"xml\"\n | \"html\"\n | \"css\"\n | \"scss\"\n | \"markdown\"\n | \"python\"\n | \"go\"\n | \"rust\"\n | \"java\"\n | \"csharp\"\n | \"shell\"\n | \"plaintext\";\n\nexport interface MonacoMarker {\n /** 1-based line number. */\n line: number;\n /** 1-based column. */\n column?: number;\n /** 1-based end line. Defaults to `line`. */\n endLine?: number;\n /** 1-based end column. */\n endColumn?: number;\n severity?: \"error\" | \"warning\" | \"info\" | \"hint\";\n message: string;\n /** Optional source label, e.g. \"json-schema\". */\n source?: string;\n}\n\nexport interface MonacoEditorProps {\n value: string;\n onChange?: (value: string) => void;\n language?: MonacoLanguage;\n /** Read-only mode. */\n readOnly?: boolean;\n /** Editor height — number (px) or any CSS length. Default 320. */\n height?: number | string;\n /** Min height when auto-sizing is disabled. */\n minHeight?: number;\n /** Custom toolbar slot above the editor. */\n toolbar?: ReactNode;\n /** Status pill on the right side of the toolbar. */\n status?: ReactNode;\n /** Hide the toolbar entirely. */\n hideToolbar?: boolean;\n /** Hide the footer (cursor pos + shortcut hints). */\n hideFooter?: boolean;\n /** Show built-in Copy button. */\n showCopy?: boolean;\n /** Show built-in Format button. Uses Monaco's `editor.action.formatDocument`. */\n showFormat?: boolean;\n /** Show built-in word-wrap toggle. */\n showWordWrapToggle?: boolean;\n /** Show built-in minimap toggle. */\n showMinimapToggle?: boolean;\n /** Initial word wrap. Default false. */\n wordWrap?: boolean;\n /** Initial minimap state. Default false (off — Linear-tight). */\n minimap?: boolean;\n /** Show line numbers. Default true. */\n showLineNumbers?: boolean;\n /** Diagnostic markers (errors, warnings, info, hints). */\n markers?: MonacoMarker[];\n /** Pass-through Monaco editor options. Merged after the defaults. */\n options?: editor.IStandaloneEditorConstructionOptions;\n /** Called once Monaco has mounted with the editor + monaco namespace. */\n onMount?: OnMount;\n /** Style attribute for the wrapper. */\n style?: CSSProperties;\n className?: string;\n ariaLabel?: string;\n /** Theme override. Defaults to \"octaviaflow-light\". */\n theme?: string;\n}\n\nconst MARKER_SEVERITY: Record<Required<MonacoMarker>[\"severity\"], number> = {\n hint: 1,\n info: 2,\n warning: 4,\n error: 8,\n};\n\nexport function MonacoEditor({\n value,\n onChange,\n language = \"plaintext\",\n readOnly = false,\n height = 320,\n minHeight = 120,\n toolbar,\n status,\n hideToolbar = false,\n hideFooter = false,\n showCopy = true,\n showFormat = true,\n showWordWrapToggle = true,\n showMinimapToggle = true,\n wordWrap: wordWrapProp,\n minimap: minimapProp,\n showLineNumbers = true,\n markers,\n options,\n onMount,\n style,\n className,\n ariaLabel = \"Code editor\",\n theme,\n}: MonacoEditorProps) {\n const editorRef = useRef<editor.IStandaloneCodeEditor | null>(null);\n const monacoRef = useRef<Monaco | null>(null);\n\n const [wordWrap, setWordWrap] = useState<boolean>(wordWrapProp ?? false);\n const [minimap, setMinimap] = useState<boolean>(minimapProp ?? false);\n const [copied, setCopied] = useState(false);\n const [cursor, setCursor] = useState({ line: 1, column: 1 });\n const [selection, setSelection] = useState({ chars: 0, lines: 0 });\n const [lineCount, setLineCount] = useState(value.split(\"\\n\").length);\n\n // Keep prop-driven state in sync if controlled\n useEffect(() => {\n if (wordWrapProp !== undefined) setWordWrap(wordWrapProp);\n }, [wordWrapProp]);\n useEffect(() => {\n if (minimapProp !== undefined) setMinimap(minimapProp);\n }, [minimapProp]);\n\n // Apply word wrap / minimap changes to the live editor\n useEffect(() => {\n editorRef.current?.updateOptions({\n wordWrap: wordWrap ? \"on\" : \"off\",\n minimap: { enabled: minimap },\n });\n }, [wordWrap, minimap]);\n\n // Apply markers when they change\n useEffect(() => {\n const editor = editorRef.current;\n const monaco = monacoRef.current;\n if (!editor || !monaco || !markers) return;\n const model = editor.getModel();\n if (!model) return;\n monaco.editor.setModelMarkers(\n model,\n \"octaviaflow\",\n markers.map((m) => ({\n severity: MARKER_SEVERITY[m.severity ?? \"error\"],\n message: m.message,\n startLineNumber: m.line,\n startColumn: m.column ?? 1,\n endLineNumber: m.endLine ?? m.line,\n endColumn: m.endColumn ?? (m.column ?? 1) + 1,\n source: m.source,\n })),\n );\n }, [markers]);\n\n const handleMount: OnMount = useCallback(\n (editor, monaco) => {\n editorRef.current = editor;\n monacoRef.current = monaco;\n monaco.editor.defineTheme(OCTAVIAFLOW_THEME_ID, OCTAVIAFLOW_LIGHT);\n monaco.editor.setTheme(theme ?? OCTAVIAFLOW_THEME_ID);\n\n // Cursor + selection tracking\n editor.onDidChangeCursorPosition((e) => {\n setCursor({ line: e.position.lineNumber, column: e.position.column });\n });\n editor.onDidChangeCursorSelection((e) => {\n const sel = e.selection;\n if (sel.isEmpty()) {\n setSelection({ chars: 0, lines: 0 });\n return;\n }\n const model = editor.getModel();\n if (!model) return;\n const text = model.getValueInRange(sel);\n setSelection({\n chars: text.length,\n lines: text.split(\"\\n\").length,\n });\n });\n // Track line count for footer\n const model = editor.getModel();\n if (model) {\n setLineCount(model.getLineCount());\n model.onDidChangeContent(() => setLineCount(model.getLineCount()));\n }\n\n onMount?.(editor, monaco);\n },\n [onMount, theme],\n );\n\n const handleCopy = async () => {\n if (typeof navigator === \"undefined\") return;\n try {\n await navigator.clipboard.writeText(value);\n setCopied(true);\n setTimeout(() => setCopied(false), 1200);\n } catch {\n /* ignore */\n }\n };\n\n const handleFormat = () => {\n editorRef.current?.getAction(\"editor.action.formatDocument\")?.run();\n };\n\n const mergedOptions: editor.IStandaloneEditorConstructionOptions = {\n readOnly,\n fontFamily:\n \"ui-monospace, SFMono-Regular, 'JetBrains Mono', 'Fira Code', Menlo, Consolas, monospace\",\n fontSize: 13,\n fontLigatures: true,\n lineHeight: 20,\n lineNumbers: showLineNumbers ? \"on\" : \"off\",\n lineNumbersMinChars: 3,\n lineDecorationsWidth: 6,\n folding: true,\n glyphMargin: false,\n minimap: { enabled: minimap },\n wordWrap: wordWrap ? \"on\" : \"off\",\n scrollBeyondLastLine: false,\n smoothScrolling: true,\n cursorBlinking: \"smooth\",\n cursorSmoothCaretAnimation: \"on\",\n renderLineHighlight: \"line\",\n padding: { top: 8, bottom: 8 },\n bracketPairColorization: { enabled: true },\n guides: { bracketPairs: true, indentation: true },\n automaticLayout: true,\n tabSize: 2,\n insertSpaces: true,\n scrollbar: {\n verticalScrollbarSize: 8,\n horizontalScrollbarSize: 8,\n useShadows: false,\n },\n fixedOverflowWidgets: true,\n contextmenu: true,\n suggestOnTriggerCharacters: true,\n quickSuggestions: { other: true, comments: false, strings: false },\n formatOnPaste: false,\n formatOnType: false,\n \"semanticHighlighting.enabled\": true,\n ...options,\n };\n\n const showWrapBtn = showWordWrapToggle && wordWrapProp === undefined;\n const showMinimapBtn = showMinimapToggle && minimapProp === undefined;\n\n return (\n <div\n className={cn(\n \"ods-monaco\",\n `ods-monaco--${language}`,\n readOnly && \"ods-monaco--readonly\",\n className,\n )}\n style={style}\n >\n {!hideToolbar && (\n <div className=\"ods-monaco__toolbar\">\n <div className=\"ods-monaco__toolbar-left\">\n <span className=\"ods-monaco__lang\">{language.toUpperCase()}</span>\n {toolbar}\n </div>\n <div className=\"ods-monaco__toolbar-right\">\n <span className=\"ods-monaco__lines\">\n {lineCount} line{lineCount === 1 ? \"\" : \"s\"}\n </span>\n {status && <span className=\"ods-monaco__status\">{status}</span>}\n {showWrapBtn && (\n <button\n type=\"button\"\n className={cn(\"ods-monaco__btn\", wordWrap && \"ods-monaco__btn--active\")}\n onClick={() => setWordWrap((w) => !w)}\n aria-pressed={wordWrap}\n aria-label=\"Toggle word wrap\"\n title=\"Word wrap\"\n >\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M2 3.5h10M2 7h7.5a2 2 0 1 1 0 4H8m0 0 1.5-1.5M8 11l1.5 1.5M2 10.5h3\"\n stroke=\"currentColor\"\n strokeWidth=\"1.2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </button>\n )}\n {showMinimapBtn && (\n <button\n type=\"button\"\n className={cn(\"ods-monaco__btn\", minimap && \"ods-monaco__btn--active\")}\n onClick={() => setMinimap((m) => !m)}\n aria-pressed={minimap}\n aria-label=\"Toggle minimap\"\n title=\"Minimap\"\n >\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden=\"true\">\n <rect\n x=\"2\"\n y=\"2.5\"\n width=\"6\"\n height=\"9\"\n rx=\"0.5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.2\"\n />\n <rect\n x=\"9\"\n y=\"2.5\"\n width=\"3\"\n height=\"9\"\n rx=\"0.5\"\n fill=\"currentColor\"\n opacity=\"0.25\"\n />\n <path\n d=\"M3.5 4.5h3M3.5 6.5h3M3.5 8.5h2\"\n stroke=\"currentColor\"\n strokeWidth=\"1\"\n strokeLinecap=\"round\"\n />\n </svg>\n </button>\n )}\n {showFormat && !readOnly && (\n <button\n type=\"button\"\n className=\"ods-monaco__btn\"\n onClick={handleFormat}\n aria-label=\"Format document\"\n title=\"Format (Shift+Alt+F)\"\n >\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"M2.5 4h9M4 7h7.5M5.5 10H11\"\n stroke=\"currentColor\"\n strokeWidth=\"1.3\"\n strokeLinecap=\"round\"\n />\n <path\n d=\"M2.5 7 3.5 6 2.5 5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </button>\n )}\n {showCopy && (\n <button\n type=\"button\"\n className={cn(\"ods-monaco__btn\", copied && \"ods-monaco__btn--success\")}\n onClick={handleCopy}\n aria-label=\"Copy\"\n title=\"Copy\"\n >\n {copied ? (\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden=\"true\">\n <path\n d=\"m3 7 3 3 5-6\"\n stroke=\"currentColor\"\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n ) : (\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" aria-hidden=\"true\">\n <rect\n x=\"3\"\n y=\"3\"\n width=\"8\"\n height=\"8\"\n rx=\"1\"\n stroke=\"currentColor\"\n strokeWidth=\"1.3\"\n />\n <path\n d=\"M5 1.5h6V8\"\n stroke=\"currentColor\"\n strokeWidth=\"1.3\"\n strokeLinecap=\"round\"\n />\n </svg>\n )}\n </button>\n )}\n </div>\n </div>\n )}\n\n <div className=\"ods-monaco__body\" style={{ minHeight }}>\n <Suspense\n fallback={\n <div className=\"ods-monaco__loading\">\n <span className=\"ods-monaco__loading-spin\" aria-hidden=\"true\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\">\n <circle\n cx=\"7\"\n cy=\"7\"\n r=\"5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.4\"\n strokeDasharray=\"4 18\"\n strokeLinecap=\"round\"\n />\n </svg>\n </span>\n <span>Loading editor…</span>\n </div>\n }\n >\n <Editor\n value={value}\n onChange={(v) => onChange?.(v ?? \"\")}\n language={language}\n height={height}\n theme={theme ?? OCTAVIAFLOW_THEME_ID}\n options={mergedOptions}\n onMount={handleMount}\n loading={\n <div className=\"ods-monaco__loading\">\n <span className=\"ods-monaco__loading-spin\" aria-hidden=\"true\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\">\n <circle\n cx=\"7\"\n cy=\"7\"\n r=\"5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.4\"\n strokeDasharray=\"4 18\"\n strokeLinecap=\"round\"\n />\n </svg>\n </span>\n <span>Loading editor…</span>\n </div>\n }\n aria-label={ariaLabel}\n />\n </Suspense>\n </div>\n\n {!hideFooter && (\n <div className=\"ods-monaco__footer\">\n <span className=\"ods-monaco__pos\">\n Ln {cursor.line}, Col {cursor.column}\n {selection.chars > 0 && (\n <>\n {\" \"}\n · {selection.chars} char{selection.chars === 1 ? \"\" : \"s\"}\n {selection.lines > 1 && ` · ${selection.lines} lines`}\n </>\n )}\n </span>\n <span className=\"ods-monaco__shortcut-hint\">\n <kbd className=\"ods-monaco__kbd\">⌘F</kbd> find\n <span className=\"ods-monaco__sep\">·</span>\n <kbd className=\"ods-monaco__kbd\">⌘⇧F</kbd> replace\n <span className=\"ods-monaco__sep\">·</span>\n <kbd className=\"ods-monaco__kbd\">F1</kbd> commands\n </span>\n </div>\n )}\n </div>\n );\n}\n"],"mappings":"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","names":["lazy","Suspense","useRef","useState","jsx","jsxs","lazy","useRef","useState","model","Suspense"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-matrix.d.ts","sourceRoot":"","sources":["../../src/stories/state-matrix.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,IAAI,EAAE,CAAC,CAAC;IACR,kFAAkF;IAClF,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,uEAAuE;IACvE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,SAAS,CAAC;CACvC;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5B,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9B,sDAAsD;IACtD,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,SAAS,CAAC;CACvC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"state-matrix.d.ts","sourceRoot":"","sources":["../../src/stories/state-matrix.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,IAAI,EAAE,CAAC,CAAC;IACR,kFAAkF;IAClF,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,uEAAuE;IACvE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,SAAS,CAAC;CACvC;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5B,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9B,sDAAsD;IACtD,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,SAAS,CAAC;CACvC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAyHvF"}
|