@dxos/plugin-markdown 0.6.13 → 0.6.14-main.7bd9c89

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 (124) hide show
  1. package/dist/lib/browser/MarkdownContainer-X53JPAW5.mjs +469 -0
  2. package/dist/lib/browser/MarkdownContainer-X53JPAW5.mjs.map +7 -0
  3. package/dist/lib/browser/chunk-45N5MEOV.mjs +50 -0
  4. package/dist/lib/browser/chunk-45N5MEOV.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-DRJ3FPYF.mjs +15 -0
  6. package/dist/lib/browser/chunk-DRJ3FPYF.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-CQJL4G4X.mjs → chunk-US5O2P3R.mjs} +4 -2
  8. package/dist/lib/browser/chunk-US5O2P3R.mjs.map +7 -0
  9. package/dist/lib/browser/index.mjs +80 -119
  10. package/dist/lib/browser/index.mjs.map +4 -4
  11. package/dist/lib/browser/meta.json +1 -1
  12. package/dist/lib/browser/meta.mjs +1 -1
  13. package/dist/lib/browser/types/index.mjs +6 -4
  14. package/dist/lib/node/MarkdownContainer-GZ6EAOPC.cjs +484 -0
  15. package/dist/lib/node/MarkdownContainer-GZ6EAOPC.cjs.map +7 -0
  16. package/dist/lib/node/{DocumentCard-EHJDDSRY.cjs → chunk-P7YU53RP.cjs} +16 -10
  17. package/dist/lib/node/chunk-P7YU53RP.cjs.map +7 -0
  18. package/dist/lib/node/{chunk-VWQH4WC2.cjs → chunk-UJMOZCIA.cjs} +11 -8
  19. package/dist/lib/node/chunk-UJMOZCIA.cjs.map +7 -0
  20. package/dist/lib/node/chunk-W2YJVZ3N.cjs +72 -0
  21. package/dist/lib/node/chunk-W2YJVZ3N.cjs.map +7 -0
  22. package/dist/lib/node/index.cjs +114 -149
  23. package/dist/lib/node/index.cjs.map +4 -4
  24. package/dist/lib/node/meta.cjs +3 -3
  25. package/dist/lib/node/meta.cjs.map +1 -1
  26. package/dist/lib/node/meta.json +1 -1
  27. package/dist/lib/node/types/index.cjs +8 -6
  28. package/dist/lib/node/types/index.cjs.map +2 -2
  29. package/dist/lib/node-esm/MarkdownContainer-FGCDNB4S.mjs +470 -0
  30. package/dist/lib/node-esm/MarkdownContainer-FGCDNB4S.mjs.map +7 -0
  31. package/dist/lib/node-esm/chunk-MIDCCMIX.mjs +42 -0
  32. package/dist/lib/node-esm/chunk-MIDCCMIX.mjs.map +7 -0
  33. package/dist/lib/node-esm/chunk-NEVN5WR6.mjs +17 -0
  34. package/dist/lib/node-esm/chunk-NEVN5WR6.mjs.map +7 -0
  35. package/dist/lib/node-esm/chunk-UCNOGIBC.mjs +51 -0
  36. package/dist/lib/node-esm/chunk-UCNOGIBC.mjs.map +7 -0
  37. package/dist/lib/node-esm/index.mjs +494 -0
  38. package/dist/lib/node-esm/index.mjs.map +7 -0
  39. package/dist/lib/node-esm/meta.json +1 -0
  40. package/dist/lib/node-esm/meta.mjs +10 -0
  41. package/dist/lib/node-esm/types/index.mjs +15 -0
  42. package/dist/types/src/MarkdownPlugin.d.ts.map +1 -1
  43. package/dist/types/src/components/MarkdownContainer.d.ts +15 -0
  44. package/dist/types/src/components/MarkdownContainer.d.ts.map +1 -0
  45. package/dist/types/src/components/MarkdownEditor.d.ts +8 -3
  46. package/dist/types/src/components/MarkdownEditor.d.ts.map +1 -1
  47. package/dist/types/src/components/MarkdownEditor.stories.d.ts +4 -14
  48. package/dist/types/src/components/MarkdownEditor.stories.d.ts.map +1 -1
  49. package/dist/types/src/components/Toolbar.stories.d.ts +4 -2
  50. package/dist/types/src/components/Toolbar.stories.d.ts.map +1 -1
  51. package/dist/types/src/components/index.d.ts +1 -11
  52. package/dist/types/src/components/index.d.ts.map +1 -1
  53. package/dist/types/src/extensions.d.ts +11 -15
  54. package/dist/types/src/extensions.d.ts.map +1 -1
  55. package/dist/types/src/hooks/index.d.ts +2 -0
  56. package/dist/types/src/hooks/index.d.ts.map +1 -0
  57. package/dist/types/src/hooks/useSelectCurrentThread.d.ts +6 -0
  58. package/dist/types/src/hooks/useSelectCurrentThread.d.ts.map +1 -0
  59. package/dist/types/src/meta.d.ts +4 -9
  60. package/dist/types/src/meta.d.ts.map +1 -1
  61. package/dist/types/src/types/document.d.ts +10 -1
  62. package/dist/types/src/types/document.d.ts.map +1 -1
  63. package/dist/types/src/types/types.d.ts +8 -9
  64. package/dist/types/src/types/types.d.ts.map +1 -1
  65. package/package.json +41 -36
  66. package/src/MarkdownPlugin.tsx +51 -98
  67. package/src/components/MarkdownContainer.tsx +111 -0
  68. package/src/components/MarkdownEditor.stories.tsx +34 -23
  69. package/src/components/MarkdownEditor.tsx +40 -76
  70. package/src/components/Toolbar.stories.tsx +14 -11
  71. package/src/components/index.ts +2 -14
  72. package/src/extensions.tsx +124 -67
  73. package/src/hooks/index.ts +5 -0
  74. package/src/hooks/useSelectCurrentThread.tsx +46 -0
  75. package/src/meta.ts +15 -0
  76. package/src/types/document.ts +12 -0
  77. package/src/types/types.ts +10 -7
  78. package/src/util.tsx +2 -2
  79. package/dist/lib/browser/DocumentCard-2P4EICBA.mjs +0 -11
  80. package/dist/lib/browser/DocumentEditor-GPWV3VN3.mjs +0 -11
  81. package/dist/lib/browser/MarkdownEditor-EKJJQEFL.mjs +0 -10
  82. package/dist/lib/browser/MarkdownEditor-EKJJQEFL.mjs.map +0 -7
  83. package/dist/lib/browser/chunk-354DCID5.mjs +0 -117
  84. package/dist/lib/browser/chunk-354DCID5.mjs.map +0 -7
  85. package/dist/lib/browser/chunk-4GGD6YJO.mjs +0 -19
  86. package/dist/lib/browser/chunk-4GGD6YJO.mjs.map +0 -7
  87. package/dist/lib/browser/chunk-7AF2JLK4.mjs +0 -164
  88. package/dist/lib/browser/chunk-7AF2JLK4.mjs.map +0 -7
  89. package/dist/lib/browser/chunk-CQJL4G4X.mjs.map +0 -7
  90. package/dist/lib/browser/chunk-RL7QY322.mjs +0 -86
  91. package/dist/lib/browser/chunk-RL7QY322.mjs.map +0 -7
  92. package/dist/lib/browser/chunk-VUN4QKTT.mjs +0 -208
  93. package/dist/lib/browser/chunk-VUN4QKTT.mjs.map +0 -7
  94. package/dist/lib/node/DocumentCard-EHJDDSRY.cjs.map +0 -7
  95. package/dist/lib/node/DocumentEditor-I5GCRBKU.cjs +0 -29
  96. package/dist/lib/node/DocumentEditor-I5GCRBKU.cjs.map +0 -7
  97. package/dist/lib/node/MarkdownEditor-UE23H75V.cjs +0 -31
  98. package/dist/lib/node/MarkdownEditor-UE23H75V.cjs.map +0 -7
  99. package/dist/lib/node/chunk-7XIBNEI7.cjs +0 -238
  100. package/dist/lib/node/chunk-7XIBNEI7.cjs.map +0 -7
  101. package/dist/lib/node/chunk-KTYIOXL5.cjs +0 -149
  102. package/dist/lib/node/chunk-KTYIOXL5.cjs.map +0 -7
  103. package/dist/lib/node/chunk-Q4ZSCBQE.cjs +0 -114
  104. package/dist/lib/node/chunk-Q4ZSCBQE.cjs.map +0 -7
  105. package/dist/lib/node/chunk-RVGN72IX.cjs +0 -189
  106. package/dist/lib/node/chunk-RVGN72IX.cjs.map +0 -7
  107. package/dist/lib/node/chunk-TGMR2CKU.cjs +0 -52
  108. package/dist/lib/node/chunk-TGMR2CKU.cjs.map +0 -7
  109. package/dist/lib/node/chunk-VWQH4WC2.cjs.map +0 -7
  110. package/dist/types/src/components/DocumentCard.d.ts +0 -16
  111. package/dist/types/src/components/DocumentCard.d.ts.map +0 -1
  112. package/dist/types/src/components/DocumentEditor.d.ts +0 -14
  113. package/dist/types/src/components/DocumentEditor.d.ts.map +0 -1
  114. package/dist/types/src/components/HeadingMenu.d.ts +0 -13
  115. package/dist/types/src/components/HeadingMenu.d.ts.map +0 -1
  116. package/dist/types/src/components/Layout.d.ts +0 -6
  117. package/dist/types/src/components/Layout.d.ts.map +0 -1
  118. package/src/components/DocumentCard.tsx +0 -107
  119. package/src/components/DocumentEditor.tsx +0 -137
  120. package/src/components/HeadingMenu.tsx +0 -46
  121. package/src/components/Layout.tsx +0 -27
  122. package/src/meta.tsx +0 -19
  123. /package/dist/lib/{browser/DocumentCard-2P4EICBA.mjs.map → node-esm/meta.mjs.map} +0 -0
  124. /package/dist/lib/{browser/DocumentEditor-GPWV3VN3.mjs.map → node-esm/types/index.mjs.map} +0 -0
