@dxos/plugin-space 0.8.2-main.5ca3450 → 0.8.2-main.600d381

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 (125) hide show
  1. package/dist/lib/browser/{app-graph-builder-I2BU35J5.mjs → app-graph-builder-6KVRD7OJ.mjs} +27 -10
  2. package/dist/lib/browser/{app-graph-builder-I2BU35J5.mjs.map → app-graph-builder-6KVRD7OJ.mjs.map} +3 -3
  3. package/dist/lib/browser/{app-graph-serializer-HPYDOKA5.mjs → app-graph-serializer-N7KZGCST.mjs} +4 -4
  4. package/dist/lib/browser/{chunk-YQNBTJI4.mjs → chunk-CY35NLWL.mjs} +1 -13
  5. package/dist/lib/browser/{chunk-YQNBTJI4.mjs.map → chunk-CY35NLWL.mjs.map} +3 -3
  6. package/dist/lib/browser/{chunk-RERTVPBV.mjs → chunk-F57CTUM6.mjs} +4 -4
  7. package/dist/lib/browser/{chunk-RERTVPBV.mjs.map → chunk-F57CTUM6.mjs.map} +2 -2
  8. package/dist/lib/browser/{chunk-TSX67XGX.mjs → chunk-V4VNP2WY.mjs} +124 -174
  9. package/dist/lib/browser/{chunk-TSX67XGX.mjs.map → chunk-V4VNP2WY.mjs.map} +4 -4
  10. package/dist/lib/browser/{chunk-OS5QKO4Z.mjs → chunk-XC4BXZVV.mjs} +2 -3
  11. package/dist/lib/browser/chunk-XC4BXZVV.mjs.map +7 -0
  12. package/dist/lib/browser/{identity-created-DWFKBGOA.mjs → identity-created-74EHBH7M.mjs} +2 -2
  13. package/dist/lib/browser/index.mjs +4 -8
  14. package/dist/lib/browser/index.mjs.map +1 -1
  15. package/dist/lib/browser/{intent-resolver-GKDCJ4H2.mjs → intent-resolver-FZ64VJKZ.mjs} +7 -26
  16. package/dist/lib/browser/intent-resolver-FZ64VJKZ.mjs.map +7 -0
  17. package/dist/lib/browser/meta.json +1 -1
  18. package/dist/lib/browser/{react-root-667IZ2Q4.mjs → react-root-2EFJCOX7.mjs} +4 -4
  19. package/dist/lib/browser/{react-surface-I4RNTGGN.mjs → react-surface-N5OGF7TQ.mjs} +4 -12
  20. package/dist/lib/browser/react-surface-N5OGF7TQ.mjs.map +7 -0
  21. package/dist/lib/browser/{settings-ILGGNYJ7.mjs → settings-G24447B7.mjs} +2 -2
  22. package/dist/lib/browser/{spaces-ready-IXZF3RWW.mjs → spaces-ready-ZSUEPHJF.mjs} +3 -3
  23. package/dist/lib/browser/types/index.mjs +1 -1
  24. package/dist/lib/node/{app-graph-builder-H7MDHM3X.cjs → app-graph-builder-6VR2TBBF.cjs} +55 -38
  25. package/dist/lib/node/{app-graph-builder-H7MDHM3X.cjs.map → app-graph-builder-6VR2TBBF.cjs.map} +3 -3
  26. package/dist/lib/node/{app-graph-serializer-G7UYFWG6.cjs → app-graph-serializer-IKQLWTCX.cjs} +20 -20
  27. package/dist/lib/node/{chunk-EG3WAZLA.cjs → chunk-FILCZU6V.cjs} +29 -29
  28. package/dist/lib/node/{chunk-EG3WAZLA.cjs.map → chunk-FILCZU6V.cjs.map} +2 -2
  29. package/dist/lib/node/{chunk-AR3JHVCY.cjs → chunk-K6ZO4WDJ.cjs} +4 -16
  30. package/dist/lib/node/{chunk-AR3JHVCY.cjs.map → chunk-K6ZO4WDJ.cjs.map} +3 -3
  31. package/dist/lib/node/{chunk-HD4C6KKO.cjs → chunk-P2ZIVXGY.cjs} +177 -227
  32. package/dist/lib/node/chunk-P2ZIVXGY.cjs.map +7 -0
  33. package/dist/lib/node/{chunk-NCSFM6RA.cjs → chunk-YAE6CCDB.cjs} +6 -7
  34. package/dist/lib/node/chunk-YAE6CCDB.cjs.map +7 -0
  35. package/dist/lib/node/{identity-created-YLGVEWAJ.cjs → identity-created-PCQPDULV.cjs} +6 -6
  36. package/dist/lib/node/index.cjs +60 -64
  37. package/dist/lib/node/index.cjs.map +1 -1
  38. package/dist/lib/node/{intent-resolver-V7UJKLE7.cjs → intent-resolver-BK6JDXY4.cjs} +55 -73
  39. package/dist/lib/node/intent-resolver-BK6JDXY4.cjs.map +7 -0
  40. package/dist/lib/node/meta.json +1 -1
  41. package/dist/lib/node/{react-root-I3SSFA5O.cjs → react-root-DEQFKQVD.cjs} +8 -8
  42. package/dist/lib/node/{react-surface-OLMQCCYD.cjs → react-surface-UQD7LR67.cjs} +41 -47
  43. package/dist/lib/node/react-surface-UQD7LR67.cjs.map +7 -0
  44. package/dist/lib/node/{settings-7TC55JP4.cjs → settings-AFWO4AWK.cjs} +6 -6
  45. package/dist/lib/node/{spaces-ready-4H3Q46GV.cjs → spaces-ready-MHLUFLXN.cjs} +11 -11
  46. package/dist/lib/node/types/index.cjs +15 -15
  47. package/dist/lib/node/types/index.cjs.map +1 -1
  48. package/dist/lib/node-esm/{app-graph-builder-NI7X6W3Q.mjs → app-graph-builder-O7M6MVS5.mjs} +27 -10
  49. package/dist/lib/node-esm/{app-graph-builder-NI7X6W3Q.mjs.map → app-graph-builder-O7M6MVS5.mjs.map} +3 -3
  50. package/dist/lib/node-esm/{app-graph-serializer-CVPYWWW3.mjs → app-graph-serializer-I6XBQJLA.mjs} +4 -4
  51. package/dist/lib/node-esm/{chunk-RUWTHAV7.mjs → chunk-CLRCW6PU.mjs} +1 -13
  52. package/dist/lib/node-esm/{chunk-RUWTHAV7.mjs.map → chunk-CLRCW6PU.mjs.map} +3 -3
  53. package/dist/lib/node-esm/{chunk-B2P24Q5R.mjs → chunk-COHDPHM7.mjs} +4 -4
  54. package/dist/lib/node-esm/{chunk-B2P24Q5R.mjs.map → chunk-COHDPHM7.mjs.map} +2 -2
  55. package/dist/lib/node-esm/{chunk-FUH5OODY.mjs → chunk-HEXOMJIR.mjs} +2 -3
  56. package/dist/lib/node-esm/chunk-HEXOMJIR.mjs.map +7 -0
  57. package/dist/lib/node-esm/{chunk-BU6F7ZU4.mjs → chunk-TB557OBD.mjs} +124 -174
  58. package/dist/lib/node-esm/{chunk-BU6F7ZU4.mjs.map → chunk-TB557OBD.mjs.map} +4 -4
  59. package/dist/lib/node-esm/{identity-created-7NHGER3Q.mjs → identity-created-GXS46A3C.mjs} +2 -2
  60. package/dist/lib/node-esm/index.mjs +4 -8
  61. package/dist/lib/node-esm/index.mjs.map +1 -1
  62. package/dist/lib/node-esm/{intent-resolver-IL63YTIT.mjs → intent-resolver-6VPP3ZDO.mjs} +7 -26
  63. package/dist/lib/node-esm/intent-resolver-6VPP3ZDO.mjs.map +7 -0
  64. package/dist/lib/node-esm/meta.json +1 -1
  65. package/dist/lib/node-esm/{react-root-JEGVIVVK.mjs → react-root-2RJ2S5E6.mjs} +4 -4
  66. package/dist/lib/node-esm/{react-surface-DRRXIJBE.mjs → react-surface-2RSRATVY.mjs} +4 -12
  67. package/dist/lib/node-esm/react-surface-2RSRATVY.mjs.map +7 -0
  68. package/dist/lib/node-esm/{settings-CXMV2AFR.mjs → settings-MJVSCOI4.mjs} +2 -2
  69. package/dist/lib/node-esm/{spaces-ready-QMXLQ4QV.mjs → spaces-ready-35U5BBTH.mjs} +3 -3
  70. package/dist/lib/node-esm/types/index.mjs +1 -1
  71. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  72. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  73. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  74. package/dist/types/src/components/MembersContainer.stories.d.ts.map +1 -1
  75. package/dist/types/src/components/PersistenceStatus.d.ts.map +1 -1
  76. package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
  77. package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts.map +1 -1
  78. package/dist/types/src/components/index.d.ts +0 -1
  79. package/dist/types/src/components/index.d.ts.map +1 -1
  80. package/dist/types/src/translations.d.ts +0 -1
  81. package/dist/types/src/translations.d.ts.map +1 -1
  82. package/dist/types/src/types/types.d.ts +0 -16
  83. package/dist/types/src/types/types.d.ts.map +1 -1
  84. package/package.json +44 -44
  85. package/src/capabilities/app-graph-builder.ts +20 -8
  86. package/src/capabilities/intent-resolver.ts +0 -19
  87. package/src/capabilities/react-surface.tsx +0 -8
  88. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +1 -1
  89. package/src/components/MembersContainer.stories.tsx +1 -5
  90. package/src/components/PersistenceStatus.tsx +11 -14
  91. package/src/components/SpacePresence.stories.tsx +1 -1
  92. package/src/components/SpacePresence.tsx +32 -42
  93. package/src/components/SyncStatus/InlineSyncStatus.tsx +8 -16
  94. package/src/components/index.ts +0 -1
  95. package/src/translations.ts +0 -1
  96. package/src/types/types.ts +0 -13
  97. package/src/util.tsx +4 -4
  98. package/dist/lib/browser/chunk-OS5QKO4Z.mjs.map +0 -7
  99. package/dist/lib/browser/intent-resolver-GKDCJ4H2.mjs.map +0 -7
  100. package/dist/lib/browser/react-surface-I4RNTGGN.mjs.map +0 -7
  101. package/dist/lib/node/chunk-HD4C6KKO.cjs.map +0 -7
  102. package/dist/lib/node/chunk-NCSFM6RA.cjs.map +0 -7
  103. package/dist/lib/node/intent-resolver-V7UJKLE7.cjs.map +0 -7
  104. package/dist/lib/node/react-surface-OLMQCCYD.cjs.map +0 -7
  105. package/dist/lib/node-esm/chunk-FUH5OODY.mjs.map +0 -7
  106. package/dist/lib/node-esm/intent-resolver-IL63YTIT.mjs.map +0 -7
  107. package/dist/lib/node-esm/react-surface-DRRXIJBE.mjs.map +0 -7
  108. package/dist/types/src/components/PopoverAddSpace.d.ts +0 -4
  109. package/dist/types/src/components/PopoverAddSpace.d.ts.map +0 -1
  110. package/src/components/PopoverAddSpace.tsx +0 -52
  111. /package/dist/lib/browser/{app-graph-serializer-HPYDOKA5.mjs.map → app-graph-serializer-N7KZGCST.mjs.map} +0 -0
  112. /package/dist/lib/browser/{identity-created-DWFKBGOA.mjs.map → identity-created-74EHBH7M.mjs.map} +0 -0
  113. /package/dist/lib/browser/{react-root-667IZ2Q4.mjs.map → react-root-2EFJCOX7.mjs.map} +0 -0
  114. /package/dist/lib/browser/{settings-ILGGNYJ7.mjs.map → settings-G24447B7.mjs.map} +0 -0
  115. /package/dist/lib/browser/{spaces-ready-IXZF3RWW.mjs.map → spaces-ready-ZSUEPHJF.mjs.map} +0 -0
  116. /package/dist/lib/node/{app-graph-serializer-G7UYFWG6.cjs.map → app-graph-serializer-IKQLWTCX.cjs.map} +0 -0
  117. /package/dist/lib/node/{identity-created-YLGVEWAJ.cjs.map → identity-created-PCQPDULV.cjs.map} +0 -0
  118. /package/dist/lib/node/{react-root-I3SSFA5O.cjs.map → react-root-DEQFKQVD.cjs.map} +0 -0
  119. /package/dist/lib/node/{settings-7TC55JP4.cjs.map → settings-AFWO4AWK.cjs.map} +0 -0
  120. /package/dist/lib/node/{spaces-ready-4H3Q46GV.cjs.map → spaces-ready-MHLUFLXN.cjs.map} +0 -0
  121. /package/dist/lib/node-esm/{app-graph-serializer-CVPYWWW3.mjs.map → app-graph-serializer-I6XBQJLA.mjs.map} +0 -0
  122. /package/dist/lib/node-esm/{identity-created-7NHGER3Q.mjs.map → identity-created-GXS46A3C.mjs.map} +0 -0
  123. /package/dist/lib/node-esm/{react-root-JEGVIVVK.mjs.map → react-root-2RJ2S5E6.mjs.map} +0 -0
  124. /package/dist/lib/node-esm/{settings-CXMV2AFR.mjs.map → settings-MJVSCOI4.mjs.map} +0 -0
  125. /package/dist/lib/node-esm/{spaces-ready-QMXLQ4QV.mjs.map → spaces-ready-35U5BBTH.mjs.map} +0 -0
