@dxos/plugin-markdown 0.8.1-staging.391c573 → 0.8.1-staging.9eaf14f

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 (170) hide show
  1. package/dist/lib/browser/{MarkdownContainer-2AGDY3W4.mjs → MarkdownContainer-T3HU27RE.mjs} +68 -40
  2. package/dist/lib/browser/MarkdownContainer-T3HU27RE.mjs.map +7 -0
  3. package/dist/lib/browser/{app-graph-serializer-DDOMJ5MS.mjs → app-graph-serializer-NOXI4IQ5.mjs} +8 -8
  4. package/dist/lib/browser/app-graph-serializer-NOXI4IQ5.mjs.map +7 -0
  5. package/dist/lib/browser/{artifact-definition-I4ORYVKB.mjs → artifact-definition-CE6J6NY4.mjs} +13 -26
  6. package/dist/lib/browser/artifact-definition-CE6J6NY4.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-PTLVK34A.mjs → chunk-3ULJ4FIJ.mjs} +9 -9
  8. package/dist/lib/browser/chunk-JX6XNEHE.mjs +22 -0
  9. package/dist/lib/browser/chunk-JX6XNEHE.mjs.map +7 -0
  10. package/dist/lib/browser/{chunk-XBAPFNQG.mjs → chunk-NAGMSX77.mjs} +2 -2
  11. package/dist/lib/browser/chunk-NAGMSX77.mjs.map +7 -0
  12. package/dist/lib/browser/{chunk-4MCFUAMZ.mjs → chunk-QXDKFACU.mjs} +7 -8
  13. package/dist/lib/browser/chunk-QXDKFACU.mjs.map +7 -0
  14. package/dist/lib/browser/{chunk-3C24B23M.mjs → chunk-YCJNW2RU.mjs} +19 -10
  15. package/dist/lib/browser/chunk-YCJNW2RU.mjs.map +7 -0
  16. package/dist/lib/browser/index.mjs +10 -13
  17. package/dist/lib/browser/index.mjs.map +3 -3
  18. package/dist/lib/browser/{intent-resolver-KP6SYFFL.mjs → intent-resolver-42GQ6HNZ.mjs} +13 -6
  19. package/dist/lib/browser/intent-resolver-42GQ6HNZ.mjs.map +7 -0
  20. package/dist/lib/browser/meta.json +1 -1
  21. package/dist/lib/browser/{react-surface-QLM3CQQP.mjs → react-surface-RQX3CPFV.mjs} +39 -14
  22. package/dist/lib/browser/react-surface-RQX3CPFV.mjs.map +7 -0
  23. package/dist/lib/browser/{settings-BD3J7QXE.mjs → settings-GCSS3Y4Z.mjs} +3 -3
  24. package/dist/lib/browser/{state-M5HI645K.mjs → state-O7P5JDIH.mjs} +7 -12
  25. package/dist/lib/browser/state-O7P5JDIH.mjs.map +7 -0
  26. package/dist/lib/browser/{thread-ZGBGNMEM.mjs → thread-3QGCFNVZ.mjs} +5 -4
  27. package/dist/lib/browser/thread-3QGCFNVZ.mjs.map +7 -0
  28. package/dist/lib/browser/types/index.mjs +4 -2
  29. package/dist/lib/node/{MarkdownContainer-ESPH2MCH.cjs → MarkdownContainer-6ZJIFAP6.cjs} +74 -46
  30. package/dist/lib/node/MarkdownContainer-6ZJIFAP6.cjs.map +7 -0
  31. package/dist/lib/node/{app-graph-serializer-EIHJDGDZ.cjs → app-graph-serializer-HKK3SEDN.cjs} +12 -10
  32. package/dist/lib/node/app-graph-serializer-HKK3SEDN.cjs.map +7 -0
  33. package/dist/lib/node/{artifact-definition-G2RX42OI.cjs → artifact-definition-XGADFWCQ.cjs} +19 -32
  34. package/dist/lib/node/artifact-definition-XGADFWCQ.cjs.map +7 -0
  35. package/dist/lib/node/{chunk-4N7RTNIG.cjs → chunk-7QVONRSI.cjs} +13 -13
  36. package/dist/lib/node/{chunk-4LG6SPXW.cjs → chunk-DZXTXSXX.cjs} +7 -7
  37. package/dist/lib/node/chunk-DZXTXSXX.cjs.map +7 -0
  38. package/dist/lib/node/{chunk-DEUESZ5O.cjs → chunk-H5MYVP6F.cjs} +11 -12
  39. package/dist/lib/node/chunk-H5MYVP6F.cjs.map +7 -0
  40. package/dist/lib/node/{chunk-VYAJIYUI.cjs → chunk-UEXGNGSS.cjs} +23 -13
  41. package/dist/lib/node/chunk-UEXGNGSS.cjs.map +7 -0
  42. package/dist/lib/node/{chunk-QZ4XQYNC.cjs → chunk-ZU5OIHCY.cjs} +9 -9
  43. package/dist/lib/node/chunk-ZU5OIHCY.cjs.map +7 -0
  44. package/dist/lib/node/index.cjs +41 -44
  45. package/dist/lib/node/index.cjs.map +3 -3
  46. package/dist/lib/node/{intent-resolver-K44M5GLB.cjs → intent-resolver-NW27BF3W.cjs} +19 -12
  47. package/dist/lib/node/intent-resolver-NW27BF3W.cjs.map +7 -0
  48. package/dist/lib/node/meta.json +1 -1
  49. package/dist/lib/node/{react-surface-C74TD4AV.cjs → react-surface-5X3SMHGI.cjs} +49 -24
  50. package/dist/lib/node/react-surface-5X3SMHGI.cjs.map +7 -0
  51. package/dist/lib/node/{settings-SBFMJ556.cjs → settings-S2ISUVIH.cjs} +8 -8
  52. package/dist/lib/node/{state-GCSY2G53.cjs → state-L44SG3ZM.cjs} +13 -18
  53. package/dist/lib/node/state-L44SG3ZM.cjs.map +7 -0
  54. package/dist/lib/node/{thread-CPYL6QVD.cjs → thread-42R57L4K.cjs} +8 -7
  55. package/dist/lib/node/thread-42R57L4K.cjs.map +7 -0
  56. package/dist/lib/node/types/index.cjs +8 -6
  57. package/dist/lib/node/types/index.cjs.map +2 -2
  58. package/dist/lib/node-esm/{MarkdownContainer-VYZZDI4J.mjs → MarkdownContainer-URAPTO37.mjs} +68 -40
  59. package/dist/lib/node-esm/MarkdownContainer-URAPTO37.mjs.map +7 -0
  60. package/dist/lib/node-esm/{app-graph-serializer-BFZXPQBL.mjs → app-graph-serializer-QQ2CTHOQ.mjs} +8 -8
  61. package/dist/lib/node-esm/app-graph-serializer-QQ2CTHOQ.mjs.map +7 -0
  62. package/dist/lib/node-esm/{artifact-definition-JIGMPEVI.mjs → artifact-definition-WRG5ZRN5.mjs} +13 -26
  63. package/dist/lib/node-esm/artifact-definition-WRG5ZRN5.mjs.map +7 -0
  64. package/dist/lib/node-esm/{chunk-3SDMSQOB.mjs → chunk-4AM4VU3Y.mjs} +19 -10
  65. package/dist/lib/node-esm/chunk-4AM4VU3Y.mjs.map +7 -0
  66. package/dist/lib/node-esm/{chunk-GUZZJ4H4.mjs → chunk-ETXPC5VP.mjs} +2 -2
  67. package/dist/lib/node-esm/chunk-ETXPC5VP.mjs.map +7 -0
  68. package/dist/lib/node-esm/{chunk-PQDVRE2Y.mjs → chunk-F6UHVLH7.mjs} +9 -9
  69. package/dist/lib/node-esm/{chunk-L2TANXTY.mjs → chunk-JAVD67QP.mjs} +7 -8
  70. package/dist/lib/node-esm/chunk-JAVD67QP.mjs.map +7 -0
  71. package/dist/lib/node-esm/chunk-RX63ZNML.mjs +24 -0
  72. package/dist/lib/node-esm/chunk-RX63ZNML.mjs.map +7 -0
  73. package/dist/lib/node-esm/index.mjs +10 -13
  74. package/dist/lib/node-esm/index.mjs.map +3 -3
  75. package/dist/lib/node-esm/{intent-resolver-WWIMRDGG.mjs → intent-resolver-7HOMUVHR.mjs} +13 -6
  76. package/dist/lib/node-esm/intent-resolver-7HOMUVHR.mjs.map +7 -0
  77. package/dist/lib/node-esm/meta.json +1 -1
  78. package/dist/lib/node-esm/{react-surface-T6FT3OZ7.mjs → react-surface-6IKC3G46.mjs} +39 -14
  79. package/dist/lib/node-esm/react-surface-6IKC3G46.mjs.map +7 -0
  80. package/dist/lib/node-esm/{settings-2K63TOOA.mjs → settings-ZDIFTK4N.mjs} +3 -3
  81. package/dist/lib/node-esm/{state-2SECKIMF.mjs → state-DWPOKLEY.mjs} +7 -12
  82. package/dist/lib/node-esm/state-DWPOKLEY.mjs.map +7 -0
  83. package/dist/lib/node-esm/{thread-GHLHBZSM.mjs → thread-R2KHZD6V.mjs} +5 -4
  84. package/dist/lib/node-esm/thread-R2KHZD6V.mjs.map +7 -0
  85. package/dist/lib/node-esm/types/index.mjs +4 -2
  86. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  87. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  88. package/dist/types/src/capabilities/capabilities.d.ts +2 -1
  89. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  90. package/dist/types/src/capabilities/index.d.ts +1 -0
  91. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  92. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  93. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  94. package/dist/types/src/capabilities/state.d.ts +1 -0
  95. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  96. package/dist/types/src/capabilities/thread.d.ts.map +1 -1
  97. package/dist/types/src/components/MarkdownContainer.d.ts +5 -7
  98. package/dist/types/src/components/MarkdownContainer.d.ts.map +1 -1
  99. package/dist/types/src/components/MarkdownEditor.d.ts +5 -3
  100. package/dist/types/src/components/MarkdownEditor.d.ts.map +1 -1
  101. package/dist/types/src/components/index.d.ts +1 -1
  102. package/dist/types/src/components/index.d.ts.map +1 -1
  103. package/dist/types/src/extensions.d.ts +6 -4
  104. package/dist/types/src/extensions.d.ts.map +1 -1
  105. package/dist/types/src/meta.d.ts +2 -8
  106. package/dist/types/src/meta.d.ts.map +1 -1
  107. package/dist/types/src/translations.d.ts +2 -9
  108. package/dist/types/src/translations.d.ts.map +1 -1
  109. package/dist/types/src/types/schema.d.ts +97 -34
  110. package/dist/types/src/types/schema.d.ts.map +1 -1
  111. package/dist/types/src/types/types.d.ts +66 -4
  112. package/dist/types/src/types/types.d.ts.map +1 -1
  113. package/package.json +32 -31
  114. package/src/MarkdownPlugin.tsx +5 -5
  115. package/src/capabilities/app-graph-serializer.ts +5 -4
  116. package/src/capabilities/artifact-definition.ts +7 -14
  117. package/src/capabilities/capabilities.ts +2 -1
  118. package/src/capabilities/intent-resolver.ts +5 -2
  119. package/src/capabilities/react-surface.tsx +34 -9
  120. package/src/capabilities/state.ts +8 -17
  121. package/src/capabilities/thread.ts +2 -1
  122. package/src/components/MarkdownContainer.tsx +25 -16
  123. package/src/components/MarkdownEditor.tsx +22 -15
  124. package/src/components/Toolbar.stories.tsx +1 -1
  125. package/src/extensions.tsx +32 -13
  126. package/src/meta.ts +7 -7
  127. package/src/translations.ts +4 -4
  128. package/src/types/schema.ts +10 -3
  129. package/src/types/types.ts +2 -13
  130. package/dist/lib/browser/MarkdownContainer-2AGDY3W4.mjs.map +0 -7
  131. package/dist/lib/browser/app-graph-serializer-DDOMJ5MS.mjs.map +0 -7
  132. package/dist/lib/browser/artifact-definition-I4ORYVKB.mjs.map +0 -7
  133. package/dist/lib/browser/chunk-3C24B23M.mjs.map +0 -7
  134. package/dist/lib/browser/chunk-4MCFUAMZ.mjs.map +0 -7
  135. package/dist/lib/browser/chunk-XBAPFNQG.mjs.map +0 -7
  136. package/dist/lib/browser/chunk-YTHIPV5Q.mjs +0 -22
  137. package/dist/lib/browser/chunk-YTHIPV5Q.mjs.map +0 -7
  138. package/dist/lib/browser/intent-resolver-KP6SYFFL.mjs.map +0 -7
  139. package/dist/lib/browser/react-surface-QLM3CQQP.mjs.map +0 -7
  140. package/dist/lib/browser/state-M5HI645K.mjs.map +0 -7
  141. package/dist/lib/browser/thread-ZGBGNMEM.mjs.map +0 -7
  142. package/dist/lib/node/MarkdownContainer-ESPH2MCH.cjs.map +0 -7
  143. package/dist/lib/node/app-graph-serializer-EIHJDGDZ.cjs.map +0 -7
  144. package/dist/lib/node/artifact-definition-G2RX42OI.cjs.map +0 -7
  145. package/dist/lib/node/chunk-4LG6SPXW.cjs.map +0 -7
  146. package/dist/lib/node/chunk-DEUESZ5O.cjs.map +0 -7
  147. package/dist/lib/node/chunk-QZ4XQYNC.cjs.map +0 -7
  148. package/dist/lib/node/chunk-VYAJIYUI.cjs.map +0 -7
  149. package/dist/lib/node/intent-resolver-K44M5GLB.cjs.map +0 -7
  150. package/dist/lib/node/react-surface-C74TD4AV.cjs.map +0 -7
  151. package/dist/lib/node/state-GCSY2G53.cjs.map +0 -7
  152. package/dist/lib/node/thread-CPYL6QVD.cjs.map +0 -7
  153. package/dist/lib/node-esm/MarkdownContainer-VYZZDI4J.mjs.map +0 -7
  154. package/dist/lib/node-esm/app-graph-serializer-BFZXPQBL.mjs.map +0 -7
  155. package/dist/lib/node-esm/artifact-definition-JIGMPEVI.mjs.map +0 -7
  156. package/dist/lib/node-esm/chunk-3SDMSQOB.mjs.map +0 -7
  157. package/dist/lib/node-esm/chunk-BBVPC53M.mjs +0 -24
  158. package/dist/lib/node-esm/chunk-BBVPC53M.mjs.map +0 -7
  159. package/dist/lib/node-esm/chunk-GUZZJ4H4.mjs.map +0 -7
  160. package/dist/lib/node-esm/chunk-L2TANXTY.mjs.map +0 -7
  161. package/dist/lib/node-esm/intent-resolver-WWIMRDGG.mjs.map +0 -7
  162. package/dist/lib/node-esm/react-surface-T6FT3OZ7.mjs.map +0 -7
  163. package/dist/lib/node-esm/state-2SECKIMF.mjs.map +0 -7
  164. package/dist/lib/node-esm/thread-GHLHBZSM.mjs.map +0 -7
  165. /package/dist/lib/browser/{chunk-PTLVK34A.mjs.map → chunk-3ULJ4FIJ.mjs.map} +0 -0
  166. /package/dist/lib/browser/{settings-BD3J7QXE.mjs.map → settings-GCSS3Y4Z.mjs.map} +0 -0
  167. /package/dist/lib/node/{chunk-4N7RTNIG.cjs.map → chunk-7QVONRSI.cjs.map} +0 -0
  168. /package/dist/lib/node/{settings-SBFMJ556.cjs.map → settings-S2ISUVIH.cjs.map} +0 -0
  169. /package/dist/lib/node-esm/{chunk-PQDVRE2Y.mjs.map → chunk-F6UHVLH7.mjs.map} +0 -0
  170. /package/dist/lib/node-esm/{settings-2K63TOOA.mjs.map → settings-ZDIFTK4N.mjs.map} +0 -0
