@dxos/plugin-thread 0.8.4-main.dedc0f3 → 0.8.4-main.ead640a

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 (173) hide show
  1. package/dist/lib/browser/ChannelContainer-BGDGZHV4.mjs +16 -0
  2. package/dist/lib/browser/ChatContainer-75KJZ4XR.mjs +15 -0
  3. package/dist/lib/browser/{app-graph-builder-FHAOPO57.mjs → app-graph-builder-ODKIAXR7.mjs} +17 -17
  4. package/dist/lib/browser/app-graph-builder-ODKIAXR7.mjs.map +7 -0
  5. package/dist/lib/browser/{call-manager-RMPTWSTF.mjs → call-manager-BCKLI4QD.mjs} +5 -5
  6. package/dist/lib/browser/{call-manager-RMPTWSTF.mjs.map → call-manager-BCKLI4QD.mjs.map} +1 -1
  7. package/dist/lib/browser/chunk-2MUYQOQE.mjs +23 -0
  8. package/dist/lib/browser/{chunk-PBMNFG3B.mjs → chunk-B7YQ7QR2.mjs} +4 -4
  9. package/dist/lib/browser/{chunk-7W7QK5ZP.mjs → chunk-CMCVHULC.mjs} +7 -7
  10. package/dist/lib/browser/chunk-CMCVHULC.mjs.map +7 -0
  11. package/dist/lib/browser/{chunk-GERVMFQW.mjs → chunk-CP7E2HRE.mjs} +2 -2
  12. package/dist/lib/browser/chunk-CP7E2HRE.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-RI3Z6MK3.mjs → chunk-HDEQRBOC.mjs} +1 -1
  14. package/dist/lib/browser/{chunk-RI3Z6MK3.mjs.map → chunk-HDEQRBOC.mjs.map} +2 -2
  15. package/dist/lib/browser/chunk-L326LSNS.mjs +18 -0
  16. package/dist/lib/browser/chunk-L326LSNS.mjs.map +7 -0
  17. package/dist/lib/browser/{chunk-EV4JWI7L.mjs → chunk-T4KJ5JR4.mjs} +5 -7
  18. package/dist/lib/browser/chunk-T4KJ5JR4.mjs.map +7 -0
  19. package/dist/lib/browser/{chunk-ZH2WPTNP.mjs → chunk-VJMKS4CZ.mjs} +16 -15
  20. package/dist/lib/browser/{chunk-ZH2WPTNP.mjs.map → chunk-VJMKS4CZ.mjs.map} +3 -3
  21. package/dist/lib/browser/{chunk-KTWYVC5X.mjs → chunk-VTYX3SIM.mjs} +6 -6
  22. package/dist/lib/browser/chunk-VTYX3SIM.mjs.map +7 -0
  23. package/dist/lib/browser/index.mjs +10 -11
  24. package/dist/lib/browser/index.mjs.map +3 -3
  25. package/dist/lib/browser/{intent-resolver-J7OCP2P6.mjs → intent-resolver-VOQD3TQ2.mjs} +11 -11
  26. package/dist/lib/browser/intent-resolver-VOQD3TQ2.mjs.map +7 -0
  27. package/dist/lib/browser/{markdown-Z677YORA.mjs → markdown-R6MGRIA6.mjs} +6 -6
  28. package/dist/lib/browser/{markdown-Z677YORA.mjs.map → markdown-R6MGRIA6.mjs.map} +1 -1
  29. package/dist/lib/browser/meta.json +1 -1
  30. package/dist/lib/browser/react-root-UMSBTN6H.mjs +28 -0
  31. package/dist/lib/browser/react-root-UMSBTN6H.mjs.map +7 -0
  32. package/dist/lib/browser/{react-surface-GVGZRBDK.mjs → react-surface-SXMQEWKE.mjs} +21 -21
  33. package/dist/lib/browser/react-surface-SXMQEWKE.mjs.map +7 -0
  34. package/dist/lib/browser/{settings-GRKEID73.mjs → settings-TCNF54PN.mjs} +5 -5
  35. package/dist/lib/browser/{settings-GRKEID73.mjs.map → settings-TCNF54PN.mjs.map} +1 -1
  36. package/dist/lib/browser/{state-2T4KDWBX.mjs → state-ZQ4IPOJT.mjs} +5 -5
  37. package/dist/lib/browser/{state-2T4KDWBX.mjs.map → state-ZQ4IPOJT.mjs.map} +1 -1
  38. package/dist/lib/browser/{toolkit-KUPIIFC6.mjs → toolkit-JF4B4QIO.mjs} +17 -13
  39. package/dist/lib/browser/toolkit-JF4B4QIO.mjs.map +7 -0
  40. package/dist/lib/browser/types/index.mjs +2 -2
  41. package/dist/lib/node-esm/ChannelContainer-OXC6BTU7.mjs +17 -0
  42. package/dist/lib/node-esm/{ChatContainer-QVQKFBWA.mjs → ChatContainer-SH6LTFQL.mjs} +5 -5
  43. package/dist/lib/node-esm/{app-graph-builder-XEYWX5FC.mjs → app-graph-builder-DMPT3MY6.mjs} +17 -17
  44. package/dist/lib/node-esm/app-graph-builder-DMPT3MY6.mjs.map +7 -0
  45. package/dist/lib/node-esm/{call-manager-QAREJFVX.mjs → call-manager-Q7RY2YP4.mjs} +5 -5
  46. package/dist/lib/node-esm/{call-manager-QAREJFVX.mjs.map → call-manager-Q7RY2YP4.mjs.map} +1 -1
  47. package/dist/lib/node-esm/{chunk-SNKFZQST.mjs → chunk-2KZ4ODHU.mjs} +7 -7
  48. package/dist/lib/node-esm/chunk-2KZ4ODHU.mjs.map +7 -0
  49. package/dist/lib/node-esm/{chunk-JNPKMT7O.mjs → chunk-2MMJF7DW.mjs} +1 -1
  50. package/dist/lib/node-esm/{chunk-JNPKMT7O.mjs.map → chunk-2MMJF7DW.mjs.map} +2 -2
  51. package/dist/lib/node-esm/{chunk-57XR3LEF.mjs → chunk-ABUFOZVX.mjs} +2 -2
  52. package/dist/lib/node-esm/chunk-ABUFOZVX.mjs.map +7 -0
  53. package/dist/lib/node-esm/{chunk-P6E247RF.mjs → chunk-BAMZXJS4.mjs} +6 -6
  54. package/dist/lib/node-esm/chunk-BAMZXJS4.mjs.map +7 -0
  55. package/dist/lib/node-esm/{chunk-DKCQCENK.mjs → chunk-BTGKI5IK.mjs} +4 -4
  56. package/dist/lib/node-esm/chunk-GZ4WL2IS.mjs +25 -0
  57. package/dist/lib/node-esm/chunk-LCHTNRK7.mjs +19 -0
  58. package/dist/lib/node-esm/chunk-LCHTNRK7.mjs.map +7 -0
  59. package/dist/lib/node-esm/{chunk-LE2LIYGX.mjs → chunk-NHSIAEDW.mjs} +16 -15
  60. package/dist/lib/node-esm/{chunk-LE2LIYGX.mjs.map → chunk-NHSIAEDW.mjs.map} +3 -3
  61. package/dist/lib/node-esm/{chunk-GRLRWTRU.mjs → chunk-OBVAURUU.mjs} +5 -7
  62. package/dist/lib/node-esm/chunk-OBVAURUU.mjs.map +7 -0
  63. package/dist/lib/node-esm/index.mjs +10 -11
  64. package/dist/lib/node-esm/index.mjs.map +3 -3
  65. package/dist/lib/node-esm/{intent-resolver-SR2LW4HF.mjs → intent-resolver-AKVH66PH.mjs} +11 -11
  66. package/dist/lib/node-esm/intent-resolver-AKVH66PH.mjs.map +7 -0
  67. package/dist/lib/node-esm/{markdown-FL4IXLRP.mjs → markdown-MYGTDXT6.mjs} +6 -6
  68. package/dist/lib/node-esm/{markdown-FL4IXLRP.mjs.map → markdown-MYGTDXT6.mjs.map} +1 -1
  69. package/dist/lib/node-esm/meta.json +1 -1
  70. package/dist/lib/node-esm/{react-root-4JWDRIQB.mjs → react-root-W6AVTL5M.mjs} +14 -14
  71. package/dist/lib/node-esm/react-root-W6AVTL5M.mjs.map +7 -0
  72. package/dist/lib/node-esm/{react-surface-WLQUVRAX.mjs → react-surface-NLSZJGMO.mjs} +21 -21
  73. package/dist/lib/node-esm/react-surface-NLSZJGMO.mjs.map +7 -0
  74. package/dist/lib/node-esm/{settings-F2ODVNNW.mjs → settings-ZQHGVFBY.mjs} +5 -5
  75. package/dist/lib/node-esm/{settings-F2ODVNNW.mjs.map → settings-ZQHGVFBY.mjs.map} +1 -1
  76. package/dist/lib/node-esm/{state-62TQKQVB.mjs → state-FSLLJ5TZ.mjs} +5 -5
  77. package/dist/lib/node-esm/{state-62TQKQVB.mjs.map → state-FSLLJ5TZ.mjs.map} +1 -1
  78. package/dist/lib/node-esm/{toolkit-KZIS7G36.mjs → toolkit-DHPKJITO.mjs} +17 -13
  79. package/dist/lib/node-esm/toolkit-DHPKJITO.mjs.map +7 -0
  80. package/dist/lib/node-esm/types/index.mjs +2 -2
  81. package/dist/types/src/ThreadPlugin.d.ts +1 -1
  82. package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
  83. package/dist/types/src/calls-service.stories.d.ts +0 -1
  84. package/dist/types/src/calls-service.stories.d.ts.map +1 -1
  85. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  86. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  87. package/dist/types/src/capabilities/toolkit.d.ts +3 -2
  88. package/dist/types/src/capabilities/toolkit.d.ts.map +1 -1
  89. package/dist/types/src/components/ChannelContainer.stories.d.ts +1 -3
  90. package/dist/types/src/components/ChannelContainer.stories.d.ts.map +1 -1
  91. package/dist/types/src/components/Chat.stories.d.ts +1 -1
  92. package/dist/types/src/components/Chat.stories.d.ts.map +1 -1
  93. package/dist/types/src/components/Comments.stories.d.ts +0 -1
  94. package/dist/types/src/components/Comments.stories.d.ts.map +1 -1
  95. package/dist/types/src/components/Media/VideoObject.d.ts +2 -2
  96. package/dist/types/src/components/Media/VideoObject.d.ts.map +1 -1
  97. package/dist/types/src/components/Media/VideoObject.stories.d.ts +5 -3
  98. package/dist/types/src/components/Media/VideoObject.stories.d.ts.map +1 -1
  99. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts +1 -1
  100. package/dist/types/src/components/ResponsiveGrid/ResponsiveContainer.stories.d.ts.map +1 -1
  101. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts +1 -1
  102. package/dist/types/src/components/ResponsiveGrid/ResponsiveGrid.stories.d.ts.map +1 -1
  103. package/dist/types/src/components/ThreadSettings.d.ts +1 -1
  104. package/dist/types/src/components/ThreadSettings.d.ts.map +1 -1
  105. package/dist/types/src/hooks/useVideoStreamTrack.d.ts +1 -1
  106. package/dist/types/src/hooks/useVideoStreamTrack.d.ts.map +1 -1
  107. package/dist/types/src/meta.d.ts +1 -2
  108. package/dist/types/src/meta.d.ts.map +1 -1
  109. package/dist/types/src/types/schema.d.ts +5 -3
  110. package/dist/types/src/types/schema.d.ts.map +1 -1
  111. package/dist/types/src/types/types.d.ts +11 -9
  112. package/dist/types/src/types/types.d.ts.map +1 -1
  113. package/dist/types/tsconfig.tsbuildinfo +1 -1
  114. package/package.json +57 -57
  115. package/src/ThreadPlugin.tsx +128 -128
  116. package/src/calls-service.stories.tsx +2 -5
  117. package/src/capabilities/app-graph-builder.ts +11 -10
  118. package/src/capabilities/capabilities.ts +5 -5
  119. package/src/capabilities/intent-resolver.ts +5 -5
  120. package/src/capabilities/react-root.tsx +2 -2
  121. package/src/capabilities/react-surface.tsx +9 -9
  122. package/src/capabilities/toolkit.ts +12 -8
  123. package/src/components/ChannelContainer.stories.tsx +6 -6
  124. package/src/components/ChannelContainer.tsx +1 -1
  125. package/src/components/Chat.stories.tsx +7 -6
  126. package/src/components/Comments.stories.tsx +6 -11
  127. package/src/components/Media/VideoObject.stories.tsx +12 -7
  128. package/src/components/ResponsiveGrid/ResponsiveContainer.stories.tsx +3 -4
  129. package/src/components/ResponsiveGrid/ResponsiveGrid.stories.tsx +3 -4
  130. package/src/components/ThreadComplementary.tsx +1 -1
  131. package/src/components/ThreadSettings.tsx +4 -5
  132. package/src/hooks/useVideoStreamTrack.tsx +1 -1
  133. package/src/meta.ts +3 -4
  134. package/src/testing/stories.ts +1 -1
  135. package/src/types/schema.ts +1 -1
  136. package/src/types/types.ts +2 -2
  137. package/src/util.ts +1 -1
  138. package/dist/lib/browser/ChannelContainer-4PYFOIDK.mjs +0 -16
  139. package/dist/lib/browser/ChatContainer-EXNNREYB.mjs +0 -15
  140. package/dist/lib/browser/app-graph-builder-FHAOPO57.mjs.map +0 -7
  141. package/dist/lib/browser/chunk-4APCDRSH.mjs +0 -18
  142. package/dist/lib/browser/chunk-4APCDRSH.mjs.map +0 -7
  143. package/dist/lib/browser/chunk-7W7QK5ZP.mjs.map +0 -7
  144. package/dist/lib/browser/chunk-EV4JWI7L.mjs.map +0 -7
  145. package/dist/lib/browser/chunk-G4CNILRR.mjs +0 -23
  146. package/dist/lib/browser/chunk-GERVMFQW.mjs.map +0 -7
  147. package/dist/lib/browser/chunk-KTWYVC5X.mjs.map +0 -7
  148. package/dist/lib/browser/intent-resolver-J7OCP2P6.mjs.map +0 -7
  149. package/dist/lib/browser/react-root-XKOD4KRB.mjs +0 -28
  150. package/dist/lib/browser/react-root-XKOD4KRB.mjs.map +0 -7
  151. package/dist/lib/browser/react-surface-GVGZRBDK.mjs.map +0 -7
  152. package/dist/lib/browser/toolkit-KUPIIFC6.mjs.map +0 -7
  153. package/dist/lib/node-esm/ChannelContainer-KQQEZWUN.mjs +0 -17
  154. package/dist/lib/node-esm/app-graph-builder-XEYWX5FC.mjs.map +0 -7
  155. package/dist/lib/node-esm/chunk-4T45PCKP.mjs +0 -25
  156. package/dist/lib/node-esm/chunk-57XR3LEF.mjs.map +0 -7
  157. package/dist/lib/node-esm/chunk-GRLRWTRU.mjs.map +0 -7
  158. package/dist/lib/node-esm/chunk-P6E247RF.mjs.map +0 -7
  159. package/dist/lib/node-esm/chunk-PYTVBN5J.mjs +0 -19
  160. package/dist/lib/node-esm/chunk-PYTVBN5J.mjs.map +0 -7
  161. package/dist/lib/node-esm/chunk-SNKFZQST.mjs.map +0 -7
  162. package/dist/lib/node-esm/intent-resolver-SR2LW4HF.mjs.map +0 -7
  163. package/dist/lib/node-esm/react-root-4JWDRIQB.mjs.map +0 -7
  164. package/dist/lib/node-esm/react-surface-WLQUVRAX.mjs.map +0 -7
  165. package/dist/lib/node-esm/toolkit-KZIS7G36.mjs.map +0 -7
  166. /package/dist/lib/browser/{ChannelContainer-4PYFOIDK.mjs.map → ChannelContainer-BGDGZHV4.mjs.map} +0 -0
  167. /package/dist/lib/browser/{ChatContainer-EXNNREYB.mjs.map → ChatContainer-75KJZ4XR.mjs.map} +0 -0
  168. /package/dist/lib/browser/{chunk-G4CNILRR.mjs.map → chunk-2MUYQOQE.mjs.map} +0 -0
  169. /package/dist/lib/browser/{chunk-PBMNFG3B.mjs.map → chunk-B7YQ7QR2.mjs.map} +0 -0
  170. /package/dist/lib/node-esm/{ChannelContainer-KQQEZWUN.mjs.map → ChannelContainer-OXC6BTU7.mjs.map} +0 -0
  171. /package/dist/lib/node-esm/{ChatContainer-QVQKFBWA.mjs.map → ChatContainer-SH6LTFQL.mjs.map} +0 -0
  172. /package/dist/lib/node-esm/{chunk-DKCQCENK.mjs.map → chunk-BTGKI5IK.mjs.map} +0 -0
  173. /package/dist/lib/node-esm/{chunk-4T45PCKP.mjs.map → chunk-GZ4WL2IS.mjs.map} +0 -0
