@lapismd/mira 0.0.5 → 0.1.1

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 (121) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/dist/extensions/index.d.ts +12 -7
  3. package/dist/extensions/index.d.ts.map +1 -1
  4. package/dist/extensions/index.js +13 -3
  5. package/dist/extensions/inline-links.d.ts +8 -0
  6. package/dist/extensions/inline-links.d.ts.map +1 -0
  7. package/dist/extensions/inline-links.js +120 -0
  8. package/dist/extensions/markdown-editing.d.ts +32 -0
  9. package/dist/extensions/markdown-editing.d.ts.map +1 -0
  10. package/dist/extensions/markdown-editing.js +1 -0
  11. package/dist/internal/codemirror/base/index.d.ts.map +1 -1
  12. package/dist/internal/codemirror/base/index.js +3 -0
  13. package/dist/internal/codemirror/markdown/index.d.ts.map +1 -1
  14. package/dist/internal/codemirror/markdown/index.js +2 -1
  15. package/dist/internal/codemirror/rich/block-controls.d.ts.map +1 -1
  16. package/dist/internal/codemirror/rich/block-controls.js +5 -0
  17. package/dist/internal/codemirror/rich/block-gutter-accessibility.d.ts +15 -0
  18. package/dist/internal/codemirror/rich/block-gutter-accessibility.d.ts.map +1 -0
  19. package/dist/internal/codemirror/rich/block-gutter-accessibility.js +67 -0
  20. package/dist/internal/codemirror/rich/index.d.ts.map +1 -1
  21. package/dist/internal/codemirror/rich/index.js +45 -9
  22. package/dist/internal/codemirror/rich/utils/images.d.ts +6 -3
  23. package/dist/internal/codemirror/rich/utils/images.d.ts.map +1 -1
  24. package/dist/internal/codemirror/rich/utils/images.js +16 -29
  25. package/dist/internal/codemirror/rich/utils/measured-indent.d.ts.map +1 -1
  26. package/dist/internal/codemirror/rich/utils/measured-indent.js +13 -1
  27. package/dist/internal/codemirror/rich/utils/references.d.ts +15 -0
  28. package/dist/internal/codemirror/rich/utils/references.d.ts.map +1 -0
  29. package/dist/internal/codemirror/rich/utils/references.js +86 -0
  30. package/dist/internal/codemirror/rich/widgets/preview-widgets.d.ts +3 -0
  31. package/dist/internal/codemirror/rich/widgets/preview-widgets.d.ts.map +1 -1
  32. package/dist/internal/codemirror/rich/widgets/preview-widgets.js +31 -3
  33. package/dist/internal/inline-links/icons.d.ts +115 -0
  34. package/dist/internal/inline-links/icons.d.ts.map +1 -0
  35. package/dist/internal/inline-links/icons.js +148 -0
  36. package/dist/internal/inline-links/live-preview.d.ts +5 -0
  37. package/dist/internal/inline-links/live-preview.d.ts.map +1 -0
  38. package/dist/internal/inline-links/live-preview.js +135 -0
  39. package/dist/internal/inline-links/registry.d.ts +44 -0
  40. package/dist/internal/inline-links/registry.d.ts.map +1 -0
  41. package/dist/internal/inline-links/registry.js +153 -0
  42. package/dist/mira.svelte +2 -0
  43. package/dist/mira.svelte.d.ts +1 -1
  44. package/dist/mira.svelte.d.ts.map +1 -1
  45. package/dist/preview/asset-url-lease.d.ts +6 -0
  46. package/dist/preview/asset-url-lease.d.ts.map +1 -0
  47. package/dist/preview/asset-url-lease.js +28 -0
  48. package/dist/preview/components/embed.svelte +10 -5
  49. package/dist/preview/components/embed.svelte.d.ts.map +1 -1
  50. package/dist/preview/components/image.svelte +7 -2
  51. package/dist/preview/components/image.svelte.d.ts.map +1 -1
  52. package/dist/preview/components/inline-link.svelte +94 -0
  53. package/dist/preview/components/inline-link.svelte.d.ts +16 -0
  54. package/dist/preview/components/inline-link.svelte.d.ts.map +1 -0
  55. package/dist/preview/components/link-destination-tooltip.svelte +63 -0
  56. package/dist/preview/components/link-destination-tooltip.svelte.d.ts +7 -0
  57. package/dist/preview/components/link-destination-tooltip.svelte.d.ts.map +1 -0
  58. package/dist/preview/components/link-site-icon.svelte +39 -0
  59. package/dist/preview/components/link-site-icon.svelte.d.ts +10 -0
  60. package/dist/preview/components/link-site-icon.svelte.d.ts.map +1 -0
  61. package/dist/preview/components/link.svelte +19 -9
  62. package/dist/preview/components/link.svelte.d.ts.map +1 -1
  63. package/dist/preview/editable-markdown-preview/editable-markdown-surface.svelte +6 -1
  64. package/dist/preview/editable-markdown-preview/editable-markdown-surface.svelte.d.ts.map +1 -1
  65. package/dist/preview/editable-markdown-preview/editing-session.d.ts +2 -0
  66. package/dist/preview/editable-markdown-preview/editing-session.d.ts.map +1 -1
  67. package/dist/preview/editable-markdown-preview/editing-session.js +59 -6
  68. package/dist/preview/editable-markdown-preview/serialized-writer.d.ts +6 -8
  69. package/dist/preview/editable-markdown-preview/serialized-writer.d.ts.map +1 -1
  70. package/dist/preview/editable-markdown-preview/serialized-writer.js +76 -6
  71. package/dist/preview/index.d.ts +2 -0
  72. package/dist/preview/index.d.ts.map +1 -1
  73. package/dist/preview/index.js +2 -0
  74. package/dist/preview/markdown-preview.svelte +15 -3
  75. package/dist/preview/markdown-preview.svelte.d.ts.map +1 -1
  76. package/dist/preview/renderer/utils.js +0 -2
  77. package/dist/preview/styles/inline-links.css +38 -0
  78. package/dist/preview/styles/links-embeds-tags.css +2 -2
  79. package/dist/preview/styles/mermaid-highlight.css +4 -3
  80. package/dist/preview/styles/references.css +72 -0
  81. package/dist/preview/styles/source-mode.css +32 -3
  82. package/dist/preview/styles.css +2 -0
  83. package/dist/tables/editor-column.svelte +20 -7
  84. package/dist/tables/editor-column.svelte.d.ts +2 -0
  85. package/dist/tables/editor-column.svelte.d.ts.map +1 -1
  86. package/dist/tables/editor-table.svelte +4 -0
  87. package/dist/tables/editor-table.svelte.d.ts +2 -0
  88. package/dist/tables/editor-table.svelte.d.ts.map +1 -1
  89. package/dist/tables/grid-editor-column.svelte +6 -2
  90. package/dist/tables/grid-editor-column.svelte.d.ts +2 -0
  91. package/dist/tables/grid-editor-column.svelte.d.ts.map +1 -1
  92. package/dist/tables/grid-editor-table.svelte +4 -0
  93. package/dist/tables/grid-editor-table.svelte.d.ts +2 -0
  94. package/dist/tables/grid-editor-table.svelte.d.ts.map +1 -1
  95. package/dist/tables/index.d.ts +1 -0
  96. package/dist/tables/index.d.ts.map +1 -1
  97. package/dist/tables/index.js +1 -0
  98. package/dist/tables/markdown-table-data-cell.svelte +4 -0
  99. package/dist/tables/markdown-table-data-cell.svelte.d.ts +2 -0
  100. package/dist/tables/markdown-table-data-cell.svelte.d.ts.map +1 -1
  101. package/dist/tables/table-reader.svelte +101 -0
  102. package/dist/tables/table-reader.svelte.d.ts +21 -0
  103. package/dist/tables/table-reader.svelte.d.ts.map +1 -0
  104. package/dist/tables/types.d.ts +2 -0
  105. package/dist/tables/types.d.ts.map +1 -1
  106. package/dist/tables/widgets/grid-table-widget.d.ts +1 -1
  107. package/dist/tables/widgets/grid-table-widget.d.ts.map +1 -1
  108. package/dist/tables/widgets/grid-table-widget.js +5 -2
  109. package/dist/tables/widgets/lifecycle.d.ts +4 -0
  110. package/dist/tables/widgets/lifecycle.d.ts.map +1 -0
  111. package/dist/tables/widgets/lifecycle.js +13 -0
  112. package/dist/tables/widgets/pipe-table-widget.d.ts +1 -1
  113. package/dist/tables/widgets/pipe-table-widget.d.ts.map +1 -1
  114. package/dist/tables/widgets/pipe-table-widget.js +5 -2
  115. package/dist/types.d.ts +2 -0
  116. package/dist/types.d.ts.map +1 -1
  117. package/dist/ui/context-menu/context-menu-radio-group.svelte.d.ts +1 -1
  118. package/dist/ui/dropdown-menu/dropdown-menu-radio-group.svelte.d.ts +1 -1
  119. package/dist/ui/toolbar/toolbar-group.svelte.d.ts +1 -1
  120. package/inline-links-NOTICE.md +31 -0
  121. package/package.json +2 -1
