@dxos/plugin-thread 0.6.14-main.7bd9c89 → 0.6.14-main.f49f251

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 (45) hide show
  1. package/dist/lib/browser/{ThreadArticle-3W6SWGHG.mjs → ThreadArticle-2Y7UWZLA.mjs} +2 -2
  2. package/dist/lib/browser/{ThreadMain-D7CU4Z57.mjs → ThreadMain-VK5UEBQ7.mjs} +2 -2
  3. package/dist/lib/browser/{chunk-AKS43EUV.mjs → chunk-LHT42MTJ.mjs} +2 -2
  4. package/dist/lib/browser/{chunk-AKS43EUV.mjs.map → chunk-LHT42MTJ.mjs.map} +3 -3
  5. package/dist/lib/browser/{chunk-JFQZ5W2I.mjs → chunk-WKCIKGGW.mjs} +1 -1
  6. package/dist/lib/browser/{chunk-JFQZ5W2I.mjs.map → chunk-WKCIKGGW.mjs.map} +1 -1
  7. package/dist/lib/browser/index.mjs +32 -11
  8. package/dist/lib/browser/index.mjs.map +3 -3
  9. package/dist/lib/browser/meta.json +1 -1
  10. package/dist/lib/browser/types.mjs +1 -1
  11. package/dist/lib/node/{ThreadArticle-LNYJIQRO.cjs → ThreadArticle-CIYBYISR.cjs} +6 -6
  12. package/dist/lib/node/{ThreadMain-PQWIG7M5.cjs → ThreadMain-V6KBUQLH.cjs} +6 -6
  13. package/dist/lib/node/{chunk-FOZUQZF4.cjs → chunk-A2IORKQK.cjs} +4 -4
  14. package/dist/lib/node/{chunk-FOZUQZF4.cjs.map → chunk-A2IORKQK.cjs.map} +1 -1
  15. package/dist/lib/node/{chunk-DL2VJOPZ.cjs → chunk-HWN7Q5XK.cjs} +5 -5
  16. package/dist/lib/node/{chunk-DL2VJOPZ.cjs.map → chunk-HWN7Q5XK.cjs.map} +3 -3
  17. package/dist/lib/node/index.cjs +57 -36
  18. package/dist/lib/node/index.cjs.map +3 -3
  19. package/dist/lib/node/meta.json +1 -1
  20. package/dist/lib/node/types.cjs +2 -2
  21. package/dist/lib/node/types.cjs.map +1 -1
  22. package/dist/lib/node-esm/{ThreadArticle-RKAZPOU2.mjs → ThreadArticle-PXO4ZJFU.mjs} +2 -2
  23. package/dist/lib/node-esm/{ThreadMain-VTBJFLXN.mjs → ThreadMain-U7R24CN3.mjs} +2 -2
  24. package/dist/lib/node-esm/{chunk-ZXIPFXSA.mjs → chunk-KWNXG6FG.mjs} +1 -1
  25. package/dist/lib/node-esm/{chunk-ZXIPFXSA.mjs.map → chunk-KWNXG6FG.mjs.map} +1 -1
  26. package/dist/lib/node-esm/{chunk-AQ5EMVXT.mjs → chunk-SXXOBRAX.mjs} +2 -2
  27. package/dist/lib/node-esm/{chunk-AQ5EMVXT.mjs.map → chunk-SXXOBRAX.mjs.map} +3 -3
  28. package/dist/lib/node-esm/index.mjs +32 -11
  29. package/dist/lib/node-esm/index.mjs.map +3 -3
  30. package/dist/lib/node-esm/meta.json +1 -1
  31. package/dist/lib/node-esm/types.mjs +1 -1
  32. package/dist/types/src/ThreadPlugin.d.ts.map +1 -1
  33. package/dist/types/src/types.d.ts +1 -1
  34. package/dist/types/src/types.d.ts.map +1 -1
  35. package/package.json +35 -43
  36. package/src/ThreadPlugin.tsx +24 -5
  37. package/src/components/MessageContainer.tsx +1 -1
  38. package/src/components/ThreadSettings.tsx +3 -3
  39. package/src/types.ts +1 -1
  40. /package/dist/lib/browser/{ThreadArticle-3W6SWGHG.mjs.map → ThreadArticle-2Y7UWZLA.mjs.map} +0 -0
  41. /package/dist/lib/browser/{ThreadMain-D7CU4Z57.mjs.map → ThreadMain-VK5UEBQ7.mjs.map} +0 -0
  42. /package/dist/lib/node/{ThreadArticle-LNYJIQRO.cjs.map → ThreadArticle-CIYBYISR.cjs.map} +0 -0
  43. /package/dist/lib/node/{ThreadMain-PQWIG7M5.cjs.map → ThreadMain-V6KBUQLH.cjs.map} +0 -0
  44. /package/dist/lib/node-esm/{ThreadArticle-RKAZPOU2.mjs.map → ThreadArticle-PXO4ZJFU.mjs.map} +0 -0
  45. /package/dist/lib/node-esm/{ThreadMain-VTBJFLXN.mjs.map → ThreadMain-U7R24CN3.mjs.map} +0 -0
