@mdwrk/markdown-editor-core 1.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,34 +1,46 @@
1
- # mdwrk/markdown-editor-core
1
+ # @mdwrk/markdown-editor-core
2
2
 
3
- Portable source-mode markdown editor primitives for Markdown Workspace.
3
+ Portable source-mode Markdown editor primitives for Markdown Workspace.
4
4
 
5
- ## Responsibilities
5
+ ## Public responsibilities
6
6
 
7
- - document snapshot and selection types
8
7
  - selection transforms
9
8
  - formatting commands
9
+ - list/task insertion helpers
10
10
  - indent/outdent helpers
11
- - undo/redo history state
12
- - host-facing editor controller contracts
11
+ - history state and undo/redo primitives
12
+ - editor class-name contract
13
13
 
14
- ## Scope
14
+ ## Typed public exports
15
15
 
16
- This package does not depend on React or DOM rendering. It is suitable for browser hosts, React bindings, and future non-React adapters.
16
+ - root module: `@mdwrk/markdown-editor-core`
17
+ - `./types`
18
+ - `./class-names`
19
+ - `./selection`
20
+ - `./transforms`
21
+ - `./commands`
22
+ - `./history`
23
+ - `./version`
17
24
 
18
- ## Key exports
25
+ ## Integration fixtures / examples
19
26
 
20
- - `createHistoryState`
21
- - `resetHistoryState`
22
- - `pushHistoryEntry`
23
- - `undoHistory`
24
- - `redoHistory`
25
- - `applyBuiltinMarkdownCommand`
26
- - `wrapSelection`
27
- - `indentSelection`
28
- - `outdentSelection`
29
- - `computeCursorPosition`
30
- - `DEFAULT_MARKDOWN_EDITOR_CLASS_NAMES`
27
+ - reusable consumer: `examples/editor-basic/`
28
+ - client integration: Phase 5 authoring checkpoint
29
+ - list/task/continuation behavior demonstrated in the editor example and package-level tests
31
30
 
32
- ## Status
31
+ ## Semver / compatibility
33
32
 
34
- Implemented in the Phase 5 checkpoint. This package is publishable, but repository-wide certification is still pending later phases.
33
+ - current version: `1.1.0`
34
+ - package boundary: editor logic only; no React or app-shell dependency
35
+
36
+ ## Release evidence
37
+
38
+ - typed exports in `package.json`
39
+ - build/typecheck/test scripts in `package.json`
40
+ - checkpoint evidence in `artifacts/conformance/latest/`
41
+
42
+ ## API/reference docs
43
+
44
+ See the generated reference page at:
45
+
46
+ - `docs/reference/packages/mdwrk-markdown-editor-core.md`
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,8BAA8B,EAC9B,4BAA4B,EAC5B,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,gCAAgC,EAAE,SAAS,8BAA8B,EAS5E,CAAC;AAEX,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,8BAA8B,EACvC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,uBAAuB,EAClC,OAAO,GAAE,4BAAiC,GACzC,wBAAwB,CAyB1B"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,8BAA8B,EAC9B,4BAA4B,EAC5B,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,gCAAgC,EAAE,SAAS,8BAA8B,EAkB5E,CAAC;AAEX,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,8BAA8B,EACvC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,uBAAuB,EAClC,OAAO,GAAE,4BAAiC,GACzC,wBAAwB,CAwD1B"}
package/dist/commands.js CHANGED
@@ -1,9 +1,18 @@
1
1
  import { wrapSelection } from "./selection.js";
