@dxos/plugin-thread 0.7.5-main.9d2a38b → 0.7.5-main.c41020f

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 (134) hide show
  1. package/dist/lib/browser/{ThreadContainer-4VLBSBI7.mjs → ThreadContainer-6OP5AG2W.mjs} +2 -2
  2. package/dist/lib/browser/{chunk-GQONSZ3J.mjs → chunk-UPKU23DA.mjs} +11 -23
  3. package/dist/lib/browser/chunk-UPKU23DA.mjs.map +7 -0
  4. package/dist/lib/browser/chunk-VOMIDDNO.mjs +15 -0
  5. package/dist/lib/browser/chunk-VOMIDDNO.mjs.map +7 -0
  6. package/dist/lib/browser/{chunk-NO5AZLUZ.mjs → chunk-YK3ICB7G.mjs} +2 -4
  7. package/dist/lib/browser/{chunk-NO5AZLUZ.mjs.map → chunk-YK3ICB7G.mjs.map} +3 -3
  8. package/dist/lib/browser/index.mjs +45 -47
  9. package/dist/lib/browser/index.mjs.map +3 -3
  10. package/dist/lib/browser/intent-resolver-FAFQ54NP.mjs +287 -0
  11. package/dist/lib/browser/intent-resolver-FAFQ54NP.mjs.map +7 -0
  12. package/dist/lib/browser/{markdown-2NBXKXCY.mjs → markdown-RPYOUBVR.mjs} +4 -4
  13. package/dist/lib/browser/meta.json +1 -1
  14. package/dist/lib/browser/{react-surface-CHCZO4TI.mjs → react-surface-Y4MUSICN.mjs} +70 -49
  15. package/dist/lib/browser/react-surface-Y4MUSICN.mjs.map +7 -0
  16. package/dist/lib/browser/{settings-TKOPRXSU.mjs → settings-WQTE5AEZ.mjs} +2 -2
  17. package/dist/lib/browser/types.mjs +1 -1
  18. package/dist/lib/node/{ThreadContainer-VOYLV4UL.cjs → ThreadContainer-LTKKLPXX.cjs} +6 -6
  19. package/dist/lib/node/{chunk-ZRN7B26W.cjs → chunk-BHFHFTHO.cjs} +8 -13
  20. package/dist/lib/node/chunk-BHFHFTHO.cjs.map +7 -0
  21. package/dist/lib/node/{chunk-AUVKOX5Q.cjs → chunk-CMEMMYDL.cjs} +5 -7
  22. package/dist/lib/node/{chunk-AUVKOX5Q.cjs.map → chunk-CMEMMYDL.cjs.map} +3 -3
  23. package/dist/lib/node/{chunk-6PUGKCPR.cjs → chunk-RQR5Z23G.cjs} +13 -24
  24. package/dist/lib/node/chunk-RQR5Z23G.cjs.map +7 -0
  25. package/dist/lib/node/index.cjs +46 -46
  26. package/dist/lib/node/index.cjs.map +3 -3
  27. package/dist/lib/node/intent-resolver-DVBEXJ33.cjs +299 -0
  28. package/dist/lib/node/intent-resolver-DVBEXJ33.cjs.map +7 -0
  29. package/dist/lib/node/{markdown-FWRKMSKV.cjs → markdown-ELRGISXE.cjs} +7 -7
  30. package/dist/lib/node/meta.json +1 -1
  31. package/dist/lib/node/{react-surface-LO7S2HPR.cjs → react-surface-7HLTN5XS.cjs} +72 -51
  32. package/dist/lib/node/react-surface-7HLTN5XS.cjs.map +7 -0
  33. package/dist/lib/node/{settings-TH4YSUVU.cjs → settings-7VQYARM5.cjs} +6 -6
  34. package/dist/lib/node/types.cjs +3 -3
  35. package/dist/lib/node/types.cjs.map +1 -1
  36. package/dist/lib/node-esm/{ThreadContainer-7DZY2MWA.mjs → ThreadContainer-SV74JFRH.mjs} +2 -2
  37. package/dist/lib/node-esm/{chunk-B3CF35MY.mjs → chunk-33NDMQQQ.mjs} +2 -4
  38. package/dist/lib/node-esm/{chunk-B3CF35MY.mjs.map → chunk-33NDMQQQ.mjs.map} +3 -3
  39. package/dist/lib/node-esm/{chunk-DYFIKKDT.mjs → chunk-CISLDOH7.mjs} +11 -23
  40. package/dist/lib/node-esm/chunk-CISLDOH7.mjs.map +7 -0
  41. package/dist/lib/node-esm/chunk-PJPVEO7E.mjs +17 -0
  42. package/dist/lib/node-esm/chunk-PJPVEO7E.mjs.map +7 -0
  43. package/dist/lib/node-esm/index.mjs +45 -47
  44. package/dist/lib/node-esm/index.mjs.map +3 -3
  45. package/dist/lib/node-esm/intent-resolver-DHVLBNCC.mjs +288 -0
  46. package/dist/lib/node-esm/intent-resolver-DHVLBNCC.mjs.map +7 -0
  47. package/dist/lib/node-esm/{markdown-6AQFDAW3.mjs → markdown-23OB7EZG.mjs} +4 -4
  48. package/dist/lib/node-esm/meta.json +1 -1
  49. package/dist/lib/node-esm/{react-surface-LAF3QIPB.mjs → react-surface-AZHTTR6J.mjs} +70 -49
  50. package/dist/lib/node-esm/react-surface-AZHTTR6J.mjs.map +7 -0
  51. package/dist/lib/node-esm/{settings-KEDRR7RM.mjs → settings-SGMM7UDT.mjs} +2 -2
  52. package/dist/lib/node-esm/types.mjs +1 -1
  53. package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
  54. package/dist/types/src/capabilities/index.d.ts +7 -184
  55. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  56. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  57. package/dist/types/src/capabilities/markdown.d.ts +1 -1
  58. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  59. package/dist/types/src/capabilities/state.d.ts +1 -1
  60. package/dist/types/src/components/Chat.stories.d.ts.map +1 -1
  61. package/dist/types/src/components/ChatContainer.d.ts +2 -3
  62. package/dist/types/src/components/ChatContainer.d.ts.map +1 -1
  63. package/dist/types/src/components/CommentContainer.d.ts +1 -2
  64. package/dist/types/src/components/CommentContainer.d.ts.map +1 -1
  65. package/dist/types/src/components/Comments.stories.d.ts.map +1 -1
  66. package/dist/types/src/components/CommentsContainer.d.ts +1 -2
  67. package/dist/types/src/components/CommentsContainer.d.ts.map +1 -1
  68. package/dist/types/src/components/MessageContainer.d.ts +1 -2
  69. package/dist/types/src/components/MessageContainer.d.ts.map +1 -1
  70. package/dist/types/src/components/ThreadComplementary.d.ts +1 -2
  71. package/dist/types/src/components/ThreadComplementary.d.ts.map +1 -1
  72. package/dist/types/src/components/ThreadContainer.d.ts +2 -2
  73. package/dist/types/src/components/ThreadContainer.d.ts.map +1 -1
  74. package/dist/types/src/components/ThreadSettings.d.ts +1 -2
  75. package/dist/types/src/components/ThreadSettings.d.ts.map +1 -1
  76. package/dist/types/src/components/command-extension.d.ts.map +1 -1
  77. package/dist/types/src/components/index.d.ts +1 -1
  78. package/dist/types/src/components/index.d.ts.map +1 -1
  79. package/dist/types/src/components/testing.d.ts +12 -12
  80. package/dist/types/src/components/testing.d.ts.map +1 -1
  81. package/dist/types/src/translations.d.ts +6 -3
  82. package/dist/types/src/translations.d.ts.map +1 -1
  83. package/dist/types/src/types.d.ts +5 -7
  84. package/dist/types/src/types.d.ts.map +1 -1
  85. package/package.json +31 -30
  86. package/src/ThreadPlugin.tsx +46 -50
  87. package/src/capabilities/index.ts +0 -1
  88. package/src/capabilities/intent-resolver.ts +180 -164
  89. package/src/capabilities/react-surface.tsx +18 -18
  90. package/src/components/Chat.stories.tsx +1 -5
  91. package/src/components/ChatContainer.tsx +2 -2
  92. package/src/components/CommentContainer.tsx +2 -2
  93. package/src/components/Comments.stories.tsx +8 -2
  94. package/src/components/MessageContainer.tsx +6 -19
  95. package/src/components/ThreadComplementary.tsx +41 -8
  96. package/src/components/ThreadSettings.tsx +5 -11
  97. package/src/components/command-extension.ts +2 -5
  98. package/src/translations.ts +2 -1
  99. package/src/types.ts +1 -5
  100. package/dist/lib/browser/app-graph-builder-Q7A2ZRUA.mjs +0 -121
  101. package/dist/lib/browser/app-graph-builder-Q7A2ZRUA.mjs.map +0 -7
  102. package/dist/lib/browser/chunk-2B3EXYZ7.mjs +0 -18
  103. package/dist/lib/browser/chunk-2B3EXYZ7.mjs.map +0 -7
  104. package/dist/lib/browser/chunk-GQONSZ3J.mjs.map +0 -7
  105. package/dist/lib/browser/intent-resolver-PIEZ3LKQ.mjs +0 -275
  106. package/dist/lib/browser/intent-resolver-PIEZ3LKQ.mjs.map +0 -7
  107. package/dist/lib/browser/react-surface-CHCZO4TI.mjs.map +0 -7
  108. package/dist/lib/node/app-graph-builder-ZXW5KUDK.cjs +0 -135
  109. package/dist/lib/node/app-graph-builder-ZXW5KUDK.cjs.map +0 -7
  110. package/dist/lib/node/chunk-6PUGKCPR.cjs.map +0 -7
  111. package/dist/lib/node/chunk-ZRN7B26W.cjs.map +0 -7
  112. package/dist/lib/node/intent-resolver-X5O3SVLF.cjs +0 -287
  113. package/dist/lib/node/intent-resolver-X5O3SVLF.cjs.map +0 -7
  114. package/dist/lib/node/react-surface-LO7S2HPR.cjs.map +0 -7
  115. package/dist/lib/node-esm/app-graph-builder-ATS6HGE6.mjs +0 -122
  116. package/dist/lib/node-esm/app-graph-builder-ATS6HGE6.mjs.map +0 -7
  117. package/dist/lib/node-esm/chunk-DYFIKKDT.mjs.map +0 -7
  118. package/dist/lib/node-esm/chunk-GS2OILYF.mjs +0 -20
  119. package/dist/lib/node-esm/chunk-GS2OILYF.mjs.map +0 -7
  120. package/dist/lib/node-esm/intent-resolver-XJWT5X6T.mjs +0 -276
  121. package/dist/lib/node-esm/intent-resolver-XJWT5X6T.mjs.map +0 -7
  122. package/dist/lib/node-esm/react-surface-LAF3QIPB.mjs.map +0 -7
  123. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -180
  124. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  125. package/src/capabilities/app-graph-builder.ts +0 -120
  126. /package/dist/lib/browser/{ThreadContainer-4VLBSBI7.mjs.map → ThreadContainer-6OP5AG2W.mjs.map} +0 -0
  127. /package/dist/lib/browser/{markdown-2NBXKXCY.mjs.map → markdown-RPYOUBVR.mjs.map} +0 -0
  128. /package/dist/lib/browser/{settings-TKOPRXSU.mjs.map → settings-WQTE5AEZ.mjs.map} +0 -0
  129. /package/dist/lib/node/{ThreadContainer-VOYLV4UL.cjs.map → ThreadContainer-LTKKLPXX.cjs.map} +0 -0
  130. /package/dist/lib/node/{markdown-FWRKMSKV.cjs.map → markdown-ELRGISXE.cjs.map} +0 -0
  131. /package/dist/lib/node/{settings-TH4YSUVU.cjs.map → settings-7VQYARM5.cjs.map} +0 -0
  132. /package/dist/lib/node-esm/{ThreadContainer-7DZY2MWA.mjs.map → ThreadContainer-SV74JFRH.mjs.map} +0 -0
  133. /package/dist/lib/node-esm/{markdown-6AQFDAW3.mjs.map → markdown-23OB7EZG.mjs.map} +0 -0
  134. /package/dist/lib/node-esm/{settings-KEDRR7RM.mjs.map → settings-SGMM7UDT.mjs.map} +0 -0