@@ -28,117 +28,102 @@ 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: () => import_chunk_VWQH4WC2.DocumentType,
32
- MarkdownAction: () => import_chunk_VWQH4WC2.MarkdownAction,
31
+ DocumentType: () => import_chunk_UJMOZCIA.DocumentType,
32
+ MarkdownAction: () => import_chunk_UJMOZCIA.MarkdownAction,
33
33
  MarkdownPlugin: () => MarkdownPlugin,
34
- TextType: () => import_chunk_VWQH4WC2.TextType,
34
+ TextType: () => import_chunk_UJMOZCIA.TextType,
35
35
  default: () => src_default,
36
- getFallbackName: () => import_chunk_RVGN72IX.getFallbackName,
37
- isMarkdownProperties: () => import_chunk_RVGN72IX.isMarkdownProperties,
38
- markdownExtensionPlugins: () => import_chunk_RVGN72IX.markdownExtensionPlugins,
39
- serializer: () => import_chunk_RVGN72IX.serializer,
40
- setFallbackName: () => import_chunk_RVGN72IX.setFallbackName
36
+ getFallbackName: () => import_chunk_W2YJVZ3N.getFallbackName,
37
+ isEditorModel: () => import_chunk_UJMOZCIA.isEditorModel,
38
+ isMarkdownProperties: () => import_chunk_W2YJVZ3N.isMarkdownProperties,
39
+ markdownExtensionPlugins: () => import_chunk_W2YJVZ3N.markdownExtensionPlugins,
40
+ serializer: () => import_chunk_W2YJVZ3N.serializer,
41
+ setFallbackName: () => import_chunk_W2YJVZ3N.setFallbackName
41
42
  });