2
- import { indentSelection, outdentSelection } from "./transforms.js";
2
+ import { applyBulletListSelection, applyTaskListSelection, indentSelection, outdentSelection } from "./transforms.js";
3
3
  export const BUILTIN_MARKDOWN_EDITOR_COMMANDS = [
4
4
  "bold",
5
5
  "italic",
6
6
  "strikethrough",
7
+ "bullet-list",
8
+ "task-list",
9
+ "front-matter",
10
+ "footnote",
11
+ "inline-math",
12
+ "block-math",
13
+ "superscript",
14
+ "subscript",
15
+ "citation",
7
16
  "indent",
8
17
  "outdent",
9
18
  "undo",
@@ -18,6 +27,37 @@ export function applyBuiltinMarkdownCommand(command, value, selection, options =
18
27
  return wrapSelection(value, selection, "_", "_");
19
28
  case "strikethrough":
20
29
  return wrapSelection(value, selection, "~~", "~~");
30
+ case "bullet-list":
31
+ return applyBulletListSelection(value, selection);
32
+ case "task-list":
33
+ return applyTaskListSelection(value, selection);
34
+ case "front-matter": {
35
+ const frontMatter = "---\ntitle: \n---\n\n";
36
+ if (String(value).startsWith("---\n")) {
37
+ return { value, selection, changed: false };
38
+ }
39
+ return {
40
+ value: `${frontMatter}${value}`,
41
+ selection: {
42
+ start: 10,
43
+ end: 10,
44
+ direction: 'none',
45
+ },
46
+ changed: true,
47
+ };
48
+ }
49
+ case "footnote":
50
+ return wrapSelection(value, selection, "[^1]", "");
51
+ case "inline-math":
52
+ return wrapSelection(value, selection, "$", "$");
53
+ case "block-math":
54
+ return wrapSelection(value, selection, "$$\n", "\n$$");
55
+ case "superscript":
56
+ return wrapSelection(value, selection, "^", "^");
57
+ case "subscript":
58
+ return wrapSelection(value, selection, "~", "~");
59
+ case "citation":
60
+ return wrapSelection(value, selection, "[@", "]");
21
61
  case "indent":
22
62
  case "insert-tab":
23
63
  return indentSelection(value, selection, options.indentUnit ?? "\t");
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAQpE,MAAM,CAAC,MAAM,gCAAgC,GAA8C;IACzF,MAAM;IACN,QAAQ;IACR,eAAe;IACf,QAAQ;IACR,SAAS;IACT,MAAM;IACN,MAAM;IACN,YAAY;CACJ,CAAC;AAEX,MAAM,UAAU,2BAA2B,CACzC,OAAuC,EACvC,KAAa,EACb,SAAkC,EAClC,UAAwC,EAAE;IAE1C,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,MAAM;YACT,OAAO,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACrD,KAAK,QAAQ;YACX,OAAO,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACnD,KAAK,eAAe;YAClB,OAAO,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACrD,KAAK,QAAQ,CAAC;QACd,KAAK,YAAY;YACf,OAAO,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC;QACvE,KAAK,SAAS;YACZ,OAAO,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC;QACxE,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM;YACT,OAAO;gBACL,KAAK;gBACL,SAAS;gBACT,OAAO,EAAE,KAAK;aACf,CAAC;QACJ,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,eAAe,GAAU,OAAO,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,wCAAwC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,18 @@
1
- import type { MarkdownEditorEditResult, MarkdownEditorSelection } from "./types.js";
1
+ import type { MarkdownEditorEditResult, MarkdownEditorSelection, MarkdownEditorSelectionFormatState } from "./types.js";
2
+ export declare function getSelectedLineRange(value: string, selection: MarkdownEditorSelection): {
3
+ lineStart: number;
4
+ lineEnd: number;
5
+ selectedBlock: string;
6
+ lines: string[];
7
+ isMultiLine: boolean;
8
+ };
2
9
  export declare function insertText(value: string, selection: MarkdownEditorSelection, text: string): MarkdownEditorEditResult;
3
10
  export declare function indentSelection(value: string, selection: MarkdownEditorSelection, indentUnit?: string): MarkdownEditorEditResult;
4
11
  export declare function outdentSelection(value: string, selection: MarkdownEditorSelection, indentUnit?: string): MarkdownEditorEditResult;
12
+ export declare function applyBulletListSelection(value: string, selection: MarkdownEditorSelection): MarkdownEditorEditResult;
13
+ export declare function applyTaskListSelection(value: string, selection: MarkdownEditorSelection): MarkdownEditorEditResult;
14
+ export declare function getListContinuationPrefix(line: string): string | null;
15
+ export declare function isEmptyListItemLine(line: string): boolean;
16
+ export declare function insertListContinuation(value: string, selection: MarkdownEditorSelection): MarkdownEditorEditResult;
17
+ export declare function computeSelectionFormatState(value: string, selection: MarkdownEditorSelection): MarkdownEditorSelectionFormatState;
5
18
  //# sourceMappingURL=transforms.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transforms.d.ts","sourceRoot":"","sources":["../src/transforms.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAmBpF,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM,GAAG,wBAAwB,CAEpH;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,uBAAuB,EAClC,UAAU,SAAO,GAChB,wBAAwB,CAkB1B;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,uBAAuB,EAClC,UAAU,SAAO,GAChB,wBAAwB,CAkD1B"}
1
+ {"version":3,"file":"transforms.d.ts","sourceRoot":"","sources":["../src/transforms.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,wBAAwB,EACxB,uBAAuB,EACvB,kCAAkC,EACnC,MAAM,YAAY,CAAC;AAEpB,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,uBAAuB,GAAG;IACvF,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;CACtB,CASA;AAkBD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM,GAAG,wBAAwB,CAEpH;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,uBAAuB,EAClC,UAAU,SAAO,GAChB,wBAAwB,CAkB1B;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,uBAAuB,EAClC,UAAU,SAAO,GAChB,wBAAwB,CAqD1B;AAoDD,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,uBAAuB,GACjC,wBAAwB,CAa1B;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,uBAAuB,GACjC,wBAAwB,CA0B1B;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA2BrE;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAOzD;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,uBAAuB,GACjC,wBAAwB,CAqB1B;AA+BD,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,uBAAuB,GACjC,kCAAkC,CAmBpC"}
@@ -1,5 +1,5 @@
1
1
  import { createSelection, normalizeSelection, replaceSelection } from "./selection.js";
2
- function getSelectedLineRange(value, selection) {
2
+ export function getSelectedLineRange(value, selection) {
3
3
  const normalized = normalizeSelection(selection, value.length);
4
4
  const lineStart = value.lastIndexOf("\n", Math.max(0, normalized.start - 1)) + 1;
5
5
  const nextBreak = value.indexOf("\n", normalized.end);
@@ -9,6 +9,17 @@ function getSelectedLineRange(value, selection) {
9
9
  const isMultiLine = lines.length > 1 || normalized.start !== normalized.end;
10
10
  return { lineStart, lineEnd, selectedBlock, lines, isMultiLine };
11
11
  }
12
+ function getCurrentLineRange(value, offset) {
13
+ const safeOffset = Math.max(0, Math.min(value.length, offset));
14
+ const lineStart = value.lastIndexOf("\n", Math.max(0, safeOffset - 1)) + 1;
15
+ const nextBreak = value.indexOf("\n", safeOffset);
16
+ const lineEnd = nextBreak === -1 ? value.length : nextBreak;
17
+ return {
18
+ lineStart,
19
+ lineEnd,
20
+ line: value.slice(lineStart, lineEnd),
21
+ };
22
+ }
12
23
  export function insertText(value, selection, text) {
13
24
  return replaceSelection(value, selection, text);
14
25
  }
@@ -75,4 +86,173 @@ export function outdentSelection(value, selection, indentUnit = "\t") {
75
86
  changed: nextValue !== value,
76
87
  };
77
88
  }
89
+ function isTaskListLine(line) {
90
+ return /^\s*[-*+]\s+\[[ xX]\]\s+/.test(line) || /^\s*\d+[.)]\s+\[[ xX]\]\s+/.test(line);
91
+ }
92
+ function isBulletListLine(line) {
93
+ return /^\s*[-*+]\s+/.test(line) && !isTaskListLine(line);
94
+ }
95
+ function applyTaskPrefix(line) {
96
+ if (isTaskListLine(line)) {
97
+ return { line, added: 0 };
98
+ }
99
+ if (/^\s*[-*+]\s+/.test(line)) {
100
+ const updatedLine = line.replace(/^(\s*)[-*+]\s+/, "$1- [ ] ");
101
+ return { line: updatedLine, added: updatedLine.length - line.length };
102
+ }
103
+ if (/^\s*\d+[.)]\s+/.test(line)) {
104
+ const updatedLine = line.replace(/^(\s*\d+[.)])\s+/, "$1 [ ] ");
105
+ return { line: updatedLine, added: updatedLine.length - line.length };
106
+ }
107
+ const updatedLine = line.replace(/^(\s*)/, "$1- [ ] ");
108
+ return { line: updatedLine, added: updatedLine.length - line.length };
109
+ }
110
+ function applyBulletPrefix(line) {
111
+ if (line.trim().length === 0) {
112
+ return line;
113
+ }
114
+ if (isTaskListLine(line)) {
115
+ return line.replace(/^(\s*)(?:[-*+]|\d+[.)])\s+\[[ xX]\]\s+/, "$1- ");
116
+ }
117
+ if (/^\s*\d+[.)]\s+/.test(line)) {
118
+ return line.replace(/^(\s*)\d+[.)]\s+/, "$1- ");
119
+ }
120
+ if (isBulletListLine(line)) {
121
+ return line.replace(/^(\s*)[-*+]\s+/, "$1- ");
122
+ }
123
+ return line.replace(/^(\s*)/, "$1- ");
124
+ }
125
+ function removeBulletPrefix(line) {
126
+ if (line.trim().length === 0) {
127
+ return line;
128
+ }
129
+ return line.replace(/^(\s*)[-*+]\s+/, "$1");
130
+ }
131
+ export function applyBulletListSelection(value, selection) {
132
+ const normalized = normalizeSelection(selection, value.length);
133
+ const { lineStart, lineEnd, lines } = getSelectedLineRange(value, normalized);
134
+ const nonEmptyLines = lines.filter((line) => line.trim().length > 0);
135
+ const shouldRemove = nonEmptyLines.length > 0 && nonEmptyLines.every((line) => isBulletListLine(line));
136
+ const updatedLines = lines.map((line) => (shouldRemove ? removeBulletPrefix(line) : applyBulletPrefix(line)));
137
+ const updatedBlock = updatedLines.join("\n");
138
+ const nextValue = `${value.slice(0, lineStart)}${updatedBlock}${value.slice(lineEnd)}`;
139
+ return {
140
+ value: nextValue,
141
+ selection: createSelection(lineStart, lineStart + updatedBlock.length),
142
+ changed: nextValue !== value,
143
+ };
144
+ }
145
+ export function applyTaskListSelection(value, selection) {
146
+ const normalized = normalizeSelection(selection, value.length);
147
+ const { lineStart, lineEnd, lines } = getSelectedLineRange(value, normalized);
148
+ let addedBeforeStart = 0;
149
+ let addedTotal = 0;
150
+ const updatedLines = lines.map((line, index) => {
151
+ const result = applyTaskPrefix(line);
152
+ if (index === 0) {
153
+ const selectionStartsInsideLine = normalized.start > lineStart || normalized.start === normalized.end;
154
+ addedBeforeStart = selectionStartsInsideLine ? Math.max(0, result.added) : 0;
155
+ }
156
+ addedTotal += result.added;
157
+ return result.line;
158
+ });
159
+ const updatedBlock = updatedLines.join("\n");
160
+ const nextValue = `${value.slice(0, lineStart)}${updatedBlock}${value.slice(lineEnd)}`;
161
+ const nextStart = Math.min(nextValue.length, Math.max(lineStart, normalized.start + addedBeforeStart));
162
+ const nextEnd = Math.min(nextValue.length, Math.max(nextStart, normalized.end + addedTotal));
163
+ return {
164
+ value: nextValue,
165
+ selection: createSelection(nextStart, nextEnd),
166
+ changed: nextValue !== value,
167
+ };
168
+ }
169
+ export function getListContinuationPrefix(line) {
170
+ const taskMatch = line.match(/^(\s*)([-*+]|\d+[.)])\s+\[[ xX]\]\s+(.*)$/);
171
+ if (taskMatch) {
172
+ const indent = taskMatch[1] ?? "";
173
+ const marker = taskMatch[2] ?? "-";
174
+ if (/^\d+[.)]$/.test(marker)) {
175
+ const [, num, delimiter] = marker.match(/^(\d+)([.)])$/) ?? [];
176
+ const nextNumber = String(Number(num ?? "1") + 1);
177
+ return `${indent}${nextNumber}${delimiter} [ ] `;
178
+ }
179
+ return `${indent}${marker} [ ] `;
180
+ }
181
+ const bulletMatch = line.match(/^(\s*)([-*+])\s+(.*)$/);
182
+ if (bulletMatch) {
183
+ return `${bulletMatch[1] ?? ""}${bulletMatch[2] ?? "-"} `;
184
+ }
185
+ const orderedMatch = line.match(/^(\s*)(\d+)([.)])\s+(.*)$/);
186
+ if (orderedMatch) {
187
+ const indent = orderedMatch[1] ?? "";
188
+ const nextNumber = String(Number(orderedMatch[2] ?? "1") + 1);
189
+ const delimiter = orderedMatch[3] ?? ".";
190
+ return `${indent}${nextNumber}${delimiter} `;
191
+ }
192
+ return null;
193
+ }
194
+ export function isEmptyListItemLine(line) {
195
+ return (/^\s*[-*+](?:\s+)?$/.test(line) ||
196
+ /^\s*[-*+]\s+\[[ xX]\]\s*$/.test(line) ||
197
+ /^\s*\d+[.)](?:\s+)?$/.test(line) ||
198
+ /^\s*\d+[.)]\s+\[[ xX]\]\s*$/.test(line));
199
+ }
200
+ export function insertListContinuation(value, selection) {
201
+ const normalized = normalizeSelection(selection, value.length);
202
+ const { lineStart, lineEnd, line } = getCurrentLineRange(value, normalized.end);
203
+ const prefix = getListContinuationPrefix(line);
204
+ if (!prefix) {
205
+ return replaceSelection(value, normalized, "\n");
206
+ }
207
+ if (isEmptyListItemLine(line)) {
208
+ const indent = line.match(/^(\s*)/)?.[1] ?? "";
209
+ const nextValue = `${value.slice(0, lineStart)}${indent}${value.slice(lineEnd)}`;
210
+ const nextOffset = lineStart + indent.length;
211
+ return {
212
+ value: nextValue,
213
+ selection: createSelection(nextOffset, nextOffset),
214
+ changed: nextValue !== value,
215
+ };
216
+ }
217
+ return replaceSelection(value, normalized, `\n${prefix}`);
218
+ }
219
+ function isSelectionWrappedBy(value, selection, prefix, suffix = prefix) {
220
+ const normalized = normalizeSelection(selection, value.length);
221
+ if (normalized.start === normalized.end) {
222
+ return false;
223
+ }
224
+ const before = value.slice(Math.max(0, normalized.start - prefix.length), normalized.start);
225
+ const after = value.slice(normalized.end, normalized.end + suffix.length);
226
+ return before === prefix && after === suffix;
227
+ }
228
+ function isCursorWithinWrapped(value, offset, prefix, suffix = prefix) {
229
+ const safeOffset = Math.max(0, Math.min(value.length, offset));
230
+ const prefixIndex = value.lastIndexOf(prefix, safeOffset);
231
+ if (prefixIndex === -1)
232
+ return false;
233
+ const suffixIndex = value.indexOf(suffix, prefixIndex + prefix.length);
234
+ if (suffixIndex === -1)
235
+ return false;
236
+ return safeOffset >= prefixIndex + prefix.length && safeOffset <= suffixIndex;
237
+ }
238
+ export function computeSelectionFormatState(value, selection) {
239
+ const normalized = normalizeSelection(selection, value.length);
240
+ const currentLine = getCurrentLineRange(value, normalized.start).line;
241
+ const bold = normalized.start === normalized.end
242
+ ? isCursorWithinWrapped(value, normalized.start, "**")
243
+ : isSelectionWrappedBy(value, normalized, "**");
244
+ const italic = normalized.start === normalized.end
245
+ ? isCursorWithinWrapped(value, normalized.start, "_")
246
+ : isSelectionWrappedBy(value, normalized, "_");
247
+ const strikethrough = normalized.start === normalized.end
248
+ ? isCursorWithinWrapped(value, normalized.start, "~~")
249
+ : isSelectionWrappedBy(value, normalized, "~~");
250
+ return {
251
+ bold,
252
+ italic,
253
+ strikethrough,
254
+ bulletList: isBulletListLine(currentLine),
255
+ taskList: isTaskListLine(currentLine),
256
+ };
257
+ }
78
258
  //# sourceMappingURL=transforms.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transforms.js","sourceRoot":"","sources":["../src/transforms.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transforms.js","sourceRoot":"","sources":["../src/transforms.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -19,7 +19,7 @@ export interface MarkdownEditorHistoryState {