@@ -26,25 +26,27 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var react_surface_C74TD4AV_exports = {};
30
- __export(react_surface_C74TD4AV_exports, {
29
+ var react_surface_5X3SMHGI_exports = {};
30
+ __export(react_surface_5X3SMHGI_exports, {
31
31
  default: () => react_surface_default
32
32
  });
33
- module.exports = __toCommonJS(react_surface_C74TD4AV_exports);
34
- var import_chunk_4LG6SPXW = require("./chunk-4LG6SPXW.cjs");
35
- var import_chunk_VYAJIYUI = require("./chunk-VYAJIYUI.cjs");
36
- var import_chunk_QZ4XQYNC = require("./chunk-QZ4XQYNC.cjs");
33
+ module.exports = __toCommonJS(react_surface_5X3SMHGI_exports);
34
+ var import_chunk_DZXTXSXX = require("./chunk-DZXTXSXX.cjs");
35
+ var import_chunk_UEXGNGSS = require("./chunk-UEXGNGSS.cjs");
36
+ var import_chunk_ZU5OIHCY = require("./chunk-ZU5OIHCY.cjs");
37
37
  var import_react = __toESM(require("react"));
38
38
  var import_app_framework = require("@dxos/app-framework");
39
+ var import_echo_schema = require("@dxos/echo-schema");
39
40
  var import_local_storage = require("@dxos/local-storage");
40
41
  var import_echo = require("@dxos/react-client/echo");
42
+ var import_schema = require("@dxos/schema");
41
43
  var import_react2 = require("react");
42
44
  var import_react3 = __toESM(require("react"));
43
45
  var import_react_ui = require("@dxos/react-ui");
44
46
  var import_react_ui_editor = require("@dxos/react-ui-editor");
45
47
  var import_react_ui_form = require("@dxos/react-ui-form");
46
48
  var MarkdownSettings = ({ settings }) => {
47
- const { t } = (0, import_react_ui.useTranslation)(import_chunk_QZ4XQYNC.MARKDOWN_PLUGIN);
49
+ const { t } = (0, import_react_ui.useTranslation)(import_chunk_ZU5OIHCY.MARKDOWN_PLUGIN);
48
50
  return /* @__PURE__ */ import_react3.default.createElement(import_react_ui_form.DeprecatedFormContainer, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui_form.DeprecatedFormInput, {
49
51
  label: t("default view mode label")
50
52
  }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui.Select.Root, {
@@ -102,19 +104,20 @@ var MarkdownSettings = ({ settings }) => {
102
104
  onCheckedChange: (checked) => settings.debug = !!checked
103
105
  })));
104
106
  };
105
- var MarkdownContainer = (0, import_react2.lazy)(() => import("./MarkdownContainer-ESPH2MCH.cjs"));
107
+ var MarkdownContainer = (0, import_react2.lazy)(() => import("./MarkdownContainer-6ZJIFAP6.cjs"));
106
108
  var react_surface_default = () => (0, import_app_framework.contributes)(import_app_framework.Capabilities.ReactSurface, [
107
109
  (0, import_app_framework.createSurface)({
108
- id: `${import_chunk_QZ4XQYNC.MARKDOWN_PLUGIN}/document`,
110
+ id: `${import_chunk_ZU5OIHCY.MARKDOWN_PLUGIN}/document`,
109
111
  role: [
110
112
  "article",
111
- "section"
113
+ "section",
114
+ "tabpanel"
112
115
  ],
113
- filter: (data) => data.subject instanceof import_chunk_VYAJIYUI.DocumentType,
116
+ filter: (data) => (0, import_echo_schema.isInstanceOf)(import_chunk_UEXGNGSS.DocumentType, data.subject) && !data.variant,
114
117
  component: ({ data, role }) => {
115
118
  const settingsStore = (0, import_app_framework.useCapability)(import_app_framework.Capabilities.SettingsStore);
116
- const settings = settingsStore.getStore(import_chunk_QZ4XQYNC.MARKDOWN_PLUGIN).value;
117
- const { state, getViewMode, setViewMode } = (0, import_app_framework.useCapability)(import_chunk_4LG6SPXW.MarkdownCapabilities.State);
119
+ const settings = settingsStore.getStore(import_chunk_ZU5OIHCY.MARKDOWN_PLUGIN).value;
120
+ const { state, editorState, getViewMode, setViewMode } = (0, import_app_framework.useCapability)(import_chunk_DZXTXSXX.MarkdownCapabilities.State);
118
121
  return /* @__PURE__ */ import_react.default.createElement(MarkdownContainer, {
119
122
  id: (0, import_echo.fullyQualifiedId)(data.subject),
120
123
  object: data.subject,
@@ -122,23 +125,46 @@ var react_surface_default = () => (0, import_app_framework.contributes)(import_a
122
125
  settings,
123
126
  extensionProviders: state.extensionProviders,
124
127
  viewMode: getViewMode((0, import_echo.fullyQualifiedId)(data.subject)),
125
- selection: state.selectionState,
126
- folding: state.foldState,
128
+ editorStateStore: editorState,
129
+ onViewModeChange: setViewMode
130
+ });
131
+ }
132
+ }),
133
+ (0, import_app_framework.createSurface)({
134
+ id: `${import_chunk_ZU5OIHCY.MARKDOWN_PLUGIN}/text`,
135
+ role: [
136
+ "article",
137
+ "section",
138
+ "tabpanel"
139
+ ],
140
+ filter: (data) => typeof data.id === "string" && (0, import_echo_schema.isInstanceOf)(import_schema.TextType, data.subject),
141
+ component: ({ data, role }) => {
142
+ const settingsStore = (0, import_app_framework.useCapability)(import_app_framework.Capabilities.SettingsStore);
143
+ const settings = settingsStore.getStore(import_chunk_ZU5OIHCY.MARKDOWN_PLUGIN).value;
144
+ const { state, editorState, getViewMode, setViewMode } = (0, import_app_framework.useCapability)(import_chunk_DZXTXSXX.MarkdownCapabilities.State);
145
+ return /* @__PURE__ */ import_react.default.createElement(MarkdownContainer, {
146
+ id: data.id,
147
+ object: data.subject,
148
+ role,
149
+ settings,
150
+ extensionProviders: state.extensionProviders,
151
+ viewMode: getViewMode(data.id),
152
+ editorStateStore: editorState,
127
153
  onViewModeChange: setViewMode
128
154
  });
129
155
  }
130
156
  }),
131
157
  (0, import_app_framework.createSurface)({
132
- id: `${import_chunk_QZ4XQYNC.MARKDOWN_PLUGIN}/editor`,
158
+ id: `${import_chunk_ZU5OIHCY.MARKDOWN_PLUGIN}/editor`,
133
159
  role: [
134
160
  "article",
135
161
  "section"
136
162
  ],
137
- filter: (data) => (0, import_chunk_VYAJIYUI.isEditorModel)(data.subject),
163
+ filter: (data) => (0, import_chunk_UEXGNGSS.isEditorModel)(data.subject),
138
164
  component: ({ data, role }) => {
139
165
  const settingsStore = (0, import_app_framework.useCapability)(import_app_framework.Capabilities.SettingsStore);
140
- const settings = settingsStore.getStore(import_chunk_QZ4XQYNC.MARKDOWN_PLUGIN).value;
141
- const { state, getViewMode, setViewMode } = (0, import_app_framework.useCapability)(import_chunk_4LG6SPXW.MarkdownCapabilities.State);
166
+ const settings = settingsStore.getStore(import_chunk_ZU5OIHCY.MARKDOWN_PLUGIN).value;
167
+ const { state, editorState, getViewMode, setViewMode } = (0, import_app_framework.useCapability)(import_chunk_DZXTXSXX.MarkdownCapabilities.State);
142
168
  return /* @__PURE__ */ import_react.default.createElement(MarkdownContainer, {
143
169
  id: data.subject.id,
144
170
  object: data.subject,
@@ -146,19 +172,18 @@ var react_surface_default = () => (0, import_app_framework.contributes)(import_a
146
172
  settings,
147
173
  extensionProviders: state.extensionProviders,
148
174
  viewMode: getViewMode(data.subject.id),
149
- selection: state.selectionState,
150
- folding: state.foldState,
175
+ editorStateStore: editorState,
151
176
  onViewModeChange: setViewMode
152
177
  });
153
178
  }
154
179
  }),
155
180
  (0, import_app_framework.createSurface)({
156
- id: `${import_chunk_QZ4XQYNC.MARKDOWN_PLUGIN}/settings`,
181
+ id: `${import_chunk_ZU5OIHCY.MARKDOWN_PLUGIN}/plugin-settings`,
157
182
  role: "article",
158
- filter: (data) => data.subject instanceof import_local_storage.SettingsStore && data.subject.prefix === import_chunk_QZ4XQYNC.MARKDOWN_PLUGIN,
183
+ filter: (data) => data.subject instanceof import_local_storage.SettingsStore && data.subject.prefix === import_chunk_ZU5OIHCY.MARKDOWN_PLUGIN,
159
184
  component: ({ data: { subject } }) => /* @__PURE__ */ import_react.default.createElement(MarkdownSettings, {
160
185
  settings: subject.value
161
186
  })
162
187
  })
163
188
  ]);
164
- //# sourceMappingURL=react-surface-C74TD4AV.cjs.map
189
+ //# sourceMappingURL=react-surface-5X3SMHGI.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/react-surface.tsx", "../../../src/components/index.ts", "../../../src/components/MarkdownSettings.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { createSurface, contributes, Capabilities, useCapability } from '@dxos/app-framework';\nimport { isInstanceOf } from '@dxos/echo-schema';\nimport { SettingsStore } from '@dxos/local-storage';\nimport { fullyQualifiedId } from '@dxos/react-client/echo';\nimport { TextType } from '@dxos/schema';\n\nimport { MarkdownCapabilities } from './capabilities';\nimport { MarkdownContainer, MarkdownSettings } from '../components';\nimport { MARKDOWN_PLUGIN } from '../meta';\nimport { DocumentType, isEditorModel, type MarkdownSettingsProps } from '../types';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${MARKDOWN_PLUGIN}/document`,\n role: ['article', 'section', 'tabpanel'],\n filter: (data): data is { subject: DocumentType; variant: undefined } =>\n isInstanceOf(DocumentType, data.subject) && !data.variant,\n component: ({ data, role }) => {\n const settingsStore = useCapability(Capabilities.SettingsStore);\n const settings = settingsStore.getStore<MarkdownSettingsProps>(MARKDOWN_PLUGIN)!.value;\n const { state, editorState, getViewMode, setViewMode } = useCapability(MarkdownCapabilities.State);\n\n return (\n <MarkdownContainer\n id={fullyQualifiedId(data.subject)}\n object={data.subject}\n role={role}\n settings={settings}\n extensionProviders={state.extensionProviders}\n viewMode={getViewMode(fullyQualifiedId(data.subject))}\n editorStateStore={editorState}\n onViewModeChange={setViewMode}\n />\n );\n },\n }),\n createSurface({\n id: `${MARKDOWN_PLUGIN}/text`,\n role: ['article', 'section', 'tabpanel'],\n filter: (data): data is { id: string; subject: TextType } =>\n typeof data.id === 'string' && isInstanceOf(TextType, data.subject),\n component: ({ data, role }) => {\n const settingsStore = useCapability(Capabilities.SettingsStore);\n const settings = settingsStore.getStore<MarkdownSettingsProps>(MARKDOWN_PLUGIN)!.value;\n const { state, editorState, getViewMode, setViewMode } = useCapability(MarkdownCapabilities.State);\n\n return (\n <MarkdownContainer\n id={data.id}\n object={data.subject}\n role={role}\n settings={settings}\n extensionProviders={state.extensionProviders}\n viewMode={getViewMode(data.id)}\n editorStateStore={editorState}\n onViewModeChange={setViewMode}\n />\n );\n },\n }),\n createSurface({\n id: `${MARKDOWN_PLUGIN}/editor`,\n role: ['article', 'section'],\n filter: (data): data is { subject: { id: string; text: string } } => isEditorModel(data.subject),\n component: ({ data, role }) => {\n const settingsStore = useCapability(Capabilities.SettingsStore);\n const settings = settingsStore.getStore<MarkdownSettingsProps>(MARKDOWN_PLUGIN)!.value;\n const { state, editorState, getViewMode, setViewMode } = useCapability(MarkdownCapabilities.State);\n\n return (\n <MarkdownContainer\n id={data.subject.id}\n object={data.subject}\n role={role}\n settings={settings}\n extensionProviders={state.extensionProviders}\n viewMode={getViewMode(data.subject.id)}\n editorStateStore={editorState}\n onViewModeChange={setViewMode}\n />\n );\n },\n }),\n createSurface({\n id: `${MARKDOWN_PLUGIN}/plugin-settings`,\n role: 'article',\n filter: (data): data is { subject: SettingsStore<MarkdownSettingsProps> } =>\n data.subject instanceof SettingsStore && data.subject.prefix === MARKDOWN_PLUGIN,\n component: ({ data: { subject } }) => <MarkdownSettings settings={subject.value} />,\n }),\n ]);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport * from './MarkdownSettings';\n\nexport const MarkdownContainer = lazy(() => import('./MarkdownContainer'));\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Input, Select, useTranslation } from '@dxos/react-ui';\nimport { type EditorInputMode, EditorInputModes, type EditorViewMode, EditorViewModes } from '@dxos/react-ui-editor';\nimport { DeprecatedFormContainer, DeprecatedFormInput } from '@dxos/react-ui-form';\n\nimport { MARKDOWN_PLUGIN } from '../meta';\nimport { type MarkdownSettingsProps } from '../types';\n\nexport const MarkdownSettings = ({ settings }: { settings: MarkdownSettingsProps }) => {\n const { t } = useTranslation(MARKDOWN_PLUGIN);\n\n // TODO(wittjosiah): Add skill test confirmation for entering vim mode.\n return (\n <DeprecatedFormContainer>\n <DeprecatedFormInput label={t('default view mode label')}>\n <Select.Root\n value={settings.defaultViewMode}\n onValueChange={(value) => {\n settings.defaultViewMode = value as EditorViewMode;\n }}\n >\n <Select.TriggerButton />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {EditorViewModes.map((mode) => (\n <Select.Option key={mode} value={mode}>\n {t(`${mode} mode label`, { ns: 'react-ui-editor' })}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('editor input mode label')}>\n <Select.Root\n value={settings.editorInputMode ?? 'default'}\n onValueChange={(value) => {\n settings.editorInputMode = value as EditorInputMode;\n }}\n >\n <Select.TriggerButton placeholder={t('select editor input mode placeholder')} />\n <Select.Portal>\n <Select.Content>\n <Select.Viewport>\n {EditorInputModes.map((mode) => (\n <Select.Option key={mode} value={mode}>\n {t(`settings editor input mode ${mode} label`)}\n </Select.Option>\n ))}\n </Select.Viewport>\n </Select.Content>\n </Select.Portal>\n </Select.Root>\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings toolbar label')}>\n <Input.Switch checked={settings.toolbar} onCheckedChange={(checked) => (settings.toolbar = !!checked)} />\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings numbered headings label')}>\n <Input.Switch\n checked={settings.numberedHeadings}\n onCheckedChange={(checked) => (settings.numberedHeadings = !!checked)}\n />\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings folding label')}>\n <Input.Switch checked={settings.folding} onCheckedChange={(checked) => (settings.folding = !!checked)} />\n </DeprecatedFormInput>\n\n <DeprecatedFormInput label={t('settings experimental label')}>\n <Input.Switch\n checked={settings.experimental}\n onCheckedChange={(checked) => (settings.experimental = !!checked)}\n />\n </DeprecatedFormInput>\n\n <DeprecatedFormInput\n label={t('settings debug label')}\n secondary={\n settings.debug ? (\n <Input.Root>\n <Input.TextArea\n rows={5}\n value={settings.typewriter}\n onChange={({ target: { value } }) => (settings.typewriter = value)}\n placeholder={t('settings debug placeholder')}\n />\n </Input.Root>\n ) : undefined\n }\n >\n <Input.Switch checked={settings.debug} onCheckedChange={(checked) => (settings.debug = !!checked)} />\n </DeprecatedFormInput>\n </DeprecatedFormContainer>\n );\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["import_react", "MarkdownSettings", "settings", "t", "useTranslation", "MARKDOWN_PLUGIN", "React", "DeprecatedFormContainer", "DeprecatedFormInput", "label", "Select", "Root", "value", "defaultViewMode", "onValueChange", "TriggerButton", "Portal", "Content", "Viewport", "EditorViewModes", "map", "mode", "Option", "key", "ns", "editorInputMode", "placeholder", "EditorInputModes", "Input", "Switch", "checked", "toolbar", "onCheckedChange", "numberedHeadings", "folding", "experimental", "secondary", "debug", "TextArea", "rows", "typewriter", "onChange", "target", "undefined", "MarkdownContainer", "lazy", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "role", "filter", "data", "isInstanceOf", "DocumentType", "subject", "variant", "component", "settingsStore", "useCapability", "SettingsStore", "getStore", "state", "editorState", "getViewMode", "setViewMode", "MarkdownCapabilities", "State", "fullyQualifiedId", "object", "extensionProviders", "viewMode", "editorStateStore", "onViewModeChange", "TextType", "isEditorModel", "prefix"]
7
+ }
@@ -16,13 +16,13 @@ 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 settings_SBFMJ556_exports = {};
20
- __export(settings_SBFMJ556_exports, {
19
+ var settings_S2ISUVIH_exports = {};
20
+ __export(settings_S2ISUVIH_exports, {
21
21
  default: () => settings_default
22
22
  });
23
- module.exports = __toCommonJS(settings_SBFMJ556_exports);
24
- var import_chunk_VYAJIYUI = require("./chunk-VYAJIYUI.cjs");
25
- var import_chunk_QZ4XQYNC = require("./chunk-QZ4XQYNC.cjs");
23
+ module.exports = __toCommonJS(settings_S2ISUVIH_exports);
24
+ var import_chunk_UEXGNGSS = require("./chunk-UEXGNGSS.cjs");
25
+ var import_chunk_ZU5OIHCY = require("./chunk-ZU5OIHCY.cjs");
26
26
  var import_app_framework = require("@dxos/app-framework");
27
27
  var import_live_object = require("@dxos/live-object");
28
28
  var settings_default = () => {
@@ -34,9 +34,9 @@ var settings_default = () => {
34
34
  experimental: false
35
35
  });
36
36
  return (0, import_app_framework.contributes)(import_app_framework.Capabilities.Settings, {
37
- schema: import_chunk_VYAJIYUI.MarkdownSettingsSchema,
38
- prefix: import_chunk_QZ4XQYNC.MARKDOWN_PLUGIN,
37
+ schema: import_chunk_UEXGNGSS.MarkdownSettingsSchema,
38
+ prefix: import_chunk_ZU5OIHCY.MARKDOWN_PLUGIN,
39
39
  value: settings
40
40
  });
41
41
  };
42
- //# sourceMappingURL=settings-SBFMJ556.cjs.map
42
+ //# sourceMappingURL=settings-S2ISUVIH.cjs.map
@@ -16,41 +16,36 @@ 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 state_GCSY2G53_exports = {};
20
- __export(state_GCSY2G53_exports, {
19
+ var state_L44SG3ZM_exports = {};
20
+ __export(state_L44SG3ZM_exports, {
21
21
  default: () => state_default
22
22
  });
23
- module.exports = __toCommonJS(state_GCSY2G53_exports);
24
- var import_chunk_4LG6SPXW = require("./chunk-4LG6SPXW.cjs");
25
- var import_chunk_QZ4XQYNC = require("./chunk-QZ4XQYNC.cjs");
23
+ module.exports = __toCommonJS(state_L44SG3ZM_exports);
24
+ var import_chunk_DZXTXSXX = require("./chunk-DZXTXSXX.cjs");
25
+ var import_chunk_ZU5OIHCY = require("./chunk-ZU5OIHCY.cjs");
26
26
  var import_app_framework = require("@dxos/app-framework");
27
27
  var import_local_storage = require("@dxos/local-storage");
28
+ var import_react_ui_editor = require("@dxos/react-ui-editor");
28
29
  var state_default = (context) => {
29
- const state = new import_local_storage.LocalStorageStore(import_chunk_QZ4XQYNC.MARKDOWN_PLUGIN, {
30
+ const state = new import_local_storage.LocalStorageStore(import_chunk_ZU5OIHCY.MARKDOWN_PLUGIN, {
30
31
  extensionProviders: [],
31
- viewMode: {},
32
- selectionState: {},
33
- foldState: {}
32
+ viewMode: {}
34
33
  });
35
34
  state.prop({
36
35
  key: "viewMode",
37
36
  type: import_local_storage.LocalStorageStore.json()
38
- }).prop({
39
- key: "selectionState",
40
- type: import_local_storage.LocalStorageStore.json()
41
- }).prop({
42
- key: "foldState",
43
- type: import_local_storage.LocalStorageStore.json()
44
37
  });
38
+ const editorState = (0, import_react_ui_editor.createEditorStateStore)(`${import_chunk_ZU5OIHCY.MARKDOWN_PLUGIN}/editor`);
45
39
  const getViewMode = (id) => {
46
- const defaultViewMode = context.requestCapability(import_app_framework.Capabilities.SettingsStore).getStore(import_chunk_QZ4XQYNC.MARKDOWN_PLUGIN).value.defaultViewMode;
40
+ const defaultViewMode = context.requestCapability(import_app_framework.Capabilities.SettingsStore).getStore(import_chunk_ZU5OIHCY.MARKDOWN_PLUGIN).value.defaultViewMode;
47
41
  return id && state.values.viewMode[id] || defaultViewMode;
48
42
  };
49
43
  const setViewMode = (id, viewMode) => state.values.viewMode[id] = viewMode;
50
- return (0, import_app_framework.contributes)(import_chunk_4LG6SPXW.MarkdownCapabilities.State, {
44
+ return (0, import_app_framework.contributes)(import_chunk_DZXTXSXX.MarkdownCapabilities.State, {
51
45
  state: state.values,
46
+ editorState,
52
47
  getViewMode,
53
48
  setViewMode
54
49
  });
55
50
  };
56
- //# sourceMappingURL=state-GCSY2G53.cjs.map
51
+ //# sourceMappingURL=state-L44SG3ZM.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/state.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, type PluginsContext } from '@dxos/app-framework';\nimport { LocalStorageStore } from '@dxos/local-storage';\nimport { type EditorViewMode, createEditorStateStore } from '@dxos/react-ui-editor';\n\nimport { MarkdownCapabilities } from './capabilities';\nimport { MARKDOWN_PLUGIN } from '../meta';\nimport { type MarkdownPluginState, type MarkdownSettingsProps } from '../types';\n\nexport default (context: PluginsContext) => {\n const state = new LocalStorageStore<MarkdownPluginState>(MARKDOWN_PLUGIN, { extensionProviders: [], viewMode: {} });\n\n state.prop({ key: 'viewMode', type: LocalStorageStore.json<{ [key: string]: EditorViewMode }>() });\n\n // TODO(wittjosiah): Fold into state.\n const editorState = createEditorStateStore(`${MARKDOWN_PLUGIN}/editor`);\n\n const getViewMode = (id: string) => {\n const defaultViewMode = context\n .requestCapability(Capabilities.SettingsStore)\n .getStore<MarkdownSettingsProps>(MARKDOWN_PLUGIN)!.value.defaultViewMode;\n return (id && state.values.viewMode[id]) || defaultViewMode;\n };\n\n const setViewMode = (id: string, viewMode: EditorViewMode) => (state.values.viewMode[id] = viewMode);\n\n return contributes(MarkdownCapabilities.State, { state: state.values, editorState, getViewMode, setViewMode });\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAA+D;AAC/D,2BAAkC;AAClC,6BAA4D;AAM5D,IAAA,gBAAe,CAACA,YAAAA;AACd,QAAMC,QAAQ,IAAIC,uCAAuCC,uCAAiB;IAAEC,oBAAoB,CAAA;IAAIC,UAAU,CAAC;EAAE,CAAA;AAEjHJ,QAAMK,KAAK;IAAEC,KAAK;IAAYC,MAAMN,uCAAkBO,KAAI;EAAsC,CAAA;AAGhG,QAAMC,kBAAcC,+CAAuB,GAAGR,qCAAAA,SAAwB;AAEtE,QAAMS,cAAc,CAACC,OAAAA;AACnB,UAAMC,kBAAkBd,QACrBe,kBAAkBC,kCAAaC,aAAa,EAC5CC,SAAgCf,qCAAAA,EAAkBgB,MAAML;AAC3D,WAAQD,MAAMZ,MAAMmB,OAAOf,SAASQ,EAAAA,KAAQC;EAC9C;AAEA,QAAMO,cAAc,CAACR,IAAYR,aAA8BJ,MAAMmB,OAAOf,SAASQ,EAAAA,IAAMR;AAE3F,aAAOiB,kCAAYC,2CAAqBC,OAAO;IAAEvB,OAAOA,MAAMmB;IAAQV;IAAaE;IAAaS;EAAY,CAAA;AAC9G;",
6
+ "names": ["context", "state", "LocalStorageStore", "MARKDOWN_PLUGIN", "extensionProviders", "viewMode", "prop", "key", "type", "json", "editorState", "createEditorStateStore", "getViewMode", "id", "defaultViewMode", "requestCapability", "Capabilities", "SettingsStore", "getStore", "value", "values", "setViewMode", "contributes", "MarkdownCapabilities", "State"]
7
+ }
@@ -16,18 +16,19 @@ 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 thread_CPYL6QVD_exports = {};
20
- __export(thread_CPYL6QVD_exports, {
19
+ var thread_42R57L4K_exports = {};
20
+ __export(thread_42R57L4K_exports, {
21
21
  default: () => thread_default
22
22
  });
23
- module.exports = __toCommonJS(thread_CPYL6QVD_exports);
24
- var import_chunk_VYAJIYUI = require("./chunk-VYAJIYUI.cjs");
25
- var import_chunk_QZ4XQYNC = require("./chunk-QZ4XQYNC.cjs");
23
+ module.exports = __toCommonJS(thread_42R57L4K_exports);
24
+ var import_chunk_UEXGNGSS = require("./chunk-UEXGNGSS.cjs");
25
+ var import_chunk_ZU5OIHCY = require("./chunk-ZU5OIHCY.cjs");
26
26
  var import_app_framework = require("@dxos/app-framework");
27
+ var import_echo_schema = require("@dxos/echo-schema");
27
28
  var import_plugin_space = require("@dxos/plugin-space");
28
29
  var import_echo = require("@dxos/react-client/echo");
29
30
  var thread_default = () => (0, import_app_framework.contributes)(import_plugin_space.ThreadCapabilities.Thread, {
30
- predicate: (obj) => obj instanceof import_chunk_VYAJIYUI.DocumentType,
31
+ predicate: (obj) => (0, import_echo_schema.isInstanceOf)(import_chunk_UEXGNGSS.DocumentType, obj),
31
32
  createSort: (doc) => {
32
33
  const accessor = doc.content.target ? (0, import_echo.createDocAccessor)(doc.content.target, [
33
34
  "content"
@@ -49,4 +50,4 @@ var thread_default = () => (0, import_app_framework.contributes)(import_plugin_s
49
50
  };
50
51
  }
51
52
  });
52
- //# sourceMappingURL=thread-CPYL6QVD.cjs.map
53
+ //# sourceMappingURL=thread-42R57L4K.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/thread.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { contributes } from '@dxos/app-framework';\nimport { isInstanceOf } from '@dxos/echo-schema';\nimport { ThreadCapabilities } from '@dxos/plugin-space';\nimport { createDocAccessor, getRangeFromCursor } from '@dxos/react-client/echo';\n\nimport { DocumentType } from '../types';\n\nexport default () =>\n contributes(ThreadCapabilities.Thread, {\n predicate: (obj) => isInstanceOf(DocumentType, obj),\n createSort: (doc: DocumentType) => {\n const accessor = doc.content.target ? createDocAccessor(doc.content.target, ['content']) : undefined;\n if (!accessor) {\n return (_) => 0;\n }\n\n const getStartPosition = (cursor: string | undefined) => {\n const range = cursor ? getRangeFromCursor(accessor, cursor) : undefined;\n return range?.start ?? Number.MAX_SAFE_INTEGER;\n };\n\n return (anchorA: string | undefined, anchorB: string | undefined): number => {\n if (anchorA === undefined || anchorB === undefined) {\n return 0;\n }\n const posA = getStartPosition(anchorA);\n const posB = getStartPosition(anchorB);\n return posA - posB;\n };\n },\n });\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAA4B;AAC5B,yBAA6B;AAC7B,0BAAmC;AACnC,kBAAsD;AAItD,IAAA,iBAAe,UACbA,kCAAYC,uCAAmBC,QAAQ;EACrCC,WAAW,CAACC,YAAQC,iCAAaC,oCAAcF,GAAAA;EAC/CG,YAAY,CAACC,QAAAA;AACX,UAAMC,WAAWD,IAAIE,QAAQC,aAASC,+BAAkBJ,IAAIE,QAAQC,QAAQ;MAAC;KAAU,IAAIE;AAC3F,QAAI,CAACJ,UAAU;AACb,aAAO,CAACK,MAAM;IAChB;AAEA,UAAMC,mBAAmB,CAACC,WAAAA;AACxB,YAAMC,QAAQD,aAASE,gCAAmBT,UAAUO,MAAAA,IAAUH;AAC9D,aAAOI,OAAOE,SAASC,OAAOC;IAChC;AAEA,WAAO,CAACC,SAA6BC,YAAAA;AACnC,UAAID,YAAYT,UAAaU,YAAYV,QAAW;AAClD,eAAO;MACT;AACA,YAAMW,OAAOT,iBAAiBO,OAAAA;AAC9B,YAAMG,OAAOV,iBAAiBQ,OAAAA;AAC9B,aAAOC,OAAOC;IAChB;EACF;AACF,CAAA;",
6
+ "names": ["contributes", "ThreadCapabilities", "Thread", "predicate", "obj", "isInstanceOf", "DocumentType", "createSort", "doc", "accessor", "content", "target", "createDocAccessor", "undefined", "_", "getStartPosition", "cursor", "range", "getRangeFromCursor", "start", "Number", "MAX_SAFE_INTEGER", "anchorA", "anchorB", "posA", "posB"]
7
+ }
@@ -18,16 +18,18 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var types_exports = {};
20
20
  __export(types_exports, {
21
- DocumentType: () => import_chunk_VYAJIYUI.DocumentType,
22
- MarkdownAction: () => import_chunk_VYAJIYUI.MarkdownAction,
23
- MarkdownSettingsSchema: () => import_chunk_VYAJIYUI.MarkdownSettingsSchema,
24
- isEditorModel: () => import_chunk_VYAJIYUI.isEditorModel
21
+ DocumentSchema: () => import_chunk_UEXGNGSS.DocumentSchema,
22
+ DocumentType: () => import_chunk_UEXGNGSS.DocumentType,
23
+ MarkdownAction: () => import_chunk_UEXGNGSS.MarkdownAction,
24
+ MarkdownSettingsSchema: () => import_chunk_UEXGNGSS.MarkdownSettingsSchema,
25
+ isEditorModel: () => import_chunk_UEXGNGSS.isEditorModel
25
26
  });
26
27
  module.exports = __toCommonJS(types_exports);
27
- var import_chunk_VYAJIYUI = require("../chunk-VYAJIYUI.cjs");
28
- var import_chunk_QZ4XQYNC = require("../chunk-QZ4XQYNC.cjs");
28
+ var import_chunk_UEXGNGSS = require("../chunk-UEXGNGSS.cjs");
29
+ var import_chunk_ZU5OIHCY = require("../chunk-ZU5OIHCY.cjs");
29
30
  // Annotate the CommonJS export names for ESM import in node:
30
31
  0 && (module.exports = {
32
+ DocumentSchema,
31
33
  DocumentType,
32
34
  MarkdownAction,
33
35
  MarkdownSettingsSchema,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["index.cjs"],
4
- "sourcesContent": ["import {\n DocumentType,\n MarkdownAction,\n MarkdownSettingsSchema,\n isEditorModel\n} from \"../chunk-VYAJIYUI.cjs\";\nimport \"../chunk-QZ4XQYNC.cjs\";\nexport {\n DocumentType,\n MarkdownAction,\n MarkdownSettingsSchema,\n isEditorModel\n};\n//# sourceMappingURL=index.cjs.map\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAKO;AACP,4BAAO;",
4
+ "sourcesContent": ["import {\n DocumentSchema,\n DocumentType,\n MarkdownAction,\n MarkdownSettingsSchema,\n isEditorModel\n} from \"../chunk-UEXGNGSS.cjs\";\nimport \"../chunk-ZU5OIHCY.cjs\";\nexport {\n DocumentSchema,\n DocumentType,\n MarkdownAction,\n MarkdownSettingsSchema,\n isEditorModel\n};\n//# sourceMappingURL=index.cjs.map\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAMO;AACP,4BAAO;",
6
6
  "names": []
7
7
  }
@@ -2,29 +2,32 @@ import { createRequire } from 'node:module';const require = createRequire(import
2
2
  import {
3
3
  getFallbackName,
4
4
  setFallbackName
5
- } from "./chunk-PQDVRE2Y.mjs";
5
+ } from "./chunk-F6UHVLH7.mjs";
6
6
  import {
7
7
  MarkdownCapabilities
8
- } from "./chunk-GUZZJ4H4.mjs";
8
+ } from "./chunk-ETXPC5VP.mjs";
9
9
  import {
10
10
  DocumentType
11
- } from "./chunk-3SDMSQOB.mjs";
11
+ } from "./chunk-4AM4VU3Y.mjs";
12
12
  import {
13
13
  MARKDOWN_PLUGIN
14
- } from "./chunk-BBVPC53M.mjs";
14
+ } from "./chunk-RX63ZNML.mjs";
15
15
 
16
16
  // packages/plugins/plugin-markdown/src/components/MarkdownContainer.tsx
17
17
  import React3, { useEffect as useEffect2, useMemo as useMemo4 } from "react";
18
18
  import { Capabilities, useCapabilities as useCapabilities2 } from "@dxos/app-framework";
19
+ import { isInstanceOf } from "@dxos/echo-schema";
19
20
  import { fullyQualifiedId as fullyQualifiedId2, getSpace as getSpace2 } from "@dxos/react-client/echo";
21
+ import { TextType } from "@dxos/schema";
20
22
 
21
23
  // packages/plugins/plugin-markdown/src/components/MarkdownEditor.tsx
22
24
  import { openSearchPanel } from "@codemirror/search";
23
25
  import React, { useMemo as useMemo2, useEffect, useCallback } from "react";
24
26
  import { useDropzone } from "react-dropzone";
25
- import { createIntent, LayoutAction as LayoutAction2, useIntentDispatcher } from "@dxos/app-framework";
27
+ import { createIntent, useIntentDispatcher } from "@dxos/app-framework";
28
+ import { ATTENDABLE_PATH_SEPARATOR, DeckAction } from "@dxos/plugin-deck/types";
26
29
  import { useThemeContext, useTranslation } from "@dxos/react-ui";
27
- import { EditorToolbar, createBasicExtensions, createMarkdownExtensions, createThemeExtensions, dropFile, editorContent, editorGutter, processEditorPayload, useActionHandler, useCommentState, useCommentClickListener, useFormattingState, useTextEditor, stackItemContentEditorClassNames, useEditorToolbarState, createEditorAction } from "@dxos/react-ui-editor";
30
+ import { EditorToolbar, createBasicExtensions, createEditorAction, createMarkdownExtensions, createThemeExtensions, dropFile, editorContent, editorGutter, processEditorPayload, stackItemContentEditorClassNames, useActionHandler, useCommentState, useCommentClickListener, useFormattingState, useTextEditor, useEditorToolbarState } from "@dxos/react-ui-editor";
28
31
  import { StackItem } from "@dxos/react-ui-stack";
29
32
  import { isNotFalsy, isNonNullable } from "@dxos/util";
30
33
 
@@ -89,7 +92,7 @@ var useSelectCurrentThread = (editorView, documentId) => {
89
92
  };
90
93
 
91
94
  // packages/plugins/plugin-markdown/src/components/MarkdownEditor.tsx
92
- var MarkdownEditor = ({ id, role = "article", initialValue, extensions, extensionProviders, scrollPastEnd, toolbar, viewMode, scrollTo, selection, onFileUpload, onViewModeChange }) => {
95
+ var MarkdownEditor = ({ id, role = "article", initialValue, extensions, extensionProviders, scrollPastEnd, toolbar, comment = true, viewMode, editorStateStore, onFileUpload, onViewModeChange }) => {
93
96
  const { t } = useTranslation(MARKDOWN_PLUGIN);
94
97
  const { themeMode } = useThemeContext();
95
98
  const { dispatchPromise: dispatch } = useIntentDispatcher();
@@ -97,17 +100,17 @@ var MarkdownEditor = ({ id, role = "article", initialValue, extensions, extensio
97
100
  viewMode
98
101
  });
99
102
  const formattingObserver = useFormattingState(toolbarState);
103
+ const { scrollTo, selection } = useMemo2(() => editorStateStore?.getState(id) ?? {}, [
104
+ id
105
+ ]);
100
106
  const providerExtensions = useMemo2(() => extensionProviders?.flatMap((provider) => provider({})).filter(isNonNullable), [
101
107
  extensionProviders
102
108
  ]);
103
109
  const commentObserver = useCommentState(toolbarState);
104
110
  const onCommentClick = useCallback(async () => {
105
- await dispatch(createIntent(LayoutAction2.UpdateComplementary, {
106
- part: "complementary",
107
- subject: "comments",
108
- options: {
109
- state: "expanded"
110
- }
111
+ await dispatch(createIntent(DeckAction.ChangeCompanion, {
112
+ primary: id,
113
+ companion: `${id}${ATTENDABLE_PATH_SEPARATOR}comments`
111
114
  }));
112
115
  }, [
113
116
  dispatch
@@ -127,10 +130,10 @@ var MarkdownEditor = ({ id, role = "article", initialValue, extensions, extensio
127
130
  initialValue,
128
131
  extensions: [
129
132
  formattingObserver,
130
- commentObserver,
131
- commentClickObserver,
133
+ comment && commentObserver,
134
+ comment && commentClickObserver,
132
135
  createBasicExtensions({
133
- readonly: viewMode === "readonly",
136
+ readOnly: viewMode === "readonly",
134
137
  placeholder: t("editor placeholder"),
135
138
  scrollPastEnd: role === "section" ? false : scrollPastEnd
136
139
  }),
@@ -164,6 +167,7 @@ var MarkdownEditor = ({ id, role = "article", initialValue, extensions, extensio
164
167
  }), [
165
168
  id,
166
169
  formattingObserver,
170
+ comment,
167
171
  viewMode,
168
172
  themeMode,
169
173
  extensions,
@@ -236,6 +240,7 @@ var MarkdownEditor = ({ id, role = "article", initialValue, extensions, extensio
236
240
  attendableId: id,
237
241
  role,
238
242
  state: toolbarState,
243
+ comment,
239
244
  customActions: onFileUpload ? createUploadAction : void 0,
240
245
  onAction: handleAction
241
246
  }), /* @__PURE__ */ React.createElement("input", getInputProps())), /* @__PURE__ */ React.createElement("div", {
@@ -280,7 +285,7 @@ var createUploadAction = () => ({
280
285
  // packages/plugins/plugin-markdown/src/extensions.tsx
281
286
  import React2, { useMemo as useMemo3 } from "react";
282
287
  import { createRoot } from "react-dom/client";
283
- import { createIntent as createIntent2, LayoutAction as LayoutAction3, useCapabilities, useIntentDispatcher as useIntentDispatcher2 } from "@dxos/app-framework";
288
+ import { createIntent as createIntent2, LayoutAction as LayoutAction2, useCapabilities, useIntentDispatcher as useIntentDispatcher2 } from "@dxos/app-framework";
284
289
  import { invariant as invariant2 } from "@dxos/invariant";
285
290
  import { createDocAccessor, fullyQualifiedId, getSpace } from "@dxos/react-client/echo";
286
291
  import { useIdentity } from "@dxos/react-client/halo";
@@ -289,18 +294,21 @@ import { InputModeExtensions, createDataExtensions, autocomplete, decorateMarkdo
289
294
  import { defaultTx } from "@dxos/react-ui-theme";
290
295
  import { isNotFalsy as isNotFalsy2 } from "@dxos/util";
291
296
  var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-markdown/src/extensions.tsx";
292
- var useExtensions = ({ document, settings, viewMode, selection, folding: folding2 }) => {
297
+ var useExtensions = ({ document, id, text, settings, viewMode, editorStateStore }) => {
293
298
  const { dispatchPromise: dispatch } = useIntentDispatcher2();
294
299
  const identity = useIdentity();
295
- const space = getSpace(document);
300
+ const space = getSpace(document) ?? getSpace(text);
296
301
  const baseExtensions = useMemo3(() => createBaseExtensions({
297
302
  document,
303
+ id,
304
+ text,
298
305
  settings,
299
306
  viewMode,
300
- dispatch,
301
- folding: folding2
307
+ dispatch
302
308
  }), [
303
309
  document,
310
+ id,
311
+ text,
304
312
  viewMode,
305
313
  dispatch,
306
314
  settings,
@@ -333,9 +341,17 @@ var useExtensions = ({ document, settings, viewMode, selection, folding: folding
333
341
  space,
334
342
  identity
335
343
  }),
336
- selectionState(selection),
344
+ text && id && createDataExtensions({
345
+ id,
346
+ text: createDocAccessor(text, [
347
+ "content"
348
+ ]),
349
+ space,
350
+ identity
351
+ }),
352
+ selectionState(editorStateStore),
337
353
  document && listener({
338
- onChange: (text) => setFallbackName(document, text)
354
+ onChange: (text2) => setFallbackName(document, text2)
339
355
  }),
340
356
  baseExtensions,
341
357
  pluginExtensions
@@ -344,14 +360,16 @@ var useExtensions = ({ document, settings, viewMode, selection, folding: folding
344
360
  pluginExtensions,
345
361
  document,
346
362
  document?.content?.target,
363
+ text,
364
+ id,
347
365
  space,
348
366
  identity
349
367
  ]);
350
368
  };
351
- var createBaseExtensions = ({ document, dispatch, settings, query, viewMode, folding: foldingState }) => {
369
+ var createBaseExtensions = ({ document, id, dispatch, settings, query, viewMode }) => {
352
370
  const extensions = [
353
371
  settings.editorInputMode && InputModeExtensions[settings.editorInputMode],
354
- settings.folding && folding(foldingState)
372
+ settings.folding && folding()
355
373
  ].filter(isNotFalsy2);
356
374
  if (viewMode !== "source") {
357
375
  extensions.push(...[
@@ -362,14 +380,14 @@ var createBaseExtensions = ({ document, dispatch, settings, query, viewMode, fol
362
380
  from: 2
363
381
  } : void 0,
364
382
  // TODO(wittjosiah): For internal links, consider ignoring the link text and rendering the label of the object being linked to.
365
- renderLinkButton: dispatch && document ? onRenderLink((id) => {
366
- void dispatch(createIntent2(LayoutAction3.Open, {
383
+ renderLinkButton: dispatch && (document || id) ? onRenderLink((id2) => {
384
+ void dispatch(createIntent2(LayoutAction2.Open, {
367
385
  part: "main",
368
386
  subject: [
369
- id
387
+ id2
370
388
  ],
371
389
  options: {
372
- pivotId: fullyQualifiedId(document)
390
+ pivotId: document ? fullyQualifiedId(document) : id2
373
391
  }
374
392
  }));
375
393
  }) : void 0
@@ -410,7 +428,7 @@ var onRenderLink = (onSelectObject) => (el, url) => {
410
428
  const qualifiedId = url.split("/").at(-1);
411
429
  invariant2(qualifiedId, "Invalid link format.", {
412
430
  F: __dxlog_file2,
413
- L: 228,
431
+ L: 247,
414
432
  S: void 0,
415
433
  A: [
416
434
  "qualifiedId",
@@ -454,17 +472,18 @@ var renderRoot = (root, node) => {
454
472
  };
455
473
 
456
474
  // packages/plugins/plugin-markdown/src/components/MarkdownContainer.tsx
457
- var MarkdownContainer = ({ id, role, object, settings, viewMode, selection, folding: folding2, onViewModeChange }) => {
475
+ var MarkdownContainer = ({ id, role, object, settings, viewMode, editorStateStore, onViewModeChange }) => {
458
476
  const scrollPastEnd = role === "article";
459
- const doc = object instanceof DocumentType ? object : void 0;
477
+ const doc = isInstanceOf(DocumentType, object) ? object : void 0;
478
+ const text = isInstanceOf(TextType, object) ? object : void 0;
460
479
  const extensions = useExtensions({
461
480
  document: doc,
481
+ text,
482
+ id,
462
483
  settings,
463
484
  viewMode,
464
- selection,
465
- folding: folding2
485
+ editorStateStore
466
486
  });
467
- const selectionState2 = selection?.[fullyQualifiedId2(object)];
468
487
  if (doc) {
469
488
  return /* @__PURE__ */ React3.createElement(DocumentEditor, {
470
489
  id: fullyQualifiedId2(object),
@@ -474,8 +493,19 @@ var MarkdownContainer = ({ id, role, object, settings, viewMode, selection, fold
474
493
  viewMode,
475
494
  settings,
476
495
  scrollPastEnd,
477
- selection: selectionState2?.selection,
478
- scrollTo: selectionState2?.scrollTo,
496
+ onViewModeChange
497
+ });
498
+ } else if (text) {
499
+ return /* @__PURE__ */ React3.createElement(MarkdownEditor, {
500
+ id,
501
+ role,
502
+ initialValue: text.content,
503
+ extensions,
504
+ viewMode,
505
+ toolbar: settings.toolbar,
506
+ comment: false,
507
+ inputMode: settings.editorInputMode,
508
+ scrollPastEnd,
479
509
  onViewModeChange
480
510
  });
481
511
  } else {
@@ -488,8 +518,6 @@ var MarkdownContainer = ({ id, role, object, settings, viewMode, selection, fold
488
518
  toolbar: settings.toolbar,
489
519
  inputMode: settings.editorInputMode,
490
520
  scrollPastEnd,
491
- selection: selectionState2?.selection,
492
- scrollTo: selectionState2?.scrollTo,
493
521
  onViewModeChange
494
522
  });
495
523
  }
@@ -533,4 +561,4 @@ export {
533
561
  DocumentEditor,
534
562
  MarkdownContainer_default as default
535
563
  };
536
- //# sourceMappingURL=MarkdownContainer-VYZZDI4J.mjs.map
564
+ //# sourceMappingURL=MarkdownContainer-URAPTO37.mjs.map