@lapismd/mira 0.1.0 → 0.1.2
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/CHANGELOG.md +29 -0
- package/dist/extensions/markdown-editing.d.ts +2 -0
- package/dist/extensions/markdown-editing.d.ts.map +1 -1
- package/dist/internal/codemirror/base/index.d.ts.map +1 -1
- package/dist/internal/codemirror/base/index.js +3 -0
- package/dist/internal/codemirror/rich/block-controls.js +3 -0
- package/dist/internal/codemirror/rich/index.js +3 -1
- package/dist/internal/codemirror/rich/utils/measured-indent.d.ts.map +1 -1
- package/dist/internal/codemirror/rich/utils/measured-indent.js +13 -1
- package/dist/mira.svelte +2 -0
- package/dist/mira.svelte.d.ts.map +1 -1
- package/dist/preview/components/frontmatter-property-text-input.svelte +13 -7
- package/dist/preview/components/frontmatter-property-text-input.svelte.d.ts.map +1 -1
- package/dist/preview/components/frontmatter.svelte +38 -3
- package/dist/preview/components/frontmatter.svelte.d.ts.map +1 -1
- package/dist/preview/editable-markdown-preview/editable-markdown-surface.svelte +15 -11
- package/dist/preview/editable-markdown-preview/editable-markdown-surface.svelte.d.ts.map +1 -1
- package/dist/preview/editable-markdown-preview/editing-session.d.ts.map +1 -1
- package/dist/preview/editable-markdown-preview/editing-session.js +1 -0
- package/dist/preview/editable-markdown-preview/serialized-writer.d.ts +1 -0
- package/dist/preview/editable-markdown-preview/serialized-writer.d.ts.map +1 -1
- package/dist/preview/editable-markdown-preview/serialized-writer.js +5 -2
- package/dist/preview/frontmatter/controller.svelte.d.ts +3 -1
- package/dist/preview/frontmatter/controller.svelte.d.ts.map +1 -1
- package/dist/preview/frontmatter/controller.svelte.js +16 -5
- package/dist/preview/frontmatter/record-snapshot.d.ts +3 -0
- package/dist/preview/frontmatter/record-snapshot.d.ts.map +1 -0
- package/dist/preview/frontmatter/record-snapshot.js +39 -0
- package/dist/preview/frontmatter/types.d.ts +1 -1
- package/dist/preview/frontmatter/types.d.ts.map +1 -1
- package/dist/preview/markdown-preview.svelte +4 -3
- package/dist/preview/markdown-preview.svelte.d.ts.map +1 -1
- package/dist/preview/styles/source-mode.css +32 -3
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,34 @@
|
|
|
1
1
|
# @lapismd/mira
|
|
2
2
|
|
|
3
|
+
## 0.1.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#21](https://github.com/lapismd/mira-mde/pull/21) [`377bfc8`](https://github.com/lapismd/mira-mde/commit/377bfc805eac2961fd879f03e28e80273cb8702c) Thanks [@stevejuma](https://github.com/stevejuma)! - Expose immutable previous frontmatter records and retain focused text edits through external metadata refresh and deferred commits.
|
|
8
|
+
|
|
9
|
+
- [#21](https://github.com/lapismd/mira-mde/pull/21) [`caa2452`](https://github.com/lapismd/mira-mde/commit/caa24527be436a706ef083c63e76694a180044b7) Thanks [@stevejuma](https://github.com/stevejuma)! - Expose an optional synchronous Markdown input lease that leaves persistence and recovery under the existing save barriers.
|
|
10
|
+
|
|
11
|
+
- [#21](https://github.com/lapismd/mira-mde/pull/21) [`9142fa4`](https://github.com/lapismd/mira-mde/commit/9142fa4ed786d63fc54a04654f3b2c5ef48bfe47) Thanks [@stevejuma](https://github.com/stevejuma)! - Retain preview source sessions when adapter admission or diagnostic callbacks observe reactive state.
|
|
12
|
+
|
|
13
|
+
- [#21](https://github.com/lapismd/mira-mde/pull/21) [`a7ab556`](https://github.com/lapismd/mira-mde/commit/a7ab556fc55e612210097a060d1b96917fbb2ed3) Thanks [@stevejuma](https://github.com/stevejuma)! - Align the portable overlay runtime with released Bits UI 2.20.2 while preserving
|
|
14
|
+
the existing public editor and preview contracts.
|
|
15
|
+
|
|
16
|
+
## 0.1.1
|
|
17
|
+
|
|
18
|
+
### Patch Changes
|
|
19
|
+
|
|
20
|
+
- [#18](https://github.com/lapismd/mira-mde/pull/18) [`bbbf943`](https://github.com/lapismd/mira-mde/commit/bbbf943ce79148d07ba5cf2b06252b7401488510) Thanks [@stevejuma](https://github.com/stevejuma)! - Keep block-toolbar actions on current document ranges after replacement and
|
|
21
|
+
align live-preview collapse controls without a fixed font offset.
|
|
22
|
+
|
|
23
|
+
- [#18](https://github.com/lapismd/mira-mde/pull/18) [`89be5a6`](https://github.com/lapismd/mira-mde/commit/89be5a696f5e3d7b401b089eb0ac064ec5449492) Thanks [@stevejuma](https://github.com/stevejuma)! - Expose the existing editor line-number option on Mira so embedded composers can disable the extension without CSS overrides.
|
|
24
|
+
|
|
25
|
+
- [#18](https://github.com/lapismd/mira-mde/pull/18) [`1f65315`](https://github.com/lapismd/mira-mde/commit/1f65315f7d77b799d4fd1e8fc564eb9f06386065) Thanks [@stevejuma](https://github.com/stevejuma)! - Align live-preview list and checkbox indentation with reading mode, keep wrapped task text aligned beneath its label, and preserve asterisk bullets during inline formatting.
|
|
26
|
+
|
|
27
|
+
- [#18](https://github.com/lapismd/mira-mde/pull/18) [`fef951d`](https://github.com/lapismd/mira-mde/commit/fef951d8f78989c174a18e188a814e1443a5c1bb) Thanks [@stevejuma](https://github.com/stevejuma)! - Render path, wiki and embed leaf nodes when an extension preserves an explicitly
|
|
28
|
+
undefined optional children field, avoiding a crash in forwarded chat context.
|
|
29
|
+
|
|
30
|
+
- [#18](https://github.com/lapismd/mira-mde/pull/18) [`bce7ba8`](https://github.com/lapismd/mira-mde/commit/bce7ba8ed344824f577d5a0917ac66b9f65ec50f) Thanks [@stevejuma](https://github.com/stevejuma)! - Preserve checked and custom task-checkbox artwork in safe Markdown previews by retaining parser-produced task metadata through sanitization.
|
|
31
|
+
|
|
3
32
|
## 0.1.0
|
|
4
33
|
|
|
5
34
|
### Minor Changes
|
|
@@ -20,6 +20,8 @@ export type MiraMarkdownTextSession = {
|
|
|
20
20
|
/** A portable persistence barrier owned by one source-bound Markdown writer. */
|
|
21
21
|
export type MiraMarkdownEditingSession = {
|
|
22
22
|
readonly dirty: boolean;
|
|
23
|
+
/** Block new input synchronously without flushing or acknowledging text. */
|
|
24
|
+
hold?(): () => void;
|
|
23
25
|
flush(): Promise<void>;
|
|
24
26
|
protect(): Promise<() => void>;
|
|
25
27
|
readonly text?: MiraMarkdownTextSession;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-editing.d.ts","sourceRoot":"","sources":["../../src/extensions/markdown-editing.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC;IAC3C,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC,CAAC;AAEH,sFAAsF;AACtF,MAAM,MAAM,yBAAyB,GAAG;IACtC,WAAW,IAAI,IAAI,CAAC;IACpB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,OAAO,IAAI,IAAI,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;IACtC,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IACxE,eAAe,IAAI,OAAO,CAAC,yBAAyB,CAAC,CAAC;CACvD,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,uBAAuB,CAAC;CACzC,CAAC;AAEF,+EAA+E;AAC/E,MAAM,MAAM,0BAA0B,GAAG;IACvC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,OAAO,IAAI,IAAI,CAAC;CACjB,CAAC"}
|
|
1
|
+
{"version":3,"file":"markdown-editing.d.ts","sourceRoot":"","sources":["../../src/extensions/markdown-editing.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC;IAC3C,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC,CAAC;AAEH,sFAAsF;AACtF,MAAM,MAAM,yBAAyB,GAAG;IACtC,WAAW,IAAI,IAAI,CAAC;IACpB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,OAAO,IAAI,IAAI,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;IACtC,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IACxE,eAAe,IAAI,OAAO,CAAC,yBAAyB,CAAC,CAAC;CACvD,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,4EAA4E;IAC5E,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC;IACpB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,uBAAuB,CAAC;CACzC,CAAC;AAEF,+EAA+E;AAC/E,MAAM,MAAM,0BAA0B,GAAG;IACvC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,OAAO,IAAI,IAAI,CAAC;CACjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/internal/codemirror/base/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAIf,MAAM,0BAA0B,CAAC;AAkBlC,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAmBhE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,kCAAkC,EAClC,4BAA4B,EAC5B,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,4BAA4B,EACjC,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,aAAa,GACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,yBAAyB,EACzB,MAAM,EACN,KAAK,gBAAgB,GACtB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,+BAA+B,EAC/B,kCAAkC,EAClC,6BAA6B,EAC7B,KAAK,4BAA4B,EACjC,KAAK,0BAA0B,EAC/B,KAAK,6BAA6B,GACnC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAA6B,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5E,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EACT,OAAO,CAAC,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,GACxD,KAAK,CAAC;IACV,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,oBAAoB,wCAuC/B,CAAC;AAEH,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/internal/codemirror/base/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAIf,MAAM,0BAA0B,CAAC;AAkBlC,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAmBhE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,kCAAkC,EAClC,4BAA4B,EAC5B,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,4BAA4B,EACjC,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,aAAa,GACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,yBAAyB,EACzB,MAAM,EACN,KAAK,gBAAgB,GACtB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,+BAA+B,EAC/B,kCAAkC,EAClC,6BAA6B,EAC7B,KAAK,4BAA4B,EACjC,KAAK,0BAA0B,EAC/B,KAAK,6BAA6B,GACnC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAA6B,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5E,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EACT,OAAO,CAAC,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,GACxD,KAAK,CAAC;IACV,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,oBAAoB,wCAuC/B,CAAC;AAEH,eAAO,MAAM,eAAe,WAuN1B,CAAC;AAgOH,wBAAgB,4BAA4B,IAAI,SAAS,CAExD;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,GAAE,qBAA0B,GAClC,SAAS,EAAE,CAoEb"}
|
|
@@ -52,6 +52,9 @@ export const miraClassHighlighter = tagHighlighter([
|
|
|
52
52
|
]);
|
|
53
53
|
export const miraEditorTheme = EditorView.theme({
|
|
54
54
|
"&": {
|
|
55
|
+
// CodeMirror's panel/gutter z-indices are internal to this editor, so they
|
|
56
|
+
// cannot outrank a surrounding host's settings or other modal overlays.
|
|
57
|
+
isolation: "isolate",
|
|
55
58
|
height: "100%",
|
|
56
59
|
color: "var(--mira-foreground)",
|
|
57
60
|
backgroundColor: "var(--mira-editor-background)",
|
|
@@ -310,6 +310,9 @@ class BlockControlsPlugin {
|
|
|
310
310
|
}
|
|
311
311
|
update(update) {
|
|
312
312
|
if (update.docChanged) {
|
|
313
|
+
// Gutter buttons update synchronously; their IDs may be reused before
|
|
314
|
+
// the next geometry frame, so actions must already use current ranges.
|
|
315
|
+
this.handles = collectMarkdownBlockHandles(update.state);
|
|
313
316
|
this.closeMenu();
|
|
314
317
|
this.closeToolbarMenu();
|
|
315
318
|
this.scheduleRender();
|
|
@@ -421,7 +421,9 @@ function decorateInlineSyntax(view, ranges, hiddenRanges, activeSourceRanges) {
|
|
|
421
421
|
from: visibleRange.from,
|
|
422
422
|
to: visibleRange.to,
|
|
423
423
|
enter(node) {
|
|
424
|
-
|
|
424
|
+
// List markers belong to indentation chrome. In particular, `*` must
|
|
425
|
+
// not be collapsed by the fallback inline-formatting matcher.
|
|
426
|
+
if (node.name === "LinkReference" || node.name === "ListMark") {
|
|
425
427
|
activeSourceRanges.push({ from: node.from, to: node.to });
|
|
426
428
|
return false;
|
|
427
429
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"measured-indent.d.ts","sourceRoot":"","sources":["../../../../../src/internal/codemirror/rich/utils/measured-indent.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AASnD,KAAK,iBAAiB,GAAG;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC;AA4BF,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,WAAW,EACpB,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,GACnD,IAAI,CAqCN;
|
|
1
|
+
{"version":3,"file":"measured-indent.d.ts","sourceRoot":"","sources":["../../../../../src/internal/codemirror/rich/utils/measured-indent.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AASnD,KAAK,iBAAiB,GAAG;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC;AA4BF,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,WAAW,EACpB,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,GACnD,IAAI,CAqCN;AA4GD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAuB7E;AAwWD,wBAAgB,uBAAuB,IAAI,SAAS,CAKnD"}
|
|
@@ -70,6 +70,18 @@ function measureTextNodeWidth(node) {
|
|
|
70
70
|
return Number.isFinite(rect.width) && rect.width > 0 ? rect.width : null;
|
|
71
71
|
}
|
|
72
72
|
function measureMarkerWidth(line) {
|
|
73
|
+
const checkbox = line.querySelector(".task-list-label");
|
|
74
|
+
if (checkbox) {
|
|
75
|
+
// The checkbox replaces the list marker as well as its task delimiter.
|
|
76
|
+
// Include its margins and the surviving separator so wrapped rows hang
|
|
77
|
+
// under the task text, rather than under the checkbox.
|
|
78
|
+
const contentOffset = measureFirstContentOffset(line);
|
|
79
|
+
const checkboxOffset = checkbox.getBoundingClientRect().left - line.getBoundingClientRect().left;
|
|
80
|
+
const margin = Number.parseFloat(getComputedStyle(checkbox).marginInlineStart) || 0;
|
|
81
|
+
if (contentOffset !== null) {
|
|
82
|
+
return Math.max(0, contentOffset - checkboxOffset + margin);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
73
85
|
const marker = line.querySelector(".cm-formatting-list-ul, .cm-formatting-list-ol");
|
|
74
86
|
const width = marker?.getBoundingClientRect().width;
|
|
75
87
|
return width && Number.isFinite(width) && width > 0 ? width : 0;
|
|
@@ -150,7 +162,7 @@ function firstContentTextNode(line) {
|
|
|
150
162
|
if (!(node instanceof Text)) {
|
|
151
163
|
continue;
|
|
152
164
|
}
|
|
153
|
-
const skipped = node.parentElement?.closest(".cm-hmd-list-indent, .cm-plain-indent-widget, .cm-formatting-list-ul, .cm-formatting-list-ol, .cm-blockquote-border, .cm-formatting-quote");
|
|
165
|
+
const skipped = node.parentElement?.closest(".cm-hmd-list-indent, .cm-plain-indent-widget, .cm-formatting-list-ul, .cm-formatting-list-ol, .cm-blockquote-border, .cm-formatting-quote, .task-list-label");
|
|
154
166
|
if (skipped && skipped !== line) {
|
|
155
167
|
continue;
|
|
156
168
|
}
|
package/dist/mira.svelte
CHANGED
|
@@ -45,6 +45,7 @@
|
|
|
45
45
|
readonly = false,
|
|
46
46
|
placeholder = "Start writing Markdown...",
|
|
47
47
|
lineWrapping = true,
|
|
48
|
+
lineNumbers = true,
|
|
48
49
|
spellcheck = true,
|
|
49
50
|
blockControls = false,
|
|
50
51
|
indentGuides = true,
|
|
@@ -525,6 +526,7 @@
|
|
|
525
526
|
{readonly}
|
|
526
527
|
{placeholder}
|
|
527
528
|
{lineWrapping}
|
|
529
|
+
{lineNumbers}
|
|
528
530
|
{spellcheck}
|
|
529
531
|
{indentWithTabs}
|
|
530
532
|
{indentWidth}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mira.svelte.d.ts","sourceRoot":"","sources":["../src/mira.svelte.ts"],"names":[],"mappings":"AAKA,OAAO,EAIH,KAAK,oBAAoB,EAC1B,MAAM,oBAAoB,CAAC;AAC9B,OAAO,EAKH,KAAK,WAAW,EAEhB,KAAK,QAAQ,EACb,KAAK,qBAAqB,EAC3B,MAAM,0BAA0B,CAAC;AAMpC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"mira.svelte.d.ts","sourceRoot":"","sources":["../src/mira.svelte.ts"],"names":[],"mappings":"AAKA,OAAO,EAIH,KAAK,oBAAoB,EAC1B,MAAM,oBAAoB,CAAC;AAC9B,OAAO,EAKH,KAAK,WAAW,EAEhB,KAAK,QAAQ,EACb,KAAK,qBAAqB,EAC3B,MAAM,0BAA0B,CAAC;AAMpC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AA4ezC,QAAA,MAAM,IAAI;iBAvSW,IAAI;uBAIE,MAAM;4BAIC,MAAM,KAAG,IAAI;mBAKxB,QAAQ;uBAIJ,SAAS,WAAW,EAAE;kCAIT,MAAM,KAAG,OAAO;gCAQlB,MAAM,KAAG,OAAO;wBAQxB,QAAQ,KAAG,IAAI;gCAIP,OAAO,KAAG,IAAI;wBAIxB,UAAU,CAClC,oBAAoB,CAAC,cAAc,CAAC,CACrC;8BAKY,WAAW,CAAC,UAAU,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,CAAC,KACvE,IAAI;+BAKK,MAAM,cACJ,qBAAqB,KAChC,IAAI;kCAK+B,oBAAoB,KAAG,OAAO;uBAQ3C,IAAI;oBA8NmB,CAAC;AACnD,KAAK,IAAI,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;AACpC,eAAe,IAAI,CAAC"}
|
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
let suggestionVersion = 0;
|
|
32
32
|
let suggestions = $state<string[]>([]);
|
|
33
33
|
let committedSuggestion: string | null = null;
|
|
34
|
+
let editCommit: Props["onCommit"] | undefined;
|
|
34
35
|
|
|
35
36
|
const filteredSuggestions = $derived(
|
|
36
37
|
filterFrontmatterValueSuggestions(suggestions, query),
|
|
@@ -88,7 +89,9 @@
|
|
|
88
89
|
}
|
|
89
90
|
committedSuggestion = suggestion;
|
|
90
91
|
open = false;
|
|
91
|
-
onCommit
|
|
92
|
+
const commit = editCommit ?? onCommit;
|
|
93
|
+
editCommit = undefined;
|
|
94
|
+
commit(suggestion);
|
|
92
95
|
}
|
|
93
96
|
|
|
94
97
|
function handleBlur(event: FocusEvent): void {
|
|
@@ -96,16 +99,19 @@
|
|
|
96
99
|
if (nextFocus?.dataset.propertyValueSuggestion === "true") {
|
|
97
100
|
return;
|
|
98
101
|
}
|
|
102
|
+
const nextValue = currentValue();
|
|
103
|
+
const commit = editCommit ?? onCommit;
|
|
104
|
+
const alreadyCommitted = nextValue === committedSuggestion;
|
|
99
105
|
queueMicrotask(() => {
|
|
100
106
|
if (editorEl?.ownerDocument.activeElement !== editorEl) {
|
|
101
107
|
open = false;
|
|
102
|
-
|
|
103
|
-
if (
|
|
108
|
+
editCommit = undefined;
|
|
109
|
+
if (alreadyCommitted) {
|
|
104
110
|
committedSuggestion = null;
|
|
105
111
|
return;
|
|
106
112
|
}
|
|
107
113
|
committedSuggestion = null;
|
|
108
|
-
|
|
114
|
+
commit(nextValue);
|
|
109
115
|
}
|
|
110
116
|
});
|
|
111
117
|
}
|
|
@@ -179,12 +185,14 @@
|
|
|
179
185
|
void loadSuggestions(query);
|
|
180
186
|
}}
|
|
181
187
|
onfocus={() => {
|
|
188
|
+
editCommit = onCommit;
|
|
182
189
|
query = currentValue();
|
|
183
190
|
open = true;
|
|
184
191
|
activeIndex = -1;
|
|
185
192
|
void loadSuggestions(query);
|
|
186
193
|
}}
|
|
187
194
|
oninput={() => {
|
|
195
|
+
editCommit ??= onCommit;
|
|
188
196
|
committedSuggestion = null;
|
|
189
197
|
query = currentValue();
|
|
190
198
|
open = true;
|
|
@@ -193,9 +201,7 @@
|
|
|
193
201
|
}}
|
|
194
202
|
onblur={handleBlur}
|
|
195
203
|
onkeydown={handleKeydown}
|
|
196
|
-
>
|
|
197
|
-
{value}
|
|
198
|
-
</div>
|
|
204
|
+
></div>
|
|
199
205
|
{/snippet}
|
|
200
206
|
</Popover.Trigger>
|
|
201
207
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontmatter-property-text-input.svelte.d.ts","sourceRoot":"","sources":["../../../src/preview/components/frontmatter-property-text-input.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,EAGH,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAC;AAI7B,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,CAAC;
|
|
1
|
+
{"version":3,"file":"frontmatter-property-text-input.svelte.d.ts","sourceRoot":"","sources":["../../../src/preview/components/frontmatter-property-text-input.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,EAGH,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAC;AAI7B,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,CAAC;AA8LJ,QAAA,MAAM,4BAA4B,2CAAwC,CAAC;AAC3E,KAAK,4BAA4B,GAAG,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC;AACpF,eAAe,4BAA4B,CAAC"}
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
import Link from "./link.svelte";
|
|
20
20
|
import FrontmatterPropertyNameInput from "./frontmatter-property-name-input.svelte";
|
|
21
21
|
import FrontmatterPropertyTextInput from "./frontmatter-property-text-input.svelte";
|
|
22
|
+
import { snapshotFrontmatterRecord } from "../frontmatter/record-snapshot";
|
|
22
23
|
import FrontmatterPropertyValueInput from "./frontmatter-property-value-input.svelte";
|
|
23
24
|
import * as DropdownMenu from "../../ui/dropdown-menu/index.js";
|
|
24
25
|
import type { MiraFileAdapter } from "@lapismd/mira/extensions";
|
|
@@ -122,12 +123,20 @@
|
|
|
122
123
|
});
|
|
123
124
|
|
|
124
125
|
const parseError = $derived(controller.parseError);
|
|
126
|
+
const renderedTextCommits = new WeakMap<
|
|
127
|
+
FrontmatterProperty,
|
|
128
|
+
(value: string) => void
|
|
129
|
+
>();
|
|
125
130
|
const rows = $derived.by(() => {
|
|
126
131
|
controller.revision;
|
|
127
132
|
if (controller.parseError) {
|
|
128
133
|
return [] as FrontmatterProperty[];
|
|
129
134
|
}
|
|
130
|
-
|
|
135
|
+
const owner = controller;
|
|
136
|
+
const previousRecord = snapshotFrontmatterRecord(owner.getRecord());
|
|
137
|
+
const properties = manager.properties(previousRecord);
|
|
138
|
+
bindRenderedTextCommits(properties, owner, previousRecord);
|
|
139
|
+
return properties;
|
|
131
140
|
});
|
|
132
141
|
const typeOptions = $derived.by(() => {
|
|
133
142
|
controller.revision;
|
|
@@ -154,6 +163,32 @@
|
|
|
154
163
|
controller.updateProperty(property.path, nextValue);
|
|
155
164
|
}
|
|
156
165
|
|
|
166
|
+
function bindRenderedTextCommits(
|
|
167
|
+
properties: FrontmatterProperty[],
|
|
168
|
+
owner: FrontmatterController,
|
|
169
|
+
previousRecord: Readonly<Record<string, unknown>>,
|
|
170
|
+
): void {
|
|
171
|
+
const sourcePath = owner.sourcePath;
|
|
172
|
+
const onActionError = manager.config.onActionError;
|
|
173
|
+
for (const property of properties) {
|
|
174
|
+
const path = [...property.path];
|
|
175
|
+
renderedTextCommits.set(property, (value) => {
|
|
176
|
+
if (owner.sourcePath !== sourcePath) {
|
|
177
|
+
onActionError?.(new Error("Frontmatter edit target changed"), "edit");
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
owner.updateProperty(path, value, previousRecord);
|
|
181
|
+
});
|
|
182
|
+
bindRenderedTextCommits(property.children, owner, previousRecord);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
function renderedTextCommit(property: FrontmatterProperty) {
|
|
187
|
+
const commit = renderedTextCommits.get(property);
|
|
188
|
+
if (!commit) throw new Error("Rendered frontmatter edit is unavailable");
|
|
189
|
+
return commit;
|
|
190
|
+
}
|
|
191
|
+
|
|
157
192
|
function addProperty(): void {
|
|
158
193
|
const nextName = controller.addProperty("text");
|
|
159
194
|
if (nextName) {
|
|
@@ -319,7 +354,7 @@
|
|
|
319
354
|
|
|
320
355
|
function handleActionError(
|
|
321
356
|
error: unknown,
|
|
322
|
-
action: "copy" | "cut" | "paste" | "remove",
|
|
357
|
+
action: "copy" | "cut" | "paste" | "remove" | "edit",
|
|
323
358
|
): void {
|
|
324
359
|
config.onActionError?.(error, action);
|
|
325
360
|
}
|
|
@@ -646,7 +681,7 @@
|
|
|
646
681
|
{config}
|
|
647
682
|
ariaLabel={`${property.pathString} value`}
|
|
648
683
|
class={`metadata-input metadata-input-longtext metadata-property-value-item min-w-0 grow bg-transparent px-2 py-1 outline-none ${valueClass(property.kind)}`}
|
|
649
|
-
onCommit={(
|
|
684
|
+
onCommit={renderedTextCommit(property)}
|
|
650
685
|
/>
|
|
651
686
|
{:else if toBuiltinFrontmatterKind(property.kind) === "number"}
|
|
652
687
|
<input
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontmatter.svelte.d.ts","sourceRoot":"","sources":["../../../src/preview/components/frontmatter.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,EASH,qBAAqB,EAIrB,KAAK,0BAA0B,EAChC,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"frontmatter.svelte.d.ts","sourceRoot":"","sources":["../../../src/preview/components/frontmatter.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,EASH,qBAAqB,EAIrB,KAAK,0BAA0B,EAChC,MAAM,qBAAqB,CAAC;AAS/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAO9D,KAAK,KAAK,GAAG;IACX,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,eAAe,CAAC,EAAE,0BAA0B,CAAC;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,GAAG,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACrC,CAAC;AAmrBJ,QAAA,MAAM,WAAW,8CAAwC,CAAC;AAC1D,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAClD,eAAe,WAAW,CAAC"}
|
|
@@ -146,17 +146,21 @@
|
|
|
146
146
|
},
|
|
147
147
|
});
|
|
148
148
|
writer = activeWriter;
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
:
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
:
|
|
158
|
-
|
|
159
|
-
|
|
149
|
+
// Adapter observations must not become dependencies of this source lifetime.
|
|
150
|
+
const attached = untrack(() =>
|
|
151
|
+
attachMarkdownEditingSession({
|
|
152
|
+
writer: activeWriter,
|
|
153
|
+
sourcePath: key,
|
|
154
|
+
register: adapter?.registerEditingSession
|
|
155
|
+
? (path, session) => adapter.registerEditingSession?.(path, session)
|
|
156
|
+
: undefined,
|
|
157
|
+
bind: adapter?.bindMarkdownEditingSession
|
|
158
|
+
? (path, session) =>
|
|
159
|
+
adapter.bindMarkdownEditingSession!(path, session)
|
|
160
|
+
: undefined,
|
|
161
|
+
synchronizeProtection: tick,
|
|
162
|
+
}),
|
|
163
|
+
);
|
|
160
164
|
persist = attached.write ?? write;
|
|
161
165
|
|
|
162
166
|
return () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editable-markdown-surface.svelte.d.ts","sourceRoot":"","sources":["../../../src/preview/editable-markdown-preview/editable-markdown-surface.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiB,KAAK,OAAO,EAAE,MAAM,QAAQ,CAAC;AACrD,OAAO,KAAK,EACR,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,2BAA2B,EAC5B,MAAM,0BAA0B,CAAC;AAclC,KAAK,mBAAmB,GAAG,CACzB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,KACP,IAAI,CAAC;AAEV,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3B,eAAe,CAAC,EAAE,mBAAmB,CAAC;IACtC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,SAAS,CAAC,EAAE,2BAA2B,CAAC;IACxC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACrE,CAAC;
|
|
1
|
+
{"version":3,"file":"editable-markdown-surface.svelte.d.ts","sourceRoot":"","sources":["../../../src/preview/editable-markdown-preview/editable-markdown-surface.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiB,KAAK,OAAO,EAAE,MAAM,QAAQ,CAAC;AACrD,OAAO,KAAK,EACR,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,2BAA2B,EAC5B,MAAM,0BAA0B,CAAC;AAclC,KAAK,mBAAmB,GAAG,CACzB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,KACP,IAAI,CAAC;AAEV,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3B,eAAe,CAAC,EAAE,mBAAmB,CAAC;IACtC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,SAAS,CAAC,EAAE,2BAA2B,CAAC;IACxC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACrE,CAAC;AAyUJ,QAAA,MAAM,uBAAuB;iBA1CF,OAAO,CAAC,OAAO,CAAC;gBAIjB,OAAO,CAAC,OAAO,CAAC;iCAsC2B,CAAC;AACtE,KAAK,uBAAuB,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC1E,eAAe,uBAAuB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editing-session.d.ts","sourceRoot":"","sources":["../../../src/preview/editable-markdown-preview/editing-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,0BAA0B,EAC3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAEpE,+FAA+F;AAC/F,wBAAgB,4BAA4B,CAAC,OAAO,EAAE;IACpD,MAAM,EAAE,wBAAwB,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,eAAe,CAAC,wBAAwB,CAAC,CAAC;IACrD,IAAI,CAAC,EAAE,eAAe,CAAC,4BAA4B,CAAC,CAAC;IACrD,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C,GAAG;IACF,OAAO,EAAE,0BAA0B,CAAC;IACpC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,IAAI,IAAI,CAAC;CAChB,
|
|
1
|
+
{"version":3,"file":"editing-session.d.ts","sourceRoot":"","sources":["../../../src/preview/editable-markdown-preview/editing-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,0BAA0B,EAC3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAEpE,+FAA+F;AAC/F,wBAAgB,4BAA4B,CAAC,OAAO,EAAE;IACpD,MAAM,EAAE,wBAAwB,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,eAAe,CAAC,wBAAwB,CAAC,CAAC;IACrD,IAAI,CAAC,EAAE,eAAe,CAAC,4BAA4B,CAAC,CAAC;IACrD,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C,GAAG;IACF,OAAO,EAAE,0BAA0B,CAAC;IACpC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,IAAI,IAAI,CAAC;CAChB,CAkGA"}
|
|
@@ -25,6 +25,7 @@ export declare class SerializedMarkdownWriter {
|
|
|
25
25
|
update(value: string): boolean;
|
|
26
26
|
subscribe(listener: (state: SerializedMarkdownWriterState) => void): () => void;
|
|
27
27
|
protectRecovery(): Promise<MiraMarkdownRecoveryLease>;
|
|
28
|
+
hold(): () => void;
|
|
28
29
|
protect(): Promise<() => void>;
|
|
29
30
|
replaceExternal(value: string): boolean;
|
|
30
31
|
flush(): Promise<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialized-writer.d.ts","sourceRoot":"","sources":["../../../src/preview/editable-markdown-preview/serialized-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,EACtB,MAAM,mCAAmC,CAAC;AAC3C,MAAM,MAAM,6BAA6B,GAAG,qBAAqB,CAAC;AAElE,KAAK,OAAO,GAAG;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,6BAA6B,KAAK,IAAI,CAAC;CAChE,CAAC;AAEF,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;IAEzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAE/B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAA2B;IAE1D,OAAO,CAAC,KAAK,CAA8C;IAE3D,OAAO,CAAC,YAAY,CAAiC;IAErD,OAAO,CAAC,KAAK,CAAS;IAEtB,OAAO,CAAC,cAAc,CAAS;IAE/B,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAEtB;IAEJ,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,KAAK,CAAsB;gBAEvB,OAAO,EAAE,OAAO;IAS5B,IAAI,KAAK,IAAI,6BAA6B,CASzC;IAED,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAQ9B,SAAS,CACP,QAAQ,EAAE,CAAC,KAAK,EAAE,6BAA6B,KAAK,IAAI,GACvD,MAAM,IAAI;IAQP,eAAe,IAAI,OAAO,CAAC,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"serialized-writer.d.ts","sourceRoot":"","sources":["../../../src/preview/editable-markdown-preview/serialized-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,EACtB,MAAM,mCAAmC,CAAC;AAC3C,MAAM,MAAM,6BAA6B,GAAG,qBAAqB,CAAC;AAElE,KAAK,OAAO,GAAG;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,6BAA6B,KAAK,IAAI,CAAC;CAChE,CAAC;AAEF,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;IAEzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAE/B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAA2B;IAE1D,OAAO,CAAC,KAAK,CAA8C;IAE3D,OAAO,CAAC,YAAY,CAAiC;IAErD,OAAO,CAAC,KAAK,CAAS;IAEtB,OAAO,CAAC,cAAc,CAAS;IAE/B,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAEtB;IAEJ,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,KAAK,CAAsB;gBAEvB,OAAO,EAAE,OAAO;IAS5B,IAAI,KAAK,IAAI,6BAA6B,CASzC;IAED,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAQ9B,SAAS,CACP,QAAQ,EAAE,CAAC,KAAK,EAAE,6BAA6B,KAAK,IAAI,GACvD,MAAM,IAAI;IAQP,eAAe,IAAI,OAAO,CAAC,yBAAyB,CAAC;IA2C3D,IAAI,IAAI,MAAM,IAAI;IAYZ,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC;IAYpC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAiBjC,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;IA0B/B,OAAO,IAAI,IAAI;IASf,OAAO,CAAC,QAAQ;YAYF,WAAW;IA2BzB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,IAAI;CAIb"}
|
|
@@ -91,17 +91,20 @@ export class SerializedMarkdownWriter {
|
|
|
91
91
|
throw error;
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
|
-
|
|
94
|
+
hold() {
|
|
95
95
|
this.protections++;
|
|
96
96
|
this.emit();
|
|
97
97
|
let released = false;
|
|
98
|
-
|
|
98
|
+
return () => {
|
|
99
99
|
if (released)
|
|
100
100
|
return;
|
|
101
101
|
released = true;
|
|
102
102
|
this.protections--;
|
|
103
103
|
this.emit();
|
|
104
104
|
};
|
|
105
|
+
}
|
|
106
|
+
async protect() {
|
|
107
|
+
const release = this.hold();
|
|
105
108
|
try {
|
|
106
109
|
if (!(await this.flush()))
|
|
107
110
|
throw this.error ?? new Error("Unable to protect unsaved Markdown");
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { FrontmatterPathSegment, FrontmatterProperty, FrontmatterPropertyKind } from "./types";
|
|
2
2
|
import { type FrontmatterPropertyManager } from "./manager";
|
|
3
3
|
export type FrontmatterControllerCommit = {
|
|
4
|
+
readonly previousRecord: Readonly<Record<string, unknown>>;
|
|
4
5
|
record: Record<string, unknown>;
|
|
5
6
|
yaml: string;
|
|
6
7
|
replacement: string;
|
|
@@ -45,9 +46,10 @@ export declare class FrontmatterController {
|
|
|
45
46
|
syncRecord(nextRecord: Record<string, unknown>, options?: {
|
|
46
47
|
commit?: boolean;
|
|
47
48
|
}): void;
|
|
49
|
+
private replaceRecord;
|
|
48
50
|
commitYaml(nextYaml: string): void;
|
|
49
51
|
commitRecord(nextRecord: Record<string, unknown>): void;
|
|
50
|
-
updateProperty(path: FrontmatterPathSegment[], nextValue: unknown): void;
|
|
52
|
+
updateProperty(path: FrontmatterPathSegment[], nextValue: unknown, previousRecord?: Readonly<Record<string, unknown>>): void;
|
|
51
53
|
addProperty(kind?: FrontmatterPropertyKind): string | null;
|
|
52
54
|
renameProperty(path: FrontmatterPathSegment[], nextKey: string): void;
|
|
53
55
|
removeProperty(path: FrontmatterPathSegment[]): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.svelte.d.ts","sourceRoot":"","sources":["../../../src/preview/frontmatter/controller.svelte.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"controller.svelte.d.ts","sourceRoot":"","sources":["../../../src/preview/frontmatter/controller.svelte.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { parseFrontmatterYaml } from "./parse";
|
|
2
|
+
import { snapshotFrontmatterRecord } from "./record-snapshot";
|
|
2
3
|
import { addFrontmatterRecordProperty, mergeFrontmatterRecordProperties, removeFrontmatterRecordProperty, renameFrontmatterRecordProperty, updateFrontmatterRecord, } from "./properties";
|
|
3
4
|
import { createFrontmatterReplacement, serializeFrontmatterRecord, } from "./serialize";
|
|
4
5
|
import { createFrontmatterPropertyManager, } from "./manager";
|
|
@@ -72,6 +73,9 @@ export class FrontmatterController {
|
|
|
72
73
|
if (!options.commit && nextYaml === this.yaml && this.revision > 0) {
|
|
73
74
|
return;
|
|
74
75
|
}
|
|
76
|
+
const previousRecord = options.commit
|
|
77
|
+
? snapshotFrontmatterRecord(this.record)
|
|
78
|
+
: undefined;
|
|
75
79
|
const parsed = parseFrontmatterYaml(nextYaml);
|
|
76
80
|
this.yaml = nextYaml;
|
|
77
81
|
if (parsed.ok) {
|
|
@@ -84,20 +88,26 @@ export class FrontmatterController {
|
|
|
84
88
|
}
|
|
85
89
|
this.revision += 1;
|
|
86
90
|
if (options.commit) {
|
|
87
|
-
void this.commitCurrent();
|
|
91
|
+
void this.commitCurrent(previousRecord);
|
|
88
92
|
}
|
|
89
93
|
}
|
|
90
94
|
syncRecord(nextRecord, options = {}) {
|
|
95
|
+
this.replaceRecord(nextRecord, options);
|
|
96
|
+
}
|
|
97
|
+
replaceRecord(nextRecord, options, priorRecord = this.record) {
|
|
91
98
|
const nextYaml = serializeFrontmatterRecord(nextRecord);
|
|
92
99
|
if (!options.commit && nextYaml === this.yaml && this.revision > 0) {
|
|
93
100
|
return;
|
|
94
101
|
}
|
|
102
|
+
const previousRecord = options.commit
|
|
103
|
+
? snapshotFrontmatterRecord(priorRecord)
|
|
104
|
+
: undefined;
|
|
95
105
|
this.record = cloneRecord(nextRecord);
|
|
96
106
|
this.yaml = nextYaml;
|
|
97
107
|
this.parseError = null;
|
|
98
108
|
this.revision += 1;
|
|
99
109
|
if (options.commit) {
|
|
100
|
-
void this.commitCurrent();
|
|
110
|
+
void this.commitCurrent(previousRecord);
|
|
101
111
|
}
|
|
102
112
|
}
|
|
103
113
|
commitYaml(nextYaml) {
|
|
@@ -106,11 +116,11 @@ export class FrontmatterController {
|
|
|
106
116
|
commitRecord(nextRecord) {
|
|
107
117
|
this.syncRecord(nextRecord, { commit: true });
|
|
108
118
|
}
|
|
109
|
-
updateProperty(path, nextValue) {
|
|
119
|
+
updateProperty(path, nextValue, previousRecord = this.record) {
|
|
110
120
|
if (this.parseError) {
|
|
111
121
|
return;
|
|
112
122
|
}
|
|
113
|
-
this.
|
|
123
|
+
this.replaceRecord(updateFrontmatterRecord(previousRecord, path, nextValue), { commit: true }, previousRecord);
|
|
114
124
|
}
|
|
115
125
|
addProperty(kind = "text") {
|
|
116
126
|
if (this.parseError) {
|
|
@@ -149,7 +159,7 @@ export class FrontmatterController {
|
|
|
149
159
|
}
|
|
150
160
|
this.updateProperty(property.path, this.propertyManager.coerceValue(property.value, kind, property));
|
|
151
161
|
}
|
|
152
|
-
async commitCurrent() {
|
|
162
|
+
async commitCurrent(previousRecord) {
|
|
153
163
|
if (this.suppressCommit) {
|
|
154
164
|
return;
|
|
155
165
|
}
|
|
@@ -167,6 +177,7 @@ export class FrontmatterController {
|
|
|
167
177
|
? `${markdown.slice(0, from)}${replacement}${markdown.slice(to)}`
|
|
168
178
|
: undefined;
|
|
169
179
|
const commit = {
|
|
180
|
+
previousRecord,
|
|
170
181
|
record: cloneRecord(this.record),
|
|
171
182
|
yaml,
|
|
172
183
|
replacement,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record-snapshot.d.ts","sourceRoot":"","sources":["../../../src/preview/frontmatter/record-snapshot.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACxC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CASnC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/** Independent portable record authority for one rendered edit or commit. */
|
|
2
|
+
export function snapshotFrontmatterRecord(record) {
|
|
3
|
+
let snapshot;
|
|
4
|
+
try {
|
|
5
|
+
snapshot = JSON.parse(JSON.stringify(record));
|
|
6
|
+
}
|
|
7
|
+
catch {
|
|
8
|
+
snapshot = copyValue(record, new WeakMap());
|
|
9
|
+
}
|
|
10
|
+
freezeValue(snapshot, new WeakSet());
|
|
11
|
+
return snapshot;
|
|
12
|
+
}
|
|
13
|
+
function copyValue(value, seen) {
|
|
14
|
+
if (!value || typeof value !== "object")
|
|
15
|
+
return value;
|
|
16
|
+
if (value instanceof Date)
|
|
17
|
+
return value.toISOString();
|
|
18
|
+
const existing = seen.get(value);
|
|
19
|
+
if (existing)
|
|
20
|
+
return existing;
|
|
21
|
+
const copy = Array.isArray(value) ? [] : {};
|
|
22
|
+
seen.set(value, copy);
|
|
23
|
+
for (const [key, item] of Object.entries(value))
|
|
24
|
+
Object.defineProperty(copy, key, {
|
|
25
|
+
value: copyValue(item, seen),
|
|
26
|
+
enumerable: true,
|
|
27
|
+
writable: true,
|
|
28
|
+
configurable: true,
|
|
29
|
+
});
|
|
30
|
+
return copy;
|
|
31
|
+
}
|
|
32
|
+
function freezeValue(value, seen) {
|
|
33
|
+
if (!value || typeof value !== "object" || seen.has(value))
|
|
34
|
+
return;
|
|
35
|
+
seen.add(value);
|
|
36
|
+
for (const item of Object.values(value))
|
|
37
|
+
freezeValue(item, seen);
|
|
38
|
+
Object.freeze(value);
|
|
39
|
+
}
|
|
@@ -36,7 +36,7 @@ export type FrontmatterConfig = {
|
|
|
36
36
|
propertySuggestions?: FrontmatterPropertySuggestionSource;
|
|
37
37
|
valueSuggestions?: FrontmatterValueSuggestionSource;
|
|
38
38
|
clipboard?: FrontmatterClipboard;
|
|
39
|
-
onActionError?: (error: unknown, action: "copy" | "cut" | "paste" | "remove") => void;
|
|
39
|
+
onActionError?: (error: unknown, action: "copy" | "cut" | "paste" | "remove" | "edit") => void;
|
|
40
40
|
};
|
|
41
41
|
export type FrontmatterParseResult = {
|
|
42
42
|
ok: true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/preview/frontmatter/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,8BAA8B,GACtC,SAAS,GACT,MAAM,GACN,SAAS,GACT,WAAW,GACX,OAAO,GACP,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,UAAU,GACV,MAAM,GACN,UAAU,GACV,MAAM,CAAC;AAEX,MAAM,MAAM,uBAAuB,GAC/B,8BAA8B,GAC9B,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,MAAM,CAAC;AAErD,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,CACtC,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,wBAAwB,KAC9B,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;AAEzB,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,uBAAuB,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,8BAA8B,CAAC;IAC9C,YAAY,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,mBAAmB,KAAK,OAAO,CAAC;IACtE,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,mBAAmB,KAAK,OAAO,CAAC;IACxE,MAAM,CAAC,EAAE,yBAAyB,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,uBAAuB,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAC1C,MAAM,GACN,6BAA6B,CAAC;AAElC,MAAM,MAAM,mCAAmC,GAC3C,SAAS,kCAAkC,EAAE,GAC7C,CAAC,MACG,SAAS,kCAAkC,EAAE,GAC7C,OAAO,CAAC,SAAS,kCAAkC,EAAE,CAAC,CAAC,CAAC;AAEhE,MAAM,MAAM,gCAAgC,GAAG,CAC7C,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,KACV,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;AAEpD,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,GAAG,yBAAyB,CAAC,CAAC;IAC5E,UAAU,CAAC,EAAE,MAAM,CACjB,MAAM,EACN,uBAAuB,GAAG,yBAAyB,CACpD,CAAC;IACF,OAAO,CAAC,EAAE,yBAAyB,EAAE,CAAC;IACtC,mBAAmB,CAAC,EAAE,mCAAmC,CAAC;IAC1D,gBAAgB,CAAC,EAAE,gCAAgC,CAAC;IACpD,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,aAAa,CAAC,EAAE,CACd,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/preview/frontmatter/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -215,6 +215,7 @@
|
|
|
215
215
|
"data-sourcepos",
|
|
216
216
|
],
|
|
217
217
|
img: [...(defaultSchema.attributes?.img ?? []), "src", "alt", "title"],
|
|
218
|
+
li: [...(defaultSchema.attributes?.li ?? []), "dataTask"],
|
|
218
219
|
code: [
|
|
219
220
|
...(defaultSchema.attributes?.code ?? []).filter(
|
|
220
221
|
(attribute) =>
|
|
@@ -268,7 +269,7 @@
|
|
|
268
269
|
type: "element",
|
|
269
270
|
tagName: "wikilink",
|
|
270
271
|
properties: linkNodeProperties(node),
|
|
271
|
-
children: state.all(node),
|
|
272
|
+
children: Array.isArray(node.children) ? state.all(node) : [],
|
|
272
273
|
});
|
|
273
274
|
},
|
|
274
275
|
link(state: any, node: any) {
|
|
@@ -307,7 +308,7 @@
|
|
|
307
308
|
type: "element",
|
|
308
309
|
tagName: "pathlink",
|
|
309
310
|
properties: linkNodeProperties(node),
|
|
310
|
-
children: state.all(node),
|
|
311
|
+
children: Array.isArray(node.children) ? state.all(node) : [],
|
|
311
312
|
});
|
|
312
313
|
},
|
|
313
314
|
embed(state: any, node: any) {
|
|
@@ -315,7 +316,7 @@
|
|
|
315
316
|
type: "element",
|
|
316
317
|
tagName: "embed",
|
|
317
318
|
properties: linkNodeProperties(node),
|
|
318
|
-
children: state.all(node),
|
|
319
|
+
children: Array.isArray(node.children) ? state.all(node) : [],
|
|
319
320
|
});
|
|
320
321
|
},
|
|
321
322
|
} as any,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-preview.svelte.d.ts","sourceRoot":"","sources":["../../src/preview/markdown-preview.svelte.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACR,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,yBAAyB,EACzB,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AAqCpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAGtE,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,sBAAsB,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAChC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC;IACjC,WAAW,CAAC,EAAE,yBAAyB,CAAC;IACxC,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnE,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACrE,CAAC;
|
|
1
|
+
{"version":3,"file":"markdown-preview.svelte.d.ts","sourceRoot":"","sources":["../../src/preview/markdown-preview.svelte.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACR,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,yBAAyB,EACzB,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AAqCpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAGtE,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,sBAAsB,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAChC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC;IACjC,WAAW,CAAC,EAAE,yBAAyB,CAAC;IACxC,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnE,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACrE,CAAC;AAyaJ,QAAA,MAAM,eAAe,2CAAwC,CAAC;AAC9D,KAAK,eAAe,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAC1D,eAAe,eAAe,CAAC"}
|
|
@@ -10,6 +10,14 @@
|
|
|
10
10
|
);
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
+
:is(
|
|
14
|
+
.markdown-live-preview-mode .cm-editor,
|
|
15
|
+
.cm-editor.markdown-live-preview-mode
|
|
16
|
+
) {
|
|
17
|
+
/* Match the inset owned by reading-mode list items. */
|
|
18
|
+
--hmd-unordered-list-marker-slot-width: 3ch;
|
|
19
|
+
}
|
|
20
|
+
|
|
13
21
|
/* Keep authored pipe-table columns aligned without changing rendered tables. */
|
|
14
22
|
:is(
|
|
15
23
|
.markdown-source-mode .cm-editor.markdown-source-view,
|
|
@@ -142,6 +150,28 @@
|
|
|
142
150
|
);
|
|
143
151
|
}
|
|
144
152
|
|
|
153
|
+
:is(
|
|
154
|
+
.markdown-live-preview-mode .cm-editor,
|
|
155
|
+
.cm-editor.markdown-live-preview-mode
|
|
156
|
+
)
|
|
157
|
+
.cm-task-line:has(.task-list-label) {
|
|
158
|
+
padding-inline-start: calc(
|
|
159
|
+
var(
|
|
160
|
+
--hmd-indent-padding-measured,
|
|
161
|
+
var(--hmd-indent-padding-fallback, 0px)
|
|
162
|
+
) +
|
|
163
|
+
3ch
|
|
164
|
+
);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
:is(
|
|
168
|
+
.markdown-live-preview-mode .cm-editor,
|
|
169
|
+
.cm-editor.markdown-live-preview-mode
|
|
170
|
+
)
|
|
171
|
+
.task-list-label {
|
|
172
|
+
display: inline-flex;
|
|
173
|
+
}
|
|
174
|
+
|
|
145
175
|
:is(.markdown-editor-surface .cm-editor, .cm-editor.markdown-editor-surface)
|
|
146
176
|
.cm-line
|
|
147
177
|
> * {
|
|
@@ -492,11 +522,10 @@
|
|
|
492
522
|
}
|
|
493
523
|
|
|
494
524
|
.markdown-editor-surface .cm-line .cm-fold-indicator {
|
|
495
|
-
display: inline
|
|
525
|
+
display: inline;
|
|
496
526
|
opacity: 0;
|
|
497
527
|
overflow: visible;
|
|
498
528
|
position: relative;
|
|
499
|
-
vertical-align: middle;
|
|
500
529
|
width: 0;
|
|
501
530
|
}
|
|
502
531
|
|
|
@@ -522,7 +551,7 @@
|
|
|
522
551
|
padding-inline-end: 0;
|
|
523
552
|
position: absolute;
|
|
524
553
|
top: 50%;
|
|
525
|
-
transform: translateY(
|
|
554
|
+
transform: translateY(-50%);
|
|
526
555
|
width: 1rem;
|
|
527
556
|
}
|
|
528
557
|
|
package/dist/types.d.ts
CHANGED
|
@@ -10,6 +10,8 @@ export type MiraProps = {
|
|
|
10
10
|
readonly?: boolean;
|
|
11
11
|
placeholder?: string;
|
|
12
12
|
lineWrapping?: boolean;
|
|
13
|
+
/** Show editor line numbers; defaults to true. */
|
|
14
|
+
lineNumbers?: boolean;
|
|
13
15
|
spellcheck?: boolean;
|
|
14
16
|
blockControls?: boolean | MiraBlockControlsOptions;
|
|
15
17
|
indentGuides?: boolean;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lapismd/mira",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Composable Markdown editor, extension SDK, preview renderer, and UI for Mira.",
|
|
5
5
|
"author": "Steve Juma <help@lapis.md>",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
"@dnd-kit/svelte": "^0.4.0",
|
|
88
88
|
"@fontsource/source-code-pro": "^5.2.7",
|
|
89
89
|
"@lucide/svelte": "^0.525.0",
|
|
90
|
-
"bits-ui": "2.
|
|
90
|
+
"bits-ui": "2.20.2",
|
|
91
91
|
"clsx": "^2.1.1",
|
|
92
92
|
"hast-util-to-text": "^4.0.2",
|
|
93
93
|
"katex": "0.18.10",
|