@dxos/plugin-space 0.6.13-main.ed424a1 → 0.6.13

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 (92) hide show
  1. package/dist/lib/browser/{chunk-47SVNCZM.mjs → chunk-DTVUOG2C.mjs} +5 -24
  2. package/dist/lib/browser/chunk-DTVUOG2C.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-AVLRQF6L.mjs → chunk-LZEGRS7H.mjs} +1 -1
  4. package/dist/lib/browser/chunk-LZEGRS7H.mjs.map +7 -0
  5. package/dist/lib/browser/index.mjs +249 -595
  6. package/dist/lib/browser/index.mjs.map +4 -4
  7. package/dist/lib/browser/meta.json +1 -1
  8. package/dist/lib/browser/meta.mjs +1 -1
  9. package/dist/lib/browser/types/index.mjs +3 -7
  10. package/dist/lib/node/{chunk-P4XUXM7Y.cjs → chunk-6CNYF6YU.cjs} +4 -4
  11. package/dist/lib/node/chunk-6CNYF6YU.cjs.map +7 -0
  12. package/dist/lib/node/{chunk-CTYDNFGG.cjs → chunk-CVZPI2P3.cjs} +9 -30
  13. package/dist/lib/node/chunk-CVZPI2P3.cjs.map +7 -0
  14. package/dist/lib/node/index.cjs +470 -813
  15. package/dist/lib/node/index.cjs.map +4 -4
  16. package/dist/lib/node/meta.cjs +5 -5
  17. package/dist/lib/node/meta.cjs.map +1 -1
  18. package/dist/lib/node/meta.json +1 -1
  19. package/dist/lib/node/types/index.cjs +10 -14
  20. package/dist/lib/node/types/index.cjs.map +2 -2
  21. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  22. package/dist/types/src/components/EmptySpace.d.ts +3 -0
  23. package/dist/types/src/components/EmptySpace.d.ts.map +1 -0
  24. package/dist/types/src/components/EmptyTree.d.ts +3 -0
  25. package/dist/types/src/components/EmptyTree.d.ts.map +1 -0
  26. package/dist/types/src/components/MenuFooter.d.ts +1 -1
  27. package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
  28. package/dist/types/src/components/ShareSpaceButton.stories.d.ts +0 -4
  29. package/dist/types/src/components/ShareSpaceButton.stories.d.ts.map +1 -1
  30. package/dist/types/src/components/SpaceMain/SpaceMain.d.ts.map +1 -1
  31. package/dist/types/src/components/SpacePresence.stories.d.ts +0 -4
  32. package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
  33. package/dist/types/src/components/SpaceSettings.d.ts.map +1 -1
  34. package/dist/types/src/components/index.d.ts +2 -3
  35. package/dist/types/src/components/index.d.ts.map +1 -1
  36. package/dist/types/src/meta.d.ts.map +1 -1
  37. package/dist/types/src/translations.d.ts +0 -4
  38. package/dist/types/src/translations.d.ts.map +1 -1
  39. package/dist/types/src/types/thread.d.ts +1 -15
  40. package/dist/types/src/types/thread.d.ts.map +1 -1
  41. package/dist/types/src/types/types.d.ts +1 -18
  42. package/dist/types/src/types/types.d.ts.map +1 -1
  43. package/dist/types/src/util.d.ts +6 -3
  44. package/dist/types/src/util.d.ts.map +1 -1
  45. package/package.json +36 -44
  46. package/src/SpacePlugin.tsx +86 -149
  47. package/src/components/EmptySpace.tsx +25 -0
  48. package/src/components/EmptyTree.tsx +25 -0
  49. package/src/components/MenuFooter.tsx +2 -2
  50. package/src/components/SpaceMain/SpaceMain.tsx +22 -1
  51. package/src/components/SpacePresence.tsx +1 -1
  52. package/src/components/SpaceSettings.tsx +3 -32
  53. package/src/components/index.ts +2 -3
  54. package/src/meta.ts +1 -3
  55. package/src/translations.ts +0 -4
  56. package/src/types/collection.ts +1 -1
  57. package/src/types/thread.ts +2 -12
  58. package/src/types/types.ts +1 -25
  59. package/src/util.tsx +55 -20
  60. package/dist/lib/browser/chunk-47SVNCZM.mjs.map +0 -7
  61. package/dist/lib/browser/chunk-AVLRQF6L.mjs.map +0 -7
  62. package/dist/lib/node/chunk-CTYDNFGG.cjs.map +0 -7
  63. package/dist/lib/node/chunk-P4XUXM7Y.cjs.map +0 -7
  64. package/dist/lib/node-esm/chunk-PLPMYTLC.mjs +0 -116
  65. package/dist/lib/node-esm/chunk-PLPMYTLC.mjs.map +0 -7
  66. package/dist/lib/node-esm/chunk-YPQGKWHJ.mjs +0 -37
  67. package/dist/lib/node-esm/chunk-YPQGKWHJ.mjs.map +0 -7
  68. package/dist/lib/node-esm/index.mjs +0 -2987
  69. package/dist/lib/node-esm/index.mjs.map +0 -7
  70. package/dist/lib/node-esm/meta.json +0 -1
  71. package/dist/lib/node-esm/meta.mjs +0 -14
  72. package/dist/lib/node-esm/meta.mjs.map +0 -7
  73. package/dist/lib/node-esm/types/index.mjs +0 -26
  74. package/dist/lib/node-esm/types/index.mjs.map +0 -7
  75. package/dist/types/src/components/FallbackSettings.d.ts +0 -8
  76. package/dist/types/src/components/FallbackSettings.d.ts.map +0 -1
  77. package/dist/types/src/components/SaveStatus.d.ts +0 -3
  78. package/dist/types/src/components/SaveStatus.d.ts.map +0 -1
  79. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts +0 -13
  80. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +0 -1
  81. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +0 -117
  82. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +0 -1
  83. package/dist/types/src/components/SyncStatus/index.d.ts +0 -2
  84. package/dist/types/src/components/SyncStatus/index.d.ts.map +0 -1
  85. package/dist/types/src/components/SyncStatus/types.d.ts +0 -14
  86. package/dist/types/src/components/SyncStatus/types.d.ts.map +0 -1
  87. package/src/components/FallbackSettings.tsx +0 -35
  88. package/src/components/SaveStatus.tsx +0 -95
  89. package/src/components/SyncStatus/SyncStatus.stories.tsx +0 -62
  90. package/src/components/SyncStatus/SyncStatus.tsx +0 -188
  91. package/src/components/SyncStatus/index.ts +0 -5
  92. package/src/components/SyncStatus/types.ts +0 -77
@@ -28,44 +28,40 @@ 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
- ActorSchema: () => import_chunk_CTYDNFGG.ActorSchema,
31
+ ActorSchema: () => import_chunk_CVZPI2P3.ActorSchema,
32
32
  AwaitingObject: () => AwaitingObject,
33
33
  COMPOSER_SPACE_LOCK: () => COMPOSER_SPACE_LOCK,
34
- ChannelType: () => import_chunk_CTYDNFGG.ChannelType,
34
+ ChannelType: () => import_chunk_CVZPI2P3.ChannelType,
35
35
  CollectionMain: () => CollectionMain,
36
36
  CollectionSection: () => CollectionSection,
37
- CollectionType: () => import_chunk_CTYDNFGG.CollectionType,
38
- ContactType: () => import_chunk_CTYDNFGG.ContactType,
39
- FallbackSettings: () => FallbackSettings,
37
+ CollectionType: () => import_chunk_CVZPI2P3.CollectionType,
38
+ ContactType: () => import_chunk_CVZPI2P3.ContactType,
39
+ EmptySpace: () => EmptySpace,
40
+ EmptyTree: () => EmptyTree,
40
41
  FullPresence: () => FullPresence,
41
42
  MenuFooter: () => MenuFooter,
42
- MessageState: () => import_chunk_CTYDNFGG.MessageState,
43
- MessageType: () => import_chunk_CTYDNFGG.MessageType,
43
+ MessageType: () => import_chunk_CVZPI2P3.MessageType,
44
44
  MissingObject: () => MissingObject,
45
45
  PersistenceStatus: () => PersistenceStatus,
46
46
  PopoverRenameObject: () => PopoverRenameObject,
47
47
  PopoverRenameSpace: () => PopoverRenameSpace,
48
48
  SHARED: () => SHARED,
49
49
  SPACES: () => SPACES,
50
- SPACE_DIRECTORY_HANDLE: () => import_chunk_CTYDNFGG.SPACE_DIRECTORY_HANDLE,
51
- SPACE_PLUGIN: () => import_chunk_P4XUXM7Y.SPACE_PLUGIN,
52
- SPACE_PLUGIN_SHORT_ID: () => import_chunk_P4XUXM7Y.SPACE_PLUGIN_SHORT_ID,
50
+ SPACE_DIRECTORY_HANDLE: () => import_chunk_CVZPI2P3.SPACE_DIRECTORY_HANDLE,
51
+ SPACE_PLUGIN: () => import_chunk_6CNYF6YU.SPACE_PLUGIN,
52
+ SPACE_PLUGIN_SHORT_ID: () => import_chunk_6CNYF6YU.SPACE_PLUGIN_SHORT_ID,
53
53
  SPACE_TYPE: () => SPACE_TYPE,
54
- SaveStatus: () => SaveStatus,
55
54
  ShareSpaceButton: () => ShareSpaceButton,
56
55
  ShareSpaceButtonImpl: () => ShareSpaceButtonImpl,
57
56
  SmallPresence: () => SmallPresence,
58
57
  SmallPresenceLive: () => SmallPresenceLive,
59
- SpaceAction: () => import_chunk_P4XUXM7Y.SpaceAction,
58
+ SpaceAction: () => import_chunk_6CNYF6YU.SpaceAction,
60
59
  SpaceMain: () => SpaceMain,
61
60
  SpacePlugin: () => SpacePlugin,
62
61
  SpacePresence: () => SpacePresence,
63
62
  SpaceSettings: () => SpaceSettings,
64
- SyncStatus: () => SyncStatus,
65
- SyncStatusDetail: () => SyncStatusDetail,
66
- SyncStatusIndicator: () => SyncStatusIndicator,
67
- ThreadStatus: () => import_chunk_CTYDNFGG.ThreadStatus,
68
- ThreadType: () => import_chunk_CTYDNFGG.ThreadType,
63
+ ThreadStatus: () => import_chunk_CVZPI2P3.ThreadStatus,
64
+ ThreadType: () => import_chunk_CVZPI2P3.ThreadType,
69
65
  cloneObject: () => cloneObject,
70
66
  constructObjectActionGroups: () => constructObjectActionGroups,
71
67
  constructObjectActions: () => constructObjectActions,
@@ -78,19 +74,18 @@ __export(node_exports, {
78
74
  getNestedObjects: () => getNestedObjects,
79
75
  getSpaceDisplayName: () => getSpaceDisplayName,
80
76
  memoizeQuery: () => memoizeQuery,
81
- parseSpaceInitPlugin: () => import_chunk_CTYDNFGG.parseSpaceInitPlugin,
82
77
  parseSpacePlugin: () => parseSpacePlugin,
83
78
  translations: () => translations_default
84
79
  });
85
80
  module.exports = __toCommonJS(node_exports);
86
- var import_chunk_P4XUXM7Y = require("./chunk-P4XUXM7Y.cjs");
87
- var import_chunk_CTYDNFGG = require("./chunk-CTYDNFGG.cjs");
81
+ var import_chunk_6CNYF6YU = require("./chunk-6CNYF6YU.cjs");
82
+ var import_chunk_CVZPI2P3 = require("./chunk-CVZPI2P3.cjs");
83
+ var import_react = require("@phosphor-icons/react");
88
84
  var import_signals_core = require("@preact/signals-core");
89
- var import_react = __toESM(require("react"));
85
+ var import_react2 = __toESM(require("react"));
90
86
  var import_app_framework = require("@dxos/app-framework");
91
87
  var import_async = require("@dxos/async");
92
88
  var import_echo_schema = require("@dxos/echo-schema");
93
- var import_core = require("@dxos/echo-signals/core");
94
89
  var import_local_storage = require("@dxos/local-storage");
95
90
  var import_log = require("@dxos/log");
96
91
  var import_migrations = require("@dxos/migrations");
@@ -101,105 +96,97 @@ var import_meta = require("@dxos/plugin-observability/meta");
101
96
  var import_react_client = require("@dxos/react-client");
102
97
  var import_echo = require("@dxos/react-client/echo");
103
98
  var import_react_ui = require("@dxos/react-ui");
104
- var import_react2 = require("@dxos/shell/react");
99
+ var import_react3 = require("@dxos/shell/react");
105
100
  var import_util = require("@dxos/util");
106
- var import_react3 = require("@phosphor-icons/react");
107
- var import_react4 = __toESM(require("react"));
101
+ var import_react4 = require("@phosphor-icons/react");
102
+ var import_react5 = __toESM(require("react"));
108
103
  var import_app_framework2 = require("@dxos/app-framework");
109
104
  var import_react_client2 = require("@dxos/react-client");
110
105
  var import_echo2 = require("@dxos/react-client/echo");
111
106
  var import_react_ui2 = require("@dxos/react-ui");
112
107
  var import_react_ui_theme = require("@dxos/react-ui-theme");
113
- var import_react5 = __toESM(require("react"));
108
+ var import_react6 = __toESM(require("react"));
114
109
  var import_react_ui3 = require("@dxos/react-ui");
115
110
  var import_react_ui_theme2 = require("@dxos/react-ui-theme");
116
- var import_react6 = __toESM(require("react"));
117
- var import_react_ui4 = require("@dxos/react-ui");
118
111
  var import_react7 = __toESM(require("react"));
112
+ var import_react_ui4 = require("@dxos/react-ui");
113
+ var import_react8 = __toESM(require("react"));
119
114
  var import_react_ui5 = require("@dxos/react-ui");
120
- var import_react8 = require("@phosphor-icons/react");
115
+ var import_react_ui_theme3 = require("@dxos/react-ui-theme");
121
116
  var import_react9 = __toESM(require("react"));
117
+ var import_react_ui6 = require("@dxos/react-ui");
118
+ var import_react_ui_theme4 = require("@dxos/react-ui-theme");
119
+ var import_react10 = require("@phosphor-icons/react");
120
+ var import_react11 = __toESM(require("react"));
122
121
  var import_echo3 = require("@dxos/client/echo");
123
122
  var import_react_client3 = require("@dxos/react-client");
124
- var import_react_ui6 = require("@dxos/react-ui");
123
+ var import_react_ui7 = require("@dxos/react-ui");
124
+ var import_react12 = require("@phosphor-icons/react");
125
+ var import_react13 = __toESM(require("react"));
125
126
  var import_app_framework3 = require("@dxos/app-framework");
126
127
  var import_echo_schema2 = require("@dxos/echo-schema");
127
128
  var import_invariant = require("@dxos/invariant");
128
129
  var import_migrations2 = require("@dxos/migrations");
129
130
  var import_plugin_graph2 = require("@dxos/plugin-graph");
130
131
  var import_echo4 = require("@dxos/react-client/echo");
131
- var import_react10 = __toESM(require("react"));
132
+ var import_react14 = __toESM(require("react"));
132
133
  var import_app_framework4 = require("@dxos/app-framework");
133
- var import_react_ui7 = require("@dxos/react-ui");
134
- var import_react_ui_theme3 = require("@dxos/react-ui-theme");
135
- var import_react11 = require("@phosphor-icons/react");
136
- var import_react12 = __toESM(require("react"));
137
- var import_async2 = require("@dxos/async");
138
134
  var import_react_ui8 = require("@dxos/react-ui");
139
- var import_react_ui_theme4 = require("@dxos/react-ui-theme");
140
- var import_react13 = __toESM(require("react"));
141
- var import_log2 = require("@dxos/log");
135
+ var import_react_ui_theme5 = require("@dxos/react-ui-theme");
136
+ var import_react15 = require("@phosphor-icons/react");
137
+ var import_react16 = __toESM(require("react"));
138
+ var import_async2 = require("@dxos/async");
142
139
  var import_react_ui9 = require("@dxos/react-ui");
143
- var import_react14 = __toESM(require("react"));
140
+ var import_react_ui_theme6 = require("@dxos/react-ui-theme");
141
+ var import_react17 = __toESM(require("react"));
142
+ var import_log2 = require("@dxos/log");
144
143
  var import_react_ui10 = require("@dxos/react-ui");
145
- var import_react15 = __toESM(require("react"));
146
- var import_app_framework5 = require("@dxos/app-framework");
144
+ var import_react18 = __toESM(require("react"));
147
145
  var import_react_ui11 = require("@dxos/react-ui");
148
- var import_react16 = require("@phosphor-icons/react");
149
- var import_react17 = __toESM(require("react"));
146
+ var import_react19 = __toESM(require("react"));
147
+ var import_app_framework5 = require("@dxos/app-framework");
148
+ var import_react_ui12 = require("@dxos/react-ui");
149
+ var import_react20 = require("@phosphor-icons/react");
150
+ var import_react21 = __toESM(require("react"));
150
151
  var import_app_framework6 = require("@dxos/app-framework");
151
152
  var import_echo5 = require("@dxos/react-client/echo");
152
- var import_react_ui12 = require("@dxos/react-ui");
153
- var import_react_ui_theme5 = require("@dxos/react-ui-theme");
154
- var import_react18 = require("@dxos/shell/react");
155
- var import_react19 = require("@phosphor-icons/react");
156
- var import_react20 = __toESM(require("react"));
153
+ var import_react_ui13 = require("@dxos/react-ui");
154
+ var import_react_ui_theme7 = require("@dxos/react-ui-theme");
155
+ var import_react22 = require("@dxos/shell/react");
156
+ var import_react23 = require("@phosphor-icons/react");
157
+ var import_react24 = __toESM(require("react"));
157
158
  var import_app_framework7 = require("@dxos/app-framework");
158
159
  var import_echo6 = require("@dxos/react-client/echo");
159
160
  var import_invitations = require("@dxos/react-client/invitations");
160
161
  var import_invitations2 = require("@dxos/react-client/invitations");
161
- var import_react_ui13 = require("@dxos/react-ui");
162
- var import_react_ui_theme6 = require("@dxos/react-ui-theme");
163
- var import_react21 = require("@dxos/shell/react");
164
- var import_react22 = __toESM(require("react"));
162
+ var import_react_ui14 = require("@dxos/react-ui");
163
+ var import_react_ui_theme8 = require("@dxos/react-ui-theme");
164
+ var import_react25 = require("@dxos/shell/react");
165
+ var import_react26 = __toESM(require("react"));
165
166
  var import_app_framework8 = require("@dxos/app-framework");
166
167
  var import_display_name = require("@dxos/display-name");
167
168
  var import_react_client4 = require("@dxos/react-client");
168
169
  var import_echo7 = require("@dxos/react-client/echo");
169
170
  var import_halo = require("@dxos/react-client/halo");
170
- var import_react_ui14 = require("@dxos/react-ui");
171
+ var import_react_ui15 = require("@dxos/react-ui");
171
172
  var import_react_ui_attention = require("@dxos/react-ui-attention");
172
173
  var import_util2 = require("@dxos/util");
173
- var import_react23 = __toESM(require("react"));
174
+ var import_react27 = __toESM(require("react"));
174
175
  var import_app_framework9 = require("@dxos/app-framework");
175
176
  var import_plugin_settings = require("@dxos/plugin-settings");
176
- var import_react_ui15 = require("@dxos/react-ui");
177
- var import_react24 = __toESM(require("react"));
178
- var import_context = require("@dxos/context");
179
- var import_plugin_status_bar = require("@dxos/plugin-status-bar");
180
- var import_react_client5 = require("@dxos/react-client");
181
177
  var import_react_ui16 = require("@dxos/react-ui");
182
- var import_react25 = __toESM(require("react"));
183
- var import_plugin_status_bar2 = require("@dxos/plugin-status-bar");
184
- var import_react_ui17 = require("@dxos/react-ui");
185
- var import_react_ui_syntax_highlighter = require("@dxos/react-ui-syntax-highlighter");
186
- var import_react_ui_theme7 = require("@dxos/react-ui-theme");
187
- var import_react26 = require("react");
188
- var import_context2 = require("@dxos/context");
189
- var import_protocols = require("@dxos/protocols");
190
- var import_react_client6 = require("@dxos/react-client");
191
178
  var WAIT_FOR_OBJECT_TIMEOUT = 18e4;
192
179
  var TOAST_TIMEOUT = 24e4;