@@ -2,11 +2,11 @@ import { createRequire } from 'node:module';const require = createRequire(import
2
2
  import {
3
3
  ThreadAction,
4
4
  ThreadType
5
- } from "./chunk-P6E247RF.mjs";
5
+ } from "./chunk-BAMZXJS4.mjs";
6
6
  import {
7
7
  ThreadCapabilities
8
- } from "./chunk-PYTVBN5J.mjs";
9
- import "./chunk-GRLRWTRU.mjs";
8
+ } from "./chunk-LCHTNRK7.mjs";
9
+ import "./chunk-OBVAURUU.mjs";
10
10
 
11
11
  // src/capabilities/markdown.ts
12
12
  import { EditorView as EditorView2 } from "@codemirror/view";
@@ -120,7 +120,7 @@ var threads = (state, doc, dispatch) => {
120
120
  };
121
121
 
122
122
  // src/capabilities/markdown.ts
123
- var markdown_default = (context) => contributes(MarkdownCapabilities.Extensions, [
123
+ var markdown_default = ((context) => contributes(MarkdownCapabilities.Extensions, [
124
124
  ({ document: doc }) => {
125
125
  const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
126
126
  const { state } = context.getCapability(ThreadCapabilities.MutableState);
@@ -150,7 +150,7 @@ var markdown_default = (context) => contributes(MarkdownCapabilities.Extensions,
150
150
  });
151
151
  });
152
152
  }
153
- ]);
153
+ ]));
154
154
  var selectionOverlapsComment = (state) => {
155
155
  const commentState = state.field(commentsState, false);
156
156
  if (commentState === void 0) {
@@ -167,4 +167,4 @@ var selectionOverlapsComment = (state) => {
167
167
  export {
168
168
  markdown_default as default
169
169
  };
170
- //# sourceMappingURL=markdown-FL4IXLRP.mjs.map
170
+ //# sourceMappingURL=markdown-MYGTDXT6.mjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/capabilities/markdown.ts", "../../../src/extensions/threads.ts"],
4
4
  "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { EditorView } from '@codemirror/view';\n\nimport { Capabilities, type PluginContext, contributes, createIntent } from '@dxos/app-framework';\nimport { ATTENDABLE_PATH_SEPARATOR, DeckAction } from '@dxos/plugin-deck/types';\nimport { MarkdownCapabilities } from '@dxos/plugin-markdown';\nimport { fullyQualifiedId } from '@dxos/react-client/echo';\nimport { type EditorState, commentClickedEffect, commentsState, overlap } from '@dxos/react-ui-editor';\n\nimport { threads } from '../extensions';\n\nimport { ThreadCapabilities } from './capabilities';\n\nexport default (context: PluginContext) =>\n contributes(MarkdownCapabilities.Extensions, [\n ({ document: doc }) => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const { state } = context.getCapability(ThreadCapabilities.MutableState);\n return threads(state, doc, dispatch);\n },\n ({ document: doc }) => {\n const { state } = context.getCapability(ThreadCapabilities.MutableState);\n\n return EditorView.updateListener.of((update) => {\n if (update.docChanged || update.selectionSet) {\n state.toolbar[fullyQualifiedId(doc)] = selectionOverlapsComment(update.state);\n }\n });\n },\n ({ document: doc }) => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n const id = fullyQualifiedId(doc);\n\n return EditorView.updateListener.of((update) => {\n update.transactions.forEach((transaction) => {\n transaction.effects.forEach(async (effect) => {\n if (effect.is(commentClickedEffect)) {\n void dispatch(\n createIntent(DeckAction.ChangeCompanion, {\n primary: id,\n companion: `${id}${ATTENDABLE_PATH_SEPARATOR}comments`,\n }),\n );\n }\n });\n });\n });\n },\n ]);\n\nconst selectionOverlapsComment = (state: EditorState): boolean => {\n // May not be defined if thread plugin not installed.\n const commentState = state.field(commentsState, false);\n if (commentState === undefined) {\n return false;\n }\n\n const { selection } = state;\n for (const range of selection.ranges) {\n if (commentState.comments.some(({ range: commentRange }) => overlap(commentRange, range))) {\n return true;\n }\n }\n\n return false;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type Extension } from '@codemirror/state';\nimport { EditorView } from '@codemirror/view';\nimport { computed, effect } from '@preact/signals-core';\n\nimport { type PromiseIntentDispatcher, createIntent } from '@dxos/app-framework';\nimport { Filter, Obj, Query, Relation } from '@dxos/echo';\nimport { type Markdown } from '@dxos/plugin-markdown/types';\nimport { createDocAccessor, fullyQualifiedId, getSource, getSpace, getTextInRange } from '@dxos/react-client/echo';\nimport { comments, createExternalCommentSync } from '@dxos/react-ui-editor';\nimport { AnchoredTo } from '@dxos/schema';\n\nimport { ThreadAction, type ThreadState, ThreadType } from '../types';\n\n// TODO(burdon): Factor out.\nconst getName = (doc: Markdown.Document, anchor: string): string | undefined => {\n if (doc.content) {\n const [start, end] = anchor.split(':');\n return getTextInRange(createDocAccessor(doc.content.target!, ['content']), start, end);\n }\n};\n\n/**\n * Construct plugins.\n */\nexport const threads = (state: ThreadState, doc?: Markdown.Document, dispatch?: PromiseIntentDispatcher): Extension => {\n const space = doc && getSpace(doc);\n if (!doc || !space || !dispatch) {\n // Include no-op comments extension here to ensure that the facets are always present when they are expected.\n // TODO(wittjosiah): The Editor should only look for these facets when comments are available.\n return [comments()];\n }\n\n const query = space.db.query(Query.select(Filter.ids(doc.id)).targetOf(AnchoredTo));\n const unsubscribe = query.subscribe();\n\n const anchors = computed(() =>\n query.objects\n .filter((anchor) => {\n const thread = Relation.getSource(anchor);\n return Obj.instanceOf(ThreadType, thread) && thread.status !== 'resolved';\n })\n .concat(state.drafts[fullyQualifiedId(doc)] ?? []),\n );\n\n return [\n EditorView.domEventHandlers({\n destroy: () => {\n unsubscribe();\n },\n }),\n\n EditorView.updateListener.of((update) => {\n if (update.docChanged) {\n anchors.value.forEach((anchor) => {\n if (anchor.anchor) {\n // Only update if the name has changed, otherwise this will cause an infinite loop.\n // Skip if the name is empty; this means comment text was deleted, but thread name should remain.\n const name = getName(doc, anchor.anchor);\n const thread = Relation.getSource(anchor) as ThreadType;\n if (name && name !== thread.name) {\n thread.name = name;\n }\n }\n });\n }\n }),\n\n createExternalCommentSync(\n fullyQualifiedId(doc),\n (sink) => effect(() => sink()),\n () =>\n anchors.value\n .filter((anchor) => anchor.anchor)\n .map((anchor) => ({ id: fullyQualifiedId(Relation.getSource(anchor)), cursor: anchor.anchor })),\n ),\n\n comments({\n id: fullyQualifiedId(doc),\n onCreate: ({ cursor }) => {\n const name = getName(doc, cursor);\n void dispatch(createIntent(ThreadAction.Create, { anchor: cursor, name, subject: doc }));\n },\n onDelete: ({ id }) => {\n const draft = state.drafts[fullyQualifiedId(doc)];\n if (draft) {\n const index = draft.findIndex((thread) => fullyQualifiedId(thread) === id);\n if (index !== -1) {\n draft.splice(index, 1);\n }\n }\n\n const thread = query.objects.find((object) => getSource(object).id === id);\n if (thread) {\n thread.anchor = undefined;\n }\n },\n onUpdate: ({ id, cursor }) => {\n const draft = state.drafts[fullyQualifiedId(doc)]?.find((thread) => fullyQualifiedId(thread) === id);\n if (draft) {\n const thread = Relation.getSource(draft) as ThreadType;\n thread.name = getName(doc, cursor);\n draft.anchor = cursor;\n }\n\n const relation = query.objects.find((object) => getSource(object).id === id);\n if (relation) {\n const thread = getSource(relation);\n if (Obj.instanceOf(ThreadType, thread)) {\n thread.name = getName(doc, cursor);\n relation.anchor = cursor;\n }\n }\n },\n onSelect: ({ selection }) => {\n const current = selection.current ?? selection.closest;\n if (current) {\n void dispatch(createIntent(ThreadAction.Select, { current }));\n }\n },\n }),\n ];\n};\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["EditorView", "Capabilities", "contributes", "createIntent", "ATTENDABLE_PATH_SEPARATOR", "DeckAction", "MarkdownCapabilities", "fullyQualifiedId", "commentClickedEffect", "commentsState", "overlap", "EditorView", "computed", "effect", "createIntent", "Filter", "Obj", "Query", "Relation", "createDocAccessor", "fullyQualifiedId", "getSource", "getSpace", "getTextInRange", "comments", "createExternalCommentSync", "AnchoredTo", "getName", "doc", "anchor", "content", "start", "end", "split", "getTextInRange", "createDocAccessor", "target", "threads", "state", "dispatch", "space", "getSpace", "comments", "query", "db", "Query", "select", "Filter", "ids", "id", "targetOf", "AnchoredTo", "unsubscribe", "subscribe", "anchors", "computed", "objects", "filter", "thread", "Relation", "getSource", "Obj", "instanceOf", "ThreadType", "status", "concat", "drafts", "fullyQualifiedId", "EditorView", "domEventHandlers", "destroy", "updateListener", "of", "update", "docChanged", "value", "forEach", "name", "createExternalCommentSync", "sink", "effect", "map", "cursor", "onCreate", "createIntent", "ThreadAction", "Create", "subject", "onDelete", "draft", "index", "findIndex", "splice", "find", "object", "undefined", "onUpdate", "relation", "onSelect", "selection", "current", "closest", "Select", "context", "contributes", "MarkdownCapabilities", "Extensions", "document", "doc", "dispatchPromise", "dispatch", "getCapability", "Capabilities", "IntentDispatcher", "state", "ThreadCapabilities", "MutableState", "threads", "EditorView", "updateListener", "of", "update", "docChanged", "selectionSet", "toolbar", "fullyQualifiedId", "selectionOverlapsComment", "id", "transactions", "forEach", "transaction", "effects", "effect", "is", "commentClickedEffect", "createIntent", "DeckAction", "ChangeCompanion", "primary", "companion", "ATTENDABLE_PATH_SEPARATOR", "commentState", "field", "commentsState", "undefined", "selection", "range", "ranges", "comments", "some", "commentRange", "overlap"]
7
7
  }