@@ -28,16 +28,16 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
29
  var node_exports = {};
30
30
  __export(node_exports, {
31
- ThreadAction: () => import_chunk_FOZUQZF4.ThreadAction,
31
+ ThreadAction: () => import_chunk_A2IORKQK.ThreadAction,
32
32
  ThreadPlugin: () => ThreadPlugin,
33
33
  default: () => src_default,
34
- useAnalyticsCallback: () => import_chunk_DL2VJOPZ.useAnalyticsCallback,
35
- useOnEditAnalytics: () => import_chunk_DL2VJOPZ.useOnEditAnalytics,
36
- useStatus: () => import_chunk_DL2VJOPZ.useStatus
34
+ useAnalyticsCallback: () => import_chunk_HWN7Q5XK.useAnalyticsCallback,
35
+ useOnEditAnalytics: () => import_chunk_HWN7Q5XK.useOnEditAnalytics,
36
+ useStatus: () => import_chunk_HWN7Q5XK.useStatus
37
37
  });
38
38
  module.exports = __toCommonJS(node_exports);
39
- var import_chunk_FOZUQZF4 = require("./chunk-FOZUQZF4.cjs");
40
- var import_chunk_DL2VJOPZ = require("./chunk-DL2VJOPZ.cjs");
39
+ var import_chunk_A2IORKQK = require("./chunk-A2IORKQK.cjs");
40
+ var import_chunk_HWN7Q5XK = require("./chunk-HWN7Q5XK.cjs");
41
41
  var import_chunk_JIJ7Z6NO = require("./chunk-JIJ7Z6NO.cjs");
42
42
  var import_react = __toESM(require("react"));
43
43
  var import_app_framework = require("@dxos/app-framework");
@@ -75,8 +75,8 @@ var import_react_ui3 = require("@dxos/react-ui");
75
75
  var import_react_ui_attention = require("@dxos/react-ui-attention");
76
76
  var import_util2 = require("@dxos/util");
77
77
  var import_react8 = __toESM(require("react"));
78
- var import_plugin_settings = require("@dxos/plugin-settings");
79
78
  var import_react_ui4 = require("@dxos/react-ui");
79
+ var import_react_ui_data = require("@dxos/react-ui-data");
80
80
  var import_view = require("@codemirror/view");
81
81
  var import_signals_core = require("@preact/signals-core");
82
82
  var import_types3 = require("@dxos/plugin-space/types");