193
180
  var AwaitingObject = ({ id }) => {
194
- const [open, setOpen] = (0, import_react4.useState)(true);
195
- const [waiting, setWaiting] = (0, import_react4.useState)(true);
196
- const [found, setFound] = (0, import_react4.useState)(false);
197
- const { t } = (0, import_react_ui2.useTranslation)(import_chunk_P4XUXM7Y.SPACE_PLUGIN);
181
+ const [open, setOpen] = (0, import_react5.useState)(true);
182
+ const [waiting, setWaiting] = (0, import_react5.useState)(true);
183
+ const [found, setFound] = (0, import_react5.useState)(false);
184
+ const { t } = (0, import_react_ui2.useTranslation)(import_chunk_6CNYF6YU.SPACE_PLUGIN);
198
185
  const intentPlugin = (0, import_app_framework2.useResolvePlugin)(import_app_framework2.parseIntentPlugin);
199
186
  const navigationPlugin = (0, import_app_framework2.useResolvePlugin)(import_app_framework2.parseNavigationPlugin);
200
187
  const client = (0, import_react_client2.useClient)();
201
188
  const objects = (0, import_echo2.useQuery)(client.spaces);
202
- (0, import_react4.useEffect)(() => {
189
+ (0, import_react5.useEffect)(() => {
203
190
  if (!id) {
204
191
  return;
205
192
  }
@@ -210,7 +197,7 @@ var AwaitingObject = ({ id }) => {
210
197
  }, [
211
198
  id
212
199
  ]);
213
- (0, import_react4.useEffect)(() => {
200
+ (0, import_react5.useEffect)(() => {
214
201
  if (objects.findIndex((object) => (0, import_echo2.fullyQualifiedId)(object) === id) > -1) {
215
202
  setFound(true);
216
203
  if (navigationPlugin?.provides.location.active === id) {
@@ -223,8 +210,8 @@ var AwaitingObject = ({ id }) => {
223
210
  intentPlugin
224
211
  ]);
225
212
  const handleClose = async () => intentPlugin?.provides.intent.dispatch({
226
- plugin: import_chunk_P4XUXM7Y.SPACE_PLUGIN,
227
- action: import_chunk_P4XUXM7Y.SpaceAction.WAIT_FOR_OBJECT,
213
+ plugin: import_chunk_6CNYF6YU.SPACE_PLUGIN,
214
+ action: import_chunk_6CNYF6YU.SpaceAction.WAIT_FOR_OBJECT,
228
215
  data: {
229
216
  id: void 0
230
217
  }
@@ -242,75 +229,73 @@ var AwaitingObject = ({ id }) => {
242
229
  });
243
230
  void handleClose();
244
231
  };
245
- return /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Toast.Root, {
232
+ return /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.Toast.Root, {
246
233
  open,
247
234
  duration: TOAST_TIMEOUT,
248
235
  onOpenChange: setOpen
249
- }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Toast.Body, null, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Toast.Title, {
236
+ }, /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.Toast.Body, null, /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.Toast.Title, {
250
237
  classNames: "flex items-center gap-2"
251
- }, found ? /* @__PURE__ */ import_react4.default.createElement(import_react4.default.Fragment, null, /* @__PURE__ */ import_react4.default.createElement(import_react3.CheckCircle, {
238
+ }, found ? /* @__PURE__ */ import_react5.default.createElement(import_react5.default.Fragment, null, /* @__PURE__ */ import_react5.default.createElement(import_react4.CheckCircle, {
252
239
  className: (0, import_react_ui_theme.getSize)(5)
253
- }), /* @__PURE__ */ import_react4.default.createElement("span", null, t("found object label"))) : waiting ? /* @__PURE__ */ import_react4.default.createElement(import_react4.default.Fragment, null, /* @__PURE__ */ import_react4.default.createElement(import_react3.CircleNotch, {
240
+ }), /* @__PURE__ */ import_react5.default.createElement("span", null, t("found object label"))) : waiting ? /* @__PURE__ */ import_react5.default.createElement(import_react5.default.Fragment, null, /* @__PURE__ */ import_react5.default.createElement(import_react4.CircleNotch, {
254
241
  className: (0, import_react_ui_theme.mx)((0, import_react_ui_theme.getSize)(5), "animate-spin")
255
- }), /* @__PURE__ */ import_react4.default.createElement("span", null, t("waiting for object label"))) : /* @__PURE__ */ import_react4.default.createElement(import_react4.default.Fragment, null, /* @__PURE__ */ import_react4.default.createElement(import_react3.CircleDashed, {
242
+ }), /* @__PURE__ */ import_react5.default.createElement("span", null, t("waiting for object label"))) : /* @__PURE__ */ import_react5.default.createElement(import_react5.default.Fragment, null, /* @__PURE__ */ import_react5.default.createElement(import_react4.CircleDashed, {
256
243
  className: (0, import_react_ui_theme.getSize)(5)
257
- }), /* @__PURE__ */ import_react4.default.createElement("span", null, t("object not found label")))), /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Toast.Description, null, t(found ? "found object description" : waiting ? "waiting for object description" : "object not found description"))), /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Toast.Actions, null, found ? /* @__PURE__ */ import_react4.default.createElement(import_react4.default.Fragment, null, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Toast.Action, {
244
+ }), /* @__PURE__ */ import_react5.default.createElement("span", null, t("object not found label")))), /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.Toast.Description, null, t(found ? "found object description" : waiting ? "waiting for object description" : "object not found description"))), /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.Toast.Actions, null, found ? /* @__PURE__ */ import_react5.default.createElement(import_react5.default.Fragment, null, /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.Toast.Action, {
258
245
  altText: t("go to object alt"),
259
246
  asChild: true
260
- }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Button, {
247
+ }, /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.Button, {
261
248
  variant: "primary",
262
249
  onClick: handleNavigate
263
- }, t("go to object label"))), /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Toast.Close, {
250
+ }, t("go to object label"))), /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.Toast.Close, {
264
251
  asChild: true
265
- }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Button, {
252
+ }, /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.Button, {
266
253
  onClick: handleClose
267
254
  }, t("close label", {
268
255
  ns: "appkit"
269
- })))) : /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Toast.Close, {
256
+ })))) : /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.Toast.Close, {
270
257
  asChild: true
271
- }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Button, {
258
+ }, /* @__PURE__ */ import_react5.default.createElement(import_react_ui2.Button, {
272
259
  onClick: handleClose
273
260
  }, t(waiting ? "close label" : "confirm label", {
274
261
  ns: "appkit"
275
262
  })))));
276
263
  };