42
43
  module.exports = __toCommonJS(node_exports);
43
- var import_chunk_Q4ZSCBQE = require("./chunk-Q4ZSCBQE.cjs");
44
- var import_chunk_RVGN72IX = require("./chunk-RVGN72IX.cjs");
45
- var import_chunk_VWQH4WC2 = require("./chunk-VWQH4WC2.cjs");
46
- var import_chunk_KTYIOXL5 = require("./chunk-KTYIOXL5.cjs");
47
- var import_chunk_7XIBNEI7 = require("./chunk-7XIBNEI7.cjs");
48
- var import_chunk_TGMR2CKU = require("./chunk-TGMR2CKU.cjs");
44
+ var import_chunk_W2YJVZ3N = require("./chunk-W2YJVZ3N.cjs");
45
+ var import_chunk_UJMOZCIA = require("./chunk-UJMOZCIA.cjs");
46
+ var import_chunk_P7YU53RP = require("./chunk-P7YU53RP.cjs");
49
47
  var import_react = require("@phosphor-icons/react");
50
48
  var import_react2 = __toESM(require("react"));
51
49
  var import_app_framework = require("@dxos/app-framework");
52
50
  var import_echo_schema = require("@dxos/echo-schema");
53
51
  var import_local_storage = require("@dxos/local-storage");
54
- var import_log = require("@dxos/log");
55
52
  var import_plugin_client = require("@dxos/plugin-client");
56
53
  var import_plugin_graph = require("@dxos/plugin-graph");
57
54
  var import_plugin_space = require("@dxos/plugin-space");
58
55
  var import_types = require("@dxos/plugin-space/types");
59
56
  var import_echo = require("@dxos/react-client/echo");
60
57
  var import_react_ui_editor = require("@dxos/react-ui-editor");
61
- var import_react_ui_mosaic = require("@dxos/react-ui-mosaic");
62
- var import_react3 = __toESM(require("react"));
63
- var import_react4 = require("@phosphor-icons/react");
64
- var import_react5 = __toESM(require("react"));
65
- var import_app_framework2 = require("@dxos/app-framework");
58
+ var import_react3 = require("react");
59
+ var import_react4 = __toESM(require("react"));
60
+ var import_plugin_settings = require("@dxos/plugin-settings");
66
61
  var import_react_ui = require("@dxos/react-ui");
67
- var import_react_ui_theme = require("@dxos/react-ui-theme");
68
- var import_react6 = __toESM(require("react"));
69
- var import_react_ui2 = require("@dxos/react-ui");
70
62
  var import_react_ui_editor2 = require("@dxos/react-ui-editor");