@@ -1,25 +1,26 @@
1
- import "./chunk-2B3EXYZ7.mjs";
2
- import {
3
- ThreadCapabilities
4
- } from "./chunk-NAO3LZMZ.mjs";
1
+ import "./chunk-VOMIDDNO.mjs";
5
2
  import {
6
3
  MessageContainer,
7
4
  command,
8
5
  getMessageMetadata
9
- } from "./chunk-GQONSZ3J.mjs";
6
+ } from "./chunk-UPKU23DA.mjs";
10
7
  import {
11
8
  useStatus
12
9
  } from "./chunk-BNEWNQBO.mjs";
13
10
  import {
14
11
  ThreadAction
15
- } from "./chunk-NO5AZLUZ.mjs";
12
+ } from "./chunk-YK3ICB7G.mjs";
13
+ import {
14
+ ThreadCapabilities
15
+ } from "./chunk-NAO3LZMZ.mjs";
16
16
  import {
17
17
  THREAD_PLUGIN
18
18
  } from "./chunk-636QDHE3.mjs";
19
19
 
20
20
  // packages/plugins/plugin-thread/src/capabilities/react-surface.tsx
21
21
  import React5 from "react";
22
- import { Capabilities, contributes, createSurface, isLayoutParts, useCapability as useCapability2 } from "@dxos/app-framework";
22
+ import { Capabilities, contributes, createSurface, useLayout } from "@dxos/app-framework";
23
+ import { SettingsStore } from "@dxos/local-storage";
23
24
  import { ChannelType } from "@dxos/plugin-space/types";
24
25
  import { getSpace as getSpace2 } from "@dxos/react-client/echo";
25
26
 
@@ -36,7 +37,7 @@ import { Button, Tag, Tooltip, useThemeContext, useTranslation } from "@dxos/rea
36
37
  import { createBasicExtensions, createThemeExtensions, listener } from "@dxos/react-ui-editor";
37
38
  import { getSize, hoverableControlItem, hoverableControls, hoverableFocusedWithinControls, mx } from "@dxos/react-ui-theme";
38
39
  import { MessageTextbox, Thread, ThreadFooter, ThreadHeading } from "@dxos/react-ui-thread";
39
- import { nonNullable } from "@dxos/util";
40
+ import { isNonNullable } from "@dxos/util";
40
41
  var sizeClass = getSize(4);
41
42
  var commentControlClassNames = "!p-1 !min-bs-0 transition-opacity";
