@llui/markdown-editor 0.2.14 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/dist/editor.d.ts +22 -2
  2. package/dist/editor.d.ts.map +1 -1
  3. package/dist/editor.js +45 -6
  4. package/dist/editor.js.map +1 -1
  5. package/dist/effects.d.ts +0 -1
  6. package/dist/effects.d.ts.map +1 -1
  7. package/dist/effects.js +4 -1
  8. package/dist/effects.js.map +1 -1
  9. package/dist/index.d.ts +9 -4
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +18 -4
  12. package/dist/index.js.map +1 -1
  13. package/dist/plugins/block-drag.d.ts +73 -0
  14. package/dist/plugins/block-drag.d.ts.map +1 -0
  15. package/dist/plugins/block-drag.js +760 -0
  16. package/dist/plugins/block-drag.js.map +1 -0
  17. package/dist/plugins/code-language.d.ts +60 -0
  18. package/dist/plugins/code-language.d.ts.map +1 -0
  19. package/dist/plugins/code-language.js +308 -0
  20. package/dist/plugins/code-language.js.map +1 -0
  21. package/dist/plugins/frontmatter.d.ts +45 -0
  22. package/dist/plugins/frontmatter.d.ts.map +1 -0
  23. package/dist/plugins/frontmatter.js +281 -0
  24. package/dist/plugins/frontmatter.js.map +1 -0
  25. package/dist/plugins/overlay.d.ts +1 -0
  26. package/dist/plugins/overlay.d.ts.map +1 -1
  27. package/dist/plugins/overlay.js +7 -0
  28. package/dist/plugins/overlay.js.map +1 -1
  29. package/dist/plugins/table.d.ts.map +1 -1
  30. package/dist/plugins/table.js +77 -15
  31. package/dist/plugins/table.js.map +1 -1
  32. package/dist/plugins/wikilink.d.ts +91 -0
  33. package/dist/plugins/wikilink.d.ts.map +1 -0
  34. package/dist/plugins/wikilink.js +467 -0
  35. package/dist/plugins/wikilink.js.map +1 -0
  36. package/dist/styles/block-drag.css +63 -0
  37. package/dist/styles/editor.css +64 -6
  38. package/dist/theme.d.ts +2 -5
  39. package/dist/theme.d.ts.map +1 -1
  40. package/dist/theme.js +15 -11
  41. package/dist/theme.js.map +1 -1
  42. package/dist/transformers/code.d.ts +24 -0
  43. package/dist/transformers/code.d.ts.map +1 -0
  44. package/dist/transformers/code.js +167 -0
  45. package/dist/transformers/code.js.map +1 -0
  46. package/dist/transformers/gfm.d.ts +9 -1
  47. package/dist/transformers/gfm.d.ts.map +1 -1
  48. package/dist/transformers/gfm.js +16 -4
  49. package/dist/transformers/gfm.js.map +1 -1
  50. package/dist/transformers/registry.d.ts +3 -0
  51. package/dist/transformers/registry.d.ts.map +1 -1
  52. package/dist/transformers/registry.js +26 -0
  53. package/dist/transformers/registry.js.map +1 -1
  54. package/package.json +45 -31
  55. package/src/editor.ts +77 -9
  56. package/src/effects.ts +4 -2
  57. package/src/index.ts +61 -9
  58. package/src/plugins/block-drag.ts +912 -0
  59. package/src/plugins/code-language.ts +378 -0
  60. package/src/plugins/frontmatter.ts +324 -0
  61. package/src/plugins/overlay.ts +7 -0
  62. package/src/plugins/table.ts +87 -13
  63. package/src/plugins/wikilink.ts +553 -0
  64. package/src/styles/block-drag.css +63 -0
  65. package/src/styles/editor.css +64 -6
  66. package/src/theme.ts +15 -11
  67. package/src/transformers/code.ts +174 -0
  68. package/src/transformers/gfm.ts +16 -4
  69. package/src/transformers/registry.ts +27 -0
  70. package/dist/__llui_deps.json +0 -274
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block-drag.js","sourceRoot":"","sources":["../../src/plugins/block-drag.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ import type { MarkdownPlugin } from './types.js';
2
+ /** This plugin's registry name (the `plugin` message envelope's `name`). */
3
+ export declare const CODE_LANGUAGE_PLUGIN = "codeLanguage";
4
+ import { CODE_INFO_TRANSFORMER, normalizeCodeInfo } from '../transformers/code.js';
5
+ export { CODE_INFO_TRANSFORMER, normalizeCodeInfo };
6
+ /** The language badge's state. JSON-serializable, like every LLui state slice. */
7
+ export interface CodeLanguageState {
8
+ /** Whether the badge is shown. */
9
+ open: boolean;
10
+ /** Viewport x of the anchor (the code block's right edge). */
11
+ x: number;
12
+ /** Viewport y of the anchor (the code block's top edge). */
13
+ y: number;
14
+ /** Node key of the anchored code block (`''` when none). */
15
+ key: string;
16
+ /** The input's current value (the block's info string, or the in-flight edit). */
17
+ language: string;
18
+ /** The info string as last read from the node — the baseline `cancel` restores
19
+ * and `commit` diffs against, so a no-op commit never touches the document. */
20
+ committed: string;
21
+ /** Whether the input has focus; a refresh must not overwrite what's being typed. */
22
+ editing: boolean;
23
+ /** A `hide` that arrived mid-edit, applied when the edit ends. */
24
+ pendingHide: boolean;
25
+ }
26
+ export type CodeLanguageMsg = {
27
+ type: 'show';
28
+ key: string;
29
+ x: number;
30
+ y: number;
31
+ language: string | null;
32
+ } | {
33
+ type: 'hide';
34
+ } | {
35
+ type: 'edit';
36
+ } | {
37
+ type: 'input';
38
+ language: string;
39
+ } | {
40
+ type: 'commit';
41
+ } | {
42
+ type: 'cancel';
43
+ };
44
+ /** Write `language` (null clears it) onto the code block with node key `key`. */
45
+ export type CodeLanguageEffect = {
46
+ type: 'apply';
47
+ key: string;
48
+ language: string | null;
49
+ };
50
+ export interface CodeLanguagePluginOptions {
51
+ /** Suggestions offered in the language input's `<datalist>`. Purely advisory —
52
+ * ANY info string may be typed, including multi-token ones. */
53
+ languages?: readonly string[];
54
+ /** Placeholder shown when a block has no language (default `'plain text'`). */
55
+ placeholder?: string;
56
+ /** Accessible label for the language input (default `'Code block language'`). */
57
+ label?: string;
58
+ }
59
+ export declare function codeLanguagePlugin(opts?: CodeLanguagePluginOptions): MarkdownPlugin;
60
+ //# sourceMappingURL=code-language.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-language.d.ts","sourceRoot":"","sources":["../../src/plugins/code-language.ts"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD,4EAA4E;AAC5E,eAAO,MAAM,oBAAoB,iBAAiB,CAAA;AAQlD,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAElF,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,CAAA;AAInD,kFAAkF;AAClF,MAAM,WAAW,iBAAiB;IAChC,kCAAkC;IAClC,IAAI,EAAE,OAAO,CAAA;IACb,8DAA8D;IAC9D,CAAC,EAAE,MAAM,CAAA;IACT,4DAA4D;IAC5D,CAAC,EAAE,MAAM,CAAA;IACT,4DAA4D;IAC5D,GAAG,EAAE,MAAM,CAAA;IACX,kFAAkF;IAClF,QAAQ,EAAE,MAAM,CAAA;IAChB;mFAC+E;IAC/E,SAAS,EAAE,MAAM,CAAA;IACjB,oFAAoF;IACpF,OAAO,EAAE,OAAO,CAAA;IAChB,kEAAkE;IAClE,WAAW,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC5E;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAA;AAEtB,iFAAiF;AACjF,MAAM,MAAM,kBAAkB,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAA;AA8FxF,MAAM,WAAW,yBAAyB;IACxC;mEAC+D;IAC/D,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC7B,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iFAAiF;IACjF,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAKD,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,yBAA8B,GAAG,cAAc,CAwLvF"}
@@ -0,0 +1,308 @@
1
+ // Code-block language plugin — makes a fenced block's **info string** visible
2
+ // and editable, and makes it round-trip verbatim.
3
+ //
4
+ // ## Why this package replaces `@lexical/markdown`'s CODE transformer
5
+ //
6
+ // Upstream's `CODE` captures the info string with `([\w-]+)?`, i.e. a SINGLE
7
+ // word-ish token, pushing the rest of the fence line into the code CONTENT:
8
+ //
9
+ // ```lance table → language 'lance', body 'table\nsum(x)' (corrupt)
10
+ // ```c++ → language 'c', body '++\nint main()' (corrupt)
11
+ //
12
+ // That is silent data loss for any consumer that keys off the info string
13
+ // (downstream, ```lance / ```lance table marks a formula block). The CommonMark
14
+ // -correct replacement lives in `transformers/code.ts` and is the DEFAULT in
15
+ // `GFM_TRANSFORMERS`, so the corruption is fixed for every consumer whether or
16
+ // not they enable this plugin, and plugin ORDER cannot reintroduce it. This
17
+ // plugin therefore adds only the editing chrome.
18
+ //
19
+ // ## Why no highlighter
20
+ //
21
+ // The package deliberately depends on `@lexical/code-core`, not `@lexical/code`,
22
+ // to keep Prism out of the bundle (see `transformers/gfm.ts`). The language is
23
+ // therefore an OPAQUE label: it is stored, shown, edited, and re-emitted, but
24
+ // nothing interprets it. That is precisely what lets an arbitrary token like
25
+ // `lance table` survive. The optional `languages` option only seeds a
26
+ // `<datalist>` of suggestions — it never constrains what may be typed.
27
+ //
28
+ // ## Chrome
29
+ //
30
+ // The editor uses the shared overlay seam (`overlayRoot` + `definePluginUI`),
31
+ // exactly like the table tools: a small portaled badge anchored to the code
32
+ // block's top-right corner whenever the caret is inside one.
33
+ import { $getNodeByKey, $getSelection, $isRangeSelection, SKIP_DOM_SELECTION_TAG } from 'lexical';
34
+ import { $findMatchingParent, mergeRegister } from '@lexical/utils';
35
+ import { $isCodeNode, CodeHighlightNode, CodeNode } from '@lexical/code-core';
36
+ import { el, input, text } from '@llui/dom';
37
+ import { definePluginUI } from './ui.js';
38
+ import { OVERLAY_Z, hideOverlay, onViewportChange, overlayRoot } from './overlay.js';
39
+ /** This plugin's registry name (the `plugin` message envelope's `name`). */
40
+ export const CODE_LANGUAGE_PLUGIN = 'codeLanguage';
41
+ // The fenced-code transformer now lives in `transformers/code.ts` so that it is
42
+ // the DEFAULT in `GFM_TRANSFORMERS`, not an opt-in a consumer must remember to
43
+ // order ahead of `corePlugin()`. This plugin contributes the SAME object
44
+ // reference, so `buildTransformers`' reference de-duplication collapses the two
45
+ // contributions into one and plugin order cannot change the parse.
46
+ // Re-exported here because it is part of this plugin's documented surface.
47
+ import { CODE_INFO_TRANSFORMER, normalizeCodeInfo } from '../transformers/code.js';
48
+ export { CODE_INFO_TRANSFORMER, normalizeCodeInfo };
49
+ const INITIAL = {
50
+ open: false,
51
+ x: 0,
52
+ y: 0,
53
+ key: '',
54
+ language: '',
55
+ committed: '',
56
+ editing: false,
57
+ pendingHide: false,
58
+ };
59
+ function sameState(a, b) {
60
+ return (a.open === b.open &&
61
+ a.x === b.x &&
62
+ a.y === b.y &&
63
+ a.key === b.key &&
64
+ a.language === b.language &&
65
+ a.committed === b.committed &&
66
+ a.editing === b.editing &&
67
+ a.pendingHide === b.pendingHide);
68
+ }
69
+ /** End an edit: drop the editing flag and honour a hide deferred during it. */
70
+ function endEdit(state, language) {
71
+ return {
72
+ ...state,
73
+ language,
74
+ editing: false,
75
+ pendingHide: false,
76
+ open: state.pendingHide ? false : state.open,
77
+ };
78
+ }
79
+ function reduce(state, msg) {
80
+ switch (msg.type) {
81
+ case 'show': {
82
+ const language = normalizeCodeInfo(msg.language) ?? '';
83
+ // A refresh for the block being edited only re-anchors it: the typed value
84
+ // and the edit itself are preserved (the register listener re-emits `show`
85
+ // on every editor update, including the one this plugin's own commit made).
86
+ const keepEdit = state.editing && state.key === msg.key;
87
+ const next = {
88
+ open: true,
89
+ x: msg.x,
90
+ y: msg.y,
91
+ key: msg.key,
92
+ language: keepEdit ? state.language : language,
93
+ committed: language,
94
+ editing: keepEdit,
95
+ // Preserved across a same-block `show` for the same reason `language`
96
+ // and `editing` are. `onViewportChange(refresh)` re-emits `show` on
97
+ // every scroll/resize, so an unconditional reset let a scroll while the
98
+ // input was focused erase a deferred hide — `endEdit` then saw
99
+ // `pendingHide === false` and left the badge anchored over a block the
100
+ // caret had already left.
101
+ pendingHide: keepEdit ? state.pendingHide : false,
102
+ };
103
+ return sameState(state, next) ? state : next;
104
+ }
105
+ case 'hide':
106
+ // Focusing the badge's input can collapse the editor selection, which makes
107
+ // the register listener emit `hide`. Closing then would yank the input out
108
+ // from under the caret, so remember it and apply it when the edit ends.
109
+ if (state.editing)
110
+ return state.pendingHide ? state : { ...state, pendingHide: true };
111
+ return hideOverlay(state);
112
+ case 'edit':
113
+ return state.editing ? state : { ...state, editing: true };
114
+ case 'input':
115
+ return state.language === msg.language && state.editing
116
+ ? state
117
+ : { ...state, language: msg.language, editing: true };
118
+ case 'commit': {
119
+ const next = normalizeCodeInfo(state.language);
120
+ const previous = normalizeCodeInfo(state.committed);
121
+ const ended = endEdit({ ...state, committed: next ?? '' }, next ?? '');
122
+ // An unchanged (or still-empty) value must NOT touch the document: doing so
123
+ // would dirty the editor and re-emit onChange for a no-op.
124
+ if (next === previous)
125
+ return [endEdit(state, state.committed), []];
126
+ return [ended, [{ type: 'apply', key: state.key, language: next }]];
127
+ }
128
+ case 'cancel':
129
+ return endEdit(state, state.committed);
130
+ }
131
+ }
132
+ /** Unique per plugin instance so two mounted editors never share a datalist id. */
133
+ let datalistSeq = 0;
134
+ export function codeLanguagePlugin(opts = {}) {
135
+ const languages = opts.languages ?? [];
136
+ const listId = languages.length > 0 ? `md-code-lang-${++datalistSeq}` : null;
137
+ // Per-instance id so the command item can focus THIS editor's badge input even
138
+ // with several editors mounted at once (the overlay is portaled to <body>).
139
+ const inputId = `md-code-lang-input-${++datalistSeq}`;
140
+ return {
141
+ name: CODE_LANGUAGE_PLUGIN,
142
+ // The keyboard route to the badge. The overlay is portaled to a body-level
143
+ // sibling that exists only while the caret is in a code block, and Tab
144
+ // inside a Lexical CodeNode is consumed for indentation — so without a
145
+ // command the input was unreachable without a pointer, making the ONLY way
146
+ // to set or clear a code block's language mouse-only.
147
+ items: [
148
+ {
149
+ id: CODE_LANGUAGE_PLUGIN,
150
+ label: 'Set code block language',
151
+ icon: 'codeLanguage',
152
+ group: 'block',
153
+ keywords: ['code', 'language', 'fence', 'syntax', 'info string'],
154
+ isDisabled: () => false,
155
+ run: (editor) => {
156
+ // Only meaningful with the caret inside a code block; the overlay is
157
+ // open in exactly that case, so focusing its input is the whole action.
158
+ const focus = () => {
159
+ const el = editor.getRootElement()?.ownerDocument.getElementById(inputId);
160
+ if (el instanceof HTMLInputElement) {
161
+ el.focus();
162
+ el.select();
163
+ }
164
+ };
165
+ // The overlay may not be open yet if the caret only just moved; let the
166
+ // register listener's refresh land first.
167
+ if (typeof queueMicrotask === 'function')
168
+ queueMicrotask(focus);
169
+ else
170
+ focus();
171
+ },
172
+ surfaces: ['slash', 'context'],
173
+ },
174
+ ],
175
+ // Declared so the plugin stands alone (a code-only editor without
176
+ // `corePlugin`); the mount de-duplicates node classes across plugins.
177
+ nodes: [CodeNode, CodeHighlightNode],
178
+ transformers: [CODE_INFO_TRANSFORMER],
179
+ // Track the code block under the caret and its viewport rect. Mirrors
180
+ // `tablePlugin`: re-emit only when the anchor or the language actually
181
+ // changes, so typing inside a code block doesn't reconcile the overlay.
182
+ register: (editor, ctx) => {
183
+ let lastKey = null;
184
+ let lastX = NaN;
185
+ let lastY = NaN;
186
+ let lastLanguage = null;
187
+ const refresh = () => {
188
+ const found = editor.getEditorState().read(() => {
189
+ const selection = $getSelection();
190
+ if (!$isRangeSelection(selection))
191
+ return null;
192
+ const code = $findMatchingParent(selection.anchor.getNode(), $isCodeNode);
193
+ if (!$isCodeNode(code))
194
+ return null;
195
+ return { key: code.getKey(), language: normalizeCodeInfo(code.getLanguage()) };
196
+ });
197
+ const element = found ? editor.getElementByKey(found.key) : null;
198
+ if (!found || !element) {
199
+ if (lastKey !== null) {
200
+ lastKey = null;
201
+ lastX = NaN;
202
+ lastY = NaN;
203
+ lastLanguage = null;
204
+ ctx.emit({
205
+ type: 'plugin',
206
+ name: CODE_LANGUAGE_PLUGIN,
207
+ msg: { type: 'hide' },
208
+ });
209
+ }
210
+ return;
211
+ }
212
+ const rect = element.getBoundingClientRect();
213
+ if (found.key === lastKey &&
214
+ rect.right === lastX &&
215
+ rect.top === lastY &&
216
+ found.language === lastLanguage) {
217
+ return;
218
+ }
219
+ lastKey = found.key;
220
+ lastX = rect.right;
221
+ lastY = rect.top;
222
+ lastLanguage = found.language;
223
+ ctx.emit({
224
+ type: 'plugin',
225
+ name: CODE_LANGUAGE_PLUGIN,
226
+ msg: {
227
+ type: 'show',
228
+ key: found.key,
229
+ x: rect.right,
230
+ y: rect.top,
231
+ language: found.language,
232
+ },
233
+ });
234
+ };
235
+ return mergeRegister(editor.registerUpdateListener(() => refresh()), onViewportChange(refresh));
236
+ },
237
+ ui: definePluginUI({
238
+ init: () => INITIAL,
239
+ update: reduce,
240
+ onEffect: (effect, ctx) => {
241
+ const editor = ctx.editor();
242
+ if (!editor)
243
+ return;
244
+ // SKIP_DOM_SELECTION_TAG is load-bearing, not decoration. `setLanguage`
245
+ // dirties the CodeNode, so an untagged update reaches
246
+ // `$updateDOMSelection`. Lexical does not clear its selection on blur
247
+ // ('blur' is a PASS_THROUGH_COMMAND), so while the badge input holds DOM
248
+ // focus the pending selection still points INSIDE the code block; the
249
+ // equality short-circuit therefore fails and the reconciler moves the
250
+ // native selection back into the contenteditable — stealing focus out of
251
+ // the input mid-edit. This package already defends against the same
252
+ // hazard in editor.ts (the explicit `$setSelection(null)`).
253
+ editor.update(() => {
254
+ const node = $getNodeByKey(effect.key);
255
+ if ($isCodeNode(node))
256
+ node.setLanguage(effect.language);
257
+ }, { tag: SKIP_DOM_SELECTION_TAG });
258
+ },
259
+ view: ({ state, send }) => overlayRoot({
260
+ open: state.at('open'),
261
+ x: state.at('x'),
262
+ y: state.at('y'),
263
+ zIndex: OVERLAY_Z.codeLanguage,
264
+ // Sit just above the block's top-right corner.
265
+ transform: 'transform:translate(-100%,-100%)',
266
+ attrs: { 'data-scope': 'md-code-language', 'data-part': 'bar' },
267
+ children: () => {
268
+ const children = [
269
+ input({
270
+ type: 'text',
271
+ 'data-scope': 'md-code-language',
272
+ 'data-part': 'input',
273
+ id: inputId,
274
+ 'aria-label': opts.label ?? 'Code block language',
275
+ placeholder: opts.placeholder ?? 'plain text',
276
+ spellcheck: 'false',
277
+ autocapitalize: 'off',
278
+ autocomplete: 'off',
279
+ ...(listId ? { list: listId } : {}),
280
+ value: state.at('language'),
281
+ onFocus: () => send({ type: 'edit' }),
282
+ onBlur: () => send({ type: 'commit' }),
283
+ onInput: (e) => send({ type: 'input', language: e.target.value }),
284
+ // The badge lives in a portal outside the contenteditable, but
285
+ // document-level editor handlers would still see these keys.
286
+ onKeyDown: (e) => {
287
+ e.stopPropagation();
288
+ if (e.key === 'Enter') {
289
+ e.preventDefault();
290
+ send({ type: 'commit' });
291
+ }
292
+ else if (e.key === 'Escape') {
293
+ e.preventDefault();
294
+ send({ type: 'cancel' });
295
+ }
296
+ },
297
+ }),
298
+ ];
299
+ if (listId) {
300
+ children.push(el('datalist', { id: listId }, languages.map((language) => el('option', { value: language }, [text(language)]))));
301
+ }
302
+ return children;
303
+ },
304
+ }),
305
+ }),
306
+ };
307
+ }
308
+ //# sourceMappingURL=code-language.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-language.js","sourceRoot":"","sources":["../../src/plugins/code-language.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import type { MultilineElementTransformer } from '@lexical/markdown';
2
+ import type { MarkdownPlugin } from './types.js';
3
+ import { type PreviewRender } from './_preview.js';
4
+ /** The decorator bridge id for the frontmatter block. */
5
+ export declare const FRONTMATTER_BRIDGE_TYPE = "frontmatter";
6
+ /** The frontmatter node's payload: the block body, verbatim, with no fences. */
7
+ export interface FrontmatterData {
8
+ /** The raw text between the opening and closing `---`. Never interpreted. */
9
+ source: string;
10
+ }
11
+ /** Render the fences back around an opaque body. An empty (or blank-only) body
12
+ * collapses to the canonical two-line form so the result stays idempotent. */
13
+ export declare function serializeFrontmatter(source: string): string;
14
+ /**
15
+ * Split a leading frontmatter block off a markdown string: `[body, rest]`, or
16
+ * `null` when the document has none (no line-0 fence, or no closing fence).
17
+ * Exported because a consumer often needs the metadata BEFORE building an
18
+ * editor — the same predicate the importer uses, so the two never disagree.
19
+ */
20
+ export declare function splitFrontmatter(markdown: string): [source: string, rest: string] | null;
21
+ /** The document's frontmatter body, or `null` when it has none. */
22
+ export declare function $getFrontmatter(): string | null;
23
+ /**
24
+ * Set (or, with `null`, remove) the document's frontmatter. The block is always
25
+ * kept as the FIRST child of the root — it is only frontmatter there, and the
26
+ * exporter relies on that position (see the transformer's `export`).
27
+ */
28
+ export declare function $setFrontmatter(source: string | null): void;
29
+ declare const FRONTMATTER_TRANSFORMER: MultilineElementTransformer;
30
+ export { FRONTMATTER_TRANSFORMER };
31
+ export interface FrontmatterPluginOptions {
32
+ /** Render the raw block to a preview (e.g. parse with your own YAML library
33
+ * and draw a table). Return a DOM `Node` (mounted directly) or a **trusted**
34
+ * HTML string — see `renderedPreview`'s security note. */
35
+ render?: PreviewRender;
36
+ /** Accessible label for the raw-source editor (default `'Frontmatter'`). */
37
+ label?: string;
38
+ /** Placeholder shown for an empty block (default `'key: value'`). */
39
+ placeholder?: string;
40
+ /** Show the raw source editor. Set false for a `render`-only presentation
41
+ * (the block still round-trips; it just isn't editable in place). Default true. */
42
+ editable?: boolean;
43
+ }
44
+ export declare function frontmatterPlugin(opts?: FrontmatterPluginOptions): MarkdownPlugin;
45
+ //# sourceMappingURL=frontmatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frontmatter.d.ts","sourceRoot":"","sources":["../../src/plugins/frontmatter.ts"],"names":[],"mappings":"AA0EA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAA;AAQpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,eAAe,CAAA;AAEnE,yDAAyD;AACzD,eAAO,MAAM,uBAAuB,gBAAgB,CAAA;AAEpD,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,6EAA6E;IAC7E,MAAM,EAAE,MAAM,CAAA;CACf;AAcD;8EAC8E;AAC9E,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE3D;AAqBD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,IAAI,CAKxF;AAYD,mEAAmE;AACnE,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAK/C;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAe3D;AAID,QAAA,MAAM,uBAAuB,EAAE,2BA4C9B,CAAA;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAA;AAIlC,MAAM,WAAW,wBAAwB;IACvC;;8DAE0D;IAC1D,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;uFACmF;IACnF,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAKD,wBAAgB,iBAAiB,CAAC,IAAI,GAAE,wBAA6B,GAAG,cAAc,CAsErF"}