@@ -1,4 +1,6 @@
1
1
  import MarkdownPreview from "./markdown-preview.svelte";
2
+ export { default as InlineLink } from "./components/inline-link.svelte";
3
+ export { default as LinkSiteIcon } from "./components/link-site-icon.svelte";
2
4
  import MarkdownOutline from "./markdown-outline.svelte";
3
5
  import Markdown from "./renderer/markdown.svelte";
4
6
  import FileEmbed from "./file-embed.svelte";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/preview/index.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,2BAA2B,CAAC;AACxD,OAAO,eAAe,MAAM,2BAA2B,CAAC;AACxD,OAAO,QAAQ,MAAM,4BAA4B,CAAC;AAClD,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAC5C,OAAO,aAAa,MAAM,yBAAyB,CAAC;AACpD,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAC1C,OAAO,iBAAiB,MAAM,iCAAiC,CAAC;AAChE,OAAO,uBAAuB,MAAM,oCAAoC,CAAC;AAEzE,OAAO,EACL,uBAAuB,EACvB,SAAS,EACT,iBAAiB,EACjB,QAAQ,EACR,aAAa,EACb,eAAe,EACf,eAAe,EACf,QAAQ,GACT,CAAC;AACF,YAAY,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACjE,cAAc,iBAAiB,CAAC;AAChC,mBAAmB,kBAAkB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,OAAO,EACL,qBAAqB,EACrB,gCAAgC,EAChC,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EACjC,KAAK,0BAA0B,EAC/B,KAAK,uCAAuC,EAC5C,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,GAC/B,MAAM,eAAe,CAAC;AACvB,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/preview/index.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,eAAe,MAAM,2BAA2B,CAAC;AACxD,OAAO,QAAQ,MAAM,4BAA4B,CAAC;AAClD,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAC5C,OAAO,aAAa,MAAM,yBAAyB,CAAC;AACpD,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAC1C,OAAO,iBAAiB,MAAM,iCAAiC,CAAC;AAChE,OAAO,uBAAuB,MAAM,oCAAoC,CAAC;AAEzE,OAAO,EACL,uBAAuB,EACvB,SAAS,EACT,iBAAiB,EACjB,QAAQ,EACR,aAAa,EACb,eAAe,EACf,eAAe,EACf,QAAQ,GACT,CAAC;AACF,YAAY,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACjE,cAAc,iBAAiB,CAAC;AAChC,mBAAmB,kBAAkB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,OAAO,EACL,qBAAqB,EACrB,gCAAgC,EAChC,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EACjC,KAAK,0BAA0B,EAC/B,KAAK,uCAAuC,EAC5C,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,GAC/B,MAAM,eAAe,CAAC;AACvB,eAAe,eAAe,CAAC"}