19
19
  readonly future: readonly MarkdownEditorSnapshot[];
20
20
  readonly limit: number;
21
21
  }
22
- export type MarkdownEditorBuiltinCommandId = "bold" | "italic" | "strikethrough" | "indent" | "outdent" | "undo" | "redo" | "insert-tab";
22
+ export type MarkdownEditorBuiltinCommandId = "bold" | "italic" | "strikethrough" | "bullet-list" | "task-list" | "front-matter" | "footnote" | "inline-math" | "block-math" | "superscript" | "subscript" | "citation" | "indent" | "outdent" | "undo" | "redo" | "insert-tab";
23
23
  export interface MarkdownEditorCommandOptions {
24
24
  readonly indentUnit?: string;
25
25
  }
@@ -28,6 +28,13 @@ export interface MarkdownEditorEditResult {
28
28
  readonly selection: MarkdownEditorSelection;
29
29
  readonly changed: boolean;
30
30
  }
31
+ export interface MarkdownEditorSelectionFormatState {
32
+ readonly bold: boolean;
33
+ readonly italic: boolean;
34
+ readonly strikethrough: boolean;
35
+ readonly bulletList: boolean;
36
+ readonly taskList: boolean;
37
+ }
31
38
  export interface MarkdownEditorHistoryStatus {
32
39
  readonly canUndo: boolean;
33
40
  readonly canRedo: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gCAAgC,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;AAE/E,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,CAAC,EAAE,gCAAgC,CAAC;CACvD;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAC;CAC7C;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,IAAI,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACjD,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,8BAA8B,GACtC,MAAM,GACN,QAAQ,GACR,eAAe,GACf,QAAQ,GACR,SAAS,GACT,MAAM,GACN,MAAM,GACN,YAAY,CAAC;AAEjB,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,yBAAyB;IACxC,WAAW,IAAI,sBAAsB,CAAC;IACtC,YAAY,IAAI,uBAAuB,CAAC;IACxC,YAAY,CAAC,SAAS,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACvD,SAAS,CAAC,MAAM,EAAE,wBAAwB,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACpF,cAAc,CACZ,OAAO,EAAE,8BAA8B,EACvC,OAAO,CAAC,EAAE,4BAA4B,GACrC,sBAAsB,CAAC;IAC1B,IAAI,IAAI,IAAI,CAAC;IACb,IAAI,IAAI,IAAI,CAAC;IACb,KAAK,IAAI,IAAI,CAAC;CACf"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gCAAgC,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;AAE/E,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,CAAC,EAAE,gCAAgC,CAAC;CACvD;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAC;CAC7C;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,IAAI,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACjD,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,8BAA8B,GACtC,MAAM,GACN,QAAQ,GACR,eAAe,GACf,aAAa,GACb,WAAW,GACX,cAAc,GACd,UAAU,GACV,aAAa,GACb,YAAY,GACZ,aAAa,GACb,WAAW,GACX,UAAU,GACV,QAAQ,GACR,SAAS,GACT,MAAM,GACN,MAAM,GACN,YAAY,CAAC;AAEjB,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,yBAAyB;IACxC,WAAW,IAAI,sBAAsB,CAAC;IACtC,YAAY,IAAI,uBAAuB,CAAC;IACxC,YAAY,CAAC,SAAS,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACvD,SAAS,CAAC,MAAM,EAAE,wBAAwB,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACpF,cAAc,CACZ,OAAO,EAAE,8BAA8B,EACvC,OAAO,CAAC,EAAE,4BAA4B,GACrC,sBAAsB,CAAC;IAC1B,IAAI,IAAI,IAAI,CAAC;IACb,IAAI,IAAI,IAAI,CAAC;IACb,KAAK,IAAI,IAAI,CAAC;CACf"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const MARKDOWN_EDITOR_CORE_VERSION = "1.0.1";
1
+ export declare const MARKDOWN_EDITOR_CORE_VERSION = "1.1.0-rc.1";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B,UAAU,CAAC"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B,eAAe,CAAC"}
package/dist/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const MARKDOWN_EDITOR_CORE_VERSION = "1.0.1";
1
+ export const MARKDOWN_EDITOR_CORE_VERSION = "1.1.0-rc.1";
2
2
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,4BAA4B,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,4BAA4B,GAAG,YAAY,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mdwrk/markdown-editor-core",
3
- "version": "1.0.1",
3
+ "version": "1.1.0",
4
4
  "type": "module",
5
5
  "license": "Apache-2.0",
6
6
  "publishConfig": {
@@ -24,14 +24,14 @@
24
24
  "description": "Portable source-mode markdown editor state, selection transforms, command model, and undo/redo history for Markdown Workspace.",
25
25
  "dependencies": {},
26
26
  "devDependencies": {
27
- "@mdwrk/markdown-renderer-core": "^1.0.0",
27
+ "@mdwrk/markdown-renderer-core": "^1.1.0",
28
28
  "vitest": "^2.1.8"
29
29
  },
30
30
  "scripts": {
31
31
  "build": "tsc -p tsconfig.json",
32
32
  "typecheck": "tsc --noEmit -p tsconfig.json",
33
33
  "lint": "npm run typecheck",
34
- "test": "vitest run",
34
+ "test": "node ./tests/run-smoke.mjs",
35
35
  "prepack": "npm run build"
36
36
  },
37
37
  "exports": {