@dxos/plugin-mermaid 0.8.4-main.dedc0f3 → 0.8.4-main.dfabb4ec29

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 (35) hide show
  1. package/dist/lib/{browser/index.mjs → neutral/MermaidPlugin.mjs} +32 -50
  2. package/dist/lib/neutral/MermaidPlugin.mjs.map +7 -0
  3. package/dist/lib/neutral/chunk-JGZ2QEV6.mjs +17 -0
  4. package/dist/lib/neutral/chunk-JGZ2QEV6.mjs.map +7 -0
  5. package/dist/lib/neutral/index.mjs +7 -0
  6. package/dist/lib/neutral/index.mjs.map +7 -0
  7. package/dist/lib/neutral/meta.json +1 -0
  8. package/dist/lib/neutral/meta.mjs +7 -0
  9. package/dist/lib/neutral/meta.mjs.map +7 -0
  10. package/dist/lib/neutral/plugin.mjs +11 -0
  11. package/dist/lib/neutral/plugin.mjs.map +7 -0
  12. package/dist/types/src/MermaidPlugin.d.ts +3 -1
  13. package/dist/types/src/MermaidPlugin.d.ts.map +1 -1
  14. package/dist/types/src/MermaidPlugin.test.d.ts +2 -0
  15. package/dist/types/src/MermaidPlugin.test.d.ts.map +1 -0
  16. package/dist/types/src/extensions/mermaid-extension.d.ts.map +1 -1
  17. package/dist/types/src/extensions/mermaid.stories.d.ts +2 -3
  18. package/dist/types/src/extensions/mermaid.stories.d.ts.map +1 -1
  19. package/dist/types/src/index.d.ts +0 -1
  20. package/dist/types/src/index.d.ts.map +1 -1
  21. package/dist/types/src/meta.d.ts +2 -3
  22. package/dist/types/src/meta.d.ts.map +1 -1
  23. package/dist/types/src/plugin.d.ts +3 -0
  24. package/dist/types/src/plugin.d.ts.map +1 -0
  25. package/dist/types/tsconfig.tsbuildinfo +1 -1
  26. package/package.json +47 -27
  27. package/src/MermaidPlugin.test.ts +30 -0
  28. package/src/MermaidPlugin.tsx +15 -10
  29. package/src/extensions/mermaid-extension.ts +9 -9
  30. package/src/extensions/mermaid.stories.tsx +7 -15
  31. package/src/index.ts +0 -1
  32. package/src/meta.ts +8 -6
  33. package/src/plugin.ts +9 -0
  34. package/dist/lib/browser/index.mjs.map +0 -7
  35. package/dist/lib/browser/meta.json +0 -1
@@ -1,27 +1,20 @@
1
1
  // src/MermaidPlugin.tsx
2
- import { contributes, defineModule, definePlugin } from "@dxos/app-framework";
2
+ import * as Effect from "effect/Effect";
3
+ import { Capability, Plugin } from "@dxos/app-framework";
3
4
  import { MarkdownCapabilities, MarkdownEvents } from "@dxos/plugin-markdown";
5
+ import { meta } from "#meta";
4
6
 
5
7
  // src/extensions/mermaid-extension.ts
6
8
  import { syntaxTree } from "@codemirror/language";
7
9
  import { Decoration, EditorView, ViewPlugin, WidgetType } from "@codemirror/view";
8
10
  import _mermaid from "mermaid";