@@ -1,4 +1,6 @@
1
1
  import MarkdownPreview from "./markdown-preview.svelte";
2
+ export { default as InlineLink } from "./components/inline-link.svelte";
3
+ export { default as LinkSiteIcon } from "./components/link-site-icon.svelte";
2
4
  import MarkdownOutline from "./markdown-outline.svelte";
3
5
  import Markdown from "./renderer/markdown.svelte";
4
6
  import FileEmbed from "./file-embed.svelte";
@@ -215,6 +215,18 @@
215
215
  "data-sourcepos",
216
216
  ],
217
217
  img: [...(defaultSchema.attributes?.img ?? []), "src", "alt", "title"],
218
+ li: [...(defaultSchema.attributes?.li ?? []), "dataTask"],
219
+ code: [
220
+ ...(defaultSchema.attributes?.code ?? []).filter(
221
+ (attribute) =>
222
+ !Array.isArray(attribute) || attribute[0] !== "className",
223
+ ),
224
+ ["className", /^language-/, "hljs"],
225
+ ],
226
+ span: [
227
+ ...(defaultSchema.attributes?.span ?? []),
228
+ ["className", /^hljs-/, "code-line", "highlighted-code-line"],
229
+ ],
218
230
  a: [
219
231
  ...(defaultSchema.attributes?.a ?? []),
220
232
  "href",
@@ -257,7 +269,7 @@
257
269
  type: "element",
258
270
  tagName: "wikilink",
259
271
  properties: linkNodeProperties(node),
260
- children: state.all(node),
272
+ children: Array.isArray(node.children) ? state.all(node) : [],
261
273
  });
262
274
  },
263
275
  link(state: any, node: any) {
@@ -296,7 +308,7 @@
296
308
  type: "element",
297
309
  tagName: "pathlink",
298
310
  properties: linkNodeProperties(node),
299
- children: state.all(node),
311
+ children: Array.isArray(node.children) ? state.all(node) : [],
300
312
  });
301
313
  },
302
314
  embed(state: any, node: any) {
@@ -304,7 +316,7 @@
304
316
  type: "element",
305
317
  tagName: "embed",
306
318
  properties: linkNodeProperties(node),
307
- children: state.all(node),
319
+ children: Array.isArray(node.children) ? state.all(node) : [],
308
320
  });
309
321
  },