277
264
  var CollectionMain = ({ collection }) => {
278
- const { t } = (0, import_react_ui3.useTranslation)(import_chunk_P4XUXM7Y.SPACE_PLUGIN);
279
- return /* @__PURE__ */ import_react5.default.createElement("div", {
265
+ const { t } = (0, import_react_ui3.useTranslation)(import_chunk_6CNYF6YU.SPACE_PLUGIN);
266
+ return /* @__PURE__ */ import_react6.default.createElement("div", {
280
267
  role: "none",
281
268
  className: (0, import_react_ui_theme2.mx)(import_react_ui_theme2.baseSurface, "min-bs-screen is-full flex items-center justify-center p-8"),
282
269
  "data-testid": "composer.firstRunMessage"
283
- }, /* @__PURE__ */ import_react5.default.createElement("p", {
270
+ }, /* @__PURE__ */ import_react6.default.createElement("p", {
284
271
  role: "alert",
285
272
  className: (0, import_react_ui_theme2.mx)(import_react_ui_theme2.descriptionText, "border border-dashed border-neutral-400/50 rounded-lg p-8 font-normal text-lg max-is-[24rem] break-words")
286
273
  }, collection.name ?? t("unnamed collection label")));
287
274
  };
288
275
  var CollectionSection = ({ collection }) => {
289
- const { t } = (0, import_react_ui4.useTranslation)(import_chunk_P4XUXM7Y.SPACE_PLUGIN);
290
- return /* @__PURE__ */ import_react6.default.createElement("div", {
276
+ const { t } = (0, import_react_ui4.useTranslation)(import_chunk_6CNYF6YU.SPACE_PLUGIN);
277
+ return /* @__PURE__ */ import_react7.default.createElement("div", {
291
278
  className: "min-bs-[3.5rem] grid grid-rows-subgrid grid-cols-subgrid items-center"
292
- }, /* @__PURE__ */ import_react6.default.createElement("span", {
279
+ }, /* @__PURE__ */ import_react7.default.createElement("span", {
293
280
  className: "truncate"
294
281
  }, collection.name ?? t("unnamed collection label")));
295
282
  };
296
- var FallbackSettings = ({ object }) => {
297
- const { t } = (0, import_react_ui5.useTranslation)(import_chunk_P4XUXM7Y.SPACE_PLUGIN);
298
- return /* @__PURE__ */ import_react7.default.createElement("div", {
299
- role: "form",
300
- className: "p-3 flex flex-col gap-2"
301
- }, /* @__PURE__ */ import_react7.default.createElement("div", {
283
+ var EmptySpace = () => {
284
+ const { t } = (0, import_react_ui5.useTranslation)(import_chunk_6CNYF6YU.SPACE_PLUGIN);
285
+ return /* @__PURE__ */ import_react8.default.createElement("div", {
302
286
  role: "none",
303
- className: "space-b-1"
304
- }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui5.Input.Root, null, /* @__PURE__ */ import_react7.default.createElement(import_react_ui5.Input.Label, null, t("name label")), /* @__PURE__ */ import_react7.default.createElement(import_react_ui5.Input.TextInput, {
305
- placeholder: t("name placeholder"),
306
- value: object.name,
307
- onChange: (event) => {
308
- object.name = event.target.value;
309
- }
310
- }))));
287
+ className: (0, import_react_ui_theme3.mx)("p-2 mli-2 mbe-2 text-center border border-dashed border-neutral-400/50 rounded-lg", import_react_ui_theme3.descriptionText)
288
+ }, t("empty space message"));
289
+ };
290
+ var EmptyTree = () => {
291
+ const { t } = (0, import_react_ui6.useTranslation)(import_chunk_6CNYF6YU.SPACE_PLUGIN);
292
+ return /* @__PURE__ */ import_react9.default.createElement("div", {
293
+ role: "none",
294
+ className: (0, import_react_ui_theme4.mx)("p-2 mli-2 mbe-2 text-center border border-dashed border-neutral-400/50 rounded-lg", import_react_ui_theme4.descriptionText)
295
+ }, t("empty tree message"));
311
296
  };
312
297
  var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/util.tsx";
313
- var SPACES = `${import_chunk_P4XUXM7Y.SPACE_PLUGIN}-spaces`;
298
+ var SPACES = `${import_chunk_6CNYF6YU.SPACE_PLUGIN}-spaces`;
314
299
  var SPACE_TYPE = "dxos.org/type/Space";
315
300
  var COMPOSER_SPACE_LOCK = "dxos.org/plugin/space/lock";
316
301
  var SHARED = "shared-spaces";
@@ -326,12 +311,12 @@ var getSpaceDisplayName = (space, { personal, namesCache = {} } = {}) => {
326
311
  return space.state.get() === import_echo4.SpaceState.SPACE_READY && (space.properties.name?.length ?? 0) > 0 ? space.properties.name : namesCache[space.id] ? namesCache[space.id] : personal ? [
327
312
  "personal space label",
328
313
  {
329
- ns: import_chunk_P4XUXM7Y.SPACE_PLUGIN
314
+ ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
330
315
  }
331
316
  ] : [
332
317
  "unnamed space label",
333
318
  {
334
- ns: import_chunk_P4XUXM7Y.SPACE_PLUGIN
319
+ ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
335
320
  }
336
321
  ];
337
322
  };
@@ -378,8 +363,8 @@ var checkPendingMigration = (space) => {
378
363
  };
379
364
  var constructSpaceNode = ({ space, personal, namesCache, resolve }) => {
380
365
  const hasPendingMigration = checkPendingMigration(space);
381
- const collection = space.state.get() === import_echo4.SpaceState.SPACE_READY && space.properties[import_chunk_CTYDNFGG.CollectionType.typename];
382
- const partials = space.state.get() === import_echo4.SpaceState.SPACE_READY && collection instanceof import_chunk_CTYDNFGG.CollectionType ? getCollectionGraphNodePartials({
366
+ const collection = space.state.get() === import_echo4.SpaceState.SPACE_READY && space.properties[import_chunk_CVZPI2P3.CollectionType.typename];
367
+ const partials = space.state.get() === import_echo4.SpaceState.SPACE_READY && collection instanceof import_chunk_CVZPI2P3.CollectionType ? getCollectionGraphNodePartials({
383
368
  collection,
384
369
  space,
385
370
  resolve
@@ -395,7 +380,8 @@ var constructSpaceNode = ({ space, personal, namesCache, resolve }) => {
395
380
  namesCache
396
381
  }),
397
382
  description: space.state.get() === import_echo4.SpaceState.SPACE_READY && space.properties.description,
398
- icon: "ph--planet--regular",
383
+ icon: (props) => /* @__PURE__ */ import_react13.default.createElement(import_react12.Planet, props),
384
+ iconSymbol: "ph--planet--regular",
399
385
  disabled: space.state.get() !== import_echo4.SpaceState.SPACE_READY || hasPendingMigration,
400
386
  testId: "spacePlugin.space"
401
387
  }
@@ -408,20 +394,21 @@ var constructSpaceActionGroups = ({ space, dispatch }) => {
408
394
  if (state !== import_echo4.SpaceState.SPACE_READY || hasPendingMigration) {
409
395
  return [];
410
396
  }
411
- const collection = space.properties[import_chunk_CTYDNFGG.CollectionType.typename];
397
+ const collection = space.properties[import_chunk_CVZPI2P3.CollectionType.typename];
412
398
  const actions = [
413
399
  {
414
- id: getId(import_chunk_P4XUXM7Y.SpaceAction.ADD_OBJECT),
400
+ id: getId(import_chunk_6CNYF6YU.SpaceAction.ADD_OBJECT),
415
401
  type: import_plugin_graph2.ACTION_GROUP_TYPE,
416
402
  data: import_plugin_graph2.actionGroupSymbol,
417
403
  properties: {
418
404
  label: [
419
405
  "create object in space label",
420
406
  {
421
- ns: import_chunk_P4XUXM7Y.SPACE_PLUGIN
407
+ ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
422
408
  }
423
409
  ],
424
- icon: "ph--plus--regular",
410
+ icon: (props) => /* @__PURE__ */ import_react13.default.createElement(import_react12.Plus, props),
411
+ iconSymbol: "ph--plus--regular",
425
412
  disposition: "toolbar",
426
413
  // TODO(wittjosiah): This is currently a navtree feature. Address this with cmd+k integration.
427
414
  // mainAreaDisposition: 'in-flow',
@@ -430,15 +417,15 @@ var constructSpaceActionGroups = ({ space, dispatch }) => {
430
417
  },
431
418
  nodes: [
432
419
  {
433
- id: getId(import_chunk_P4XUXM7Y.SpaceAction.ADD_OBJECT.replace("object", "collection")),
420
+ id: getId(import_chunk_6CNYF6YU.SpaceAction.ADD_OBJECT.replace("object", "collection")),
434
421
  type: import_plugin_graph2.ACTION_TYPE,
435
422
  data: () => dispatch([
436
423
  {
437
- plugin: import_chunk_P4XUXM7Y.SPACE_PLUGIN,
438
- action: import_chunk_P4XUXM7Y.SpaceAction.ADD_OBJECT,
424
+ plugin: import_chunk_6CNYF6YU.SPACE_PLUGIN,
425
+ action: import_chunk_6CNYF6YU.SpaceAction.ADD_OBJECT,
439
426
  data: {
440
427
  target: collection,
441
- object: (0, import_echo_schema2.create)(import_chunk_CTYDNFGG.CollectionType, {
428
+ object: (0, import_echo_schema2.create)(import_chunk_CVZPI2P3.CollectionType, {
442
429
  objects: [],
443
430
  views: {}
444
431
  })
@@ -452,10 +439,11 @@ var constructSpaceActionGroups = ({ space, dispatch }) => {
452
439
  label: [
453
440
  "create collection label",
454
441
  {
455
- ns: import_chunk_P4XUXM7Y.SPACE_PLUGIN
442
+ ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
456
443
  }
457
444
  ],
458
- icon: "ph--cards-three--regular",
445
+ icon: (props) => /* @__PURE__ */ import_react13.default.createElement(import_react12.CardsThree, props),
446
+ iconSymbol: "ph--cards-three--regular",
459
447
  testId: "spacePlugin.createCollection"
460
448
  }
461
449
  }
@@ -471,12 +459,12 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
471
459
  const actions = [];
472
460
  if (hasPendingMigration) {
473
461
  actions.push({
474
- id: getId(import_chunk_P4XUXM7Y.SpaceAction.MIGRATE),
462
+ id: getId(import_chunk_6CNYF6YU.SpaceAction.MIGRATE),
475
463
  type: import_plugin_graph2.ACTION_GROUP_TYPE,
476
464
  data: async () => {
477
465
  await dispatch({
478
- plugin: import_chunk_P4XUXM7Y.SPACE_PLUGIN,
479
- action: import_chunk_P4XUXM7Y.SpaceAction.MIGRATE,
466
+ plugin: import_chunk_6CNYF6YU.SPACE_PLUGIN,
467
+ action: import_chunk_6CNYF6YU.SpaceAction.MIGRATE,
480
468
  data: {
481
469
  space
482
470
  }
@@ -486,10 +474,11 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
486
474
  label: [
487
475
  "migrate space label",
488
476
  {
489
- ns: import_chunk_P4XUXM7Y.SPACE_PLUGIN
477
+ ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
490
478
  }
491
479
  ],
492
- icon: "ph--database--regular",
480
+ icon: (props) => /* @__PURE__ */ import_react13.default.createElement(import_react12.Database, props),
481
+ iconSymbol: "ph--database--regular",
493
482
  disposition: "toolbar",
494
483
  mainAreaDisposition: "in-flow",
495
484
  disabled: migrating || import_migrations2.Migrations.running(space)
@@ -499,15 +488,15 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
499
488
  if (state === import_echo4.SpaceState.SPACE_READY && !hasPendingMigration) {
500
489
  const locked = space.properties[COMPOSER_SPACE_LOCK];
501
490
  actions.push({
502
- id: getId(import_chunk_P4XUXM7Y.SpaceAction.SHARE),
491
+ id: getId(import_chunk_6CNYF6YU.SpaceAction.SHARE),
503
492
  type: import_plugin_graph2.ACTION_TYPE,
504
493
  data: async () => {
505
494
  if (locked) {
506
495
  return;
507
496
  }
508
497
  await dispatch({
509
- plugin: import_chunk_P4XUXM7Y.SPACE_PLUGIN,
510
- action: import_chunk_P4XUXM7Y.SpaceAction.SHARE,
498
+ plugin: import_chunk_6CNYF6YU.SPACE_PLUGIN,
499
+ action: import_chunk_6CNYF6YU.SpaceAction.SHARE,
511
500
  data: {
512
501
  spaceId: space.id
513
502
  }
@@ -517,10 +506,11 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
517
506
  label: [
518
507
  "share space label",
519
508
  {
520
- ns: import_chunk_P4XUXM7Y.SPACE_PLUGIN
509
+ ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
521
510
  }
522
511
  ],
523
- icon: "ph--users--regular",
512
+ icon: (props) => /* @__PURE__ */ import_react13.default.createElement(import_react12.Users, props),
513
+ iconSymbol: "ph--users--regular",
524
514
  disabled: locked,
525
515
  keyBinding: {
526
516
  macos: "meta+.",
@@ -529,12 +519,12 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
529
519
  mainAreaDisposition: "absent"
530
520
  }
531
521
  }, {
532
- id: locked ? getId(import_chunk_P4XUXM7Y.SpaceAction.UNLOCK) : getId(import_chunk_P4XUXM7Y.SpaceAction.LOCK),
522
+ id: locked ? getId(import_chunk_6CNYF6YU.SpaceAction.UNLOCK) : getId(import_chunk_6CNYF6YU.SpaceAction.LOCK),
533
523
  type: import_plugin_graph2.ACTION_TYPE,
534
524
  data: async () => {
535
525
  await dispatch({
536
- plugin: import_chunk_P4XUXM7Y.SPACE_PLUGIN,
537
- action: locked ? import_chunk_P4XUXM7Y.SpaceAction.UNLOCK : import_chunk_P4XUXM7Y.SpaceAction.LOCK,
526
+ plugin: import_chunk_6CNYF6YU.SPACE_PLUGIN,
527
+ action: locked ? import_chunk_6CNYF6YU.SpaceAction.UNLOCK : import_chunk_6CNYF6YU.SpaceAction.LOCK,
538
528
  data: {
539
529
  space
540
530
  }
@@ -544,18 +534,19 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
544
534
  label: [
545
535
  locked ? "unlock space label" : "lock space label",
546
536
  {
547
- ns: import_chunk_P4XUXM7Y.SPACE_PLUGIN
537
+ ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
548
538
  }
549
539
  ],
550
- icon: locked ? "ph--lock-simple-open--regular" : "ph--lock-simple--regular"
540
+ icon: locked ? (props) => /* @__PURE__ */ import_react13.default.createElement(import_react12.LockSimpleOpen, props) : (props) => /* @__PURE__ */ import_react13.default.createElement(import_react12.LockSimple, props),
541
+ iconSymbol: locked ? "ph--lock-simple-open--regular" : "ph--lock-simple--regular"
551
542
  }
552
543
  }, {
553
- id: getId(import_chunk_P4XUXM7Y.SpaceAction.RENAME),
544
+ id: getId(import_chunk_6CNYF6YU.SpaceAction.RENAME),
554
545
  type: import_plugin_graph2.ACTION_TYPE,
555
546
  data: async (params) => {
556
547
  await dispatch({
557
- plugin: import_chunk_P4XUXM7Y.SPACE_PLUGIN,
558
- action: import_chunk_P4XUXM7Y.SpaceAction.RENAME,
548
+ plugin: import_chunk_6CNYF6YU.SPACE_PLUGIN,
549
+ action: import_chunk_6CNYF6YU.SpaceAction.RENAME,
559
550
  data: {
560
551
  space,
561
552
  ...params
@@ -566,10 +557,11 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
566
557
  label: [
567
558
  "rename space label",
568
559
  {
569
- ns: import_chunk_P4XUXM7Y.SPACE_PLUGIN
560
+ ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
570
561
  }
571
562
  ],
572
- icon: "ph--pencil-simple-line--regular",
563
+ icon: (props) => /* @__PURE__ */ import_react13.default.createElement(import_react12.PencilSimpleLine, props),
564
+ iconSymbol: "ph--pencil-simple-line--regular",
573
565
  keyBinding: {
574
566
  macos: "shift+F6",
575
567
  windows: "shift+F6"
@@ -580,12 +572,12 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
580
572
  }
581
573
  if (state !== import_echo4.SpaceState.SPACE_INACTIVE && !hasPendingMigration) {
582
574
  actions.push({
583
- id: getId(import_chunk_P4XUXM7Y.SpaceAction.CLOSE),
575
+ id: getId(import_chunk_6CNYF6YU.SpaceAction.CLOSE),
584
576
  type: import_plugin_graph2.ACTION_TYPE,
585
577
  data: async () => {
586
578
  await dispatch({
587
- plugin: import_chunk_P4XUXM7Y.SPACE_PLUGIN,
588
- action: import_chunk_P4XUXM7Y.SpaceAction.CLOSE,
579
+ plugin: import_chunk_6CNYF6YU.SPACE_PLUGIN,
580
+ action: import_chunk_6CNYF6YU.SpaceAction.CLOSE,
589
581
  data: {
590
582
  space
591
583
  }
@@ -595,10 +587,11 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
595
587
  label: [
596
588
  "close space label",
597
589
  {
598
- ns: import_chunk_P4XUXM7Y.SPACE_PLUGIN
590
+ ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
599
591
  }
600
592
  ],
601
- icon: "ph--x--regular",
593
+ icon: (props) => /* @__PURE__ */ import_react13.default.createElement(import_react12.X, props),
594
+ iconSymbol: "ph--x--regular",
602
595
  mainAreaDisposition: "menu",
603
596
  disabled: personal
604
597
  }
@@ -606,12 +599,12 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
606
599
  }
607
600
  if (state === import_echo4.SpaceState.SPACE_INACTIVE) {
608
601
  actions.push({
609
- id: getId(import_chunk_P4XUXM7Y.SpaceAction.OPEN),
602
+ id: getId(import_chunk_6CNYF6YU.SpaceAction.OPEN),
610
603
  type: import_plugin_graph2.ACTION_TYPE,
611
604
  data: async () => {
612
605
  await dispatch({
613
- plugin: import_chunk_P4XUXM7Y.SPACE_PLUGIN,
614
- action: import_chunk_P4XUXM7Y.SpaceAction.OPEN,
606
+ plugin: import_chunk_6CNYF6YU.SPACE_PLUGIN,
607
+ action: import_chunk_6CNYF6YU.SpaceAction.OPEN,
615
608
  data: {
616
609
  space
617
610
  }
@@ -621,10 +614,11 @@ var constructSpaceActions = ({ space, dispatch, personal, migrating }) => {
621
614
  label: [
622
615
  "open space label",
623
616
  {
624
- ns: import_chunk_P4XUXM7Y.SPACE_PLUGIN
617
+ ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
625
618
  }
626
619
  ],
627
- icon: "ph--clock-counter-clockwise--regular",
620
+ icon: (props) => /* @__PURE__ */ import_react13.default.createElement(import_react12.ClockCounterClockwise, props),
621
+ iconSymbol: "ph--clock-counter-clockwise--regular",
628
622
  disposition: "toolbar",
629
623
  mainAreaDisposition: "in-flow"
630
624
  }
@@ -641,7 +635,7 @@ var createObjectNode = ({ object, space, resolve }) => {
641
635
  if (Object.keys(metadata).length === 0) {
642
636
  return void 0;
643
637
  }
644
- const partials = object instanceof import_chunk_CTYDNFGG.CollectionType ? getCollectionGraphNodePartials({
638
+ const partials = object instanceof import_chunk_CVZPI2P3.CollectionType ? getCollectionGraphNodePartials({
645
639
  collection: object,
646
640
  space,
647
641
  resolve
@@ -655,10 +649,11 @@ var createObjectNode = ({ object, space, resolve }) => {
655
649
  label: metadata.label?.(object) || object.name || metadata.placeholder || [
656
650
  "unnamed object label",
657
651
  {
658
- ns: import_chunk_P4XUXM7Y.SPACE_PLUGIN
652
+ ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
659
653
  }
660
654
  ],
661
- icon: metadata.icon ?? "ph--placeholder--regular",
655
+ icon: metadata.icon ?? (() => /* @__PURE__ */ import_react13.default.createElement(import_react12.Placeholder, null)),
656
+ iconSymbol: metadata.iconSymbol ?? "ph--placeholder--regular",
662
657
  testId: "spacePlugin.object",
663
658
  persistenceClass: "echo",
664
659
  persistenceKey: space?.id
@@ -666,24 +661,25 @@ var createObjectNode = ({ object, space, resolve }) => {
666
661
  };
667
662
  };
668
663
  var constructObjectActionGroups = ({ object, dispatch }) => {
669
- if (!(object instanceof import_chunk_CTYDNFGG.CollectionType)) {
664
+ if (!(object instanceof import_chunk_CVZPI2P3.CollectionType)) {
670
665
  return [];
671
666
  }
672
667
  const collection = object;
673
668
  const getId = (id) => `${id}/${(0, import_echo4.fullyQualifiedId)(object)}`;
674
669
  const actions = [
675
670
  {
676
- id: getId(import_chunk_P4XUXM7Y.SpaceAction.ADD_OBJECT),
671
+ id: getId(import_chunk_6CNYF6YU.SpaceAction.ADD_OBJECT),
677
672
  type: import_plugin_graph2.ACTION_GROUP_TYPE,
678
673
  data: import_plugin_graph2.actionGroupSymbol,
679
674
  properties: {
680
675
  label: [
681
676
  "create object in collection label",
682
677
  {
683
- ns: import_chunk_P4XUXM7Y.SPACE_PLUGIN
678
+ ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
684
679
  }
685
680
  ],
686
- icon: "ph--plus--regular",
681
+ icon: (props) => /* @__PURE__ */ import_react13.default.createElement(import_react12.Plus, props),
682
+ iconSymbol: "ph--plus--regular",
687
683
  disposition: "toolbar",
688
684
  // TODO(wittjosiah): This is currently a navtree feature. Address this with cmd+k integration.
689
685
  // mainAreaDisposition: 'in-flow',
@@ -692,15 +688,15 @@ var constructObjectActionGroups = ({ object, dispatch }) => {
692
688
  },
693
689
  nodes: [
694
690
  {
695
- id: getId(import_chunk_P4XUXM7Y.SpaceAction.ADD_OBJECT.replace("object", "collection")),
691
+ id: getId(import_chunk_6CNYF6YU.SpaceAction.ADD_OBJECT.replace("object", "collection")),
696
692
  type: import_plugin_graph2.ACTION_TYPE,
697
693
  data: () => dispatch([
698
694
  {
699
- plugin: import_chunk_P4XUXM7Y.SPACE_PLUGIN,
700
- action: import_chunk_P4XUXM7Y.SpaceAction.ADD_OBJECT,
695
+ plugin: import_chunk_6CNYF6YU.SPACE_PLUGIN,
696
+ action: import_chunk_6CNYF6YU.SpaceAction.ADD_OBJECT,
701
697
  data: {
702
698
  target: collection,
703
- object: (0, import_echo_schema2.create)(import_chunk_CTYDNFGG.CollectionType, {
699
+ object: (0, import_echo_schema2.create)(import_chunk_CVZPI2P3.CollectionType, {
704
700
  objects: [],
705
701
  views: {}
706
702
  })
@@ -714,10 +710,11 @@ var constructObjectActionGroups = ({ object, dispatch }) => {
714
710
  label: [
715
711
  "create collection label",
716
712
  {
717
- ns: import_chunk_P4XUXM7Y.SPACE_PLUGIN
713
+ ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
718
714
  }
719
715
  ],
720
- icon: "ph--cards-three--regular",
716
+ icon: (props) => /* @__PURE__ */ import_react13.default.createElement(import_react12.CardsThree, props),
717
+ iconSymbol: "ph--cards-three--regular",
721
718
  testId: "spacePlugin.createCollection"
722
719
  }
723
720
  }
@@ -731,11 +728,11 @@ var constructObjectActions = ({ node, dispatch }) => {
731
728
  const getId = (id) => `${id}/${(0, import_echo4.fullyQualifiedId)(object)}`;
732
729
  const actions = [
733
730
  {
734
- id: getId(import_chunk_P4XUXM7Y.SpaceAction.RENAME_OBJECT),
731
+ id: getId(import_chunk_6CNYF6YU.SpaceAction.RENAME_OBJECT),
735
732
  type: import_plugin_graph2.ACTION_TYPE,
736
733
  data: async (params) => {
737
734
  await dispatch({
738
- action: import_chunk_P4XUXM7Y.SpaceAction.RENAME_OBJECT,
735
+ action: import_chunk_6CNYF6YU.SpaceAction.RENAME_OBJECT,
739
736
  data: {
740
737
  object,
741
738
  ...params
@@ -744,28 +741,29 @@ var constructObjectActions = ({ node, dispatch }) => {
744
741
  },
745
742
  properties: {
746
743
  label: [
747
- object instanceof import_chunk_CTYDNFGG.CollectionType ? "rename collection label" : "rename object label",
744
+ object instanceof import_chunk_CVZPI2P3.CollectionType ? "rename collection label" : "rename object label",
748
745
  {
749
- ns: import_chunk_P4XUXM7Y.SPACE_PLUGIN
746
+ ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
750
747
  }
751
748
  ],
752
- icon: "ph--pencil-simple-line--regular",
749
+ icon: (props) => /* @__PURE__ */ import_react13.default.createElement(import_react12.PencilSimpleLine, props),
750
+ iconSymbol: "ph--pencil-simple-line--regular",
753
751
  // TODO(wittjosiah): Doesn't work.
754
752
  // keyBinding: 'shift+F6',
755
753
  testId: "spacePlugin.renameObject"
756
754
  }
757
755
  },
758
756
  {
759
- id: getId(import_chunk_P4XUXM7Y.SpaceAction.REMOVE_OBJECT),
757
+ id: getId(import_chunk_6CNYF6YU.SpaceAction.REMOVE_OBJECT),
760
758
  type: import_plugin_graph2.ACTION_TYPE,
761
759
  data: async () => {
762
760
  const graph = (0, import_plugin_graph2.getGraph)(node);
763
761
  const collection = graph.nodes(node, {
764
762
  relation: "inbound"
765
- }).find(({ data }) => data instanceof import_chunk_CTYDNFGG.CollectionType)?.data;
763
+ }).find(({ data }) => data instanceof import_chunk_CVZPI2P3.CollectionType)?.data;
766
764
  await dispatch([
767
765
  {
768
- action: import_chunk_P4XUXM7Y.SpaceAction.REMOVE_OBJECT,
766
+ action: import_chunk_6CNYF6YU.SpaceAction.REMOVE_OBJECT,
769
767
  data: {
770
768
  object,
771
769
  collection
@@ -775,13 +773,14 @@ var constructObjectActions = ({ node, dispatch }) => {
775
773
  },
776
774
  properties: {
777
775
  label: [
778
- object instanceof import_chunk_CTYDNFGG.CollectionType ? "delete collection label" : "delete object label",
776
+ object instanceof import_chunk_CVZPI2P3.CollectionType ? "delete collection label" : "delete object label",
779
777
  {
780
- ns: import_chunk_P4XUXM7Y.SPACE_PLUGIN
778
+ ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
781
779
  }
782
780
  ],
783
- icon: "ph--trash--regular",
784
- keyBinding: object instanceof import_chunk_CTYDNFGG.CollectionType ? void 0 : "shift+meta+Backspace",
781
+ icon: (props) => /* @__PURE__ */ import_react13.default.createElement(import_react12.Trash, props),
782
+ iconSymbol: "ph--trash--regular",
783
+ keyBinding: object instanceof import_chunk_CVZPI2P3.CollectionType ? void 0 : "shift+meta+Backspace",
785
784
  testId: "spacePlugin.deleteObject"
786
785
  }
787
786
  },
@@ -796,10 +795,11 @@ var constructObjectActions = ({ node, dispatch }) => {
796
795
  label: [
797
796
  "copy link label",
798
797
  {
799
- ns: import_chunk_P4XUXM7Y.SPACE_PLUGIN
798
+ ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
800
799
  }
801
800
  ],
802
- icon: "ph--link--regular",
801
+ icon: (props) => /* @__PURE__ */ import_react13.default.createElement(import_react12.Link, props),
802
+ iconSymbol: "ph--link--regular",
803
803
  testId: "spacePlugin.copyLink"
804
804
  }
805
805
  }
@@ -835,12 +835,12 @@ var getNestedObjects = async (object, resolve) => {
835
835
  };
836
836
  var cloneObject = async (object, resolve) => {
837
837
  const schema = (0, import_echo_schema2.getSchema)(object);
838
- const typename = schema ? (0, import_echo_schema2.getObjectAnnotation)(schema)?.typename ?? import_echo_schema2.EXPANDO_TYPENAME : import_echo_schema2.EXPANDO_TYPENAME;
838
+ const typename = schema ? (0, import_echo_schema2.getEchoObjectAnnotation)(schema)?.typename ?? import_echo_schema2.EXPANDO_TYPENAME : import_echo_schema2.EXPANDO_TYPENAME;
839
839
  const metadata = resolve(typename);
840
840
  const serializer = metadata.serializer;
841
841
  (0, import_invariant.invariant)(serializer, `No serializer for type: ${typename}`, {
842
842
  F: __dxlog_file,
843
- L: 604,
843
+ L: 639,
844
844
  S: void 0,
845
845
  A: [
846
846
  "serializer",
@@ -856,36 +856,36 @@ var cloneObject = async (object, resolve) => {
856
856
  });
857
857
  };
858
858
  var MenuFooter = ({ object }) => {
859
- const { t } = (0, import_react_ui6.useTranslation)(import_chunk_P4XUXM7Y.SPACE_PLUGIN);
859
+ const { t } = (0, import_react_ui7.useTranslation)(import_chunk_6CNYF6YU.SPACE_PLUGIN);
860
860
  const client = (0, import_react_client3.useClient)();
861
861
  const space = (0, import_echo3.getSpace)(object);
862
862
  const spaceName = space ? getSpaceDisplayName(space, {
863
863
  personal: client.spaces.default === space
864
864
  }) : "";
865
- return space ? /* @__PURE__ */ import_react9.default.createElement(import_react9.default.Fragment, null, /* @__PURE__ */ import_react9.default.createElement(import_react_ui6.DropdownMenu.Separator, null), /* @__PURE__ */ import_react9.default.createElement(import_react_ui6.DropdownMenu.GroupLabel, null, t("menu footer label")), /* @__PURE__ */ import_react9.default.createElement("dl", {
865
+ return space ? /* @__PURE__ */ import_react11.default.createElement(import_react11.default.Fragment, null, /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.DropdownMenu.Separator, null), /* @__PURE__ */ import_react11.default.createElement(import_react_ui7.DropdownMenu.GroupLabel, null, t("menu footer label")), /* @__PURE__ */ import_react11.default.createElement("dl", {
866
866
  className: "pis-2 mbe-2 text-xs grid grid-cols-[max-content_1fr] gap-2"
867
- }, /* @__PURE__ */ import_react9.default.createElement("dt", {
867
+ }, /* @__PURE__ */ import_react11.default.createElement("dt", {
868
868
  className: "uppercase text-[.75em] tracking-wide font-medium mbs-px self-start"
869
- }, t("location label")), /* @__PURE__ */ import_react9.default.createElement("dd", {
869
+ }, t("location label")), /* @__PURE__ */ import_react11.default.createElement("dd", {
870
870
  className: "line-clamp-3"
871
- }, /* @__PURE__ */ import_react9.default.createElement(import_react8.Planet, {
871
+ }, /* @__PURE__ */ import_react11.default.createElement(import_react10.Planet, {
872
872
  className: "inline-block mie-1"
873
- }), (0, import_react_ui6.toLocalizedString)(spaceName, t)))) : null;
873
+ }), (0, import_react_ui7.toLocalizedString)(spaceName, t)))) : null;
874
874
  };
875
875
  var WAIT_FOR_OBJECT_TIMEOUT2 = 1e3;
876
876
  var MissingObject = ({ id }) => {
877
- const { t } = (0, import_react_ui7.useTranslation)(import_chunk_P4XUXM7Y.SPACE_PLUGIN);
878
- const [waiting, setWaiting] = (0, import_react10.useState)(false);
877
+ const { t } = (0, import_react_ui8.useTranslation)(import_chunk_6CNYF6YU.SPACE_PLUGIN);
878
+ const [waiting, setWaiting] = (0, import_react14.useState)(false);
879
879
  const intentPlugin = (0, import_app_framework4.useResolvePlugin)(import_app_framework4.parseIntentPlugin);
880
- (0, import_react10.useEffect)(() => {
880
+ (0, import_react14.useEffect)(() => {
881
881
  if (!intentPlugin) {
882
882
  return;
883
883
  }
884
884
  const timeout = setTimeout(async () => {
885
885
  setWaiting(true);
886
886
  await intentPlugin.provides.intent.dispatch({
887
- plugin: import_chunk_P4XUXM7Y.SPACE_PLUGIN,
888
- action: import_chunk_P4XUXM7Y.SpaceAction.WAIT_FOR_OBJECT,
887
+ plugin: import_chunk_6CNYF6YU.SPACE_PLUGIN,
888
+ action: import_chunk_6CNYF6YU.SpaceAction.WAIT_FOR_OBJECT,
889
889
  data: {
890
890
  id
891
891
  }
@@ -896,13 +896,13 @@ var MissingObject = ({ id }) => {
896
896
  intentPlugin,
897
897
  id
898
898
  ]);
899
- return /* @__PURE__ */ import_react10.default.createElement("div", {
899
+ return /* @__PURE__ */ import_react14.default.createElement("div", {
900
900
  role: "none",
901
- className: (0, import_react_ui_theme3.mx)(import_react_ui_theme3.baseSurface, "min-bs-screen is-full flex items-center justify-center p-8")
902
- }, waiting ? /* @__PURE__ */ import_react10.default.createElement("p", {
901
+ className: (0, import_react_ui_theme5.mx)(import_react_ui_theme5.baseSurface, "min-bs-screen is-full flex items-center justify-center p-8")
902
+ }, waiting ? /* @__PURE__ */ import_react14.default.createElement("p", {
903
903
  role: "alert",
904
- className: (0, import_react_ui_theme3.mx)(import_react_ui_theme3.descriptionText, "border border-dashed border-neutral-400/50 rounded-lg flex items-center justify-center p-8 font-normal text-lg")
905
- }, t("missing object message")) : /* @__PURE__ */ import_react10.default.createElement(import_react_ui7.Status, {
904
+ className: (0, import_react_ui_theme5.mx)(import_react_ui_theme5.descriptionText, "border border-dashed border-neutral-400/50 rounded-lg flex items-center justify-center p-8 font-normal text-lg")
905
+ }, t("missing object message")) : /* @__PURE__ */ import_react14.default.createElement(import_react_ui8.Status, {
906
906
  indeterminate: true,
907
907
  "aria-label": "Initializing"
908
908
  }));
@@ -914,12 +914,12 @@ var Status2;
914
914
  Status3[Status3["ERROR"] = 2] = "ERROR";
915
915
  })(Status2 || (Status2 = {}));
916
916
  var PersistenceStatus = ({ db }) => {
917
- const { t } = (0, import_react_ui8.useTranslation)(import_chunk_P4XUXM7Y.SPACE_PLUGIN);
918
- const [displayMessage, setDisplayMessage] = (0, import_react12.useState)(false);
919
- const [status, naturalSetStatus] = (0, import_react12.useState)(0);
920
- const [prevStatus, setPrevStatus] = (0, import_react12.useState)(0);
917
+ const { t } = (0, import_react_ui9.useTranslation)(import_chunk_6CNYF6YU.SPACE_PLUGIN);
918
+ const [displayMessage, setDisplayMessage] = (0, import_react16.useState)(false);
919
+ const [status, naturalSetStatus] = (0, import_react16.useState)(0);
920
+ const [prevStatus, setPrevStatus] = (0, import_react16.useState)(0);
921
921
  const _setStatus = (0, import_async2.debounce)(naturalSetStatus, 500);
922
- (0, import_react12.useEffect)(() => {
922
+ (0, import_react16.useEffect)(() => {
923
923
  setPrevStatus(status);
924
924
  if (prevStatus !== status && status === 0) {
925
925
  setDisplayMessage(true);
@@ -931,44 +931,44 @@ var PersistenceStatus = ({ db }) => {
931
931
  ]);
932
932
  switch (status) {
933
933
  case 2:
934
- return /* @__PURE__ */ import_react12.default.createElement("div", {
934
+ return /* @__PURE__ */ import_react16.default.createElement("div", {
935
935
  className: "flex items-center"
936
- }, /* @__PURE__ */ import_react12.default.createElement(import_react11.Warning, {
937
- className: (0, import_react_ui_theme4.mx)((0, import_react_ui_theme4.getSize)(4), "me-1")
938
- }), /* @__PURE__ */ import_react12.default.createElement("span", {
939
- className: (0, import_react_ui_theme4.mx)("text-sm", import_react_ui_theme4.warningText)
936
+ }, /* @__PURE__ */ import_react16.default.createElement(import_react15.Warning, {
937
+ className: (0, import_react_ui_theme6.mx)((0, import_react_ui_theme6.getSize)(4), "me-1")
938
+ }), /* @__PURE__ */ import_react16.default.createElement("span", {
939
+ className: (0, import_react_ui_theme6.mx)("text-sm", import_react_ui_theme6.warningText)
940
940
  }, t("persistence error label")));
941
941
  case 1:
942
- return /* @__PURE__ */ import_react12.default.createElement("div", {
942
+ return /* @__PURE__ */ import_react16.default.createElement("div", {
943
943
  className: "flex items-center"
944
- }, /* @__PURE__ */ import_react12.default.createElement(import_react11.ArrowsCounterClockwise, {
945
- className: (0, import_react_ui_theme4.mx)((0, import_react_ui_theme4.getSize)(4), "me-1")
946
- }), /* @__PURE__ */ import_react12.default.createElement("span", {
947
- className: (0, import_react_ui_theme4.mx)("text-sm", import_react_ui_theme4.staticPlaceholderText)
944
+ }, /* @__PURE__ */ import_react16.default.createElement(import_react15.ArrowsCounterClockwise, {
945
+ className: (0, import_react_ui_theme6.mx)((0, import_react_ui_theme6.getSize)(4), "me-1")
946
+ }), /* @__PURE__ */ import_react16.default.createElement("span", {
947
+ className: (0, import_react_ui_theme6.mx)("text-sm", import_react_ui_theme6.staticPlaceholderText)
948
948
  }, t("persistence pending label")));
949
949
  case 0:
950
950
  default:
951
- return /* @__PURE__ */ import_react12.default.createElement(import_react_ui8.Tooltip.Root, {
951
+ return /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Tooltip.Root, {
952
952
  delayDuration: 400
953
- }, /* @__PURE__ */ import_react12.default.createElement(import_react_ui8.Tooltip.Trigger, {
953
+ }, /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Tooltip.Trigger, {
954
954
  role: "status",
955
955
  className: "flex items-center"
956
- }, /* @__PURE__ */ import_react12.default.createElement(import_react11.CheckCircle, {
957
- className: (0, import_react_ui_theme4.mx)((0, import_react_ui_theme4.getSize)(4), "me-1")
958
- }), displayMessage && /* @__PURE__ */ import_react12.default.createElement("span", {
959
- className: (0, import_react_ui_theme4.mx)("text-sm", import_react_ui_theme4.staticPlaceholderText)
960
- }, t("persisted locally label"))), /* @__PURE__ */ import_react12.default.createElement(import_react_ui8.Tooltip.Portal, null, /* @__PURE__ */ import_react12.default.createElement(import_react_ui8.Tooltip.Content, {
956
+ }, /* @__PURE__ */ import_react16.default.createElement(import_react15.CheckCircle, {
957
+ className: (0, import_react_ui_theme6.mx)((0, import_react_ui_theme6.getSize)(4), "me-1")
958
+ }), displayMessage && /* @__PURE__ */ import_react16.default.createElement("span", {
959
+ className: (0, import_react_ui_theme6.mx)("text-sm", import_react_ui_theme6.staticPlaceholderText)
960
+ }, t("persisted locally label"))), /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Tooltip.Portal, null, /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Tooltip.Content, {
961
961
  classNames: "z-10"
962
- }, t("persisted locally message"), /* @__PURE__ */ import_react12.default.createElement(import_react_ui8.Tooltip.Arrow, null))));
962
+ }, t("persisted locally message"), /* @__PURE__ */ import_react16.default.createElement(import_react_ui9.Tooltip.Arrow, null))));
963
963
  }
964
964
  };
965
965
  var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/PopoverRenameObject.tsx";
966
966
  var PopoverRenameObject = ({ object: obj }) => {
967
- const { t } = (0, import_react_ui9.useTranslation)(import_chunk_P4XUXM7Y.SPACE_PLUGIN);
968
- const doneButton = (0, import_react13.useRef)(null);
967
+ const { t } = (0, import_react_ui10.useTranslation)(import_chunk_6CNYF6YU.SPACE_PLUGIN);
968
+ const doneButton = (0, import_react17.useRef)(null);
969
969
  const object = obj;
970
- const [name, setName] = (0, import_react13.useState)(object.name || object.title || "");
971
- const handleDone = (0, import_react13.useCallback)(() => {
970
+ const [name, setName] = (0, import_react17.useState)(object.name || object.title || "");
971
+ const handleDone = (0, import_react17.useCallback)(() => {
972
972
  try {
973
973
  object.name = name;
974
974
  } catch {
@@ -989,23 +989,23 @@ var PopoverRenameObject = ({ object: obj }) => {
989
989
  object,
990
990
  name
991
991
  ]);
992
- return /* @__PURE__ */ import_react13.default.createElement("div", {
992
+ return /* @__PURE__ */ import_react17.default.createElement("div", {
993
993
  role: "none",
994
994
  className: "p-1 flex gap-2"
995
- }, /* @__PURE__ */ import_react13.default.createElement("div", {
995
+ }, /* @__PURE__ */ import_react17.default.createElement("div", {
996
996
  role: "none",
997
997
  className: "flex-1"
998
- }, /* @__PURE__ */ import_react13.default.createElement(import_react_ui9.Input.Root, null, /* @__PURE__ */ import_react13.default.createElement(import_react_ui9.Input.Label, {
998
+ }, /* @__PURE__ */ import_react17.default.createElement(import_react_ui10.Input.Root, null, /* @__PURE__ */ import_react17.default.createElement(import_react_ui10.Input.Label, {
999
999
  srOnly: true
1000
- }, t("object name label")), /* @__PURE__ */ import_react13.default.createElement(import_react_ui9.Input.TextInput, {
1000
+ }, t("object name label")), /* @__PURE__ */ import_react17.default.createElement(import_react_ui10.Input.TextInput, {
1001
1001
  placeholder: t("object title placeholder"),
1002
1002
  value: name,
1003
1003
  "data-testid": "spacePlugin.renameObject.input",
1004
1004
  onChange: ({ target: { value } }) => setName(value),
1005
1005
  onKeyDown: ({ key }) => key === "Enter" && doneButton.current?.click()
1006
- }))), /* @__PURE__ */ import_react13.default.createElement(import_react_ui9.Popover.Close, {
1006
+ }))), /* @__PURE__ */ import_react17.default.createElement(import_react_ui10.Popover.Close, {
1007
1007
  asChild: true
1008
- }, /* @__PURE__ */ import_react13.default.createElement(import_react_ui9.Button, {
1008
+ }, /* @__PURE__ */ import_react17.default.createElement(import_react_ui10.Button, {
1009
1009
  ref: doneButton,
1010
1010
  classNames: "self-stretch",
1011
1011
  onClick: handleDone
@@ -1014,33 +1014,33 @@ var PopoverRenameObject = ({ object: obj }) => {
1014
1014
  }))));
1015
1015
  };
1016
1016
  var PopoverRenameSpace = ({ space }) => {
1017
- const { t } = (0, import_react_ui10.useTranslation)(import_chunk_P4XUXM7Y.SPACE_PLUGIN);
1018
- const doneButton = (0, import_react14.useRef)(null);
1019
- const [name, setName] = (0, import_react14.useState)(space.properties.name ?? "");
1020
- const handleDone = (0, import_react14.useCallback)(() => {
1017
+ const { t } = (0, import_react_ui11.useTranslation)(import_chunk_6CNYF6YU.SPACE_PLUGIN);
1018
+ const doneButton = (0, import_react18.useRef)(null);
1019
+ const [name, setName] = (0, import_react18.useState)(space.properties.name ?? "");
1020
+ const handleDone = (0, import_react18.useCallback)(() => {
1021
1021
  space.properties.name = name;
1022
1022
  }, [
1023
1023
  space,
1024
1024
  name
1025
1025
  ]);
1026
- return /* @__PURE__ */ import_react14.default.createElement("div", {
1026
+ return /* @__PURE__ */ import_react18.default.createElement("div", {
1027
1027
  role: "none",
1028
1028
  className: "p-1 flex gap-2"
1029
- }, /* @__PURE__ */ import_react14.default.createElement("div", {
1029
+ }, /* @__PURE__ */ import_react18.default.createElement("div", {
1030
1030
  role: "none",
1031
1031
  className: "flex-1"
1032
- }, /* @__PURE__ */ import_react14.default.createElement(import_react_ui10.Input.Root, null, /* @__PURE__ */ import_react14.default.createElement(import_react_ui10.Input.Label, {
1032
+ }, /* @__PURE__ */ import_react18.default.createElement(import_react_ui11.Input.Root, null, /* @__PURE__ */ import_react18.default.createElement(import_react_ui11.Input.Label, {
1033
1033
  srOnly: true
1034
- }, t("space name label")), /* @__PURE__ */ import_react14.default.createElement(import_react_ui10.Input.TextInput, {
1034
+ }, t("space name label")), /* @__PURE__ */ import_react18.default.createElement(import_react_ui11.Input.TextInput, {
1035
1035
  defaultValue: space.properties.name ?? "",
1036
1036
  placeholder: t("unnamed space label"),
1037
1037
  onChange: ({ target: { value } }) => setName(value),
1038
1038
  // TODO(wittjosiah): Ideally this should access the popover context to close the popover.
1039
1039
  // Currently this is not possible because Radix does not expose the popover context.
1040
1040
  onKeyDown: ({ key }) => key === "Enter" && doneButton.current?.click()
1041
- }))), /* @__PURE__ */ import_react14.default.createElement(import_react_ui10.Popover.Close, {
1041
+ }))), /* @__PURE__ */ import_react18.default.createElement(import_react_ui11.Popover.Close, {
1042
1042
  asChild: true
1043
- }, /* @__PURE__ */ import_react14.default.createElement(import_react_ui10.Button, {
1043
+ }, /* @__PURE__ */ import_react18.default.createElement(import_react_ui11.Button, {
1044
1044
  ref: doneButton,
1045
1045
  classNames: "self-stretch",
1046
1046
  onClick: handleDone
@@ -1050,9 +1050,9 @@ var PopoverRenameSpace = ({ space }) => {
1050
1050
  };
1051
1051
  var ShareSpaceButton = ({ spaceId }) => {
1052
1052
  const dispatch = (0, import_app_framework5.useIntentDispatcher)();
1053
- return /* @__PURE__ */ import_react15.default.createElement(ShareSpaceButtonImpl, {
1053
+ return /* @__PURE__ */ import_react19.default.createElement(ShareSpaceButtonImpl, {
1054
1054
  onClick: () => dispatch({
1055
- action: import_chunk_P4XUXM7Y.SpaceAction.SHARE,
1055
+ action: import_chunk_6CNYF6YU.SpaceAction.SHARE,
1056
1056
  data: {
1057
1057
  spaceId
1058
1058
  }
@@ -1060,8 +1060,8 @@ var ShareSpaceButton = ({ spaceId }) => {
1060
1060
  });
1061
1061
  };
1062
1062
  var ShareSpaceButtonImpl = ({ onClick }) => {
1063
- const { t } = (0, import_react_ui11.useTranslation)(import_chunk_P4XUXM7Y.SPACE_PLUGIN);
1064
- return /* @__PURE__ */ import_react15.default.createElement(import_react_ui11.Button, {
1063
+ const { t } = (0, import_react_ui12.useTranslation)(import_chunk_6CNYF6YU.SPACE_PLUGIN);
1064
+ return /* @__PURE__ */ import_react19.default.createElement(import_react_ui12.Button, {
1065
1065
  "data-testid": "spacePlugin.shareSpaceButton",
1066
1066
  onClick,
1067
1067
  classNames: "mli-1"
@@ -1071,9 +1071,9 @@ var activeActionKeyStorageKey = "dxos:react-shell/space-manager/active-action";
1071
1071
  var Presence = import_echo6.SpaceMember.PresenceState;
1072
1072
  var handleCreateInvitationUrl = (invitationCode) => `${origin}?spaceInvitationCode=${invitationCode}`;
1073
1073
  var SpaceMemberList = ({ members }) => {
1074
- return members.length > 0 ? /* @__PURE__ */ import_react20.default.createElement(import_react_ui13.List, {
1074
+ return members.length > 0 ? /* @__PURE__ */ import_react24.default.createElement(import_react_ui14.List, {
1075
1075
  classNames: "col-start-2 col-end-5 gap-y-1 grid grid-cols-subgrid items-center"
1076
- }, members.map((member) => /* @__PURE__ */ import_react20.default.createElement(import_react21.IdentityListItem, {
1076
+ }, members.map((member) => /* @__PURE__ */ import_react24.default.createElement(import_react25.IdentityListItem, {
1077
1077
  classNames: "contents",
1078
1078
  key: member.identity.identityKey.toHex(),
1079
1079
  identity: member.identity,
@@ -1081,7 +1081,7 @@ var SpaceMemberList = ({ members }) => {
1081
1081
  }))) : null;
1082
1082
  };
1083
1083
  var SpaceMembersSection = ({ space }) => {
1084
- const { t } = (0, import_react_ui13.useTranslation)(import_chunk_P4XUXM7Y.SPACE_PLUGIN);
1084
+ const { t } = (0, import_react_ui14.useTranslation)(import_chunk_6CNYF6YU.SPACE_PLUGIN);
1085
1085
  const invitations = (0, import_echo6.useSpaceInvitations)(space.key);
1086
1086
  const { dispatch } = (0, import_app_framework7.useIntent)();
1087
1087
  const handleCloseDialog = () => dispatch({
@@ -1117,8 +1117,8 @@ var SpaceMembersSection = ({ space }) => {
1117
1117
  description: t("invite one description", {
1118
1118
  ns: "os"
1119
1119
  }),
1120
- icon: import_react19.UserPlus,
1121
- onClick: (0, import_react20.useCallback)(() => {
1120
+ icon: import_react23.UserPlus,
1121
+ onClick: (0, import_react24.useCallback)(() => {
1122
1122
  space.share?.({
1123
1123
  type: import_invitations2.Invitation.Type.INTERACTIVE,
1124
1124
  authMethod: import_invitations2.Invitation.AuthMethod.SHARED_SECRET
@@ -1134,8 +1134,8 @@ var SpaceMembersSection = ({ space }) => {
1134
1134
  description: t("invite many description", {
1135
1135
  ns: "os"
1136
1136
  }),
1137
- icon: import_react19.UsersThree,
1138
- onClick: (0, import_react20.useCallback)(() => {
1137
+ icon: import_react23.UsersThree,
1138
+ onClick: (0, import_react24.useCallback)(() => {
1139
1139
  space.share?.({
1140
1140
  type: import_invitations2.Invitation.Type.INTERACTIVE,
1141
1141
  authMethod: import_invitations2.Invitation.AuthMethod.NONE,
@@ -1146,7 +1146,7 @@ var SpaceMembersSection = ({ space }) => {
1146
1146
  ])
1147
1147
  }
1148
1148
  };
1149
- const [activeActionKey, setInternalActiveActionKey] = (0, import_react20.useState)(localStorage.getItem(activeActionKeyStorageKey) ?? "inviteOne");
1149
+ const [activeActionKey, setInternalActiveActionKey] = (0, import_react24.useState)(localStorage.getItem(activeActionKeyStorageKey) ?? "inviteOne");
1150
1150
  const setActiveActionKey = (nextKey) => {
1151
1151
  setInternalActiveActionKey(nextKey);
1152
1152
  localStorage.setItem(activeActionKeyStorageKey, nextKey);
@@ -1159,101 +1159,101 @@ var SpaceMembersSection = ({ space }) => {
1159
1159
  [Presence.ONLINE]: [],
1160
1160
  [Presence.OFFLINE]: []
1161
1161
  });
1162
- return /* @__PURE__ */ import_react20.default.createElement("section", {
1162
+ return /* @__PURE__ */ import_react24.default.createElement("section", {
1163
1163
  className: "mbe-4 col-span-3 grid gap-y-2 grid-cols-subgrid auto-rows-min"
1164
- }, /* @__PURE__ */ import_react20.default.createElement("h2", {
1164
+ }, /* @__PURE__ */ import_react24.default.createElement("h2", {
1165
1165
  className: "contents"
1166
- }, /* @__PURE__ */ import_react20.default.createElement(import_react19.UsersThree, {
1166
+ }, /* @__PURE__ */ import_react24.default.createElement(import_react23.UsersThree, {
1167
1167
  weight: "duotone",
1168
- className: (0, import_react_ui_theme6.mx)((0, import_react_ui_theme6.getSize)(5), "place-self-center")
1169
- }), /* @__PURE__ */ import_react20.default.createElement("span", {
1168
+ className: (0, import_react_ui_theme8.mx)((0, import_react_ui_theme8.getSize)(5), "place-self-center")
1169
+ }), /* @__PURE__ */ import_react24.default.createElement("span", {
1170
1170
  className: "text-lg col-span-2"
1171
- }, t("space members label"))), /* @__PURE__ */ import_react20.default.createElement("h3", {
1171
+ }, t("space members label"))), /* @__PURE__ */ import_react24.default.createElement("h3", {
1172
1172
  className: "col-start-2 col-span-3 text-sm italic text-description"
1173
- }, t("invitations heading")), invitations.length > 0 && /* @__PURE__ */ import_react20.default.createElement(import_react_ui13.List, {
1173
+ }, t("invitations heading")), invitations.length > 0 && /* @__PURE__ */ import_react24.default.createElement(import_react_ui14.List, {
1174
1174
  classNames: "col-start-2 col-span-2 gap-y-2 grid grid-cols-[var(--rail-size)_1fr_var(--rail-action)_var(--rail-action)]"
1175
- }, invitations.map((invitation) => /* @__PURE__ */ import_react20.default.createElement(import_react21.InvitationListItem, {
1175
+ }, invitations.map((invitation) => /* @__PURE__ */ import_react24.default.createElement(import_react25.InvitationListItem, {
1176
1176
  reverseEffects: true,
1177
1177
  classNames: "pis-0 pie-0 gap-0 col-span-4 grid grid-cols-subgrid",
1178
1178
  key: invitation.get().invitationId,
1179
1179
  invitation,
1180
1180
  send: handleInvitationSelect,
1181
1181
  createInvitationUrl: handleCreateInvitationUrl
1182
- }))), /* @__PURE__ */ import_react20.default.createElement(import_react_ui13.ButtonGroup, {
1182
+ }))), /* @__PURE__ */ import_react24.default.createElement(import_react_ui14.ButtonGroup, {
1183
1183
  classNames: "col-start-2 col-end-4 grid grid-cols-[1fr_var(--rail-action)] place-self-grow gap-px"
1184
- }, /* @__PURE__ */ import_react20.default.createElement(import_react_ui13.Button, {
1184
+ }, /* @__PURE__ */ import_react24.default.createElement(import_react_ui14.Button, {
1185
1185
  classNames: "gap-2",
1186
1186
  onClick: activeAction.onClick
1187
- }, /* @__PURE__ */ import_react20.default.createElement(activeAction.icon, {
1188
- className: (0, import_react_ui_theme6.getSize)(5)
1189
- }), /* @__PURE__ */ import_react20.default.createElement("span", null, t(activeAction.label, {
1187
+ }, /* @__PURE__ */ import_react24.default.createElement(activeAction.icon, {
1188
+ className: (0, import_react_ui_theme8.getSize)(5)
1189
+ }), /* @__PURE__ */ import_react24.default.createElement("span", null, t(activeAction.label, {
1190
1190
  ns: "os"
1191
- }))), /* @__PURE__ */ import_react20.default.createElement(import_react_ui13.DropdownMenu.Root, null, /* @__PURE__ */ import_react20.default.createElement(import_react_ui13.DropdownMenu.Trigger, {
1191
+ }))), /* @__PURE__ */ import_react24.default.createElement(import_react_ui14.DropdownMenu.Root, null, /* @__PURE__ */ import_react24.default.createElement(import_react_ui14.DropdownMenu.Trigger, {
1192
1192
  asChild: true
1193
- }, /* @__PURE__ */ import_react20.default.createElement(import_react_ui13.Button, {
1193
+ }, /* @__PURE__ */ import_react24.default.createElement(import_react_ui14.Button, {
1194
1194
  classNames: "pli-0"
1195
- }, /* @__PURE__ */ import_react20.default.createElement(import_react19.CaretDown, {
1196
- className: (0, import_react_ui_theme6.getSize)(4)
1197
- }))), /* @__PURE__ */ import_react20.default.createElement(import_react_ui13.DropdownMenu.Content, null, /* @__PURE__ */ import_react20.default.createElement(import_react_ui13.DropdownMenu.Viewport, null, Object.entries(inviteActions).map(([id, action]) => {
1198
- return /* @__PURE__ */ import_react20.default.createElement(import_react_ui13.DropdownMenu.CheckboxItem, {
1195
+ }, /* @__PURE__ */ import_react24.default.createElement(import_react23.CaretDown, {
1196
+ className: (0, import_react_ui_theme8.getSize)(4)
1197
+ }))), /* @__PURE__ */ import_react24.default.createElement(import_react_ui14.DropdownMenu.Content, null, /* @__PURE__ */ import_react24.default.createElement(import_react_ui14.DropdownMenu.Viewport, null, Object.entries(inviteActions).map(([id, action]) => {
1198
+ return /* @__PURE__ */ import_react24.default.createElement(import_react_ui14.DropdownMenu.CheckboxItem, {
1199
1199
  key: id,
1200
1200
  "aria-labelledby": `${id}__label`,
1201
1201
  "aria-describedby": `${id}__description`,
1202
1202
  checked: activeActionKey === id,
1203
1203
  onCheckedChange: (checked) => checked && setActiveActionKey(id),
1204
1204
  classNames: "gap-2"
1205
- }, action.icon && /* @__PURE__ */ import_react20.default.createElement(action.icon, {
1206
- className: (0, import_react_ui_theme6.getSize)(5)
1207
- }), /* @__PURE__ */ import_react20.default.createElement("div", {
1205
+ }, action.icon && /* @__PURE__ */ import_react24.default.createElement(action.icon, {
1206
+ className: (0, import_react_ui_theme8.getSize)(5)
1207
+ }), /* @__PURE__ */ import_react24.default.createElement("div", {
1208
1208
  role: "none",
1209
1209
  className: "flex-1 min-is-0 space-b-1"
1210
- }, /* @__PURE__ */ import_react20.default.createElement("p", {
1210
+ }, /* @__PURE__ */ import_react24.default.createElement("p", {
1211
1211
  id: `${id}__label`
1212
1212
  }, t(action.label, {
1213
1213
  ns: "os"
1214
- })), action.description && /* @__PURE__ */ import_react20.default.createElement("p", {
1214
+ })), action.description && /* @__PURE__ */ import_react24.default.createElement("p", {
1215
1215
  id: `${id}__description`,
1216
- className: import_react_ui_theme6.descriptionText
1216
+ className: import_react_ui_theme8.descriptionText
1217
1217
  }, t(action.description, {
1218
1218
  ns: "os"
1219
- }))), /* @__PURE__ */ import_react20.default.createElement(import_react_ui13.DropdownMenu.ItemIndicator, {
1219
+ }))), /* @__PURE__ */ import_react24.default.createElement(import_react_ui14.DropdownMenu.ItemIndicator, {
1220
1220
  asChild: true
1221
- }, /* @__PURE__ */ import_react20.default.createElement(import_react19.Check, {
1222
- className: (0, import_react_ui_theme6.getSize)(4)
1221
+ }, /* @__PURE__ */ import_react24.default.createElement(import_react23.Check, {
1222
+ className: (0, import_react_ui_theme8.getSize)(4)
1223
1223
  })));
1224
- })), /* @__PURE__ */ import_react20.default.createElement(import_react_ui13.DropdownMenu.Arrow, null)))), members[Presence.ONLINE].length + members[Presence.OFFLINE].length < 1 ? /* @__PURE__ */ import_react20.default.createElement("p", {
1225
- className: (0, import_react_ui_theme6.mx)(import_react_ui_theme6.descriptionText, "text-center is-full mlb-2")
1224
+ })), /* @__PURE__ */ import_react24.default.createElement(import_react_ui14.DropdownMenu.Arrow, null)))), members[Presence.ONLINE].length + members[Presence.OFFLINE].length < 1 ? /* @__PURE__ */ import_react24.default.createElement("p", {
1225
+ className: (0, import_react_ui_theme8.mx)(import_react_ui_theme8.descriptionText, "text-center is-full mlb-2")
1226
1226
  }, t("empty space members message", {
1227
1227
  ns: "os"
1228
- })) : /* @__PURE__ */ import_react20.default.createElement(import_react20.default.Fragment, null, /* @__PURE__ */ import_react20.default.createElement("h3", {
1228
+ })) : /* @__PURE__ */ import_react24.default.createElement(import_react24.default.Fragment, null, /* @__PURE__ */ import_react24.default.createElement("h3", {
1229
1229
  className: "col-start-2 col-end-5 text-sm italic text-description"
1230
1230
  }, t("active space members heading", {
1231
1231
  count: members[Presence.ONLINE].length
1232
- })), /* @__PURE__ */ import_react20.default.createElement(SpaceMemberList, {
1232
+ })), /* @__PURE__ */ import_react24.default.createElement(SpaceMemberList, {
1233
1233
  members: members[Presence.ONLINE]
1234
- }), /* @__PURE__ */ import_react20.default.createElement("h3", {
1234
+ }), /* @__PURE__ */ import_react24.default.createElement("h3", {
1235
1235
  className: "col-start-2 col-end-5 text-sm italic text-description"
1236
1236
  }, t("inactive space members heading", {
1237
1237
  count: members[Presence.OFFLINE].length
1238
- })), /* @__PURE__ */ import_react20.default.createElement(SpaceMemberList, {
1238
+ })), /* @__PURE__ */ import_react24.default.createElement(SpaceMemberList, {
1239
1239
  members: members[Presence.OFFLINE]
1240
1240
  })));
1241
1241
  };
1242
1242
  var KeyShortcuts = () => {
1243
- const { t } = (0, import_react_ui12.useTranslation)(import_chunk_P4XUXM7Y.SPACE_PLUGIN);
1244
- return /* @__PURE__ */ import_react17.default.createElement("section", {
1243
+ const { t } = (0, import_react_ui13.useTranslation)(import_chunk_6CNYF6YU.SPACE_PLUGIN);
1244
+ return /* @__PURE__ */ import_react21.default.createElement("section", {
1245
1245
  className: "mbe-4 col-span-4 md:col-start-5 md:col-end-7 grid grid-cols-subgrid gap-y-2 auto-rows-min"
1246
- }, /* @__PURE__ */ import_react17.default.createElement("h2", {
1246
+ }, /* @__PURE__ */ import_react21.default.createElement("h2", {
1247
1247
  className: "contents"
1248
- }, /* @__PURE__ */ import_react17.default.createElement(import_react16.Command, {
1248
+ }, /* @__PURE__ */ import_react21.default.createElement(import_react20.Command, {
1249
1249
  weight: "duotone",
1250
- className: (0, import_react_ui_theme5.mx)((0, import_react_ui_theme5.getSize)(5), "place-self-center")
1251
- }), /* @__PURE__ */ import_react17.default.createElement("span", {
1250
+ className: (0, import_react_ui_theme7.mx)((0, import_react_ui_theme7.getSize)(5), "place-self-center")
1251
+ }), /* @__PURE__ */ import_react21.default.createElement("span", {
1252
1252
  className: "text-lg col-span-2 md:col-span-1"
1253
- }, t("keyshortcuts label"))), /* @__PURE__ */ import_react17.default.createElement("div", {
1253
+ }, t("keyshortcuts label"))), /* @__PURE__ */ import_react21.default.createElement("div", {
1254
1254
  role: "none",
1255
1255
  className: "col-start-2 col-end-4 md:col-end-5 pie-2"
1256
- }, /* @__PURE__ */ import_react17.default.createElement(import_app_framework6.Surface, {
1256
+ }, /* @__PURE__ */ import_react21.default.createElement(import_app_framework6.Surface, {
1257
1257
  role: "keyshortcuts"
1258
1258
  })));
1259
1259
  };
@@ -1261,42 +1261,42 @@ var spaceMainLayout = "grid gap-y-2 auto-rows-min before:bs-2 before:col-span-5
1261
1261
  var SpaceMain = ({ space, role }) => {
1262
1262
  const state = space.state.get();
1263
1263
  const ready = state === import_echo5.SpaceState.SPACE_READY;
1264
- const Root = role === "main" ? import_react_ui12.Main.Content : "div";
1265
- return /* @__PURE__ */ import_react17.default.createElement(import_react18.ClipboardProvider, null, /* @__PURE__ */ import_react17.default.createElement(Root, {
1264
+ const Root = role === "main" ? import_react_ui13.Main.Content : "div";
1265
+ return /* @__PURE__ */ import_react21.default.createElement(import_react22.ClipboardProvider, null, /* @__PURE__ */ import_react21.default.createElement(Root, {
1266
1266
  ...role === "main" ? {
1267
1267
  classNames: [
1268
- import_react_ui_theme5.topbarBlockPaddingStart,
1268
+ import_react_ui_theme7.topbarBlockPaddingStart,
1269
1269
  "min-bs-dvh",
1270
1270
  spaceMainLayout
1271
1271
  ]
1272
1272
  } : {
1273
1273
  role: "none",
1274
- className: (0, import_react_ui_theme5.mx)(import_react_ui_theme5.topbarBlockPaddingStart, "row-span-2", spaceMainLayout)
1274
+ className: (0, import_react_ui_theme7.mx)(import_react_ui_theme7.topbarBlockPaddingStart, "row-span-2", spaceMainLayout)
1275
1275
  },
1276
1276
  "data-testid": `spacePlugin.${role}`,
1277
1277
  "data-isready": ready ? "true" : "false"
1278
- }, ready && /* @__PURE__ */ import_react17.default.createElement(SpaceMembersSection, {
1278
+ }, ready && /* @__PURE__ */ import_react21.default.createElement(SpaceMembersSection, {
1279
1279
  space
1280
- }), /* @__PURE__ */ import_react17.default.createElement(KeyShortcuts, null)));
1280
+ }), /* @__PURE__ */ import_react21.default.createElement(KeyShortcuts, null)));
1281
1281
  };
1282
1282
  var REFRESH_INTERVAL = 5e3;
1283
1283
  var ACTIVITY_DURATION = 3e4;
1284
1284
  var noViewers = new import_util2.ComplexMap(import_react_client4.PublicKey.hash);
1285
1285
  var getName = (identity) => identity.profile?.displayName ?? (0, import_display_name.generateName)(identity.identityKey.toHex());
1286
1286
  var SpacePresence = ({ object, spaceKey }) => {
1287
- const density = (0, import_react_ui14.useDensityContext)();
1288
- const spacePlugin = (0, import_app_framework8.usePlugin)(import_chunk_P4XUXM7Y.SPACE_PLUGIN);
1287
+ const density = (0, import_react_ui15.useDensityContext)();
1288
+ const spacePlugin = (0, import_app_framework8.usePlugin)(import_chunk_6CNYF6YU.SPACE_PLUGIN);
1289
1289
  const client = (0, import_react_client4.useClient)();
1290
1290
  const identity = (0, import_halo.useIdentity)();
1291
1291
  const space = spaceKey ? client.spaces.get(spaceKey) : (0, import_echo7.getSpace)(object);
1292
1292
  const spaceMembers = (0, import_echo7.useMembers)(space?.key);
1293
- const [_moment, setMoment] = (0, import_react22.useState)(Date.now());
1294
- (0, import_react22.useEffect)(() => {
1293
+ const [_moment, setMoment] = (0, import_react26.useState)(Date.now());
1294
+ (0, import_react26.useEffect)(() => {
1295
1295
  const interval = setInterval(() => setMoment(Date.now()), REFRESH_INTERVAL);
1296
1296
  return () => clearInterval(interval);
1297
1297
  }, []);
1298
- const memberOnline = (0, import_react22.useCallback)((member) => member.presence === 1, []);
1299
- const memberIsNotSelf = (0, import_react22.useCallback)((member) => !identity?.identityKey.equals(member.identity.identityKey), [
1298
+ const memberOnline = (0, import_react26.useCallback)((member) => member.presence === 1, []);
1299
+ const memberIsNotSelf = (0, import_react26.useCallback)((member) => !identity?.identityKey.equals(member.identity.identityKey), [
1300
1300
  identity?.identityKey
1301
1301
  ]);
1302
1302
  if (!identity || !spacePlugin || !space) {
@@ -1314,63 +1314,63 @@ var SpacePresence = ({ object, spaceKey }) => {
1314
1314
  lastSeen
1315
1315
  };
1316
1316
  }).toSorted((a, b) => a.lastSeen - b.lastSeen);
1317
- return density === "fine" ? /* @__PURE__ */ import_react22.default.createElement(SmallPresence, {
1317
+ return density === "fine" ? /* @__PURE__ */ import_react26.default.createElement(SmallPresence, {
1318
1318
  count: membersForObject.length
1319
- }) : /* @__PURE__ */ import_react22.default.createElement(FullPresence, {
1319
+ }) : /* @__PURE__ */ import_react26.default.createElement(FullPresence, {
1320
1320
  members: membersForObject
1321
1321
  });
1322
1322
  };
1323
1323
  var FullPresence = (props) => {
1324
1324
  const { size = 9, onMemberClick } = props;
1325
- const members = (0, import_react_ui14.useDefaultValue)(props.members, () => []);
1325
+ const members = (0, import_react_ui15.useDefaultValue)(props.members, []);
1326
1326
  if (members.length === 0) {
1327
1327
  return null;
1328
1328
  }
1329
- return /* @__PURE__ */ import_react22.default.createElement(import_react_ui14.AvatarGroup.Root, {
1329
+ return /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.AvatarGroup.Root, {
1330
1330
  size,
1331
1331
  classNames: "mbs-2 mie-4",
1332
1332
  "data-testid": "spacePlugin.presence"
1333
- }, members.slice(0, 3).map((member, i) => /* @__PURE__ */ import_react22.default.createElement(import_react_ui14.Tooltip.Root, {
1333
+ }, members.slice(0, 3).map((member, i) => /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Tooltip.Root, {
1334
1334
  key: member.identity.identityKey.toHex()
1335
- }, /* @__PURE__ */ import_react22.default.createElement(import_react_ui14.Tooltip.Trigger, null, /* @__PURE__ */ import_react22.default.createElement(PrensenceAvatar, {
1335
+ }, /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Tooltip.Trigger, null, /* @__PURE__ */ import_react26.default.createElement(PrensenceAvatar, {
1336
1336
  identity: member.identity,
1337
1337
  group: true,
1338
1338
  match: member.currentlyAttended,
1339
1339
  index: members.length - i,
1340
1340
  onClick: () => onMemberClick?.(member)
1341
- })), /* @__PURE__ */ import_react22.default.createElement(import_react_ui14.Tooltip.Portal, null, /* @__PURE__ */ import_react22.default.createElement(import_react_ui14.Tooltip.Content, {
1341
+ })), /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Tooltip.Portal, null, /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Tooltip.Content, {
1342
1342
  side: "bottom"
1343
- }, /* @__PURE__ */ import_react22.default.createElement("span", null, getName(member.identity)), /* @__PURE__ */ import_react22.default.createElement(import_react_ui14.Tooltip.Arrow, null))))), members.length > 3 && /* @__PURE__ */ import_react22.default.createElement(import_react_ui14.Tooltip.Root, null, /* @__PURE__ */ import_react22.default.createElement(import_react_ui14.Tooltip.Trigger, null, /* @__PURE__ */ import_react22.default.createElement(import_react_ui14.AvatarGroupItem.Root, {
1343
+ }, /* @__PURE__ */ import_react26.default.createElement("span", null, getName(member.identity)), /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Tooltip.Arrow, null))))), members.length > 3 && /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Tooltip.Root, null, /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Tooltip.Trigger, null, /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.AvatarGroupItem.Root, {
1344
1344
  status: "inactive"
1345
- }, /* @__PURE__ */ import_react22.default.createElement(import_react_ui14.Avatar.Frame, {
1345
+ }, /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Avatar.Frame, {
1346
1346
  style: {
1347
1347
  zIndex: members.length - 4
1348
1348
  }
1349
- }, /* @__PURE__ */ import_react22.default.createElement(import_react_ui14.Avatar.Fallback, {
1349
+ }, /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Avatar.Fallback, {
1350
1350
  text: `+${members.length - 3}`
1351
- })))), /* @__PURE__ */ import_react22.default.createElement(import_react_ui14.Tooltip.Portal, null, /* @__PURE__ */ import_react22.default.createElement(import_react_ui14.Tooltip.Content, {
1351
+ })))), /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Tooltip.Portal, null, /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Tooltip.Content, {
1352
1352
  side: "bottom"
1353
- }, /* @__PURE__ */ import_react22.default.createElement(import_react_ui14.Tooltip.Arrow, null), /* @__PURE__ */ import_react22.default.createElement(import_react_ui14.List, {
1353
+ }, /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Tooltip.Arrow, null), /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.List, {
1354
1354
  classNames: "max-h-56 overflow-y-auto"
1355
- }, members.map((member) => /* @__PURE__ */ import_react22.default.createElement(import_react_ui14.ListItem.Root, {
1355
+ }, members.map((member) => /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.ListItem.Root, {
1356
1356
  key: member.identity.identityKey.toHex(),
1357
1357
  classNames: "flex gap-2 items-center cursor-pointer mbe-2",
1358
1358
  onClick: () => onMemberClick?.(member),
1359
1359
  "data-testid": "identity-list-item"
1360
- }, /* @__PURE__ */ import_react22.default.createElement(PrensenceAvatar, {
1360
+ }, /* @__PURE__ */ import_react26.default.createElement(PrensenceAvatar, {
1361
1361
  identity: member.identity,
1362
1362
  showName: true,
1363
1363
  match: member.currentlyAttended
1364
1364
  }))))))));
1365
1365
  };
1366
1366
  var PrensenceAvatar = ({ identity, showName, match, group, index, onClick }) => {
1367
- const Root = group ? import_react_ui14.AvatarGroupItem.Root : import_react_ui14.Avatar.Root;
1367
+ const Root = group ? import_react_ui15.AvatarGroupItem.Root : import_react_ui15.Avatar.Root;
1368
1368
  const status = match ? "current" : "active";
1369
1369
  const fallbackValue = (0, import_util2.keyToFallback)(identity.identityKey);
1370
- return /* @__PURE__ */ import_react22.default.createElement(Root, {
1370
+ return /* @__PURE__ */ import_react26.default.createElement(Root, {
1371
1371
  status,
1372
1372
  hue: identity.profile?.data?.hue || fallbackValue.hue
1373
- }, /* @__PURE__ */ import_react22.default.createElement(import_react_ui14.Avatar.Frame, {
1373
+ }, /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Avatar.Frame, {
1374
1374
  "data-testid": "spacePlugin.presence.member",
1375
1375
  "data-status": status,
1376
1376
  ...index ? {
@@ -1379,336 +1379,57 @@ var PrensenceAvatar = ({ identity, showName, match, group, index, onClick }) =>
1379
1379
  }
1380
1380
  } : {},
1381
1381
  onClick: () => onClick?.()
1382
- }, /* @__PURE__ */ import_react22.default.createElement(import_react_ui14.Avatar.Fallback, {
1382
+ }, /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Avatar.Fallback, {
1383
1383
  text: identity.profile?.data?.emoji || fallbackValue.emoji
1384
- })), showName && /* @__PURE__ */ import_react22.default.createElement(import_react_ui14.Avatar.Label, {
1384
+ })), showName && /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Avatar.Label, {
1385
1385
  classNames: "text-sm truncate pli-2"
1386
1386
  }, getName(identity)));
1387
1387
  };
1388
1388
  var SmallPresenceLive = ({ viewers }) => {
1389
- const [moment, setMoment] = (0, import_react22.useState)(Date.now());
1390
- (0, import_react22.useEffect)(() => {
1389
+ const [moment, setMoment] = (0, import_react26.useState)(Date.now());
1390
+ (0, import_react26.useEffect)(() => {
1391
1391
  const interval = setInterval(() => setMoment(Date.now()), REFRESH_INTERVAL);
1392
1392
  return () => clearInterval(interval);
1393
1393
  }, []);
1394
1394
  const activeViewers = viewers ? Array.from(viewers.values()).filter(({ lastSeen }) => moment - lastSeen < ACTIVITY_DURATION) : [];
1395
- return /* @__PURE__ */ import_react22.default.createElement(SmallPresence, {
1395
+ return /* @__PURE__ */ import_react26.default.createElement(SmallPresence, {
1396
1396
  count: activeViewers.length
1397
1397
  });
1398
1398
  };
1399
1399
  var SmallPresence = ({ count }) => {
1400
- const { t } = (0, import_react_ui14.useTranslation)(import_chunk_P4XUXM7Y.SPACE_PLUGIN);
1401
- return /* @__PURE__ */ import_react22.default.createElement(import_react_ui14.Tooltip.Root, null, /* @__PURE__ */ import_react22.default.createElement(import_react_ui14.Tooltip.Trigger, {
1400
+ const { t } = (0, import_react_ui15.useTranslation)(import_chunk_6CNYF6YU.SPACE_PLUGIN);
1401
+ return /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Tooltip.Root, null, /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Tooltip.Trigger, {
1402
1402
  asChild: true
1403
- }, /* @__PURE__ */ import_react22.default.createElement(import_react_ui_attention.AttentionGlyph, {
1403
+ }, /* @__PURE__ */ import_react26.default.createElement(import_react_ui_attention.AttentionGlyph, {
1404
1404
  presence: count > 1 ? "many" : count === 1 ? "one" : "none",
1405
1405
  classNames: "self-center mie-1"
1406
- })), /* @__PURE__ */ import_react22.default.createElement(import_react_ui14.Tooltip.Portal, null, /* @__PURE__ */ import_react22.default.createElement(import_react_ui14.Tooltip.Content, {
1406
+ })), /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Tooltip.Portal, null, /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Tooltip.Content, {
1407
1407
  side: "bottom",
1408
1408
  classNames: "z-[70]"
1409
- }, /* @__PURE__ */ import_react22.default.createElement("span", null, t("presence label", {
1409
+ }, /* @__PURE__ */ import_react26.default.createElement("span", null, t("presence label", {
1410
1410
  count
1411
- })), /* @__PURE__ */ import_react22.default.createElement(import_react_ui14.Tooltip.Arrow, null))));
1411
+ })), /* @__PURE__ */ import_react26.default.createElement(import_react_ui15.Tooltip.Arrow, null))));
1412
1412
  };
1413
1413
  var SpaceSettings = ({ settings }) => {
1414
- const { t } = (0, import_react_ui15.useTranslation)(import_chunk_P4XUXM7Y.SPACE_PLUGIN);
1414
+ const { t } = (0, import_react_ui16.useTranslation)(import_chunk_6CNYF6YU.SPACE_PLUGIN);
1415
1415
  const dispatch = (0, import_app_framework9.useIntentDispatcher)();
1416
- const plugins = (0, import_app_framework9.useResolvePlugins)(import_chunk_CTYDNFGG.parseSpaceInitPlugin);
1417
- return /* @__PURE__ */ import_react23.default.createElement(import_react23.default.Fragment, null, /* @__PURE__ */ import_react23.default.createElement(import_plugin_settings.SettingsValue, {
1416
+ return /* @__PURE__ */ import_react27.default.createElement(import_react27.default.Fragment, null, /* @__PURE__ */ import_react27.default.createElement(import_plugin_settings.SettingsValue, {
1418
1417
  label: t("show hidden spaces label")
1419
- }, /* @__PURE__ */ import_react23.default.createElement(import_react_ui15.Input.Switch, {
1418
+ }, /* @__PURE__ */ import_react27.default.createElement(import_react_ui16.Input.Switch, {
1420
1419
  checked: settings.showHidden,
1421
1420
  onCheckedChange: (checked) => dispatch({
1422
- plugin: import_chunk_P4XUXM7Y.SPACE_PLUGIN,
1423
- action: import_chunk_P4XUXM7Y.SpaceAction.TOGGLE_HIDDEN,
1421
+ plugin: import_chunk_6CNYF6YU.SPACE_PLUGIN,
1422
+ action: import_chunk_6CNYF6YU.SpaceAction.TOGGLE_HIDDEN,
1424
1423
  data: {
1425
1424
  state: !!checked
1426
1425
  }
1427
1426
  })
1428
- })), /* @__PURE__ */ import_react23.default.createElement(import_plugin_settings.SettingsValue, {
1429
- label: t("default on space create label")
1430
- }, /* @__PURE__ */ import_react23.default.createElement(import_react_ui15.Select.Root, {
1431
- value: settings.onSpaceCreate,
1432
- onValueChange: (value) => {
1433
- settings.onSpaceCreate = value;
1434
- }
1435
- }, /* @__PURE__ */ import_react23.default.createElement(import_react_ui15.Select.TriggerButton, null), /* @__PURE__ */ import_react23.default.createElement(import_react_ui15.Select.Portal, null, /* @__PURE__ */ import_react23.default.createElement(import_react_ui15.Select.Content, null, /* @__PURE__ */ import_react23.default.createElement(import_react_ui15.Select.Viewport, null, plugins.map(({ provides: { space: { onSpaceCreate } } }) => /* @__PURE__ */ import_react23.default.createElement(import_react_ui15.Select.Option, {
1436
- key: onSpaceCreate.action,
1437
- value: onSpaceCreate.action
1438
- }, (0, import_react_ui15.toLocalizedString)(onSpaceCreate.label, t)))))))));
1439
- };
1440
- var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/SaveStatus.tsx";
1441
- var SaveStatus = () => {
1442
- const { t } = (0, import_react_ui16.useTranslation)(import_chunk_P4XUXM7Y.SPACE_PLUGIN);
1443
- const client = (0, import_react_client5.useClient)();
1444
- const [state, setState] = (0, import_react24.useState)("saved");
1445
- (0, import_react24.useEffect)(() => {
1446
- return createClientSaveTracker(client, (state2) => {
1447
- setState(state2);
1448
- });
1449
- }, []);
1450
- return /* @__PURE__ */ import_react24.default.createElement(import_plugin_status_bar.StatusBar.Item, {
1451
- title: state === "saving" ? t("saving label") : t("saved label")
1452
- }, /* @__PURE__ */ import_react24.default.createElement(import_react_ui16.Icon, {
1453
- icon: state === "saving" ? "ph--arrows-clockwise--regular" : "ph--check-circle--regular",
1454
- size: 4
1455
- }));
1456
- };
1457
- var createClientSaveTracker = (client, cb) => {
1458
- const unsubscribeCallbacks = {};
1459
- const state = {};
1460
- const install = (spaces) => {
1461
- for (const space of spaces) {
1462
- if (state[space.id]) {
1463
- continue;
1464
- }
1465
- state[space.id] = "saved";
1466
- unsubscribeCallbacks[space.id] = createSpaceSaveTracker(space, (s) => {
1467
- state[space.id] = s;
1468
- cb(Object.values(state).some((s2) => s2 === "saving") ? "saving" : "saved");
1469
- });
1470
- }
1471
- };
1472
- client.spaces.subscribe((spaces) => {
1473
- install(spaces);
1474
- });
1475
- install(client.spaces.get());
1476
- return () => {
1477
- for (const unsubscribe of Object.values(unsubscribeCallbacks)) {
1478
- unsubscribe();
1479
- }
1480
- };
1481
- };
1482
- var createSpaceSaveTracker = (space, cb) => {
1483
- const ctx = new import_context.Context(void 0, {
1484
- F: __dxlog_file3,
1485
- L: 64
1486
- });
1487
- void space.waitUntilReady().then(() => {
1488
- if (ctx.disposed) {
1489
- return;
1490
- }
1491
- let hasUnsavedChanges = false;
1492
- let lastFlushPromise;
1493
- space.crud.saveStateChanged.on(ctx, ({ unsavedDocuments }) => {
1494
- hasUnsavedChanges = unsavedDocuments.length > 0;
1495
- });
1496
- space.crud.saveStateChanged.debounce(500).on(ctx, () => {
1497
- if (hasUnsavedChanges) {
1498
- lastFlushPromise = void 0;
1499
- cb("saving");
1500
- } else {
1501
- const flushPromise = space.crud.flush();
1502
- lastFlushPromise = flushPromise;
1503
- void flushPromise.then(() => {
1504
- if (lastFlushPromise === flushPromise) {
1505
- cb("saved");
1506
- }
1507
- });
1508
- }
1509
- });
1510
- });
1511
- return () => {
1512
- void ctx.dispose();
1513
- };
1514
- };
1515
- var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/SyncStatus/types.ts";
1516
- var createEmptyEdgeSyncState = () => ({
1517
- missingOnLocal: 0,
1518
- missingOnRemote: 0,
1519
- localDocumentCount: 0,
1520
- remoteDocumentCount: 0,
1521
- differentDocuments: 0
1522
- });
1523
- var getSyncSummary = (syncMap) => {
1524
- return Object.entries(syncMap).reduce((summary, [_spaceId, peerState]) => {
1525
- summary.missingOnLocal += peerState.missingOnLocal;
1526
- summary.missingOnRemote += peerState.missingOnRemote;
1527
- summary.localDocumentCount += peerState.localDocumentCount;
1528
- summary.remoteDocumentCount += peerState.remoteDocumentCount;
1529
- summary.differentDocuments += peerState.differentDocuments;
1530
- return summary;
1531
- }, createEmptyEdgeSyncState());
1532
- };
1533
- var isEdgePeerId = (peerId, spaceId) => peerId.startsWith(`${import_protocols.EdgeService.AUTOMERGE_REPLICATOR}:${spaceId}`);
1534
- var useSyncState = () => {
1535
- const client = (0, import_react_client6.useClient)();
1536
- const [spaceState, setSpaceState] = (0, import_react26.useState)({});
1537
- (0, import_react26.useEffect)(() => {
1538
- const ctx = new import_context2.Context(void 0, {
1539
- F: __dxlog_file4,
1540
- L: 48
1541
- });
1542
- const createSubscriptions = (spaces) => {
1543
- for (const space of spaces) {
1544
- if (spaceState[space.id]) {
1545
- continue;
1546
- }
1547
- ctx.onDispose(space.crud.subscribeToSyncState(ctx, ({ peers = [] }) => {
1548
- const syncState = peers.find((state) => isEdgePeerId(state.peerId, space.id));
1549
- if (syncState) {
1550
- setSpaceState((spaceState2) => ({
1551
- ...spaceState2,
1552
- [space.id]: syncState
1553
- }));
1554
- }
1555
- }));
1556
- }
1557
- };
1558
- createSubscriptions(client.spaces.get());
1559
- client.spaces.subscribe((spaces) => {
1560
- createSubscriptions(spaces);
1561
- });
1562
- return () => {
1563
- void ctx.dispose();
1564
- };
1565
- }, [
1566
- client
1567
- ]);
1568
- return spaceState;
1569
- };
1570
- var SYNC_STALLED_TIMEOUT = 5e3;
1571
- var styles = {
1572
- barBg: "bg-neutral-50 dark:bg-green-900 text-black",
1573
- barFg: "bg-neutral-100 bg-green-500",
1574
- barHover: "dark:hover:bg-green-500"
1575
- };
1576
- var SyncStatus = () => {
1577
- const state = useSyncState();
1578
- return /* @__PURE__ */ import_react25.default.createElement(SyncStatusIndicator, {
1579
- state
1580
- });
1581
- };
1582
- var SyncStatusIndicator = ({ state }) => {
1583
- const summary = getSyncSummary(state);
1584
- const offline = false;
1585
- const needsToUpload = summary.differentDocuments > 0 || summary.missingOnRemote > 0;
1586
- const needsToDownload = summary.differentDocuments > 0 || summary.missingOnLocal > 0;
1587
- const [classNames, setClassNames] = (0, import_react25.useState)();
1588
- (0, import_react25.useEffect)(() => {
1589
- setClassNames(void 0);
1590
- if (!needsToUpload && !needsToDownload) {
1591
- return;
1592
- }
1593
- const t = setTimeout(() => {
1594
- setClassNames("text-orange-500");
1595
- }, SYNC_STALLED_TIMEOUT);
1596
- return () => clearTimeout(t);
1597
- }, [
1598
- needsToUpload,
1599
- needsToDownload
1600
- ]);
1601
- return /* @__PURE__ */ import_react25.default.createElement(import_plugin_status_bar2.StatusBar.Item, null, /* @__PURE__ */ import_react25.default.createElement(import_react_ui17.Popover.Root, null, /* @__PURE__ */ import_react25.default.createElement(import_react_ui17.Popover.Trigger, null, /* @__PURE__ */ import_react25.default.createElement(import_react_ui17.Icon, {
1602
- icon: offline ? "ph--cloud-x--regular" : needsToUpload ? "ph--cloud-arrow-up--regular" : needsToDownload ? "ph--cloud-arrow-down--regular" : "ph--cloud-check--regular",
1603
- size: 4,
1604
- classNames
1605
- })), /* @__PURE__ */ import_react25.default.createElement(import_react_ui17.Popover.Content, null, /* @__PURE__ */ import_react25.default.createElement(SyncStatusDetail, {
1606
- state,
1607
- summary,
1608
- debug: false
1609
- }))));
1610
- };
1611
- var SyncStatusDetail = ({ classNames, state, summary, debug }) => {
1612
- const { t } = (0, import_react_ui17.useTranslation)(import_chunk_P4XUXM7Y.SPACE_PLUGIN);
1613
- const entries = Object.entries(state).sort(([a], [b]) => a < b ? -1 : a > b ? 1 : 0);
1614
- return /* @__PURE__ */ import_react25.default.createElement("div", {
1615
- className: (0, import_react_ui_theme7.mx)("flex flex-col text-xs min-w-[16rem]", classNames)
1616
- }, /* @__PURE__ */ import_react25.default.createElement("h1", {
1617
- className: "p-2"
1618
- }, t("sync status title")), /* @__PURE__ */ import_react25.default.createElement("div", {
1619
- className: "flex flex-col gap-[2px] my-[2px]"
1620
- }, entries.map(([spaceId, state2]) => /* @__PURE__ */ import_react25.default.createElement(SpaceRow, {
1621
- key: spaceId,
1622
- spaceId,
1623
- state: state2
1624
- }))), debug && /* @__PURE__ */ import_react25.default.createElement(import_react_ui_syntax_highlighter.SyntaxHighlighter, {
1625
- language: "json"
1626
- }, JSON.stringify(summary, null, 2)));
1627
- };
1628
- var useActive = (count) => {
1629
- const [current, setCurrent] = (0, import_react25.useState)(count);
1630
- const [active, setActive] = (0, import_react25.useState)(false);
1631
- (0, import_react25.useEffect)(() => {
1632
- let t;
1633
- if (count !== current) {
1634
- setActive(true);
1635
- setCurrent(count);
1636
- t && clearTimeout(t);
1637
- t = setTimeout(() => {
1638
- setActive(false);
1639
- }, SYNC_STALLED_TIMEOUT);
1640
- }
1641
- return () => {
1642
- setActive(false);
1643
- clearTimeout(t);
1644
- };
1645
- }, [
1646
- count,
1647
- current
1648
- ]);
1649
- return active;
1650
- };
1651
- var SpaceRow = ({ spaceId, state: { localDocumentCount, remoteDocumentCount, missingOnLocal, missingOnRemote } }) => {
1652
- const downActive = useActive(localDocumentCount);
1653
- const upActive = useActive(remoteDocumentCount);
1654
- return /* @__PURE__ */ import_react25.default.createElement("div", {
1655
- className: (0, import_react_ui_theme7.mx)("flex items-center mx-[2px] gap-[2px] cursor-pointer", styles.barHover),
1656
- title: spaceId,
1657
- onClick: () => {
1658
- void navigator.clipboard.writeText(spaceId);
1659
- }
1660
- }, /* @__PURE__ */ import_react25.default.createElement(import_react_ui17.Icon, {
1661
- icon: "ph--arrow-fat-line-left--regular",
1662
- size: 3,
1663
- classNames: (0, import_react_ui_theme7.mx)(downActive && "animate-[pulse_1s_infinite]")
1664
- }), /* @__PURE__ */ import_react25.default.createElement(Candle, {
1665
- up: {
1666
- count: remoteDocumentCount,
1667
- total: remoteDocumentCount + missingOnRemote
1668
- },
1669
- down: {
1670
- count: localDocumentCount,
1671
- total: localDocumentCount + missingOnLocal
1672
- },
1673
- title: spaceId
1674
- }), /* @__PURE__ */ import_react25.default.createElement(import_react_ui17.Icon, {
1675
- icon: "ph--arrow-fat-line-right--regular",
1676
- size: 3,
1677
- classNames: (0, import_react_ui_theme7.mx)(upActive && "animate-[pulse_1s_step-start_infinite]")
1678
- }));
1679
- };
1680
- var Candle = ({ classNames, up, down }) => {
1681
- return /* @__PURE__ */ import_react25.default.createElement("div", {
1682
- className: (0, import_react_ui_theme7.mx)("grid grid-cols-[1fr_2rem_1fr] w-full h-3", classNames)
1683
- }, /* @__PURE__ */ import_react25.default.createElement(Bar, {
1684
- classNames: "justify-end",
1685
- ...up
1686
- }), /* @__PURE__ */ import_react25.default.createElement("div", {
1687
- className: "relative"
1688
- }, /* @__PURE__ */ import_react25.default.createElement("div", {
1689
- className: (0, import_react_ui_theme7.mx)("absolute inset-0 flex items-center justify-center text-xs", styles.barBg)
1690
- }, up.total)), /* @__PURE__ */ import_react25.default.createElement(Bar, down));
1691
- };
1692
- var Bar = ({ classNames, count, total }) => {
1693
- let p = count / total * 100;
1694
- if (count < total) {
1695
- p = Math.min(p, 95);
1696
- }
1697
- return /* @__PURE__ */ import_react25.default.createElement("div", {
1698
- className: (0, import_react_ui_theme7.mx)("relative flex w-full", styles.barBg, classNames)
1699
- }, /* @__PURE__ */ import_react25.default.createElement("div", {
1700
- className: (0, import_react_ui_theme7.mx)("shrink-0", styles.barFg),
1701
- style: {
1702
- width: `${p}%`
1703
- }
1704
- }), count !== total && /* @__PURE__ */ import_react25.default.createElement("div", {
1705
- className: "absolute top-0 bottom-0 flex items-center mx-0.5 text-black text-xs"
1706
- }, count));
1427
+ })));
1707
1428
  };
1708
1429
  var translations_default = [
1709
1430
  {
1710
1431
  "en-US": {
1711
- [import_chunk_P4XUXM7Y.SPACE_PLUGIN]: {
1432
+ [import_chunk_6CNYF6YU.SPACE_PLUGIN]: {
1712
1433
  "plugin name": "Spaces",
1713
1434
  "first run message": "Nothing selected.",
1714
1435
  "create space label": "Create a new space",
@@ -1783,26 +1504,20 @@ var translations_default = [
1783
1504
  "space limit close label": "Close",
1784
1505
  "remove deleted objects label": "Cleanup",
1785
1506
  "remove deleted objects alt": "Permanently remove deleted objects to free up space.",
1786
- "copy link label": "Copy link",
1787
- "default on space create label": "On space create",
1788
- "sync status title": "Sync status",
1789
- "name label": "Name",
1790
- "name placeholder": "Name"
1507
+ "copy link label": "Copy link"
1791
1508
  }
1792
1509
  }
1793
1510
  }
1794
1511
  ];
1795
- var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/SpacePlugin.tsx";
1512
+ var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/SpacePlugin.tsx";
1796
1513
  var ACTIVE_NODE_BROADCAST_INTERVAL = 3e4;
1797
1514
  var OBJECT_ID_LENGTH = 60;
1798
1515
  var SPACE_MAX_OBJECTS = 500;
1799
1516
  var DIRECTORY_TYPE = "text/directory";
1800
1517
  var parseSpacePlugin = (plugin) => Array.isArray(plugin?.provides.space?.enabled) ? plugin : void 0;
1801
1518
  var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
1802
- const settings = new import_local_storage.LocalStorageStore(import_chunk_P4XUXM7Y.SPACE_PLUGIN, {
1803
- onSpaceCreate: "dxos.org/plugin/markdown/action/create"
1804
- });
1805
- const state = new import_local_storage.LocalStorageStore(import_chunk_P4XUXM7Y.SPACE_PLUGIN, {
1519
+ const settings = new import_local_storage.LocalStorageStore(import_chunk_6CNYF6YU.SPACE_PLUGIN);
1520
+ const state = new import_local_storage.LocalStorageStore(import_chunk_6CNYF6YU.SPACE_PLUGIN, {
1806
1521
  awaiting: void 0,
1807
1522
  spaceNames: {},
1808
1523
  viewersByObject: {},
@@ -1841,21 +1556,17 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
1841
1556
  await defaultSpace.internal.migrate();
1842
1557
  }
1843
1558
  spaces.filter((space) => space.state.get() === import_echo.SpaceState.SPACE_READY).forEach((space) => {
1844
- subscriptions.add((0, import_core.scheduledEffect)(() => ({
1845
- name: space.properties.name
1846
- }), ({ name }) => state.values.spaceNames[space.id] = name));
1559
+ subscriptions.add((0, import_signals_core.effect)(() => {
1560
+ state.values.spaceNames[space.id] = space.properties.name;
1561
+ }));
1847
1562
  });
1848
1563
  }).unsubscribe);
1849
- subscriptions.add((0, import_core.scheduledEffect)(() => ({
1850
- ids: (0, import_app_framework.openIds)(location.active),
1851
- removed: location.closed ? [
1852
- location.closed
1853
- ].flat() : []
1854
- }), ({ ids, removed }) => {
1564
+ subscriptions.add((0, import_signals_core.effect)(() => {
1855
1565
  const send = () => {
1856
1566
  const spaces = client.spaces.get();
1857
1567
  const identity = client.halo.identity.get();
1858
1568
  if (identity && location.active) {
1569
+ const ids = (0, import_app_framework.openIds)(location.active);
1859
1570
  const idsBySpace = (0, import_util.reduceGroupBy)(ids, (id) => {
1860
1571
  const [spaceId] = id.split(":");
1861
1572
  return spaceId;
@@ -1870,6 +1581,9 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
1870
1581
  if (!space) {
1871
1582
  continue;
1872
1583
  }
1584
+ const removed = location.closed ? [
1585
+ location.closed
1586
+ ].flat() : [];
1873
1587
  void space.postMessage("viewing", {
1874
1588
  identityKey: identity.identityKey.toHex(),
1875
1589
  attended: attention.attended ? [
@@ -1882,8 +1596,8 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
1882
1596
  import_log.log.warn("Failed to broadcast active node for presence.", {
1883
1597
  err: err.message
1884
1598
  }, {
1885
- F: __dxlog_file5,
1886
- L: 229,
1599
+ F: __dxlog_file3,
1600
+ L: 222,
1887
1601
  S: void 0,
1888
1602
  C: (f, a) => f(...a)
1889
1603
  });
@@ -1929,7 +1643,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
1929
1643
  }).unsubscribe);
1930
1644
  };
1931
1645
  return {
1932
- meta: import_chunk_P4XUXM7Y.meta_default,
1646
+ meta: import_chunk_6CNYF6YU.meta_default,
1933
1647
  ready: async (plugins) => {
1934
1648
  settings.prop({
1935
1649
  key: "showHidden",
@@ -1954,7 +1668,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
1954
1668
  const dispatch = intentPlugin.provides.intent.dispatch;
1955
1669
  const handleFirstRun = async () => {
1956
1670
  const defaultSpace = client.spaces.default;
1957
- defaultSpace.properties[import_chunk_CTYDNFGG.CollectionType.typename] = (0, import_echo.create)(import_chunk_CTYDNFGG.CollectionType, {
1671
+ defaultSpace.properties[import_chunk_CVZPI2P3.CollectionType.typename] = (0, import_echo.create)(import_chunk_CVZPI2P3.CollectionType, {
1958
1672
  objects: [],
1959
1673
  views: {}
1960
1674
  });
@@ -1990,21 +1704,22 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
1990
1704
  settings: settings.values,
1991
1705
  translations: [
1992
1706
  ...translations_default,
1993
- import_react2.osTranslations
1707
+ import_react3.osTranslations
1994
1708
  ],
1995
- root: () => state.values.awaiting ? /* @__PURE__ */ import_react.default.createElement(AwaitingObject, {
1709
+ root: () => state.values.awaiting ? /* @__PURE__ */ import_react2.default.createElement(AwaitingObject, {
1996
1710
  id: state.values.awaiting
1997
1711
  }) : null,
1998
1712
  metadata: {
1999
1713
  records: {
2000
- [import_chunk_CTYDNFGG.CollectionType.typename]: {
1714
+ [import_chunk_CVZPI2P3.CollectionType.typename]: {
2001
1715
  placeholder: [
2002
1716
  "unnamed collection label",
2003
1717
  {
2004
- ns: import_chunk_P4XUXM7Y.SPACE_PLUGIN
1718
+ ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
2005
1719
  }
2006
1720
  ],
2007
- icon: "ph--cards-three--regular",
1721
+ icon: (props) => /* @__PURE__ */ import_react2.default.createElement(import_react.CardsThree, props),
1722
+ iconSymbol: "ph--cards-three--regular",
2008
1723
  // TODO(wittjosiah): Move out of metadata.
2009
1724
  loadReferences: (collection) => (0, import_echo.loadObjectReferences)(collection, (collection2) => [
2010
1725
  ...collection2.objects,
@@ -2015,7 +1730,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2015
1730
  },
2016
1731
  echo: {
2017
1732
  schema: [
2018
- import_chunk_CTYDNFGG.CollectionType
1733
+ import_chunk_CVZPI2P3.CollectionType
2019
1734
  ]
2020
1735
  },
2021
1736
  surface: {
@@ -2024,28 +1739,33 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2024
1739
  switch (role) {
2025
1740
  case "article":
2026
1741
  case "main":
2027
- return (0, import_echo.isSpace)(primary) && primary.state.get() === import_echo.SpaceState.SPACE_READY ? /* @__PURE__ */ import_react.default.createElement(import_app_framework.Surface, {
1742
+ return (0, import_echo.isSpace)(primary) && primary.state.get() === import_echo.SpaceState.SPACE_READY ? /* @__PURE__ */ import_react2.default.createElement(import_app_framework.Surface, {
2028
1743
  data: {
2029
- active: primary.properties[import_chunk_CTYDNFGG.CollectionType.typename],
2030
- id: primary.id
1744
+ active: primary.properties[import_chunk_CVZPI2P3.CollectionType.typename]
2031
1745
  },
2032
1746
  role,
2033
1747
  ...rest
2034
- }) : primary instanceof import_chunk_CTYDNFGG.CollectionType ? {
2035
- node: /* @__PURE__ */ import_react.default.createElement(CollectionMain, {
1748
+ }) : primary instanceof import_chunk_CVZPI2P3.CollectionType ? {
1749
+ node: /* @__PURE__ */ import_react2.default.createElement(CollectionMain, {
2036
1750
  collection: primary
2037
1751
  }),
2038
1752
  disposition: "fallback"
2039
- } : typeof primary === "string" && primary.length === OBJECT_ID_LENGTH ? /* @__PURE__ */ import_react.default.createElement(MissingObject, {
1753
+ } : typeof primary === "string" && primary.length === OBJECT_ID_LENGTH ? /* @__PURE__ */ import_react2.default.createElement(MissingObject, {
2040
1754
  id: primary
2041
1755
  }) : null;
2042
- case "complementary--settings":
2043
- return (0, import_echo.isEchoObject)(data.subject) ? /* @__PURE__ */ import_react.default.createElement(FallbackSettings, {
2044
- object: data.subject
2045
- }) : null;
1756
+ // TODO(burdon): Add role name syntax to minimal plugin docs.
1757
+ case "tree--empty":
1758
+ switch (true) {
1759
+ case data.plugin === import_chunk_6CNYF6YU.SPACE_PLUGIN:
1760
+ return /* @__PURE__ */ import_react2.default.createElement(EmptyTree, null);
1761
+ case ((0, import_plugin_graph.isGraphNode)(data.activeNode) && (0, import_echo.isSpace)(data.activeNode.data)):
1762
+ return /* @__PURE__ */ import_react2.default.createElement(EmptySpace, null);
1763
+ default:
1764
+ return null;
1765
+ }
2046
1766
  case "dialog":
2047
1767
  if (data.component === "dxos.org/plugin/space/InvitationManagerDialog") {
2048
- return /* @__PURE__ */ import_react.default.createElement(import_react_ui.Dialog.Content, null, /* @__PURE__ */ import_react.default.createElement(import_react2.ClipboardProvider, null, /* @__PURE__ */ import_react.default.createElement(import_react2.InvitationManager, {
1768
+ return /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Dialog.Content, null, /* @__PURE__ */ import_react2.default.createElement(import_react3.ClipboardProvider, null, /* @__PURE__ */ import_react2.default.createElement(import_react3.InvitationManager, {
2049
1769
  active: true,
2050
1770
  ...data.subject
2051
1771
  })));
@@ -2054,21 +1774,20 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2054
1774
  }
2055
1775
  case "popover":
2056
1776
  if (data.component === "dxos.org/plugin/space/RenameSpacePopover" && (0, import_echo.isSpace)(data.subject)) {
2057
- return /* @__PURE__ */ import_react.default.createElement(PopoverRenameSpace, {
1777
+ return /* @__PURE__ */ import_react2.default.createElement(PopoverRenameSpace, {
2058
1778
  space: data.subject
2059
1779
  });
2060
1780
  }
2061
1781
  if (data.component === "dxos.org/plugin/space/RenameObjectPopover" && (0, import_echo_schema.isReactiveObject)(data.subject)) {
2062
- return /* @__PURE__ */ import_react.default.createElement(PopoverRenameObject, {
1782
+ return /* @__PURE__ */ import_react2.default.createElement(PopoverRenameObject, {
2063
1783
  object: data.subject
2064
1784
  });
2065
1785
  }
2066
1786
  return null;
2067
- // TODO(burdon): Add role name syntax to minimal plugin docs.
2068
1787
  case "presence--glyph": {
2069
- return (0, import_echo_schema.isReactiveObject)(data.object) ? /* @__PURE__ */ import_react.default.createElement(SmallPresenceLive, {
1788
+ return (0, import_echo_schema.isReactiveObject)(data.object) ? /* @__PURE__ */ import_react2.default.createElement(SmallPresenceLive, {
2070
1789
  viewers: state.values.viewersByObject[(0, import_echo.fullyQualifiedId)(data.object)]
2071
- }) : /* @__PURE__ */ import_react.default.createElement(SmallPresence, {
1790
+ }) : /* @__PURE__ */ import_react2.default.createElement(SmallPresence, {
2072
1791
  count: 0
2073
1792
  });
2074
1793
  }
@@ -2080,35 +1799,32 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2080
1799
  return null;
2081
1800
  }
2082
1801
  const space = (0, import_echo.isSpace)(data.object) ? data.object : (0, import_echo.getSpace)(data.object);
2083
- const object = (0, import_echo.isSpace)(data.object) ? data.object.state.get() === import_echo.SpaceState.SPACE_READY ? space?.properties[import_chunk_CTYDNFGG.CollectionType.typename] : void 0 : data.object;
1802
+ const object = (0, import_echo.isSpace)(data.object) ? data.object.state.get() === import_echo.SpaceState.SPACE_READY ? space?.properties[import_chunk_CVZPI2P3.CollectionType.typename] : void 0 : data.object;
2084
1803
  return space && object ? {
2085
- node: /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(SpacePresence, {
1804
+ node: /* @__PURE__ */ import_react2.default.createElement(import_react2.default.Fragment, null, /* @__PURE__ */ import_react2.default.createElement(SpacePresence, {
2086
1805
  object
2087
- }), space.properties[COMPOSER_SPACE_LOCK] ? null : /* @__PURE__ */ import_react.default.createElement(ShareSpaceButton, {
1806
+ }), space.properties[COMPOSER_SPACE_LOCK] ? null : /* @__PURE__ */ import_react2.default.createElement(ShareSpaceButton, {
2088
1807
  spaceId: space.id
2089
1808
  })),
2090
1809
  disposition: "hoist"
2091
1810
  } : null;
2092
1811
  }
2093
1812
  case "section":
2094
- return data.object instanceof import_chunk_CTYDNFGG.CollectionType ? /* @__PURE__ */ import_react.default.createElement(CollectionSection, {
1813
+ return data.object instanceof import_chunk_CVZPI2P3.CollectionType ? /* @__PURE__ */ import_react2.default.createElement(CollectionSection, {
2095
1814
  collection: data.object
2096
1815
  }) : null;
2097
1816
  case "settings":
2098
- return data.plugin === import_chunk_P4XUXM7Y.meta_default.id ? /* @__PURE__ */ import_react.default.createElement(SpaceSettings, {
1817
+ return data.plugin === import_chunk_6CNYF6YU.meta_default.id ? /* @__PURE__ */ import_react2.default.createElement(SpaceSettings, {
2099
1818
  settings: settings.values
2100
1819
  }) : null;
2101
1820
  case "menu-footer":
2102
1821
  if (!(0, import_echo.isEchoObject)(data.object)) {
2103
1822
  return null;
2104
1823
  } else {
2105
- return /* @__PURE__ */ import_react.default.createElement(MenuFooter, {
1824
+ return /* @__PURE__ */ import_react2.default.createElement(MenuFooter, {
2106
1825
  object: data.object
2107
1826
  });
2108
1827
  }
2109
- case "status": {
2110
- return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(SyncStatus, null), /* @__PURE__ */ import_react.default.createElement(SaveStatus, null));
2111
- }
2112
1828
  default:
2113
1829
  return null;
2114
1830
  }
@@ -2129,7 +1845,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2129
1845
  return [
2130
1846
  // Create spaces group node.
2131
1847
  (0, import_plugin_graph.createExtension)({
2132
- id: `${import_chunk_P4XUXM7Y.SPACE_PLUGIN}/root`,
1848
+ id: `${import_chunk_6CNYF6YU.SPACE_PLUGIN}/root`,
2133
1849
  filter: (node) => node.id === "root",
2134
1850
  connector: () => {
2135
1851
  const isReady = (0, import_plugin_graph.toSignal)((onChange) => {
@@ -2152,7 +1868,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2152
1868
  label: [
2153
1869
  "spaces label",
2154
1870
  {
2155
- ns: import_chunk_P4XUXM7Y.SPACE_PLUGIN
1871
+ ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
2156
1872
  }
2157
1873
  ],
2158
1874
  palette: "teal",
@@ -2168,8 +1884,8 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2168
1884
  spacesOrder.order = nextOrder.map(({ id }) => id);
2169
1885
  } else {
2170
1886
  import_log.log.warn("spaces order object not found", void 0, {
2171
- F: __dxlog_file5,
2172
- L: 526,
1887
+ F: __dxlog_file3,
1888
+ L: 514,
2173
1889
  S: void 0,
2174
1890
  C: (f, a) => f(...a)
2175
1891
  });
@@ -2186,12 +1902,12 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2186
1902
  filter: (node) => node.id === SPACES,
2187
1903
  actions: () => [
2188
1904
  {
2189
- id: import_chunk_P4XUXM7Y.SpaceAction.CREATE,
1905
+ id: import_chunk_6CNYF6YU.SpaceAction.CREATE,
2190
1906
  data: async () => {
2191
1907
  await dispatch([
2192
1908
  {
2193
- plugin: import_chunk_P4XUXM7Y.SPACE_PLUGIN,
2194
- action: import_chunk_P4XUXM7Y.SpaceAction.CREATE
1909
+ plugin: import_chunk_6CNYF6YU.SPACE_PLUGIN,
1910
+ action: import_chunk_6CNYF6YU.SpaceAction.CREATE
2195
1911
  },
2196
1912
  {
2197
1913
  action: import_app_framework.NavigationAction.OPEN
@@ -2202,21 +1918,22 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2202
1918
  label: [
2203
1919
  "create space label",
2204
1920
  {
2205
- ns: import_chunk_P4XUXM7Y.SPACE_PLUGIN
1921
+ ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
2206
1922
  }
2207
1923
  ],
2208
- icon: "ph--plus--regular",
1924
+ icon: (props) => /* @__PURE__ */ import_react2.default.createElement(import_react.Plus, props),
1925
+ iconSymbol: "ph--plus--regular",
2209
1926
  disposition: "toolbar",
2210
1927
  testId: "spacePlugin.createSpace"
2211
1928
  }
2212
1929
  },
2213
1930
  {
2214
- id: import_chunk_P4XUXM7Y.SpaceAction.JOIN,
1931
+ id: import_chunk_6CNYF6YU.SpaceAction.JOIN,
2215
1932
  data: async () => {
2216
1933
  await dispatch([
2217
1934
  {
2218
- plugin: import_chunk_P4XUXM7Y.SPACE_PLUGIN,
2219
- action: import_chunk_P4XUXM7Y.SpaceAction.JOIN
1935
+ plugin: import_chunk_6CNYF6YU.SPACE_PLUGIN,
1936
+ action: import_chunk_6CNYF6YU.SpaceAction.JOIN
2220
1937
  },
2221
1938
  {
2222
1939
  action: import_app_framework.NavigationAction.OPEN
@@ -2227,10 +1944,11 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2227
1944
  label: [
2228
1945
  "join space label",
2229
1946
  {
2230
- ns: import_chunk_P4XUXM7Y.SPACE_PLUGIN
1947
+ ns: import_chunk_6CNYF6YU.SPACE_PLUGIN
2231
1948
  }
2232
1949
  ],
2233
- icon: "ph--sign-in--regular",
1950
+ icon: (props) => /* @__PURE__ */ import_react2.default.createElement(import_react.SignIn, props),
1951
+ iconSymbol: "ph--sign-in--regular",
2234
1952
  testId: "spacePlugin.joinSpace"
2235
1953
  }
2236
1954
  }
@@ -2262,7 +1980,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2262
1980
  }),
2263
1981
  // Find an object by its fully qualified id.
2264
1982
  (0, import_plugin_graph.createExtension)({
2265
- id: `${import_chunk_P4XUXM7Y.SPACE_PLUGIN}/objects`,
1983
+ id: `${import_chunk_6CNYF6YU.SPACE_PLUGIN}/objects`,
2266
1984
  resolver: ({ id }) => {
2267
1985
  const [spaceId, objectId] = id.split(":");
2268
1986
  const space = client.spaces.get().find((space2) => space2.id === spaceId);
@@ -2292,7 +2010,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2292
2010
  }),
2293
2011
  // Create space actions and action groups.
2294
2012
  (0, import_plugin_graph.createExtension)({
2295
- id: `${import_chunk_P4XUXM7Y.SPACE_PLUGIN}/actions`,
2013
+ id: `${import_chunk_6CNYF6YU.SPACE_PLUGIN}/actions`,
2296
2014
  filter: (node) => (0, import_echo.isSpace)(node.data),
2297
2015
  actionGroups: ({ node }) => constructSpaceActionGroups({
2298
2016
  space: node.data,
@@ -2310,7 +2028,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2310
2028
  }),
2311
2029
  // Create nodes for objects in the root collection of a space.
2312
2030
  (0, import_plugin_graph.createExtension)({
2313
- id: `${import_chunk_P4XUXM7Y.SPACE_PLUGIN}/root-collection`,
2031
+ id: `${import_chunk_6CNYF6YU.SPACE_PLUGIN}/root-collection`,
2314
2032
  filter: (node) => (0, import_echo.isSpace)(node.data),
2315
2033
  connector: ({ node }) => {
2316
2034
  const space = node.data;
@@ -2318,7 +2036,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2318
2036
  if (state2 !== import_echo.SpaceState.SPACE_READY) {
2319
2037
  return;
2320
2038
  }
2321
- const collection = space.properties[import_chunk_CTYDNFGG.CollectionType.typename];
2039
+ const collection = space.properties[import_chunk_CVZPI2P3.CollectionType.typename];
2322
2040
  if (!collection) {
2323
2041
  return;
2324
2042
  }
@@ -2331,7 +2049,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2331
2049
  }),
2332
2050
  // Create collection actions and action groups.
2333
2051
  (0, import_plugin_graph.createExtension)({
2334
- id: `${import_chunk_P4XUXM7Y.SPACE_PLUGIN}/object-actions`,
2052
+ id: `${import_chunk_6CNYF6YU.SPACE_PLUGIN}/object-actions`,
2335
2053
  filter: (node) => (0, import_echo.isEchoObject)(node.data),
2336
2054
  actionGroups: ({ node }) => constructObjectActionGroups({
2337
2055
  object: node.data,
@@ -2344,8 +2062,8 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2344
2062
  }),
2345
2063
  // Create nodes for objects in collections.
2346
2064
  (0, import_plugin_graph.createExtension)({
2347
- id: `${import_chunk_P4XUXM7Y.SPACE_PLUGIN}/collection-objects`,
2348
- filter: (node) => node.data instanceof import_chunk_CTYDNFGG.CollectionType,
2065
+ id: `${import_chunk_6CNYF6YU.SPACE_PLUGIN}/collection-objects`,
2066
+ filter: (node) => node.data instanceof import_chunk_CVZPI2P3.CollectionType,
2349
2067
  connector: ({ node }) => {
2350
2068
  const collection = node.data;
2351
2069
  const space = (0, import_echo.getSpace)(collection);
@@ -2358,45 +2076,6 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2358
2076
  resolve
2359
2077
  })).filter(import_util.nonNullable);
2360
2078
  }
2361
- }),
2362
- // Create nodes for object settings.
2363
- (0, import_plugin_graph.createExtension)({
2364
- id: `${import_chunk_P4XUXM7Y.SPACE_PLUGIN}/settings-for-subject`,
2365
- resolver: ({ id }) => {
2366
- if (!id.endsWith("~settings")) {
2367
- return;
2368
- }
2369
- const [subjectId] = id.split("~");
2370
- const [spaceId, objectId] = (0, import_echo.parseFullyQualifiedId)(subjectId);
2371
- const space = client.spaces.get().find((space2) => space2.id === spaceId);
2372
- const object = (0, import_plugin_graph.toSignal)((onChange) => {
2373
- const timeout = setTimeout(async () => {
2374
- await space?.db.loadObjectById(objectId);
2375
- onChange();
2376
- });
2377
- return () => clearTimeout(timeout);
2378
- }, () => space?.db.getObjectById(objectId), subjectId);
2379
- if (!object || !subjectId) {
2380
- return;
2381
- }
2382
- const meta = resolve((0, import_echo.getTypename)(object) ?? "");
2383
- const label = meta.label?.(object) || object.name || meta.placeholder || [
2384
- "unnamed object settings label",
2385
- {
2386
- ns: import_chunk_P4XUXM7Y.SPACE_PLUGIN
2387
- }
2388
- ];
2389
- return {
2390
- id,
2391
- type: "orphan-settings-for-subject",
2392
- data: null,
2393
- properties: {
2394
- icon: "ph--gear--regular",
2395
- label,
2396
- object
2397
- }
2398
- };
2399
- }
2400
2079
  })
2401
2080
  ];
2402
2081
  },
@@ -2410,8 +2089,8 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2410
2089
  inputType: SPACES,
2411
2090
  outputType: DIRECTORY_TYPE,
2412
2091
  serialize: (node) => ({
2413
- name: translations_default[0]["en-US"][import_chunk_P4XUXM7Y.SPACE_PLUGIN]["spaces label"],
2414
- data: translations_default[0]["en-US"][import_chunk_P4XUXM7Y.SPACE_PLUGIN]["spaces label"],
2092
+ name: translations_default[0]["en-US"][import_chunk_6CNYF6YU.SPACE_PLUGIN]["spaces label"],
2093
+ data: translations_default[0]["en-US"][import_chunk_6CNYF6YU.SPACE_PLUGIN]["spaces label"],
2415
2094
  type: DIRECTORY_TYPE
2416
2095
  }),
2417
2096
  deserialize: () => {
@@ -2421,14 +2100,14 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2421
2100
  inputType: SPACE_TYPE,
2422
2101
  outputType: DIRECTORY_TYPE,
2423
2102
  serialize: (node) => ({
2424
- name: node.data.properties.name ?? translations_default[0]["en-US"][import_chunk_P4XUXM7Y.SPACE_PLUGIN]["unnamed space label"],
2425
- data: node.data.properties.name ?? translations_default[0]["en-US"][import_chunk_P4XUXM7Y.SPACE_PLUGIN]["unnamed space label"],
2103
+ name: node.data.properties.name ?? translations_default[0]["en-US"][import_chunk_6CNYF6YU.SPACE_PLUGIN]["unnamed space label"],
2104
+ data: node.data.properties.name ?? translations_default[0]["en-US"][import_chunk_6CNYF6YU.SPACE_PLUGIN]["unnamed space label"],
2426
2105
  type: DIRECTORY_TYPE
2427
2106
  }),
2428
2107
  deserialize: async (data) => {
2429
2108
  const result = await dispatch({
2430
- plugin: import_chunk_P4XUXM7Y.SPACE_PLUGIN,
2431
- action: import_chunk_P4XUXM7Y.SpaceAction.CREATE,
2109
+ plugin: import_chunk_6CNYF6YU.SPACE_PLUGIN,
2110
+ action: import_chunk_6CNYF6YU.SpaceAction.CREATE,
2432
2111
  data: {
2433
2112
  name: data.name
2434
2113
  }
@@ -2437,25 +2116,25 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2437
2116
  }
2438
2117
  },
2439
2118
  {
2440
- inputType: import_chunk_CTYDNFGG.CollectionType.typename,
2119
+ inputType: import_chunk_CVZPI2P3.CollectionType.typename,
2441
2120
  outputType: DIRECTORY_TYPE,
2442
2121
  serialize: (node) => ({
2443
- name: node.data.name ?? translations_default[0]["en-US"][import_chunk_P4XUXM7Y.SPACE_PLUGIN]["unnamed collection label"],
2444
- data: node.data.name ?? translations_default[0]["en-US"][import_chunk_P4XUXM7Y.SPACE_PLUGIN]["unnamed collection label"],
2122
+ name: node.data.name ?? translations_default[0]["en-US"][import_chunk_6CNYF6YU.SPACE_PLUGIN]["unnamed collection label"],
2123
+ data: node.data.name ?? translations_default[0]["en-US"][import_chunk_6CNYF6YU.SPACE_PLUGIN]["unnamed collection label"],
2445
2124
  type: DIRECTORY_TYPE
2446
2125
  }),
2447
2126
  deserialize: async (data, ancestors) => {
2448
2127
  const space = ancestors.find(import_echo.isSpace);
2449
- const collection = ancestors.findLast((ancestor) => ancestor instanceof import_chunk_CTYDNFGG.CollectionType) ?? space?.properties[import_chunk_CTYDNFGG.CollectionType.typename];
2128
+ const collection = ancestors.findLast((ancestor) => ancestor instanceof import_chunk_CVZPI2P3.CollectionType) ?? space?.properties[import_chunk_CVZPI2P3.CollectionType.typename];
2450
2129
  if (!space || !collection) {
2451
2130
  return;
2452
2131
  }
2453
2132
  const result = await dispatch({
2454
- plugin: import_chunk_P4XUXM7Y.SPACE_PLUGIN,
2455
- action: import_chunk_P4XUXM7Y.SpaceAction.ADD_OBJECT,
2133
+ plugin: import_chunk_6CNYF6YU.SPACE_PLUGIN,
2134
+ action: import_chunk_6CNYF6YU.SpaceAction.ADD_OBJECT,
2456
2135
  data: {
2457
2136
  target: collection,
2458
- object: (0, import_echo.create)(import_chunk_CTYDNFGG.CollectionType, {
2137
+ object: (0, import_echo.create)(import_chunk_CVZPI2P3.CollectionType, {
2459
2138
  name: data.name,
2460
2139
  objects: [],
2461
2140
  views: {}
@@ -2473,23 +2152,23 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2473
2152
  const clientPlugin2 = (0, import_app_framework.resolvePlugin)(plugins, import_plugin_client.parseClientPlugin);
2474
2153
  const client = clientPlugin2?.provides.client;
2475
2154
  switch (intent.action) {
2476
- case import_chunk_P4XUXM7Y.SpaceAction.WAIT_FOR_OBJECT: {
2155
+ case import_chunk_6CNYF6YU.SpaceAction.WAIT_FOR_OBJECT: {
2477
2156
  state.values.awaiting = intent.data?.id;
2478
2157
  return {
2479
2158
  data: true
2480
2159
  };
2481
2160
  }
2482
- case import_chunk_P4XUXM7Y.SpaceAction.CREATE: {
2161
+ case import_chunk_6CNYF6YU.SpaceAction.CREATE: {
2483
2162
  if (!client) {
2484
2163
  return;
2485
2164
  }
2486
2165
  const space = await client.spaces.create(intent.data);
2487
2166
  await space.waitUntilReady();
2488
- const collection = (0, import_echo.create)(import_chunk_CTYDNFGG.CollectionType, {
2167
+ const collection = (0, import_echo.create)(import_chunk_CVZPI2P3.CollectionType, {
2489
2168
  objects: [],
2490
2169
  views: {}
2491
2170
  });
2492
- space.properties[import_chunk_CTYDNFGG.CollectionType.typename] = collection;
2171
+ space.properties[import_chunk_CVZPI2P3.CollectionType.typename] = collection;
2493
2172
  if (import_migrations.Migrations.versionProperty) {
2494
2173
  space.properties[import_migrations.Migrations.versionProperty] = import_migrations.Migrations.targetVersion;
2495
2174
  }
@@ -2504,25 +2183,6 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2504
2183
  }
2505
2184
  },
2506
2185
  intents: [
2507
- ...settings.values.onSpaceCreate ? [
2508
- [
2509
- {
2510
- action: settings.values.onSpaceCreate,
2511
- data: {
2512
- space
2513
- }
2514
- },
2515
- {
2516
- action: import_chunk_P4XUXM7Y.SpaceAction.ADD_OBJECT,
2517
- data: {
2518
- target: space
2519
- }
2520
- },
2521
- {
2522
- action: import_app_framework.NavigationAction.EXPOSE
2523
- }
2524
- ]
2525
- ] : [],
2526
2186
  [
2527
2187
  {
2528
2188
  action: import_meta.ObservabilityAction.SEND_EVENT,
@@ -2537,7 +2197,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2537
2197
  ]
2538
2198
  };
2539
2199
  }
2540
- case import_chunk_P4XUXM7Y.SpaceAction.JOIN: {
2200
+ case import_chunk_6CNYF6YU.SpaceAction.JOIN: {
2541
2201
  if (client) {
2542
2202
  const { space } = await client.shell.joinSpace({
2543
2203
  invitationCode: intent.data?.invitationCode
@@ -2571,7 +2231,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2571
2231
  }
2572
2232
  break;
2573
2233
  }
2574
- case import_chunk_P4XUXM7Y.SpaceAction.SHARE: {
2234
+ case import_chunk_6CNYF6YU.SpaceAction.SHARE: {
2575
2235
  const spaceId = intent.data?.spaceId;
2576
2236
  if (clientPlugin2 && typeof spaceId === "string") {
2577
2237
  if (!navigationPlugin?.provides.location.active) {
@@ -2604,7 +2264,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2604
2264
  }
2605
2265
  break;
2606
2266
  }
2607
- case import_chunk_P4XUXM7Y.SpaceAction.LOCK: {
2267
+ case import_chunk_6CNYF6YU.SpaceAction.LOCK: {
2608
2268
  const space = intent.data?.space;
2609
2269
  if ((0, import_echo.isSpace)(space)) {
2610
2270
  space.properties[COMPOSER_SPACE_LOCK] = true;
@@ -2627,7 +2287,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2627
2287
  }
2628
2288
  break;
2629
2289
  }
2630
- case import_chunk_P4XUXM7Y.SpaceAction.UNLOCK: {
2290
+ case import_chunk_6CNYF6YU.SpaceAction.UNLOCK: {
2631
2291
  const space = intent.data?.space;
2632
2292
  if ((0, import_echo.isSpace)(space)) {
2633
2293
  space.properties[COMPOSER_SPACE_LOCK] = false;
@@ -2650,7 +2310,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2650
2310
  }
2651
2311
  break;
2652
2312
  }
2653
- case import_chunk_P4XUXM7Y.SpaceAction.RENAME: {
2313
+ case import_chunk_6CNYF6YU.SpaceAction.RENAME: {
2654
2314
  const { caller, space } = intent.data ?? {};
2655
2315
  if (typeof caller === "string" && (0, import_echo.isSpace)(space)) {
2656
2316
  return {
@@ -2671,7 +2331,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2671
2331
  }
2672
2332
  break;
2673
2333
  }
2674
- case import_chunk_P4XUXM7Y.SpaceAction.OPEN: {
2334
+ case import_chunk_6CNYF6YU.SpaceAction.OPEN: {
2675
2335
  const space = intent.data?.space;
2676
2336
  if ((0, import_echo.isSpace)(space)) {
2677
2337
  await space.open();
@@ -2681,7 +2341,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2681
2341
  }
2682
2342
  break;
2683
2343
  }
2684
- case import_chunk_P4XUXM7Y.SpaceAction.CLOSE: {
2344
+ case import_chunk_6CNYF6YU.SpaceAction.CLOSE: {
2685
2345
  const space = intent.data?.space;
2686
2346
  if ((0, import_echo.isSpace)(space)) {
2687
2347
  await space.close();
@@ -2691,7 +2351,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2691
2351
  }
2692
2352
  break;
2693
2353
  }
2694
- case import_chunk_P4XUXM7Y.SpaceAction.MIGRATE: {
2354
+ case import_chunk_6CNYF6YU.SpaceAction.MIGRATE: {
2695
2355
  const space = intent.data?.space;
2696
2356
  if ((0, import_echo.isSpace)(space)) {
2697
2357
  if (space.state.get() === import_echo.SpaceState.SPACE_REQUIRES_MIGRATION) {
@@ -2720,7 +2380,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2720
2380
  }
2721
2381
  break;
2722
2382
  }
2723
- case import_chunk_P4XUXM7Y.SpaceAction.ADD_OBJECT: {
2383
+ case import_chunk_6CNYF6YU.SpaceAction.ADD_OBJECT: {
2724
2384
  const object = intent.data?.object ?? intent.data?.result;
2725
2385
  if (!(0, import_echo_schema.isReactiveObject)(object)) {
2726
2386
  return;
@@ -2739,15 +2399,16 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2739
2399
  data: {
2740
2400
  element: "toast",
2741
2401
  subject: {
2742
- id: `${import_chunk_P4XUXM7Y.SPACE_PLUGIN}/space-limit`,
2743
- title: translations_default[0]["en-US"][import_chunk_P4XUXM7Y.SPACE_PLUGIN]["space limit label"],
2744
- description: translations_default[0]["en-US"][import_chunk_P4XUXM7Y.SPACE_PLUGIN]["space limit description"],
2402
+ id: `${import_chunk_6CNYF6YU.SPACE_PLUGIN}/space-limit`,
2403
+ title: translations_default[0]["en-US"][import_chunk_6CNYF6YU.SPACE_PLUGIN]["space limit label"],
2404
+ description: translations_default[0]["en-US"][import_chunk_6CNYF6YU.SPACE_PLUGIN]["space limit description"],
2745
2405
  duration: 5e3,
2746
- icon: "ph--warning--regular",
2747
- actionLabel: translations_default[0]["en-US"][import_chunk_P4XUXM7Y.SPACE_PLUGIN]["remove deleted objects label"],
2748
- actionAlt: translations_default[0]["en-US"][import_chunk_P4XUXM7Y.SPACE_PLUGIN]["remove deleted objects alt"],
2406
+ icon: (props) => /* @__PURE__ */ import_react2.default.createElement(import_react.Warning, props),
2407
+ iconSymbol: "ph--warning--regular",
2408
+ actionLabel: translations_default[0]["en-US"][import_chunk_6CNYF6YU.SPACE_PLUGIN]["remove deleted objects label"],
2409
+ actionAlt: translations_default[0]["en-US"][import_chunk_6CNYF6YU.SPACE_PLUGIN]["remove deleted objects alt"],
2749
2410
  // TODO(wittjosiah): Use OS namespace.
2750
- closeLabel: translations_default[0]["en-US"][import_chunk_P4XUXM7Y.SPACE_PLUGIN]["space limit close label"],
2411
+ closeLabel: translations_default[0]["en-US"][import_chunk_6CNYF6YU.SPACE_PLUGIN]["space limit close label"],
2751
2412
  onAction: () => space.db.coreDatabase.unlinkDeletedObjects()
2752
2413
  }
2753
2414
  }
@@ -2767,25 +2428,25 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2767
2428
  ]
2768
2429
  };
2769
2430
  }
2770
- if (intent.data?.target instanceof import_chunk_CTYDNFGG.CollectionType) {
2431
+ if (intent.data?.target instanceof import_chunk_CVZPI2P3.CollectionType) {
2771
2432
  intent.data?.target.objects.push(object);
2772
2433
  } else if ((0, import_echo.isSpace)(intent.data?.target)) {
2773
- const collection = space.properties[import_chunk_CTYDNFGG.CollectionType.typename];
2774
- if (collection instanceof import_chunk_CTYDNFGG.CollectionType) {
2434
+ const collection = space.properties[import_chunk_CVZPI2P3.CollectionType.typename];
2435
+ if (collection instanceof import_chunk_CVZPI2P3.CollectionType) {
2775
2436
  collection.objects.push(object);
2776
2437
  } else {
2777
- const collection2 = (0, import_echo.create)(import_chunk_CTYDNFGG.CollectionType, {
2438
+ const collection2 = (0, import_echo.create)(import_chunk_CVZPI2P3.CollectionType, {
2778
2439
  objects: [
2779
2440
  object
2780
2441
  ],
2781
2442
  views: {}
2782
2443
  });
2783
- space.properties[import_chunk_CTYDNFGG.CollectionType.typename] = collection2;
2444
+ space.properties[import_chunk_CVZPI2P3.CollectionType.typename] = collection2;
2784
2445
  }
2785
2446
  }
2786
2447
  return {
2787
2448
  data: {
2788
- id: (0, import_echo.fullyQualifiedId)(object),
2449
+ id: object.id,
2789
2450
  object,
2790
2451
  activeParts: {
2791
2452
  main: [
@@ -2810,7 +2471,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2810
2471
  ]
2811
2472
  };
2812
2473
  }
2813
- case import_chunk_P4XUXM7Y.SpaceAction.REMOVE_OBJECT: {
2474
+ case import_chunk_6CNYF6YU.SpaceAction.REMOVE_OBJECT: {
2814
2475
  const object = intent.data?.object ?? intent.data?.result;
2815
2476
  const space = (0, import_echo.getSpace)(object);
2816
2477
  if (!((0, import_echo.isEchoObject)(object) && space)) {
@@ -2820,12 +2481,12 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2820
2481
  const activeParts = navigationPlugin?.provides.location.active;
2821
2482
  const openObjectIds = new Set((0, import_app_framework.openIds)(activeParts ?? {}));
2822
2483
  if (!intent.undo && resolve) {
2823
- const parentCollection = intent.data?.collection ?? space.properties[import_chunk_CTYDNFGG.CollectionType.typename];
2484
+ const parentCollection = intent.data?.collection ?? space.properties[import_chunk_CVZPI2P3.CollectionType.typename];
2824
2485
  const nestedObjects = await getNestedObjects(object, resolve);
2825
2486
  const deletionData = {
2826
2487
  object,
2827
2488
  parentCollection,
2828
- index: parentCollection instanceof import_chunk_CTYDNFGG.CollectionType ? parentCollection.objects.indexOf(object) : -1,
2489
+ index: parentCollection instanceof import_chunk_CVZPI2P3.CollectionType ? parentCollection.objects.indexOf(object) : -1,
2829
2490
  nestedObjects,
2830
2491
  wasActive: [
2831
2492
  object,
@@ -2838,12 +2499,13 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2838
2499
  data: {
2839
2500
  activeParts: {
2840
2501
  main: deletionData.wasActive,
2841
- sidebar: deletionData.wasActive
2502
+ sidebar: deletionData.wasActive,
2503
+ complementary: deletionData.wasActive
2842
2504
  }
2843
2505
  }
2844
2506
  });
2845
2507
  }
2846
- if (parentCollection instanceof import_chunk_CTYDNFGG.CollectionType) {
2508
+ if (parentCollection instanceof import_chunk_CVZPI2P3.CollectionType) {
2847
2509
  const index = parentCollection.objects.indexOf(object);
2848
2510
  if (index !== -1) {
2849
2511
  parentCollection.objects.splice(index, 1);
@@ -2853,18 +2515,18 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2853
2515
  space.db.remove(obj);
2854
2516
  });
2855
2517
  space.db.remove(object);
2856
- const undoMessageKey = object instanceof import_chunk_CTYDNFGG.CollectionType ? "collection deleted label" : "object deleted label";
2518
+ const undoMessageKey = object instanceof import_chunk_CVZPI2P3.CollectionType ? "collection deleted label" : "object deleted label";
2857
2519
  return {
2858
2520
  data: true,
2859
2521
  undoable: {
2860
2522
  // Consider using a translation key here.
2861
- message: translations_default[0]["en-US"][import_chunk_P4XUXM7Y.SPACE_PLUGIN][undoMessageKey],
2523
+ message: translations_default[0]["en-US"][import_chunk_6CNYF6YU.SPACE_PLUGIN][undoMessageKey],
2862
2524
  data: deletionData
2863
2525
  }
2864
2526
  };
2865
2527
  } else {
2866
2528
  const undoData = intent.data;
2867
- if (undoData && (0, import_echo.isEchoObject)(undoData.object) && undoData.parentCollection instanceof import_chunk_CTYDNFGG.CollectionType) {
2529
+ if (undoData && (0, import_echo.isEchoObject)(undoData.object) && undoData.parentCollection instanceof import_chunk_CVZPI2P3.CollectionType) {
2868
2530
  const restoredObject = space.db.add(undoData.object);
2869
2531
  undoData.nestedObjects.forEach((obj) => {
2870
2532
  space.db.add(obj);
@@ -2891,7 +2553,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2891
2553
  };
2892
2554
  }
2893
2555
  }
2894
- case import_chunk_P4XUXM7Y.SpaceAction.RENAME_OBJECT: {
2556
+ case import_chunk_6CNYF6YU.SpaceAction.RENAME_OBJECT: {
2895
2557
  const object = intent.data?.object ?? intent.data?.result;
2896
2558
  const caller = intent.data?.caller;
2897
2559
  if ((0, import_echo_schema.isReactiveObject)(object) && caller) {
@@ -2913,7 +2575,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2913
2575
  }
2914
2576
  break;
2915
2577
  }
2916
- case import_chunk_P4XUXM7Y.SpaceAction.DUPLICATE_OBJECT: {
2578
+ case import_chunk_6CNYF6YU.SpaceAction.DUPLICATE_OBJECT: {
2917
2579
  const originalObject = intent.data?.object ?? intent.data?.result;
2918
2580
  const resolve = (0, import_app_framework.resolvePlugin)(plugins, import_app_framework.parseMetadataResolverPlugin)?.provides.metadata.resolver;
2919
2581
  if (!(0, import_echo.isEchoObject)(originalObject) || !resolve) {
@@ -2924,7 +2586,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2924
2586
  intents: [
2925
2587
  [
2926
2588
  {
2927
- action: import_chunk_P4XUXM7Y.SpaceAction.ADD_OBJECT,
2589
+ action: import_chunk_6CNYF6YU.SpaceAction.ADD_OBJECT,
2928
2590
  data: {
2929
2591
  object: newObject,
2930
2592
  target: intent.data?.target
@@ -2934,7 +2596,7 @@ var SpacePlugin = ({ firstRun, onFirstRun } = {}) => {
2934
2596
  ]
2935
2597
  };
2936
2598
  }
2937
- case import_chunk_P4XUXM7Y.SpaceAction.TOGGLE_HIDDEN: {
2599
+ case import_chunk_6CNYF6YU.SpaceAction.TOGGLE_HIDDEN: {
2938
2600
  settings.values.showHidden = intent.data?.state ?? !settings.values.showHidden;
2939
2601
  return {
2940
2602
  data: true
@@ -2957,10 +2619,10 @@ var src_default = SpacePlugin;
2957
2619
  CollectionSection,
2958
2620
  CollectionType,
2959
2621
  ContactType,
2960
- FallbackSettings,
2622
+ EmptySpace,
2623
+ EmptyTree,
2961
2624
  FullPresence,
2962
2625
  MenuFooter,
2963
- MessageState,
2964
2626
  MessageType,
2965
2627
  MissingObject,
2966
2628
  PersistenceStatus,
@@ -2972,7 +2634,6 @@ var src_default = SpacePlugin;
2972
2634
  SPACE_PLUGIN,
2973
2635
  SPACE_PLUGIN_SHORT_ID,
2974
2636
  SPACE_TYPE,
2975
- SaveStatus,
2976
2637
  ShareSpaceButton,
2977
2638
  ShareSpaceButtonImpl,
2978
2639
  SmallPresence,
@@ -2982,9 +2643,6 @@ var src_default = SpacePlugin;
2982
2643
  SpacePlugin,
2983
2644
  SpacePresence,
2984
2645
  SpaceSettings,
2985
- SyncStatus,
2986
- SyncStatusDetail,
2987
- SyncStatusIndicator,
2988
2646
  ThreadStatus,
2989
2647
  ThreadType,
2990
2648
  cloneObject,
@@ -2998,7 +2656,6 @@ var src_default = SpacePlugin;
2998
2656
  getNestedObjects,
2999
2657
  getSpaceDisplayName,
3000
2658
  memoizeQuery,
3001
- parseSpaceInitPlugin,
3002
2659
  parseSpacePlugin,
3003
2660
  translations
3004
2661
  });