@dxos/plugin-markdown 0.6.13 → 0.6.14-main.1366248
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-J5BZUIVL.mjs +472 -0
- package/dist/lib/browser/MarkdownContainer-J5BZUIVL.mjs.map +7 -0
- package/dist/lib/browser/chunk-4X6YX3KU.mjs +15 -0
- package/dist/lib/browser/chunk-4X6YX3KU.mjs.map +7 -0
- package/dist/lib/browser/chunk-PV4AWYWK.mjs +52 -0
- package/dist/lib/browser/chunk-PV4AWYWK.mjs.map +7 -0
- package/dist/lib/browser/{chunk-CQJL4G4X.mjs → chunk-VZAGHNHU.mjs} +4 -2
- package/dist/lib/browser/chunk-VZAGHNHU.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +84 -125
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/meta.mjs +1 -1
- package/dist/lib/browser/types/index.mjs +6 -4
- package/dist/lib/node/MarkdownContainer-UYBYWCRU.cjs +487 -0
- package/dist/lib/node/MarkdownContainer-UYBYWCRU.cjs.map +7 -0
- package/dist/lib/node/chunk-2A5P424C.cjs +74 -0
- package/dist/lib/node/chunk-2A5P424C.cjs.map +7 -0
- package/dist/lib/node/{chunk-VWQH4WC2.cjs → chunk-BHPFK7YI.cjs} +11 -8
- package/dist/lib/node/chunk-BHPFK7YI.cjs.map +7 -0
- package/dist/lib/node/{DocumentCard-EHJDDSRY.cjs → chunk-PHHIPRJC.cjs} +16 -10
- package/dist/lib/node/chunk-PHHIPRJC.cjs.map +7 -0
- package/dist/lib/node/index.cjs +116 -153
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/meta.cjs +3 -3
- package/dist/lib/node/meta.cjs.map +1 -1
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/types/index.cjs +8 -6
- package/dist/lib/node/types/index.cjs.map +2 -2
- package/dist/lib/node-esm/MarkdownContainer-P3EAZ3OR.mjs +473 -0
- package/dist/lib/node-esm/MarkdownContainer-P3EAZ3OR.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-BABK7FMW.mjs +17 -0
- package/dist/lib/node-esm/chunk-BABK7FMW.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-EREAR7QS.mjs +53 -0
- package/dist/lib/node-esm/chunk-EREAR7QS.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-OEMU3XY7.mjs +42 -0
- package/dist/lib/node-esm/chunk-OEMU3XY7.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +492 -0
- package/dist/lib/node-esm/index.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -0
- package/dist/lib/node-esm/meta.mjs +10 -0
- package/dist/lib/node-esm/types/index.mjs +15 -0
- package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownContainer.d.ts +15 -0
- package/dist/types/src/components/MarkdownContainer.d.ts.map +1 -0
- package/dist/types/src/components/MarkdownEditor.d.ts +13 -8
- package/dist/types/src/components/MarkdownEditor.d.ts.map +1 -1
- package/dist/types/src/components/MarkdownEditor.stories.d.ts +4 -14
- package/dist/types/src/components/MarkdownEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/Toolbar.stories.d.ts +4 -2
- package/dist/types/src/components/Toolbar.stories.d.ts.map +1 -1
- package/dist/types/src/components/index.d.ts +1 -11
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/extensions.d.ts +11 -14
- package/dist/types/src/extensions.d.ts.map +1 -1
- package/dist/types/src/hooks/index.d.ts +2 -0
- package/dist/types/src/hooks/index.d.ts.map +1 -0
- package/dist/types/src/hooks/useSelectCurrentThread.d.ts +6 -0
- package/dist/types/src/hooks/useSelectCurrentThread.d.ts.map +1 -0
- package/dist/types/src/meta.d.ts +4 -9
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/types/document.d.ts +10 -1
- package/dist/types/src/types/document.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +8 -9
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util.d.ts.map +1 -1
- package/package.json +42 -45
- package/src/MarkdownPlugin.tsx +56 -114
- package/src/components/MarkdownContainer.tsx +109 -0
- package/src/components/MarkdownEditor.stories.tsx +34 -23
- package/src/components/MarkdownEditor.tsx +48 -80
- package/src/components/MarkdownSettings.tsx +15 -15
- package/src/components/Toolbar.stories.tsx +14 -11
- package/src/components/index.ts +2 -14
- package/src/extensions.tsx +139 -66
- package/src/hooks/index.ts +5 -0
- package/src/hooks/useSelectCurrentThread.tsx +46 -0
- package/src/meta.ts +15 -0
- package/src/translations.ts +1 -1
- package/src/types/document.ts +12 -0
- package/src/types/types.ts +10 -7
- package/src/util.tsx +6 -4
- package/dist/lib/browser/DocumentCard-2P4EICBA.mjs +0 -11
- package/dist/lib/browser/DocumentEditor-GPWV3VN3.mjs +0 -11
- package/dist/lib/browser/MarkdownEditor-EKJJQEFL.mjs +0 -10
- package/dist/lib/browser/MarkdownEditor-EKJJQEFL.mjs.map +0 -7
- package/dist/lib/browser/chunk-354DCID5.mjs +0 -117
- package/dist/lib/browser/chunk-354DCID5.mjs.map +0 -7
- package/dist/lib/browser/chunk-4GGD6YJO.mjs +0 -19
- package/dist/lib/browser/chunk-4GGD6YJO.mjs.map +0 -7
- package/dist/lib/browser/chunk-7AF2JLK4.mjs +0 -164
- package/dist/lib/browser/chunk-7AF2JLK4.mjs.map +0 -7
- package/dist/lib/browser/chunk-CQJL4G4X.mjs.map +0 -7
- package/dist/lib/browser/chunk-RL7QY322.mjs +0 -86
- package/dist/lib/browser/chunk-RL7QY322.mjs.map +0 -7
- package/dist/lib/browser/chunk-VUN4QKTT.mjs +0 -208
- package/dist/lib/browser/chunk-VUN4QKTT.mjs.map +0 -7
- package/dist/lib/node/DocumentCard-EHJDDSRY.cjs.map +0 -7
- package/dist/lib/node/DocumentEditor-I5GCRBKU.cjs +0 -29
- package/dist/lib/node/DocumentEditor-I5GCRBKU.cjs.map +0 -7
- package/dist/lib/node/MarkdownEditor-UE23H75V.cjs +0 -31
- package/dist/lib/node/MarkdownEditor-UE23H75V.cjs.map +0 -7
- package/dist/lib/node/chunk-7XIBNEI7.cjs +0 -238
- package/dist/lib/node/chunk-7XIBNEI7.cjs.map +0 -7
- package/dist/lib/node/chunk-KTYIOXL5.cjs +0 -149
- package/dist/lib/node/chunk-KTYIOXL5.cjs.map +0 -7
- package/dist/lib/node/chunk-Q4ZSCBQE.cjs +0 -114
- package/dist/lib/node/chunk-Q4ZSCBQE.cjs.map +0 -7
- package/dist/lib/node/chunk-RVGN72IX.cjs +0 -189
- package/dist/lib/node/chunk-RVGN72IX.cjs.map +0 -7
- package/dist/lib/node/chunk-TGMR2CKU.cjs +0 -52
- package/dist/lib/node/chunk-TGMR2CKU.cjs.map +0 -7
- package/dist/lib/node/chunk-VWQH4WC2.cjs.map +0 -7
- package/dist/types/src/components/DocumentCard.d.ts +0 -16
- package/dist/types/src/components/DocumentCard.d.ts.map +0 -1
- package/dist/types/src/components/DocumentEditor.d.ts +0 -14
- package/dist/types/src/components/DocumentEditor.d.ts.map +0 -1
- package/dist/types/src/components/HeadingMenu.d.ts +0 -13
- package/dist/types/src/components/HeadingMenu.d.ts.map +0 -1
- package/dist/types/src/components/Layout.d.ts +0 -6
- package/dist/types/src/components/Layout.d.ts.map +0 -1
- package/src/components/DocumentCard.tsx +0 -107
- package/src/components/DocumentEditor.tsx +0 -137
- package/src/components/HeadingMenu.tsx +0 -46
- package/src/components/Layout.tsx +0 -27
- package/src/meta.tsx +0 -19
- /package/dist/lib/{browser/DocumentCard-2P4EICBA.mjs.map → node-esm/meta.mjs.map} +0 -0
- /package/dist/lib/{browser/DocumentEditor-GPWV3VN3.mjs.map → node-esm/types/index.mjs.map} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
MARKDOWN_PLUGIN
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-4X6YX3KU.mjs";
|
|
4
4
|
|
|
5
5
|
// packages/plugins/plugin-markdown/src/types/document.ts
|
|
6
6
|
import { ref, S, TypedObject } from "@dxos/echo-schema";
|
|
@@ -22,6 +22,7 @@ var DocumentType = class extends TypedObject({
|
|
|
22
22
|
threads: S.mutable(S.Array(ref(ThreadType)))
|
|
23
23
|
}) {
|
|
24
24
|
};
|
|
25
|
+
var isEditorModel = (data) => data && typeof data === "object" && "id" in data && typeof data.id === "string" && "text" in data && typeof data.text === "string";
|
|
25
26
|
|
|
26
27
|
// packages/plugins/plugin-markdown/src/types/types.ts
|
|
27
28
|
var MARKDOWN_ACTION = `${MARKDOWN_PLUGIN}/action`;
|
|
@@ -34,6 +35,7 @@ var MarkdownAction;
|
|
|
34
35
|
export {
|
|
35
36
|
TextType,
|
|
36
37
|
DocumentType,
|
|
38
|
+
isEditorModel,
|
|
37
39
|
MarkdownAction
|
|
38
40
|
};
|
|
39
|
-
//# sourceMappingURL=chunk-
|
|
41
|
+
//# sourceMappingURL=chunk-VZAGHNHU.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/types/document.ts", "../../../src/types/types.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { ref, S, TypedObject } from '@dxos/echo-schema';\nimport { ThreadType } from '@dxos/plugin-space/types';\n\nexport class TextType extends TypedObject({ typename: 'dxos.org/type/Text', version: '0.1.0' })({\n content: S.String,\n}) {}\n\nexport class DocumentType extends TypedObject({ typename: 'dxos.org/type/Document', version: '0.1.0' })({\n name: S.optional(S.String),\n fallbackName: S.optional(S.String),\n content: ref(TextType),\n threads: S.mutable(S.Array(ref(ThreadType))),\n}) {}\n\n/**\n * Checks if an object conforms to the interface needed to render an editor.\n */\n// TODO(burdon): Normalize types (from FilesPlugin).\nexport const isEditorModel = (data: any): data is { id: string; text: string } =>\n data &&\n typeof data === 'object' &&\n 'id' in data &&\n typeof data.id === 'string' &&\n 'text' in data &&\n typeof data.text === 'string';\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport type {\n GraphBuilderProvides,\n GraphSerializerProvides,\n IntentResolverProvides,\n MetadataRecordsProvides,\n SettingsProvides,\n SurfaceProvides,\n TranslationsProvides,\n} from '@dxos/app-framework';\nimport { type SchemaProvides } from '@dxos/plugin-client';\nimport { type SpaceInitProvides } from '@dxos/plugin-space';\nimport { type Extension, type EditorInputMode, type EditorViewMode } from '@dxos/react-ui-editor';\n\nimport { type DocumentType } from './document';\nimport { MARKDOWN_PLUGIN } from '../meta';\n\nconst MARKDOWN_ACTION = `${MARKDOWN_PLUGIN}/action`;\n\nexport enum MarkdownAction {\n CREATE = `${MARKDOWN_ACTION}/create`,\n SET_VIEW_MODE = `${MARKDOWN_ACTION}/set-view-mode`,\n}\n\nexport type MarkdownProperties = Record<string, any>;\n\n// TODO(burdon): Async.\nexport type MarkdownExtensionProvider = (props: { document?: DocumentType }) => Extension | undefined;\n\nexport type OnChange = (text: string) => void;\n\nexport type MarkdownExtensionProvides = {\n // TODO(burdon): Rename.\n markdown: {\n extensions: MarkdownExtensionProvider;\n };\n};\n\n// TODO(wittjosiah): Factor out to graph plugin?\ntype StackProvides = {\n stack: {\n creators?: Record<string, any>[];\n };\n};\n\nexport type MarkdownPluginState = {\n // Codemirror extensions provided by other plugins.\n extensionProviders?: MarkdownExtensionProvider[];\n\n // TODO(burdon): Extend view mode per document to include scroll position, etc.\n // View mode per document.\n viewMode: Record<string, EditorViewMode>;\n};\n\nexport type MarkdownSettingsProps = {\n defaultViewMode: EditorViewMode;\n editorInputMode?: EditorInputMode;\n experimental?: boolean;\n debug?: boolean;\n toolbar?: boolean;\n typewriter?: string;\n // TODO(burdon): Per document settings.\n numberedHeadings?: boolean;\n folding?: boolean;\n};\n\n// TODO(Zan): Move this to the plugin-space plugin or another common location when we implement comments in sheets.\ntype ThreadProvides<T> = {\n thread: {\n predicate: (obj: any) => obj is T;\n createSort: (obj: T) => (anchorA: string | undefined, anchorB: string | undefined) => number;\n };\n};\n\nexport type MarkdownPluginProvides = SurfaceProvides &\n IntentResolverProvides &\n GraphBuilderProvides &\n GraphSerializerProvides &\n MetadataRecordsProvides &\n SettingsProvides<MarkdownSettingsProps> &\n TranslationsProvides &\n SchemaProvides &\n SpaceInitProvides &\n StackProvides &\n ThreadProvides<DocumentType>;\n"],
|
|
5
|
+
"mappings": ";;;;;AAIA,SAASA,KAAKC,GAAGC,mBAAmB;AACpC,SAASC,kBAAkB;AAEpB,IAAMC,WAAN,cAAuBC,YAAY;EAAEC,UAAU;EAAsBC,SAAS;AAAQ,CAAA,EAAG;EAC9FC,SAASC,EAAEC;AACb,CAAA,EAAA;AAAI;AAEG,IAAMC,eAAN,cAA2BN,YAAY;EAAEC,UAAU;EAA0BC,SAAS;AAAQ,CAAA,EAAG;EACtGK,MAAMH,EAAEI,SAASJ,EAAEC,MAAM;EACzBI,cAAcL,EAAEI,SAASJ,EAAEC,MAAM;EACjCF,SAASO,IAAIX,QAAAA;EACbY,SAASP,EAAEQ,QAAQR,EAAES,MAAMH,IAAII,UAAAA,CAAAA,CAAAA;AACjC,CAAA,EAAA;AAAI;AAMG,IAAMC,gBAAgB,CAACC,SAC5BA,QACA,OAAOA,SAAS,YAChB,QAAQA,QACR,OAAOA,KAAKC,OAAO,YACnB,UAAUD,QACV,OAAOA,KAAKE,SAAS;;;ACRvB,IAAMC,kBAAkB,GAAGC,eAAAA;;UAEfC,iBAAAA;8CACD,GAAGF,eAAAA,SAAwB,IAAA;qDACpB,GAAGA,eAAAA,gBAA+B,IAAA;GAFxCE,mBAAAA,iBAAAA,CAAAA,EAAAA;",
|
|
6
|
+
"names": ["ref", "S", "TypedObject", "ThreadType", "TextType", "TypedObject", "typename", "version", "content", "S", "String", "DocumentType", "name", "optional", "fallbackName", "ref", "threads", "mutable", "Array", "ThreadType", "isEditorModel", "data", "id", "text", "MARKDOWN_ACTION", "MARKDOWN_PLUGIN", "MarkdownAction"]
|
|
7
|
+
}
|
|
@@ -1,123 +1,104 @@
|
|
|
1
|
-
import "./chunk-RL7QY322.mjs";
|
|
2
1
|
import {
|
|
3
2
|
getFallbackName,
|
|
4
3
|
isMarkdownProperties,
|
|
5
4
|
markdownExtensionPlugins,
|
|
6
5
|
serializer,
|
|
7
6
|
setFallbackName
|
|
8
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-PV4AWYWK.mjs";
|
|
9
8
|
import {
|
|
10
9
|
DocumentType,
|
|
11
10
|
MarkdownAction,
|
|
12
|
-
TextType
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
import "./chunk-VUN4QKTT.mjs";
|
|
11
|
+
TextType,
|
|
12
|
+
isEditorModel
|
|
13
|
+
} from "./chunk-VZAGHNHU.mjs";
|
|
16
14
|
import {
|
|
17
15
|
MARKDOWN_PLUGIN,
|
|
18
16
|
meta_default
|
|
19
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-4X6YX3KU.mjs";
|
|
20
18
|
|
|
21
19
|
// packages/plugins/plugin-markdown/src/MarkdownPlugin.tsx
|
|
22
20
|
import { TextAa } from "@phosphor-icons/react";
|
|
23
|
-
import
|
|
24
|
-
import {
|
|
21
|
+
import React2 from "react";
|
|
22
|
+
import { parseIntentPlugin, resolvePlugin, LayoutAction, NavigationAction } from "@dxos/app-framework";
|
|
25
23
|
import { create } from "@dxos/echo-schema";
|
|
26
24
|
import { LocalStorageStore } from "@dxos/local-storage";
|
|
27
|
-
import { log } from "@dxos/log";
|
|
28
25
|
import { parseClientPlugin } from "@dxos/plugin-client";
|
|
29
26
|
import { createExtension, isActionGroup } from "@dxos/plugin-graph";
|
|
30
27
|
import { SpaceAction } from "@dxos/plugin-space";
|
|
31
28
|
import { CollectionType } from "@dxos/plugin-space/types";
|
|
32
29
|
import { createDocAccessor, fullyQualifiedId, getRangeFromCursor, isSpace, loadObjectReferences } from "@dxos/react-client/echo";
|
|
33
|
-
import { EditorViewModes as EditorViewModes2, translations as editorTranslations } from "@dxos/react-ui-editor";
|
|
34
|
-
import { isTileComponentProps } from "@dxos/react-ui-mosaic";
|
|
30
|
+
import { EditorViewModes as EditorViewModes2, translations as editorTranslations, createEditorStateStore } from "@dxos/react-ui-editor";
|
|
35
31
|
|
|
36
32
|
// packages/plugins/plugin-markdown/src/components/index.ts
|
|
37
|
-
import
|
|
38
|
-
|
|
39
|
-
// packages/plugins/plugin-markdown/src/components/HeadingMenu.tsx
|
|
40
|
-
import { DotsThreeVertical } from "@phosphor-icons/react";
|
|
41
|
-
import React from "react";
|
|
42
|
-
import { Surface } from "@dxos/app-framework";
|
|
43
|
-
import { Button, DropdownMenu } from "@dxos/react-ui";
|
|
44
|
-
import { fineButtonDimensions, getSize } from "@dxos/react-ui-theme";
|
|
45
|
-
|
|
46
|
-
// packages/plugins/plugin-markdown/src/components/Layout.tsx
|
|
47
|
-
import React2 from "react";
|
|
48
|
-
import { Main } from "@dxos/react-ui";
|
|
49
|
-
import { editorWithToolbarLayout } from "@dxos/react-ui-editor";
|
|
50
|
-
import { topbarBlockPaddingStart } from "@dxos/react-ui-theme";
|
|
33
|
+
import { lazy } from "react";
|
|
51
34
|
|
|
52
35
|
// packages/plugins/plugin-markdown/src/components/MarkdownSettings.tsx
|
|
53
|
-
import
|
|
54
|
-
import { SettingsValue } from "@dxos/plugin-settings";
|
|
36
|
+
import React from "react";
|
|
55
37
|
import { Input, Select, useTranslation } from "@dxos/react-ui";
|
|
38
|
+
import { DeprecatedFormInput } from "@dxos/react-ui-data";
|
|
56
39
|
import { EditorInputModes, EditorViewModes } from "@dxos/react-ui-editor";
|
|
57
40
|
var MarkdownSettings = ({ settings }) => {
|
|
58
41
|
const { t } = useTranslation(MARKDOWN_PLUGIN);
|
|
59
|
-
return /* @__PURE__ */
|
|
42
|
+
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(DeprecatedFormInput, {
|
|
60
43
|
label: t("default view mode label")
|
|
61
|
-
}, /* @__PURE__ */
|
|
44
|
+
}, /* @__PURE__ */ React.createElement(Select.Root, {
|
|
62
45
|
value: settings.defaultViewMode,
|
|
63
46
|
onValueChange: (value) => {
|
|
64
47
|
settings.defaultViewMode = value;
|
|
65
48
|
}
|
|
66
|
-
}, /* @__PURE__ */
|
|
49
|
+
}, /* @__PURE__ */ React.createElement(Select.TriggerButton, null), /* @__PURE__ */ React.createElement(Select.Portal, null, /* @__PURE__ */ React.createElement(Select.Content, null, /* @__PURE__ */ React.createElement(Select.Viewport, null, EditorViewModes.map((mode) => /* @__PURE__ */ React.createElement(Select.Option, {
|
|
67
50
|
key: mode,
|
|
68
51
|
value: mode
|
|
69
52
|
}, t(`${mode} mode label`, {
|
|
70
53
|
ns: "react-ui-editor"
|
|
71
|
-
})))))))), /* @__PURE__ */
|
|
54
|
+
})))))))), /* @__PURE__ */ React.createElement(DeprecatedFormInput, {
|
|
72
55
|
label: t("editor input mode label")
|
|
73
|
-
}, /* @__PURE__ */
|
|
56
|
+
}, /* @__PURE__ */ React.createElement(Select.Root, {
|
|
74
57
|
value: settings.editorInputMode ?? "default",
|
|
75
58
|
onValueChange: (value) => {
|
|
76
59
|
settings.editorInputMode = value;
|
|
77
60
|
}
|
|
78
|
-
}, /* @__PURE__ */
|
|
61
|
+
}, /* @__PURE__ */ React.createElement(Select.TriggerButton, {
|
|
79
62
|
placeholder: t("select editor input mode placeholder")
|
|
80
|
-
}), /* @__PURE__ */
|
|
63
|
+
}), /* @__PURE__ */ React.createElement(Select.Portal, null, /* @__PURE__ */ React.createElement(Select.Content, null, /* @__PURE__ */ React.createElement(Select.Viewport, null, EditorInputModes.map((mode) => /* @__PURE__ */ React.createElement(Select.Option, {
|
|
81
64
|
key: mode,
|
|
82
65
|
value: mode
|
|
83
|
-
}, t(`settings editor input mode ${mode} label`)))))))), /* @__PURE__ */
|
|
66
|
+
}, t(`settings editor input mode ${mode} label`)))))))), /* @__PURE__ */ React.createElement(DeprecatedFormInput, {
|
|
84
67
|
label: t("settings toolbar label")
|
|
85
|
-
}, /* @__PURE__ */
|
|
68
|
+
}, /* @__PURE__ */ React.createElement(Input.Switch, {
|
|
86
69
|
checked: settings.toolbar,
|
|
87
70
|
onCheckedChange: (checked) => settings.toolbar = !!checked
|
|
88
|
-
})), /* @__PURE__ */
|
|
71
|
+
})), /* @__PURE__ */ React.createElement(DeprecatedFormInput, {
|
|
89
72
|
label: t("settings numbered headings label")
|
|
90
|
-
}, /* @__PURE__ */
|
|
73
|
+
}, /* @__PURE__ */ React.createElement(Input.Switch, {
|
|
91
74
|
checked: settings.numberedHeadings,
|
|
92
75
|
onCheckedChange: (checked) => settings.numberedHeadings = !!checked
|
|
93
|
-
})), /* @__PURE__ */
|
|
76
|
+
})), /* @__PURE__ */ React.createElement(DeprecatedFormInput, {
|
|
94
77
|
label: t("settings folding label")
|
|
95
|
-
}, /* @__PURE__ */
|
|
78
|
+
}, /* @__PURE__ */ React.createElement(Input.Switch, {
|
|
96
79
|
checked: settings.folding,
|
|
97
80
|
onCheckedChange: (checked) => settings.folding = !!checked
|
|
98
|
-
})), /* @__PURE__ */
|
|
81
|
+
})), /* @__PURE__ */ React.createElement(DeprecatedFormInput, {
|
|
99
82
|
label: t("settings experimental label")
|
|
100
|
-
}, /* @__PURE__ */
|
|
83
|
+
}, /* @__PURE__ */ React.createElement(Input.Switch, {
|
|
101
84
|
checked: settings.experimental,
|
|
102
85
|
onCheckedChange: (checked) => settings.experimental = !!checked
|
|
103
|
-
})), /* @__PURE__ */
|
|
86
|
+
})), /* @__PURE__ */ React.createElement(DeprecatedFormInput, {
|
|
104
87
|
label: t("settings debug label"),
|
|
105
|
-
secondary: settings.debug ? /* @__PURE__ */
|
|
88
|
+
secondary: settings.debug ? /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement(Input.TextArea, {
|
|
106
89
|
rows: 5,
|
|
107
90
|
value: settings.typewriter,
|
|
108
91
|
onChange: ({ target: { value } }) => settings.typewriter = value,
|
|
109
92
|
placeholder: t("settings debug placeholder")
|
|
110
93
|
})) : void 0
|
|
111
|
-
}, /* @__PURE__ */
|
|
94
|
+
}, /* @__PURE__ */ React.createElement(Input.Switch, {
|
|
112
95
|
checked: settings.debug,
|
|
113
96
|
onCheckedChange: (checked) => settings.debug = !!checked
|
|
114
97
|
})));
|
|
115
98
|
};
|
|
116
99
|
|
|
117
100
|
// packages/plugins/plugin-markdown/src/components/index.ts
|
|
118
|
-
var
|
|
119
|
-
var DocumentEditor = React4.lazy(() => import("./DocumentEditor-GPWV3VN3.mjs"));
|
|
120
|
-
var MarkdownEditor = React4.lazy(() => import("./MarkdownEditor-EKJJQEFL.mjs"));
|
|
101
|
+
var MarkdownContainer = lazy(() => import("./MarkdownContainer-J5BZUIVL.mjs"));
|
|
121
102
|
|
|
122
103
|
// packages/plugins/plugin-markdown/src/translations.ts
|
|
123
104
|
var translations_default = [
|
|
@@ -132,7 +113,7 @@ var translations_default = [
|
|
|
132
113
|
"empty choose markdown from space message": "None available; try creating a new one instead?",
|
|
133
114
|
"chooser done label": "Add selected",
|
|
134
115
|
"create document label": "Create document",
|
|
135
|
-
"editor placeholder": "
|
|
116
|
+
"editor placeholder": "",
|
|
136
117
|
"editor input mode label": "Editor input mode",
|
|
137
118
|
"select editor input mode placeholder": "Select editor input mode\u2026",
|
|
138
119
|
"settings editor input mode default label": "Default",
|
|
@@ -152,37 +133,30 @@ var translations_default = [
|
|
|
152
133
|
];
|
|
153
134
|
|
|
154
135
|
// packages/plugins/plugin-markdown/src/MarkdownPlugin.tsx
|
|
155
|
-
var
|
|
156
|
-
var isEditorModel = (data) => {
|
|
157
|
-
return data && typeof data === "object" && "id" in data && typeof data.id === "string" && "text" in data && typeof data.text === "string";
|
|
158
|
-
};
|
|
136
|
+
var getDoc = (object) => object instanceof DocumentType ? object : void 0;
|
|
159
137
|
var MarkdownPlugin = () => {
|
|
160
138
|
const settings = new LocalStorageStore(MARKDOWN_PLUGIN, {
|
|
161
139
|
defaultViewMode: "preview",
|
|
162
140
|
toolbar: true,
|
|
163
|
-
|
|
141
|
+
numberedHeadings: true,
|
|
142
|
+
folding: true,
|
|
164
143
|
experimental: false
|
|
165
144
|
});
|
|
145
|
+
const editorStateStore = createEditorStateStore(`${MARKDOWN_PLUGIN}/editor`);
|
|
166
146
|
const state = new LocalStorageStore(MARKDOWN_PLUGIN, {
|
|
167
147
|
extensionProviders: [],
|
|
168
148
|
viewMode: {}
|
|
169
149
|
});
|
|
170
|
-
const getViewMode = (id) =>
|
|
171
|
-
|
|
172
|
-
};
|
|
173
|
-
const setViewMode = (id, nextViewMode) => {
|
|
174
|
-
state.values.viewMode[id] = nextViewMode;
|
|
175
|
-
};
|
|
150
|
+
const getViewMode = (id) => id && state.values.viewMode[id] || settings.values.defaultViewMode;
|
|
151
|
+
const setViewMode = (id, viewMode) => state.values.viewMode[id] = viewMode;
|
|
176
152
|
return {
|
|
177
153
|
meta: meta_default,
|
|
178
154
|
ready: async (plugins) => {
|
|
179
155
|
settings.prop({
|
|
180
156
|
key: "defaultViewMode",
|
|
181
|
-
storageKey: "default-view-mode",
|
|
182
157
|
type: LocalStorageStore.enum()
|
|
183
158
|
}).prop({
|
|
184
159
|
key: "editorInputMode",
|
|
185
|
-
storageKey: "editor-mode",
|
|
186
160
|
type: LocalStorageStore.enum({
|
|
187
161
|
allowUndefined: true
|
|
188
162
|
})
|
|
@@ -219,12 +193,11 @@ var MarkdownPlugin = () => {
|
|
|
219
193
|
});
|
|
220
194
|
state.prop({
|
|
221
195
|
key: "viewMode",
|
|
222
|
-
storageKey: "view-mode",
|
|
223
196
|
type: LocalStorageStore.json()
|
|
224
197
|
});
|
|
225
198
|
markdownExtensionPlugins(plugins).forEach((plugin) => {
|
|
226
199
|
const { extensions } = plugin.provides.markdown;
|
|
227
|
-
state.values.extensionProviders
|
|
200
|
+
state.values.extensionProviders?.push(extensions);
|
|
228
201
|
});
|
|
229
202
|
},
|
|
230
203
|
provides: {
|
|
@@ -232,15 +205,14 @@ var MarkdownPlugin = () => {
|
|
|
232
205
|
metadata: {
|
|
233
206
|
records: {
|
|
234
207
|
[DocumentType.typename]: {
|
|
235
|
-
label: (object) => object instanceof DocumentType ? object.name
|
|
208
|
+
label: (object) => object instanceof DocumentType ? object.name || object.fallbackName : void 0,
|
|
236
209
|
placeholder: [
|
|
237
210
|
"document title placeholder",
|
|
238
211
|
{
|
|
239
212
|
ns: MARKDOWN_PLUGIN
|
|
240
213
|
}
|
|
241
214
|
],
|
|
242
|
-
icon:
|
|
243
|
-
iconSymbol: "ph--text-aa--regular",
|
|
215
|
+
icon: "ph--text-aa--regular",
|
|
244
216
|
graphProps: {
|
|
245
217
|
managesAutofocus: true
|
|
246
218
|
},
|
|
@@ -263,6 +235,17 @@ var MarkdownPlugin = () => {
|
|
|
263
235
|
TextType
|
|
264
236
|
]
|
|
265
237
|
},
|
|
238
|
+
space: {
|
|
239
|
+
onSpaceCreate: {
|
|
240
|
+
label: [
|
|
241
|
+
"create document label",
|
|
242
|
+
{
|
|
243
|
+
ns: MARKDOWN_PLUGIN
|
|
244
|
+
}
|
|
245
|
+
],
|
|
246
|
+
action: MarkdownAction.CREATE
|
|
247
|
+
}
|
|
248
|
+
},
|
|
266
249
|
graph: {
|
|
267
250
|
builder: (plugins) => {
|
|
268
251
|
const client = resolvePlugin(plugins, parseClientPlugin)?.provides.client;
|
|
@@ -309,8 +292,7 @@ var MarkdownPlugin = () => {
|
|
|
309
292
|
ns: MARKDOWN_PLUGIN
|
|
310
293
|
}
|
|
311
294
|
],
|
|
312
|
-
icon:
|
|
313
|
-
iconSymbol: "ph--text-aa--regular",
|
|
295
|
+
icon: "ph--text-aa--regular",
|
|
314
296
|
testId: "markdownPlugin.createObject"
|
|
315
297
|
}
|
|
316
298
|
}
|
|
@@ -382,7 +364,7 @@ var MarkdownPlugin = () => {
|
|
|
382
364
|
ns: MARKDOWN_PLUGIN
|
|
383
365
|
}
|
|
384
366
|
],
|
|
385
|
-
icon: (props) => /* @__PURE__ */
|
|
367
|
+
icon: (props) => /* @__PURE__ */ React2.createElement(TextAa, props),
|
|
386
368
|
intent: {
|
|
387
369
|
plugin: MARKDOWN_PLUGIN,
|
|
388
370
|
action: MarkdownAction.CREATE
|
|
@@ -391,81 +373,57 @@ var MarkdownPlugin = () => {
|
|
|
391
373
|
]
|
|
392
374
|
},
|
|
393
375
|
thread: {
|
|
394
|
-
// TODO(Zan): How to better handle the type predicate?
|
|
395
376
|
predicate: (obj) => obj instanceof DocumentType,
|
|
396
377
|
createSort: (doc) => {
|
|
397
378
|
const accessor = doc.content ? createDocAccessor(doc.content, [
|
|
398
379
|
"content"
|
|
399
380
|
]) : void 0;
|
|
400
381
|
if (!accessor) {
|
|
401
|
-
log.warn("No accessor found for document content.", void 0, {
|
|
402
|
-
F: __dxlog_file,
|
|
403
|
-
L: 250,
|
|
404
|
-
S: void 0,
|
|
405
|
-
C: (f, a) => f(...a)
|
|
406
|
-
});
|
|
407
382
|
return (_) => 0;
|
|
408
383
|
}
|
|
409
384
|
const getStartPosition = (cursor) => {
|
|
410
385
|
const range = cursor ? getRangeFromCursor(accessor, cursor) : void 0;
|
|
411
386
|
return range?.start ?? Number.MAX_SAFE_INTEGER;
|
|
412
387
|
};
|
|
413
|
-
return (anchorA, anchorB) =>
|
|
388
|
+
return (anchorA, anchorB) => {
|
|
389
|
+
if (anchorA === void 0 || anchorB === void 0) {
|
|
390
|
+
return 0;
|
|
391
|
+
}
|
|
392
|
+
const posA = getStartPosition(anchorA);
|
|
393
|
+
const posB = getStartPosition(anchorB);
|
|
394
|
+
return posA - posB;
|
|
395
|
+
};
|
|
414
396
|
}
|
|
415
397
|
},
|
|
416
398
|
surface: {
|
|
417
|
-
component: ({ data, role
|
|
418
|
-
const doc = data.active instanceof DocumentType ? data.active : data.object instanceof DocumentType ? data.object : void 0;
|
|
399
|
+
component: ({ data, role }) => {
|
|
419
400
|
switch (role) {
|
|
420
401
|
case "section":
|
|
421
402
|
case "article": {
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
});
|
|
433
|
-
} else if (isEditorModel(data.object)) {
|
|
434
|
-
return /* @__PURE__ */ React5.createElement(MarkdownEditor, {
|
|
435
|
-
id: data.object.id,
|
|
436
|
-
role,
|
|
437
|
-
coordinate: data.coordinate,
|
|
438
|
-
initialValue: data.object.text,
|
|
439
|
-
extensionProviders: state.values.extensionProviders,
|
|
440
|
-
inputMode: settings.values.editorInputMode,
|
|
441
|
-
toolbar: settings.values.toolbar,
|
|
442
|
-
scrollPastEnd: true,
|
|
443
|
-
viewMode: getViewMode(data.object.id),
|
|
444
|
-
onViewModeChange: setViewMode
|
|
445
|
-
});
|
|
403
|
+
const doc = getDoc(data.object);
|
|
404
|
+
const { id, object } = isEditorModel(data.object) ? {
|
|
405
|
+
id: data.object.id,
|
|
406
|
+
object: data.object
|
|
407
|
+
} : doc ? {
|
|
408
|
+
id: fullyQualifiedId(doc),
|
|
409
|
+
object: doc
|
|
410
|
+
} : {};
|
|
411
|
+
if (!id || !object) {
|
|
412
|
+
return null;
|
|
446
413
|
}
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
}
|
|
458
|
-
};
|
|
459
|
-
return isTileComponentProps(cardProps) ? /* @__PURE__ */ React5.createElement(DocumentCard, {
|
|
460
|
-
...cardProps,
|
|
461
|
-
settings: settings.values,
|
|
462
|
-
ref: forwardedRef
|
|
463
|
-
}) : null;
|
|
464
|
-
}
|
|
465
|
-
break;
|
|
414
|
+
return /* @__PURE__ */ React2.createElement(MarkdownContainer, {
|
|
415
|
+
id,
|
|
416
|
+
object,
|
|
417
|
+
role,
|
|
418
|
+
settings: settings.values,
|
|
419
|
+
extensionProviders: state.values.extensionProviders,
|
|
420
|
+
viewMode: getViewMode(id),
|
|
421
|
+
editorStateStore,
|
|
422
|
+
onViewModeChange: setViewMode
|
|
423
|
+
});
|
|
466
424
|
}
|
|
467
425
|
case "settings": {
|
|
468
|
-
return data.plugin === meta_default.id ? /* @__PURE__ */
|
|
426
|
+
return data.plugin === meta_default.id ? /* @__PURE__ */ React2.createElement(MarkdownSettings, {
|
|
469
427
|
settings: settings.values
|
|
470
428
|
}) : null;
|
|
471
429
|
}
|
|
@@ -524,6 +482,7 @@ export {
|
|
|
524
482
|
TextType,
|
|
525
483
|
src_default as default,
|
|
526
484
|
getFallbackName,
|
|
485
|
+
isEditorModel,
|
|
527
486
|
isMarkdownProperties,
|
|
528
487
|
markdownExtensionPlugins,
|
|
529
488
|
serializer,
|