71
- var import_react_ui_theme2 = require("@dxos/react-ui-theme");
72
- var import_react7 = __toESM(require("react"));
73
- var import_plugin_settings = require("@dxos/plugin-settings");
74
- var import_react_ui3 = require("@dxos/react-ui");
75
- var import_react_ui_editor3 = require("@dxos/react-ui-editor");
76
63
  var MarkdownSettings = ({ settings }) => {
77
- const { t } = (0, import_react_ui3.useTranslation)(import_chunk_TGMR2CKU.MARKDOWN_PLUGIN);
78
- return /* @__PURE__ */ import_react7.default.createElement(import_react7.default.Fragment, null, /* @__PURE__ */ import_react7.default.createElement(import_plugin_settings.SettingsValue, {
64
+ const { t } = (0, import_react_ui.useTranslation)(import_chunk_P7YU53RP.MARKDOWN_PLUGIN);
65
+ return /* @__PURE__ */ import_react4.default.createElement(import_react4.default.Fragment, null, /* @__PURE__ */ import_react4.default.createElement(import_plugin_settings.SettingsValue, {
79
66
  label: t("default view mode label")
80
- }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Select.Root, {
67
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Select.Root, {
81
68
  value: settings.defaultViewMode,
82
69
  onValueChange: (value) => {
83
70
  settings.defaultViewMode = value;
84
71
  }
85
- }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Select.TriggerButton, null), /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Select.Portal, null, /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Select.Content, null, /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Select.Viewport, null, import_react_ui_editor3.EditorViewModes.map((mode) => /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Select.Option, {
72
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Select.TriggerButton, null), /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Select.Portal, null, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Select.Content, null, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Select.Viewport, null, import_react_ui_editor2.EditorViewModes.map((mode) => /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Select.Option, {
86
73
  key: mode,
87
74
  value: mode
88
75
  }, t(`${mode} mode label`, {
89
76
  ns: "react-ui-editor"
90
- })))))))), /* @__PURE__ */ import_react7.default.createElement(import_plugin_settings.SettingsValue, {
77
+ })))))))), /* @__PURE__ */ import_react4.default.createElement(import_plugin_settings.SettingsValue, {
91
78
  label: t("editor input mode label")
92
- }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Select.Root, {
79
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Select.Root, {
93
80
  value: settings.editorInputMode ?? "default",
94
81
  onValueChange: (value) => {
95
82
  settings.editorInputMode = value;
96
83
  }
97
- }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Select.TriggerButton, {
84
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Select.TriggerButton, {
98
85
  placeholder: t("select editor input mode placeholder")
99
- }), /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Select.Portal, null, /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Select.Content, null, /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Select.Viewport, null, import_react_ui_editor3.EditorInputModes.map((mode) => /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Select.Option, {
86
+ }), /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Select.Portal, null, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Select.Content, null, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Select.Viewport, null, import_react_ui_editor2.EditorInputModes.map((mode) => /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Select.Option, {
100
87
  key: mode,
101
88
  value: mode
102
- }, t(`settings editor input mode ${mode} label`)))))))), /* @__PURE__ */ import_react7.default.createElement(import_plugin_settings.SettingsValue, {
89
+ }, t(`settings editor input mode ${mode} label`)))))))), /* @__PURE__ */ import_react4.default.createElement(import_plugin_settings.SettingsValue, {
103
90
  label: t("settings toolbar label")
104
- }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Input.Switch, {
91
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Input.Switch, {
105
92
  checked: settings.toolbar,
106
93
  onCheckedChange: (checked) => settings.toolbar = !!checked
107
- })), /* @__PURE__ */ import_react7.default.createElement(import_plugin_settings.SettingsValue, {
94
+ })), /* @__PURE__ */ import_react4.default.createElement(import_plugin_settings.SettingsValue, {
108
95
  label: t("settings numbered headings label")
109
- }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Input.Switch, {
96
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Input.Switch, {
110
97
  checked: settings.numberedHeadings,
111
98
  onCheckedChange: (checked) => settings.numberedHeadings = !!checked
112
- })), /* @__PURE__ */ import_react7.default.createElement(import_plugin_settings.SettingsValue, {
99
+ })), /* @__PURE__ */ import_react4.default.createElement(import_plugin_settings.SettingsValue, {
113
100
  label: t("settings folding label")
114
- }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Input.Switch, {
101
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Input.Switch, {
115
102
  checked: settings.folding,
116
103
  onCheckedChange: (checked) => settings.folding = !!checked
117
- })), /* @__PURE__ */ import_react7.default.createElement(import_plugin_settings.SettingsValue, {
104
+ })), /* @__PURE__ */ import_react4.default.createElement(import_plugin_settings.SettingsValue, {
118
105
  label: t("settings experimental label")
119
- }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Input.Switch, {
106
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Input.Switch, {
120
107
  checked: settings.experimental,
121
108
  onCheckedChange: (checked) => settings.experimental = !!checked
122
- })), /* @__PURE__ */ import_react7.default.createElement(import_plugin_settings.SettingsValue, {
109
+ })), /* @__PURE__ */ import_react4.default.createElement(import_plugin_settings.SettingsValue, {
123
110
  label: t("settings debug label"),
124
- secondary: settings.debug ? /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Input.Root, null, /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Input.TextArea, {
111
+ secondary: settings.debug ? /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Input.Root, null, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Input.TextArea, {
125
112
  rows: 5,
126
113
  value: settings.typewriter,
127
114
  onChange: ({ target: { value } }) => settings.typewriter = value,
128
115
  placeholder: t("settings debug placeholder")
129
116
  })) : void 0
130
- }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui3.Input.Switch, {
117
+ }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui.Input.Switch, {
131
118
  checked: settings.debug,
132
119
  onCheckedChange: (checked) => settings.debug = !!checked
133
120
  })));
