@bendyline/squisq-editor-react 1.2.2 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/dist/EditorContext.d.ts +65 -1
  2. package/dist/EditorContext.d.ts.map +1 -1
  3. package/dist/EditorContext.js +31 -4
  4. package/dist/EditorContext.js.map +1 -1
  5. package/dist/EditorShell.d.ts +101 -2
  6. package/dist/EditorShell.d.ts.map +1 -1
  7. package/dist/EditorShell.js +20 -8
  8. package/dist/EditorShell.js.map +1 -1
  9. package/dist/ImageNodeView.d.ts.map +1 -1
  10. package/dist/ImageNodeView.js +12 -2
  11. package/dist/ImageNodeView.js.map +1 -1
  12. package/dist/MediaBin.d.ts.map +1 -1
  13. package/dist/MediaBin.js +16 -1
  14. package/dist/MediaBin.js.map +1 -1
  15. package/dist/MentionExtension.d.ts +22 -0
  16. package/dist/MentionExtension.d.ts.map +1 -0
  17. package/dist/MentionExtension.js +242 -0
  18. package/dist/MentionExtension.js.map +1 -0
  19. package/dist/RawEditor.d.ts +8 -1
  20. package/dist/RawEditor.d.ts.map +1 -1
  21. package/dist/RawEditor.js +167 -30
  22. package/dist/RawEditor.js.map +1 -1
  23. package/dist/TemplateAnnotation.d.ts.map +1 -1
  24. package/dist/TemplateAnnotation.js +4 -2
  25. package/dist/TemplateAnnotation.js.map +1 -1
  26. package/dist/Toolbar.d.ts +7 -1
  27. package/dist/Toolbar.d.ts.map +1 -1
  28. package/dist/Toolbar.js +57 -18
  29. package/dist/Toolbar.js.map +1 -1
  30. package/dist/Tooltip.d.ts +10 -0
  31. package/dist/Tooltip.d.ts.map +1 -0
  32. package/dist/Tooltip.js +104 -0
  33. package/dist/Tooltip.js.map +1 -0
  34. package/dist/ViewSwitcher.d.ts +1 -1
  35. package/dist/ViewSwitcher.d.ts.map +1 -1
  36. package/dist/ViewSwitcher.js +10 -4
  37. package/dist/ViewSwitcher.js.map +1 -1
  38. package/dist/WysiwygEditor.d.ts +13 -2
  39. package/dist/WysiwygEditor.d.ts.map +1 -1
  40. package/dist/WysiwygEditor.js +239 -4
  41. package/dist/WysiwygEditor.js.map +1 -1
  42. package/dist/__tests__/detectMarkdown.test.d.ts +2 -0
  43. package/dist/__tests__/detectMarkdown.test.d.ts.map +1 -0
  44. package/dist/__tests__/detectMarkdown.test.js +69 -0
  45. package/dist/__tests__/detectMarkdown.test.js.map +1 -0
  46. package/dist/__tests__/fileKind.test.d.ts +2 -0
  47. package/dist/__tests__/fileKind.test.d.ts.map +1 -0
  48. package/dist/__tests__/fileKind.test.js +81 -0
  49. package/dist/__tests__/fileKind.test.js.map +1 -0
  50. package/dist/__tests__/tiptapBridge.test.js +36 -0
  51. package/dist/__tests__/tiptapBridge.test.js.map +1 -1
  52. package/dist/detectMarkdown.d.ts +20 -0
  53. package/dist/detectMarkdown.d.ts.map +1 -0
  54. package/dist/detectMarkdown.js +61 -0
  55. package/dist/detectMarkdown.js.map +1 -0
  56. package/dist/fileKind.d.ts +30 -0
  57. package/dist/fileKind.d.ts.map +1 -0
  58. package/dist/fileKind.js +123 -0
  59. package/dist/fileKind.js.map +1 -0
  60. package/dist/hooks/useFileDrop.d.ts.map +1 -1
  61. package/dist/hooks/useFileDrop.js +9 -7
  62. package/dist/hooks/useFileDrop.js.map +1 -1
  63. package/dist/index.d.ts +4 -1
  64. package/dist/index.d.ts.map +1 -1
  65. package/dist/index.js +4 -0
  66. package/dist/index.js.map +1 -1
  67. package/dist/mediaDragMime.d.ts +17 -0
  68. package/dist/mediaDragMime.d.ts.map +1 -0
  69. package/dist/mediaDragMime.js +22 -0
  70. package/dist/mediaDragMime.js.map +1 -0
  71. package/dist/tiptapBridge.d.ts.map +1 -1
  72. package/dist/tiptapBridge.js +58 -2
  73. package/dist/tiptapBridge.js.map +1 -1
  74. package/package.json +9 -7
  75. package/src/EditorContext.tsx +106 -3
  76. package/src/EditorShell.tsx +195 -15
  77. package/src/ImageNodeView.tsx +15 -2
  78. package/src/MediaBin.tsx +23 -1
  79. package/src/MentionExtension.tsx +258 -0
  80. package/src/RawEditor.tsx +193 -37
  81. package/src/TemplateAnnotation.ts +4 -2
  82. package/src/Toolbar.tsx +111 -48
  83. package/src/Tooltip.tsx +124 -0
  84. package/src/ViewSwitcher.tsx +15 -5
  85. package/src/WysiwygEditor.tsx +270 -5
  86. package/src/__tests__/detectMarkdown.test.ts +88 -0
  87. package/src/__tests__/fileKind.test.ts +96 -0
  88. package/src/__tests__/tiptapBridge.test.ts +44 -0
  89. package/src/detectMarkdown.ts +62 -0
  90. package/src/fileKind.ts +134 -0
  91. package/src/hooks/useFileDrop.ts +10 -6
  92. package/src/index.ts +11 -0
  93. package/src/mediaDragMime.ts +32 -0
  94. package/src/styles/editor.css +214 -8
  95. package/src/tiptapBridge.ts +66 -2
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Markdown detection — heuristic for spotting markdown source in pasted text.
3
+ *
4
+ * Used by the WYSIWYG editor's paste handler to decide whether plain-text
5
+ * paste content should be parsed as markdown rather than inserted literally.
6
+ *
7
+ * The heuristic prefers false negatives (treating markdown as plain text)
8
+ * over false positives (mangling plain text that happens to contain a few
9
+ * special characters).
10
+ */
11
+ /**
12
+ * Returns true if the text looks like markdown source.
13
+ *
14
+ * Detection rules:
15
+ * - Any line matching a strong block pattern → yes
16
+ * - Two or more inline pattern matches anywhere in the text → yes
17
+ * - Otherwise → no
18
+ */
19
+ export declare function looksLikeMarkdown(text: string): boolean;
20
+ //# sourceMappingURL=detectMarkdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detectMarkdown.d.ts","sourceRoot":"","sources":["../src/detectMarkdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAuBH;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAqBvD"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Markdown detection — heuristic for spotting markdown source in pasted text.
3
+ *
4
+ * Used by the WYSIWYG editor's paste handler to decide whether plain-text
5
+ * paste content should be parsed as markdown rather than inserted literally.
6
+ *
7
+ * The heuristic prefers false negatives (treating markdown as plain text)
8
+ * over false positives (mangling plain text that happens to contain a few
9
+ * special characters).
10
+ */
11
+ /** Block-level patterns that strongly indicate markdown. Any one is enough. */
12
+ const STRONG_BLOCK_PATTERNS = [
13
+ /^#{1,6}\s+\S/, // # Heading
14
+ /^[-*+]\s+\S/, // - bullet
15
+ /^\d+\.\s+\S/, // 1. ordered
16
+ /^>\s+\S/, // > blockquote
17
+ /^```/, // ``` code fence
18
+ /^\|.+\|\s*$/, // | table | row |
19
+ /^[-*+]\s+\[[ xX]\]\s+/, // - [ ] task
20
+ ];
21
+ /** Inline patterns that are weaker indicators on their own. */
22
+ const INLINE_PATTERNS = [
23
+ /\*\*[^*\n]+\*\*/, // **bold**
24
+ /__[^_\n]+__/, // __bold__
25
+ /`[^`\n]+`/, // `code`
26
+ /\[[^\]\n]+\]\([^)\n]+\)/, // [link](url)
27
+ /!\[[^\]\n]*\]\([^)\n]+\)/, // ![image](url)
28
+ /~~[^~\n]+~~/, // ~~strike~~
29
+ ];
30
+ /**
31
+ * Returns true if the text looks like markdown source.
32
+ *
33
+ * Detection rules:
34
+ * - Any line matching a strong block pattern → yes
35
+ * - Two or more inline pattern matches anywhere in the text → yes
36
+ * - Otherwise → no
37
+ */
38
+ export function looksLikeMarkdown(text) {
39
+ if (!text || text.length < 2)
40
+ return false;
41
+ const lines = text.split(/\r?\n/);
42
+ for (const line of lines) {
43
+ const trimmed = line.trim();
44
+ if (!trimmed)
45
+ continue;
46
+ for (const re of STRONG_BLOCK_PATTERNS) {
47
+ if (re.test(trimmed))
48
+ return true;
49
+ }
50
+ }
51
+ let inlineHits = 0;
52
+ for (const re of INLINE_PATTERNS) {
53
+ if (re.test(text)) {
54
+ inlineHits++;
55
+ if (inlineHits >= 2)
56
+ return true;
57
+ }
58
+ }
59
+ return false;
60
+ }
61
+ //# sourceMappingURL=detectMarkdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detectMarkdown.js","sourceRoot":"","sources":["../src/detectMarkdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,+EAA+E;AAC/E,MAAM,qBAAqB,GAAa;IACtC,cAAc,EAAE,YAAY;IAC5B,aAAa,EAAE,WAAW;IAC1B,aAAa,EAAE,aAAa;IAC5B,SAAS,EAAE,eAAe;IAC1B,MAAM,EAAE,iBAAiB;IACzB,aAAa,EAAE,kBAAkB;IACjC,uBAAuB,EAAE,aAAa;CACvC,CAAC;AAEF,+DAA+D;AAC/D,MAAM,eAAe,GAAa;IAChC,iBAAiB,EAAE,WAAW;IAC9B,aAAa,EAAE,WAAW;IAC1B,WAAW,EAAE,SAAS;IACtB,yBAAyB,EAAE,cAAc;IACzC,0BAA0B,EAAE,gBAAgB;IAC5C,aAAa,EAAE,aAAa;CAC7B,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAE3C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,KAAK,MAAM,EAAE,IAAI,qBAAqB,EAAE,CAAC;YACvC,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;QACpC,CAAC;IACH,CAAC;IAED,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,KAAK,MAAM,EAAE,IAAI,eAAe,EAAE,CAAC;QACjC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAClB,UAAU,EAAE,CAAC;YACb,IAAI,UAAU,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;QACnC,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * fileKind
3
+ *
4
+ * Maps a file name (or bare extension) to a Monaco language ID and decides
5
+ * whether the editor shell should operate in markdown mode (full WYSIWYG +
6
+ * Preview experience) or code mode (Monaco-only view with formatting
7
+ * buttons hidden).
8
+ *
9
+ * The mapping favors common web / systems languages that Monaco ships with
10
+ * out of the box. Unknown extensions fall back to markdown mode so the
11
+ * existing UX remains the default for anything we don't recognize.
12
+ */
13
+ export interface FileKind {
14
+ /** 'markdown' keeps the full editor (WYSIWYG + Preview tabs); 'code' is Monaco-only. */
15
+ mode: 'markdown' | 'code';
16
+ /** Monaco language ID — passed to `<Editor defaultLanguage={...} />`. */
17
+ language: string;
18
+ }
19
+ /**
20
+ * Detect a Monaco language ID from a file name. Returns null when the
21
+ * extension (or bare name) is not in the mapping.
22
+ */
23
+ export declare function detectLanguageFromFileName(fileName: string): string | null;
24
+ /**
25
+ * Resolve the editor mode + Monaco language for a given file. The explicit
26
+ * `language` argument, if provided, wins over any detection from
27
+ * `fileName`. When nothing matches, falls back to markdown mode.
28
+ */
29
+ export declare function resolveFileKind(fileName?: string, language?: string): FileKind;
30
+ //# sourceMappingURL=fileKind.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileKind.d.ts","sourceRoot":"","sources":["../src/fileKind.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,WAAW,QAAQ;IACvB,wFAAwF;IACxF,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC;IAC1B,yEAAyE;IACzE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAyFD;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI1E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAW9E"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * fileKind
3
+ *
4
+ * Maps a file name (or bare extension) to a Monaco language ID and decides
5
+ * whether the editor shell should operate in markdown mode (full WYSIWYG +
6
+ * Preview experience) or code mode (Monaco-only view with formatting
7
+ * buttons hidden).
8
+ *
9
+ * The mapping favors common web / systems languages that Monaco ships with
10
+ * out of the box. Unknown extensions fall back to markdown mode so the
11
+ * existing UX remains the default for anything we don't recognize.
12
+ */
13
+ /**
14
+ * Extension → Monaco language ID. Keys are lowercase, no leading dot.
15
+ * Extend as needed; unknown extensions fall back to markdown mode.
16
+ */
17
+ const EXT_TO_LANGUAGE = {
18
+ md: 'markdown',
19
+ markdown: 'markdown',
20
+ mdown: 'markdown',
21
+ txt: 'plaintext',
22
+ ts: 'typescript',
23
+ tsx: 'typescript',
24
+ js: 'javascript',
25
+ jsx: 'javascript',
26
+ mjs: 'javascript',
27
+ cjs: 'javascript',
28
+ json: 'json',
29
+ jsonc: 'json',
30
+ html: 'html',
31
+ htm: 'html',
32
+ css: 'css',
33
+ scss: 'scss',
34
+ less: 'less',
35
+ py: 'python',
36
+ go: 'go',
37
+ rs: 'rust',
38
+ rb: 'ruby',
39
+ java: 'java',
40
+ c: 'c',
41
+ h: 'c',
42
+ cpp: 'cpp',
43
+ hpp: 'cpp',
44
+ cc: 'cpp',
45
+ cs: 'csharp',
46
+ php: 'php',
47
+ sh: 'shell',
48
+ bash: 'shell',
49
+ zsh: 'shell',
50
+ yml: 'yaml',
51
+ yaml: 'yaml',
52
+ toml: 'ini',
53
+ ini: 'ini',
54
+ xml: 'xml',
55
+ svg: 'xml',
56
+ sql: 'sql',
57
+ lua: 'lua',
58
+ swift: 'swift',
59
+ kt: 'kotlin',
60
+ kts: 'kotlin',
61
+ dockerfile: 'dockerfile',
62
+ };
63
+ /**
64
+ * Languages that keep the full markdown shell (WYSIWYG + Preview). Anything
65
+ * outside this set is treated as code.
66
+ */
67
+ const MARKDOWN_MODE_LANGUAGES = new Set(['markdown', 'plaintext']);
68
+ /**
69
+ * Pull the lowercase extension (no leading dot) from a file name or bare
70
+ * extension string. Returns null when none is discernible.
71
+ *
72
+ * Examples:
73
+ * "foo.ts" → "ts"
74
+ * "foo.tar.gz" → "gz"
75
+ * ".ts" → "ts"
76
+ * "ts" → "ts"
77
+ * "Dockerfile" → "dockerfile" (full name match for extensionless files)
78
+ * "" → null
79
+ */
80
+ function extractExtension(fileName) {
81
+ const trimmed = fileName.trim();
82
+ if (!trimmed)
83
+ return null;
84
+ // Strip any leading path — take only the basename.
85
+ const base = trimmed.replace(/^.*[/\\]/, '');
86
+ if (!base)
87
+ return null;
88
+ const dotIdx = base.lastIndexOf('.');
89
+ if (dotIdx === -1) {
90
+ // No dot — could still be a recognized bare name (Dockerfile) or a bare
91
+ // extension passed by a caller like "ts". Lower-case and return.
92
+ return base.toLowerCase();
93
+ }
94
+ if (dotIdx === base.length - 1)
95
+ return null; // Trailing dot, no extension.
96
+ return base.slice(dotIdx + 1).toLowerCase();
97
+ }
98
+ /**
99
+ * Detect a Monaco language ID from a file name. Returns null when the
100
+ * extension (or bare name) is not in the mapping.
101
+ */
102
+ export function detectLanguageFromFileName(fileName) {
103
+ const ext = extractExtension(fileName);
104
+ if (!ext)
105
+ return null;
106
+ return EXT_TO_LANGUAGE[ext] ?? null;
107
+ }
108
+ /**
109
+ * Resolve the editor mode + Monaco language for a given file. The explicit
110
+ * `language` argument, if provided, wins over any detection from
111
+ * `fileName`. When nothing matches, falls back to markdown mode.
112
+ */
113
+ export function resolveFileKind(fileName, language) {
114
+ const resolvedLanguage = language ?? (fileName ? detectLanguageFromFileName(fileName) : null);
115
+ if (!resolvedLanguage) {
116
+ return { mode: 'markdown', language: 'markdown' };
117
+ }
118
+ const mode = MARKDOWN_MODE_LANGUAGES.has(resolvedLanguage)
119
+ ? 'markdown'
120
+ : 'code';
121
+ return { mode, language: resolvedLanguage };
122
+ }
123
+ //# sourceMappingURL=fileKind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileKind.js","sourceRoot":"","sources":["../src/fileKind.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useFileDrop.d.ts","sourceRoot":"","sources":["../../src/hooks/useFileDrop.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA6BH,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;AACxD,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAChE,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAOxD,wBAAgB,YAAY,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,YAAY,CAiB/E;AAwCD,MAAM,WAAW,kBAAkB;IACjC,+DAA+D;IAC/D,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACpD,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,yEAAyE;IACzE,UAAU,EAAE,OAAO,CAAC;IACpB,4CAA4C;IAC5C,eAAe,EAAE,eAAe,CAAC;IACjC,4CAA4C;IAC5C,cAAc,EAAE;QACd,WAAW,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;QAC1C,UAAU,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;QACzC,WAAW,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;QAC1C,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;KACtC,CAAC;IACF,sDAAsD;IACtD,SAAS,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK;QACjC,UAAU,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;QACzC,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;KACtC,CAAC;CACH;AAED,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,OAAc,EAAE,EAAE,kBAAkB,GAAG,iBAAiB,CAiG7F"}
1
+ {"version":3,"file":"useFileDrop.d.ts","sourceRoot":"","sources":["../../src/hooks/useFileDrop.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA6BH,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;AACxD,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAChE,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAOxD,wBAAgB,YAAY,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,YAAY,CAiB/E;AAwCD,MAAM,WAAW,kBAAkB;IACjC,+DAA+D;IAC/D,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACpD,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,yEAAyE;IACzE,UAAU,EAAE,OAAO,CAAC;IACpB,4CAA4C;IAC5C,eAAe,EAAE,eAAe,CAAC;IACjC,4CAA4C;IAC5C,cAAc,EAAE;QACd,WAAW,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;QAC1C,UAAU,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;QACzC,WAAW,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;QAC1C,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;KACtC,CAAC;IACF,sDAAsD;IACtD,SAAS,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK;QACjC,UAAU,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;QACzC,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;KACtC,CAAC;CACH;AAED,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,OAAc,EAAE,EAAE,kBAAkB,GAAG,iBAAiB,CAqG7F"}
@@ -95,17 +95,19 @@ export function useFileDrop({ onDrop, enabled = true }) {
95
95
  const handleDragEnter = useCallback((e) => {
96
96
  if (!enabled)
97
97
  return;
98
+ // Only react to OS file drags. In-app drags (e.g. dragging a thumbnail
99
+ // out of the MediaBin) don't carry file-kind items and must pass
100
+ // through to the editors without showing the drop overlay.
101
+ const classification = e.dataTransfer.items
102
+ ? classifyDataTransferItems(e.dataTransfer.items)
103
+ : 'mixed';
104
+ if (!classification)
105
+ return;
98
106
  e.preventDefault();
99
107
  dragCounterRef.current++;
100
108
  if (dragCounterRef.current === 1) {
101
109
  setIsDragging(true);
102
- if (e.dataTransfer.items) {
103
- setDragContentType(classifyDataTransferItems(e.dataTransfer.items));
104
- }
105
- else {
106
- // Fallback: can't classify, show all zones
107
- setDragContentType('mixed');
108
- }
110
+ setDragContentType(classification);
109
111
  }
110
112
  }, [enabled]);
111
113
  const handleDragOver = useCallback((e) => {
@@ -1 +1 @@
1
- {"version":3,"file":"useFileDrop.js","sourceRoot":"","sources":["../../src/hooks/useFileDrop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useFileDrop.js","sourceRoot":"","sources":["../../src/hooks/useFileDrop.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -19,7 +19,9 @@
19
19
  export { EditorShell } from './EditorShell.js';
20
20
  export type { EditorShellProps, EditorTheme } from './EditorShell.js';
21
21
  export { EditorProvider, useEditorContext } from './EditorContext.js';
22
- export type { EditorView, EditorState, EditorActions, EditorContextValue, EditorProviderProps, } from './EditorContext.js';
22
+ export type { EditorView, EditorMode, EditorState, EditorActions, EditorContextValue, EditorProviderProps, ImageDisplayMode, MentionCandidate, MentionProvider, } from './EditorContext.js';
23
+ export { resolveFileKind, detectLanguageFromFileName } from './fileKind.js';
24
+ export type { FileKind } from './fileKind.js';
23
25
  export { RawEditor } from './RawEditor.js';
24
26
  export type { RawEditorProps } from './RawEditor.js';
25
27
  export { WysiwygEditor } from './WysiwygEditor.js';
@@ -36,6 +38,7 @@ export { MediaBin } from './MediaBin.js';
36
38
  export type { MediaBinProps } from './MediaBin.js';
37
39
  export { StatusBar } from './StatusBar.js';
38
40
  export type { StatusBarProps } from './StatusBar.js';
41
+ export { TooltipLayer } from './Tooltip.js';
39
42
  export { DropZoneOverlay } from './DropZoneOverlay.js';
40
43
  export type { DropZoneOverlayProps } from './DropZoneOverlay.js';
41
44
  export { useFileDrop, classifyFile } from './hooks/useFileDrop.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGtE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtE,YAAY,EACV,UAAU,EACV,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACnE,YAAY,EACV,YAAY,EACZ,eAAe,EACf,UAAU,EACV,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGvE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGtE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtE,YAAY,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAC5E,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACnE,YAAY,EACV,YAAY,EACZ,eAAe,EACf,UAAU,EACV,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGvE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC"}
package/dist/index.js CHANGED
@@ -20,6 +20,9 @@
20
20
  export { EditorShell } from './EditorShell.js';
21
21
  // Context
22
22
  export { EditorProvider, useEditorContext } from './EditorContext.js';
23
+ // File-kind detection — useful for hosts that want to pre-decide chrome
24
+ // around the editor based on whether a file is markdown or code.
25
+ export { resolveFileKind, detectLanguageFromFileName } from './fileKind.js';
23
26
  // Individual editors (for custom layouts)
24
27
  export { RawEditor } from './RawEditor.js';
25
28
  export { WysiwygEditor } from './WysiwygEditor.js';
@@ -30,6 +33,7 @@ export { ViewSwitcher } from './ViewSwitcher.js';
30
33
  export { Toolbar } from './Toolbar.js';
31
34
  export { MediaBin } from './MediaBin.js';
32
35
  export { StatusBar } from './StatusBar.js';
36
+ export { TooltipLayer } from './Tooltip.js';
33
37
  // Drag-and-drop
34
38
  export { DropZoneOverlay } from './DropZoneOverlay.js';
35
39
  export { useFileDrop, classifyFile } from './hooks/useFileDrop.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,8BAA8B;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,UAAU;AACV,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAStE,0CAA0C;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAG9B,8BAA8B;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,gBAAgB;AAChB,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AASnE,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAE9B,mBAAmB;AACnB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEvE,mEAAmE;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,6DAA6D;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,8BAA8B;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,UAAU;AACV,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAatE,wEAAwE;AACxE,iEAAiE;AACjE,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAG5E,0CAA0C;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAG9B,8BAA8B;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,gBAAgB;AAChB,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AASnE,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAE9B,mBAAmB;AACnB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEvE,mEAAmE;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,6DAA6D;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Shared MIME type used to signal an in-app drag from the MediaBin to either
3
+ * the Raw or WYSIWYG editor. Carries a JSON payload of the form
4
+ * `{ name, mimeType, alt }` so the receiving editor can insert a reference
5
+ * to an existing media entry without re-uploading it.
6
+ */
7
+ export declare const SQUISQ_MEDIA_MIME = "application/x-squisq-media";
8
+ export interface SquisqMediaDragPayload {
9
+ /** Relative path / filename as stored in the MediaProvider. */
10
+ name: string;
11
+ /** MIME type of the entry. */
12
+ mimeType: string;
13
+ /** Default alt text derived from the filename. */
14
+ alt: string;
15
+ }
16
+ export declare function parseSquisqMediaPayload(raw: string): SquisqMediaDragPayload | null;
17
+ //# sourceMappingURL=mediaDragMime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mediaDragMime.d.ts","sourceRoot":"","sources":["../src/mediaDragMime.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,+BAA+B,CAAC;AAE9D,MAAM,WAAW,sBAAsB;IACrC,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,GAAG,EAAE,MAAM,CAAC;CACb;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI,CAclF"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Shared MIME type used to signal an in-app drag from the MediaBin to either
3
+ * the Raw or WYSIWYG editor. Carries a JSON payload of the form
4
+ * `{ name, mimeType, alt }` so the receiving editor can insert a reference
5
+ * to an existing media entry without re-uploading it.
6
+ */
7
+ export const SQUISQ_MEDIA_MIME = 'application/x-squisq-media';
8
+ export function parseSquisqMediaPayload(raw) {
9
+ try {
10
+ const parsed = JSON.parse(raw);
11
+ if (typeof parsed.name === 'string' &&
12
+ typeof parsed.mimeType === 'string' &&
13
+ typeof parsed.alt === 'string') {
14
+ return parsed;
15
+ }
16
+ }
17
+ catch {
18
+ // fall through
19
+ }
20
+ return null;
21
+ }
22
+ //# sourceMappingURL=mediaDragMime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mediaDragMime.js","sourceRoot":"","sources":["../src/mediaDragMime.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,4BAA4B,CAAC;AAW9D,MAAM,UAAU,uBAAuB,CAAC,GAAW;IACjD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAoC,CAAC;QAClE,IACE,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;YAC/B,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;YACnC,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,EAC9B,CAAC;YACD,OAAO,MAAgC,CAAC;QAC1C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,eAAe;IACjB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tiptapBridge.d.ts","sourceRoot":"","sources":["../src/tiptapBridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAsBH;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAmOzD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAsNrD"}
1
+ {"version":3,"file":"tiptapBridge.d.ts","sourceRoot":"","sources":["../src/tiptapBridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AA2BH;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAmOzD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAsNrD"}
@@ -19,6 +19,11 @@ const RE_STRIKETHROUGH = /~~(.+?)~~/g;
19
19
  const RE_INLINE_CODE = /`(.+?)`/g;
20
20
  const RE_LINK = /\[(.+?)\]\((.+?)\)/g;
21
21
  const RE_IMAGE = /!\[(.+?)\]\((.+?)\)/g;
22
+ // Mentions: `@[Display](scheme:id)` — scheme-part must start with a letter
23
+ // so plain `$100` or price-style parentheticals don't accidentally match.
24
+ // remark-stringify may round-trip the colon as `\:` — tolerate either.
25
+ const RE_MENTION = /@\[([^\]]+?)\]\(([a-z][a-z0-9+.-]*)\\?:([^)\s]+)\)/gi;
26
+ const RE_MENTION_TAG = /<span\b[^>]*?\bdata-mention\b[^>]*?>(?:<[^>]+>)*([^<]*)<\/span>/gi;
22
27
  const RE_STRONG_TAG = /<strong>(.*?)<\/strong>/g;
23
28
  const RE_B_TAG = /<b>(.*?)<\/b>/g;
24
29
  const RE_EM_TAG = /<em>(.*?)<\/em>/g;
@@ -367,7 +372,7 @@ export function tiptapToMarkdown(html) {
367
372
  if (ulMatch) {
368
373
  const items = ulMatch[1].matchAll(/<li>(.*?)<\/li>/gs);
369
374
  for (const item of items) {
370
- lines.push('- ' + htmlToInline(item[1].replace(/<\/?p>/g, '')));
375
+ lines.push(...renderListItem('- ', item[1]));
371
376
  }
372
377
  lines.push('');
373
378
  remaining = remaining.slice(ulMatch[0].length);
@@ -378,7 +383,7 @@ export function tiptapToMarkdown(html) {
378
383
  if (olMatch) {
379
384
  const items = [...olMatch[1].matchAll(/<li>(.*?)<\/li>/gs)];
380
385
  items.forEach((item, idx) => {
381
- lines.push(`${idx + 1}. ` + htmlToInline(item[1].replace(/<\/?p>/g, '')));
386
+ lines.push(...renderListItem(`${idx + 1}. `, item[1]));
382
387
  });
383
388
  lines.push('');
384
389
  remaining = remaining.slice(olMatch[0].length);
@@ -417,6 +422,39 @@ export function tiptapToMarkdown(html) {
417
422
  .replace(/\n{3,}/g, '\n\n')
418
423
  .trim() + '\n');
419
424
  }
425
+ /**
426
+ * Render a list item's HTML content as one or more markdown lines.
427
+ * Handles `<p>` paragraph breaks (blank line) and `<br>` hard breaks
428
+ * (two trailing spaces). Continuation lines are indented to keep them
429
+ * inside the list item.
430
+ */
431
+ function renderListItem(prefix, html) {
432
+ const indent = ' '.repeat(prefix.length);
433
+ // Split on </p><p> to detect paragraph breaks within the item
434
+ const paragraphs = html
435
+ .split(/<\/p>\s*<p[^>]*>/i)
436
+ .map((p) => p.replace(/^<p[^>]*>/i, '').replace(/<\/p>\s*$/i, ''));
437
+ const result = [];
438
+ paragraphs.forEach((paragraph, pIdx) => {
439
+ const inline = htmlToInline(paragraph).trim();
440
+ if (!inline)
441
+ return;
442
+ // Each <br> already became " \n" in htmlToInline; split on it now.
443
+ const subLines = inline.split('\n');
444
+ subLines.forEach((sub, sIdx) => {
445
+ if (pIdx === 0 && sIdx === 0) {
446
+ result.push(prefix + sub);
447
+ }
448
+ else {
449
+ // Blank line separator between paragraphs (sIdx === 0 means new paragraph)
450
+ if (sIdx === 0)
451
+ result.push('');
452
+ result.push(indent + sub);
453
+ }
454
+ });
455
+ });
456
+ return result.length > 0 ? result : [prefix];
457
+ }
420
458
  // ─── Table helpers ───────────────────────────────────────
421
459
  /** Split a GFM table row into trimmed cell strings (strips outer pipes). */
422
460
  function parseTableCells(line) {
@@ -470,6 +508,11 @@ function inlineToHtml(text) {
470
508
  result = result.replace(RE_INLINE_CODE, '<code>$1</code>');
471
509
  // Images first: ![alt](src) — must be before links so the `!` prefix is consumed
472
510
  result = result.replace(RE_IMAGE, '<img alt="$1" src="$2">');
511
+ // Mentions: @[Display](scheme:id) — must run before links so the
512
+ // bracket+paren isn't consumed as a regular link. The input here has
513
+ // already been run through escapeHtml at the top of this function, so
514
+ // the captured groups are safe to interpolate directly.
515
+ result = result.replace(RE_MENTION, (_match, label, kind, id) => `<span data-mention="true" data-kind="${kind}" data-id="${id}" data-label="${label}" class="mention">@${label}</span>`);
473
516
  // Links: [text](url)
474
517
  result = result.replace(RE_LINK, '<a href="$2">$1</a>');
475
518
  return result;
@@ -477,6 +520,9 @@ function inlineToHtml(text) {
477
520
  /** Convert inline HTML back to markdown */
478
521
  function htmlToInline(html) {
479
522
  let result = html;
523
+ // Soft line breaks — convert <br> to GFM hard-break syntax (two trailing
524
+ // spaces + newline) before stripping tags so the newline survives.
525
+ result = result.replace(/<br\s*\/?>/gi, ' \n');
480
526
  // Strong
481
527
  result = result.replace(RE_STRONG_TAG, '**$1**');
482
528
  result = result.replace(RE_B_TAG, '**$1**');
@@ -488,6 +534,16 @@ function htmlToInline(html) {
488
534
  result = result.replace(RE_DEL_TAG, '~~$1~~');
489
535
  // Code
490
536
  result = result.replace(RE_CODE_TAG, '`$1`');
537
+ // Mentions — match before the link handler so the span isn't stripped
538
+ // out as an unknown tag. Pull kind + id out of the data attributes.
539
+ result = result.replace(RE_MENTION_TAG, (match, _inner) => {
540
+ const kind = /data-kind="([^"]*)"/i.exec(match)?.[1] ?? '';
541
+ const id = /data-id="([^"]*)"/i.exec(match)?.[1] ?? '';
542
+ const label = /data-label="([^"]*)"/i.exec(match)?.[1] ?? '';
543
+ if (!kind || !id || !label)
544
+ return match;
545
+ return `@[${label}](${kind}:${id})`;
546
+ });
491
547
  // Links
492
548
  result = result.replace(RE_A_TAG, '[$2]($1)');
493
549
  // Images
@@ -1 +1 @@
1
- {"version":3,"file":"tiptapBridge.js","sourceRoot":"","sources":["../src/tiptapBridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tiptapBridge.js","sourceRoot":"","sources":["../src/tiptapBridge.ts"],"names":[],"mappings":"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"}