310
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;AA6ZJ,QAAA,MAAM,eAAe,2CAAwC,CAAC;AAC9D,KAAK,eAAe,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAC1D,eAAe,eAAe,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"}
@@ -114,7 +114,6 @@ const svgCamelCaseAttributes = new Set([
114
114
  "markerEnd",
115
115
  "markerMid",
116
116
  "markerStart",
117
- "preserveAspectRatio",
118
117
  "strokeDasharray",
119
118
  "strokeDashoffset",
120
119
  "strokeLinecap",
@@ -123,7 +122,6 @@ const svgCamelCaseAttributes = new Set([
123
122
  "strokeOpacity",
124
123
  "strokeWidth",
125
124
  "textAnchor",
126
- "viewBox",
127
125
  "xlinkHref",
128
126
  ]);
129
127
  const htmlCamelCaseAttributes = {
@@ -0,0 +1,38 @@
1
+ .mira-link-site-icon {
2
+ display: inline-block;
3
+ width: 0.95em;
4
+ height: 0.95em;
5
+ margin-inline-end: 0.25em;
6
+ vertical-align: -0.12em;
7
+ color: inherit;
8
+ }
9
+
10
+ .mira-inline-link,
11
+ .markdown-rendered a.mira-inline-link,
12
+ .markdown-preview-surface .markdown a.mira-inline-link {
13
+ color: var(
14
+ --markdown-link-external-color,
15
+ var(--mira-link, var(--mira-accent))
16
+ );
17
+ text-decoration: underline;
18
+ text-underline-offset: 0.2em;
19
+ overflow-wrap: anywhere;
20
+ background-image: none;
21
+ padding-inline-end: 0;
22
+ filter: none;
23
+ }
24
+
25
+ .mira-inline-link:hover,
26
+ .markdown-rendered a.mira-inline-link:hover {
27
+ color: var(--markdown-link-color-hover, var(--mira-link, var(--mira-accent)));
28
+ }
29
+
30
+ .mira-inline-link:focus-visible {
31
+ outline: 2px solid var(--mira-focus-ring);
32
+ outline-offset: 2px;
33
+ border-radius: 2px;
34
+ }
35
+
36
+ .mira-inline-link__destination {
37
+ overflow-wrap: anywhere;
38
+ }
@@ -31,7 +31,8 @@
31
31
  text-decoration-line: var(--markdown-link-external-decoration);
32
32
  }
33
33
 
34
- .markdown-live-preview-mode .cm-external-link .cm-link,
34
+ .markdown-live-preview-mode .cm-external-link .cm-link-text,
35
+ .markdown-live-preview-mode .cm-link-text > .cm-external-link > .cm-url,
35
36
  .markdown-live-preview-mode .cm-url.cm-external-link {
36
37
  background-image:
37
38
  linear-gradient(transparent, transparent),
@@ -43,7 +44,6 @@
43
44
  color: var(--markdown-link-external-color);
44
45
  filter: var(--markdown-link-external-filter);
45
46
  padding-inline-end: 0.9em;
46
- text-decoration-line: var(--markdown-link-external-decoration);
47
47
  }
48
48
 
49
49
  .mira-link-preview {
@@ -87,9 +87,10 @@
87
87
  color: var(--mira-syntax-keyword);
88
88
  }
89
89
 
90
- .markdown-preview-surface :is(.hljs-title, .hljs-title.function_),
91
- .markdown-rendered :is(.hljs-title, .hljs-title.function_),
92
- .markdown-widget-shell :is(.hljs-title, .hljs-title.function_) {
90
+ .markdown-preview-surface
91
+ :is(.hljs-title, .hljs-title.function_, .hljs-section),
92
+ .markdown-rendered :is(.hljs-title, .hljs-title.function_, .hljs-section),
93
+ .markdown-widget-shell :is(.hljs-title, .hljs-title.function_, .hljs-section) {
93
94
  color: var(--mira-syntax-heading);
94
95
  }
95
96
 
@@ -0,0 +1,72 @@
1
+ .mira-reference-definition.mira-reference--link {
2
+ display: flex;
3
+ align-items: baseline;
4
+ gap: 0.5em;
5
+ min-width: 0;
6
+ padding-block: 0.25em;
7
+ }
8
+
9
+ .mira-reference--link .mira-reference__label {
10
+ color: var(--mira-muted-foreground);
11
+ flex: none;
12
+ font-size: 0.75em;
13
+ font-weight: 650;
14
+ letter-spacing: 0.04em;
15
+ max-inline-size: 40%;
16
+ overflow: hidden;
17
+ text-overflow: ellipsis;
18
+ white-space: nowrap;
19
+ }
20
+
21
+ .mira-reference--link > p {
22
+ min-width: 0;
23
+ margin: 0;
24
+ overflow-wrap: anywhere;
25
+ }
26
+
27
+ .mira-reference--image {
28
+ position: relative;
29
+ display: inline-block;
30
+ box-sizing: border-box;
31
+ max-width: 100%;
32
+ border: 1px solid var(--mira-border);
33
+ border-radius: var(--mira-radius, 8px);
34
+ padding: 0.75rem;
35
+ background: var(--mira-background);
36
+ }
37
+
38
+ /* Give percentage-constrained SVGs a definite containing width in block frames. */
39
+ .mira-rich-widget--block.mira-reference--image .mira-markdown-image-root,
40
+ .mira-rich-widget--block.mira-reference--image .mira-markdown-image__trigger {
41
+ display: block;
42
+ }
43
+
44
+ .mira-rich-widget--block.mira-reference--image .mira-markdown-image__trigger {
45
+ width: 100%;
46
+ }
47
+
48
+ .mira-reference--image > .mira-reference__label {
49
+ position: absolute;
50
+ inset-block-start: 0;
51
+ inset-inline-end: 0;
52
+ z-index: 1;
53
+ border-end-start-radius: var(--mira-radius, 8px);
54
+ border-start-end-radius: calc(var(--mira-radius, 8px) - 1px);
55
+ background: var(--mira-accent);
56
+ color: var(--mira-accent-foreground);
57
+ font-size: 0.75em;
58
+ font-weight: 650;
59
+ letter-spacing: 0.04em;
60
+ padding: 0.35em 0.65em;
61
+ box-sizing: border-box;
62
+ max-inline-size: 75%;
63
+ overflow: hidden;
64
+ text-overflow: ellipsis;
65
+ white-space: nowrap;
66
+ pointer-events: none;
67
+ }
68
+
69
+ .mira-reference--image .mira-rich-widget__source-toggle {
70
+ inset-inline-start: 0.25rem;
71
+ inset-inline-end: auto;
72
+ }
@@ -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-block;
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(calc(-50% - 2px));
554
+ transform: translateY(-50%);
526
555
  width: 1rem;
527
556
  }
528
557
 
@@ -10,6 +10,8 @@
10
10
  @import "./styles/blockquotes-footnotes.css";
11
11
  @import "./styles/code-katex.css";
12
12
  @import "./styles/links-embeds-tags.css";
13
+ @import "./styles/inline-links.css";
14
+ @import "./styles/references.css";
13
15
  @import "./styles/callouts.css";
14
16
  @import "./styles/images.css";
15
17
  @import "./styles/tables.css";
@@ -5,8 +5,10 @@
5
5
  import { EditorView } from "@codemirror/view";
6
6
  import { EditorState } from "@codemirror/state";
7
7
  import { cn } from "./utils";
8
- import { tick } from "svelte";
8
+ import { tick, onDestroy } from "svelte";
9
9
  import { toHtml } from "./utils";
10
+ import { MarkdownPreview } from "@lapismd/mira/preview";
11
+ import type { MiraExtension } from "../extensions";
10
12
  import { createInlineTableMarkdownExtensions } from "./inline-editor-extensions";
11
13
 
12
14
  let {
@@ -14,6 +16,7 @@
14
16
  onContentChange,
15
17
  onEdit = () => {},
16
18
  readonly = false,
19
+ extensions = [],
17
20
  class: className,
18
21
  }: {
19
22
  node: Mdast.Nodes;
@@ -21,6 +24,7 @@
21
24
  onContentChange: (value: string) => void;
22
25
  onEdit?: (evt: MouseEvent) => void;
23
26
  readonly?: boolean;
27
+ extensions?: MiraExtension[];
24
28
  } = $props();
25
29
  let content = $derived(TableNode.toMarkdown(node).trim());
26
30
  let view: EditorView = new EditorView({
@@ -42,6 +46,7 @@
42
46
  }),
43
47
  });