134
121
  };
135
- var DocumentCard = import_react3.default.lazy(() => import("./DocumentCard-EHJDDSRY.cjs"));
136
- var DocumentEditor = import_react3.default.lazy(() => import("./DocumentEditor-I5GCRBKU.cjs"));
137
- var MarkdownEditor = import_react3.default.lazy(() => import("./MarkdownEditor-UE23H75V.cjs"));
122
+ var MarkdownContainer = (0, import_react3.lazy)(() => import("./MarkdownContainer-GZ6EAOPC.cjs"));
138
123
  var translations_default = [
139
124
  {
140
125
  "en-US": {
141
- [import_chunk_TGMR2CKU.MARKDOWN_PLUGIN]: {
126
+ [import_chunk_P7YU53RP.MARKDOWN_PLUGIN]: {
142
127
  "plugin name": "Editor",
143
128
  "create stack section label": "Create document",
144
129
  "document title placeholder": "New document",
@@ -165,29 +150,23 @@ var translations_default = [
165
150
  }
166
151
  }
167
152
  ];
168
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-markdown/src/MarkdownPlugin.tsx";
169
- var isEditorModel = (data) => {
170
- return data && typeof data === "object" && "id" in data && typeof data.id === "string" && "text" in data && typeof data.text === "string";
171
- };
153
+ var getDoc = (object) => object instanceof import_chunk_UJMOZCIA.DocumentType ? object : void 0;
172
154
  var MarkdownPlugin = () => {
173
- const settings = new import_local_storage.LocalStorageStore(import_chunk_TGMR2CKU.MARKDOWN_PLUGIN, {
155
+ const settings = new import_local_storage.LocalStorageStore(import_chunk_P7YU53RP.MARKDOWN_PLUGIN, {
174
156
  defaultViewMode: "preview",
175
157
  toolbar: true,
176
- folding: false,
158
+ numberedHeadings: true,
159
+ folding: true,
177
160
  experimental: false
178
161
  });
179
- const state = new import_local_storage.LocalStorageStore(import_chunk_TGMR2CKU.MARKDOWN_PLUGIN, {
162
+ const state = new import_local_storage.LocalStorageStore(import_chunk_P7YU53RP.MARKDOWN_PLUGIN, {
180
163
  extensionProviders: [],
181
164
  viewMode: {}
182
165
  });
183
- const getViewMode = (id) => {
184
- return id && state.values.viewMode[id] || settings.values.defaultViewMode;
185
- };
186
- const setViewMode = (id, nextViewMode) => {
187
- state.values.viewMode[id] = nextViewMode;
188
- };
166
+ const getViewMode = (id) => id && state.values.viewMode[id] || settings.values.defaultViewMode;
167
+ const setViewMode = (id, viewMode) => state.values.viewMode[id] = viewMode;
189
168
  return {
190
- meta: import_chunk_TGMR2CKU.meta_default,
169
+ meta: import_chunk_P7YU53RP.meta_default,
191
170
  ready: async (plugins) => {
192
171
  settings.prop({
193
172
  key: "defaultViewMode",
@@ -235,25 +214,24 @@ var MarkdownPlugin = () => {
235
214
  storageKey: "view-mode",
236
215
  type: import_local_storage.LocalStorageStore.json()
237
216
  });
238
- (0, import_chunk_RVGN72IX.markdownExtensionPlugins)(plugins).forEach((plugin) => {
217
+ (0, import_chunk_W2YJVZ3N.markdownExtensionPlugins)(plugins).forEach((plugin) => {
239
218
  const { extensions } = plugin.provides.markdown;
240
- state.values.extensionProviders.push(extensions);
219
+ state.values.extensionProviders?.push(extensions);
241
220
  });
242
221
  },
243
222
  provides: {
244
223
  settings: settings.values,
245
224
  metadata: {
246
225
  records: {
247
- [import_chunk_VWQH4WC2.DocumentType.typename]: {
248
- label: (object) => object instanceof import_chunk_VWQH4WC2.DocumentType ? object.name ?? object.fallbackName : void 0,
226
+ [import_chunk_UJMOZCIA.DocumentType.typename]: {
227
+ label: (object) => object instanceof import_chunk_UJMOZCIA.DocumentType ? object.name || object.fallbackName : void 0,
249
228
  placeholder: [
250
229
  "document title placeholder",
251
230
  {
252
- ns: import_chunk_TGMR2CKU.MARKDOWN_PLUGIN
231
+ ns: import_chunk_P7YU53RP.MARKDOWN_PLUGIN
253
232
  }
254
233
  ],
255
- icon: (props) => /* @__PURE__ */ import_react2.default.createElement(import_react.TextAa, props),
256
- iconSymbol: "ph--text-aa--regular",
234
+ icon: "ph--text-aa--regular",
257
235
  graphProps: {
258
236
  managesAutofocus: true
259
237
  },
@@ -262,7 +240,7 @@ var MarkdownPlugin = () => {
262
240
  doc2.content,
263
241
  ...doc2.threads
264
242
  ]),
265
- serializer: import_chunk_RVGN72IX.serializer
243
+ serializer: import_chunk_W2YJVZ3N.serializer
266
244
  }
267
245
  }
268
246
  },
@@ -272,10 +250,21 @@ var MarkdownPlugin = () => {
272
250
  ],
273
251
  echo: {
274
252
  schema: [
275
- import_chunk_VWQH4WC2.DocumentType,
276
- import_chunk_VWQH4WC2.TextType
253
+ import_chunk_UJMOZCIA.DocumentType,
254
+ import_chunk_UJMOZCIA.TextType
277
255
  ]
278
256
  },
257
+ space: {
258
+ onSpaceCreate: {
259
+ label: [
260
+ "create document label",
261
+ {
262
+ ns: import_chunk_P7YU53RP.MARKDOWN_PLUGIN
263
+ }
264
+ ],
265
+ action: import_chunk_UJMOZCIA.MarkdownAction.CREATE
266
+ }
267
+ },
279
268
  graph: {
280
269
  builder: (plugins) => {
281
270
  const client = (0, import_app_framework.resolvePlugin)(plugins, import_plugin_client.parseClientPlugin)?.provides.client;
@@ -284,7 +273,7 @@ var MarkdownPlugin = () => {
284
273
  return [];
285
274
  }
286
275
  return (0, import_plugin_graph.createExtension)({
287
- id: import_chunk_VWQH4WC2.MarkdownAction.CREATE,
276
+ id: import_chunk_UJMOZCIA.MarkdownAction.CREATE,
288
277
  filter: (node) => (0, import_plugin_graph.isActionGroup)(node) && node.id.startsWith(import_plugin_space.SpaceAction.ADD_OBJECT),
289
278
  actions: ({ node }) => {
290
279
  const id = node.id.split("/").at(-1);
@@ -297,12 +286,12 @@ var MarkdownPlugin = () => {
297
286
  }
298
287
  return [
299
288
  {
300
- id: `${import_chunk_TGMR2CKU.MARKDOWN_PLUGIN}/create/${node.id}`,
289
+ id: `${import_chunk_P7YU53RP.MARKDOWN_PLUGIN}/create/${node.id}`,
301
290
  data: async () => {
302
291
  await dispatch([
303
292
  {
304
- plugin: import_chunk_TGMR2CKU.MARKDOWN_PLUGIN,
305
- action: import_chunk_VWQH4WC2.MarkdownAction.CREATE
293
+ plugin: import_chunk_P7YU53RP.MARKDOWN_PLUGIN,
294
+ action: import_chunk_UJMOZCIA.MarkdownAction.CREATE
306
295
  },
307
296
  {
308
297
  action: import_plugin_space.SpaceAction.ADD_OBJECT,
@@ -319,11 +308,10 @@ var MarkdownPlugin = () => {
319
308
  label: [
320
309
  "create document label",
321
310
  {
322
- ns: import_chunk_TGMR2CKU.MARKDOWN_PLUGIN
311
+ ns: import_chunk_P7YU53RP.MARKDOWN_PLUGIN
323
312
  }
324
313
  ],
325
- icon: (props) => /* @__PURE__ */ import_react2.default.createElement(import_react.TextAa, props),
326
- iconSymbol: "ph--text-aa--regular",
314
+ icon: "ph--text-aa--regular",
327
315
  testId: "markdownPlugin.createObject"
328
316
  }
329
317
  }
@@ -338,14 +326,14 @@ var MarkdownPlugin = () => {
338
326
  }
339
327
  return [
340
328
  {
341
- inputType: import_chunk_VWQH4WC2.DocumentType.typename,
329
+ inputType: import_chunk_UJMOZCIA.DocumentType.typename,
342
330
  outputType: "text/markdown",
343
331
  // Reconcile with metadata serializers.
344
332
  serialize: async (node) => {
345
333
  const doc = node.data;
346
334
  const content = await (0, import_echo.loadObjectReferences)(doc, (doc2) => doc2.content);
347
335
  return {
348
- name: doc.name || doc.fallbackName || translations_default[0]["en-US"][import_chunk_TGMR2CKU.MARKDOWN_PLUGIN]["document title placeholder"],
336
+ name: doc.name || doc.fallbackName || translations_default[0]["en-US"][import_chunk_P7YU53RP.MARKDOWN_PLUGIN]["document title placeholder"],
349
337
  data: content.content,
350
338
  type: "text/markdown"
351
339
  };
@@ -358,8 +346,8 @@ var MarkdownPlugin = () => {
358
346
  }
359
347
  const result = await dispatch([
360
348
  {
361
- plugin: import_chunk_TGMR2CKU.MARKDOWN_PLUGIN,
362
- action: import_chunk_VWQH4WC2.MarkdownAction.CREATE,
349
+ plugin: import_chunk_P7YU53RP.MARKDOWN_PLUGIN,
350
+ action: import_chunk_UJMOZCIA.MarkdownAction.CREATE,
363
351
  data: {
364
352
  name: data.name,
365
353
  content: data.data
@@ -386,99 +374,75 @@ var MarkdownPlugin = () => {
386
374
  type: [
387
375
  "plugin name",
388
376
  {
389
- ns: import_chunk_TGMR2CKU.MARKDOWN_PLUGIN
377
+ ns: import_chunk_P7YU53RP.MARKDOWN_PLUGIN
390
378
  }
391
379
  ],
392
380
  label: [
393
381
  "create stack section label",
394
382
  {
395
- ns: import_chunk_TGMR2CKU.MARKDOWN_PLUGIN
383
+ ns: import_chunk_P7YU53RP.MARKDOWN_PLUGIN
396
384
  }
397
385
  ],
398
386
  icon: (props) => /* @__PURE__ */ import_react2.default.createElement(import_react.TextAa, props),
399
387
  intent: {
400
- plugin: import_chunk_TGMR2CKU.MARKDOWN_PLUGIN,
401
- action: import_chunk_VWQH4WC2.MarkdownAction.CREATE
388
+ plugin: import_chunk_P7YU53RP.MARKDOWN_PLUGIN,
389
+ action: import_chunk_UJMOZCIA.MarkdownAction.CREATE
402
390
  }
403
391
  }
404
392
  ]
405
393
  },
406
394
  thread: {
407
- // TODO(Zan): How to better handle the type predicate?
408
- predicate: (obj) => obj instanceof import_chunk_VWQH4WC2.DocumentType,
395
+ predicate: (obj) => obj instanceof import_chunk_UJMOZCIA.DocumentType,
409
396
  createSort: (doc) => {
410
397
  const accessor = doc.content ? (0, import_echo.createDocAccessor)(doc.content, [
411
398
  "content"
412
399
  ]) : void 0;
413
400
  if (!accessor) {
414
- import_log.log.warn("No accessor found for document content.", void 0, {
415
- F: __dxlog_file,
416
- L: 250,
417
- S: void 0,
418
- C: (f, a) => f(...a)
419
- });
420
401
  return (_) => 0;
421
402
  }
422
403
  const getStartPosition = (cursor) => {
423
404
  const range = cursor ? (0, import_echo.getRangeFromCursor)(accessor, cursor) : void 0;
424
405
  return range?.start ?? Number.MAX_SAFE_INTEGER;
425
406
  };
426
- return (anchorA, anchorB) => getStartPosition(anchorA) - getStartPosition(anchorB);
407
+ return (anchorA, anchorB) => {
408
+ if (anchorA === void 0 || anchorB === void 0) {
409
+ return 0;
410
+ }
411
+ const posA = getStartPosition(anchorA);
412
+ const posB = getStartPosition(anchorB);
413
+ return posA - posB;
414
+ };
427
415
  }
428
416
  },
429
417
  surface: {
430
- component: ({ data, role, ...props }, forwardedRef) => {
431
- const doc = data.active instanceof import_chunk_VWQH4WC2.DocumentType ? data.active : data.object instanceof import_chunk_VWQH4WC2.DocumentType ? data.object : void 0;
418
+ component: ({ data, role }) => {
432
419
  switch (role) {
433
420
  case "section":
434
421
  case "article": {
435
- if (doc && doc.content) {
436
- return /* @__PURE__ */ import_react2.default.createElement(DocumentEditor, {
437
- role,
438
- coordinate: data.coordinate,
439
- document: doc,
440
- extensionProviders: state.values.extensionProviders,
441
- settings: settings.values,
442
- scrollPastEnd: true,
443
- viewMode: getViewMode((0, import_echo.fullyQualifiedId)(doc)),
444
- onViewModeChange: setViewMode
445
- });
446
- } else if (isEditorModel(data.object)) {
447
- return /* @__PURE__ */ import_react2.default.createElement(MarkdownEditor, {
448
- id: data.object.id,
449
- role,
450
- coordinate: data.coordinate,
451
- initialValue: data.object.text,
452
- extensionProviders: state.values.extensionProviders,
453
- inputMode: settings.values.editorInputMode,
454
- toolbar: settings.values.toolbar,
455
- scrollPastEnd: true,
456
- viewMode: getViewMode(data.object.id),
457
- onViewModeChange: setViewMode
458
- });
422
+ const doc = getDoc(data.active) ?? getDoc(data.object);
423
+ const { id, object } = (0, import_chunk_UJMOZCIA.isEditorModel)(data.object) ? {
424
+ id: data.object.id,
425
+ object: data.object
426
+ } : doc ? {
427
+ id: (0, import_echo.fullyQualifiedId)(doc),
428
+ object: doc
429
+ } : {};
430
+ if (!id || !object) {
431
+ return null;
459
432
  }
460
- break;
461
- }
462
- case "card": {
463
- if ((0, import_app_framework.isObject)(data.content) && typeof data.content.id === "string" && data.content.object instanceof import_chunk_VWQH4WC2.DocumentType) {
464
- const cardProps = {
465
- ...props,
466
- item: {
467
- id: data.content.id,
468
- object: data.content.object,
469
- color: typeof data.content.color === "string" ? data.content.color : void 0
470
- }
471
- };
472
- return (0, import_react_ui_mosaic.isTileComponentProps)(cardProps) ? /* @__PURE__ */ import_react2.default.createElement(DocumentCard, {
473
- ...cardProps,
474
- settings: settings.values,
475
- ref: forwardedRef
476
- }) : null;
477
- }
478
- break;
433
+ return /* @__PURE__ */ import_react2.default.createElement(MarkdownContainer, {
434
+ id,
435
+ object,
436
+ role,
437
+ coordinate: data.coordinate,
438
+ settings: settings.values,
439
+ extensionProviders: state.values.extensionProviders,
440
+ viewMode: getViewMode(id),
441
+ onViewModeChange: setViewMode
442
+ });
479
443
  }
480
444
  case "settings": {
481
- return data.plugin === import_chunk_TGMR2CKU.meta_default.id ? /* @__PURE__ */ import_react2.default.createElement(MarkdownSettings, {
445
+ return data.plugin === import_chunk_P7YU53RP.meta_default.id ? /* @__PURE__ */ import_react2.default.createElement(MarkdownSettings, {
482
446
  settings: settings.values
483
447
  }) : null;
484
448
  }
@@ -489,10 +453,10 @@ var MarkdownPlugin = () => {
489
453
  intent: {
490
454
  resolver: ({ action, data }) => {
491
455
  switch (action) {
492
- case import_chunk_VWQH4WC2.MarkdownAction.CREATE: {
493
- const doc = (0, import_echo_schema.create)(import_chunk_VWQH4WC2.DocumentType, {
456
+ case import_chunk_UJMOZCIA.MarkdownAction.CREATE: {
457
+ const doc = (0, import_echo_schema.create)(import_chunk_UJMOZCIA.DocumentType, {
494
458
  name: data?.name,
495
- content: (0, import_echo_schema.create)(import_chunk_VWQH4WC2.TextType, {
459
+ content: (0, import_echo_schema.create)(import_chunk_UJMOZCIA.TextType, {
496
460
  content: data?.content ?? ""
497
461
  }),
498
462
  threads: []
@@ -511,7 +475,7 @@ var MarkdownPlugin = () => {
511
475
  ]
512
476
  };
513
477
  }
514
- case import_chunk_VWQH4WC2.MarkdownAction.SET_VIEW_MODE: {
478
+ case import_chunk_UJMOZCIA.MarkdownAction.SET_VIEW_MODE: {
515
479
  const { id, viewMode } = data ?? {};
516
480
  if (typeof id === "string" && import_react_ui_editor.EditorViewModes.includes(viewMode)) {
517
481
  state.values.viewMode[id] = viewMode;
@@ -535,6 +499,7 @@ var src_default = MarkdownPlugin;
535
499
  MarkdownPlugin,
536
500
  TextType,
537
501
  getFallbackName,
502
+ isEditorModel,
538
503
  isMarkdownProperties,
539
504
  markdownExtensionPlugins,
540
505
  serializer,