@@ -133,11 +133,11 @@ var CommentContainer = ({ thread, detached, context, current, onAttend, onThread
133
133
  const identity = (0, import_halo.useIdentity)();
134
134
  const space = (0, import_echo3.getSpace)(thread);
135
135
  const members = (0, import_echo3.useMembers)(space?.key);
136
- const activity = (0, import_chunk_DL2VJOPZ.useStatus)(space, (0, import_echo3.fullyQualifiedId)(thread));
136
+ const activity = (0, import_chunk_HWN7Q5XK.useStatus)(space, (0, import_echo3.fullyQualifiedId)(thread));
137
137
  const { t } = (0, import_react_ui.useTranslation)(import_chunk_JIJ7Z6NO.THREAD_PLUGIN);
138
138
  const threadScrollRef = (0, import_react4.useRef)(null);
139
139
  const { themeMode } = (0, import_react_ui.useThemeContext)();
140
- const textboxMetadata = (0, import_chunk_DL2VJOPZ.getMessageMetadata)((0, import_echo3.fullyQualifiedId)(thread), identity);
140
+ const textboxMetadata = (0, import_chunk_HWN7Q5XK.getMessageMetadata)((0, import_echo3.fullyQualifiedId)(thread), identity);
141
141
  const [_count, _setCount] = (0, import_react4.useState)(0);
142
142
  const rerenderEditor = () => _setCount((count) => count + 1);
143
143
  const messageRef = (0, import_react4.useRef)("");
@@ -151,7 +151,7 @@ var CommentContainer = ({ thread, detached, context, current, onAttend, onThread
151
151
  (0, import_react_ui_editor.listener)({
152
152
  onChange: (text) => messageRef.current = text
153
153
  }),
154
- import_chunk_DL2VJOPZ.command
154
+ import_chunk_HWN7Q5XK.command
155
155
  ], [
156
156
  _count
157
157
  ]);
@@ -204,7 +204,7 @@ var CommentContainer = ({ thread, detached, context, current, onAttend, onThread
204
204
  onResolve
205
205
  }), onThreadDelete && /* @__PURE__ */ import_react4.default.createElement(DeleteThreadButton, {
206
206
  onDelete: onThreadDelete
207
- }))), thread.messages.filter(import_util.nonNullable).map((message) => /* @__PURE__ */ import_react4.default.createElement(import_chunk_DL2VJOPZ.MessageContainer, {
207
+ }))), thread.messages.filter(import_util.nonNullable).map((message) => /* @__PURE__ */ import_react4.default.createElement(import_chunk_HWN7Q5XK.MessageContainer, {
208
208
  key: message.id,
209
209
  message,
210
210
  members,
@@ -336,7 +336,7 @@ var ThreadComplementary = ({ role, subject, drafts, current, showResolvedThreads
336
336
  onThreadDelete: (thread) => {
337
337
  return dispatch({
338
338
  plugin: import_chunk_JIJ7Z6NO.THREAD_PLUGIN,
339
- action: import_chunk_FOZUQZF4.ThreadAction.DELETE,
339
+ action: import_chunk_A2IORKQK.ThreadAction.DELETE,
340
340
  data: {
341
341
  subject,
342
342
  thread
@@ -345,7 +345,7 @@ var ThreadComplementary = ({ role, subject, drafts, current, showResolvedThreads
345
345
  },
346
346
  onMessageDelete: (thread, messageId) => dispatch({
347
347
  plugin: import_chunk_JIJ7Z6NO.THREAD_PLUGIN,
348
- action: import_chunk_FOZUQZF4.ThreadAction.DELETE_MESSAGE,
348
+ action: import_chunk_A2IORKQK.ThreadAction.DELETE_MESSAGE,
349
349
  data: {
350
350
  subject,
351
351
  thread,
@@ -354,14 +354,14 @@ var ThreadComplementary = ({ role, subject, drafts, current, showResolvedThreads
354
354
  }),
355
355
  onThreadToggleResolved: (thread) => dispatch({
356
356
  plugin: import_chunk_JIJ7Z6NO.THREAD_PLUGIN,
357
- action: import_chunk_FOZUQZF4.ThreadAction.TOGGLE_RESOLVED,
357
+ action: import_chunk_A2IORKQK.ThreadAction.TOGGLE_RESOLVED,
358
358
  data: {
359
359
  thread
360
360
  }
361
361
  }),
362
362
  onComment: (thread) => {
363
363
  void dispatch({
364
- action: import_chunk_FOZUQZF4.ThreadAction.ON_MESSAGE_ADD,
364
+ action: import_chunk_A2IORKQK.ThreadAction.ON_MESSAGE_ADD,
365
365
  data: {
366
366
  thread,
367
367
  subject
@@ -375,15 +375,15 @@ var ThreadComplementary = ({ role, subject, drafts, current, showResolvedThreads
375
375
  };
376
376
  var ThreadSettings = ({ settings }) => {
377
377
  const { t } = (0, import_react_ui4.useTranslation)(import_chunk_JIJ7Z6NO.THREAD_PLUGIN);
378
- return /* @__PURE__ */ import_react8.default.createElement(import_react8.default.Fragment, null, /* @__PURE__ */ import_react8.default.createElement(import_plugin_settings.SettingsValue, {
378
+ return /* @__PURE__ */ import_react8.default.createElement(import_react8.default.Fragment, null, /* @__PURE__ */ import_react8.default.createElement(import_react_ui_data.FormInput, {
379
379
  label: t("settings standalone label")
380
380
  }, /* @__PURE__ */ import_react8.default.createElement(import_react_ui4.Input.Switch, {
381
381
  checked: settings.standalone,
382
382
  onCheckedChange: (checked) => settings.standalone = !!checked
383
383
  })));
384
384
  };
385
- var ThreadMain = (0, import_react2.lazy)(() => import("./ThreadMain-PQWIG7M5.cjs"));
386
- var ThreadArticle = (0, import_react2.lazy)(() => import("./ThreadArticle-LNYJIQRO.cjs"));
385
+ var ThreadMain = (0, import_react2.lazy)(() => import("./ThreadMain-V6KBUQLH.cjs"));
386
+ var ThreadArticle = (0, import_react2.lazy)(() => import("./ThreadArticle-CIYBYISR.cjs"));
387
387
  var getName = (doc, anchor) => {
388
388
  if (doc.content) {
389
389
  const [start, end] = anchor.split(":");
@@ -425,7 +425,7 @@ var threads = (state, doc, dispatch) => {
425
425
  onCreate: ({ cursor }) => {
426
426
  const name = getName(doc, cursor);
427
427
  void dispatch({
428
- action: import_chunk_FOZUQZF4.ThreadAction.CREATE,
428
+ action: import_chunk_A2IORKQK.ThreadAction.CREATE,
429
429
  data: {
430
430
  cursor,
431
431
  name,
@@ -455,7 +455,7 @@ var threads = (state, doc, dispatch) => {
455
455
  },
456
456
  onSelect: ({ selection: { current, closest } }) => {
457
457
  void dispatch({
458
- action: import_chunk_FOZUQZF4.ThreadAction.SELECT,
458
+ action: import_chunk_A2IORKQK.ThreadAction.SELECT,
459
459
  data: {
460
460
  current: current ?? closest,
461
461
  skipOpen: true
@@ -598,6 +598,8 @@ var ThreadPlugin = () => {
598
598
  if (!client || !dispatch || !metadataResolver) {
599
599
  return [];
600
600
  }
601
+ const type = "orphan-comments-for-subject";
602
+ const icon = "ph--chat-text--regular";
601
603
  return [
602
604
  (0, import_plugin_graph.createExtension)({
603
605
  id: `${import_chunk_JIJ7Z6NO.THREAD_PLUGIN}/comments-for-subject`,
@@ -606,8 +608,27 @@ var ThreadPlugin = () => {
606
608
  return;
607
609
  }
608
610
  const [subjectId] = id.split("~");
609
- const [spaceId, objectId] = (0, import_echo2.parseFullyQualifiedId)(subjectId);
611
+ const { spaceId, objectId } = (0, import_echo2.parseId)(subjectId);
610
612
  const space = client.spaces.get().find((space2) => space2.id === spaceId);
613
+ if (!objectId) {
614
+ return {
615
+ id,
616
+ type,
617
+ data: null,
618
+ properties: {
619
+ icon,
620
+ label: [
621
+ "unnamed object threads label",
622
+ {
623
+ ns: import_chunk_JIJ7Z6NO.THREAD_PLUGIN
624
+ }
625
+ ],
626
+ showResolvedThreads: false,
627
+ object: null,
628
+ space
629
+ }
630
+ };
631
+ }
611
632
  const object = (0, import_plugin_graph.toSignal)((onChange) => {
612
633
  const timeout = setTimeout(async () => {
613
634
  await space?.db.loadObjectById(objectId);
@@ -628,10 +649,10 @@ var ThreadPlugin = () => {
628
649
  const viewState = getViewState(subjectId);
629
650
  return {
630
651
  id,
631
- type: "orphan-comments-for-subject",
652
+ type,
632
653
  data: null,
633
654
  properties: {
634
- icon: "ph--chat-text--regular",
655
+ icon,
635
656
  label,
636
657
  showResolvedThreads: viewState.showResolvedThreads,
637
658
  object
@@ -681,7 +702,7 @@ var ThreadPlugin = () => {
681
702
  }
682
703
  }),
683
704
  (0, import_plugin_graph.createExtension)({
684
- id: import_chunk_FOZUQZF4.ThreadAction.CREATE,
705
+ id: import_chunk_A2IORKQK.ThreadAction.CREATE,
685
706
  filter: (node) => !!settings.values.standalone && (0, import_plugin_graph.isActionGroup)(node) && node.id.startsWith(import_plugin_space.SpaceAction.ADD_OBJECT),
686
707
  actions: ({ node }) => {
687
708
  const id = node.id.split("/").at(-1);
@@ -699,7 +720,7 @@ var ThreadPlugin = () => {
699
720
  await dispatch([
700
721
  {
701
722
  plugin: import_chunk_JIJ7Z6NO.THREAD_PLUGIN,
702
- action: import_chunk_FOZUQZF4.ThreadAction.CREATE
723
+ action: import_chunk_A2IORKQK.ThreadAction.CREATE
703
724
  },
704
725
  {
705
726
  action: import_plugin_space.SpaceAction.ADD_OBJECT,
@@ -763,9 +784,9 @@ var ThreadPlugin = () => {
763
784
  });
764
785
  }
765
786
  if (data.subject instanceof import_types.ThreadType) {
766
- return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(import_chunk_DL2VJOPZ.ChatHeading, {
787
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(import_chunk_HWN7Q5XK.ChatHeading, {
767
788
  attendableId: data.subject.id
768
- }), /* @__PURE__ */ import_react.default.createElement(import_chunk_DL2VJOPZ.ChatContainer, {
789
+ }), /* @__PURE__ */ import_react.default.createElement(import_chunk_HWN7Q5XK.ChatContainer, {
769
790
  thread: data.subject
770
791
  }));
771
792
  }
@@ -791,7 +812,7 @@ var ThreadPlugin = () => {
791
812
  intent: {
792
813
  resolver: async (intent) => {
793
814
  switch (intent.action) {
794
- case import_chunk_FOZUQZF4.ThreadAction.CREATE: {
815
+ case import_chunk_A2IORKQK.ThreadAction.CREATE: {
795
816
  if (intent.data && intent.data.cursor !== void 0) {
796
817
  const { cursor, name, subject } = intent.data;
797
818
  if (subject?.threads === void 0) {
@@ -800,7 +821,7 @@ var ThreadPlugin = () => {
800
821
  } catch (err) {
801
822
  import_log.log.error("Subject does not support threads array", subject?.typename, {
802
823
  F: __dxlog_file,
803
- L: 328,
824
+ L: 347,
804
825
  S: void 0,
805
826
  C: (f, a) => f(...a)
806
827
  });
@@ -827,7 +848,7 @@ var ThreadPlugin = () => {
827
848
  intents: [
828
849
  [
829
850
  {
830
- action: import_chunk_FOZUQZF4.ThreadAction.SELECT,
851
+ action: import_chunk_A2IORKQK.ThreadAction.SELECT,
831
852
  data: {
832
853
  current: (0, import_echo2.fullyQualifiedId)(thread)
833
854
  }
@@ -866,7 +887,7 @@ var ThreadPlugin = () => {
866
887
  };
867
888
  }
868
889
  }
869
- case import_chunk_FOZUQZF4.ThreadAction.SELECT: {
890
+ case import_chunk_A2IORKQK.ThreadAction.SELECT: {
870
891
  state.current = intent.data?.current;
871
892
  return {
872
893
  data: true,
@@ -884,7 +905,7 @@ var ThreadPlugin = () => {
884
905
  ] : []
885
906
  };
886
907
  }
887
- case import_chunk_FOZUQZF4.ThreadAction.TOGGLE_RESOLVED: {
908
+ case import_chunk_A2IORKQK.ThreadAction.TOGGLE_RESOLVED: {
888
909
  const { thread } = intent.data ?? {};
889
910
  if (!(thread instanceof import_types.ThreadType)) {
890
911
  return;
@@ -914,7 +935,7 @@ var ThreadPlugin = () => {
914
935
  ]
915
936
  };
916
937
  }
917
- case import_chunk_FOZUQZF4.ThreadAction.DELETE: {
938
+ case import_chunk_A2IORKQK.ThreadAction.DELETE: {
918
939
  const { subject, thread } = intent.data ?? {};
919
940
  if (!(thread instanceof import_types.ThreadType) || !(subject && typeof subject === "object" && "threads" in subject)) {
920
941
  return;
@@ -986,7 +1007,7 @@ var ThreadPlugin = () => {
986
1007
  }
987
1008
  break;
988
1009
  }
989
- case import_chunk_FOZUQZF4.ThreadAction.ON_MESSAGE_ADD: {
1010
+ case import_chunk_A2IORKQK.ThreadAction.ON_MESSAGE_ADD: {
990
1011
  const { thread, subject } = intent.data ?? {};
991
1012
  if (!(thread instanceof import_types.ThreadType) || !(subject && typeof subject === "object" && "threads" in subject && Array.isArray(subject.threads))) {
992
1013
  return;
@@ -1029,7 +1050,7 @@ var ThreadPlugin = () => {
1029
1050
  ]
1030
1051
  };
1031
1052
  }
1032
- case import_chunk_FOZUQZF4.ThreadAction.DELETE_MESSAGE: {
1053
+ case import_chunk_A2IORKQK.ThreadAction.DELETE_MESSAGE: {
1033
1054
  const { subject, thread, messageId } = intent.data ?? {};
1034
1055
  const space = (0, import_echo2.getSpace)(subject);
1035
1056
  if (!(thread instanceof import_types.ThreadType) || !(subject && typeof subject === "object" && "threads" in subject)) {
@@ -1046,7 +1067,7 @@ var ThreadPlugin = () => {
1046
1067
  intents: [
1047
1068
  [
1048
1069
  {
1049
- action: import_chunk_FOZUQZF4.ThreadAction.DELETE,
1070
+ action: import_chunk_A2IORKQK.ThreadAction.DELETE,
1050
1071
  data: {
1051
1072
  subject,
1052
1073
  thread