44
48
 
49
+ onDestroy(() => view.destroy());
45
50
  let editing: boolean = $state(false);
46
51
 
47
52
  const codeMirror = (node: HTMLDivElement, content: string) => {
@@ -97,9 +102,13 @@
97
102
  <div class="cm-scroller">
98
103
  <div class="cm-content">
99
104
  {#if content}
100
- {#await toHtml(content) then markup}
101
- {@html markup}
102
- {/await}
105
+ {#if extensions.length}<MarkdownPreview
106
+ inline
107
+ value={content}
108
+ {extensions}
109
+ />{:else}{#await toHtml(content) then markup}
110
+ {@html markup}
111
+ {/await}{/if}
103
112
  {:else}
104
113
  &NonBreakingSpace;
105
114
  {/if}
@@ -115,9 +124,13 @@
115
124
  <div class="cm-scroller">
116
125
  <div class="cm-content">
117
126
  {#if content}
118
- {#await toHtml(content) then markup}
119
- {@html markup}
120
- {/await}
127
+ {#if extensions.length}<MarkdownPreview
128
+ inline
129
+ value={content}
130
+ {extensions}
131
+ />{:else}{#await toHtml(content) then markup}
132
+ {@html markup}
133
+ {/await}{/if}
121
134
  {:else}
122
135
  &NonBreakingSpace;
123
136
  {/if}
@@ -1,10 +1,12 @@
1
1
  import type * as Mdast from "mdast";
2
+ import type { MiraExtension } from "../extensions";
2
3
  type $$ComponentProps = {
3
4
  node: Mdast.Nodes;
4
5
  class?: string;
5
6
  onContentChange: (value: string) => void;
6
7
  onEdit?: (evt: MouseEvent) => void;
7
8
  readonly?: boolean;
9
+ extensions?: MiraExtension[];
8
10
  };
9
11
  declare const EditorColumn: import("svelte").Component<$$ComponentProps, {}, "">;
10
12
  type EditorColumn = ReturnType<typeof EditorColumn>;
@@ -1 +1 @@
1
- {"version":3,"file":"editor-column.svelte.d.ts","sourceRoot":"","sources":["../../src/tables/editor-column.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AASnC,KAAK,gBAAgB,GAAI;IACtB,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AA4HJ,QAAA,MAAM,YAAY,sDAAwC,CAAC;AAC3D,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AACpD,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"editor-column.svelte.d.ts","sourceRoot":"","sources":["../../src/tables/editor-column.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAQpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGlD,KAAK,gBAAgB,GAAI;IACtB,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;CAC9B,CAAC;AAgIJ,QAAA,MAAM,YAAY,sDAAwC,CAAC;AAC3D,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AACpD,eAAe,YAAY,CAAC"}
@@ -1,6 +1,7 @@
1
1
  <script lang="ts">
2
2
  // @ts-nocheck
3
3
  import { TableNode } from "./table-node";
4
+ import type { MiraExtension } from "../extensions";
4
5
  import * as Table from "@lapismd/mira/ui/table";
5
6
  import { cn } from "./utils";
6
7
  import ColumnEditor from "./editor-column.svelte";
@@ -45,12 +46,14 @@
45
46
  onDelete = () => {},
46
47
  onMouseUp = () => {},
47
48
  selectedCells = [],
49
+ extensions = [],
48
50
  }: {
49
51
  node: TableNode;
50
52
  onChange?: (data: string, props?: Record<string, any>) => void;
51
53
  onDelete?: (evt: Event) => void;
52
54
  onMouseUp?: (evt: MouseEvent) => void;
53
55
  selectedCells?: Array<[number, number]>;
56
+ extensions?: MiraExtension[];
54
57
  } = $props();
55
58
  let tableVersion = $state(0);
56
59
  let mdastNode = $derived.by(() => {
@@ -765,6 +768,7 @@
765
768
  hProperties.displayColIndex ?? index}
766
769
  {@const id = [sourceRowIndex, sourceColIndex].join(",")}
767
770
  <MarkdownTableDataCell
771
+ {extensions}
768
772
  node={col}
769
773
  {rowIndex}
770
774
  colIndex={displayColIndex}
@@ -1,10 +1,12 @@
1
1
  import { TableNode } from "./table-node";
2
+ import type { MiraExtension } from "../extensions";
2
3
  type $$ComponentProps = {
3
4
  node: TableNode;
4
5
  onChange?: (data: string, props?: Record<string, any>) => void;
5
6
  onDelete?: (evt: Event) => void;
6
7
  onMouseUp?: (evt: MouseEvent) => void;
7
8
  selectedCells?: Array<[number, number]>;
9
+ extensions?: MiraExtension[];
8
10
  };
9
11
  declare const EditorTable: import("svelte").Component<$$ComponentProps, {}, "">;
10
12
  type EditorTable = ReturnType<typeof EditorTable>;
@@ -1 +1 @@
1
- {"version":3,"file":"editor-table.svelte.d.ts","sourceRoot":"","sources":["../../src/tables/editor-table.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAuCxC,KAAK,gBAAgB,GAAI;IACtB,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IAC/D,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,aAAa,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACzC,CAAC;AA2wBJ,QAAA,MAAM,WAAW,sDAAwC,CAAC;AAC1D,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAClD,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"editor-table.svelte.d.ts","sourceRoot":"","sources":["../../src/tables/editor-table.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAuClD,KAAK,gBAAgB,GAAI;IACtB,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IAC/D,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,aAAa,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACxC,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;CAC9B,CAAC;AA6wBJ,QAAA,MAAM,WAAW,sDAAwC,CAAC;AAC1D,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAClD,eAAe,WAAW,CAAC"}
@@ -3,17 +3,20 @@
3
3
  import { EditorView, keymap } from "@codemirror/view";
4
4
  import { EditorState } from "@codemirror/state";
5
5
  import { cn } from "./utils";
6
- import { tick } from "svelte";
6
+ import { tick, onDestroy } from "svelte";
7
7
  import { MarkdownPreview } from "@lapismd/mira/preview";
8
+ import type { MiraExtension } from "../extensions";
8
9
  import { createInlineTableMarkdownExtensions } from "./inline-editor-extensions";
9
10
 
10
11
  let {
11
12
  content,
13
+ extensions = [],
12
14
  onContentChange,
13
15
  onEdit = () => true,
14
16
  class: className,
15
17
  }: {
16
18
  content: string;
19
+ extensions?: MiraExtension[];
17
20
  class?: string;
18
21
  onContentChange: (value: string) => void;
19
22
  onEdit?: (evt: MouseEvent) => boolean;
@@ -50,6 +53,7 @@
50
53
  }),
51
54
  });
52
55
 
56
+ onDestroy(() => view.destroy());
53
57
  let editing: boolean = $state(false);
54
58
 
55
59
  const codeMirror = (node: HTMLDivElement, content: string) => {
@@ -108,7 +112,7 @@
108
112
  <div class="cm-scroller">
109
113
  <div class="cm-content">
110
114
  {#if content}
111
- <MarkdownPreview inline value={content} />
115
+ <MarkdownPreview inline value={content} {extensions} />
112
116
  {:else}
113
117
  &NonBreakingSpace;
114
118
  {/if}
@@ -1,5 +1,7 @@
1
+ import type { MiraExtension } from "../extensions";
1
2
  type $$ComponentProps = {
2
3
  content: string;
4
+ extensions?: MiraExtension[];
3
5
  class?: string;
4
6
  onContentChange: (value: string) => void;
5
7
  onEdit?: (evt: MouseEvent) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"grid-editor-column.svelte.d.ts","sourceRoot":"","sources":["../../src/tables/grid-editor-column.svelte.ts"],"names":[],"mappings":"AAWC,KAAK,gBAAgB,GAAI;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,OAAO,CAAC;CACvC,CAAC;AAmHJ,QAAA,MAAM,gBAAgB,sDAAwC,CAAC;AAC/D,KAAK,gBAAgB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC5D,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"grid-editor-column.svelte.d.ts","sourceRoot":"","sources":["../../src/tables/grid-editor-column.svelte.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGlD,KAAK,gBAAgB,GAAI;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,OAAO,CAAC;CACvC,CAAC;AAsHJ,QAAA,MAAM,gBAAgB,sDAAwC,CAAC;AAC/D,KAAK,gBAAgB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC5D,eAAe,gBAAgB,CAAC"}
@@ -4,6 +4,7 @@
4
4
  import * as Table from "@lapismd/mira/ui/table";
5
5
  import { cn } from "./utils";
6
6
  import ColumnEditor from "./grid-editor-column.svelte";
7
+ import type { MiraExtension } from "../extensions";
7
8
  import * as Tooltip from "@lapismd/mira/ui/tooltip";
8
9
  import Delete from "@lucide/svelte/icons/trash";
9
10
  import Elipsis from "@lucide/svelte/icons/ellipsis";
@@ -30,12 +31,14 @@
30
31
  onDelete = () => {},
31
32
  onMouseUp = () => {},
32
33
  selectedCells = [],
34
+ extensions = [],
33
35
  }: {
34
36
  node: GridTableNode;
35
37
  onChange?: (data: string, props?: Record<string, any>) => void;
36
38
  onDelete?: (evt: Event) => void;
37
39
  onMouseUp?: (evt: MouseEvent) => void;
38
40
  selectedCells?: Array<[number, number]>;
41
+ extensions?: MiraExtension[];
39
42
  } = $props();
40
43
  let tableVersion = $state(0);
41
44
  let columnCount = $derived.by(() => {
@@ -1107,6 +1110,7 @@
1107
1110
  })}
1108
1111
  >
1109
1112
  <ColumnEditor
1113
+ {extensions}
1110
1114
  content={cell.cell.content}
1111
1115
  class={cn({
1112
1116
  "text-left": cell.cell.align === "left",
@@ -1,10 +1,12 @@
1
1
  import { GridTableNode } from "./grid-table";
2
+ import type { MiraExtension } from "../extensions";
2
3
  type $$ComponentProps = {
3
4
  node: GridTableNode;
4
5
  onChange?: (data: string, props?: Record<string, any>) => void;
5
6
  onDelete?: (evt: Event) => void;
6
7
  onMouseUp?: (evt: MouseEvent) => void;
7
8
  selectedCells?: Array<[number, number]>;
9
+ extensions?: MiraExtension[];
8
10
  };
9
11
  declare const GridEditorTable: import("svelte").Component<$$ComponentProps, {}, "">;
10
12
  type GridEditorTable = ReturnType<typeof GridEditorTable>;
@@ -1 +1 @@
1
- {"version":3,"file":"grid-editor-table.svelte.d.ts","sourceRoot":"","sources":["../../src/tables/grid-editor-table.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAgB,MAAM,cAAc,CAAC;AAwB1D,KAAK,gBAAgB,GAAI;IACtB,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IAC/D,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,aAAa,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACzC,CAAC;AAugCJ,QAAA,MAAM,eAAe,sDAAwC,CAAC;AAC9D,KAAK,eAAe,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAC1D,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"grid-editor-table.svelte.d.ts","sourceRoot":"","sources":["../../src/tables/grid-editor-table.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAgB,MAAM,cAAc,CAAC;AAI3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAqBlD,KAAK,gBAAgB,GAAI;IACtB,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IAC/D,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IACtC,aAAa,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACxC,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;CAC9B,CAAC;AAygCJ,QAAA,MAAM,eAAe,sDAAwC,CAAC;AAC9D,KAAK,eAAe,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAC1D,eAAe,eAAe,CAAC"}
@@ -7,6 +7,7 @@ export { GridTableNode, type ColType, type GridType, type RowType, } from "./gri
7
7
  export { $convertTableElement, TableNode } from "./table-node";
8
8
  import EditorColumn from "./editor-column.svelte";
9
9
  import EditorTable from "./editor-table.svelte";
10
+ export { default as TableReader } from "./table-reader.svelte";
10
11
  import GridEditorColumn from "./grid-editor-column.svelte";
11
12
  import GridEditorTable from "./grid-editor-table.svelte";
12
13
  export { EditorColumn, EditorColumn as column, EditorTable, EditorTable as Table, GridEditorColumn, GridEditorColumn as GridColumn, GridEditorTable, GridEditorTable as GridTable, };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tables/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EACL,aAAa,EACb,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,KAAK,OAAO,GACb,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,YAAY,MAAM,wBAAwB,CAAC;AAClD,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,gBAAgB,MAAM,6BAA6B,CAAC;AAC3D,OAAO,eAAe,MAAM,4BAA4B,CAAC;AAEzD,OAAO,EACL,YAAY,EACZ,YAAY,IAAI,MAAM,EACtB,WAAW,EACX,WAAW,IAAI,KAAK,EACpB,gBAAgB,EAChB,gBAAgB,IAAI,UAAU,EAC9B,eAAe,EACf,eAAe,IAAI,SAAS,GAC7B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tables/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EACL,aAAa,EACb,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,KAAK,OAAO,GACb,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE/D,OAAO,YAAY,MAAM,wBAAwB,CAAC;AAClD,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,gBAAgB,MAAM,6BAA6B,CAAC;AAC3D,OAAO,eAAe,MAAM,4BAA4B,CAAC;AAEzD,OAAO,EACL,YAAY,EACZ,YAAY,IAAI,MAAM,EACtB,WAAW,EACX,WAAW,IAAI,KAAK,EACpB,gBAAgB,EAChB,gBAAgB,IAAI,UAAU,EAC9B,eAAe,EACf,eAAe,IAAI,SAAS,GAC7B,CAAC"}
@@ -7,6 +7,7 @@ export { GridTableNode, } from "./grid-table";
7
7
  export { $convertTableElement, TableNode } from "./table-node";
8
8
  import EditorColumn from "./editor-column.svelte";
9
9
  import EditorTable from "./editor-table.svelte";
10
+ export { default as TableReader } from "./table-reader.svelte";
10
11
  import GridEditorColumn from "./grid-editor-column.svelte";
11
12
  import GridEditorTable from "./grid-editor-table.svelte";
12
13
  export { EditorColumn, EditorColumn as column, EditorTable, EditorTable as Table, GridEditorColumn, GridEditorColumn as GridColumn, GridEditorTable, GridEditorTable as GridTable, };
@@ -5,6 +5,7 @@
5
5
  import { cn } from "./utils";
6
6
  import type * as Mdast from "mdast";
7
7
  import ColumnEditor from "./editor-column.svelte";
8
+ import type { MiraExtension } from "../extensions";
8
9
  import type { MarkdownTableDragSource } from "./markdown-table-dnd";
9
10
  import {
10
11
  dropIndicatorClasses,
@@ -14,6 +15,7 @@
14
15
 
15
16
  type Props = {
16
17
  node: Mdast.Nodes;
18
+ extensions?: MiraExtension[];
17
19
  rowIndex: number;
18
20
  colIndex: number;
19
21
  sourceRowIndex?: number;
@@ -33,6 +35,7 @@
33
35
 
34
36
  let {
35
37
  node,
38
+ extensions = [],
36
39
  rowIndex,
37
40
  colIndex,
38
41
  sourceRowIndex = rowIndex,
@@ -109,6 +112,7 @@
109
112
  )}
110
113
  >
111
114
  <ColumnEditor
115
+ {extensions}
112
116
  {node}
113
117
  {onContentChange}
114
118
  {readonly}
@@ -1,7 +1,9 @@
1
1
  import type * as Mdast from "mdast";
2
+ import type { MiraExtension } from "../extensions";
2
3
  import type { MarkdownTableDragSource } from "./markdown-table-dnd";
3
4
  type Props = {
4
5
  node: Mdast.Nodes;
6
+ extensions?: MiraExtension[];
5
7
  rowIndex: number;
6
8
  colIndex: number;
7
9
  sourceRowIndex?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-table-data-cell.svelte.d.ts","sourceRoot":"","sources":["../../src/tables/markdown-table-data-cell.svelte.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAEpC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAQlE,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC3C,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,WAAW,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACzC,WAAW,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACzC,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B,CAAC;AAwFJ,QAAA,MAAM,qBAAqB,2CAAwC,CAAC;AACpE,KAAK,qBAAqB,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACtE,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"markdown-table-data-cell.svelte.d.ts","sourceRoot":"","sources":["../../src/tables/markdown-table-data-cell.svelte.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAEpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAQlE,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC;IAClB,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC3C,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,WAAW,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACzC,WAAW,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACzC,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B,CAAC;AA0FJ,QAAA,MAAM,qBAAqB,2CAAwC,CAAC;AACpE,KAAK,qBAAqB,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACtE,eAAe,qBAAqB,CAAC"}