9
- function _define_property(obj, key, value) {
10
- if (key in obj) {
11
- Object.defineProperty(obj, key, {
12
- value,
13
- enumerable: true,
14
- configurable: true,
15
- writable: true
16
- });
17
- } else {
18
- obj[key] = value;
19
- }
20
- return obj;
21
- }
22
11
  var mermaid = (_options = {}) => {
23
12
  return [
24
13
  ViewPlugin.fromClass(class {
14
+ decorations;
15
+ constructor(view) {
16
+ this.decorations = this.buildDecorations(view);
17
+ }
25
18
  update(update) {
26
19
  if (update.docChanged || update.viewportChanged || update.selectionSet || update.focusChanged) {
27
20
  this.decorations = this.buildDecorations(update.view);
@@ -82,10 +75,6 @@ var mermaid = (_options = {}) => {
82
75
  });
83
76
  return Decoration.set(decorations.sort((a, b) => a.from - b.from || a.to - b.to).map((d) => d.decoration.range(d.from, d.to)));
84
77
  }
85
- constructor(view) {
86
- _define_property(this, "decorations", void 0);
87
- this.decorations = this.buildDecorations(view);
88
- }
89
78
  }, {
90
79
  decorations: (v) => v.decorations
91
80
  }),
@@ -97,18 +86,18 @@ var mermaid = (_options = {}) => {
97
86
  maring: "4px 0",
98
87
  padding: "16px",
99
88
  justifyContent: "center",
100
- backgroundColor: "var(--dx-groupSurface)",
89
+ backgroundColor: "var(--color-group-surface)",
101
90
  borderRadius: "8px"
102
91
  },
103
92
  "& .cm-mermaid-label": {
104
93
  position: "absolute",
105
94
  right: "16px",
106
95
  fontFamily: "unset",
107
- color: "var(--dx-subdued)"
96
+ color: "var(--color-subdued)"
108
97
  },
109
98
  "& .cm-mermaid-error": {
110
99
  display: "inline-block",
111
- color: "var(--dx-errorText)"
100
+ color: "var(--color-error)"
112
101
  },
113
102
  "& .cm-mermaid-hidden": {
114
103
  display: "none !important"
@@ -117,9 +106,21 @@ var mermaid = (_options = {}) => {
117
106
  ];
118
107
  };
119
108
  var MermaidWidget = class extends WidgetType {
109
+ _id;
110
+ _source;
111
+ _label;
112
+ _svg;
113
+ _error;
114
+ // TODO(burdon): Mermaid API requires unique id.
115
+ constructor(_id, _source, _label) {
116
+ super(), this._id = _id, this._source = _source, this._label = _label;
117
+ }
120
118
  eq(other) {
121
119
  return this._source === other._source;
122
120
  }
121
+ ignoreEvent(ev) {
122
+ return !/^mouse/.test(ev.type);
123
+ }
123
124
  toDOM(view) {
124
125
  const div = document.createElement("div");
125
126
  div.className = "cm-mermaid";
@@ -160,38 +161,19 @@ var MermaidWidget = class extends WidgetType {
160
161
  this._svg = void 0;
161
162
  }
162
163
  }
163
- ignoreEvent(e) {
164
- return !/^mouse/.test(e.type);
165
- }
166
- // TODO(burdon): Mermaid API requires unique id.
167
- constructor(_id, _source, _label) {
168
- super(), _define_property(this, "_id", void 0), _define_property(this, "_source", void 0), _define_property(this, "_label", void 0), _define_property(this, "_svg", void 0), _define_property(this, "_error", void 0), this._id = _id, this._source = _source, this._label = _label;
169
- }
170
- };
171
-
172
- // src/meta.ts
173
- var MERMAID_PLUGIN = "dxos.org/plugin/mermaid";
174
- var meta = {
175
- id: MERMAID_PLUGIN,
176
- name: "Mermaid",
177
- description: "Tool that renders text definitions to create diagrams.",
178
- icon: "ph--anchor-simple--regular",
179
- source: "https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-mermaid"
180
164
  };
181
165
 
182
166
  // src/MermaidPlugin.tsx
183
- var MermaidPlugin = () => definePlugin(meta, [
184
- defineModule({
185
- id: `${meta.id}/module/markdown`,
186
- activatesOn: MarkdownEvents.SetupExtensions,
187
- activate: () => contributes(MarkdownCapabilities.Extensions, [
188
- mermaid
189
- ])
190
- })
191
- ]);
167
+ var MermaidPlugin = Plugin.define(meta).pipe(Plugin.addModule({
168
+ id: "markdown",
169
+ activatesOn: MarkdownEvents.SetupExtensions,
170
+ activate: () => Effect.succeed(Capability.contributes(MarkdownCapabilities.Extensions, [
171
+ mermaid
172
+ ]))
173
+ }), Plugin.make);
174
+ var MermaidPlugin_default = MermaidPlugin;
192
175
  export {
193
- MERMAID_PLUGIN,
194
176
  MermaidPlugin,
195
- meta
177
+ MermaidPlugin_default as default
196
178
  };
197
- //# sourceMappingURL=index.mjs.map
179
+ //# sourceMappingURL=MermaidPlugin.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/MermaidPlugin.tsx", "../../../src/extensions/mermaid-extension.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability, Plugin } from '@dxos/app-framework';\nimport { MarkdownCapabilities, MarkdownEvents } from '@dxos/plugin-markdown';\n\nimport { meta } from '#meta';\n\nimport { mermaid } from './extensions';\n\nexport const MermaidPlugin = Plugin.define(meta).pipe(\n Plugin.addModule({\n id: 'markdown',\n activatesOn: MarkdownEvents.SetupExtensions,\n activate: () => Effect.succeed(Capability.contributes(MarkdownCapabilities.Extensions, [mermaid])),\n }),\n Plugin.make,\n);\n\nexport default MermaidPlugin;\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { syntaxTree } from '@codemirror/language';\nimport { type Extension } from '@codemirror/state';\nimport { Decoration, type DecorationSet, EditorView, ViewPlugin, type ViewUpdate, WidgetType } from '@codemirror/view';\nimport _mermaid from 'mermaid';\n\nexport type MermaidOptions = {};\n\n/**\n * Extension to create mermaid diagrams.\n */\nexport const mermaid = (_options: MermaidOptions = {}): Extension => {\n return [\n ViewPlugin.fromClass(\n class {\n decorations: DecorationSet;\n\n constructor(view: EditorView) {\n this.decorations = this.buildDecorations(view);\n }\n\n update(update: ViewUpdate) {\n // Always rebuild decorations when selection changes to handle arrow key navigation.\n if (update.docChanged || update.viewportChanged || update.selectionSet || update.focusChanged) {\n this.decorations = this.buildDecorations(update.view);\n }\n }\n\n buildDecorations(view: EditorView): DecorationSet {\n const decorations: Array<{ from: number; to: number; decoration: Decoration }> = [];\n\n syntaxTree(view.state).iterate({\n enter: (node) => {\n if (node.name === 'FencedCode') {\n const cursor = view.state.selection.main.head;\n // Show widget when cursor is outside the code block.\n // Add a buffer of 1 position before and after to handle edge cases.\n const showWidget = view.state.readOnly || cursor < node.from - 1 || cursor > node.to + 1;\n if (showWidget) {\n const info = node.node.getChild('CodeInfo');\n if (info) {\n const type = view.state.sliceDoc(info.from, info.to);\n const text = node.node.getChild('CodeText');\n if (type === 'mermaid' && text) {\n const content = view.state.sliceDoc(text.from, text.to).trim();\n const label = content.split(' ')[0];\n\n // Create widget.\n const widget = new MermaidWidget(`mermaid-${node.from}`, content, label);\n\n // Find the line after the code block to place the widget.\n const endLine = view.state.doc.lineAt(node.to);\n const nextLinePos = endLine.to + 1;\n\n // Add widget after the code block.\n if (nextLinePos <= view.state.doc.length) {\n decorations.push({\n from: nextLinePos,\n to: nextLinePos,\n decoration: Decoration.widget({\n widget,\n }),\n });\n } else {\n // Check if at the end of the document.\n decorations.push({\n from: endLine.to,\n to: endLine.to,\n decoration: Decoration.widget({\n widget,\n side: 1,\n }),\n });\n }\n\n // Hide each line of the code block.\n const startLine = view.state.doc.lineAt(node.from);\n for (let lineNum = startLine.number; lineNum <= endLine.number; lineNum++) {\n const line = view.state.doc.line(lineNum);\n decorations.push({\n from: line.from,\n to: line.from,\n decoration: Decoration.line({\n class: 'cm-mermaid-hidden',\n }),\n });\n }\n }\n }\n }\n }\n },\n });\n\n return Decoration.set(\n decorations.sort((a, b) => a.from - b.from || a.to - b.to).map((d) => d.decoration.range(d.from, d.to)),\n );\n }\n },\n {\n decorations: (v) => v.decorations,\n },\n ),\n EditorView.theme({\n '& .cm-mermaid': {\n position: 'relative',\n display: 'inline-flex',\n width: '100%',\n maring: '4px 0',\n padding: '16px',\n justifyContent: 'center',\n backgroundColor: 'var(--color-group-surface)',\n borderRadius: '8px',\n },\n '& .cm-mermaid-label': {\n position: 'absolute',\n right: '16px',\n fontFamily: 'unset',\n color: 'var(--color-subdued)',\n },\n '& .cm-mermaid-error': {\n display: 'inline-block',\n color: 'var(--color-error)',\n },\n '& .cm-mermaid-hidden': {\n display: 'none !important',\n },\n }),\n ];\n};\n\nclass MermaidWidget extends WidgetType {\n _svg: string | undefined;\n _error: string | undefined;\n\n // TODO(burdon): Mermaid API requires unique id.\n constructor(\n private readonly _id: string,\n private readonly _source: string,\n private readonly _label?: string,\n ) {\n super();\n }\n\n override eq(other: this) {\n return this._source === other._source;\n }\n\n override ignoreEvent(ev: Event) {\n return !/^mouse/.test(ev.type);\n }\n\n override toDOM(view: EditorView) {\n const div = document.createElement('div');\n div.className = 'cm-mermaid';\n\n setTimeout(async () => {\n // https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/config.type.ts\n _mermaid.initialize({\n darkMode: view.state.facet(EditorView.darkTheme),\n theme: 'neutral',\n // TODO(burdon): Styles.\n // NOTE: Must specify 'base' in order to override.\n // theme: 'base',\n // themeVariables: {\n // primaryColor: getToken('extend.colors.red.100'),\n // primaryBorderColor: getToken('extend.colors.neutral.200'),\n // },\n // https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/diagrams/flowchart/styles.ts\n // https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/diagrams/sequence/styles.js\n // https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/diagrams/state/styles.js\n // themeCSS: '.node rect { fill: red; }',\n });\n\n // TODO(burdon): Cache?\n const svg = await this.render(div);\n if (this._error) {\n div.className = 'cm-mermaid-error';\n div.innerText = this._error;\n } else {\n div.className = 'cm-mermaid';\n div.innerHTML = svg!;\n\n if (this._label) {\n const label = document.createElement('span');\n label.innerText = this._label;\n label.className = 'cm-mermaid-label';\n div.appendChild(label);\n view.requestMeasure();\n }\n }\n });\n\n return div;\n }\n\n async render(_container: Element): Promise<string | undefined> {\n try {\n // https://github.com/mermaid-js/mermaid\n const valid = await _mermaid.parse(this._source);\n if (valid) {\n const result = await _mermaid.render(this._id, this._source);\n this._error = undefined;\n this._svg = result.svg;\n return result.svg;\n }\n } catch (err: any) {\n this._error = String(err);\n this._svg = undefined;\n }\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["Effect", "Capability", "Plugin", "MarkdownCapabilities", "MarkdownEvents", "meta", "syntaxTree", "Decoration", "EditorView", "ViewPlugin", "WidgetType", "_mermaid", "mermaid", "_options", "fromClass", "decorations", "view", "buildDecorations", "update", "docChanged", "viewportChanged", "selectionSet", "focusChanged", "state", "iterate", "enter", "node", "name", "cursor", "selection", "main", "head", "showWidget", "readOnly", "from", "to", "info", "getChild", "type", "sliceDoc", "text", "content", "trim", "label", "split", "widget", "MermaidWidget", "endLine", "doc", "lineAt", "nextLinePos", "length", "push", "decoration", "side", "startLine", "lineNum", "number", "line", "class", "set", "sort", "a", "b", "map", "d", "range", "v", "theme", "position", "display", "width", "maring", "padding", "justifyContent", "backgroundColor", "borderRadius", "right", "fontFamily", "color", "_svg", "_error", "_id", "_source", "_label", "eq", "other", "ignoreEvent", "ev", "test", "toDOM", "div", "document", "createElement", "className", "setTimeout", "initialize", "darkMode", "facet", "darkTheme", "svg", "render", "innerText", "innerHTML", "appendChild", "requestMeasure", "_container", "valid", "parse", "result", "undefined", "err", "String", "MermaidPlugin", "Plugin", "define", "meta", "pipe", "addModule", "id", "activatesOn", "MarkdownEvents", "SetupExtensions", "activate", "succeed", "Capability", "contributes", "MarkdownCapabilities", "Extensions", "mermaid", "make"]
7
+ }
@@ -0,0 +1,17 @@
1
+ // src/meta.ts
2
+ import { trim } from "@dxos/util";
3
+ var meta = {
4
+ id: "org.dxos.plugin.mermaid",
5
+ name: "Mermaid",
6
+ description: trim`
7
+ Generate diagrams from simple text-based definitions using Mermaid syntax.
8
+ Create flowcharts, sequence diagrams, and other visualizations that stay in sync with your documentation.
9
+ `,
10
+ icon: "ph--anchor-simple--regular",
11
+ source: "https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-mermaid"
12
+ };
13
+
14
+ export {
15
+ meta
16
+ };
17
+ //# sourceMappingURL=chunk-JGZ2QEV6.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/meta.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: Plugin.Meta = {\n id: 'org.dxos.plugin.mermaid',\n name: 'Mermaid',\n description: trim`\n Generate diagrams from simple text-based definitions using Mermaid syntax.\n Create flowcharts, sequence diagrams, and other visualizations that stay in sync with your documentation.\n `,\n icon: 'ph--anchor-simple--regular',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-mermaid',\n};\n"],
5
+ "mappings": ";AAKA,SAASA,YAAY;AAEd,IAAMC,OAAoB;EAC/BC,IAAI;EACJC,MAAM;EACNC,aAAaJ;;;;EAIbK,MAAM;EACNC,QAAQ;AACV;",
6
+ "names": ["trim", "meta", "id", "name", "description", "icon", "source"]
7
+ }
@@ -0,0 +1,7 @@
1
+ import {
2
+ meta
3
+ } from "./chunk-JGZ2QEV6.mjs";
4
+ export {
5
+ meta
6
+ };
7
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1 @@
1
+ {"inputs":{"src/meta.ts":{"bytes":1706,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":368,"imports":[{"path":"src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"src/extensions/mermaid-extension.ts":{"bytes":25026,"imports":[{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"mermaid","kind":"import-statement","external":true}],"format":"esm"},"src/extensions/index.ts":{"bytes":401,"imports":[{"path":"src/extensions/mermaid-extension.ts","kind":"import-statement","original":"./mermaid-extension"}],"format":"esm"},"src/MermaidPlugin.tsx":{"bytes":2452,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"src/extensions/index.ts","kind":"import-statement","original":"./extensions"}],"format":"esm"},"src/plugin.ts":{"bytes":860,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"#plugin","kind":"dynamic-import","external":true}],"format":"esm"}},"outputs":{"dist/lib/neutral/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-JGZ2QEV6.mjs","kind":"import-statement"}],"exports":["meta"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":0}},"bytes":101},"dist/lib/neutral/MermaidPlugin.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":13481},"dist/lib/neutral/MermaidPlugin.mjs":{"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"mermaid","kind":"import-statement","external":true}],"exports":["MermaidPlugin","default"],"entryPoint":"src/MermaidPlugin.tsx","inputs":{"src/MermaidPlugin.tsx":{"bytesInOutput":506},"src/extensions/mermaid-extension.ts":{"bytesInOutput":5273},"src/extensions/index.ts":{"bytesInOutput":0}},"bytes":5977},"dist/lib/neutral/meta.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/meta.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-JGZ2QEV6.mjs","kind":"import-statement"}],"exports":["meta"],"entryPoint":"src/meta.ts","inputs":{},"bytes":100},"dist/lib/neutral/plugin.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":443},"dist/lib/neutral/plugin.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-JGZ2QEV6.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"#plugin","kind":"dynamic-import","external":true}],"exports":["MermaidPlugin"],"entryPoint":"src/plugin.ts","inputs":{"src/plugin.ts":{"bytesInOutput":110}},"bytes":239},"dist/lib/neutral/chunk-JGZ2QEV6.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":842},"dist/lib/neutral/chunk-JGZ2QEV6.mjs":{"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["meta"],"inputs":{"src/meta.ts":{"bytesInOutput":439}},"bytes":518}}}
@@ -0,0 +1,7 @@
1
+ import {
2
+ meta
3
+ } from "./chunk-JGZ2QEV6.mjs";
4
+ export {
5
+ meta
6
+ };
7
+ //# sourceMappingURL=meta.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,11 @@
1
+ import {
2
+ meta
3
+ } from "./chunk-JGZ2QEV6.mjs";
4
+
5
+ // src/plugin.ts
6
+ import { Plugin } from "@dxos/app-framework";
7
+ var MermaidPlugin = Plugin.lazy(meta, () => import("#plugin"));
8
+ export {
9
+ MermaidPlugin
10
+ };
11
+ //# sourceMappingURL=plugin.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/plugin.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\n\nimport { meta } from './meta';\n\nexport const MermaidPlugin = Plugin.lazy(meta, () => import('#plugin'));\n"],
5
+ "mappings": ";;;;;AAIA,SAASA,cAAc;AAIhB,IAAMC,gBAAgBC,OAAOC,KAAKC,MAAM,MAAM,OAAO,SAAA,CAAA;",
6
+ "names": ["Plugin", "MermaidPlugin", "Plugin", "lazy", "meta"]
7
+ }
@@ -1,2 +1,4 @@
1
- export declare const MermaidPlugin: () => import("@dxos/app-framework").Plugin;
1
+ import { Plugin } from '@dxos/app-framework';
2
+ export declare const MermaidPlugin: Plugin.PluginFactory<void>;
3
+ export default MermaidPlugin;
2
4
  //# sourceMappingURL=MermaidPlugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MermaidPlugin.d.ts","sourceRoot":"","sources":["../../../src/MermaidPlugin.tsx"],"names":[],"mappings":"AAUA,eAAO,MAAM,aAAa,4CAOtB,CAAC"}
