@elixpo/lixeditor 2.5.1 → 2.5.7
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/index.cjs +912 -886
- package/dist/index.cjs.map +2 -2
- package/dist/index.js +905 -883
- package/dist/index.js.map +2 -2
- package/package.json +3 -2
package/dist/index.js.map
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/editor/LixEditor.jsx", "../src/hooks/useLixTheme.js", "../src/blocks/BlockEquation.jsx", "../src/blocks/MermaidBlock.jsx", "../src/blocks/TableOfContents.jsx", "../src/blocks/InlineEquation.jsx", "../src/blocks/DateInline.jsx", "../src/blocks/ImageBlock.jsx", "../src/blocks/ButtonBlock.jsx", "../src/blocks/PDFEmbedBlock.jsx", "../src/editor/LinkPreviewTooltip.jsx", "../src/preview/LixPreview.jsx", "../src/preview/renderBlocks.js", "../src/editor/KeyboardShortcutsModal.jsx"],
|
|
4
4
|
"sourcesContent": ["'use client';\n\nimport { BlockNoteSchema, defaultBlockSpecs, defaultInlineContentSpecs, createCodeBlockSpec } from '@blocknote/core';\nimport { useCreateBlockNote, SuggestionMenuController, getDefaultReactSlashMenuItems, TableHandlesController } from '@blocknote/react';\nimport { BlockNoteView } from '@blocknote/mantine';\nimport { useCallback, useMemo, forwardRef, useImperativeHandle, useState, useRef, useEffect } from 'react';\nimport { useLixTheme } from '../hooks/useLixTheme';\n\n// Core blocks\nimport { BlockEquation } from '../blocks/BlockEquation';\nimport { MermaidBlock } from '../blocks/MermaidBlock';\nimport { TableOfContents } from '../blocks/TableOfContents';\nimport { InlineEquation } from '../blocks/InlineEquation';\nimport { DateInline } from '../blocks/DateInline';\n\n// Optional blocks \u2014 imported but can be disabled via config\nimport { BlogImageBlock as ImageBlock } from '../blocks/ImageBlock';\nimport { ButtonBlock } from '../blocks/ButtonBlock';\nimport { PDFEmbedBlock } from '../blocks/PDFEmbedBlock';\n\n// Utilities\nimport LinkPreviewTooltip, { useLinkPreview } from './LinkPreviewTooltip';\n\n// Default code block languages\nconst DEFAULT_LANGUAGES = {\n text: { name: 'Text' },\n javascript: { name: 'JavaScript', aliases: ['js'] },\n typescript: { name: 'TypeScript', aliases: ['ts'] },\n python: { name: 'Python', aliases: ['py'] },\n java: { name: 'Java' },\n c: { name: 'C' },\n cpp: { name: 'C++' },\n csharp: { name: 'C#', aliases: ['cs'] },\n go: { name: 'Go' },\n rust: { name: 'Rust', aliases: ['rs'] },\n ruby: { name: 'Ruby', aliases: ['rb'] },\n php: { name: 'PHP' },\n swift: { name: 'Swift' },\n kotlin: { name: 'Kotlin', aliases: ['kt'] },\n html: { name: 'HTML' },\n css: { name: 'CSS' },\n json: { name: 'JSON' },\n yaml: { name: 'YAML', aliases: ['yml'] },\n markdown: { name: 'Markdown', aliases: ['md'] },\n bash: { name: 'Bash', aliases: ['sh'] },\n shell: { name: 'Shell' },\n sql: { name: 'SQL' },\n graphql: { name: 'GraphQL', aliases: ['gql'] },\n jsx: { name: 'JSX' },\n tsx: { name: 'TSX' },\n vue: { name: 'Vue' },\n svelte: { name: 'Svelte' },\n dart: { name: 'Dart' },\n lua: { name: 'Lua' },\n r: { name: 'R' },\n scala: { name: 'Scala' },\n};\n\n/**\n * LixEditor \u2014 A rich WYSIWYG block editor.\n *\n * @param {Object} props\n * @param {Array} [props.initialContent] - Initial block content (BlockNote format)\n * @param {Function} [props.onChange] - Called when content changes, receives the editor instance\n * @param {Object} [props.features] - Enable/disable features\n * @param {boolean} [props.features.equations=true] - Block & inline LaTeX equations\n * @param {boolean} [props.features.mermaid=true] - Mermaid diagram blocks\n * @param {boolean} [props.features.codeHighlighting=true] - Shiki syntax highlighting\n * @param {boolean} [props.features.tableOfContents=true] - TOC block\n * @param {boolean} [props.features.images=true] - Image blocks\n * @param {boolean} [props.features.buttons=true] - Button blocks\n * @param {boolean} [props.features.pdf=true] - PDF embed blocks\n * @param {boolean} [props.features.dates=true] - Inline date chips\n * @param {boolean} [props.features.linkPreview=true] - Link hover preview\n * @param {boolean} [props.features.markdownLinks=true] - Auto-convert [text](url) to links\n * @param {Object} [props.codeLanguages] - Custom code block language map (overrides defaults)\n * @param {Array} [props.extraBlockSpecs] - Additional custom block specs to register\n * @param {Array} [props.extraInlineSpecs] - Additional custom inline content specs\n * @param {Array} [props.slashMenuItems] - Additional slash menu items\n * @param {string} [props.placeholder] - Editor placeholder text\n * @param {Object} [props.collaboration] - Yjs collaboration config\n * @param {Function} [props.onReady] - Called when editor is ready\n * @param {React.ReactNode} [props.children] - Additional children rendered inside BlockNoteView\n */\nconst LixEditor = forwardRef(function LixEditor({\n initialContent,\n onChange,\n features = {},\n codeLanguages,\n extraBlockSpecs = [],\n extraInlineSpecs = [],\n slashMenuItems: extraSlashItems = [],\n placeholder = \"Type '/' for commands...\",\n collaboration,\n onReady,\n children,\n}, ref) {\n const { isDark } = useLixTheme();\n const wrapperRef = useRef(null);\n const editorLinkPreview = useLinkPreview();\n\n // Merge features with defaults\n const f = {\n equations: true, mermaid: true, codeHighlighting: true,\n tableOfContents: true, images: true, buttons: true, pdf: true,\n dates: true, linkPreview: true, markdownLinks: true,\n ...features,\n };\n\n // Build block specs\n const langs = codeLanguages || DEFAULT_LANGUAGES;\n const codeBlock = f.codeHighlighting\n ? createCodeBlockSpec({\n supportedLanguages: langs,\n createHighlighter: async () => {\n const { createHighlighter } = await import('shiki');\n return createHighlighter({\n themes: ['vitesse-dark', 'vitesse-light'],\n langs: Object.keys(langs).filter(k => k !== 'text'),\n });\n },\n })\n : undefined;\n\n const schema = useMemo(() => {\n const blockSpecs = { ...defaultBlockSpecs };\n if (codeBlock) blockSpecs.codeBlock = codeBlock;\n if (f.equations) blockSpecs.blockEquation = BlockEquation({});\n if (f.mermaid) blockSpecs.mermaidBlock = MermaidBlock({});\n if (f.tableOfContents) blockSpecs.tableOfContents = TableOfContents({});\n if (f.images) blockSpecs.image = ImageBlock({});\n if (f.buttons) blockSpecs.buttonBlock = ButtonBlock({});\n if (f.pdf) blockSpecs.pdfEmbed = PDFEmbedBlock({});\n\n // Register extra block specs\n for (const spec of extraBlockSpecs) {\n if (spec.type && spec.spec) blockSpecs[spec.type] = spec.spec;\n }\n\n const inlineContentSpecs = { ...defaultInlineContentSpecs };\n if (f.equations) inlineContentSpecs.inlineEquation = InlineEquation;\n if (f.dates) inlineContentSpecs.dateInline = DateInline;\n\n // Register extra inline specs\n for (const spec of extraInlineSpecs) {\n if (spec.type && spec.spec) inlineContentSpecs[spec.type] = spec.spec;\n }\n\n return BlockNoteSchema.create({ blockSpecs, inlineContentSpecs });\n }, []);\n\n // Sanitize initial content\n const sanitized = useMemo(() => {\n if (!initialContent) return undefined;\n let blocks = initialContent;\n if (typeof blocks === 'string') {\n try { blocks = JSON.parse(blocks); } catch { return undefined; }\n }\n if (!Array.isArray(blocks) || blocks.length === 0) return undefined;\n return blocks;\n }, [initialContent]);\n\n const editor = useCreateBlockNote({\n schema,\n ...(collaboration ? { collaboration } : { initialContent: sanitized || undefined }),\n domAttributes: { editor: { class: 'lix-editor' } },\n placeholders: { default: placeholder },\n });\n\n useImperativeHandle(ref, () => ({\n getDocument: () => editor.document,\n getEditor: () => editor,\n getBlocks: () => editor.document,\n getHTML: async () => await editor.blocksToHTMLLossy(editor.document),\n getMarkdown: async () => await editor.blocksToMarkdownLossy(editor.document),\n }), [editor]);\n\n // Notify parent when ready\n useEffect(() => { if (onReady) onReady(); }, []);\n\n // Auto-convert  to image block and [text](url) to link as you type\n useEffect(() => {\n if (!f.markdownLinks || !editor) return;\n const tiptap = editor._tiptapEditor;\n if (!tiptap) return;\n\n const handleInput = () => {\n const { state, view } = tiptap;\n const { $from } = state.selection;\n const textBefore = $from.parent.textBetween(0, $from.parentOffset, undefined, '\\ufffc');\n\n // Image syntax: \n const imgMatch = textBefore.match(/!\\[([^\\]]*)\\]\\((https?:\\/\\/[^\\s)]+)\\)$/);\n if (imgMatch) {\n const [fullMatch, alt, imgUrl] = imgMatch;\n const from = $from.pos - fullMatch.length;\n view.dispatch(state.tr.delete(from, $from.pos));\n const cursorBlock = editor.getTextCursorPosition().block;\n editor.insertBlocks(\n [{ type: 'image', props: { url: imgUrl, caption: alt || '' } }],\n cursorBlock, 'after'\n );\n requestAnimationFrame(() => {\n try {\n const block = editor.getTextCursorPosition().block;\n if (block?.type === 'paragraph' && !(block.content || []).some(c => c.text?.trim())) {\n editor.removeBlocks([block.id]);\n }\n } catch {}\n });\n return;\n }\n\n // Link syntax: [text](url)\n const match = textBefore.match(/\\[([^\\]]+)\\]\\((https?:\\/\\/[^\\s)]+)\\)$/);\n if (!match) return;\n const [fullMatch, linkText, url] = match;\n const from = $from.pos - fullMatch.length;\n const linkMark = state.schema.marks.link.create({ href: url });\n const tr = state.tr.delete(from, $from.pos).insertText(linkText, from).addMark(from, from + linkText.length, linkMark);\n view.dispatch(tr);\n };\n\n tiptap.on('update', handleInput);\n return () => tiptap.off('update', handleInput);\n }, [editor, f.markdownLinks]);\n\n // Link preview hover\n useEffect(() => {\n if (!f.linkPreview) return;\n const wrapper = wrapperRef.current;\n if (!wrapper) return;\n\n const handleMouseOver = (e) => {\n const link = e.target.closest('a[href]');\n if (!link || link.closest('.bn-link-toolbar') || link.closest('.bn-toolbar')) return;\n const href = link.getAttribute('href');\n if (href && href.startsWith('http')) editorLinkPreview.show(link, href);\n };\n const handleMouseOut = (e) => {\n const link = e.target.closest('a[href]');\n if (!link) return;\n editorLinkPreview.cancel();\n };\n const handleClick = (e) => {\n if (!(e.ctrlKey || e.metaKey)) return;\n const link = e.target.closest('a[href]');\n if (!link || link.closest('.bn-link-toolbar')) return;\n const href = link.getAttribute('href');\n if (href && href.startsWith('http')) {\n e.preventDefault();\n e.stopPropagation();\n window.open(href, '_blank', 'noopener,noreferrer');\n }\n };\n const handleKeyDown = (e) => { if (e.ctrlKey || e.metaKey) wrapper.classList.add('ctrl-held'); };\n const handleKeyUp = () => wrapper.classList.remove('ctrl-held');\n\n wrapper.addEventListener('mouseover', handleMouseOver);\n wrapper.addEventListener('mouseout', handleMouseOut);\n wrapper.addEventListener('click', handleClick);\n window.addEventListener('keydown', handleKeyDown);\n window.addEventListener('keyup', handleKeyUp);\n return () => {\n wrapper.removeEventListener('mouseover', handleMouseOver);\n wrapper.removeEventListener('mouseout', handleMouseOut);\n wrapper.removeEventListener('click', handleClick);\n window.removeEventListener('keydown', handleKeyDown);\n window.removeEventListener('keyup', handleKeyUp);\n };\n }, [f.linkPreview]);\n\n // Slash menu items\n const getItems = useCallback(async (query) => {\n const defaults = getDefaultReactSlashMenuItems(editor)\n .filter(item => !['video', 'audio', 'file'].includes(item.key));\n\n const custom = [];\n\n if (f.equations) {\n custom.push({\n title: 'Block Equation',\n subtext: 'LaTeX block equation',\n group: 'Advanced',\n icon: <span style={{ fontSize: 16 }}>\u2211</span>,\n onItemClick: () => editor.insertBlocks([{ type: 'blockEquation' }], editor.getTextCursorPosition().block, 'after'),\n });\n }\n\n if (f.mermaid) {\n custom.push({\n title: 'Diagram',\n subtext: 'Mermaid diagram (flowchart, sequence, etc.)',\n group: 'Advanced',\n icon: <span style={{ fontSize: 14 }}>\u25C7</span>,\n onItemClick: () => editor.insertBlocks([{ type: 'mermaidBlock' }], editor.getTextCursorPosition().block, 'after'),\n });\n }\n\n if (f.tableOfContents) {\n custom.push({\n title: 'Table of Contents',\n subtext: 'Auto-generated document outline',\n group: 'Advanced',\n icon: <span style={{ fontSize: 14 }}>\u2630</span>,\n onItemClick: () => editor.insertBlocks([{ type: 'tableOfContents' }], editor.getTextCursorPosition().block, 'after'),\n });\n }\n\n return [...defaults, ...custom, ...extraSlashItems]\n .filter(item => item.title.toLowerCase().includes(query.toLowerCase()));\n }, [editor, f, extraSlashItems]);\n\n const handleChange = useCallback(() => {\n if (onChange) onChange(editor);\n }, [editor, onChange]);\n\n return (\n <div className={`lix-editor-wrapper${''}`} ref={wrapperRef} style={{ position: 'relative' }}>\n <BlockNoteView\n editor={editor}\n onChange={handleChange}\n theme={isDark ? 'dark' : 'light'}\n slashMenu={false}\n >\n <SuggestionMenuController triggerCharacter=\"/\" getItems={getItems} />\n <TableHandlesController />\n {children}\n </BlockNoteView>\n\n {f.linkPreview && editorLinkPreview.preview && (\n <LinkPreviewTooltip\n anchorEl={editorLinkPreview.preview.anchorEl}\n url={editorLinkPreview.preview.url}\n onClose={editorLinkPreview.hide}\n />\n )}\n </div>\n );\n});\n\nexport default LixEditor;\n", "'use client';\n\nimport { createContext, useContext, useState, useEffect } from 'react';\n\nconst LixThemeContext = createContext(null);\n\n/**\n * Theme provider for the LixEditor package.\n * Manages light/dark theme and applies it to the document.\n *\n * @param {Object} props\n * @param {'light'|'dark'} [props.defaultTheme='light'] - Initial theme\n * @param {string} [props.storageKey='lixeditor_theme'] - localStorage key for persistence\n * @param {React.ReactNode} props.children\n */\nexport function LixThemeProvider({ children, defaultTheme = 'light', storageKey = 'lixeditor_theme' }) {\n const [theme, setTheme] = useState(defaultTheme);\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n if (storageKey) {\n const saved = localStorage.getItem(storageKey);\n if (saved === 'dark' || saved === 'light') setTheme(saved);\n }\n setMounted(true);\n }, [storageKey]);\n\n useEffect(() => {\n if (!mounted) return;\n document.documentElement.setAttribute('data-theme', theme);\n if (storageKey) localStorage.setItem(storageKey, theme);\n }, [theme, mounted, storageKey]);\n\n const toggleTheme = () => setTheme(t => t === 'dark' ? 'light' : 'dark');\n const isDark = theme === 'dark';\n\n return (\n <LixThemeContext.Provider value={{ theme, setTheme, toggleTheme, isDark, mounted }}>\n {children}\n </LixThemeContext.Provider>\n );\n}\n\n/**\n * Hook to access the current theme.\n * Falls back to detecting data-theme attribute if no provider is present.\n */\nexport function useLixTheme() {\n const ctx = useContext(LixThemeContext);\n if (ctx) return ctx;\n\n // Fallback: detect theme from DOM\n const isDark = typeof document !== 'undefined' && document.documentElement.getAttribute('data-theme') === 'dark';\n return { theme: isDark ? 'dark' : 'light', isDark, toggleTheme: () => {}, setTheme: () => {}, mounted: true };\n}\n", "'use client';\n\nimport { createReactBlockSpec } from '@blocknote/react';\nimport { useState, useEffect, useRef, useCallback } from 'react';\nimport katex from 'katex';\n\n// Strip \\[...\\], $$...$$, \\(...\\), $...$ delimiters \u2014 KaTeX expects the inner expression only\nfunction stripDelimiters(raw) {\n let s = raw.trim();\n if (s.startsWith('\\\\[') && s.endsWith('\\\\]')) return s.slice(2, -2).trim();\n if (s.startsWith('$$') && s.endsWith('$$')) return s.slice(2, -2).trim();\n if (s.startsWith('\\\\(') && s.endsWith('\\\\)')) return s.slice(2, -2).trim();\n if (s.startsWith('$') && s.endsWith('$') && s.length > 2) return s.slice(1, -1).trim();\n return s;\n}\n\nfunction renderKaTeX(latex, displayMode = true) {\n try {\n return katex.renderToString(stripDelimiters(latex), { displayMode, throwOnError: false });\n } catch {\n return `<span style=\"color:#f87171\">${latex}</span>`;\n }\n}\n\nexport const BlockEquation = createReactBlockSpec(\n {\n type: 'blockEquation',\n propSchema: {\n latex: { default: '' },\n },\n content: 'none',\n },\n {\n render: ({ block, editor }) => {\n const [editing, setEditing] = useState(!block.props.latex);\n const [value, setValue] = useState(block.props.latex || '');\n const [livePreview, setLivePreview] = useState(block.props.latex || '');\n const inputRef = useRef(null);\n const debounceRef = useRef(null);\n\n useEffect(() => {\n if (editing) inputRef.current?.focus();\n }, [editing]);\n\n const handleCodeChange = useCallback((e) => {\n const v = e.target.value;\n setValue(v);\n clearTimeout(debounceRef.current);\n debounceRef.current = setTimeout(() => setLivePreview(v), 200);\n }, []);\n\n useEffect(() => {\n return () => clearTimeout(debounceRef.current);\n }, []);\n\n const save = () => {\n editor.updateBlock(block, { props: { latex: value } });\n setEditing(false);\n };\n\n if (editing) {\n return (\n <div className=\"mermaid-block mermaid-block--editing\">\n <div className=\"mermaid-block-header\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#c4b5fd\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M4 4h6v6H4zM14 4h6v6h-6zM4 14h6v6H4zM14 14h6v6h-6z\"/>\n </svg>\n <span>LaTeX Equation</span>\n <span style={{ marginLeft: 'auto', fontSize: '10px', color: 'var(--text-faint)' }}>Shift+Enter to save</span>\n </div>\n <textarea\n ref={inputRef}\n value={value}\n onChange={handleCodeChange}\n onKeyDown={(e) => {\n if (e.key === 'Enter' && e.shiftKey) { e.preventDefault(); save(); }\n if (e.key === 'Escape') { setEditing(false); setValue(block.props.latex || ''); setLivePreview(block.props.latex || ''); }\n }}\n placeholder=\"E = mc^2\"\n rows={4}\n className=\"mermaid-block-textarea\"\n />\n {/* Live KaTeX preview */}\n {livePreview.trim() && (\n <div className=\"latex-live-preview\">\n <div className=\"latex-live-preview-label\">Preview</div>\n <div dangerouslySetInnerHTML={{ __html: renderKaTeX(livePreview) }} />\n </div>\n )}\n <div className=\"mermaid-block-actions\">\n <button onClick={() => { setEditing(false); setValue(block.props.latex || ''); setLivePreview(block.props.latex || ''); }} className=\"mermaid-btn-cancel\">Cancel</button>\n <button onClick={save} className=\"mermaid-btn-save\" disabled={!value.trim()}>Done</button>\n </div>\n </div>\n );\n }\n\n const latex = block.props.latex;\n if (!latex) {\n return (\n <div\n onClick={() => setEditing(true)}\n className=\"mermaid-block mermaid-block--empty\"\n >\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M4 4h6v6H4zM14 4h6v6h-6zM4 14h6v6H4zM14 14h6v6h-6z\"/>\n </svg>\n <span>Click to add a block equation</span>\n </div>\n );\n }\n\n return (\n <div\n onClick={() => setEditing(true)}\n className=\"editor-block-equation\"\n dangerouslySetInnerHTML={{ __html: renderKaTeX(latex) }}\n />\n );\n },\n }\n);\n", "'use client';\n\nimport { createReactBlockSpec } from '@blocknote/react';\nimport { useState, useEffect, useRef, useCallback } from 'react';\nimport { useLixTheme as useTheme } from '../hooks/useLixTheme';\n\nconst darkConfig = {\n startOnLoad: false,\n securityLevel: 'loose',\n theme: 'dark',\n themeVariables: {\n primaryColor: '#232d3f',\n primaryTextColor: '#e4e4e7',\n primaryBorderColor: '#c4b5fd',\n lineColor: '#8b8fa3',\n secondaryColor: '#1e1e2e',\n tertiaryColor: '#141a26',\n fontFamily: \"'lixFont', sans-serif\",\n fontSize: '16px',\n nodeTextColor: '#e4e4e7',\n nodeBorder: '#c4b5fd',\n mainBkg: '#232d3f',\n clusterBkg: '#1a1f2e',\n clusterBorder: '#333',\n titleColor: '#c4b5fd',\n edgeLabelBackground: '#141a26',\n git0: '#c4b5fd',\n git1: '#7c5cbf',\n git2: '#4ade80',\n git3: '#f59e0b',\n git4: '#ef4444',\n git5: '#3b82f6',\n git6: '#ec4899',\n git7: '#14b8a6',\n gitBranchLabel0: '#e4e4e7',\n gitBranchLabel1: '#e4e4e7',\n gitBranchLabel2: '#e4e4e7',\n gitBranchLabel3: '#e4e4e7',\n gitInv0: '#141a26',\n },\n flowchart: { padding: 20, nodeSpacing: 50, rankSpacing: 60, curve: 'basis', htmlLabels: true, useMaxWidth: false },\n sequence: { useMaxWidth: false, boxMargin: 10, noteMargin: 10, messageMargin: 35, mirrorActors: false },\n gitGraph: { showBranches: true, showCommitLabel: true, mainBranchName: 'main', rotateCommitLabel: false },\n};\n\nconst lightConfig = {\n startOnLoad: false,\n securityLevel: 'loose',\n theme: 'default',\n themeVariables: {\n primaryColor: '#e8e0ff',\n primaryTextColor: '#1a1a2e',\n primaryBorderColor: '#7c5cbf',\n lineColor: '#6b7280',\n secondaryColor: '#f3f0ff',\n tertiaryColor: '#f9fafb',\n fontFamily: \"'lixFont', sans-serif\",\n fontSize: '16px',\n nodeTextColor: '#1a1a2e',\n nodeBorder: '#7c5cbf',\n mainBkg: '#e8e0ff',\n clusterBkg: '#f3f0ff',\n clusterBorder: '#d1d5db',\n titleColor: '#7c5cbf',\n edgeLabelBackground: '#f9fafb',\n git0: '#7c5cbf',\n git1: '#9b7bf7',\n git2: '#16a34a',\n git3: '#d97706',\n git4: '#dc2626',\n git5: '#2563eb',\n git6: '#db2777',\n git7: '#0d9488',\n },\n flowchart: { padding: 20, nodeSpacing: 50, rankSpacing: 60, curve: 'basis', htmlLabels: true, useMaxWidth: false },\n sequence: { useMaxWidth: false, boxMargin: 10, noteMargin: 10, messageMargin: 35, mirrorActors: false },\n gitGraph: { showBranches: true, showCommitLabel: true, mainBranchName: 'main', rotateCommitLabel: false },\n};\n\nlet mermaidModule = null;\nlet mermaidLoadPromise = null;\nlet renderQueue = Promise.resolve();\nlet lastTheme = null;\n\nasync function getMermaid(isDark) {\n if (!mermaidModule) {\n if (!mermaidLoadPromise) {\n // Import the full ESM bundle \u2014 the default 'mermaid' export maps to mermaid.core.mjs\n // which strips gitGraph, pie, timeline, etc. via lazy-loading that breaks with webpack.\n mermaidLoadPromise = import('mermaid').then(m => {\n mermaidModule = m.default;\n return mermaidModule;\n });\n }\n await mermaidLoadPromise;\n }\n const theme = isDark ? 'dark' : 'light';\n if (lastTheme !== theme) {\n lastTheme = theme;\n mermaidModule.initialize(isDark ? darkConfig : lightConfig);\n }\n return mermaidModule;\n}\n\n// Serialize render calls \u2014 mermaid is a singleton and concurrent renders cause conflicts\nfunction queueRender(fn) {\n renderQueue = renderQueue.then(fn, fn);\n return renderQueue;\n}\n\n// Shared component that renders a mermaid diagram to SVG\nfunction MermaidPreview({ diagram, isDark, interactive }) {\n const containerRef = useRef(null);\n const [svgHTML, setSvgHTML] = useState('');\n const [error, setError] = useState('');\n const [zoom, setZoom] = useState(1);\n const [pan, setPan] = useState({ x: 0, y: 0 });\n const dragging = useRef(false);\n const dragStart = useRef({ x: 0, y: 0 });\n const panStart = useRef({ x: 0, y: 0 });\n\n useEffect(() => {\n if (!diagram?.trim()) {\n setSvgHTML('');\n setError('');\n return;\n }\n let cancelled = false;\n const id = `mermaid-${Date.now()}-${Math.random().toString(36).slice(2, 6)}`;\n\n queueRender(async () => {\n if (cancelled) return;\n try {\n const mermaid = await getMermaid(isDark);\n if (cancelled) return;\n\n // Normalize diagram type keywords to correct casing (mermaid is case-sensitive)\n let diagramText = diagram.trim();\n diagramText = diagramText.replace(/^\\s*gitgraph/i, 'gitGraph');\n diagramText = diagramText.replace(/^\\s*sequencediagram/i, 'sequenceDiagram');\n diagramText = diagramText.replace(/^\\s*classDiagram/i, 'classDiagram');\n diagramText = diagramText.replace(/^\\s*stateDiagram/i, 'stateDiagram');\n diagramText = diagramText.replace(/^\\s*erDiagram/i, 'erDiagram');\n diagramText = diagramText.replace(/^\\s*gantt/i, 'gantt');\n\n const tempDiv = document.createElement('div');\n tempDiv.id = 'container-' + id;\n tempDiv.style.cssText = 'position:fixed;top:0;left:0;width:100vw;opacity:0;pointer-events:none;z-index:-9999;';\n document.body.appendChild(tempDiv);\n\n const { svg } = await mermaid.render(id, diagramText, tempDiv);\n tempDiv.remove();\n\n if (!cancelled) {\n const parser = new DOMParser();\n const doc = parser.parseFromString(svg, 'image/svg+xml');\n const svgEl = doc.querySelector('svg');\n if (svgEl) {\n svgEl.removeAttribute('width');\n svgEl.setAttribute('style', 'width:100%;height:auto;max-width:100%;');\n }\n setSvgHTML(svgEl ? svgEl.outerHTML : svg);\n setError('');\n setZoom(1);\n setPan({ x: 0, y: 0 });\n }\n } catch (err) {\n if (!cancelled) {\n setError(err.message || 'Invalid diagram syntax');\n setSvgHTML('');\n }\n try { document.getElementById(id)?.remove(); } catch {}\n try { document.getElementById('container-' + id)?.remove(); } catch {}\n }\n });\n\n return () => { cancelled = true; };\n }, [diagram, isDark]);\n\n // Mouse wheel zoom\n useEffect(() => {\n if (!interactive) return;\n const el = containerRef.current;\n if (!el) return;\n const handleWheel = (e) => {\n e.preventDefault();\n e.stopPropagation();\n setZoom((z) => {\n const delta = e.deltaY > 0 ? -0.1 : 0.1;\n return Math.min(3, Math.max(0.3, z + delta));\n });\n };\n el.addEventListener('wheel', handleWheel, { passive: false });\n return () => el.removeEventListener('wheel', handleWheel);\n }, [svgHTML, interactive]);\n\n // Pan via drag\n const handleMouseDown = useCallback((e) => {\n if (!interactive || e.button !== 0) return;\n e.preventDefault();\n dragging.current = true;\n dragStart.current = { x: e.clientX, y: e.clientY };\n panStart.current = { ...pan };\n }, [pan, interactive]);\n\n const handleMouseMove = useCallback((e) => {\n if (!dragging.current) return;\n const dx = e.clientX - dragStart.current.x;\n const dy = e.clientY - dragStart.current.y;\n setPan({ x: panStart.current.x + dx, y: panStart.current.y + dy });\n }, []);\n\n const handleMouseUp = useCallback(() => {\n dragging.current = false;\n }, []);\n\n useEffect(() => {\n if (!interactive) return;\n window.addEventListener('mousemove', handleMouseMove);\n window.addEventListener('mouseup', handleMouseUp);\n return () => {\n window.removeEventListener('mousemove', handleMouseMove);\n window.removeEventListener('mouseup', handleMouseUp);\n };\n }, [handleMouseMove, handleMouseUp, interactive]);\n\n const resetView = useCallback(() => {\n setZoom(1);\n setPan({ x: 0, y: 0 });\n }, []);\n\n if (error) {\n return (\n <div className=\"mermaid-viewport mermaid-viewport--compact\">\n <pre style={{ color: '#f87171', fontSize: '12px', whiteSpace: 'pre-wrap', padding: '16px', margin: 0 }}>{error}</pre>\n </div>\n );\n }\n\n if (!diagram?.trim()) {\n return (\n <div className=\"mermaid-viewport mermaid-viewport--compact\" style={{ display: 'flex', alignItems: 'center', justifyContent: 'center' }}>\n <span style={{ color: 'var(--text-faint)', fontSize: '12px' }}>Preview will appear here...</span>\n </div>\n );\n }\n\n if (!svgHTML) {\n return (\n <div className=\"mermaid-viewport mermaid-viewport--compact\" style={{ display: 'flex', alignItems: 'center', justifyContent: 'center' }}>\n <span style={{ color: 'var(--text-faint)', fontSize: '13px' }}>Rendering...</span>\n </div>\n );\n }\n\n return (\n <div\n ref={containerRef}\n className={interactive ? 'mermaid-viewport' : 'mermaid-viewport mermaid-viewport--compact'}\n onMouseDown={handleMouseDown}\n >\n <div\n className=\"mermaid-block-svg\"\n style={{\n transform: `translate(${pan.x}px, ${pan.y}px) scale(${zoom})`,\n transformOrigin: 'center center',\n }}\n dangerouslySetInnerHTML={{ __html: svgHTML }}\n />\n {interactive && (\n <div className=\"mermaid-zoom-controls\">\n <button\n onClick={(e) => { e.stopPropagation(); setZoom((z) => Math.min(3, z + 0.2)); }}\n className=\"mermaid-zoom-btn\"\n title=\"Zoom in\"\n >\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"/>\n </svg>\n </button>\n <span className=\"mermaid-zoom-label\">{Math.round(zoom * 100)}%</span>\n <button\n onClick={(e) => { e.stopPropagation(); setZoom((z) => Math.max(0.3, z - 0.2)); }}\n className=\"mermaid-zoom-btn\"\n title=\"Zoom out\"\n >\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"/>\n </svg>\n </button>\n <button\n onClick={(e) => { e.stopPropagation(); resetView(); }}\n className=\"mermaid-zoom-btn\"\n title=\"Reset view\"\n >\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M3.51 15a9 9 0 1 0 2.13-9.36L1 10\"/><polyline points=\"1 4 1 10 7 10\"/>\n </svg>\n </button>\n </div>\n )}\n </div>\n );\n}\n\nexport const MermaidBlock = createReactBlockSpec(\n {\n type: 'mermaidBlock',\n propSchema: {\n diagram: { default: '' },\n },\n content: 'none',\n },\n {\n render: ({ block, editor }) => {\n const { isDark } = useTheme();\n const [editing, setEditing] = useState(!block.props.diagram);\n const [value, setValue] = useState(block.props.diagram || '');\n const [livePreview, setLivePreview] = useState(block.props.diagram || '');\n const inputRef = useRef(null);\n const debounceRef = useRef(null);\n\n useEffect(() => {\n if (editing && inputRef.current) inputRef.current.focus();\n }, [editing]);\n\n // Debounced live preview update while typing\n const handleCodeChange = useCallback((e) => {\n const v = e.target.value;\n setValue(v);\n clearTimeout(debounceRef.current);\n debounceRef.current = setTimeout(() => setLivePreview(v), 400);\n }, []);\n\n useEffect(() => {\n return () => clearTimeout(debounceRef.current);\n }, []);\n\n const save = useCallback(() => {\n editor.updateBlock(block, { props: { diagram: value } });\n setEditing(false);\n }, [editor, block, value]);\n\n const handleDelete = useCallback(() => {\n try { editor.removeBlocks([block.id]); } catch {}\n }, [editor, block.id]);\n\n if (editing) {\n return (\n <div className=\"mermaid-block mermaid-block--editing\">\n <div className=\"mermaid-block-header\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#c4b5fd\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M12 3l1.912 5.813a2 2 0 001.275 1.275L21 12l-5.813 1.912a2 2 0 00-1.275 1.275L12 21l-1.912-5.813a2 2 0 00-1.275-1.275L3 12l5.813-1.912a2 2 0 001.275-1.275L12 3z\"/>\n </svg>\n <span>Mermaid Diagram</span>\n <span style={{ marginLeft: 'auto', fontSize: '10px', color: 'var(--text-faint)' }}>Shift+Enter to save</span>\n </div>\n <textarea\n ref={inputRef}\n value={value}\n onChange={handleCodeChange}\n onKeyDown={(e) => {\n if (e.key === 'Enter' && e.shiftKey) { e.preventDefault(); save(); }\n if (e.key === 'Escape') { setEditing(false); setValue(block.props.diagram || ''); setLivePreview(block.props.diagram || ''); }\n if (e.key === 'Tab') {\n e.preventDefault();\n const start = e.target.selectionStart;\n const end = e.target.selectionEnd;\n const newVal = value.substring(0, start) + ' ' + value.substring(end);\n setValue(newVal);\n setLivePreview(newVal);\n requestAnimationFrame(() => {\n e.target.selectionStart = e.target.selectionEnd = start + 4;\n });\n }\n }}\n placeholder={`graph TD\\n A[Start] --> B{Decision}\\n B -->|Yes| C[OK]\\n B -->|No| D[End]`}\n rows={8}\n className=\"mermaid-block-textarea\"\n />\n {/* Live preview panel */}\n <div className=\"mermaid-live-preview\">\n <div className=\"mermaid-live-preview-label\">Preview</div>\n <MermaidPreview diagram={livePreview} isDark={isDark} interactive={false} />\n </div>\n <div className=\"mermaid-block-actions\">\n <button onClick={() => { setEditing(false); setValue(block.props.diagram || ''); setLivePreview(block.props.diagram || ''); }} className=\"mermaid-btn-cancel\">Cancel</button>\n <button onClick={save} className=\"mermaid-btn-save\" disabled={!value.trim()}>Done</button>\n </div>\n </div>\n );\n }\n\n if (!block.props.diagram) {\n return (\n <div onClick={() => setEditing(true)} className=\"mermaid-block mermaid-block--empty\">\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <rect x=\"3\" y=\"3\" width=\"7\" height=\"7\" rx=\"1.5\" />\n <rect x=\"14\" y=\"3\" width=\"7\" height=\"7\" rx=\"1.5\" />\n <rect x=\"8.5\" y=\"14\" width=\"7\" height=\"7\" rx=\"1.5\" />\n <line x1=\"6.5\" y1=\"10\" x2=\"6.5\" y2=\"14\" />\n <line x1=\"17.5\" y1=\"10\" x2=\"17.5\" y2=\"14\" />\n <line x1=\"6.5\" y1=\"14\" x2=\"8.5\" y2=\"14\" />\n <line x1=\"17.5\" y1=\"14\" x2=\"15.5\" y2=\"14\" />\n </svg>\n <span>Click to add a Mermaid diagram</span>\n </div>\n );\n }\n\n return (\n <div className=\"mermaid-block mermaid-block--rendered group\" onDoubleClick={() => setEditing(true)}>\n <MermaidPreview diagram={block.props.diagram} isDark={isDark} interactive={true} />\n <div className=\"mermaid-block-hover\">\n <button onClick={() => setEditing(true)} className=\"mermaid-hover-btn\" title=\"Edit diagram\">\n <svg width=\"13\" height=\"13\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7\"/><path d=\"M18.5 2.5a2.121 2.121 0 013 3L12 15l-4 1 1-4 9.5-9.5z\"/>\n </svg>\n </button>\n <button onClick={handleDelete} className=\"mermaid-hover-btn mermaid-hover-delete\" title=\"Delete\">\n <svg width=\"13\" height=\"13\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <polyline points=\"3 6 5 6 21 6\"/><path d=\"M19 6v14a2 2 0 01-2 2H7a2 2 0 01-2-2V6m3 0V4a2 2 0 012-2h4a2 2 0 012 2v2\"/>\n </svg>\n </button>\n </div>\n </div>\n );\n },\n }\n);\n", "'use client';\n\nimport { createReactBlockSpec } from '@blocknote/react';\n\nexport const TableOfContents = createReactBlockSpec(\n {\n type: 'tableOfContents',\n propSchema: {},\n content: 'none',\n },\n {\n render: ({ editor }) => {\n const headings = editor.document.filter(\n (b) => b.type === 'heading' && b.content?.length > 0\n );\n\n return (\n <div className=\"toc-block border border-[var(--border-default)] rounded-xl bg-[var(--bg-surface)] px-5 py-4 my-2 select-none\">\n <p className=\"text-[11px] uppercase tracking-wider text-[var(--text-muted)] font-bold mb-3\">Table of Contents</p>\n {headings.length === 0 ? (\n <p className=\"text-[13px] text-[var(--text-faint)] italic\">Add headings to see the outline here.</p>\n ) : (\n <ul className=\"space-y-1.5\">\n {headings.map((h) => {\n const level = h.props?.level || 1;\n const text = h.content.map((c) => c.text || '').join('');\n return (\n <li\n key={h.id}\n className=\"text-[13px] text-[#9b7bf7] hover:text-[#b69aff] cursor-pointer transition-colors\"\n style={{ paddingLeft: `${(level - 1) * 16}px` }}\n onClick={() => editor.setTextCursorPosition(h.id)}\n >\n {text}\n </li>\n );\n })}\n </ul>\n )}\n </div>\n );\n },\n }\n);\n", "'use client';\n\nimport { createReactInlineContentSpec } from '@blocknote/react';\nimport { useState, useRef, useEffect, useCallback } from 'react';\nimport katex from 'katex';\n\nfunction stripDelimiters(raw) {\n let s = raw.trim();\n if (s.startsWith('\\\\(') && s.endsWith('\\\\)')) return s.slice(2, -2).trim();\n if (s.startsWith('\\\\[') && s.endsWith('\\\\]')) return s.slice(2, -2).trim();\n if (s.startsWith('$$') && s.endsWith('$$')) return s.slice(2, -2).trim();\n if (s.startsWith('$') && s.endsWith('$') && s.length > 2) return s.slice(1, -1).trim();\n return s;\n}\n\nfunction renderKaTeXInline(latex) {\n try {\n return katex.renderToString(stripDelimiters(latex), { displayMode: false, throwOnError: false });\n } catch {\n return `<span style=\"color:#f87171\">${latex}</span>`;\n }\n}\n\nfunction InlineEquationChip({ inlineContent }) {\n const [editing, setEditing] = useState(false);\n const [value, setValue] = useState(inlineContent.props.latex || '');\n const inputRef = useRef(null);\n const popupRef = useRef(null);\n\n useEffect(() => {\n if (editing && inputRef.current) inputRef.current.focus();\n }, [editing]);\n\n // Close on click outside\n useEffect(() => {\n if (!editing) return;\n function handleClick(e) {\n if (popupRef.current && !popupRef.current.contains(e.target)) {\n setEditing(false);\n }\n }\n document.addEventListener('mousedown', handleClick);\n return () => document.removeEventListener('mousedown', handleClick);\n }, [editing]);\n\n const save = useCallback(() => {\n if (value.trim()) {\n inlineContent.props.latex = value.trim();\n }\n setEditing(false);\n }, [value, inlineContent]);\n\n const html = renderKaTeXInline(inlineContent.props.latex);\n\n // Live preview while editing\n const previewHtml = value.trim() ? renderKaTeXInline(value) : '';\n\n return (\n <span className=\"relative inline-flex items-center\">\n <span\n onClick={(e) => { e.preventDefault(); e.stopPropagation(); setValue(inlineContent.props.latex || ''); setEditing(!editing); }}\n className=\"inline-equation-chip\"\n dangerouslySetInnerHTML={{ __html: html }}\n title={inlineContent.props.latex}\n />\n {editing && (\n <div\n ref={popupRef}\n className=\"inline-equation-editor\"\n onMouseDown={(e) => e.stopPropagation()}\n >\n <input\n ref={inputRef}\n type=\"text\"\n className=\"inline-equation-editor-input\"\n value={value}\n onChange={(e) => setValue(e.target.value)}\n onKeyDown={(e) => {\n if (e.key === 'Enter') { e.preventDefault(); save(); }\n if (e.key === 'Escape') { setEditing(false); }\n }}\n placeholder=\"E = mc^2\"\n />\n {previewHtml && (\n <div className=\"inline-equation-editor-preview\" dangerouslySetInnerHTML={{ __html: previewHtml }} />\n )}\n <div className=\"inline-equation-editor-actions\">\n <button className=\"mermaid-btn-cancel\" onClick={() => setEditing(false)}>Cancel</button>\n <button className=\"mermaid-btn-save\" disabled={!value.trim()} onClick={save}>Save</button>\n </div>\n </div>\n )}\n </span>\n );\n}\n\nexport const InlineEquation = createReactInlineContentSpec(\n {\n type: 'inlineEquation',\n propSchema: {\n latex: { default: 'x^2' },\n },\n content: 'none',\n },\n {\n render: (props) => <InlineEquationChip {...props} />,\n }\n);\n", "'use client';\n\nimport { createReactInlineContentSpec } from '@blocknote/react';\nimport { useState, useRef, useEffect, useCallback } from 'react';\n\nfunction MiniCalendar({ selectedDate, onSelect, onClose, anchorEl }) {\n const ref = useRef(null);\n const [viewDate, setViewDate] = useState(() => {\n const d = selectedDate ? new Date(selectedDate) : new Date();\n return { year: d.getFullYear(), month: d.getMonth() };\n });\n const [pos, setPos] = useState(null);\n\n useEffect(() => {\n function handleClick(e) {\n if (ref.current && !ref.current.contains(e.target)) onClose();\n }\n document.addEventListener('mousedown', handleClick);\n return () => document.removeEventListener('mousedown', handleClick);\n }, [onClose]);\n\n // Position below the anchor, clamped to viewport\n useEffect(() => {\n if (!anchorEl) return;\n const rect = anchorEl.getBoundingClientRect();\n const calWidth = 240;\n let left = rect.left;\n left = Math.max(8, Math.min(left, window.innerWidth - calWidth - 8));\n setPos({ top: rect.bottom + 4, left });\n }, [anchorEl]);\n\n const { year, month } = viewDate;\n const firstDay = new Date(year, month, 1).getDay();\n const daysInMonth = new Date(year, month + 1, 0).getDate();\n const today = new Date();\n const todayStr = today.toISOString().split('T')[0];\n const monthName = new Date(year, month).toLocaleDateString('en-US', { month: 'long', year: 'numeric' });\n\n const days = [];\n for (let i = 0; i < firstDay; i++) days.push(null);\n for (let d = 1; d <= daysInMonth; d++) days.push(d);\n\n const prev = () => setViewDate(v => v.month === 0 ? { year: v.year - 1, month: 11 } : { ...v, month: v.month - 1 });\n const next = () => setViewDate(v => v.month === 11 ? { year: v.year + 1, month: 0 } : { ...v, month: v.month + 1 });\n\n const toDateStr = (d) => `${year}-${String(month + 1).padStart(2, '0')}-${String(d).padStart(2, '0')}`;\n\n if (!pos) return null;\n\n return (\n <div\n ref={ref}\n className=\"fixed z-[100] rounded-xl shadow-2xl overflow-hidden\"\n style={{ backgroundColor: 'var(--bg-app)', border: '1px solid var(--border-default)', width: '240px', top: pos.top, left: pos.left }}\n onMouseDown={e => e.stopPropagation()}\n >\n {/* Header */}\n <div className=\"flex items-center justify-between px-3 py-2\" style={{ borderBottom: '1px solid var(--divider)' }}>\n <button onClick={prev} className=\"w-6 h-6 flex items-center justify-center rounded hover:bg-[var(--bg-hover)] transition-colors\" style={{ color: 'var(--text-muted)' }}>\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\"><polyline points=\"15 18 9 12 15 6\"/></svg>\n </button>\n <span className=\"text-[12px] font-semibold\" style={{ color: 'var(--text-primary)' }}>{monthName}</span>\n <button onClick={next} className=\"w-6 h-6 flex items-center justify-center rounded hover:bg-[var(--bg-hover)] transition-colors\" style={{ color: 'var(--text-muted)' }}>\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\"><polyline points=\"9 18 15 12 9 6\"/></svg>\n </button>\n </div>\n\n {/* Day labels */}\n <div className=\"grid grid-cols-7 px-2 pt-2\">\n {['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'].map(d => (\n <div key={d} className=\"text-center text-[10px] font-medium py-1\" style={{ color: 'var(--text-faint)' }}>{d}</div>\n ))}\n </div>\n\n {/* Days grid */}\n <div className=\"grid grid-cols-7 px-2 pb-2 gap-0.5\">\n {days.map((d, i) => {\n if (!d) return <div key={`e${i}`} />;\n const dateStr = toDateStr(d);\n const isSelected = dateStr === selectedDate;\n const isToday = dateStr === todayStr;\n return (\n <button\n key={d}\n onClick={() => { onSelect(dateStr); onClose(); }}\n className=\"w-7 h-7 rounded-lg text-[11px] font-medium flex items-center justify-center transition-all\"\n style={{\n backgroundColor: isSelected ? '#9b7bf7' : 'transparent',\n color: isSelected ? 'white' : isToday ? '#9b7bf7' : 'var(--text-body)',\n border: isToday && !isSelected ? '1px solid #9b7bf7' : '1px solid transparent',\n }}\n onMouseEnter={e => { if (!isSelected) e.currentTarget.style.backgroundColor = 'var(--bg-hover)'; }}\n onMouseLeave={e => { if (!isSelected) e.currentTarget.style.backgroundColor = 'transparent'; }}\n >\n {d}\n </button>\n );\n })}\n </div>\n\n {/* Footer */}\n <div className=\"flex items-center justify-between px-3 py-1.5\" style={{ borderTop: '1px solid var(--divider)' }}>\n <button\n onClick={() => { onSelect(''); onClose(); }}\n className=\"text-[10px] font-medium transition-colors\" style={{ color: 'var(--text-faint)' }}\n >Clear</button>\n <button\n onClick={() => { onSelect(todayStr); onClose(); }}\n className=\"text-[10px] font-medium transition-colors\" style={{ color: '#9b7bf7' }}\n >Today</button>\n </div>\n </div>\n );\n}\n\nfunction DateChip({ inlineContent }) {\n const [showPicker, setShowPicker] = useState(false);\n const chipRef = useRef(null);\n const d = inlineContent.props.date;\n\n let formatted;\n try {\n formatted = new Date(d).toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' });\n } catch {\n formatted = d;\n }\n\n const handleSelect = useCallback((newDate) => {\n if (newDate) {\n inlineContent.props.date = newDate;\n }\n setShowPicker(false);\n }, [inlineContent]);\n\n return (\n <span className=\"relative inline-flex items-center\">\n <span\n ref={chipRef}\n onClick={(e) => { e.preventDefault(); e.stopPropagation(); setShowPicker(!showPicker); }}\n className=\"inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-[13px] font-medium mx-0.5 cursor-pointer transition-all hover:ring-2 hover:ring-[#9b7bf7]/30\"\n style={{ color: '#9b7bf7', backgroundColor: 'rgba(155,123,247,0.06)', border: '1px solid rgba(155,123,247,0.15)' }}\n title=\"Click to change date (Ctrl+D to insert)\"\n >\n <svg className=\"w-3 h-3\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\" strokeWidth={2} /><line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\" strokeWidth={2} /><line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\" strokeWidth={2} /><line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\" strokeWidth={2} /></svg>\n {formatted}\n </span>\n {showPicker && (\n <MiniCalendar\n selectedDate={d}\n onSelect={handleSelect}\n onClose={() => setShowPicker(false)}\n anchorEl={chipRef.current}\n />\n )}\n </span>\n );\n}\n\nexport const DateInline = createReactInlineContentSpec(\n {\n type: 'dateInline',\n propSchema: {\n date: { default: new Date().toISOString().split('T')[0] },\n },\n content: 'none',\n },\n {\n render: (props) => <DateChip {...props} />,\n }\n);\n", "'use client';\n\nimport { createReactBlockSpec } from '@blocknote/react';\nimport { useState, useRef, useCallback, useEffect } from 'react';\n\n/**\n * Image block for @elixpo/lixeditor.\n * Supports: Upload (base64), Embed URL, Paste, Drag & Drop, Captions.\n * Same class names as LixBlogs for CSS compatibility.\n *\n * For custom upload (e.g. cloud storage), consumers should use the LixBlogs\n * BlogImageBlock or override via extraBlockSpecs.\n */\nexport const BlogImageBlock = createReactBlockSpec(\n {\n type: 'image',\n propSchema: {\n url: { default: '' },\n caption: { default: '' },\n previewWidth: { default: 740 },\n name: { default: '' },\n showPreview: { default: true },\n },\n content: 'none',\n },\n {\n render: (props) => <ImageRenderer {...props} />,\n }\n);\n\nfunction ImageRenderer({ block, editor }) {\n const { url, caption } = block.props;\n const [mode, setMode] = useState('idle'); // idle | embed | uploading\n const [embedUrl, setEmbedUrl] = useState('');\n const [embedError, setEmbedError] = useState('');\n const [isDragOver, setIsDragOver] = useState(false);\n const [uploadStatus, setUploadStatus] = useState('');\n const [editingCaption, setEditingCaption] = useState(false);\n const [captionText, setCaptionText] = useState(caption || '');\n const fileInputRef = useRef(null);\n const blockRef = useRef(null);\n const embedInputRef = useRef(null);\n\n // Focus input when mode changes\n useEffect(() => {\n if (mode === 'embed') setTimeout(() => embedInputRef.current?.focus(), 50);\n }, [mode]);\n\n // Keyboard: backspace to delete when focused\n useEffect(() => {\n const el = blockRef.current;\n if (!el) return;\n function handleKey(e) {\n if ((e.key === 'Backspace' || e.key === 'Delete') && mode === 'idle' && !url) {\n e.preventDefault();\n try { editor.removeBlocks([block.id]); } catch {}\n }\n }\n el.addEventListener('keydown', handleKey);\n return () => el.removeEventListener('keydown', handleKey);\n }, [editor, block.id, mode, url]);\n\n // Upload \u2014 reads file as base64 data URL\n const uploadFile = useCallback(async (file) => {\n if (!file || !file.type.startsWith('image/')) return;\n setMode('uploading');\n setUploadStatus('Processing...');\n try {\n const reader = new FileReader();\n reader.onload = () => {\n editor.updateBlock(block.id, { props: { url: reader.result, name: file.name } });\n setMode('idle');\n };\n reader.onerror = () => {\n showFailToast('Failed to read image');\n setMode('idle');\n };\n reader.readAsDataURL(file);\n } catch {\n setMode('idle');\n }\n }, [editor, block.id]);\n\n // Paste handler\n const handlePaste = useCallback((e) => {\n const items = e.clipboardData?.items;\n if (!items) return;\n for (const item of items) {\n if (item.type.startsWith('image/')) {\n e.preventDefault();\n uploadFile(item.getAsFile());\n return;\n }\n }\n }, [uploadFile]);\n\n // Drag and drop\n const handleDrop = useCallback((e) => {\n e.preventDefault();\n setIsDragOver(false);\n const file = e.dataTransfer?.files?.[0];\n if (file?.type.startsWith('image/')) uploadFile(file);\n }, [uploadFile]);\n\n // Embed URL submit\n const handleEmbed = useCallback(() => {\n const trimmed = embedUrl.trim();\n if (!trimmed) return;\n if (!trimmed.startsWith('http')) {\n setEmbedError('URL must start with http:// or https://');\n return;\n }\n editor.updateBlock(block.id, { props: { url: trimmed } });\n setMode('idle');\n setEmbedUrl('');\n setEmbedError('');\n }, [embedUrl, editor, block.id]);\n\n // Toast on failure\n const showFailToast = useCallback((msg) => {\n const toast = document.createElement('div');\n toast.className = 'blog-img-fail-toast';\n toast.innerHTML = `<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" style=\"flex-shrink:0\"><circle cx=\"8\" cy=\"8\" r=\"7\" stroke=\"#f87171\" stroke-width=\"1.5\"/><path d=\"M8 4.5v4\" stroke=\"#f87171\" stroke-width=\"1.5\" stroke-linecap=\"round\"/><circle cx=\"8\" cy=\"11\" r=\".75\" fill=\"#f87171\"/></svg><span>${msg}</span>`;\n document.body.appendChild(toast);\n setTimeout(() => { toast.classList.add('blog-img-fail-toast--out'); }, 3200);\n setTimeout(() => { toast.remove(); }, 3600);\n }, []);\n\n const handleDelete = useCallback(() => {\n try { editor.removeBlocks([block.id]); } catch {}\n }, [editor, block.id]);\n\n const handleReplace = useCallback(() => {\n editor.updateBlock(block.id, { props: { url: '' } });\n setMode('idle');\n }, [editor, block.id]);\n\n const handleCaptionSave = useCallback(() => {\n editor.updateBlock(block.id, { props: { caption: captionText } });\n setEditingCaption(false);\n }, [editor, block.id, captionText]);\n\n // \u2500\u2500\u2500 No image yet \u2500\u2500\u2500\n if (!url) {\n return (\n <div\n ref={blockRef}\n className=\"blog-img-empty\"\n tabIndex={0}\n onPaste={handlePaste}\n onDrop={handleDrop}\n onDragOver={(e) => { e.preventDefault(); setIsDragOver(true); }}\n onDragLeave={() => setIsDragOver(false)}\n data-drag-over={isDragOver}\n >\n <input\n ref={fileInputRef}\n type=\"file\"\n accept=\"image/*\"\n onChange={(e) => { if (e.target.files?.[0]) uploadFile(e.target.files[0]); e.target.value = ''; }}\n style={{ display: 'none' }}\n />\n\n {/* Uploading state */}\n {mode === 'uploading' && (\n <div className=\"blog-img-status\">\n <div className=\"blog-img-spinner\" />\n <span>{uploadStatus}</span>\n </div>\n )}\n\n {/* Idle \u2014 2 action buttons (no AI) */}\n {mode === 'idle' && (\n <>\n <div className=\"blog-img-actions-row\">\n <button className=\"blog-img-action\" onClick={() => fileInputRef.current?.click()}>\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4\" />\n <polyline points=\"17 8 12 3 7 8\" />\n <line x1=\"12\" y1=\"3\" x2=\"12\" y2=\"15\" />\n </svg>\n Upload\n </button>\n <button className=\"blog-img-action\" onClick={() => setMode('embed')}>\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.8\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M10 13a5 5 0 007.54.54l3-3a5 5 0 00-7.07-7.07l-1.72 1.71\" />\n <path d=\"M14 11a5 5 0 00-7.54-.54l-3 3a5 5 0 007.07 7.07l1.71-1.71\" />\n </svg>\n Embed URL\n </button>\n </div>\n <p className=\"blog-img-hint\">or drag & drop / paste an image</p>\n </>\n )}\n\n {/* Embed URL input */}\n {mode === 'embed' && (\n <div className=\"blog-img-input-row\">\n <input\n ref={embedInputRef}\n type=\"url\"\n value={embedUrl}\n onChange={(e) => { setEmbedUrl(e.target.value); setEmbedError(''); }}\n onKeyDown={(e) => {\n if (e.key === 'Enter') handleEmbed();\n if (e.key === 'Escape') { setMode('idle'); setEmbedUrl(''); setEmbedError(''); }\n }}\n placeholder=\"https://example.com/image.jpg\"\n className=\"blog-img-url-input\"\n />\n <button className=\"blog-img-submit-btn\" onClick={handleEmbed} disabled={!embedUrl.trim()}>\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <polyline points=\"20 6 9 17 4 12\" />\n </svg>\n </button>\n <button className=\"blog-img-cancel-btn\" onClick={() => { setMode('idle'); setEmbedUrl(''); setEmbedError(''); }}>\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\" /><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\" />\n </svg>\n </button>\n {embedError && <span className=\"blog-img-error\">{embedError}</span>}\n </div>\n )}\n </div>\n );\n }\n\n // \u2500\u2500\u2500 Image loaded \u2500\u2500\u2500\n return (\n <div ref={blockRef} className=\"blog-img-loaded\" tabIndex={0} onPaste={handlePaste}>\n <div className=\"blog-img-wrapper\">\n <img src={url} alt={caption || 'Image'} className=\"blog-img-main\" draggable={false} />\n <div className=\"blog-img-hover-overlay\">\n <div className=\"blog-img-hover-actions\">\n <button className=\"blog-img-hover-btn\" onClick={handleReplace}>\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4\"/><polyline points=\"17 8 12 3 7 8\"/><line x1=\"12\" y1=\"3\" x2=\"12\" y2=\"15\"/>\n </svg>\n </button>\n <button className=\"blog-img-hover-btn\" onClick={() => setEditingCaption(true)}>\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7\"/><path d=\"M18.5 2.5a2.121 2.121 0 013 3L12 15l-4 1 1-4 9.5-9.5z\"/>\n </svg>\n </button>\n <button className=\"blog-img-hover-btn blog-img-hover-delete\" onClick={handleDelete}>\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <polyline points=\"3 6 5 6 21 6\"/><path d=\"M19 6v14a2 2 0 01-2 2H7a2 2 0 01-2-2V6m3 0V4a2 2 0 012-2h4a2 2 0 012 2v2\"/>\n </svg>\n </button>\n </div>\n </div>\n </div>\n {editingCaption ? (\n <input\n type=\"text\"\n value={captionText}\n onChange={(e) => setCaptionText(e.target.value)}\n onKeyDown={(e) => { if (e.key === 'Enter') handleCaptionSave(); if (e.key === 'Escape') { setEditingCaption(false); setCaptionText(caption || ''); } }}\n onBlur={handleCaptionSave}\n placeholder=\"Add a caption...\"\n className=\"blog-img-caption-input\"\n autoFocus\n />\n ) : (\n <p\n className={`blog-img-caption ${caption ? '' : 'blog-img-caption--empty'}`}\n onClick={() => { setCaptionText(caption || ''); setEditingCaption(true); }}\n >\n {caption || 'Add a caption...'}\n </p>\n )}\n </div>\n );\n}\n", "'use client';\n\nimport { createReactBlockSpec } from '@blocknote/react';\nimport { useState, useEffect, useRef } from 'react';\n\nconst BUTTON_ACTIONS = [\n { value: 'link', label: 'Open Link' },\n { value: 'copy', label: 'Copy Text' },\n { value: 'scroll-top', label: 'Scroll to Top' },\n { value: 'share', label: 'Share Page' },\n];\n\nconst BUTTON_VARIANTS = [\n { value: 'primary', label: 'Primary', cls: 'bg-[#9b7bf7] text-[var(--text-primary)] hover:bg-[#b69aff]' },\n { value: 'secondary', label: 'Secondary', cls: 'bg-[var(--bg-surface)] border border-[var(--border-default)] text-[var(--text-primary)] hover:border-[var(--border-hover)]' },\n { value: 'accent', label: 'Accent', cls: 'bg-[#9b7bf7] text-[var(--text-primary)] hover:bg-[#b69aff]' },\n];\n\nexport const ButtonBlock = createReactBlockSpec(\n {\n type: 'buttonBlock',\n propSchema: {\n label: { default: 'Button' },\n action: { default: 'link' },\n actionValue: { default: '' },\n variant: { default: 'primary' },\n },\n content: 'none',\n },\n {\n render: ({ block, editor }) => {\n const [editing, setEditing] = useState(!block.props.label || block.props.label === 'Button');\n const [label, setLabel] = useState(block.props.label);\n const [action, setAction] = useState(block.props.action);\n const [actionValue, setActionValue] = useState(block.props.actionValue);\n const [variant, setVariant] = useState(block.props.variant);\n\n const save = () => {\n editor.updateBlock(block, { props: { label, action, actionValue, variant } });\n setEditing(false);\n };\n\n if (editing) {\n return (\n <div className=\"border border-[var(--border-default)] rounded-xl bg-[var(--bg-surface)] p-4 my-2 space-y-3\">\n <p className=\"text-[11px] text-[var(--text-muted)] font-medium\">Button Block</p>\n <input\n type=\"text\"\n value={label}\n onChange={(e) => setLabel(e.target.value)}\n placeholder=\"Button label\"\n className=\"w-full bg-[var(--bg-app)] border border-[var(--border-default)] rounded-lg px-3 py-2 text-[13px] text-[var(--text-primary)] outline-none focus:border-[var(--border-hover)] placeholder-[#6b7a8d]\"\n />\n <div className=\"flex gap-2\">\n <select value={action} onChange={(e) => setAction(e.target.value)} className=\"bg-[var(--bg-app)] border border-[var(--border-default)] rounded-lg px-3 py-2 text-[13px] text-[var(--text-primary)] outline-none flex-1\">\n {BUTTON_ACTIONS.map((a) => <option key={a.value} value={a.value}>{a.label}</option>)}\n </select>\n <select value={variant} onChange={(e) => setVariant(e.target.value)} className=\"bg-[var(--bg-app)] border border-[var(--border-default)] rounded-lg px-3 py-2 text-[13px] text-[var(--text-primary)] outline-none\">\n {BUTTON_VARIANTS.map((v) => <option key={v.value} value={v.value}>{v.label}</option>)}\n </select>\n </div>\n {(action === 'link' || action === 'copy') && (\n <input\n type=\"text\"\n value={actionValue}\n onChange={(e) => setActionValue(e.target.value)}\n placeholder={action === 'link' ? 'https://...' : 'Text to copy'}\n className=\"w-full bg-[var(--bg-app)] border border-[var(--border-default)] rounded-lg px-3 py-2 text-[13px] text-[var(--text-primary)] outline-none focus:border-[var(--border-hover)] placeholder-[#6b7a8d]\"\n />\n )}\n <div className=\"flex justify-end gap-2\">\n <button onClick={() => setEditing(false)} className=\"px-3 py-1 text-[12px] text-[#888] hover:text-[var(--text-primary)] transition-colors\">Cancel</button>\n <button onClick={save} className=\"px-3 py-1 text-[12px] bg-[#9b7bf7] text-[var(--text-primary)] rounded-md font-medium hover:bg-[#b69aff] transition-colors\">Done</button>\n </div>\n </div>\n );\n }\n\n const variantCls = BUTTON_VARIANTS.find((v) => v.value === variant)?.cls || BUTTON_VARIANTS[0].cls;\n\n return (\n <div className=\"my-2\" onDoubleClick={() => setEditing(true)}>\n <button className={`px-5 py-2 rounded-lg text-[13px] font-medium transition-colors ${variantCls}`}>\n {label}\n </button>\n </div>\n );\n },\n }\n);\n", "'use client';\n\nimport { createReactBlockSpec } from '@blocknote/react';\nimport { useState } from 'react';\n\nexport const PDFEmbedBlock = createReactBlockSpec(\n {\n type: 'pdfEmbed',\n propSchema: {\n url: { default: '' },\n title: { default: '' },\n fileSize: { default: '' },\n pageCount: { default: '' },\n },\n content: 'none',\n },\n {\n render: ({ block, editor }) => {\n const { url, title, fileSize, pageCount } = block.props;\n const [inputUrl, setInputUrl] = useState(url || '');\n const [loading, setLoading] = useState(false);\n\n const handleSubmit = () => {\n const trimmed = inputUrl.trim();\n if (!trimmed) return;\n\n setLoading(true);\n // Extract filename from URL\n const fileName = decodeURIComponent(trimmed.split('/').pop()?.split('?')[0] || 'document.pdf');\n\n editor.updateBlock(block, {\n props: {\n url: trimmed,\n title: fileName,\n fileSize: fileSize || '',\n pageCount: pageCount || '',\n },\n });\n setLoading(false);\n };\n\n const handleReplace = () => {\n editor.updateBlock(block, {\n props: { url: '', title: '', fileSize: '', pageCount: '' },\n });\n };\n\n const handleDelete = () => {\n editor.removeBlocks([block]);\n };\n\n // Empty state \u2014 show URL input\n if (!url) {\n return (\n <div style={{\n background: 'rgba(155, 123, 247, 0.04)',\n border: '1.5px dashed rgba(155, 123, 247, 0.25)',\n borderRadius: '12px',\n padding: '24px',\n }}>\n <div style={{ display: 'flex', alignItems: 'center', gap: '8px', marginBottom: '12px' }}>\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#9b7bf7\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z\" />\n <polyline points=\"14 2 14 8 20 8\" />\n <line x1=\"16\" y1=\"13\" x2=\"8\" y2=\"13\" />\n <line x1=\"16\" y1=\"17\" x2=\"8\" y2=\"17\" />\n <polyline points=\"10 9 9 9 8 9\" />\n </svg>\n <span style={{ fontSize: '14px', fontWeight: 600, color: 'var(--text-primary)' }}>Embed PDF</span>\n </div>\n <div style={{ display: 'flex', gap: '8px' }}>\n <input\n type=\"text\"\n value={inputUrl}\n onChange={(e) => setInputUrl(e.target.value)}\n onKeyDown={(e) => e.key === 'Enter' && handleSubmit()}\n placeholder=\"Paste PDF link...\"\n style={{\n flex: 1, background: 'var(--bg-app)', color: 'var(--text-primary)', border: '1px solid #232d3f',\n borderRadius: '8px', padding: '8px 12px', fontSize: '13px', outline: 'none',\n }}\n />\n <button\n onClick={handleSubmit}\n disabled={!inputUrl.trim() || loading}\n style={{\n padding: '8px 16px', background: '#9b7bf7', color: 'white', border: 'none',\n borderRadius: '8px', fontSize: '13px', fontWeight: 600, cursor: 'pointer',\n opacity: !inputUrl.trim() || loading ? 0.4 : 1,\n }}\n >\n {loading ? '...' : 'Embed'}\n </button>\n </div>\n </div>\n );\n }\n\n // PDF preview card\n return (\n <div style={{\n display: 'flex', borderRadius: '12px', overflow: 'hidden',\n border: '1px solid #232d3f', background: 'var(--bg-surface)',\n }}>\n {/* Left \u2014 PDF preview iframe */}\n <div style={{\n width: '200px', minHeight: '160px', flexShrink: 0,\n background: '#0d1117', position: 'relative', overflow: 'hidden',\n }}>\n <iframe\n src={`${url}#toolbar=0&navpanes=0&scrollbar=0&view=FitH`}\n title={title || 'PDF'}\n style={{\n width: '100%', height: '100%', border: 'none',\n pointerEvents: 'none',\n }}\n />\n {/* Overlay gradient */}\n <div style={{\n position: 'absolute', inset: 0,\n background: 'linear-gradient(135deg, rgba(155,123,247,0.08) 0%, transparent 60%)',\n pointerEvents: 'none',\n }} />\n {/* PDF badge */}\n <div style={{\n position: 'absolute', bottom: '8px', left: '8px',\n background: 'rgba(155, 123, 247, 0.2)', backdropFilter: 'blur(8px)',\n borderRadius: '6px', padding: '3px 8px',\n fontSize: '10px', fontWeight: 700, color: '#c4b5fd',\n letterSpacing: '0.5px', textTransform: 'uppercase',\n }}>\n PDF\n </div>\n </div>\n\n {/* Right \u2014 metadata */}\n <div style={{ flex: 1, padding: '16px', display: 'flex', flexDirection: 'column', justifyContent: 'space-between' }}>\n <div>\n <div style={{ display: 'flex', alignItems: 'center', gap: '8px', marginBottom: '8px' }}>\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#9b7bf7\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z\" />\n <polyline points=\"14 2 14 8 20 8\" />\n </svg>\n <span style={{ fontSize: '14px', fontWeight: 600, color: 'var(--text-primary)', overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' }}>\n {title || 'Document'}\n </span>\n </div>\n\n <div style={{ display: 'flex', gap: '12px', flexWrap: 'wrap' }}>\n {fileSize && (\n <span style={{ fontSize: '12px', color: 'var(--text-muted)', display: 'flex', alignItems: 'center', gap: '4px' }}>\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\"><path d=\"M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4M7 10l5 5 5-5M12 15V3\"/></svg>\n {fileSize}\n </span>\n )}\n {pageCount && (\n <span style={{ fontSize: '12px', color: 'var(--text-muted)', display: 'flex', alignItems: 'center', gap: '4px' }}>\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\"><path d=\"M4 19.5A2.5 2.5 0 016.5 17H20\"/><path d=\"M6.5 2H20v20H6.5A2.5 2.5 0 014 19.5v-15A2.5 2.5 0 016.5 2z\"/></svg>\n {pageCount} pages\n </span>\n )}\n </div>\n </div>\n\n {/* Actions */}\n <div style={{ display: 'flex', gap: '8px', marginTop: '12px' }}>\n <a\n href={url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n style={{\n padding: '6px 12px', background: 'rgba(155,123,247,0.1)',\n border: '1px solid rgba(155,123,247,0.25)', borderRadius: '6px',\n fontSize: '12px', color: '#a78bfa', fontWeight: 500,\n textDecoration: 'none', cursor: 'pointer',\n }}\n >\n Open PDF\n </a>\n <button onClick={handleReplace} style={{\n padding: '6px 12px', background: 'rgba(255,255,255,0.04)',\n border: '1px solid #232d3f', borderRadius: '6px',\n fontSize: '12px', color: 'var(--text-muted)', cursor: 'pointer',\n }}>\n Replace\n </button>\n <button onClick={handleDelete} style={{\n padding: '6px 12px', background: 'rgba(248,113,113,0.06)',\n border: '1px solid rgba(248,113,113,0.2)', borderRadius: '6px',\n fontSize: '12px', color: '#f87171', cursor: 'pointer',\n }}>\n Delete\n </button>\n </div>\n </div>\n </div>\n );\n },\n }\n);\n", "'use client';\n\nimport { useState, useEffect, useRef, useCallback } from 'react';\n\n// Client-side cache to avoid refetching the same URL\nconst previewCache = new Map();\n\nlet linkPreviewEndpoint = '/api/link-preview';\nexport function setLinkPreviewEndpoint(endpoint) { linkPreviewEndpoint = endpoint; }\n\nasync function fetchPreview(url) {\n if (previewCache.has(url)) return previewCache.get(url);\n try {\n const res = await fetch(`${linkPreviewEndpoint}?url=${encodeURIComponent(url)}`);\n if (!res.ok) throw new Error('fetch failed');\n const data = await res.json();\n previewCache.set(url, data);\n return data;\n } catch {\n const fallback = { title: new URL(url).hostname, description: '', image: '', favicon: '', domain: new URL(url).hostname };\n previewCache.set(url, fallback);\n return fallback;\n }\n}\n\nexport default function LinkPreviewTooltip({ anchorEl, url, onClose }) {\n const [data, setData] = useState(null);\n const [loading, setLoading] = useState(true);\n const tooltipRef = useRef(null);\n const hoverRef = useRef(false); // true if mouse is over link OR tooltip\n const hideTimerRef = useRef(null);\n\n useEffect(() => {\n if (!url) return;\n setLoading(true);\n fetchPreview(url).then(d => {\n setData(d);\n setLoading(false);\n });\n }, [url]);\n\n // Position computed once on mount\n const posRef = useRef(null);\n if (!posRef.current && anchorEl) {\n const rect = anchorEl.getBoundingClientRect();\n const tooltipWidth = 320;\n const tooltipHeight = 300;\n let left = rect.left + rect.width / 2 - tooltipWidth / 2;\n left = Math.max(8, Math.min(left, window.innerWidth - tooltipWidth - 8));\n\n const spaceBelow = window.innerHeight - rect.bottom;\n if (spaceBelow >= tooltipHeight || spaceBelow >= rect.top) {\n // Show below\n posRef.current = { top: rect.bottom + 4, left };\n } else {\n // Show above \u2014 use bottom anchoring\n posRef.current = { bottom: window.innerHeight - rect.top + 4, left, useBottom: true };\n }\n }\n\n // Unified hover tracking: mouse over link OR tooltip = alive\n const scheduleHide = useCallback(() => {\n clearTimeout(hideTimerRef.current);\n hideTimerRef.current = setTimeout(() => {\n if (!hoverRef.current) onClose();\n }, 200);\n }, [onClose]);\n\n // Track mouse on the anchor link\n useEffect(() => {\n if (!anchorEl) return;\n const onEnter = () => { hoverRef.current = true; clearTimeout(hideTimerRef.current); };\n const onLeave = () => { hoverRef.current = false; scheduleHide(); };\n anchorEl.addEventListener('mouseenter', onEnter);\n anchorEl.addEventListener('mouseleave', onLeave);\n return () => {\n anchorEl.removeEventListener('mouseenter', onEnter);\n anchorEl.removeEventListener('mouseleave', onLeave);\n };\n }, [anchorEl, scheduleHide]);\n\n const onTooltipEnter = useCallback(() => {\n hoverRef.current = true;\n clearTimeout(hideTimerRef.current);\n }, []);\n\n const onTooltipLeave = useCallback(() => {\n hoverRef.current = false;\n scheduleHide();\n }, [scheduleHide]);\n\n useEffect(() => {\n return () => clearTimeout(hideTimerRef.current);\n }, []);\n\n if (!url || !posRef.current) return null;\n\n const style = posRef.current.useBottom\n ? { bottom: posRef.current.bottom, left: posRef.current.left }\n : { top: posRef.current.top, left: posRef.current.left };\n\n return (\n <div\n ref={tooltipRef}\n className=\"link-preview-tooltip\"\n style={style}\n onMouseEnter={onTooltipEnter}\n onMouseLeave={onTooltipLeave}\n >\n {loading ? (\n <div className=\"link-preview-loading\">\n <div className=\"link-preview-skeleton\" style={{ width: '60%', height: 12 }} />\n <div className=\"link-preview-skeleton\" style={{ width: '90%', height: 10, marginTop: 8 }} />\n <div className=\"link-preview-skeleton\" style={{ width: '40%', height: 10, marginTop: 4 }} />\n </div>\n ) : data ? (\n <a href={url} target=\"_blank\" rel=\"noopener noreferrer\" className=\"link-preview-card\">\n {data.image && (\n <div className=\"link-preview-image\">\n <img src={data.image} alt=\"\" onError={e => { e.target.style.display = 'none'; }} />\n </div>\n )}\n <div className=\"link-preview-body\">\n <div className=\"link-preview-title\">{data.title}</div>\n {data.description && (\n <div className=\"link-preview-desc\">{data.description.length > 120 ? data.description.slice(0, 120) + '...' : data.description}</div>\n )}\n <div className=\"link-preview-domain\">\n {data.favicon && <img src={data.favicon} alt=\"\" className=\"link-preview-favicon\" onError={e => { e.target.style.display = 'none'; }} />}\n <span>{data.domain}</span>\n </div>\n </div>\n </a>\n ) : null}\n </div>\n );\n}\n\n// Hook to manage link preview state for any container\nexport function useLinkPreview() {\n const [preview, setPreview] = useState(null);\n const showTimerRef = useRef(null);\n\n const show = useCallback((anchorEl, url) => {\n clearTimeout(showTimerRef.current);\n showTimerRef.current = setTimeout(() => {\n setPreview({ anchorEl, url });\n }, 400);\n }, []);\n\n const hide = useCallback(() => {\n clearTimeout(showTimerRef.current);\n setPreview(null);\n }, []);\n\n const cancel = useCallback(() => {\n clearTimeout(showTimerRef.current);\n }, []);\n\n useEffect(() => {\n return () => clearTimeout(showTimerRef.current);\n }, []);\n\n return { preview, show, hide, cancel };\n}\n", "'use client';\n\nimport { useEffect, useRef, useState, useCallback } from 'react';\nimport { useLixTheme } from '../hooks/useLixTheme';\nimport LinkPreviewTooltip, { useLinkPreview } from '../editor/LinkPreviewTooltip';\nimport { renderBlocksToHTML } from './renderBlocks';\n\n/**\n * LixPreview \u2014 Renders BlockNote content as styled HTML with post-processing.\n *\n * @param {Object} props\n * @param {Array} props.blocks - BlockNote document blocks\n * @param {string} [props.html] - Fallback raw HTML (used if blocks not provided)\n * @param {Object} [props.features] - Enable/disable features (same keys as LixEditor)\n * @param {string} [props.className] - Additional CSS class\n */\nexport default function LixPreview({ blocks, html, features = {}, className = '' }) {\n const { isDark } = useLixTheme();\n const contentRef = useRef(null);\n const linkPreview = useLinkPreview();\n const linkPreviewRef = useRef(linkPreview);\n linkPreviewRef.current = linkPreview;\n\n const f = {\n equations: true, mermaid: true, codeHighlighting: true, linkPreview: true,\n ...features,\n };\n\n const renderedHTML = blocks && blocks.length > 0 ? renderBlocksToHTML(blocks) : (html || '');\n\n // Set innerHTML via ref so React doesn't overwrite post-processed content\n const effectGenRef = useRef(0);\n useEffect(() => {\n const root = contentRef.current;\n if (!root) return;\n const gen = ++effectGenRef.current;\n root.innerHTML = renderedHTML || '';\n\n function isStale() { return effectGenRef.current !== gen; }\n\n // \u2500\u2500 KaTeX rendering \u2500\u2500\n if (f.equations) {\n const eqEls = root.querySelectorAll('.lix-block-equation[data-latex]');\n const inlineEls = root.querySelectorAll('.lix-inline-equation[data-latex]');\n if (eqEls.length || inlineEls.length) {\n import('katex').then((mod) => {\n if (isStale()) return;\n const katex = mod.default || mod;\n const strip = (raw) => {\n let s = raw.trim();\n if (s.startsWith('\\\\[') && s.endsWith('\\\\]')) return s.slice(2, -2).trim();\n if (s.startsWith('$$') && s.endsWith('$$')) return s.slice(2, -2).trim();\n if (s.startsWith('\\\\(') && s.endsWith('\\\\)')) return s.slice(2, -2).trim();\n if (s.startsWith('$') && s.endsWith('$') && s.length > 2) return s.slice(1, -1).trim();\n return s;\n };\n eqEls.forEach(el => {\n if (!el.isConnected) return;\n try { el.innerHTML = katex.renderToString(strip(decodeURIComponent(el.dataset.latex)), { displayMode: true, throwOnError: false }); }\n catch (err) { el.innerHTML = `<span style=\"color:#f87171\">${err.message}</span>`; }\n });\n inlineEls.forEach(el => {\n if (!el.isConnected) return;\n try { el.innerHTML = katex.renderToString(strip(decodeURIComponent(el.dataset.latex)), { displayMode: false, throwOnError: false }); }\n catch (err) { el.innerHTML = `<span style=\"color:#f87171\">${err.message}</span>`; }\n });\n }).catch(() => {});\n }\n }\n\n // \u2500\u2500 Mermaid rendering \u2500\u2500\n if (f.mermaid) {\n const mermaidEls = root.querySelectorAll('.lix-mermaid-block[data-diagram]');\n if (mermaidEls.length) {\n import('mermaid').then((mod) => {\n if (isStale()) return;\n const mermaid = mod.default || mod;\n mermaid.initialize({\n startOnLoad: false, securityLevel: 'loose',\n theme: isDark ? 'dark' : 'default',\n flowchart: { useMaxWidth: false, padding: 20 },\n });\n (async () => {\n for (const el of mermaidEls) {\n const id = `lix-mermaid-${Date.now()}-${Math.random().toString(36).slice(2, 6)}`;\n try {\n const diagram = decodeURIComponent(el.dataset.diagram).trim();\n const tempDiv = document.createElement('div');\n tempDiv.id = 'c-' + id;\n tempDiv.style.cssText = 'position:fixed;top:0;left:0;width:100vw;opacity:0;pointer-events:none;z-index:-9999;';\n document.body.appendChild(tempDiv);\n const { svg } = await mermaid.render(id, diagram, tempDiv);\n tempDiv.remove();\n if (el.isConnected && !isStale()) {\n el.innerHTML = svg;\n const svgEl = el.querySelector('svg');\n if (svgEl) { svgEl.removeAttribute('width'); svgEl.style.width = '100%'; svgEl.style.height = 'auto'; }\n }\n } catch (err) {\n if (el.isConnected) el.innerHTML = `<pre style=\"color:#f87171;font-size:12px\">${err.message || 'Diagram error'}</pre>`;\n try { document.getElementById(id)?.remove(); document.getElementById('c-' + id)?.remove(); } catch {}\n }\n }\n })();\n }).catch(() => {});\n }\n }\n\n // \u2500\u2500 Shiki code highlighting \u2500\u2500\n if (f.codeHighlighting) {\n const codeEls = root.querySelectorAll('pre > code[class*=\"language-\"]');\n if (codeEls.length) {\n import('shiki').then(({ createHighlighter }) => {\n if (isStale()) return;\n const langs = new Set();\n codeEls.forEach(el => { const m = el.className.match(/language-(\\w+)/); if (m?.[1] && m[1] !== 'text') langs.add(m[1]); });\n return createHighlighter({ themes: ['vitesse-dark', 'vitesse-light'], langs: [...langs] }).then(hl => {\n if (isStale()) return;\n const theme = isDark ? 'vitesse-dark' : 'vitesse-light';\n codeEls.forEach(codeEl => {\n const pre = codeEl.parentElement;\n if (!pre || pre.dataset.highlighted) return;\n pre.dataset.highlighted = 'true';\n const m = codeEl.className.match(/language-(\\w+)/);\n const lang = m?.[1] || 'text';\n const code = codeEl.textContent || '';\n if (lang !== 'text' && langs.has(lang)) {\n try {\n const html = hl.codeToHtml(code, { lang, theme });\n const tmp = document.createElement('div'); tmp.innerHTML = html;\n const shikiPre = tmp.querySelector('pre');\n if (shikiPre) codeEl.innerHTML = shikiPre.querySelector('code')?.innerHTML || codeEl.innerHTML;\n } catch {}\n }\n // Language label\n pre.style.position = 'relative';\n const label = document.createElement('span');\n label.className = 'lix-code-lang-label';\n label.textContent = lang;\n pre.appendChild(label);\n // Copy button\n const btn = document.createElement('button');\n btn.className = 'lix-code-copy-btn';\n btn.title = 'Copy code';\n btn.innerHTML = '<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\"/><path d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\"/></svg>';\n btn.onclick = () => {\n navigator.clipboard.writeText(code);\n btn.innerHTML = '<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"20 6 9 17 4 12\"/></svg>';\n btn.style.color = '#86efac';\n setTimeout(() => { btn.innerHTML = '<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\"/><path d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\"/></svg>'; btn.style.color = ''; }, 1500);\n };\n pre.appendChild(btn);\n });\n });\n }).catch(() => {});\n }\n }\n\n // \u2500\u2500 Link preview on hover \u2500\u2500\n if (f.linkPreview) {\n const externalLinks = root.querySelectorAll('a[href^=\"http\"]');\n const handlers = [];\n externalLinks.forEach(link => {\n const href = link.getAttribute('href');\n if (!href) return;\n const onEnter = () => linkPreviewRef.current.show(link, href);\n const onLeave = () => linkPreviewRef.current.cancel();\n link.addEventListener('mouseenter', onEnter);\n link.addEventListener('mouseleave', onLeave);\n handlers.push({ el: link, onEnter, onLeave });\n });\n return () => handlers.forEach(({ el, onEnter, onLeave }) => {\n el.removeEventListener('mouseenter', onEnter);\n el.removeEventListener('mouseleave', onLeave);\n });\n }\n }, [renderedHTML, isDark]);\n\n return (\n <div className={`lix-preview ${className}`}>\n <div ref={contentRef} className=\"lix-preview-content\" />\n {f.linkPreview && linkPreview.preview && (\n <LinkPreviewTooltip\n anchorEl={linkPreview.preview.anchorEl}\n url={linkPreview.preview.url}\n onClose={linkPreview.hide}\n />\n )}\n </div>\n );\n}\n", "/**\n * Converts BlockNote document blocks to HTML string.\n * Used by LixPreview for server-side or static rendering.\n */\nexport function renderBlocksToHTML(blocks) {\n if (!blocks || !blocks.length) return '';\n\n function inlineToHTML(content) {\n if (!content || !Array.isArray(content)) return '';\n return content.map((c) => {\n if (c.type === 'inlineEquation' && c.props?.latex) {\n return `<span class=\"lix-inline-equation\" data-latex=\"${encodeURIComponent(c.props.latex)}\"></span>`;\n }\n if (c.type === 'dateInline' && c.props?.date) {\n let formatted;\n try { formatted = new Date(c.props.date).toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' }); }\n catch { formatted = c.props.date; }\n return `<span class=\"lix-date-chip\"><svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"/><line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"/><line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"/><line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"/></svg> ${formatted}</span>`;\n }\n // Links wrap child content\n if (c.type === 'link' && c.href) {\n const linkText = c.content ? inlineToHTML(c.content) : (c.text || c.href).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');\n return `<a href=\"${c.href}\">${linkText || c.href}</a>`;\n }\n let text = (c.text || '').replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');\n if (!text) return '';\n const s = c.styles || {};\n if (s.bold) text = `<strong>${text}</strong>`;\n if (s.italic) text = `<em>${text}</em>`;\n if (s.strike) text = `<del>${text}</del>`;\n if (s.code) text = `<code>${text}</code>`;\n if (s.underline) text = `<u>${text}</u>`;\n if (s.textColor) text = `<span style=\"color:${s.textColor}\">${text}</span>`;\n if (s.backgroundColor) text = `<span style=\"background:${s.backgroundColor};border-radius:3px;padding:0 2px\">${text}</span>`;\n return text;\n }).join('');\n }\n\n // Collect headings for TOC\n const headings = [];\n function collectHeadings(blockList) {\n for (const block of blockList) {\n if (block.type === 'heading') {\n const text = (block.content || []).map(c => c.text || '').join('');\n if (text.trim()) {\n const id = `h-${text.trim().toLowerCase().replace(/[^\\w]+/g, '-').slice(0, 40)}`;\n headings.push({ id, text: text.trim(), level: block.props?.level || 1 });\n }\n }\n if (block.children?.length) collectHeadings(block.children);\n }\n }\n collectHeadings(blocks);\n\n function renderBlock(block) {\n const content = inlineToHTML(block.content);\n const childrenHTML = block.children?.length ? renderListGroup(block.children) : '';\n\n switch (block.type) {\n case 'tableOfContents':\n return '__TOC_PLACEHOLDER__';\n case 'heading': {\n const level = block.props?.level || 1;\n const text = (block.content || []).map(c => c.text || '').join('');\n const id = `h-${text.trim().toLowerCase().replace(/[^\\w]+/g, '-').slice(0, 40)}`;\n return `<h${level} id=\"${id}\">${content}</h${level}>${childrenHTML}`;\n }\n case 'bulletListItem':\n return `<li class=\"lix-bullet\">${content}${childrenHTML}</li>`;\n case 'numberedListItem':\n return `<li class=\"lix-numbered\">${content}${childrenHTML}</li>`;\n case 'checkListItem': {\n const checked = !!block.props?.checked;\n const cb = `<span class=\"lix-checkbox${checked ? ' lix-checkbox--checked' : ''}\"><span class=\"lix-checkbox-icon\">${checked ? '<svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"white\" stroke-width=\"3\"><polyline points=\"20 6 9 17 4 12\"/></svg>' : ''}</span></span>`;\n return `<li class=\"lix-check${checked ? ' lix-check--checked' : ''}\">${cb}<span class=\"lix-check-text\">${content}</span>${childrenHTML}</li>`;\n }\n case 'blockEquation':\n if (block.props?.latex) return `<div class=\"lix-block-equation\" data-latex=\"${encodeURIComponent(block.props.latex)}\"></div>${childrenHTML}`;\n return childrenHTML;\n case 'mermaidBlock':\n if (block.props?.diagram) return `<div class=\"lix-mermaid-block\" data-diagram=\"${encodeURIComponent(block.props.diagram)}\"></div>${childrenHTML}`;\n return childrenHTML;\n case 'divider':\n return `<hr class=\"lix-divider\" />${childrenHTML}`;\n case 'codeBlock': {\n const lang = block.props?.language || '';\n const code = (block.content || []).map(c => c.text || '').join('');\n return `<pre><code class=\"language-${lang}\">${code.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>')}</code></pre>${childrenHTML}`;\n }\n case 'image':\n if (block.props?.url) {\n return `<figure><img src=\"${block.props.url}\" alt=\"${block.props?.caption || ''}\" />${block.props?.caption ? `<figcaption>${block.props.caption}</figcaption>` : ''}</figure>${childrenHTML}`;\n }\n return childrenHTML;\n case 'table': {\n const rows = block.content?.rows || [];\n if (!rows.length) return childrenHTML;\n const headerRows = block.content?.headerRows || 0;\n let table = '<table>';\n rows.forEach((row, ri) => {\n table += '<tr>';\n (row.cells || []).forEach(cell => {\n const tag = ri < headerRows ? 'th' : 'td';\n let cellContent;\n if (Array.isArray(cell)) cellContent = cell;\n else if (cell?.content) cellContent = Array.isArray(cell.content) ? cell.content : [];\n else cellContent = [];\n table += `<${tag}>${inlineToHTML(cellContent)}</${tag}>`;\n });\n table += '</tr>';\n });\n table += '</table>';\n return table + childrenHTML;\n }\n case 'paragraph':\n default:\n if (content) return `<p>${content}</p>${childrenHTML}`;\n return childrenHTML || '';\n }\n }\n\n function renderListGroup(blockList) {\n if (!blockList?.length) return '';\n const out = [];\n let i = 0;\n while (i < blockList.length) {\n const block = blockList[i];\n if (block.type === 'bulletListItem') {\n let items = '';\n while (i < blockList.length && blockList[i].type === 'bulletListItem') { items += renderBlock(blockList[i]); i++; }\n out.push(`<ul>${items}</ul>`);\n } else if (block.type === 'numberedListItem') {\n let items = '';\n while (i < blockList.length && blockList[i].type === 'numberedListItem') { items += renderBlock(blockList[i]); i++; }\n out.push(`<ol>${items}</ol>`);\n } else if (block.type === 'checkListItem') {\n let items = '';\n while (i < blockList.length && blockList[i].type === 'checkListItem') { items += renderBlock(blockList[i]); i++; }\n out.push(`<ul class=\"lix-checklist\">${items}</ul>`);\n } else {\n out.push(renderBlock(block));\n i++;\n }\n }\n return out.join('\\n');\n }\n\n let html = renderListGroup(blocks);\n\n // Build inline TOC\n if (headings.length > 0) {\n const tocItems = headings.map(h => {\n const indent = (h.level - 1) * 16;\n return `<li><a href=\"#${h.id}\" class=\"lix-toc-link\" style=\"padding-left:${indent}px\">${h.text}</a></li>`;\n }).join('');\n const tocHTML = `<div class=\"lix-toc-block\"><p class=\"lix-toc-label\">Table of Contents</p><ul class=\"lix-toc-list\">${tocItems}</ul></div>`;\n html = html.replace('__TOC_PLACEHOLDER__', tocHTML);\n } else {\n html = html.replace('__TOC_PLACEHOLDER__', '');\n }\n\n return html;\n}\n", "'use client';\n\nimport { useEffect, useRef } from 'react';\n\nconst SHORTCUT_GROUPS = [\n {\n title: 'General',\n shortcuts: [\n { keys: ['Ctrl', 'S'], desc: 'Save & sync to cloud' },\n { keys: ['Ctrl', 'O'], desc: 'Import markdown file (.md)' },\n { keys: ['Ctrl', 'Shift', 'I'], desc: 'Invite collaborators' },\n { keys: ['Ctrl', 'D'], desc: 'Insert date chip' },\n { keys: ['Ctrl', 'Shift', 'P'], desc: 'Toggle editor / preview' },\n { keys: ['Ctrl', 'Z'], desc: 'Undo' },\n { keys: ['Ctrl', 'Shift', 'Z'], desc: 'Redo' },\n { keys: ['Ctrl', 'A'], desc: 'Select all' },\n { keys: ['?'], desc: 'Show this help' },\n ],\n },\n {\n title: 'Text Formatting',\n shortcuts: [\n { keys: ['Ctrl', 'B'], desc: 'Bold' },\n { keys: ['Ctrl', 'I'], desc: 'Italic' },\n { keys: ['Ctrl', 'U'], desc: 'Underline' },\n { keys: ['Ctrl', 'E'], desc: 'Code (inline)' },\n { keys: ['Ctrl', 'Shift', 'S'], desc: 'Strikethrough' },\n { keys: ['Ctrl', 'K'], desc: 'Add link' },\n ],\n },\n {\n title: 'Blocks',\n shortcuts: [\n { keys: ['/'], desc: 'Slash commands menu' },\n { keys: ['Space'], desc: 'AI assistant (on empty line)' },\n { keys: ['@'], desc: 'Mention user/blog/org' },\n { keys: ['Tab'], desc: 'Indent block' },\n { keys: ['Shift', 'Tab'], desc: 'Outdent block' },\n { keys: ['Enter'], desc: 'New block' },\n { keys: ['Backspace'], desc: 'Delete block (when empty)' },\n ],\n },\n {\n title: 'AI',\n shortcuts: [\n { keys: ['Space'], desc: 'Open AI prompt (empty line)' },\n { keys: ['\u2605', 'click'], desc: 'AI edit selected text' },\n { keys: ['Esc'], desc: 'Cancel AI / close menu' },\n ],\n },\n];\n\nexport default function KeyboardShortcutsModal({ onClose }) {\n const ref = useRef(null);\n\n useEffect(() => {\n function handleKey(e) {\n if (e.key === 'Escape') onClose();\n }\n function handleClick(e) {\n if (ref.current && !ref.current.contains(e.target)) onClose();\n }\n document.addEventListener('keydown', handleKey);\n document.addEventListener('mousedown', handleClick);\n return () => {\n document.removeEventListener('keydown', handleKey);\n document.removeEventListener('mousedown', handleClick);\n };\n }, [onClose]);\n\n return (\n <div className=\"fixed inset-0 z-[9999] flex items-center justify-center bg-black/30 backdrop-blur-sm\">\n <div\n ref={ref}\n className=\"w-full max-w-[520px] max-h-[80vh] rounded-2xl shadow-2xl overflow-hidden\"\n style={{ backgroundColor: 'var(--card-bg)', border: '1px solid var(--border-default)', boxShadow: 'var(--shadow-lg)' }}\n >\n {/* Header */}\n <div className=\"flex items-center justify-between px-6 py-4\" style={{ borderBottom: '1px solid var(--divider)' }}>\n <div className=\"flex items-center gap-2.5\">\n <ion-icon name=\"keypad-outline\" style={{ fontSize: '18px', color: '#9b7bf7' }} />\n <h2 className=\"text-[15px] font-bold\" style={{ color: 'var(--text-primary)' }}>Keyboard Shortcuts</h2>\n </div>\n <button\n onClick={onClose}\n className=\"transition-colors p-1\"\n style={{ color: 'var(--text-faint)' }}\n >\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\" /><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\" />\n </svg>\n </button>\n </div>\n\n {/* Content */}\n <div className=\"overflow-y-auto max-h-[calc(80vh-60px)] p-6 space-y-6 scrollbar-thin\">\n {SHORTCUT_GROUPS.map((group) => (\n <div key={group.title}>\n <h3 className=\"text-[11px] font-semibold uppercase tracking-wider mb-3\" style={{ color: '#9b7bf7' }}>{group.title}</h3>\n <div className=\"space-y-1\">\n {group.shortcuts.map((s, i) => (\n <div key={i} className=\"flex items-center justify-between py-1.5\">\n <span className=\"text-[13px]\" style={{ color: 'var(--text-body)' }}>{s.desc}</span>\n <div className=\"flex items-center gap-1\">\n {s.keys.map((key, j) => (\n <span key={j}>\n {j > 0 && <span className=\"text-[10px] mx-0.5\" style={{ color: 'var(--text-faint)' }}>+</span>}\n <kbd\n className=\"inline-block min-w-[24px] text-center px-1.5 py-0.5 text-[11px] font-medium rounded-md\"\n style={{ color: 'var(--text-secondary)', backgroundColor: 'var(--bg-surface)', border: '1px solid var(--border-default)' }}\n >\n {key}\n </kbd>\n </span>\n ))}\n </div>\n </div>\n ))}\n </div>\n </div>\n ))}\n </div>\n </div>\n </div>\n );\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["useCallback", "useState", "useRef", "useEffect", "useState", "useEffect", "createReactBlockSpec", "useState", "useEffect", "useRef", "useCallback", "useRef", "useState", "useEffect", "useCallback", "createReactBlockSpec", "createReactBlockSpec", "useState", "useRef", "useEffect", "useCallback", "katex", "stripDelimiters", "createReactInlineContentSpec", "useState", "useRef", "useEffect", "useCallback", "createReactBlockSpec", "useState", "useRef", "useCallback", "useEffect", "createReactBlockSpec", "useState", "useEffect", "useRef", "createReactBlockSpec", "useState", "useState", "useEffect", "useRef", "useCallback", "LixEditor", "useRef", "useEffect", "fullMatch", "from", "useCallback", "useEffect", "useRef", "useState", "useCallback", "useRef", "useEffect", "katex", "html", "useEffect", "useRef"]
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["useCallback", "useState", "useRef", "useEffect", "useState", "useEffect", "jsx", "createReactBlockSpec", "useState", "useEffect", "useRef", "useCallback", "jsx", "jsxs", "useRef", "useState", "useEffect", "useCallback", "createReactBlockSpec", "createReactBlockSpec", "jsx", "jsxs", "useState", "useRef", "useEffect", "useCallback", "katex", "jsx", "jsxs", "stripDelimiters", "createReactInlineContentSpec", "useState", "useRef", "useEffect", "useCallback", "jsx", "jsxs", "createReactBlockSpec", "useState", "useRef", "useCallback", "useEffect", "jsx", "jsxs", "createReactBlockSpec", "useState", "useEffect", "useRef", "jsx", "jsxs", "createReactBlockSpec", "useState", "jsx", "jsxs", "useState", "useEffect", "useRef", "useCallback", "jsx", "jsxs", "jsx", "jsxs", "LixEditor", "useRef", "useEffect", "fullMatch", "from", "useCallback", "useEffect", "useRef", "useState", "useCallback", "jsx", "jsxs", "useRef", "useEffect", "katex", "html", "useEffect", "useRef", "jsx", "jsxs"]
|
|
7
7
|
}
|