@@ -16,6 +16,7 @@ import {
16
16
  type Size,
17
17
  type ThemedClassName,
18
18
  Tooltip,
19
+ Popover,
19
20
  useTranslation,
20
21
  List,
21
22
  ListItem,
@@ -115,28 +116,25 @@ export const FullPresence = (props: MemberPresenceProps) => {
115
116
  return (
116
117
  <div className='dx-avatar-group' data-testid='spacePlugin.presence'>
117
118
  {members.slice(0, 3).map((member, i) => (
118
- <Tooltip.Root key={member.identity.identityKey.toHex()}>
119
- <Tooltip.Trigger className='grid focus:outline-none'>
120
- <PresenceAvatar
121
- identity={member.identity}
122
- match={member.currentlyAttended} // TODO(Zan): Match always true now we're showing 'members viewing current object'.
123
- index={members.length - i}
124
- onClick={() => onMemberClick?.(member)}
125
- size={size}
126
- />
127
- </Tooltip.Trigger>
128
- <Tooltip.Portal>
129
- <Tooltip.Content side='bottom'>
130
- <span>{getName(member.identity)}</span>
131
- <Tooltip.Arrow />
132
- </Tooltip.Content>
133
- </Tooltip.Portal>
134
- </Tooltip.Root>
119
+ <Tooltip.Trigger
120
+ key={member.identity.identityKey.toHex()}
121
+ side='bottom'
122
+ content={getName(member.identity)}
123
+ className='grid focus:outline-none'
124
+ >
125
+ <PresenceAvatar
126
+ identity={member.identity}
127
+ match={member.currentlyAttended} // TODO(Zan): Match always true now we're showing 'members viewing current object'.
128
+ index={members.length - i}
129
+ onClick={() => onMemberClick?.(member)}
130
+ size={size}
131
+ />
132
+ </Tooltip.Trigger>
135
133
  ))}
136
134
 
137
135
  {members.length > 3 && (
138
- <Tooltip.Root>
139
- <Tooltip.Trigger className='grid focus:outline-none'>
136
+ <Popover.Root>
137
+ <Popover.Trigger className='grid focus:outline-none'>
140
138
  <Avatar.Root>
141
139
  {/* TODO(wittjosiah): Make text fit. */}
142
140
  <Avatar.Content
@@ -146,10 +144,10 @@ export const FullPresence = (props: MemberPresenceProps) => {
146
144
  size={size}
147
145
  />
148
146
  </Avatar.Root>
149
- </Tooltip.Trigger>
150
- <Tooltip.Portal>
151
- <Tooltip.Content side='bottom'>
152
- <Tooltip.Arrow />
147
+ </Popover.Trigger>
148
+ <Popover.Portal>
149
+ <Popover.Content side='bottom'>
150
+ <Popover.Arrow />
153
151
  <List classNames='max-h-56 overflow-y-auto'>
154
152
  {members.map((member) => (
155
153
  <ListItem.Root
@@ -163,9 +161,9 @@ export const FullPresence = (props: MemberPresenceProps) => {
163
161
  </ListItem.Root>
164
162
  ))}
165
163
  </List>
166
- </Tooltip.Content>
167
- </Tooltip.Portal>
168
- </Tooltip.Root>
164
+ </Popover.Content>
165
+ </Popover.Portal>
166
+ </Popover.Root>
169
167
  )}
170
168
  </div>
171
169
  );
@@ -251,21 +249,13 @@ export const SmallPresence = ({ count = 0, attended, containsAttended }: SmallPr
251
249
  const { t } = useTranslation(SPACE_PLUGIN);
252
250
 
253
251
  return (
254
- <Tooltip.Root>
255
- <Tooltip.Trigger asChild>
256
- <AttentionGlyph
257
- attended={attended}
258
- containsAttended={containsAttended}
259
- presence={count > 1 ? 'many' : count === 1 ? 'one' : 'none'}
260
- classNames='self-center mie-1'
261
- />
262
- </Tooltip.Trigger>
263
- <Tooltip.Portal>
264
- <Tooltip.Content side='bottom'>
265
- <span>{t('presence label', { count })}</span>
266
- <Tooltip.Arrow />
267
- </Tooltip.Content>
268
- </Tooltip.Portal>
269
- </Tooltip.Root>
252
+ <Tooltip.Trigger asChild content={t('presence label', { count })} side='bottom'>
253
+ <AttentionGlyph
254
+ attended={attended}
255
+ containsAttended={containsAttended}
256
+ presence={count > 1 ? 'many' : count === 1 ? 'one' : 'none'}
257
+ classNames='self-center mie-1'
258
+ />
259
+ </Tooltip.Trigger>
270
260
  );
271
261
  };
@@ -49,21 +49,13 @@ export const InlineSyncStatus = ({ space, open }: { space: Space; open?: boolean
49
49
  const syncing = connectedToEdge && edgeSyncEnabled && syncState && syncState.missingOnLocal > 0;
50
50
 
51
51
  return (
52
- <Tooltip.Root>
53
- <Tooltip.Trigger asChild>
54
- <AttentionGlyph
55
- syncing={syncing}
56
- attended={isAttended}
57
- containsAttended={containsAttended}
58
- classNames='self-center mie-1'
59
- />
60
- </Tooltip.Trigger>
61
- <Tooltip.Portal>
62
- <Tooltip.Content side='bottom' classNames='z-[70]'>
63
- <span>{t('syncing label')}</span>
64
- <Tooltip.Arrow />
65
- </Tooltip.Content>
66
- </Tooltip.Portal>
67
- </Tooltip.Root>
52
+ <Tooltip.Trigger asChild content={t('syncing label')} side='bottom'>
53
+ <AttentionGlyph
54
+ syncing={syncing}
55
+ attended={isAttended}
56
+ containsAttended={containsAttended}
57
+ classNames='self-center mie-1'
58
+ />
59
+ </Tooltip.Trigger>
68
60
  );
69
61
  };
@@ -11,7 +11,6 @@ export * from './MembersContainer';
11
11
  export * from './MenuFooter';
12
12
  export * from './ObjectSettings';
13
13
  export * from './PersistenceStatus';
14
- export * from './PopoverAddSpace';
15
14
  export * from './PopoverRenameObject';
16
15
  export * from './PopoverRenameSpace';
17
16
  export * from './SchemaContainer';
@@ -15,7 +15,6 @@ export default [
15
15
  [SPACE_PLUGIN]: {
16
16
  'plugin name': 'Spaces',
17
17
  'first run message': 'Nothing selected.',
18
- 'add space label': 'Create or join a space',
19
18
  'create space label': 'Create space',
20
19
  'join space label': 'Join space',
21
20
  'empty space message': 'No documents',
@@ -187,19 +187,6 @@ export namespace SpaceAction {
187
187
  output: Schema.Void,
188
188
  }) {}
189
189
 
190
- export class AddSpace extends Schema.TaggedClass<AddSpace>()(`${SPACE_ACTION}/add-space`, {
191
- input: Schema.Void,
192
- output: Schema.Void,
193
- }) {}
194
-
195
- export class AddSpaceMenuGroup extends Schema.TaggedClass<AddSpaceMenuGroup>()(
196
- `${SPACE_ACTION}/add-space-menu-group`,
197
- {
198
- input: Schema.Void,
199
- output: Schema.Void,
200
- },
201
- ) {}
202
-
203
190
  // TODO(wittjosiah): Handle scrolling to section.
204
191
  // This maybe motivates making the space settings its own deck?
205
192
  export class OpenSettings extends Schema.TaggedClass<OpenSettings>()(`${SPACE_ACTION}/open-settings`, {
package/src/util.tsx CHANGED
@@ -309,8 +309,8 @@ export const constructSpaceActions = ({
309
309
  {
310
310
  id: getId(SpaceAction.Rename._tag),
311
311
  type: ACTION_TYPE,
312
- data: async (params: InvokeParams) => {
313
- await dispatch(createIntent(SpaceAction.Rename, { space, caller: params.caller }));
312
+ data: async (params?: InvokeParams) => {
313
+ await dispatch(createIntent(SpaceAction.Rename, { space, caller: params?.caller }));
314
314
  },
315
315
  properties: {
316
316
  label: ['rename space label', { ns: SPACE_PLUGIN }],
@@ -404,8 +404,8 @@ export const constructObjectActions = ({
404
404
  {
405
405
  id: getId(SpaceAction.RenameObject._tag),
406
406
  type: ACTION_TYPE,
407
- data: async (params: InvokeParams) => {
408
- await dispatch(createIntent(SpaceAction.RenameObject, { object, caller: params.caller }));
407
+ data: async (params?: InvokeParams) => {
408
+ await dispatch(createIntent(SpaceAction.RenameObject, { object, caller: params?.caller }));
409
409
  },
410
410
  properties: {
411
411
  label: [
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/translations.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { SPACE_PLUGIN } from './meta';\nimport { CollectionType } from './types';\n\nexport default [\n {\n 'en-US': {\n [CollectionType.typename]: {\n 'typename label': 'Collection',\n 'object name placeholder': 'New collection',\n },\n [SPACE_PLUGIN]: {\n 'plugin name': 'Spaces',\n 'first run message': 'Nothing selected.',\n 'add space label': 'Create or join a space',\n 'create space label': 'Create space',\n 'join space label': 'Join space',\n 'empty space message': 'No documents',\n 'empty tree message': 'No spaces',\n 'unnamed space label': 'New space',\n 'closed space label': 'Closed',\n 'loading space label': 'Loading space…',\n 'lock space label': 'Lock space',\n 'unlock space label': 'Unlock space',\n 'rename space label': 'Rename space',\n 'active space label': 'Active space:',\n 'space name label': 'Space name',\n 'object name label': 'Object name',\n 'close space label': 'Close space',\n 'open space label': 'Open space',\n 'export data label': 'Export data',\n 'import data label': 'Import data',\n 'migrate space label': 'Migrate space',\n 'share space label': 'Share current space',\n 'save space to disk label': 'Save to disk',\n 'load space from disk label': 'Load from disk',\n 'confirm restore title': 'Overwrite files in this space?',\n 'confirm restore body': 'Restoring from a backup will overwrite the contents of any documents that match.',\n 'upload file message': 'Drag file here or click to browse',\n 'object placeholder': 'Type a title here…',\n 'personal space label': 'Personal Space',\n 'spaces label': 'Spaces',\n 'show hidden spaces label': 'Show archived spaces',\n 'save files to directory label': 'Save files to disk',\n 'select path label': 'Select path',\n 'rename collection label': 'Rename collection',\n 'rename object label': 'Rename item',\n 'duplicate object label': 'Duplicate item',\n 'delete collection label': 'Delete collection',\n 'delete object label': 'Delete item',\n 'collection deleted label': 'Collection deleted',\n 'object deleted label': 'Item deleted',\n 'objects deleted label': 'Items deleted',\n 'go to object label': 'Open item',\n 'found object label': 'Ready.',\n 'found object description': 'The requested object is now available.',\n 'waiting for object label': 'Loading…',\n 'waiting for object description': 'The requested object is still being synchronized.',\n 'object not found label': 'Nothing found.',\n 'object not found description':\n 'The requested object has not been found yet. Ensure there are enough peers online in the space with an updated copy.',\n 'missing object message': 'Object not available.',\n 'missing object description':\n 'The requested object has not been found yet. Ensure there are enough peers online in the space with an updated copy.',\n 'create object in space label': 'Add to space',\n 'create object in collection label': 'Add to collection',\n 'space members label': 'Space members',\n 'active space members heading': 'Online ({{count}})',\n 'inactive space members heading': 'Offline ({{count}})',\n 'presence label_zero': 'No other viewers',\n 'presence label_one': '1 other viewer',\n 'presence label_other': '{{count}} other viewers',\n 'persisted locally label': 'Changes saved locally.',\n 'persisted locally message': 'All changes have been saved to disk on this device.',\n 'persistence pending label': 'Saving…',\n 'persistence error label': 'Error saving changes.',\n 'more actions label': 'More actions',\n 'invitations heading': 'Invitations',\n 'keyshortcuts label': 'Keyboard shortcuts',\n 'menu footer label': 'Details',\n 'location label': 'Located in',\n 'space limit label': 'Space Limit Reached',\n 'space limit description':\n 'This space has reached the maximum number of objects for the beta. This limit includes deleted objects currently, but those can be permanently removed with the cleanup action.',\n 'space limit close label': 'Close',\n 'remove deleted objects label': 'Cleanup',\n 'remove deleted objects alt': 'Permanently remove deleted objects to free up space.',\n 'copy link label': 'Copy link',\n 'default on space create label': 'On space create',\n 'sync status title': 'Sync status',\n 'dismiss label': 'Dismiss',\n 'join success label': 'Successfully joined space',\n 'name label': 'Name',\n 'name placeholder': 'Name',\n 'object settings label': 'Settings',\n 'edge replication label': 'Enable EDGE Replication',\n 'saving locally label': 'Writing to disk',\n 'downloading label': 'Replicating from peers',\n 'uploading label': 'Replicating to peers',\n 'offline persisted label': 'Saved to disk (offline)',\n 'remote synced label': 'Synced with peers',\n 'syncing label': 'Space syncing',\n 'show all label': 'Show all',\n 'no sync status label': 'No space with missing objects.',\n 'create space dialog title': 'Create Space',\n 'create object dialog title': 'Create Object',\n 'space input placeholder': 'Select space',\n 'schema input placeholder': 'Select object type',\n 'creating object type label': 'Type',\n 'creating in space label': 'Location',\n 'creating in collection label': 'In Collection',\n 'clear input label': 'Clear',\n 'expose object label': 'Expose in navtree',\n 'advanced settings label': 'Advanced',\n 'foreign keys': 'Foreign Keys',\n 'add key': 'Add Key',\n 'open space settings label': 'Open',\n\n 'members panel label': 'Members',\n 'members verbose label': 'Manage space members',\n 'members description': 'You can view the current status of space members here as well as invite new members.',\n 'members label': 'Members',\n 'invitations label': 'Invitations',\n 'space invitation description': 'Manage invitations to the space.',\n 'qr code description': 'Share this QR code, or copy the URL and share it with the person you want to invite.',\n 'locked space description': 'This space is locked, unlock it to invite new members.',\n 'space locked label': 'Lock space',\n 'space locked description': 'Locking a space prevents new members from being invited to the space.',\n\n 'settings panel label': 'Space Settings',\n 'open current space settings label': 'Open current space settings',\n 'space settings properties label': 'General settings',\n 'space properties settings verbose label': 'Manage space properties',\n 'space properties settings description': 'You can configure how this space is displayed in the app here.',\n 'space settings schema label': 'Schema',\n 'schema verbose label': 'Manage schema',\n 'schema description': 'You can manage all of the schema stored within this space here.',\n 'no schemas found message': 'No schemas found',\n 'display name input placeholder': 'Space name',\n 'display name description': 'Name of the space as it appears in the app.',\n 'icon description': 'Icon used to represent the space in the app.',\n 'hue description': 'Color used to represent the space in the app.',\n 'edge replication description':\n \"Only change this if you know what you're doing. Disabling this will prevent the space from replicating through Composer's EDGE services, and relies solely on peer-to-peer sync.\",\n 'archive space description':\n 'Archiving a space will remove it from the sidebar and stop replicating updates, but will not delete the data. You can unarchive it by enabling archived spaces in the app settings.',\n 'archive space label': 'Archive',\n 'unarchive space label': 'Unarchive',\n },\n },\n },\n];\n"],
5
- "mappings": ";;;;;;;;AAOA,IAAA,uBAAe;EACb;IACE,SAAS;MACP,CAACA,eAAeC,QAAQ,GAAG;QACzB,kBAAkB;QAClB,2BAA2B;MAC7B;MACA,CAACC,YAAAA,GAAe;QACd,eAAe;QACf,qBAAqB;QACrB,mBAAmB;QACnB,sBAAsB;QACtB,oBAAoB;QACpB,uBAAuB;QACvB,sBAAsB;QACtB,uBAAuB;QACvB,sBAAsB;QACtB,uBAAuB;QACvB,oBAAoB;QACpB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,oBAAoB;QACpB,qBAAqB;QACrB,qBAAqB;QACrB,oBAAoB;QACpB,qBAAqB;QACrB,qBAAqB;QACrB,uBAAuB;QACvB,qBAAqB;QACrB,4BAA4B;QAC5B,8BAA8B;QAC9B,yBAAyB;QACzB,wBAAwB;QACxB,uBAAuB;QACvB,sBAAsB;QACtB,wBAAwB;QACxB,gBAAgB;QAChB,4BAA4B;QAC5B,iCAAiC;QACjC,qBAAqB;QACrB,2BAA2B;QAC3B,uBAAuB;QACvB,0BAA0B;QAC1B,2BAA2B;QAC3B,uBAAuB;QACvB,4BAA4B;QAC5B,wBAAwB;QACxB,yBAAyB;QACzB,sBAAsB;QACtB,sBAAsB;QACtB,4BAA4B;QAC5B,4BAA4B;QAC5B,kCAAkC;QAClC,0BAA0B;QAC1B,gCACE;QACF,0BAA0B;QAC1B,8BACE;QACF,gCAAgC;QAChC,qCAAqC;QACrC,uBAAuB;QACvB,gCAAgC;QAChC,kCAAkC;QAClC,uBAAuB;QACvB,sBAAsB;QACtB,wBAAwB;QACxB,2BAA2B;QAC3B,6BAA6B;QAC7B,6BAA6B;QAC7B,2BAA2B;QAC3B,sBAAsB;QACtB,uBAAuB;QACvB,sBAAsB;QACtB,qBAAqB;QACrB,kBAAkB;QAClB,qBAAqB;QACrB,2BACE;QACF,2BAA2B;QAC3B,gCAAgC;QAChC,8BAA8B;QAC9B,mBAAmB;QACnB,iCAAiC;QACjC,qBAAqB;QACrB,iBAAiB;QACjB,sBAAsB;QACtB,cAAc;QACd,oBAAoB;QACpB,yBAAyB;QACzB,0BAA0B;QAC1B,wBAAwB;QACxB,qBAAqB;QACrB,mBAAmB;QACnB,2BAA2B;QAC3B,uBAAuB;QACvB,iBAAiB;QACjB,kBAAkB;QAClB,wBAAwB;QACxB,6BAA6B;QAC7B,8BAA8B;QAC9B,2BAA2B;QAC3B,4BAA4B;QAC5B,8BAA8B;QAC9B,2BAA2B;QAC3B,gCAAgC;QAChC,qBAAqB;QACrB,uBAAuB;QACvB,2BAA2B;QAC3B,gBAAgB;QAChB,WAAW;QACX,6BAA6B;QAE7B,uBAAuB;QACvB,yBAAyB;QACzB,uBAAuB;QACvB,iBAAiB;QACjB,qBAAqB;QACrB,gCAAgC;QAChC,uBAAuB;QACvB,4BAA4B;QAC5B,sBAAsB;QACtB,4BAA4B;QAE5B,wBAAwB;QACxB,qCAAqC;QACrC,mCAAmC;QACnC,2CAA2C;QAC3C,yCAAyC;QACzC,+BAA+B;QAC/B,wBAAwB;QACxB,sBAAsB;QACtB,4BAA4B;QAC5B,kCAAkC;QAClC,4BAA4B;QAC5B,oBAAoB;QACpB,mBAAmB;QACnB,gCACE;QACF,6BACE;QACF,uBAAuB;QACvB,yBAAyB;MAC3B;IACF;EACF;;",
6
- "names": ["CollectionType", "typename", "SPACE_PLUGIN"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/intent-resolver.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Effect } from 'effect';\n\nimport {\n Capabilities,\n contributes,\n createIntent,\n createResolver,\n LayoutAction,\n type PluginsContext,\n} from '@dxos/app-framework';\nimport { type Expando, getTypename, type HasId } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { live, makeRef, type Live } from '@dxos/live-object';\nimport { Migrations } from '@dxos/migrations';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { ObservabilityAction } from '@dxos/plugin-observability/types';\nimport { EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata';\nimport { isSpace, getSpace, SpaceState, fullyQualifiedId, isEchoObject } from '@dxos/react-client/echo';\nimport { Invitation, InvitationEncoder } from '@dxos/react-client/invitations';\nimport { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention';\n\nimport { SpaceCapabilities } from './capabilities';\nimport {\n CREATE_SPACE_DIALOG,\n JOIN_DIALOG,\n type JoinDialogProps,\n POPOVER_RENAME_SPACE,\n CREATE_OBJECT_DIALOG,\n type CreateObjectDialogProps,\n POPOVER_RENAME_OBJECT,\n POPOVER_ADD_SPACE,\n} from '../components';\nimport { SPACE_PLUGIN } from '../meta';\nimport { CollectionAction, CollectionType, SpaceAction } from '../types';\nimport { cloneObject, COMPOSER_SPACE_LOCK, getNestedObjects } from '../util';\n\n// TODO(wittjosiah): Remove.\nconst SPACE_MAX_OBJECTS = 500;\n\ntype IntentResolverOptions = {\n context: PluginsContext;\n createInvitationUrl: (invitationCode: string) => string;\n observability?: boolean;\n};\n\nexport default ({ context, observability, createInvitationUrl }: IntentResolverOptions) => {\n const resolve = (typename: string) =>\n context.requestCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {};\n\n return contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: SpaceAction.OpenCreateSpace,\n resolve: () => ({\n intents: [\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n subject: CREATE_SPACE_DIALOG,\n options: {\n blockAlign: 'start',\n },\n }),\n ],\n }),\n }),\n createResolver({\n intent: SpaceAction.Create,\n resolve: async ({ name, hue, icon, edgeReplication }) => {\n const client = context.requestCapability(ClientCapabilities.Client);\n const space = await client.spaces.create({ name, hue, icon });\n if (edgeReplication) {\n await space.internal.setEdgeReplicationPreference(EdgeReplicationSetting.ENABLED);\n }\n await space.waitUntilReady();\n const collection = live(CollectionType, { objects: [], views: {} });\n space.properties[CollectionType.typename] = makeRef(collection);\n\n if (Migrations.versionProperty) {\n space.properties[Migrations.versionProperty] = Migrations.targetVersion;\n }\n\n return {\n data: {\n id: space.id,\n subject: [space.id],\n space,\n },\n intents: [\n ...(observability\n ? [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'space.create',\n properties: {\n spaceId: space.id,\n },\n }),\n ]\n : []),\n ],\n };\n },\n }),\n createResolver({\n intent: SpaceAction.Join,\n resolve: ({ invitationCode, onDone }) => ({\n intents: [\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n subject: JOIN_DIALOG,\n options: {\n blockAlign: 'start',\n props: {\n initialInvitationCode: invitationCode,\n onDone,\n } satisfies Partial<JoinDialogProps>,\n },\n }),\n ],\n }),\n }),\n createResolver({\n intent: SpaceAction.OpenMembers,\n resolve: ({ space }) => ({\n intents: [\n createIntent(LayoutAction.Open, {\n part: 'main',\n subject: [`members-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`],\n options: {\n workspace: space.id,\n },\n }),\n ],\n }),\n }),\n createResolver({\n intent: SpaceAction.Share,\n resolve: ({ space, type, authMethod, multiUse, target }) => {\n const invitation = space.share({ type, authMethod, multiUse, target });\n return {\n data: invitation,\n intents: observability\n ? [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'space.share',\n properties: {\n spaceId: space.id,\n },\n }),\n ]\n : [],\n };\n },\n }),\n createResolver({\n intent: SpaceAction.GetShareLink,\n resolve: ({ space, target, copyToClipboard }) =>\n Effect.gen(function* () {\n const { dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const invitation = yield* dispatch(\n createIntent(SpaceAction.Share, {\n space,\n type: Invitation.Type.DELEGATED,\n authMethod: Invitation.AuthMethod.KNOWN_PUBLIC_KEY,\n multiUse: true,\n target,\n }),\n );\n\n // TODO(wittjosiah): Better api to for this.\n // NOTE: Delegated invitations are invalid until the connecting state when keys are filled in.\n const invitationCode = yield* Effect.tryPromise(\n () =>\n new Promise<string>((resolve) => {\n invitation.subscribe((invitation) => {\n if (invitation.state === Invitation.State.CONNECTING) {\n resolve(InvitationEncoder.encode(invitation));\n }\n });\n }),\n );\n const url = createInvitationUrl(invitationCode);\n if (copyToClipboard) {\n yield* Effect.tryPromise(() => navigator.clipboard.writeText(url));\n }\n\n return { data: url };\n }),\n }),\n createResolver({\n intent: SpaceAction.Lock,\n resolve: ({ space }) => {\n space.properties[COMPOSER_SPACE_LOCK] = true;\n return {\n intents: [\n ...(observability\n ? [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'space.lock',\n properties: {\n spaceId: space.id,\n },\n }),\n ]\n : []),\n ],\n };\n },\n }),\n createResolver({\n intent: SpaceAction.Unlock,\n resolve: ({ space }) => {\n space.properties[COMPOSER_SPACE_LOCK] = false;\n return {\n intents: [\n ...(observability\n ? [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'space.unlock',\n properties: {\n spaceId: space.id,\n },\n }),\n ]\n : []),\n ],\n };\n },\n }),\n createResolver({\n intent: SpaceAction.Rename,\n resolve: ({ caller, space }) => {\n return {\n intents: [\n createIntent(LayoutAction.UpdatePopover, {\n part: 'popover',\n subject: POPOVER_RENAME_SPACE,\n options: {\n anchorId: `dxos.org/ui/${caller}/${space.id}`,\n props: space,\n },\n }),\n ],\n };\n },\n }),\n createResolver({\n intent: SpaceAction.AddSpace,\n resolve: () => {\n return {\n intents: [\n createIntent(LayoutAction.UpdatePopover, {\n part: 'popover',\n subject: POPOVER_ADD_SPACE,\n options: {\n variant: 'react',\n anchorId: SpaceAction.AddSpace._tag,\n side: 'right',\n },\n }),\n ],\n };\n },\n }),\n createResolver({\n intent: SpaceAction.OpenSettings,\n resolve: ({ space }) => ({\n intents: [\n createIntent(LayoutAction.Open, {\n part: 'main',\n subject: [`properties-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`],\n options: {\n workspace: space.id,\n },\n }),\n ],\n }),\n }),\n createResolver({\n intent: SpaceAction.Open,\n resolve: async ({ space }) => {\n await space.open();\n },\n }),\n createResolver({\n intent: SpaceAction.Close,\n resolve: async ({ space }) => {\n await space.close();\n },\n }),\n createResolver({\n intent: SpaceAction.Migrate,\n resolve: async ({ space, version: targetVersion }) => {\n const state = context.requestCapability(SpaceCapabilities.MutableState);\n\n if (space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION) {\n state.sdkMigrationRunning[space.id] = true;\n await space.internal.migrate();\n state.sdkMigrationRunning[space.id] = false;\n }\n const result = await Migrations.migrate(space, targetVersion);\n const version = Migrations.versionProperty ? space.properties[Migrations.versionProperty] : undefined;\n return {\n data: result,\n intents: [\n ...(observability\n ? [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'space.migrate',\n properties: {\n spaceId: space.id,\n targetVersion,\n version,\n },\n }),\n ]\n : []),\n ],\n };\n },\n }),\n createResolver({\n intent: SpaceAction.OpenCreateObject,\n resolve: ({ target, navigable = true }) => {\n const state = context.requestCapability(SpaceCapabilities.State);\n\n return {\n intents: [\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n subject: CREATE_OBJECT_DIALOG,\n options: {\n blockAlign: 'start',\n props: {\n target,\n shouldNavigate: navigable\n ? (object: Live<any>) => !(object instanceof CollectionType) || state.navigableCollections\n : () => false,\n } satisfies Partial<CreateObjectDialogProps>,\n },\n }),\n ],\n };\n },\n }),\n createResolver({\n intent: SpaceAction.AddObject,\n resolve: async ({ target, object, hidden }) => {\n const space = isSpace(target) ? target : getSpace(target);\n invariant(space, 'Space not found.');\n\n if (space.db.coreDatabase.getAllObjectIds().length >= SPACE_MAX_OBJECTS) {\n return {\n error: new Error('Space limit reached.'),\n intents: [\n createIntent(LayoutAction.AddToast, {\n part: 'toast',\n subject: {\n id: `${SPACE_PLUGIN}/space-limit`,\n title: ['space limit label', { ns: SPACE_PLUGIN }],\n description: ['space limit description', { ns: SPACE_PLUGIN }],\n duration: 5_000,\n icon: 'ph--warning--regular',\n actionLabel: ['remove deleted objects label', { ns: SPACE_PLUGIN }],\n actionAlt: ['remove deleted objects alt', { ns: SPACE_PLUGIN }],\n closeLabel: ['close label', { ns: 'os' }],\n onAction: () => space.db.coreDatabase.unlinkDeletedObjects(),\n },\n }),\n ...(observability\n ? [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'space.limit',\n properties: {\n spaceId: space.id,\n },\n }),\n ]\n : []),\n ],\n };\n }\n\n if (target instanceof CollectionType) {\n target.objects.push(makeRef(object as HasId));\n } else if (isSpace(target) && hidden) {\n space.db.add(object);\n } else if (isSpace(target)) {\n const collection = space.properties[CollectionType.typename]?.target;\n if (collection instanceof CollectionType) {\n collection.objects.push(makeRef(object as HasId));\n } else {\n // TODO(wittjosiah): Can't add non-echo objects by including in a collection because of types.\n const collection = live(CollectionType, { objects: [makeRef(object as HasId)], views: {} });\n space.properties[CollectionType.typename] = makeRef(collection);\n }\n }\n\n return {\n data: {\n id: fullyQualifiedId(object),\n subject: [fullyQualifiedId(object)],\n object: object as HasId,\n },\n intents: [\n ...(observability\n ? [\n createIntent(ObservabilityAction.SendEvent, {\n name: 'space.object.add',\n properties: {\n spaceId: space.id,\n objectId: object.id,\n typename: getTypename(object),\n },\n }),\n ]\n : []),\n ],\n };\n },\n }),\n createResolver({\n intent: SpaceAction.RemoveObjects,\n resolve: async ({ objects, target, deletionData }, undo) => {\n const layout = context.requestCapability(Capabilities.Layout);\n\n // All objects must be a member of the same space.\n const space = getSpace(objects[0]);\n invariant(space && objects.every((obj) => isEchoObject(obj) && getSpace(obj) === space));\n const openObjectIds = new Set<string>(layout.active);\n\n if (!undo) {\n const parentCollection: CollectionType = target ?? space.properties[CollectionType.typename]?.target;\n const nestedObjectsList = await Promise.all(objects.map((obj) => getNestedObjects(obj, resolve)));\n\n const deletionData = {\n objects,\n parentCollection,\n indices: objects.map((obj) =>\n parentCollection instanceof CollectionType\n ? parentCollection.objects.findIndex((object) => object.target === obj)\n : -1,\n ),\n nestedObjectsList,\n wasActive: objects\n .flatMap((obj, i) => [obj, ...nestedObjectsList[i]])\n .map((obj) => fullyQualifiedId(obj))\n .filter((id) => openObjectIds.has(id)),\n } satisfies SpaceAction.DeletionData;\n\n if (deletionData.parentCollection instanceof CollectionType) {\n [...deletionData.indices]\n .sort((a, b) => b - a)\n .forEach((index: number) => {\n if (index !== -1) {\n deletionData.parentCollection.objects.splice(index, 1);\n }\n });\n }\n\n deletionData.nestedObjectsList.flat().forEach((obj) => {\n space.db.remove(obj);\n });\n objects.forEach((obj) => space.db.remove(obj));\n\n const undoMessageKey = objects.some((obj) => obj instanceof CollectionType)\n ? 'collection deleted label'\n : objects.length > 1\n ? 'objects deleted label'\n : 'object deleted label';\n\n return {\n undoable: {\n // TODO(ZaymonFC): Pluralize if more than one object.\n message: [undoMessageKey, { ns: SPACE_PLUGIN }],\n data: { deletionData },\n },\n intents:\n deletionData.wasActive.length > 0\n ? [\n createIntent(LayoutAction.Close, {\n part: 'main',\n subject: deletionData.wasActive,\n options: { state: false },\n }),\n ]\n : undefined,\n };\n } else {\n if (\n deletionData?.objects?.length &&\n deletionData.objects.every(isEchoObject) &&\n deletionData.parentCollection instanceof CollectionType\n ) {\n // Restore the object to the space.\n const restoredObjects = deletionData.objects.map((obj: Expando) => space.db.add(obj));\n\n // Restore nested objects to the space.\n deletionData.nestedObjectsList.flat().forEach((obj: Expando) => {\n space.db.add(obj);\n });\n\n deletionData.indices.forEach((index: number, i: number) => {\n if (index !== -1) {\n deletionData.parentCollection.objects.splice(index, 0, makeRef(restoredObjects[i] as Expando));\n }\n });\n\n return {\n intents:\n deletionData.wasActive.length > 0\n ? [\n createIntent(LayoutAction.Open, {\n part: 'main',\n subject: deletionData.wasActive,\n }),\n ]\n : undefined,\n };\n }\n }\n },\n }),\n createResolver({\n intent: SpaceAction.RenameObject,\n resolve: async ({ object, caller }) => ({\n intents: [\n createIntent(LayoutAction.UpdatePopover, {\n part: 'popover',\n subject: POPOVER_RENAME_OBJECT,\n options: {\n anchorId: `dxos.org/ui/${caller}/${fullyQualifiedId(object)}`,\n props: object,\n },\n }),\n ],\n }),\n }),\n createResolver({\n intent: SpaceAction.DuplicateObject,\n resolve: async ({ object, target }) => {\n const space = isSpace(target) ? target : getSpace(target);\n invariant(space, 'Space not found.');\n\n const newObject = await cloneObject(object, resolve, space);\n return {\n intents: [createIntent(SpaceAction.AddObject, { object: newObject, target })],\n };\n },\n }),\n createResolver({\n intent: SpaceAction.WaitForObject,\n resolve: async ({ id }) => {\n const state = context.requestCapability(SpaceCapabilities.MutableState);\n state.awaiting = id;\n },\n }),\n createResolver({\n intent: CollectionAction.Create,\n resolve: async ({ name }) => ({\n data: { object: live(CollectionType, { name, objects: [], views: {} }) },\n }),\n }),\n ]);\n};\n"],
5
- "mappings": "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",
6
- "names": ["Effect", "Capabilities", "contributes", "createIntent", "createResolver", "LayoutAction", "getTypename", "invariant", "live", "makeRef", "Migrations", "ClientCapabilities", "ObservabilityAction", "EdgeReplicationSetting", "isSpace", "getSpace", "SpaceState", "fullyQualifiedId", "isEchoObject", "Invitation", "InvitationEncoder", "ATTENDABLE_PATH_SEPARATOR", "SPACE_MAX_OBJECTS", "context", "observability", "createInvitationUrl", "resolve", "typename", "requestCapabilities", "Capabilities", "Metadata", "find", "id", "metadata", "contributes", "IntentResolver", "createResolver", "intent", "SpaceAction", "OpenCreateSpace", "intents", "createIntent", "LayoutAction", "UpdateDialog", "part", "subject", "CREATE_SPACE_DIALOG", "options", "blockAlign", "Create", "name", "hue", "icon", "edgeReplication", "client", "requestCapability", "ClientCapabilities", "Client", "space", "spaces", "create", "internal", "setEdgeReplicationPreference", "EdgeReplicationSetting", "ENABLED", "waitUntilReady", "collection", "live", "CollectionType", "objects", "views", "properties", "makeRef", "Migrations", "versionProperty", "targetVersion", "data", "ObservabilityAction", "SendEvent", "spaceId", "Join", "invitationCode", "onDone", "JOIN_DIALOG", "props", "initialInvitationCode", "OpenMembers", "Open", "ATTENDABLE_PATH_SEPARATOR", "workspace", "Share", "type", "authMethod", "multiUse", "target", "invitation", "share", "GetShareLink", "copyToClipboard", "Effect", "gen", "dispatch", "IntentDispatcher", "Invitation", "Type", "DELEGATED", "AuthMethod", "KNOWN_PUBLIC_KEY", "tryPromise", "Promise", "subscribe", "state", "State", "CONNECTING", "InvitationEncoder", "encode", "url", "navigator", "clipboard", "writeText", "Lock", "COMPOSER_SPACE_LOCK", "Unlock", "Rename", "caller", "UpdatePopover", "POPOVER_RENAME_SPACE", "anchorId", "AddSpace", "POPOVER_ADD_SPACE", "variant", "_tag", "side", "OpenSettings", "open", "Close", "close", "Migrate", "version", "SpaceCapabilities", "MutableState", "get", "SpaceState", "SPACE_REQUIRES_MIGRATION", "sdkMigrationRunning", "migrate", "result", "undefined", "OpenCreateObject", "navigable", "CREATE_OBJECT_DIALOG", "shouldNavigate", "object", "navigableCollections", "AddObject", "hidden", "isSpace", "getSpace", "invariant", "db", "coreDatabase", "getAllObjectIds", "length", "error", "Error", "AddToast", "SPACE_PLUGIN", "title", "ns", "description", "duration", "actionLabel", "actionAlt", "closeLabel", "onAction", "unlinkDeletedObjects", "push", "add", "fullyQualifiedId", "objectId", "getTypename", "RemoveObjects", "deletionData", "undo", "layout", "Layout", "every", "obj", "isEchoObject", "openObjectIds", "Set", "active", "parentCollection", "nestedObjectsList", "all", "map", "getNestedObjects", "indices", "findIndex", "wasActive", "flatMap", "i", "filter", "has", "sort", "a", "b", "forEach", "index", "splice", "flat", "remove", "undoMessageKey", "some", "undoable", "message", "restoredObjects", "RenameObject", "POPOVER_RENAME_OBJECT", "DuplicateObject", "newObject", "cloneObject", "WaitForObject", "awaiting", "CollectionAction"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/react-surface.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Schema } from 'effect';\nimport React, { useCallback } from 'react';\n\nimport { Capabilities, contributes, createSurface, Surface, useCapability, useLayout } from '@dxos/app-framework';\nimport { isInstanceOf } from '@dxos/echo-schema';\nimport { findAnnotation } from '@dxos/effect';\nimport { SettingsStore } from '@dxos/local-storage';\nimport {\n getSpace,\n isEchoObject,\n isLiveObject,\n isSpace,\n parseId,\n SpaceState,\n useSpace,\n type AnyLiveObject,\n type Space,\n} from '@dxos/react-client/echo';\nimport { Input } from '@dxos/react-ui';\nimport { type InputProps } from '@dxos/react-ui-form';\nimport { HuePicker, IconPicker } from '@dxos/react-ui-pickers';\nimport { type JoinPanelProps } from '@dxos/shell/react';\n\nimport { SpaceCapabilities } from './capabilities';\nimport {\n CollectionMain,\n CollectionSection,\n CREATE_OBJECT_DIALOG,\n CREATE_SPACE_DIALOG,\n CreateObjectDialog,\n CreateSpaceDialog,\n InlineSyncStatus,\n JOIN_DIALOG,\n JoinDialog,\n MenuFooter,\n POPOVER_RENAME_OBJECT,\n POPOVER_RENAME_SPACE,\n PopoverRenameObject,\n PopoverRenameSpace,\n SmallPresenceLive,\n SpacePluginSettings,\n SpacePresence,\n SyncStatus,\n type CreateObjectDialogProps,\n POPOVER_ADD_SPACE,\n PopoverAddSpace,\n MembersContainer,\n ObjectSettingsContainer,\n SpaceSettingsContainer,\n SchemaContainer,\n} from '../components';\nimport { SPACE_PLUGIN } from '../meta';\nimport { CollectionType, HueAnnotationId, IconAnnotationId, type SpaceSettingsProps } from '../types';\n\ntype ReactSurfaceOptions = {\n createInvitationUrl: (invitationCode: string) => string;\n};\n\nexport default ({ createInvitationUrl }: ReactSurfaceOptions) =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${SPACE_PLUGIN}/article`,\n role: 'article',\n filter: (data): data is { subject: Space } =>\n // TODO(wittjosiah): Need to avoid shotgun parsing space state everywhere.\n isSpace(data.subject) && data.subject.state.get() === SpaceState.SPACE_READY,\n component: ({ data, role, ...rest }) => (\n <Surface\n data={{ id: data.subject.id, subject: data.subject.properties[CollectionType.typename]?.target }}\n role={role}\n {...rest}\n />\n ),\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/collection-fallback`,\n role: 'article',\n position: 'fallback',\n filter: (data): data is { subject: CollectionType } => isInstanceOf(CollectionType, data.subject),\n component: ({ data }) => <CollectionMain collection={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/plugin-settings`,\n role: 'article',\n filter: (data): data is { subject: SettingsStore<SpaceSettingsProps> } =>\n data.subject instanceof SettingsStore && data.subject.prefix === SPACE_PLUGIN,\n component: ({ data: { subject } }) => <SpacePluginSettings settings={subject.value} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/companion/object-settings`,\n role: 'article',\n filter: (data): data is { companionTo: AnyLiveObject<any> } =>\n isEchoObject(data.companionTo) && data.subject === 'settings',\n component: ({ data, role }) => <ObjectSettingsContainer object={data.companionTo} role={role} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/space-settings-properties`,\n role: 'article',\n filter: (data): data is { subject: string } => data.subject === `${SPACE_PLUGIN}/properties`,\n component: () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n const space = useSpace(spaceId);\n if (!space || !spaceId) {\n return null;\n }\n\n return <SpaceSettingsContainer space={space} />;\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/space-settings-members`,\n role: 'article',\n position: 'hoist',\n filter: (data): data is { subject: string } => data.subject === `${SPACE_PLUGIN}/members`,\n component: () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n const space = useSpace(spaceId);\n if (!space || !spaceId) {\n return null;\n }\n\n return <MembersContainer space={space} createInvitationUrl={createInvitationUrl} />;\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/space-settings-schema`,\n role: 'article',\n filter: (data): data is { subject: string } => data.subject === `${SPACE_PLUGIN}/schema`,\n component: () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n const space = useSpace(spaceId);\n if (!space || !spaceId) {\n return null;\n }\n\n return <SchemaContainer space={space} />;\n },\n }),\n createSurface({\n id: JOIN_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: JoinPanelProps } => data.component === JOIN_DIALOG,\n component: ({ data }) => <JoinDialog {...data.props} />,\n }),\n createSurface({\n id: CREATE_SPACE_DIALOG,\n role: 'dialog',\n filter: (data): data is any => data.component === CREATE_SPACE_DIALOG,\n component: () => <CreateSpaceDialog />,\n }),\n createSurface({\n id: CREATE_OBJECT_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: CreateObjectDialogProps } => data.component === CREATE_OBJECT_DIALOG,\n component: ({ data }) => <CreateObjectDialog {...data.props} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/create-initial-space-form-[hue]`,\n role: 'form-input',\n filter: (data): data is { prop: string; schema: Schema.Schema<any> } => {\n const annotation = findAnnotation<boolean>((data.schema as Schema.Schema.All).ast, HueAnnotationId);\n return !!annotation;\n },\n component: ({ data: _, ...inputProps }) => {\n const { label, disabled, type, getValue, onValueChange } = inputProps as any as InputProps;\n const handleChange = useCallback((nextHue: string) => onValueChange(type, nextHue), [onValueChange]);\n const handleReset = useCallback(() => onValueChange(type, undefined), [onValueChange]);\n return (\n <Input.Root>\n <Input.Label>{label}</Input.Label>\n <HuePicker disabled={disabled} value={getValue() ?? ''} onChange={handleChange} onReset={handleReset} />\n </Input.Root>\n );\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/create-initial-space-form-[icon]`,\n role: 'form-input',\n filter: (data): data is { prop: string; schema: Schema.Schema<any> } => {\n const annotation = findAnnotation<boolean>((data.schema as Schema.Schema.All).ast, IconAnnotationId);\n return !!annotation;\n },\n component: ({ data: _, ...inputProps }) => {\n const { label, disabled, type, getValue, onValueChange } = inputProps as any as InputProps;\n const handleChange = useCallback((nextIcon: string) => onValueChange(type, nextIcon), [onValueChange]);\n const handleReset = useCallback(() => onValueChange(type, undefined), [onValueChange]);\n return (\n <Input.Root>\n <Input.Label>{label}</Input.Label>\n <IconPicker disabled={disabled} value={getValue() ?? ''} onChange={handleChange} onReset={handleReset} />\n </Input.Root>\n );\n },\n }),\n createSurface({\n id: POPOVER_RENAME_SPACE,\n role: 'popover',\n filter: (data): data is { props: Space } => data.component === POPOVER_RENAME_SPACE && isSpace(data.props),\n component: ({ data }) => <PopoverRenameSpace space={data.props} />,\n }),\n createSurface({\n id: POPOVER_RENAME_OBJECT,\n role: 'popover',\n filter: (data): data is { props: AnyLiveObject<any> } =>\n data.component === POPOVER_RENAME_OBJECT && isLiveObject(data.props),\n component: ({ data }) => <PopoverRenameObject object={data.props} />,\n }),\n createSurface({\n id: POPOVER_ADD_SPACE,\n role: 'popover',\n filter: (data): data is any => data.component === POPOVER_ADD_SPACE,\n component: () => <PopoverAddSpace />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/menu-footer`,\n role: 'menu-footer',\n filter: (data): data is { subject: AnyLiveObject<any> } => isEchoObject(data.subject),\n component: ({ data }) => <MenuFooter object={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/navtree-presence`,\n role: 'navtree-item-end',\n filter: (data): data is { id: string; subject: AnyLiveObject<any>; open?: boolean } =>\n typeof data.id === 'string' && isEchoObject(data.subject),\n component: ({ data }) => {\n // TODO(wittjosiah): Doesn't need to be mutable but readonly type messes with ComplexMap.\n const state = useCapability(SpaceCapabilities.MutableState);\n return <SmallPresenceLive id={data.id} open={data.open} viewers={state.viewersByObject[data.id]} />;\n },\n }),\n // TODO(wittjosiah): Attention glyph for non-echo items should be handled elsewhere.\n createSurface({\n id: `${SPACE_PLUGIN}/navtree-presence-fallback`,\n role: 'navtree-item-end',\n position: 'fallback',\n filter: (data): data is { id: string; open?: boolean } => typeof data.id === 'string',\n component: ({ data }) => <SmallPresenceLive id={data.id} open={data.open} />,\n }),\n // TODO(wittjosiah): Broken?\n createSurface({\n id: `${SPACE_PLUGIN}/navtree-sync-status`,\n role: 'navtree-item-end',\n filter: (data): data is { subject: Space; open?: boolean } => isSpace(data.subject),\n component: ({ data }) => <InlineSyncStatus space={data.subject} open={data.open} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/navbar-presence`,\n role: 'navbar-end',\n position: 'hoist',\n filter: (data): data is { subject: Space | AnyLiveObject<any> } =>\n isSpace(data.subject) || isEchoObject(data.subject),\n component: ({ data }) => {\n const space = isSpace(data.subject) ? data.subject : getSpace(data.subject);\n const object = isSpace(data.subject)\n ? data.subject.state.get() === SpaceState.SPACE_READY\n ? (space?.properties[CollectionType.typename]?.target as CollectionType)\n : undefined\n : data.subject;\n\n return object ? <SpacePresence object={object} /> : null;\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/collection-section`,\n role: 'section',\n filter: (data): data is { subject: CollectionType } => isInstanceOf(CollectionType, data.subject),\n component: ({ data }) => <CollectionSection collection={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/status`,\n role: 'status',\n component: () => <SyncStatus />,\n }),\n ]);\n"],
5
- "mappings": "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",
6
- "names": ["React", "useCallback", "Capabilities", "contributes", "createSurface", "Surface", "useCapability", "useLayout", "isInstanceOf", "findAnnotation", "SettingsStore", "getSpace", "isEchoObject", "isLiveObject", "isSpace", "parseId", "SpaceState", "useSpace", "Input", "HuePicker", "IconPicker", "createInvitationUrl", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "SPACE_PLUGIN", "role", "filter", "data", "isSpace", "subject", "state", "get", "SpaceState", "SPACE_READY", "component", "rest", "Surface", "properties", "CollectionType", "typename", "target", "position", "isInstanceOf", "CollectionMain", "collection", "SettingsStore", "prefix", "SpacePluginSettings", "settings", "value", "isEchoObject", "companionTo", "ObjectSettingsContainer", "object", "layout", "useLayout", "spaceId", "parseId", "workspace", "space", "useSpace", "SpaceSettingsContainer", "MembersContainer", "SchemaContainer", "JOIN_DIALOG", "JoinDialog", "props", "CREATE_SPACE_DIALOG", "CreateSpaceDialog", "CREATE_OBJECT_DIALOG", "CreateObjectDialog", "annotation", "findAnnotation", "schema", "ast", "HueAnnotationId", "_", "inputProps", "label", "disabled", "type", "getValue", "onValueChange", "handleChange", "useCallback", "nextHue", "handleReset", "undefined", "Input", "Root", "Label", "HuePicker", "onChange", "onReset", "IconAnnotationId", "nextIcon", "IconPicker", "POPOVER_RENAME_SPACE", "PopoverRenameSpace", "POPOVER_RENAME_OBJECT", "isLiveObject", "PopoverRenameObject", "POPOVER_ADD_SPACE", "PopoverAddSpace", "MenuFooter", "useCapability", "SpaceCapabilities", "MutableState", "SmallPresenceLive", "open", "viewers", "viewersByObject", "InlineSyncStatus", "getSpace", "SpacePresence", "CollectionSection", "SyncStatus"]
7
- }