42
43
  var ToggleResolvedButton = ({ isResolved, onResolve }) => {
@@ -165,7 +166,7 @@ var CommentContainer = ({ thread, detached, current, onAttend, onComment, onReso
165
166
  onResolve: handleResolve
166
167
  }), onThreadDelete && /* @__PURE__ */ React.createElement(DeleteThreadButton, {
167
168
  onDelete: handleThreadDelete
168
- }))), RefArray.allResolvedTargets(thread.messages?.filter(nonNullable) ?? []).map((message) => /* @__PURE__ */ React.createElement(MessageContainer, {
169
+ }))), RefArray.allResolvedTargets(thread.messages?.filter(isNonNullable) ?? []).map((message) => /* @__PURE__ */ React.createElement(MessageContainer, {
169
170
  key: message.id,
170
171
  message,
171
172
  members,
@@ -229,18 +230,27 @@ var CommentsContainer = ({ threads, detached = [], currentId, showResolvedThread
229
230
 
230
231
  // packages/plugins/plugin-thread/src/components/ThreadComplementary.tsx
231
232
  import React3, { useCallback as useCallback2, useEffect as useEffect2, useMemo as useMemo2 } from "react";
232
- import { createIntent, LayoutAction, useCapabilities, useCapability, useIntentDispatcher } from "@dxos/app-framework";
233
+ import { createIntent, LayoutAction, useCapability, useCapabilities, useIntentDispatcher } from "@dxos/app-framework";
233
234
  import { ThreadCapabilities as ThreadCapabilities2 } from "@dxos/plugin-space";
234
235
  import { MessageType } from "@dxos/plugin-space/types";
235
236
  import { create, fullyQualifiedId as fullyQualifiedId3, makeRef, RefArray as RefArray2 } from "@dxos/react-client/echo";
236
237
  import { useIdentity as useIdentity2 } from "@dxos/react-client/halo";
238
+ import { useTranslation as useTranslation3 } from "@dxos/react-ui";
237
239
  import { useAttended } from "@dxos/react-ui-attention";
238
- import { nonNullable as nonNullable2 } from "@dxos/util";
240
+ import { Tabs } from "@dxos/react-ui-tabs";
241
+ import { isNonNullable as isNonNullable2 } from "@dxos/util";
239
242
  var ThreadComplementary = ({ subject }) => {
240
243
  const { dispatchPromise: dispatch } = useIntentDispatcher();
241
244
  const identity = useIdentity2();
245
+ const { t } = useTranslation3(THREAD_PLUGIN);
242
246
  const { state, getViewState } = useCapability(ThreadCapabilities.MutableState);
243
- const { showResolvedThreads } = getViewState(fullyQualifiedId3(subject));
247
+ const viewState = getViewState(fullyQualifiedId3(subject));
248
+ const { showResolvedThreads } = viewState;
249
+ const onChangeViewState = useCallback2((nextValue) => {
250
+ viewState.showResolvedThreads = nextValue === "all";
251
+ }, [
252
+ viewState
253
+ ]);
244
254
  const drafts = state.drafts[fullyQualifiedId3(subject)];
245
255
  const threadsIntegrators = useCapabilities(ThreadCapabilities2.Thread);
246
256
  const createSort = useMemo2(() => threadsIntegrators.find((p) => p.predicate(subject))?.createSort, [
@@ -253,7 +263,7 @@ var ThreadComplementary = ({ subject }) => {
253
263
  ]);
254
264
  const threadObjects = RefArray2.allResolvedTargets(subject.threads ?? []);
255
265
  const threads = useMemo2(() => {
256
- return threadObjects.concat(drafts ?? []).filter(nonNullable2);
266
+ return threadObjects.concat(drafts ?? []).filter(isNonNullable2);
257
267
  }, [
258
268
  JSON.stringify(threadObjects),
259
269
  JSON.stringify(drafts)
@@ -279,9 +289,12 @@ var ThreadComplementary = ({ subject }) => {
279
289
  if (state.current !== threadId) {
280
290
  state.current = threadId;
281
291
  void dispatch(createIntent(LayoutAction.ScrollIntoView, {
282
- id: fullyQualifiedId3(subject),
283
- cursor: thread.anchor,
284
- ref: threadId
292
+ part: "current",
293
+ subject: fullyQualifiedId3(subject),
294
+ options: {
295
+ cursor: thread.anchor,
296
+ ref: threadId
297
+ }
285
298
  }));
286
299
  }
287
300
  }, [
@@ -327,7 +340,7 @@ var ThreadComplementary = ({ subject }) => {
327
340
  dispatch,
328
341
  subject
329
342
  ]);
330
- return /* @__PURE__ */ React3.createElement(CommentsContainer, {
343
+ const comments = /* @__PURE__ */ React3.createElement(CommentsContainer, {
331
344
  threads,
332
345
  detached: detachedIds,
333
346
  currentId: attended.includes(qualifiedSubjectId) ? state.current : void 0,
@@ -338,24 +351,34 @@ var ThreadComplementary = ({ subject }) => {
338
351
  onMessageDelete: handleMessageDelete,
339
352
  onThreadDelete: handleThreadDelete
340
353
  });
354
+ return /* @__PURE__ */ React3.createElement(Tabs.Root, {
355
+ value: showResolvedThreads ? "all" : "unresolved",
356
+ onValueChange: onChangeViewState,
357
+ orientation: "horizontal"
358
+ }, /* @__PURE__ */ React3.createElement(Tabs.Tablist, {
359
+ classNames: "p-1 gap-1 bs-[--rail-action] border-be border-separator"
360
+ }, /* @__PURE__ */ React3.createElement(Tabs.Tab, {
361
+ value: "unresolved",
362
+ classNames: "text-sm"
363
+ }, t("show unresolved label")), /* @__PURE__ */ React3.createElement(Tabs.Tab, {
364
+ value: "all",
365
+ classNames: "text-sm"
366
+ }, t("show all label"))), /* @__PURE__ */ React3.createElement(Tabs.Tabpanel, {
367
+ value: "all"
368
+ }, showResolvedThreads && comments), /* @__PURE__ */ React3.createElement(Tabs.Tabpanel, {
369
+ value: "unresolved"
370
+ }, !showResolvedThreads && comments));
341
371
  };
342
372
 
343
373
  // packages/plugins/plugin-thread/src/components/ThreadSettings.tsx
344
374
  import React4 from "react";
345
- import { Input, useTranslation as useTranslation3 } from "@dxos/react-ui";
346
- import { DeprecatedFormInput } from "@dxos/react-ui-form";
375
+ import { DeprecatedFormContainer } from "@dxos/react-ui-form";
347
376
  var ThreadSettings = ({ settings }) => {
348
- const { t } = useTranslation3(THREAD_PLUGIN);
349
- return /* @__PURE__ */ React4.createElement(React4.Fragment, null, /* @__PURE__ */ React4.createElement(DeprecatedFormInput, {
350
- label: t("settings standalone label")
351
- }, /* @__PURE__ */ React4.createElement(Input.Switch, {
352
- checked: settings.standalone,
353
- onCheckedChange: (checked) => settings.standalone = !!checked
354
- })));
377
+ return /* @__PURE__ */ React4.createElement(DeprecatedFormContainer, null);
355
378
  };
356
379
 
357
380
  // packages/plugins/plugin-thread/src/components/index.ts
358
- var ThreadContainer = lazy(() => import("./ThreadContainer-4VLBSBI7.mjs"));
381
+ var ThreadContainer = lazy(() => import("./ThreadContainer-6OP5AG2W.mjs"));
359
382
 
360
383
  // packages/plugins/plugin-thread/src/capabilities/react-surface.tsx
361
384
  var react_surface_default = () => contributes(Capabilities.ReactSurface, [
@@ -364,21 +387,22 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
364
387
  role: "article",
365
388
  filter: (data) => data.subject instanceof ChannelType && !!data.subject.threads[0],
366
389
  component: ({ data, role }) => {
367
- const location = useCapability2(Capabilities.Location);
390
+ const layout = useLayout();
368
391
  const channel = data.subject;
392
+ void channel.threads[0].load();
369
393
  const thread = channel.threads[0].target;
370
- if (isLayoutParts(location?.active) && location.active.main) {
371
- const layoutEntries = location.active.main;
372
- const currentPosition = layoutEntries.findIndex((entry) => channel.id === entry.id);
373
- if (currentPosition > 0) {
374
- const objectToTheLeft = layoutEntries[currentPosition - 1];
375
- const context = getSpace2(channel)?.db.getObjectById(objectToTheLeft.id);
376
- return /* @__PURE__ */ React5.createElement(ThreadContainer, {
377
- role,
378
- thread,
379
- context
380
- });
381
- }
394
+ if (!thread) {
395
+ return null;
396
+ }
397
+ const currentPosition = layout.active.findIndex((id) => id === channel.id);
398
+ if (currentPosition > 0) {
399
+ const objectToTheLeft = layout.active[currentPosition - 1];
400
+ const context = getSpace2(channel)?.db.getObjectById(objectToTheLeft);
401
+ return /* @__PURE__ */ React5.createElement(ThreadContainer, {
402
+ role,
403
+ thread,
404
+ context
405
+ });
382
406
  }
383
407
  return /* @__PURE__ */ React5.createElement(ThreadContainer, {
384
408
  role,
@@ -396,17 +420,14 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
396
420
  }),
397
421
  createSurface({
398
422
  id: `${THREAD_PLUGIN}/settings`,
399
- role: "settings",
400
- filter: (data) => data.subject === THREAD_PLUGIN,
401
- component: () => {
402
- const settings = useCapability2(Capabilities.SettingsStore).getStore(THREAD_PLUGIN).value;
403
- return /* @__PURE__ */ React5.createElement(ThreadSettings, {
404
- settings
405
- });
406
- }
423
+ role: "article",
424
+ filter: (data) => data.subject instanceof SettingsStore && data.subject.prefix === THREAD_PLUGIN,
425
+ component: ({ data: { subject } }) => /* @__PURE__ */ React5.createElement(ThreadSettings, {
426
+ settings: subject.value
427
+ })
407
428
  })
408
429
  ]);
409
430
  export {
410
431
  react_surface_default as default
411
432
  };
412
- //# sourceMappingURL=react-surface-CHCZO4TI.mjs.map
433
+ //# sourceMappingURL=react-surface-Y4MUSICN.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/react-surface.tsx", "../../../src/components/index.ts", "../../../src/components/CommentContainer.tsx", "../../../src/components/CommentsContainer.tsx", "../../../src/components/ThreadComplementary.tsx", "../../../src/components/ThreadSettings.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes, createSurface, useLayout } from '@dxos/app-framework';\nimport { type Ref } from '@dxos/echo-schema';\nimport { SettingsStore } from '@dxos/local-storage';\nimport { ChannelType, type ThreadType } from '@dxos/plugin-space/types';\nimport { getSpace } from '@dxos/react-client/echo';\n\nimport { ThreadContainer, ThreadComplementary, ThreadSettings } from '../components';\nimport { THREAD_PLUGIN } from '../meta';\nimport { type ThreadSettingsProps } from '../types';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${THREAD_PLUGIN}/channel`,\n role: 'article',\n filter: (data): data is { subject: ChannelType } =>\n data.subject instanceof ChannelType && !!data.subject.threads[0],\n component: ({ data, role }) => {\n const layout = useLayout();\n const channel = data.subject;\n void channel.threads[0].load();\n const thread = channel.threads[0].target;\n if (!thread) {\n return null;\n }\n\n const currentPosition = layout.active.findIndex((id) => id === channel.id);\n if (currentPosition > 0) {\n const objectToTheLeft = layout.active[currentPosition - 1];\n const context = getSpace(channel)?.db.getObjectById(objectToTheLeft);\n return <ThreadContainer role={role} thread={thread} context={context} />;\n }\n\n return <ThreadContainer role={role} thread={thread} />;\n },\n }),\n createSurface({\n id: `${THREAD_PLUGIN}/thread`,\n role: 'complementary--comments',\n filter: (data): data is { subject: { threads: Ref<ThreadType>[] } } =>\n !!data.subject &&\n typeof data.subject === 'object' &&\n 'threads' in data.subject &&\n Array.isArray(data.subject.threads) &&\n !(data.subject instanceof ChannelType),\n component: ({ data }) => <ThreadComplementary subject={data.subject} />,\n }),\n createSurface({\n id: `${THREAD_PLUGIN}/settings`,\n role: 'article',\n filter: (data): data is { subject: SettingsStore<ThreadSettingsProps> } =>\n data.subject instanceof SettingsStore && data.subject.prefix === THREAD_PLUGIN,\n component: ({ data: { subject } }) => <ThreadSettings settings={subject.value} />,\n }),\n ]);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport const ThreadContainer = lazy(() => import('./ThreadContainer'));\n\n// TODO(wittjosiah): Suspense boundary for sidebar?\nexport * from './CommentContainer';\nexport * from './CommentsContainer';\nexport * from './ChatContainer';\nexport * from './MessageContainer';\nexport * from './ThreadComplementary';\nexport * from './ThreadSettings';\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { CheckCircle, X } from '@phosphor-icons/react';\nimport React, { useCallback, useMemo, useRef, useState } from 'react';\n\nimport { RefArray } from '@dxos/live-object';\nimport { fullyQualifiedId, getSpace, useMembers } from '@dxos/react-client/echo';\nimport { useIdentity } from '@dxos/react-client/halo';\nimport { Button, Tag, Tooltip, useThemeContext, useTranslation } from '@dxos/react-ui';\nimport { createBasicExtensions, createThemeExtensions, listener } from '@dxos/react-ui-editor';\nimport {\n getSize,\n hoverableControlItem,\n hoverableControls,\n hoverableFocusedWithinControls,\n mx,\n} from '@dxos/react-ui-theme';\nimport { MessageTextbox, type MessageTextboxProps, Thread, ThreadFooter, ThreadHeading } from '@dxos/react-ui-thread';\nimport { isNonNullable } from '@dxos/util';\n\nimport { MessageContainer } from './MessageContainer';\nimport { command } from './command-extension';\nimport { type ThreadContainerProps } from './types';\nimport { useStatus } from '../hooks';\nimport { THREAD_PLUGIN } from '../meta';\nimport { getMessageMetadata } from '../util';\n\nconst sizeClass = getSize(4);\n\n// TODO(thure): #8149\nconst commentControlClassNames = '!p-1 !min-bs-0 transition-opacity';\n\nconst ToggleResolvedButton = ({\n isResolved,\n onResolve,\n}: {\n isResolved: boolean | undefined;\n onResolve: () => void;\n}) => {\n const { t } = useTranslation(THREAD_PLUGIN);\n const label = t(isResolved ? 'mark as unresolved label' : 'mark as resolved label');\n return (\n <Tooltip.Root>\n <Tooltip.Trigger asChild>\n <Button\n variant='ghost'\n data-testid='thread.toggle-resolved'\n onClick={onResolve}\n classNames={[commentControlClassNames, !isResolved && hoverableControlItem]}\n >\n <span className='sr-only'>{label}</span>\n {isResolved ? <CheckCircle className={sizeClass} weight='fill' /> : <CheckCircle className={sizeClass} />}\n </Button>\n </Tooltip.Trigger>\n <Tooltip.Portal>\n <Tooltip.Content>\n {label}\n <Tooltip.Arrow />\n </Tooltip.Content>\n </Tooltip.Portal>\n </Tooltip.Root>\n );\n};\n\nconst DeleteThreadButton = ({ onDelete }: { onDelete: () => void }) => {\n const { t } = useTranslation(THREAD_PLUGIN);\n const label = t('delete thread label');\n return (\n <Tooltip.Root>\n <Tooltip.Trigger asChild>\n <Button\n variant='ghost'\n data-testid='thread.delete'\n onClick={onDelete}\n classNames={[commentControlClassNames, hoverableControlItem]}\n >\n <span className='sr-only'>{label}</span>\n <X className={sizeClass} />\n </Button>\n </Tooltip.Trigger>\n <Tooltip.Portal>\n <Tooltip.Content classNames='z-30'>\n {label}\n <Tooltip.Arrow />\n </Tooltip.Content>\n </Tooltip.Portal>\n </Tooltip.Root>\n );\n};\n\nexport const CommentContainer = ({\n thread,\n detached,\n current,\n onAttend,\n onComment,\n onResolve,\n onMessageDelete,\n onThreadDelete,\n}: ThreadContainerProps) => {\n const identity = useIdentity()!;\n const space = getSpace(thread);\n const members = useMembers(space?.key);\n const activity = useStatus(space, fullyQualifiedId(thread));\n const { t } = useTranslation(THREAD_PLUGIN);\n const threadScrollRef = useRef<HTMLDivElement | null>(null);\n const { themeMode } = useThemeContext();\n\n const textboxMetadata = getMessageMetadata(fullyQualifiedId(thread), identity);\n // TODO(wittjosiah): This is a hack to reset the editor after a message is sent.\n const [_count, _setCount] = useState(0);\n const rerenderEditor = () => _setCount((count) => count + 1);\n const messageRef = useRef('');\n const extensions = useMemo(\n () => [\n createBasicExtensions({ placeholder: t('message placeholder') }),\n createThemeExtensions({ themeMode }),\n listener({ onChange: (text) => (messageRef.current = text) }),\n command,\n ],\n [_count],\n );\n\n // TODO(thure): Factor out.\n const scrollToEnd = (behavior: ScrollBehavior) =>\n setTimeout(() => threadScrollRef.current?.scrollIntoView({ behavior, block: 'end' }), 10);\n\n const handleAttend = useCallback(() => onAttend?.(thread), [onAttend, thread]);\n const handleResolve = useCallback(() => onResolve?.(thread), [onResolve, thread]);\n const handleMessageDelete = useCallback((id: string) => onMessageDelete?.(thread, id), [onMessageDelete, thread]);\n const handleThreadDelete = useCallback(() => onThreadDelete?.(thread), [onThreadDelete, thread]);\n\n const handleComment: MessageTextboxProps['onSend'] = useCallback(() => {\n if (!messageRef.current) {\n return false;\n }\n\n onComment?.(thread, messageRef.current);\n messageRef.current = '';\n scrollToEnd('instant');\n rerenderEditor();\n\n return true;\n }, [thread, identity]);\n\n return (\n <Thread onClickCapture={handleAttend} onFocusCapture={handleAttend} current={current} id={fullyQualifiedId(thread)}>\n <div\n role='none'\n className={mx(\n 'col-span-2 grid grid-cols-[var(--rail-size)_1fr_min-content]',\n hoverableControls,\n hoverableFocusedWithinControls,\n )}\n >\n {detached ? (\n <Tooltip.Root>\n <Tooltip.Trigger asChild>\n <ThreadHeading detached>{thread.name}</ThreadHeading>\n </Tooltip.Trigger>\n <Tooltip.Portal>\n <Tooltip.Content classNames='z-30' side='top'>\n {t('detached thread label')}\n <Tooltip.Arrow />\n </Tooltip.Content>\n </Tooltip.Portal>\n </Tooltip.Root>\n ) : (\n <ThreadHeading>{thread.name}</ThreadHeading>\n )}\n <div className='flex flex-row items-center pli-1'>\n {thread.status === 'staged' && <Tag palette='neutral'>{t('draft button')}</Tag>}\n {onResolve && !(thread?.status === 'staged') && (\n <ToggleResolvedButton isResolved={thread?.status === 'resolved'} onResolve={handleResolve} />\n )}\n {onThreadDelete && <DeleteThreadButton onDelete={handleThreadDelete} />}\n </div>\n </div>\n {/** TODO(dmaretskyi): How's `thread.messages` undefined? */}\n {RefArray.allResolvedTargets(thread.messages?.filter(isNonNullable) ?? []).map((message) => (\n <MessageContainer key={message.id} message={message} members={members} onDelete={handleMessageDelete} />\n ))}\n {/*\n TODO(wittjosiah): Can't autofocus this generally.\n There can be multiple threads with inputs and they can't all be focused.\n Also, it steals focus from documents when first rendered.\n Need to find a way to autofocus in one scenario only: when a new thread is created.\n */}\n <MessageTextbox extensions={extensions} onSend={handleComment} {...textboxMetadata} />\n <ThreadFooter activity={activity}>{t('activity message')}</ThreadFooter>\n {/* NOTE(thure): This can’t also be the `overflow-anchor` because `ScrollArea` injects an interceding node that contains this necessary ref’d element. */}\n <div role='none' className='bs-px -mbs-px' ref={threadScrollRef} />\n </Thread>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { ChatText } from '@phosphor-icons/react';\nimport React, { useEffect } from 'react';\n\nimport { type ThreadType } from '@dxos/plugin-space/types';\nimport { fullyQualifiedId } from '@dxos/react-client/echo';\nimport { useTranslation, Trans } from '@dxos/react-ui';\nimport { descriptionText, mx } from '@dxos/react-ui-theme';\n\nimport { CommentContainer } from './CommentContainer';\nimport { type ThreadContainerProps } from './types';\nimport { THREAD_PLUGIN } from '../meta';\n\nexport type ThreadsContainerProps = Omit<ThreadContainerProps, 'thread' | 'detached' | 'current' | 'autoFocus'> & {\n threads: ThreadType[];\n /**\n * Threads that are no longer anchored to a position in the object.\n */\n detached?: string[];\n currentId?: string;\n showResolvedThreads?: boolean;\n};\n\n/**\n * Comment threads.\n */\nexport const CommentsContainer = ({\n threads,\n detached = [],\n currentId,\n showResolvedThreads,\n ...props\n}: ThreadsContainerProps) => {\n const { t } = useTranslation(THREAD_PLUGIN);\n const filteredThreads = showResolvedThreads ? threads : threads.filter((thread) => !(thread?.status === 'resolved'));\n\n useEffect(() => {\n if (currentId) {\n document.getElementById(currentId)?.scrollIntoView({ behavior: 'smooth', block: 'end' });\n }\n }, [currentId]);\n\n return (\n <>\n {filteredThreads.length > 0 ? (\n filteredThreads.map((thread) => {\n const threadId = fullyQualifiedId(thread);\n return (\n <CommentContainer\n key={threadId}\n thread={thread}\n current={currentId === threadId}\n detached={detached.includes(threadId)}\n {...props}\n />\n );\n })\n ) : (\n <div\n role='alert'\n className={mx(\n descriptionText,\n 'place-self-center border border-dashed border-unAccent rounded-lg text-center p-4 m-4',\n )}\n >\n <h2 className='mbe-2 font-medium text-baseText'>{t('no comments title')}</h2>\n <p>\n <Trans\n {...{\n t,\n i18nKey: 'no comments message',\n components: {\n commentIcon: <ChatText className='inline-block' />,\n },\n }}\n />\n </p>\n </div>\n )}\n </>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback, useEffect, useMemo } from 'react';\n\nimport { createIntent, LayoutAction, useCapability, useCapabilities, useIntentDispatcher } from '@dxos/app-framework';\nimport { ThreadCapabilities } from '@dxos/plugin-space';\nimport { MessageType, type ThreadType } from '@dxos/plugin-space/types';\nimport { create, fullyQualifiedId, makeRef, RefArray } from '@dxos/react-client/echo';\nimport { useIdentity } from '@dxos/react-client/halo';\nimport { useTranslation } from '@dxos/react-ui';\nimport { useAttended } from '@dxos/react-ui-attention';\nimport { Tabs } from '@dxos/react-ui-tabs';\nimport { isNonNullable } from '@dxos/util';\n\nimport { ThreadCapabilities as LocalThreadCapabilities } from '../capabilities';\nimport { CommentsContainer } from '../components';\nimport { THREAD_PLUGIN } from '../meta';\nimport { ThreadAction } from '../types';\n\nexport const ThreadComplementary = ({ subject }: { subject: any }) => {\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const identity = useIdentity();\n const { t } = useTranslation(THREAD_PLUGIN);\n\n const { state, getViewState } = useCapability(LocalThreadCapabilities.MutableState);\n const viewState = getViewState(fullyQualifiedId(subject));\n const { showResolvedThreads } = viewState;\n const onChangeViewState = useCallback(\n (nextValue: string) => {\n viewState.showResolvedThreads = nextValue === 'all';\n },\n [viewState],\n );\n const drafts = state.drafts[fullyQualifiedId(subject)];\n\n const threadsIntegrators = useCapabilities(ThreadCapabilities.Thread);\n const createSort = useMemo(\n () => threadsIntegrators.find((p) => p.predicate(subject))?.createSort,\n [threadsIntegrators, subject],\n );\n const sort = useMemo(() => createSort?.(subject), [createSort, subject]);\n\n const threadObjects = RefArray.allResolvedTargets(subject.threads ?? []);\n\n const threads = useMemo(() => {\n return threadObjects.concat(drafts ?? []).filter(isNonNullable) as ThreadType[];\n }, [JSON.stringify(threadObjects), JSON.stringify(drafts)]);\n\n const detachedIds = useMemo(() => {\n return threads.filter(({ anchor }) => !anchor).map((thread) => fullyQualifiedId(thread));\n }, [threads]);\n\n useEffect(() => {\n if (!sort) {\n return;\n }\n threads.sort((a, b) => sort(a?.anchor, b?.anchor));\n }, [sort, threads]);\n\n const attended = useAttended();\n const qualifiedSubjectId = fullyQualifiedId(subject);\n\n const handleAttend = useCallback(\n (thread: ThreadType) => {\n const threadId = fullyQualifiedId(thread);\n if (state.current !== threadId) {\n state.current = threadId;\n\n // TODO(wittjosiah): Should this be a thread-specific intent?\n // The layout doesn't know about threads and this working depends on other plugins conditionally handling it.\n // This may be overloading this intent or highjacking its intended purpose.\n void dispatch(\n createIntent(LayoutAction.ScrollIntoView, {\n part: 'current',\n subject: fullyQualifiedId(subject),\n options: {\n cursor: thread.anchor,\n ref: threadId,\n },\n }),\n );\n }\n },\n [state.current, dispatch, subject],\n );\n\n const handleComment = useCallback(\n async (thread: ThreadType, message: string) => {\n thread.messages.push(\n makeRef(\n create(MessageType, {\n sender: { identityKey: identity?.identityKey.toHex() },\n timestamp: new Date().toISOString(),\n text: message,\n // TODO(wittjosiah): Context based on attention.\n // context: context ? makeRef(context) : undefined,\n }),\n ),\n );\n\n await dispatch(createIntent(ThreadAction.OnMessageAdd, { thread, subject }));\n\n state.current = fullyQualifiedId(thread);\n },\n [dispatch, identity, subject],\n );\n\n const handleResolve = useCallback(\n (thread: ThreadType) => dispatch(createIntent(ThreadAction.ToggleResolved, { thread })),\n [dispatch],\n );\n\n const handleThreadDelete = useCallback(\n (thread: ThreadType) => dispatch(createIntent(ThreadAction.Delete, { thread, subject })),\n [dispatch, subject],\n );\n\n const handleMessageDelete = useCallback(\n (thread: ThreadType, messageId: string) =>\n dispatch(createIntent(ThreadAction.DeleteMessage, { thread, subject, messageId })),\n [dispatch, subject],\n );\n\n const comments = (\n <CommentsContainer\n threads={threads}\n detached={detachedIds}\n currentId={attended.includes(qualifiedSubjectId) ? state.current : undefined}\n showResolvedThreads={showResolvedThreads}\n onAttend={handleAttend}\n onComment={handleComment}\n onResolve={handleResolve}\n onMessageDelete={handleMessageDelete}\n onThreadDelete={handleThreadDelete}\n />\n );\n\n return (\n <Tabs.Root\n value={showResolvedThreads ? 'all' : 'unresolved'}\n onValueChange={onChangeViewState}\n orientation='horizontal'\n >\n <Tabs.Tablist classNames='p-1 gap-1 bs-[--rail-action] border-be border-separator'>\n <Tabs.Tab value='unresolved' classNames='text-sm'>\n {t('show unresolved label')}\n </Tabs.Tab>\n <Tabs.Tab value='all' classNames='text-sm'>\n {t('show all label')}\n </Tabs.Tab>\n </Tabs.Tablist>\n <Tabs.Tabpanel value='all'>{showResolvedThreads && comments}</Tabs.Tabpanel>\n <Tabs.Tabpanel value='unresolved'>{!showResolvedThreads && comments}</Tabs.Tabpanel>\n </Tabs.Root>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\n// import { useTranslation } from '@dxos/react-ui';\nimport { DeprecatedFormContainer } from '@dxos/react-ui-form';\n\n// import { THREAD_PLUGIN } from '../meta';\nimport type { ThreadSettingsProps } from '../types';\n\nexport const ThreadSettings = ({ settings }: { settings: ThreadSettingsProps }) => {\n // const { t } = useTranslation(THREAD_PLUGIN);\n\n return <DeprecatedFormContainer></DeprecatedFormContainer>;\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "Capabilities", "contributes", "createSurface", "useLayout", "SettingsStore", "ChannelType", "getSpace", "lazy", "CheckCircle", "X", "React", "useCallback", "useMemo", "useRef", "useState", "RefArray", "fullyQualifiedId", "getSpace", "useMembers", "useIdentity", "Button", "Tag", "Tooltip", "useThemeContext", "useTranslation", "createBasicExtensions", "createThemeExtensions", "listener", "getSize", "hoverableControlItem", "hoverableControls", "hoverableFocusedWithinControls", "mx", "MessageTextbox", "Thread", "ThreadFooter", "ThreadHeading", "isNonNullable", "sizeClass", "getSize", "commentControlClassNames", "ToggleResolvedButton", "isResolved", "onResolve", "t", "useTranslation", "THREAD_PLUGIN", "label", "Tooltip", "Root", "Trigger", "asChild", "Button", "variant", "data-testid", "onClick", "classNames", "hoverableControlItem", "span", "className", "CheckCircle", "weight", "Portal", "Content", "Arrow", "DeleteThreadButton", "onDelete", "X", "CommentContainer", "thread", "detached", "current", "onAttend", "onComment", "onMessageDelete", "onThreadDelete", "identity", "useIdentity", "space", "getSpace", "members", "useMembers", "key", "activity", "useStatus", "fullyQualifiedId", "threadScrollRef", "useRef", "themeMode", "useThemeContext", "textboxMetadata", "getMessageMetadata", "_count", "_setCount", "useState", "rerenderEditor", "count", "messageRef", "extensions", "useMemo", "createBasicExtensions", "placeholder", "createThemeExtensions", "listener", "onChange", "text", "command", "scrollToEnd", "behavior", "setTimeout", "scrollIntoView", "block", "handleAttend", "useCallback", "handleResolve", "handleMessageDelete", "id", "handleThreadDelete", "handleComment", "Thread", "onClickCapture", "onFocusCapture", "div", "role", "mx", "hoverableControls", "hoverableFocusedWithinControls", "ThreadHeading", "name", "side", "status", "Tag", "palette", "RefArray", "allResolvedTargets", "messages", "filter", "isNonNullable", "map", "message", "MessageContainer", "MessageTextbox", "onSend", "ThreadFooter", "ref", "ChatText", "React", "useEffect", "fullyQualifiedId", "useTranslation", "Trans", "descriptionText", "mx", "CommentsContainer", "threads", "detached", "currentId", "showResolvedThreads", "props", "t", "useTranslation", "THREAD_PLUGIN", "filteredThreads", "filter", "thread", "status", "useEffect", "document", "getElementById", "scrollIntoView", "behavior", "block", "React", "length", "map", "threadId", "fullyQualifiedId", "CommentContainer", "key", "current", "includes", "div", "role", "className", "mx", "descriptionText", "h2", "p", "Trans", "i18nKey", "components", "commentIcon", "ChatText", "React", "useCallback", "useEffect", "useMemo", "createIntent", "LayoutAction", "useCapability", "useCapabilities", "useIntentDispatcher", "ThreadCapabilities", "MessageType", "create", "fullyQualifiedId", "makeRef", "RefArray", "useIdentity", "useTranslation", "useAttended", "Tabs", "isNonNullable", "ThreadComplementary", "subject", "dispatchPromise", "dispatch", "useIntentDispatcher", "identity", "useIdentity", "t", "useTranslation", "THREAD_PLUGIN", "state", "getViewState", "useCapability", "LocalThreadCapabilities", "MutableState", "viewState", "fullyQualifiedId", "showResolvedThreads", "onChangeViewState", "useCallback", "nextValue", "drafts", "threadsIntegrators", "useCapabilities", "ThreadCapabilities", "Thread", "createSort", "useMemo", "find", "p", "predicate", "sort", "threadObjects", "RefArray", "allResolvedTargets", "threads", "concat", "filter", "isNonNullable", "JSON", "stringify", "detachedIds", "anchor", "map", "thread", "useEffect", "a", "b", "attended", "useAttended", "qualifiedSubjectId", "handleAttend", "threadId", "current", "createIntent", "LayoutAction", "ScrollIntoView", "part", "options", "cursor", "ref", "handleComment", "message", "messages", "push", "makeRef", "create", "MessageType", "sender", "identityKey", "toHex", "timestamp", "Date", "toISOString", "text", "ThreadAction", "OnMessageAdd", "handleResolve", "ToggleResolved", "handleThreadDelete", "Delete", "handleMessageDelete", "messageId", "DeleteMessage", "comments", "React", "CommentsContainer", "detached", "currentId", "includes", "undefined", "onAttend", "onComment", "onResolve", "onMessageDelete", "onThreadDelete", "Tabs", "Root", "value", "onValueChange", "orientation", "Tablist", "classNames", "Tab", "Tabpanel", "React", "DeprecatedFormContainer", "ThreadSettings", "settings", "React", "DeprecatedFormContainer", "ThreadContainer", "lazy", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "THREAD_PLUGIN", "role", "filter", "data", "subject", "ChannelType", "threads", "component", "layout", "useLayout", "channel", "load", "thread", "target", "currentPosition", "active", "findIndex", "objectToTheLeft", "context", "getSpace", "db", "getObjectById", "React", "ThreadContainer", "Array", "isArray", "ThreadComplementary", "SettingsStore", "prefix", "ThreadSettings", "settings", "value"]
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ThreadSettingsSchema
3
- } from "./chunk-NO5AZLUZ.mjs";
3
+ } from "./chunk-YK3ICB7G.mjs";
4
4
  import {
5
5
  THREAD_PLUGIN
6
6
  } from "./chunk-636QDHE3.mjs";
@@ -19,4 +19,4 @@ var settings_default = () => {
19
19
  export {
20
20
  settings_default as default
21
21
  };
22
- //# sourceMappingURL=settings-TKOPRXSU.mjs.map
22
+ //# sourceMappingURL=settings-WQTE5AEZ.mjs.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  ThreadAction,
3
3
  ThreadSettingsSchema
4
- } from "./chunk-NO5AZLUZ.mjs";
4
+ } from "./chunk-YK3ICB7G.mjs";
5
5
  import "./chunk-636QDHE3.mjs";
6
6
  export {
7
7
  ThreadAction,
@@ -26,12 +26,12 @@ 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 ThreadContainer_VOYLV4UL_exports = {};
30
- __export(ThreadContainer_VOYLV4UL_exports, {
29
+ var ThreadContainer_LTKKLPXX_exports = {};
30
+ __export(ThreadContainer_LTKKLPXX_exports, {
31
31
  default: () => ThreadContainer_default
32
32
  });
33
- module.exports = __toCommonJS(ThreadContainer_VOYLV4UL_exports);
34
- var import_chunk_6PUGKCPR = require("./chunk-6PUGKCPR.cjs");
33
+ module.exports = __toCommonJS(ThreadContainer_LTKKLPXX_exports);
34
+ var import_chunk_RQR5Z23G = require("./chunk-RQR5Z23G.cjs");
35
35
  var import_chunk_AWSTZ2KN = require("./chunk-AWSTZ2KN.cjs");
36
36
  var import_chunk_F735VMTN = require("./chunk-F735VMTN.cjs");
37
37
  var import_react = __toESM(require("react"));
@@ -39,7 +39,7 @@ var import_react_ui_stack = require("@dxos/react-ui-stack");
39
39
  var ThreadContainer = ({ role, ...props }) => {
40
40
  return /* @__PURE__ */ import_react.default.createElement(import_react_ui_stack.StackItem.Content, {
41
41
  toolbar: false
42
- }, /* @__PURE__ */ import_react.default.createElement(import_chunk_6PUGKCPR.ChatContainer, props));
42
+ }, /* @__PURE__ */ import_react.default.createElement(import_chunk_RQR5Z23G.ChatContainer, props));
43
43
  };
44
44
  var ThreadContainer_default = ThreadContainer;
45
- //# sourceMappingURL=ThreadContainer-VOYLV4UL.cjs.map
45
+ //# sourceMappingURL=ThreadContainer-LTKKLPXX.cjs.map
@@ -26,30 +26,25 @@ 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 chunk_ZRN7B26W_exports = {};
30
- __export(chunk_ZRN7B26W_exports, {
31
- AppGraphBuilder: () => AppGraphBuilder,
29
+ var chunk_BHFHFTHO_exports = {};
30
+ __export(chunk_BHFHFTHO_exports, {
32
31
  IntentResolver: () => IntentResolver,
33
32
  Markdown: () => Markdown,
34
33
  ReactSurface: () => ReactSurface,
35
- ThreadSettings: () => ThreadSettings,
36
34
  ThreadState: () => ThreadState
37
35
  });
38
- module.exports = __toCommonJS(chunk_ZRN7B26W_exports);
36
+ module.exports = __toCommonJS(chunk_BHFHFTHO_exports);
39
37
  var import_app_framework = require("@dxos/app-framework");
40
- var AppGraphBuilder = (0, import_app_framework.lazy)(() => import("./app-graph-builder-ZXW5KUDK.cjs"));
41
- var IntentResolver = (0, import_app_framework.lazy)(() => import("./intent-resolver-X5O3SVLF.cjs"));
42
- var Markdown = (0, import_app_framework.lazy)(() => import("./markdown-FWRKMSKV.cjs"));
43
- var ReactSurface = (0, import_app_framework.lazy)(() => import("./react-surface-LO7S2HPR.cjs"));
44
- var ThreadSettings = (0, import_app_framework.lazy)(() => import("./settings-TH4YSUVU.cjs"));
38
+ var IntentResolver = (0, import_app_framework.lazy)(() => import("./intent-resolver-DVBEXJ33.cjs"));
39
+ var Markdown = (0, import_app_framework.lazy)(() => import("./markdown-ELRGISXE.cjs"));
40
+ var ReactSurface = (0, import_app_framework.lazy)(() => import("./react-surface-7HLTN5XS.cjs"));
41
+ var ThreadSettings = (0, import_app_framework.lazy)(() => import("./settings-7VQYARM5.cjs"));
45
42
  var ThreadState = (0, import_app_framework.lazy)(() => import("./state-TQWEZ6B3.cjs"));
46
43
  // Annotate the CommonJS export names for ESM import in node:
47
44
  0 && (module.exports = {
48
- AppGraphBuilder,
49
45
  IntentResolver,
50
46
  Markdown,
51
47
  ReactSurface,
52
- ThreadSettings,
53
48
  ThreadState
54
49
  });
55
- //# sourceMappingURL=chunk-ZRN7B26W.cjs.map
50
+ //# sourceMappingURL=chunk-BHFHFTHO.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const IntentResolver = lazy(() => import('./intent-resolver'));\nexport const Markdown = lazy(() => import('./markdown'));\nexport const ReactSurface = lazy(() => import('./react-surface'));\nexport const ThreadSettings = lazy(() => import('./settings'));\nexport const ThreadState = lazy(() => import('./state'));\n\nexport * from './capabilities';\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAAqB;AAEd,IAAMA,qBAAiBC,2BAAK,MAAM,OAAO,gCAAA,CAAA;AACzC,IAAMC,eAAWD,2BAAK,MAAM,OAAO,yBAAA,CAAA;AACnC,IAAME,mBAAeF,2BAAK,MAAM,OAAO,8BAAA,CAAA;AACvC,IAAMG,qBAAiBH,2BAAK,MAAM,OAAO,yBAAA,CAAA;AACzC,IAAMI,kBAAcJ,2BAAK,MAAM,OAAO,sBAAA,CAAA;",
6
+ "names": ["IntentResolver", "lazy", "Markdown", "ReactSurface", "ThreadSettings", "ThreadState"]
7
+ }
@@ -16,12 +16,12 @@ 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 chunk_AUVKOX5Q_exports = {};
20
- __export(chunk_AUVKOX5Q_exports, {
19
+ var chunk_CMEMMYDL_exports = {};
20
+ __export(chunk_CMEMMYDL_exports, {
21
21
  ThreadAction: () => ThreadAction,
22
22
  ThreadSettingsSchema: () => ThreadSettingsSchema
23
23
  });
24
- module.exports = __toCommonJS(chunk_AUVKOX5Q_exports);
24
+ module.exports = __toCommonJS(chunk_CMEMMYDL_exports);
25
25
  var import_chunk_F735VMTN = require("./chunk-F735VMTN.cjs");
26
26
  var import_echo_schema = require("@dxos/echo-schema");
27
27
  var import_types = require("@dxos/plugin-space/types");
@@ -90,12 +90,10 @@ var ThreadAction;
90
90
  }
91
91
  ThreadAction2.DeleteMessage = DeleteMessage;
92
92
  })(ThreadAction || (ThreadAction = {}));
93
- var ThreadSettingsSchema = import_echo_schema.S.mutable(import_echo_schema.S.Struct({
94
- standalone: import_echo_schema.S.optional(import_echo_schema.S.Boolean)
95
- }));
93
+ var ThreadSettingsSchema = import_echo_schema.S.mutable(import_echo_schema.S.Struct({}));
96
94
  // Annotate the CommonJS export names for ESM import in node:
97
95
  0 && (module.exports = {
98
96
  ThreadAction,
99
97
  ThreadSettingsSchema
100
98
  });
101
- //# sourceMappingURL=chunk-AUVKOX5Q.cjs.map
99
+ //# sourceMappingURL=chunk-CMEMMYDL.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/types.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { S } from '@dxos/echo-schema';\nimport { ChannelType, MessageType, ThreadType } from '@dxos/plugin-space/types';\nimport { EchoObjectSchema } from '@dxos/react-client/echo';\n\nimport { THREAD_PLUGIN } from './meta';\n\nexport namespace ThreadAction {\n const THREAD_ACTION = `${THREAD_PLUGIN}/action`;\n\n export class Create extends S.TaggedClass<Create>()(`${THREAD_ACTION}/create`, {\n input: S.Struct({\n name: S.optional(S.String),\n cursor: S.optional(S.String),\n subject: S.optional(EchoObjectSchema),\n }),\n output: S.Struct({\n object: S.Union(ChannelType, ThreadType),\n }),\n }) {}\n\n export class Select extends S.TaggedClass<Select>()(`${THREAD_ACTION}/select`, {\n input: S.Struct({\n current: S.String,\n skipOpen: S.optional(S.Boolean),\n }),\n output: S.Void,\n }) {}\n\n export class ToggleResolved extends S.TaggedClass<ToggleResolved>()(`${THREAD_ACTION}/toggle-resolved`, {\n input: S.Struct({\n thread: ThreadType,\n }),\n output: S.Void,\n }) {}\n\n export class Delete extends S.TaggedClass<Delete>()(`${THREAD_ACTION}/delete`, {\n input: S.Struct({\n thread: ThreadType,\n subject: EchoObjectSchema,\n cursor: S.optional(S.String),\n }),\n output: S.Void,\n }) {}\n\n // TODO(wittjosiah): Rename?\n export class OnMessageAdd extends S.TaggedClass<OnMessageAdd>()(`${THREAD_ACTION}/on-message-add`, {\n input: S.Struct({\n thread: ThreadType,\n subject: EchoObjectSchema,\n }),\n output: S.Void,\n }) {}\n\n export class DeleteMessage extends S.TaggedClass<DeleteMessage>()(`${THREAD_ACTION}/delete-message`, {\n input: S.Struct({\n thread: ThreadType,\n subject: EchoObjectSchema,\n messageId: S.String,\n message: S.optional(MessageType),\n messageIndex: S.optional(S.Number),\n }),\n output: S.Void,\n }) {}\n}\n\nexport const ThreadSettingsSchema = S.mutable(\n S.Struct({\n standalone: S.optional(S.Boolean),\n }),\n);\n\nexport type ThreadSettingsProps = S.Schema.Type<typeof ThreadSettingsSchema>;\n\nexport interface ThreadModel {\n root: ThreadType;\n}\n\ntype SubjectId = string;\nexport type ViewState = { showResolvedThreads: boolean };\nexport type ViewStore = Record<SubjectId, ViewState>;\n\nexport type ThreadState = {\n /** In-memory draft threads. */\n drafts: Record<string, ThreadType[]>;\n current?: string | undefined;\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAIA,yBAAkB;AAClB,mBAAqD;AACrD,kBAAiC;;UAIhBA,eAAAA;AACf,QAAMC,gBAAgB,GAAGC,mCAAAA;EAElB,MAAMC,eAAeC,qBAAEC,YAAW,EAAW,GAAGJ,aAAAA,WAAwB;IAC7EK,OAAOF,qBAAEG,OAAO;MACdC,MAAMJ,qBAAEK,SAASL,qBAAEM,MAAM;MACzBC,QAAQP,qBAAEK,SAASL,qBAAEM,MAAM;MAC3BE,SAASR,qBAAEK,SAASI,4BAAAA;IACtB,CAAA;IACAC,QAAQV,qBAAEG,OAAO;MACfQ,QAAQX,qBAAEY,MAAMC,0BAAaC,uBAAAA;IAC/B,CAAA;EACF,CAAA,EAAA;EAAI;gBATSf,SAAAA;EAWN,MAAMgB,eAAef,qBAAEC,YAAW,EAAW,GAAGJ,aAAAA,WAAwB;IAC7EK,OAAOF,qBAAEG,OAAO;MACda,SAAShB,qBAAEM;MACXW,UAAUjB,qBAAEK,SAASL,qBAAEkB,OAAO;IAChC,CAAA;IACAR,QAAQV,qBAAEmB;EACZ,CAAA,EAAA;EAAI;gBANSJ,SAAAA;EAQN,MAAMK,uBAAuBpB,qBAAEC,YAAW,EAAmB,GAAGJ,aAAAA,oBAAiC;IACtGK,OAAOF,qBAAEG,OAAO;MACdkB,QAAQP;IACV,CAAA;IACAJ,QAAQV,qBAAEmB;EACZ,CAAA,EAAA;EAAI;gBALSC,iBAAAA;EAON,MAAME,eAAetB,qBAAEC,YAAW,EAAW,GAAGJ,aAAAA,WAAwB;IAC7EK,OAAOF,qBAAEG,OAAO;MACdkB,QAAQP;MACRN,SAASC;MACTF,QAAQP,qBAAEK,SAASL,qBAAEM,MAAM;IAC7B,CAAA;IACAI,QAAQV,qBAAEmB;EACZ,CAAA,EAAA;EAAI;gBAPSG,SAAAA;EAUN,MAAMC,qBAAqBvB,qBAAEC,YAAW,EAAiB,GAAGJ,aAAAA,mBAAgC;IACjGK,OAAOF,qBAAEG,OAAO;MACdkB,QAAQP;MACRN,SAASC;IACX,CAAA;IACAC,QAAQV,qBAAEmB;EACZ,CAAA,EAAA;EAAI;gBANSI,eAAAA;EAQN,MAAMC,sBAAsBxB,qBAAEC,YAAW,EAAkB,GAAGJ,aAAAA,mBAAgC;IACnGK,OAAOF,qBAAEG,OAAO;MACdkB,QAAQP;MACRN,SAASC;MACTgB,WAAWzB,qBAAEM;MACboB,SAAS1B,qBAAEK,SAASsB,wBAAAA;MACpBC,cAAc5B,qBAAEK,SAASL,qBAAE6B,MAAM;IACnC,CAAA;IACAnB,QAAQV,qBAAEmB;EACZ,CAAA,EAAA;EAAI;gBATSK,gBAAAA;AAUf,GAzDiB5B,iBAAAA,eAAAA,CAAAA,EAAAA;AA2DV,IAAMkC,uBAAuB9B,qBAAE+B,QACpC/B,qBAAEG,OAAO;EACP6B,YAAYhC,qBAAEK,SAASL,qBAAEkB,OAAO;AAClC,CAAA,CAAA;",
6
- "names": ["ThreadAction", "THREAD_ACTION", "THREAD_PLUGIN", "Create", "S", "TaggedClass", "input", "Struct", "name", "optional", "String", "cursor", "subject", "EchoObjectSchema", "output", "object", "Union", "ChannelType", "ThreadType", "Select", "current", "skipOpen", "Boolean", "Void", "ToggleResolved", "thread", "Delete", "OnMessageAdd", "DeleteMessage", "messageId", "message", "MessageType", "messageIndex", "Number", "ThreadSettingsSchema", "mutable", "standalone"]
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { S } from '@dxos/echo-schema';\nimport { ChannelType, MessageType, ThreadType } from '@dxos/plugin-space/types';\nimport { EchoObjectSchema } from '@dxos/react-client/echo';\n\nimport { THREAD_PLUGIN } from './meta';\n\nexport namespace ThreadAction {\n const THREAD_ACTION = `${THREAD_PLUGIN}/action`;\n\n export class Create extends S.TaggedClass<Create>()(`${THREAD_ACTION}/create`, {\n input: S.Struct({\n name: S.optional(S.String),\n cursor: S.optional(S.String),\n subject: S.optional(EchoObjectSchema),\n }),\n output: S.Struct({\n object: S.Union(ChannelType, ThreadType),\n }),\n }) {}\n\n export class Select extends S.TaggedClass<Select>()(`${THREAD_ACTION}/select`, {\n input: S.Struct({\n current: S.String,\n skipOpen: S.optional(S.Boolean),\n }),\n output: S.Void,\n }) {}\n\n export class ToggleResolved extends S.TaggedClass<ToggleResolved>()(`${THREAD_ACTION}/toggle-resolved`, {\n input: S.Struct({\n thread: ThreadType,\n }),\n output: S.Void,\n }) {}\n\n export class Delete extends S.TaggedClass<Delete>()(`${THREAD_ACTION}/delete`, {\n input: S.Struct({\n thread: ThreadType,\n subject: EchoObjectSchema,\n cursor: S.optional(S.String),\n }),\n output: S.Void,\n }) {}\n\n // TODO(wittjosiah): Rename?\n export class OnMessageAdd extends S.TaggedClass<OnMessageAdd>()(`${THREAD_ACTION}/on-message-add`, {\n input: S.Struct({\n thread: ThreadType,\n subject: EchoObjectSchema,\n }),\n output: S.Void,\n }) {}\n\n export class DeleteMessage extends S.TaggedClass<DeleteMessage>()(`${THREAD_ACTION}/delete-message`, {\n input: S.Struct({\n thread: ThreadType,\n subject: EchoObjectSchema,\n messageId: S.String,\n message: S.optional(MessageType),\n messageIndex: S.optional(S.Number),\n }),\n output: S.Void,\n }) {}\n}\n\nexport const ThreadSettingsSchema = S.mutable(S.Struct({}));\n\nexport type ThreadSettingsProps = S.Schema.Type<typeof ThreadSettingsSchema>;\n\nexport interface ThreadModel {\n root: ThreadType;\n}\n\ntype SubjectId = string;\nexport type ViewState = { showResolvedThreads: boolean };\nexport type ViewStore = Record<SubjectId, ViewState>;\n\nexport type ThreadState = {\n /** In-memory draft threads. */\n drafts: Record<string, ThreadType[]>;\n current?: string | undefined;\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAIA,yBAAkB;AAClB,mBAAqD;AACrD,kBAAiC;;UAIhBA,eAAAA;AACf,QAAMC,gBAAgB,GAAGC,mCAAAA;EAElB,MAAMC,eAAeC,qBAAEC,YAAW,EAAW,GAAGJ,aAAAA,WAAwB;IAC7EK,OAAOF,qBAAEG,OAAO;MACdC,MAAMJ,qBAAEK,SAASL,qBAAEM,MAAM;MACzBC,QAAQP,qBAAEK,SAASL,qBAAEM,MAAM;MAC3BE,SAASR,qBAAEK,SAASI,4BAAAA;IACtB,CAAA;IACAC,QAAQV,qBAAEG,OAAO;MACfQ,QAAQX,qBAAEY,MAAMC,0BAAaC,uBAAAA;IAC/B,CAAA;EACF,CAAA,EAAA;EAAI;gBATSf,SAAAA;EAWN,MAAMgB,eAAef,qBAAEC,YAAW,EAAW,GAAGJ,aAAAA,WAAwB;IAC7EK,OAAOF,qBAAEG,OAAO;MACda,SAAShB,qBAAEM;MACXW,UAAUjB,qBAAEK,SAASL,qBAAEkB,OAAO;IAChC,CAAA;IACAR,QAAQV,qBAAEmB;EACZ,CAAA,EAAA;EAAI;gBANSJ,SAAAA;EAQN,MAAMK,uBAAuBpB,qBAAEC,YAAW,EAAmB,GAAGJ,aAAAA,oBAAiC;IACtGK,OAAOF,qBAAEG,OAAO;MACdkB,QAAQP;IACV,CAAA;IACAJ,QAAQV,qBAAEmB;EACZ,CAAA,EAAA;EAAI;gBALSC,iBAAAA;EAON,MAAME,eAAetB,qBAAEC,YAAW,EAAW,GAAGJ,aAAAA,WAAwB;IAC7EK,OAAOF,qBAAEG,OAAO;MACdkB,QAAQP;MACRN,SAASC;MACTF,QAAQP,qBAAEK,SAASL,qBAAEM,MAAM;IAC7B,CAAA;IACAI,QAAQV,qBAAEmB;EACZ,CAAA,EAAA;EAAI;gBAPSG,SAAAA;EAUN,MAAMC,qBAAqBvB,qBAAEC,YAAW,EAAiB,GAAGJ,aAAAA,mBAAgC;IACjGK,OAAOF,qBAAEG,OAAO;MACdkB,QAAQP;MACRN,SAASC;IACX,CAAA;IACAC,QAAQV,qBAAEmB;EACZ,CAAA,EAAA;EAAI;gBANSI,eAAAA;EAQN,MAAMC,sBAAsBxB,qBAAEC,YAAW,EAAkB,GAAGJ,aAAAA,mBAAgC;IACnGK,OAAOF,qBAAEG,OAAO;MACdkB,QAAQP;MACRN,SAASC;MACTgB,WAAWzB,qBAAEM;MACboB,SAAS1B,qBAAEK,SAASsB,wBAAAA;MACpBC,cAAc5B,qBAAEK,SAASL,qBAAE6B,MAAM;IACnC,CAAA;IACAnB,QAAQV,qBAAEmB;EACZ,CAAA,EAAA;EAAI;gBATSK,gBAAAA;AAUf,GAzDiB5B,iBAAAA,eAAAA,CAAAA,EAAAA;AA2DV,IAAMkC,uBAAuB9B,qBAAE+B,QAAQ/B,qBAAEG,OAAO,CAAC,CAAA,CAAA;",
6
+ "names": ["ThreadAction", "THREAD_ACTION", "THREAD_PLUGIN", "Create", "S", "TaggedClass", "input", "Struct", "name", "optional", "String", "cursor", "subject", "EchoObjectSchema", "output", "object", "Union", "ChannelType", "ThreadType", "Select", "current", "skipOpen", "Boolean", "Void", "ToggleResolved", "thread", "Delete", "OnMessageAdd", "DeleteMessage", "messageId", "message", "MessageType", "messageIndex", "Number", "ThreadSettingsSchema", "mutable"]
7
7
  }
@@ -26,14 +26,14 @@ 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 chunk_6PUGKCPR_exports = {};
30
- __export(chunk_6PUGKCPR_exports, {
29
+ var chunk_RQR5Z23G_exports = {};
30
+ __export(chunk_RQR5Z23G_exports, {
31
31
  ChatContainer: () => ChatContainer,
32
32
  MessageContainer: () => MessageContainer,
33
33
  command: () => command,
34
34
  getMessageMetadata: () => getMessageMetadata
35
35
  });
36
- module.exports = __toCommonJS(chunk_6PUGKCPR_exports);
36
+ module.exports = __toCommonJS(chunk_RQR5Z23G_exports);
37
37
  var import_chunk_AWSTZ2KN = require("./chunk-AWSTZ2KN.cjs");
38
38
  var import_chunk_F735VMTN = require("./chunk-F735VMTN.cjs");
39
39
  var import_react = __toESM(require("react"));
@@ -56,7 +56,6 @@ var import_react_client = require("@dxos/react-client");
56
56
  var import_halo2 = require("@dxos/react-client/halo");
57
57
  var import_react_ui2 = require("@dxos/react-ui");
58
58
  var import_react_ui_editor2 = require("@dxos/react-ui-editor");
59
- var import_react_ui_mosaic = require("@dxos/react-ui-mosaic");
60
59
  var import_react_ui_theme2 = require("@dxos/react-ui-theme");
61
60
  var import_react_ui_thread2 = require("@dxos/react-ui-thread");
62
61
  var import_language = require("@codemirror/language");
@@ -83,9 +82,7 @@ var parser = import_language.StreamLanguage.define({
83
82
  var styles = import_language.HighlightStyle.define([
84
83
  {
85
84
  tag: import_react_ui_editor3.tags.tagName,
86
- class: (0, import_react_ui_theme3.mx)((0, import_react_ui_theme3.tagRoot)({
87
- palette: "cyan"
88
- }), "text-baseText font-medium")
85
+ class: (0, import_react_ui_theme3.mx)("dx-tag dx-tag--indigo text-baseText font-medium")
89
86
  }
90
87
  ]);
91
88
  var command = [
@@ -165,14 +162,9 @@ var MessageContainer = ({ message, members, onDelete }) => {
165
162
  })));
166
163
  };
167
164
  var MessagePart = ({ part }) => {
168
- return /* @__PURE__ */ import_react3.default.createElement(import_react_ui_mosaic.Mosaic.Container, {
169
- id: part.id
170
- }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui_mosaic.Mosaic.DraggableTile, {
171
- type: import_chunk_F735VMTN.THREAD_ITEM,
172
- path: part.id,
173
- item: part,
174
- Component: MessageBlockObjectTile
175
- }));
165
+ return /* @__PURE__ */ import_react3.default.createElement(MessageBlockObjectTile, {
166
+ subject: part
167
+ });
176
168
  };
177
169
  var TextboxBlock = ({ message, isAuthor, editing }) => {
178
170
  const { themeMode } = (0, import_react_ui2.useThemeContext)();
@@ -223,25 +215,22 @@ var TextboxBlock = ({ message, isAuthor, editing }) => {
223
215
  ...focusAttributes
224
216
  });
225
217
  };
226
- var MessageBlockObjectTile = /* @__PURE__ */ (0, import_react3.forwardRef)(({ draggableStyle, draggableProps, item, active, ref: _ref, ...props }, forwardedRef) => {
227
- let title = item.name ?? item.title ?? item.type ?? "Object";
218
+ var MessageBlockObjectTile = /* @__PURE__ */ (0, import_react3.forwardRef)(({ subject }, forwardedRef) => {
219
+ let title = subject.name ?? subject.title ?? subject.type ?? "Object";
228
220
  if (typeof title !== "string") {
229
221
  title = title?.content ?? "";
230
222
  }
231
223
  return /* @__PURE__ */ import_react3.default.createElement("div", {
232
224
  role: "group",
233
225
  className: (0, import_react_ui_theme2.mx)("grid col-span-3 py-1 pr-4", import_react_ui_theme2.hoverableControls, import_react_ui_theme2.hoverableFocusedWithinControls),
234
- style: draggableStyle,
235
226
  ref: forwardedRef
236
227
  }, /* @__PURE__ */ import_react3.default.createElement(import_app_framework.Surface, {
237
228
  role: "card",
238
229
  limit: 1,
239
230
  data: {
240
- subject: item
231
+ subject
241
232
  },
242
- draggableProps,
243
- fallback: title,
244
- ...props
233
+ fallback: title
245
234
  }));
246
235
  });
247
236
  var ChatContainer = ({ thread, context, current, autoFocusTextbox }) => {
@@ -289,7 +278,7 @@ var ChatContainer = ({ thread, context, current, autoFocusTextbox }) => {
289
278
  },
290
279
  timestamp: (/* @__PURE__ */ new Date()).toISOString(),
291
280
  text: messageRef.current,
292
- context: (0, import_live_object.makeRef)(context)
281
+ context: context ? (0, import_live_object.makeRef)(context) : void 0
293
282
  })));
294
283
  messageRef.current = "";
295
284
  setAutoFocus(true);
@@ -339,4 +328,4 @@ var ChatContainer = ({ thread, context, current, autoFocusTextbox }) => {
339
328
  command,
340
329
  getMessageMetadata
341
330
  });
342
- //# sourceMappingURL=chunk-6PUGKCPR.cjs.map
331
+ //# sourceMappingURL=chunk-RQR5Z23G.cjs.map