1
+ {"version":3,"file":"MermaidPlugin.d.ts","sourceRoot":"","sources":["../../../src/MermaidPlugin.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAc,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAOzD,eAAO,MAAM,aAAa,4BAOzB,CAAC;eAEa,aAAa"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=MermaidPlugin.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MermaidPlugin.test.d.ts","sourceRoot":"","sources":["../../../src/MermaidPlugin.test.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"mermaid-extension.d.ts","sourceRoot":"","sources":["../../../../src/extensions/mermaid-extension.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAInD,MAAM,MAAM,cAAc,GAAG,EAAE,CAAC;AAEhC;;GAEG;AACH,eAAO,MAAM,OAAO,GAAI,WAAU,cAAmB,KAAG,SAsHvD,CAAC"}
1
+ {"version":3,"file":"mermaid-extension.d.ts","sourceRoot":"","sources":["../../../../src/extensions/mermaid-extension.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAInD,MAAM,MAAM,cAAc,GAAG,EAAE,CAAC;AAEhC;;GAEG;AACH,eAAO,MAAM,OAAO,cAAc,cAAc,KAAQ,SAsHvD,CAAC"}
@@ -1,12 +1,11 @@
1
- import '@dxos-theme';
2
1
  import { type StoryObj } from '@storybook/react-vite';
3
2
  import React from 'react';
4
- type StoryProps = {
3
+ type DefaultStoryProps = {
5
4
  text?: string;
6
5
  };
7
6
  declare const meta: {
8
7
  title: string;
9
- render: ({ text }: StoryProps) => React.JSX.Element;
8
+ render: ({ text }: DefaultStoryProps) => React.JSX.Element;
10
9
  decorators: import("@storybook/react").Decorator[];
11
10
  };
12
11
  export default meta;
@@ -1 +1 @@
1
- {"version":3,"file":"mermaid.stories.d.ts","sourceRoot":"","sources":["../../../../src/extensions/mermaid.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,MAAM,OAAO,CAAC;AAgB1B,KAAK,UAAU,GAAG;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAqBF,QAAA,MAAM,IAAI;;uBAnBsB,UAAU;;CA6BL,CAAC;AAEtC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAqBrB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAgBnB,CAAC"}
1
+ {"version":3,"file":"mermaid.stories.d.ts","sourceRoot":"","sources":["../../../../src/extensions/mermaid.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,MAAM,OAAO,CAAC;AAgB1B,KAAK,iBAAiB,GAAG;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAqBF,QAAA,MAAM,IAAI;;uBAnBsB,iBAAiB;;CAuBZ,CAAC;eAEvB,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAqBrB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAgBnB,CAAC"}
@@ -1,3 +1,2 @@
1
- export * from './MermaidPlugin';
2
1
  export * from './meta';
3
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,QAAQ,CAAC"}
@@ -1,4 +1,3 @@
1
- import { type PluginMeta } from '@dxos/app-framework';
2
- export declare const MERMAID_PLUGIN = "dxos.org/plugin/mermaid";
3
- export declare const meta: PluginMeta;
1
+ import { type Plugin } from '@dxos/app-framework';
2
+ export declare const meta: Plugin.Meta;
4
3
  //# sourceMappingURL=meta.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/meta.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,eAAO,MAAM,cAAc,4BAA4B,CAAC;AAExD,eAAO,MAAM,IAAI,EAAE,UAMlB,CAAC"}
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/meta.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGlD,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,IASzB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Plugin } from '@dxos/app-framework';
2
+ export declare const MermaidPlugin: Plugin.PluginFactory<void>;
3
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAI7C,eAAO,MAAM,aAAa,4BAA6C,CAAC"}