@dxos/plugin-markdown 0.7.4-staging.f7e8224 → 0.7.5-main.499c70c
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/dist/lib/browser/{MarkdownContainer-6OPC5MKP.mjs → MarkdownContainer-XY6NEUOA.mjs} +86 -86
- package/dist/lib/browser/MarkdownContainer-XY6NEUOA.mjs.map +7 -0
- package/dist/lib/browser/{chunk-CMSUKMPM.mjs → chunk-6FIHBJRV.mjs} +27 -7
- package/dist/lib/browser/chunk-6FIHBJRV.mjs.map +7 -0
- package/dist/lib/browser/{chunk-TZN5FGB2.mjs → chunk-R4MG2DP2.mjs} +6 -6
- package/dist/lib/browser/chunk-R4MG2DP2.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +88 -174
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/types/index.mjs +1 -1
- package/dist/lib/node/{MarkdownContainer-6OKJOHTZ.cjs → MarkdownContainer-EX6YDF6J.cjs} +78 -78
- package/dist/lib/node/MarkdownContainer-EX6YDF6J.cjs.map +7 -0
- package/dist/lib/node/{chunk-YGMWZIIJ.cjs → chunk-CQMXZ54Z.cjs} +28 -8
- package/dist/lib/node/chunk-CQMXZ54Z.cjs.map +7 -0
- package/dist/lib/node/{chunk-KEPAM4JP.cjs → chunk-SXQAPZZU.cjs} +9 -9
- package/dist/lib/node/chunk-SXQAPZZU.cjs.map +7 -0
- package/dist/lib/node/index.cjs +123 -209
- package/dist/lib/node/index.cjs.map +3 -3
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/types/index.cjs +5 -5
- package/dist/lib/node/types/index.cjs.map +1 -1
- package/dist/lib/node-esm/{MarkdownContainer-GBNSGROQ.mjs → MarkdownContainer-E7W623A7.mjs} +86 -86
- package/dist/lib/node-esm/MarkdownContainer-E7W623A7.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-NUMUUCYF.mjs → chunk-Y76MM22C.mjs} +6 -6
- package/dist/lib/node-esm/chunk-Y76MM22C.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-ERJ52KN2.mjs → chunk-ZVFBKBSA.mjs} +27 -7
- package/dist/lib/node-esm/chunk-ZVFBKBSA.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +88 -174
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/types/index.mjs +1 -1
- package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownContainer.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownEditor.d.ts.map +1 -1
- package/dist/types/src/extensions.d.ts +2 -2
- package/dist/types/src/extensions.d.ts.map +1 -1
- package/dist/types/src/hooks/useSelectCurrentThread.d.ts.map +1 -1
- package/dist/types/src/types/index.d.ts +1 -1
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/schema.d.ts +82 -0
- package/dist/types/src/types/schema.d.ts.map +1 -0
- package/dist/types/src/types/types.d.ts +31 -12
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -0
- package/package.json +30 -29
- package/src/MarkdownPlugin.tsx +84 -149
- package/src/components/MarkdownContainer.tsx +8 -3
- package/src/components/MarkdownEditor.tsx +5 -13
- package/src/extensions.tsx +9 -10
- package/src/hooks/useSelectCurrentThread.tsx +17 -14
- package/src/types/index.ts +1 -1
- package/src/types/{document.ts → schema.ts} +4 -3
- package/src/types/types.ts +21 -15
- package/src/util.tsx +3 -3
- package/dist/lib/browser/MarkdownContainer-6OPC5MKP.mjs.map +0 -7
- package/dist/lib/browser/chunk-CMSUKMPM.mjs.map +0 -7
- package/dist/lib/browser/chunk-TZN5FGB2.mjs.map +0 -7
- package/dist/lib/node/MarkdownContainer-6OKJOHTZ.cjs.map +0 -7
- package/dist/lib/node/chunk-KEPAM4JP.cjs.map +0 -7
- package/dist/lib/node/chunk-YGMWZIIJ.cjs.map +0 -7
- package/dist/lib/node-esm/MarkdownContainer-GBNSGROQ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-ERJ52KN2.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-NUMUUCYF.mjs.map +0 -7
- package/dist/types/src/types/document.d.ts +0 -106
- package/dist/types/src/types/document.d.ts.map +0 -1
|
@@ -16,16 +16,16 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var
|
|
20
|
-
__export(
|
|
19
|
+
var chunk_SXQAPZZU_exports = {};
|
|
20
|
+
__export(chunk_SXQAPZZU_exports, {
|
|
21
21
|
getFallbackName: () => getFallbackName,
|
|
22
22
|
isMarkdownProperties: () => isMarkdownProperties,
|
|
23
23
|
markdownExtensionPlugins: () => markdownExtensionPlugins,
|
|
24
24
|
serializer: () => serializer,
|
|
25
25
|
setFallbackName: () => setFallbackName
|
|
26
26
|
});
|
|
27
|
-
module.exports = __toCommonJS(
|
|
28
|
-
var
|
|
27
|
+
module.exports = __toCommonJS(chunk_SXQAPZZU_exports);
|
|
28
|
+
var import_chunk_CQMXZ54Z = require("./chunk-CQMXZ54Z.cjs");
|
|
29
29
|
var import_async = require("@dxos/async");
|
|
30
30
|
var import_echo = require("@dxos/react-client/echo");
|
|
31
31
|
var isMarkdownProperties = (data) => (0, import_echo.isEchoObject)(data) ? true : data && typeof data === "object" ? "title" in data && typeof data.title === "string" : false;
|
|
@@ -48,17 +48,17 @@ var serializer = {
|
|
|
48
48
|
return JSON.stringify({
|
|
49
49
|
name: object.name,
|
|
50
50
|
fallbackName: object.fallbackName,
|
|
51
|
-
content: content.content
|
|
51
|
+
content: content.target?.content
|
|
52
52
|
});
|
|
53
53
|
},
|
|
54
54
|
deserialize: async ({ content: serialized }) => {
|
|
55
55
|
const { name, fallbackName, content } = JSON.parse(serialized);
|
|
56
|
-
return (0, import_echo.createObject)((0, import_echo.create)(
|
|
56
|
+
return (0, import_echo.createObject)((0, import_echo.create)(import_chunk_CQMXZ54Z.DocumentType, {
|
|
57
57
|
name,
|
|
58
58
|
fallbackName,
|
|
59
|
-
content: (0, import_echo.create)(
|
|
59
|
+
content: (0, import_echo.makeRef)((0, import_echo.create)(import_chunk_CQMXZ54Z.TextType, {
|
|
60
60
|
content
|
|
61
|
-
}),
|
|
61
|
+
})),
|
|
62
62
|
threads: []
|
|
63
63
|
}));
|
|
64
64
|
}
|
|
@@ -71,4 +71,4 @@ var serializer = {
|
|
|
71
71
|
serializer,
|
|
72
72
|
setFallbackName
|
|
73
73
|
});
|
|
74
|
-
//# sourceMappingURL=chunk-
|
|
74
|
+
//# sourceMappingURL=chunk-SXQAPZZU.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/util.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { debounce } from '@dxos/async';\nimport { type TypedObjectSerializer } from '@dxos/plugin-space/types';\nimport { create, createObject, isEchoObject, loadObjectReferences, makeRef } from '@dxos/react-client/echo';\n\nimport { DocumentType, type MarkdownProperties, type MarkdownExtensionProvides, TextType } from './types';\n\nexport const isMarkdownProperties = (data: unknown): data is MarkdownProperties =>\n isEchoObject(data)\n ? true\n : data && typeof data === 'object'\n ? 'title' in data && typeof data.title === 'string'\n : false;\n\ntype MarkdownExtensionPlugin = Plugin<MarkdownExtensionProvides>;\n\nexport const markdownExtensionPlugins = (plugins: Plugin[]): MarkdownExtensionPlugin[] => {\n return (plugins as MarkdownExtensionPlugin[]).filter((plugin) => Boolean(plugin.provides?.markdown));\n};\n\nconst nonTitleChars = /[^\\w ]/g;\n\nexport const getFallbackName = (content: string) => {\n return content.substring(0, 31).split('\\n')[0].replaceAll(nonTitleChars, '').trim();\n};\n\nexport const setFallbackName = debounce((doc: DocumentType, content: string) => {\n const name = getFallbackName(content);\n if (doc.fallbackName !== name) {\n doc.fallbackName = name;\n }\n}, 200);\n\nexport const serializer: TypedObjectSerializer<DocumentType> = {\n serialize: async ({ object }): Promise<string> => {\n const content = await loadObjectReferences(object, (doc) => doc.content);\n return JSON.stringify({ name: object.name, fallbackName: object.fallbackName, content: content.target?.content });\n },\n\n deserialize: async ({ content: serialized }) => {\n const { name, fallbackName, content } = JSON.parse(serialized);\n return createObject(\n create(DocumentType, { name, fallbackName, content: makeRef(create(TextType, { content })), threads: [] }),\n );\n },\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,mBAAyB;AAEzB,kBAAkF;AAI3E,IAAMA,uBAAuB,CAACC,aACnCC,0BAAaD,IAAAA,IACT,OACAA,QAAQ,OAAOA,SAAS,WACtB,WAAWA,QAAQ,OAAOA,KAAKE,UAAU,WACzC;AAID,IAAMC,2BAA2B,CAACC,YAAAA;AACvC,SAAQA,QAAsCC,OAAO,CAACC,WAAWC,QAAQD,OAAOE,UAAUC,QAAAA,CAAAA;AAC5F;AAEA,IAAMC,gBAAgB;AAEf,IAAMC,kBAAkB,CAACC,YAAAA;AAC9B,SAAOA,QAAQC,UAAU,GAAG,EAAA,EAAIC,MAAM,IAAA,EAAM,CAAA,EAAGC,WAAWL,eAAe,EAAA,EAAIM,KAAI;AACnF;AAEO,IAAMC,sBAAkBC,uBAAS,CAACC,KAAmBP,YAAAA;AAC1D,QAAMQ,OAAOT,gBAAgBC,OAAAA;AAC7B,MAAIO,IAAIE,iBAAiBD,MAAM;AAC7BD,QAAIE,eAAeD;EACrB;AACF,GAAG,GAAA;AAEI,IAAME,aAAkD;EAC7DC,WAAW,OAAO,EAAEC,OAAM,MAAE;AAC1B,UAAMZ,UAAU,UAAMa,kCAAqBD,QAAQ,CAACL,QAAQA,IAAIP,OAAO;AACvE,WAAOc,KAAKC,UAAU;MAAEP,MAAMI,OAAOJ;MAAMC,cAAcG,OAAOH;MAAcT,SAASA,QAAQgB,QAAQhB;IAAQ,CAAA;EACjH;EAEAiB,aAAa,OAAO,EAAEjB,SAASkB,WAAU,MAAE;AACzC,UAAM,EAAEV,MAAMC,cAAcT,QAAO,IAAKc,KAAKK,MAAMD,UAAAA;AACnD,eAAOE,8BACLC,oBAAOC,oCAAc;MAAEd;MAAMC;MAAcT,aAASuB,yBAAQF,oBAAOG,gCAAU;QAAExB;MAAQ,CAAA,CAAA;MAAKyB,SAAS,CAAA;IAAG,CAAA,CAAA;EAE5G;AACF;",
|
|
6
|
+
"names": ["isMarkdownProperties", "data", "isEchoObject", "title", "markdownExtensionPlugins", "plugins", "filter", "plugin", "Boolean", "provides", "markdown", "nonTitleChars", "getFallbackName", "content", "substring", "split", "replaceAll", "trim", "setFallbackName", "debounce", "doc", "name", "fallbackName", "serializer", "serialize", "object", "loadObjectReferences", "JSON", "stringify", "target", "deserialize", "serialized", "parse", "createObject", "create", "DocumentType", "makeRef", "TextType", "threads"]
|
|
7
|
+
}
|
package/dist/lib/node/index.cjs
CHANGED
|
@@ -28,102 +28,100 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
var node_exports = {};
|
|
30
30
|
__export(node_exports, {
|
|
31
|
-
DocumentType: () =>
|
|
32
|
-
MarkdownAction: () =>
|
|
31
|
+
DocumentType: () => import_chunk_CQMXZ54Z.DocumentType,
|
|
32
|
+
MarkdownAction: () => import_chunk_CQMXZ54Z.MarkdownAction,
|
|
33
33
|
MarkdownPlugin: () => MarkdownPlugin,
|
|
34
|
-
TextType: () =>
|
|
34
|
+
TextType: () => import_chunk_CQMXZ54Z.TextType,
|
|
35
35
|
default: () => src_default,
|
|
36
|
-
getFallbackName: () =>
|
|
37
|
-
isEditorModel: () =>
|
|
38
|
-
isMarkdownProperties: () =>
|
|
39
|
-
markdownExtensionPlugins: () =>
|
|
40
|
-
serializer: () =>
|
|
41
|
-
setFallbackName: () =>
|
|
36
|
+
getFallbackName: () => import_chunk_SXQAPZZU.getFallbackName,
|
|
37
|
+
isEditorModel: () => import_chunk_CQMXZ54Z.isEditorModel,
|
|
38
|
+
isMarkdownProperties: () => import_chunk_SXQAPZZU.isMarkdownProperties,
|
|
39
|
+
markdownExtensionPlugins: () => import_chunk_SXQAPZZU.markdownExtensionPlugins,
|
|
40
|
+
serializer: () => import_chunk_SXQAPZZU.serializer,
|
|
41
|
+
setFallbackName: () => import_chunk_SXQAPZZU.setFallbackName
|
|
42
42
|
});
|
|
43
43
|
module.exports = __toCommonJS(node_exports);
|
|
44
|
-
var
|
|
45
|
-
var
|
|
44
|
+
var import_chunk_SXQAPZZU = require("./chunk-SXQAPZZU.cjs");
|
|
45
|
+
var import_chunk_CQMXZ54Z = require("./chunk-CQMXZ54Z.cjs");
|
|
46
46
|
var import_chunk_PHHIPRJC = require("./chunk-PHHIPRJC.cjs");
|
|
47
|
-
var
|
|
48
|
-
var
|
|
47
|
+
var import_effect = require("effect");
|
|
48
|
+
var import_react = __toESM(require("react"));
|
|
49
49
|
var import_app_framework = require("@dxos/app-framework");
|
|
50
50
|
var import_live_object = require("@dxos/live-object");
|
|
51
51
|
var import_local_storage = require("@dxos/local-storage");
|
|
52
|
-
var import_plugin_client = require("@dxos/plugin-client");
|
|
53
|
-
var import_plugin_graph = require("@dxos/plugin-graph");
|
|
54
52
|
var import_plugin_space = require("@dxos/plugin-space");
|
|
55
53
|
var import_types = require("@dxos/plugin-space/types");
|
|
56
54
|
var import_echo = require("@dxos/react-client/echo");
|
|
57
55
|
var import_react_ui_editor = require("@dxos/react-ui-editor");
|
|
58
|
-
var
|
|
59
|
-
var
|
|
56
|
+
var import_react2 = require("react");
|
|
57
|
+
var import_react3 = __toESM(require("react"));
|
|
60
58
|
var import_react_ui = require("@dxos/react-ui");
|
|
61
59
|
var import_react_ui_editor2 = require("@dxos/react-ui-editor");
|
|
62
60
|
var import_react_ui_form = require("@dxos/react-ui-form");
|
|
63
61
|
var MarkdownSettings = ({ settings }) => {
|
|
64
62
|
const { t } = (0, import_react_ui.useTranslation)(import_chunk_PHHIPRJC.MARKDOWN_PLUGIN);
|
|
65
|
-
return /* @__PURE__ */
|
|
63
|
+
return /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui_form.DeprecatedFormInput, {
|
|
66
64
|
label: t("default view mode label")
|
|
67
|
-
}, /* @__PURE__ */
|
|
65
|
+
}, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Select.Root, {
|
|
68
66
|
value: settings.defaultViewMode,
|
|
69
67
|
onValueChange: (value) => {
|
|
70
68
|
settings.defaultViewMode = value;
|
|
71
69
|
}
|
|
72
|
-
}, /* @__PURE__ */
|
|
70
|
+
}, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Select.TriggerButton, null), /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Select.Portal, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Select.Content, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Select.Viewport, null, import_react_ui_editor2.EditorViewModes.map((mode) => /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Select.Option, {
|
|
73
71
|
key: mode,
|
|
74
72
|
value: mode
|
|
75
73
|
}, t(`${mode} mode label`, {
|
|
76
74
|
ns: "react-ui-editor"
|
|
77
|
-
})))))))), /* @__PURE__ */
|
|
75
|
+
})))))))), /* @__PURE__ */ import_react3.default.createElement(import_react_ui_form.DeprecatedFormInput, {
|
|
78
76
|
label: t("editor input mode label")
|
|
79
|
-
}, /* @__PURE__ */
|
|
77
|
+
}, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Select.Root, {
|
|
80
78
|
value: settings.editorInputMode ?? "default",
|
|
81
79
|
onValueChange: (value) => {
|
|
82
80
|
settings.editorInputMode = value;
|
|
83
81
|
}
|
|
84
|
-
}, /* @__PURE__ */
|
|
82
|
+
}, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Select.TriggerButton, {
|
|
85
83
|
placeholder: t("select editor input mode placeholder")
|
|
86
|
-
}), /* @__PURE__ */
|
|
84
|
+
}), /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Select.Portal, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Select.Content, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Select.Viewport, null, import_react_ui_editor2.EditorInputModes.map((mode) => /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Select.Option, {
|
|
87
85
|
key: mode,
|
|
88
86
|
value: mode
|
|
89
|
-
}, t(`settings editor input mode ${mode} label`)))))))), /* @__PURE__ */
|
|
87
|
+
}, t(`settings editor input mode ${mode} label`)))))))), /* @__PURE__ */ import_react3.default.createElement(import_react_ui_form.DeprecatedFormInput, {
|
|
90
88
|
label: t("settings toolbar label")
|
|
91
|
-
}, /* @__PURE__ */
|
|
89
|
+
}, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Input.Switch, {
|
|
92
90
|
checked: settings.toolbar,
|
|
93
91
|
onCheckedChange: (checked) => settings.toolbar = !!checked
|
|
94
|
-
})), /* @__PURE__ */
|
|
92
|
+
})), /* @__PURE__ */ import_react3.default.createElement(import_react_ui_form.DeprecatedFormInput, {
|
|
95
93
|
label: t("settings numbered headings label")
|
|
96
|
-
}, /* @__PURE__ */
|
|
94
|
+
}, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Input.Switch, {
|
|
97
95
|
checked: settings.numberedHeadings,
|
|
98
96
|
onCheckedChange: (checked) => settings.numberedHeadings = !!checked
|
|
99
|
-
})), /* @__PURE__ */
|
|
97
|
+
})), /* @__PURE__ */ import_react3.default.createElement(import_react_ui_form.DeprecatedFormInput, {
|
|
100
98
|
label: t("settings folding label")
|
|
101
|
-
}, /* @__PURE__ */
|
|
99
|
+
}, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Input.Switch, {
|
|
102
100
|
checked: settings.folding,
|
|
103
101
|
onCheckedChange: (checked) => settings.folding = !!checked
|
|
104
|
-
})), /* @__PURE__ */
|
|
102
|
+
})), /* @__PURE__ */ import_react3.default.createElement(import_react_ui_form.DeprecatedFormInput, {
|
|
105
103
|
label: t("settings experimental label")
|
|
106
|
-
}, /* @__PURE__ */
|
|
104
|
+
}, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Input.Switch, {
|
|
107
105
|
checked: settings.experimental,
|
|
108
106
|
onCheckedChange: (checked) => settings.experimental = !!checked
|
|
109
|
-
})), /* @__PURE__ */
|
|
107
|
+
})), /* @__PURE__ */ import_react3.default.createElement(import_react_ui_form.DeprecatedFormInput, {
|
|
110
108
|
label: t("settings debug label"),
|
|
111
|
-
secondary: settings.debug ? /* @__PURE__ */
|
|
109
|
+
secondary: settings.debug ? /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Input.Root, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Input.TextArea, {
|
|
112
110
|
rows: 5,
|
|
113
111
|
value: settings.typewriter,
|
|
114
112
|
onChange: ({ target: { value } }) => settings.typewriter = value,
|
|
115
113
|
placeholder: t("settings debug placeholder")
|
|
116
114
|
})) : void 0
|
|
117
|
-
}, /* @__PURE__ */
|
|
115
|
+
}, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Input.Switch, {
|
|
118
116
|
checked: settings.debug,
|
|
119
117
|
onCheckedChange: (checked) => settings.debug = !!checked
|
|
120
118
|
})));
|
|
121
119
|
};
|
|
122
|
-
var MarkdownContainer = (0,
|
|
120
|
+
var MarkdownContainer = (0, import_react2.lazy)(() => import("./MarkdownContainer-EX6YDF6J.cjs"));
|
|
123
121
|
var translations_default = [
|
|
124
122
|
{
|
|
125
123
|
"en-US": {
|
|
126
|
-
[
|
|
124
|
+
[import_chunk_CQMXZ54Z.DocumentType.typename]: {
|
|
127
125
|
"typename label": "Document"
|
|
128
126
|
},
|
|
129
127
|
[import_chunk_PHHIPRJC.MARKDOWN_PLUGIN]: {
|
|
@@ -153,7 +151,6 @@ var translations_default = [
|
|
|
153
151
|
}
|
|
154
152
|
}
|
|
155
153
|
];
|
|
156
|
-
var getDoc = (object) => object instanceof import_chunk_YGMWZIIJ.DocumentType ? object : void 0;
|
|
157
154
|
var MarkdownPlugin = () => {
|
|
158
155
|
const settings = new import_local_storage.LocalStorageStore(import_chunk_PHHIPRJC.MARKDOWN_PLUGIN, {
|
|
159
156
|
defaultViewMode: "preview",
|
|
@@ -171,7 +168,7 @@ var MarkdownPlugin = () => {
|
|
|
171
168
|
const setViewMode = (id, viewMode) => state.values.viewMode[id] = viewMode;
|
|
172
169
|
return {
|
|
173
170
|
meta: import_chunk_PHHIPRJC.meta_default,
|
|
174
|
-
ready: async (plugins) => {
|
|
171
|
+
ready: async ({ plugins }) => {
|
|
175
172
|
settings.prop({
|
|
176
173
|
key: "defaultViewMode",
|
|
177
174
|
type: import_local_storage.LocalStorageStore.enum()
|
|
@@ -215,7 +212,7 @@ var MarkdownPlugin = () => {
|
|
|
215
212
|
key: "viewMode",
|
|
216
213
|
type: import_local_storage.LocalStorageStore.json()
|
|
217
214
|
});
|
|
218
|
-
(0,
|
|
215
|
+
(0, import_chunk_SXQAPZZU.markdownExtensionPlugins)(plugins).forEach((plugin) => {
|
|
219
216
|
const { extensions } = plugin.provides.markdown;
|
|
220
217
|
state.values.extensionProviders?.push(extensions);
|
|
221
218
|
});
|
|
@@ -224,9 +221,9 @@ var MarkdownPlugin = () => {
|
|
|
224
221
|
settings: settings.values,
|
|
225
222
|
metadata: {
|
|
226
223
|
records: {
|
|
227
|
-
[
|
|
228
|
-
createObject:
|
|
229
|
-
label: (object) => object instanceof
|
|
224
|
+
[import_chunk_CQMXZ54Z.DocumentType.typename]: {
|
|
225
|
+
createObject: (props) => (0, import_app_framework.createIntent)(import_chunk_CQMXZ54Z.MarkdownAction.Create, props),
|
|
226
|
+
label: (object) => object instanceof import_chunk_CQMXZ54Z.DocumentType ? object.name || object.fallbackName : void 0,
|
|
230
227
|
placeholder: [
|
|
231
228
|
"document title placeholder",
|
|
232
229
|
{
|
|
@@ -238,11 +235,11 @@ var MarkdownPlugin = () => {
|
|
|
238
235
|
managesAutofocus: true
|
|
239
236
|
},
|
|
240
237
|
// TODO(wittjosiah): Move out of metadata.
|
|
241
|
-
loadReferences: (doc) =>
|
|
242
|
-
|
|
243
|
-
...
|
|
238
|
+
loadReferences: async (doc) => await import_live_object.RefArray.loadAll([
|
|
239
|
+
doc.content,
|
|
240
|
+
...doc.threads
|
|
244
241
|
]),
|
|
245
|
-
serializer:
|
|
242
|
+
serializer: import_chunk_SXQAPZZU.serializer
|
|
246
243
|
}
|
|
247
244
|
}
|
|
248
245
|
},
|
|
@@ -252,79 +249,26 @@ var MarkdownPlugin = () => {
|
|
|
252
249
|
],
|
|
253
250
|
echo: {
|
|
254
251
|
schema: [
|
|
255
|
-
|
|
252
|
+
import_chunk_CQMXZ54Z.DocumentType
|
|
256
253
|
],
|
|
257
254
|
system: [
|
|
258
|
-
|
|
255
|
+
import_chunk_CQMXZ54Z.TextType
|
|
259
256
|
]
|
|
260
257
|
},
|
|
261
258
|
graph: {
|
|
262
|
-
builder: (plugins) => {
|
|
263
|
-
const client = (0, import_app_framework.resolvePlugin)(plugins, import_plugin_client.parseClientPlugin)?.provides.client;
|
|
264
|
-
const dispatch = (0, import_app_framework.resolvePlugin)(plugins, import_app_framework.parseIntentPlugin)?.provides.intent.dispatch;
|
|
265
|
-
if (!client || !dispatch) {
|
|
266
|
-
return [];
|
|
267
|
-
}
|
|
268
|
-
return (0, import_plugin_graph.createExtension)({
|
|
269
|
-
id: import_chunk_YGMWZIIJ.MarkdownAction.CREATE,
|
|
270
|
-
filter: (node) => (0, import_plugin_graph.isActionGroup)(node) && node.id.startsWith(import_plugin_space.SpaceAction.ADD_OBJECT),
|
|
271
|
-
actions: ({ node }) => {
|
|
272
|
-
const id = node.id.split("/").at(-1);
|
|
273
|
-
const [spaceId, objectId] = id?.split(":") ?? [];
|
|
274
|
-
const space = client.spaces.get().find((space2) => space2.id === spaceId);
|
|
275
|
-
const object = objectId && space?.db.getObjectById(objectId);
|
|
276
|
-
const target = objectId ? object : space;
|
|
277
|
-
if (!target) {
|
|
278
|
-
return;
|
|
279
|
-
}
|
|
280
|
-
return [
|
|
281
|
-
{
|
|
282
|
-
id: `${import_chunk_PHHIPRJC.MARKDOWN_PLUGIN}/create/${node.id}`,
|
|
283
|
-
data: async () => {
|
|
284
|
-
await dispatch([
|
|
285
|
-
{
|
|
286
|
-
plugin: import_chunk_PHHIPRJC.MARKDOWN_PLUGIN,
|
|
287
|
-
action: import_chunk_YGMWZIIJ.MarkdownAction.CREATE
|
|
288
|
-
},
|
|
289
|
-
{
|
|
290
|
-
action: import_plugin_space.SpaceAction.ADD_OBJECT,
|
|
291
|
-
data: {
|
|
292
|
-
target
|
|
293
|
-
}
|
|
294
|
-
},
|
|
295
|
-
{
|
|
296
|
-
action: import_app_framework.NavigationAction.OPEN
|
|
297
|
-
}
|
|
298
|
-
]);
|
|
299
|
-
},
|
|
300
|
-
properties: {
|
|
301
|
-
label: [
|
|
302
|
-
"create document label",
|
|
303
|
-
{
|
|
304
|
-
ns: import_chunk_PHHIPRJC.MARKDOWN_PLUGIN
|
|
305
|
-
}
|
|
306
|
-
],
|
|
307
|
-
icon: "ph--text-aa--regular",
|
|
308
|
-
testId: "markdownPlugin.createObject"
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
];
|
|
312
|
-
}
|
|
313
|
-
});
|
|
314
|
-
},
|
|
315
259
|
serializer: (plugins) => {
|
|
316
|
-
const dispatch = (0, import_app_framework.resolvePlugin)(plugins, import_app_framework.parseIntentPlugin)?.provides.intent.
|
|
260
|
+
const dispatch = (0, import_app_framework.resolvePlugin)(plugins, import_app_framework.parseIntentPlugin)?.provides.intent.dispatchPromise;
|
|
317
261
|
if (!dispatch) {
|
|
318
262
|
return [];
|
|
319
263
|
}
|
|
320
264
|
return [
|
|
321
265
|
{
|
|
322
|
-
inputType:
|
|
266
|
+
inputType: import_chunk_CQMXZ54Z.DocumentType.typename,
|
|
323
267
|
outputType: "text/markdown",
|
|
324
268
|
// Reconcile with metadata serializers.
|
|
325
269
|
serialize: async (node) => {
|
|
326
270
|
const doc = node.data;
|
|
327
|
-
const content = await
|
|
271
|
+
const content = await doc.content.load();
|
|
328
272
|
return {
|
|
329
273
|
name: doc.name || doc.fallbackName || translations_default[0]["en-US"][import_chunk_PHHIPRJC.MARKDOWN_PLUGIN]["document title placeholder"],
|
|
330
274
|
data: content.content,
|
|
@@ -333,61 +277,26 @@ var MarkdownPlugin = () => {
|
|
|
333
277
|
},
|
|
334
278
|
deserialize: async (data, ancestors) => {
|
|
335
279
|
const space = ancestors.find(import_echo.isSpace);
|
|
336
|
-
const target = ancestors.findLast((ancestor) => ancestor instanceof import_types.CollectionType) ?? space?.properties[import_types.CollectionType.typename];
|
|
280
|
+
const target = ancestors.findLast((ancestor) => ancestor instanceof import_types.CollectionType) ?? space?.properties[import_types.CollectionType.typename]?.target;
|
|
337
281
|
if (!space || !target) {
|
|
338
282
|
return;
|
|
339
283
|
}
|
|
340
|
-
const result = await dispatch(
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
}
|
|
348
|
-
},
|
|
349
|
-
{
|
|
350
|
-
action: import_plugin_space.SpaceAction.ADD_OBJECT,
|
|
351
|
-
data: {
|
|
352
|
-
target
|
|
353
|
-
}
|
|
354
|
-
}
|
|
355
|
-
]);
|
|
356
|
-
return result?.data.object;
|
|
284
|
+
const result = await dispatch((0, import_effect.pipe)((0, import_app_framework.createIntent)(import_chunk_CQMXZ54Z.MarkdownAction.Create, {
|
|
285
|
+
name: data.name,
|
|
286
|
+
content: data.data
|
|
287
|
+
}), (0, import_app_framework.chain)(import_plugin_space.SpaceAction.AddObject, {
|
|
288
|
+
target
|
|
289
|
+
})));
|
|
290
|
+
return result.data?.object;
|
|
357
291
|
}
|
|
358
292
|
}
|
|
359
293
|
];
|
|
360
294
|
}
|
|
361
295
|
},
|
|
362
|
-
stack: {
|
|
363
|
-
creators: [
|
|
364
|
-
{
|
|
365
|
-
id: "create-stack-section-doc",
|
|
366
|
-
testId: "markdownPlugin.createSection",
|
|
367
|
-
type: [
|
|
368
|
-
"plugin name",
|
|
369
|
-
{
|
|
370
|
-
ns: import_chunk_PHHIPRJC.MARKDOWN_PLUGIN
|
|
371
|
-
}
|
|
372
|
-
],
|
|
373
|
-
label: [
|
|
374
|
-
"create stack section label",
|
|
375
|
-
{
|
|
376
|
-
ns: import_chunk_PHHIPRJC.MARKDOWN_PLUGIN
|
|
377
|
-
}
|
|
378
|
-
],
|
|
379
|
-
icon: (props) => /* @__PURE__ */ import_react2.default.createElement(import_react.TextAa, props),
|
|
380
|
-
intent: {
|
|
381
|
-
plugin: import_chunk_PHHIPRJC.MARKDOWN_PLUGIN,
|
|
382
|
-
action: import_chunk_YGMWZIIJ.MarkdownAction.CREATE
|
|
383
|
-
}
|
|
384
|
-
}
|
|
385
|
-
]
|
|
386
|
-
},
|
|
387
296
|
thread: {
|
|
388
|
-
predicate: (obj) => obj instanceof
|
|
297
|
+
predicate: (obj) => obj instanceof import_chunk_CQMXZ54Z.DocumentType,
|
|
389
298
|
createSort: (doc) => {
|
|
390
|
-
const accessor = doc.content ? (0, import_echo.createDocAccessor)(doc.content, [
|
|
299
|
+
const accessor = doc.content.target ? (0, import_echo.createDocAccessor)(doc.content.target, [
|
|
391
300
|
"content"
|
|
392
301
|
]) : void 0;
|
|
393
302
|
if (!accessor) {
|
|
@@ -408,68 +317,73 @@ var MarkdownPlugin = () => {
|
|
|
408
317
|
}
|
|
409
318
|
},
|
|
410
319
|
surface: {
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
320
|
+
definitions: () => [
|
|
321
|
+
(0, import_app_framework.createSurface)({
|
|
322
|
+
id: `${import_chunk_PHHIPRJC.MARKDOWN_PLUGIN}/document`,
|
|
323
|
+
role: [
|
|
324
|
+
"article",
|
|
325
|
+
"section"
|
|
326
|
+
],
|
|
327
|
+
filter: (data) => data.subject instanceof import_chunk_CQMXZ54Z.DocumentType,
|
|
328
|
+
component: ({ data, role }) => /* @__PURE__ */ import_react.default.createElement(MarkdownContainer, {
|
|
329
|
+
id: (0, import_echo.fullyQualifiedId)(data.subject),
|
|
330
|
+
object: data.subject,
|
|
331
|
+
role,
|
|
332
|
+
settings: settings.values,
|
|
333
|
+
extensionProviders: state.values.extensionProviders,
|
|
334
|
+
viewMode: getViewMode((0, import_echo.fullyQualifiedId)(data.subject)),
|
|
335
|
+
editorStateStore,
|
|
336
|
+
onViewModeChange: setViewMode
|
|
337
|
+
})
|
|
338
|
+
}),
|
|
339
|
+
(0, import_app_framework.createSurface)({
|
|
340
|
+
id: `${import_chunk_PHHIPRJC.MARKDOWN_PLUGIN}/editor`,
|
|
341
|
+
role: [
|
|
342
|
+
"article",
|
|
343
|
+
"section"
|
|
344
|
+
],
|
|
345
|
+
filter: (data) => (0, import_chunk_CQMXZ54Z.isEditorModel)(data.subject),
|
|
346
|
+
component: ({ data, role }) => /* @__PURE__ */ import_react.default.createElement(MarkdownContainer, {
|
|
347
|
+
id: data.subject.id,
|
|
348
|
+
object: data.subject,
|
|
349
|
+
role,
|
|
350
|
+
settings: settings.values,
|
|
351
|
+
extensionProviders: state.values.extensionProviders,
|
|
352
|
+
viewMode: getViewMode(data.subject.id),
|
|
353
|
+
editorStateStore,
|
|
354
|
+
onViewModeChange: setViewMode
|
|
355
|
+
})
|
|
356
|
+
}),
|
|
357
|
+
(0, import_app_framework.createSurface)({
|
|
358
|
+
id: `${import_chunk_PHHIPRJC.MARKDOWN_PLUGIN}/settings`,
|
|
359
|
+
role: "settings",
|
|
360
|
+
filter: (data) => data.subject === import_chunk_PHHIPRJC.MARKDOWN_PLUGIN,
|
|
361
|
+
component: () => /* @__PURE__ */ import_react.default.createElement(MarkdownSettings, {
|
|
362
|
+
settings: settings.values
|
|
363
|
+
})
|
|
364
|
+
})
|
|
365
|
+
]
|
|
445
366
|
},
|
|
446
367
|
intent: {
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
content:
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
};
|
|
460
|
-
}
|
|
461
|
-
case import_chunk_YGMWZIIJ.MarkdownAction.SET_VIEW_MODE: {
|
|
462
|
-
const { id, viewMode } = data ?? {};
|
|
463
|
-
if (typeof id === "string" && import_react_ui_editor.EditorViewModes.includes(viewMode)) {
|
|
464
|
-
state.values.viewMode[id] = viewMode;
|
|
465
|
-
return {
|
|
466
|
-
data: true
|
|
467
|
-
};
|
|
368
|
+
resolvers: () => [
|
|
369
|
+
(0, import_app_framework.createResolver)(import_chunk_CQMXZ54Z.MarkdownAction.Create, ({ name, content }) => {
|
|
370
|
+
const doc = (0, import_live_object.create)(import_chunk_CQMXZ54Z.DocumentType, {
|
|
371
|
+
name,
|
|
372
|
+
content: (0, import_live_object.makeRef)((0, import_live_object.create)(import_chunk_CQMXZ54Z.TextType, {
|
|
373
|
+
content: content ?? ""
|
|
374
|
+
})),
|
|
375
|
+
threads: []
|
|
376
|
+
});
|
|
377
|
+
return {
|
|
378
|
+
data: {
|
|
379
|
+
object: doc
|
|
468
380
|
}
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
}
|
|
472
|
-
|
|
381
|
+
};
|
|
382
|
+
}),
|
|
383
|
+
(0, import_app_framework.createResolver)(import_chunk_CQMXZ54Z.MarkdownAction.SetViewMode, ({ id, viewMode }) => {
|
|
384
|
+
state.values.viewMode[id] = viewMode;
|
|
385
|
+
})
|
|
386
|
+
]
|
|
473
387
|
}
|
|
474
388
|
}
|
|
475
389
|
};
|