@dxos/plugin-space 0.7.5-labs.c0e040f → 0.7.5-labs.d199c0f

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 (220) hide show
  1. package/dist/lib/browser/{app-graph-builder-GSS3V7IN.mjs → app-graph-builder-MGK5HWPZ.mjs} +16 -95
  2. package/dist/lib/browser/app-graph-builder-MGK5HWPZ.mjs.map +7 -0
  3. package/dist/lib/browser/{app-graph-serializer-QDXM5M6K.mjs → app-graph-serializer-FOWFLYGU.mjs} +4 -4
  4. package/dist/lib/browser/{chunk-ZL5ZFGBK.mjs → chunk-23RVI5FZ.mjs} +15 -5
  5. package/dist/lib/browser/chunk-23RVI5FZ.mjs.map +7 -0
  6. package/dist/lib/browser/{chunk-RLZQJD47.mjs → chunk-NU7WDVGN.mjs} +2 -1
  7. package/dist/lib/browser/chunk-NU7WDVGN.mjs.map +7 -0
  8. package/dist/lib/browser/{chunk-DIBLC24B.mjs → chunk-S6B7627U.mjs} +293 -213
  9. package/dist/lib/browser/chunk-S6B7627U.mjs.map +7 -0
  10. package/dist/lib/browser/{chunk-SDK7RZI3.mjs → chunk-UDWHTKB5.mjs} +6 -3
  11. package/dist/lib/browser/chunk-UDWHTKB5.mjs.map +7 -0
  12. package/dist/lib/browser/{chunk-XPZ6IIXF.mjs → chunk-ULA2UQJ4.mjs} +15 -1
  13. package/dist/lib/browser/chunk-ULA2UQJ4.mjs.map +7 -0
  14. package/dist/lib/browser/{identity-created-25TK5XNO.mjs → identity-created-FYGS6TBH.mjs} +2 -2
  15. package/dist/lib/browser/index.mjs +53 -19
  16. package/dist/lib/browser/index.mjs.map +3 -3
  17. package/dist/lib/browser/{intent-resolver-LNTCXZ57.mjs → intent-resolver-QVR4MSJV.mjs} +26 -8
  18. package/dist/lib/browser/intent-resolver-QVR4MSJV.mjs.map +7 -0
  19. package/dist/lib/browser/meta.json +1 -1
  20. package/dist/lib/browser/{react-root-Q7JJDCPB.mjs → react-root-IP2ZB245.mjs} +5 -5
  21. package/dist/lib/browser/{react-surface-BDMYLARO.mjs → react-surface-BT3EHB6V.mjs} +16 -22
  22. package/dist/lib/browser/react-surface-BT3EHB6V.mjs.map +7 -0
  23. package/dist/lib/browser/schema-5W3DSY2E.mjs +24 -0
  24. package/dist/lib/browser/schema-5W3DSY2E.mjs.map +7 -0
  25. package/dist/lib/browser/{settings-K4JPYYEM.mjs → settings-PHPCXX33.mjs} +2 -2
  26. package/dist/lib/browser/{spaces-ready-THYJEJYZ.mjs → spaces-ready-K47RR7N2.mjs} +4 -4
  27. package/dist/lib/browser/{state-6DCY5YJP.mjs → state-INJ63O57.mjs} +2 -2
  28. package/dist/lib/browser/types/index.mjs +5 -3
  29. package/dist/lib/node/{app-graph-builder-V3RCGDV7.cjs → app-graph-builder-ZIUBXRPA.cjs} +43 -122
  30. package/dist/lib/node/app-graph-builder-ZIUBXRPA.cjs.map +7 -0
  31. package/dist/lib/node/{app-graph-serializer-H4UACG57.cjs → app-graph-serializer-VQOGHKXL.cjs} +20 -20
  32. package/dist/lib/node/{chunk-4AZ2DD4G.cjs → chunk-N2FS7PRA.cjs} +354 -273
  33. package/dist/lib/node/chunk-N2FS7PRA.cjs.map +7 -0
  34. package/dist/lib/node/{chunk-SYVPVU3K.cjs → chunk-OVGKWJOC.cjs} +50 -40
  35. package/dist/lib/node/chunk-OVGKWJOC.cjs.map +7 -0
  36. package/dist/lib/node/{chunk-D6BFKOXY.cjs → chunk-U6DYXAR3.cjs} +10 -7
  37. package/dist/lib/node/chunk-U6DYXAR3.cjs.map +7 -0
  38. package/dist/lib/node/{chunk-6MEOP3DH.cjs → chunk-WAJKBO3J.cjs} +21 -6
  39. package/dist/lib/node/chunk-WAJKBO3J.cjs.map +7 -0
  40. package/dist/lib/node/{chunk-UX3U4RU2.cjs → chunk-YZKNRFHU.cjs} +5 -4
  41. package/dist/lib/node/chunk-YZKNRFHU.cjs.map +7 -0
  42. package/dist/lib/node/{identity-created-7G5U7R36.cjs → identity-created-AXI64BLE.cjs} +6 -6
  43. package/dist/lib/node/index.cjs +106 -73
  44. package/dist/lib/node/index.cjs.map +3 -3
  45. package/dist/lib/node/{intent-resolver-CDE4M3TW.cjs → intent-resolver-MLENGECT.cjs} +76 -59
  46. package/dist/lib/node/intent-resolver-MLENGECT.cjs.map +7 -0
  47. package/dist/lib/node/meta.json +1 -1
  48. package/dist/lib/node/{react-root-JN6AIHMS.cjs → react-root-3OX5Z5CX.cjs} +10 -10
  49. package/dist/lib/node/{react-surface-XSK2QEQV.cjs → react-surface-5NYCMXSM.cjs} +49 -57
  50. package/dist/lib/node/react-surface-5NYCMXSM.cjs.map +7 -0
  51. package/dist/lib/node/schema-YN7WVFRX.cjs +40 -0
  52. package/dist/lib/node/schema-YN7WVFRX.cjs.map +7 -0
  53. package/dist/lib/node/{settings-TEELGWS4.cjs → settings-5QYFWNH7.cjs} +6 -6
  54. package/dist/lib/node/{spaces-ready-L4MJTFQ6.cjs → spaces-ready-FQNAKR7G.cjs} +13 -13
  55. package/dist/lib/node/{state-WPZC4JXB.cjs → state-57UE3DYE.cjs} +6 -6
  56. package/dist/lib/node/types/index.cjs +18 -16
  57. package/dist/lib/node/types/index.cjs.map +2 -2
  58. package/dist/lib/node-esm/{app-graph-builder-VFHK7OQI.mjs → app-graph-builder-TERVM2SL.mjs} +16 -95
  59. package/dist/lib/node-esm/app-graph-builder-TERVM2SL.mjs.map +7 -0
  60. package/dist/lib/node-esm/{app-graph-serializer-PIPJVXYZ.mjs → app-graph-serializer-GZRSWHEN.mjs} +4 -4
  61. package/dist/lib/node-esm/{chunk-4UX5WGKJ.mjs → chunk-2TQ2AJEZ.mjs} +6 -3
  62. package/dist/lib/node-esm/chunk-2TQ2AJEZ.mjs.map +7 -0
  63. package/dist/lib/node-esm/{chunk-LGL4A5B5.mjs → chunk-6RSVVEPS.mjs} +2 -1
  64. package/dist/lib/node-esm/chunk-6RSVVEPS.mjs.map +7 -0
  65. package/dist/lib/node-esm/{chunk-FTVEA5LO.mjs → chunk-DIKRH2IK.mjs} +293 -213
  66. package/dist/lib/node-esm/chunk-DIKRH2IK.mjs.map +7 -0
  67. package/dist/lib/node-esm/{chunk-RCZRYXI3.mjs → chunk-PGH5L7MV.mjs} +15 -5
  68. package/dist/lib/node-esm/chunk-PGH5L7MV.mjs.map +7 -0
  69. package/dist/lib/node-esm/{chunk-AAQRELDK.mjs → chunk-TRNZQEEN.mjs} +15 -1
  70. package/dist/lib/node-esm/chunk-TRNZQEEN.mjs.map +7 -0
  71. package/dist/lib/node-esm/{identity-created-7THGZ7EW.mjs → identity-created-3CGEXNPO.mjs} +2 -2
  72. package/dist/lib/node-esm/index.mjs +53 -19
  73. package/dist/lib/node-esm/index.mjs.map +3 -3
  74. package/dist/lib/node-esm/{intent-resolver-7L3GJAZE.mjs → intent-resolver-BLW4RM6X.mjs} +26 -8
  75. package/dist/lib/node-esm/intent-resolver-BLW4RM6X.mjs.map +7 -0
  76. package/dist/lib/node-esm/meta.json +1 -1
  77. package/dist/lib/node-esm/{react-root-BNA6PBFZ.mjs → react-root-7XXGP56B.mjs} +5 -5
  78. package/dist/lib/node-esm/{react-surface-FTI2LQNL.mjs → react-surface-R2ECJSFB.mjs} +16 -22
  79. package/dist/lib/node-esm/react-surface-R2ECJSFB.mjs.map +7 -0
  80. package/dist/lib/node-esm/schema-LOR2EVGY.mjs +25 -0
  81. package/dist/lib/node-esm/schema-LOR2EVGY.mjs.map +7 -0
  82. package/dist/lib/node-esm/{settings-KXYUZBLN.mjs → settings-H6MXTEQM.mjs} +2 -2
  83. package/dist/lib/node-esm/{spaces-ready-ZC2R73H3.mjs → spaces-ready-HKAQG5SA.mjs} +4 -4
  84. package/dist/lib/node-esm/{state-5GH2D5U4.mjs → state-VYA6OFHD.mjs} +2 -2
  85. package/dist/lib/node-esm/types/index.mjs +5 -3
  86. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  87. package/dist/types/src/capabilities/app-graph-builder.d.ts +88 -88
  88. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  89. package/dist/types/src/capabilities/capabilities.d.ts +2 -1
  90. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  91. package/dist/types/src/capabilities/index.d.ts +112 -111
  92. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  93. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  94. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  95. package/dist/types/src/capabilities/schema.d.ts +4 -0
  96. package/dist/types/src/capabilities/schema.d.ts.map +1 -0
  97. package/dist/types/src/components/AdvancedObjectSettings/AdvancedObjectSettings.d.ts +1 -2
  98. package/dist/types/src/components/AdvancedObjectSettings/AdvancedObjectSettings.d.ts.map +1 -1
  99. package/dist/types/src/components/AdvancedObjectSettings/ForeignKeys.d.ts +1 -2
  100. package/dist/types/src/components/AdvancedObjectSettings/ForeignKeys.d.ts.map +1 -1
  101. package/dist/types/src/components/AwaitingObject.d.ts +1 -2
  102. package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
  103. package/dist/types/src/components/BaseObjectSettings.d.ts +1 -2
  104. package/dist/types/src/components/BaseObjectSettings.d.ts.map +1 -1
  105. package/dist/types/src/components/CollectionMain.d.ts +1 -2
  106. package/dist/types/src/components/CollectionMain.d.ts.map +1 -1
  107. package/dist/types/src/components/CollectionSection.d.ts +1 -2
  108. package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
  109. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +2 -4
  110. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  111. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  112. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +5 -7
  113. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  114. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts +1 -2
  115. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  116. package/dist/types/src/components/JoinDialog.d.ts +1 -2
  117. package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
  118. package/dist/types/src/components/MenuFooter.d.ts +1 -2
  119. package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
  120. package/dist/types/src/components/PersistenceStatus.d.ts +1 -2
  121. package/dist/types/src/components/PersistenceStatus.d.ts.map +1 -1
  122. package/dist/types/src/components/PopoverAddSpace.d.ts +3 -0
  123. package/dist/types/src/components/PopoverAddSpace.d.ts.map +1 -0
  124. package/dist/types/src/components/PopoverRenameObject.d.ts +1 -2
  125. package/dist/types/src/components/PopoverRenameObject.d.ts.map +1 -1
  126. package/dist/types/src/components/PopoverRenameSpace.d.ts +1 -2
  127. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +1 -1
  128. package/dist/types/src/components/ShareSpaceButton.d.ts +2 -3
  129. package/dist/types/src/components/ShareSpaceButton.d.ts.map +1 -1
  130. package/dist/types/src/components/SpacePluginSettings.d.ts +1 -2
  131. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  132. package/dist/types/src/components/SpacePresence.d.ts +4 -5
  133. package/dist/types/src/components/SpacePresence.d.ts.map +1 -1
  134. package/dist/types/src/components/SpacePresence.stories.d.ts +2 -3
  135. package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
  136. package/dist/types/src/components/SpaceSettings/SpaceSettingsDialog.d.ts +1 -2
  137. package/dist/types/src/components/SpaceSettings/SpaceSettingsDialog.d.ts.map +1 -1
  138. package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.d.ts +1 -2
  139. package/dist/types/src/components/SpaceSettings/SpaceSettingsPanel.d.ts.map +1 -1
  140. package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts +1 -2
  141. package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts.map +1 -1
  142. package/dist/types/src/components/SyncStatus/Space.d.ts +2 -3
  143. package/dist/types/src/components/SyncStatus/Space.d.ts.map +1 -1
  144. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts +3 -4
  145. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  146. package/dist/types/src/components/index.d.ts +1 -0
  147. package/dist/types/src/components/index.d.ts.map +1 -1
  148. package/dist/types/src/events.d.ts +4 -0
  149. package/dist/types/src/events.d.ts.map +1 -1
  150. package/dist/types/src/index.d.ts +1 -1
  151. package/dist/types/src/index.d.ts.map +1 -1
  152. package/dist/types/src/translations.d.ts +9 -0
  153. package/dist/types/src/translations.d.ts.map +1 -1
  154. package/dist/types/src/types/collection.d.ts +2 -2
  155. package/dist/types/src/types/thread.d.ts +34 -34
  156. package/dist/types/src/types/types.d.ts +35 -10
  157. package/dist/types/src/types/types.d.ts.map +1 -1
  158. package/dist/types/src/util.d.ts +2 -2
  159. package/dist/types/src/util.d.ts.map +1 -1
  160. package/package.json +40 -39
  161. package/src/SpacePlugin.tsx +35 -11
  162. package/src/capabilities/app-graph-builder.ts +10 -84
  163. package/src/capabilities/capabilities.ts +3 -1
  164. package/src/capabilities/index.ts +1 -0
  165. package/src/capabilities/intent-resolver.ts +18 -0
  166. package/src/capabilities/react-surface.tsx +12 -28
  167. package/src/capabilities/schema.ts +27 -0
  168. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +1 -3
  169. package/src/components/CreateDialog/CreateObjectDialog.tsx +29 -21
  170. package/src/components/CreateDialog/CreateObjectPanel.tsx +39 -41
  171. package/src/components/PopoverAddSpace.tsx +46 -0
  172. package/src/components/SpaceSettings/SpaceSettingsPanel.tsx +22 -7
  173. package/src/components/index.ts +1 -0
  174. package/src/events.ts +6 -0
  175. package/src/index.ts +1 -1
  176. package/src/translations.ts +3 -0
  177. package/src/types/types.ts +21 -1
  178. package/src/util.tsx +7 -2
  179. package/dist/lib/browser/app-graph-builder-GSS3V7IN.mjs.map +0 -7
  180. package/dist/lib/browser/chunk-DIBLC24B.mjs.map +0 -7
  181. package/dist/lib/browser/chunk-RLZQJD47.mjs.map +0 -7
  182. package/dist/lib/browser/chunk-SDK7RZI3.mjs.map +0 -7
  183. package/dist/lib/browser/chunk-XPZ6IIXF.mjs.map +0 -7
  184. package/dist/lib/browser/chunk-ZL5ZFGBK.mjs.map +0 -7
  185. package/dist/lib/browser/intent-resolver-LNTCXZ57.mjs.map +0 -7
  186. package/dist/lib/browser/react-surface-BDMYLARO.mjs.map +0 -7
  187. package/dist/lib/node/app-graph-builder-V3RCGDV7.cjs.map +0 -7
  188. package/dist/lib/node/chunk-4AZ2DD4G.cjs.map +0 -7
  189. package/dist/lib/node/chunk-6MEOP3DH.cjs.map +0 -7
  190. package/dist/lib/node/chunk-D6BFKOXY.cjs.map +0 -7
  191. package/dist/lib/node/chunk-SYVPVU3K.cjs.map +0 -7
  192. package/dist/lib/node/chunk-UX3U4RU2.cjs.map +0 -7
  193. package/dist/lib/node/intent-resolver-CDE4M3TW.cjs.map +0 -7
  194. package/dist/lib/node/react-surface-XSK2QEQV.cjs.map +0 -7
  195. package/dist/lib/node-esm/app-graph-builder-VFHK7OQI.mjs.map +0 -7
  196. package/dist/lib/node-esm/chunk-4UX5WGKJ.mjs.map +0 -7
  197. package/dist/lib/node-esm/chunk-AAQRELDK.mjs.map +0 -7
  198. package/dist/lib/node-esm/chunk-FTVEA5LO.mjs.map +0 -7
  199. package/dist/lib/node-esm/chunk-LGL4A5B5.mjs.map +0 -7
  200. package/dist/lib/node-esm/chunk-RCZRYXI3.mjs.map +0 -7
  201. package/dist/lib/node-esm/intent-resolver-7L3GJAZE.mjs.map +0 -7
  202. package/dist/lib/node-esm/react-surface-FTI2LQNL.mjs.map +0 -7
  203. /package/dist/lib/browser/{app-graph-serializer-QDXM5M6K.mjs.map → app-graph-serializer-FOWFLYGU.mjs.map} +0 -0
  204. /package/dist/lib/browser/{identity-created-25TK5XNO.mjs.map → identity-created-FYGS6TBH.mjs.map} +0 -0
  205. /package/dist/lib/browser/{react-root-Q7JJDCPB.mjs.map → react-root-IP2ZB245.mjs.map} +0 -0
  206. /package/dist/lib/browser/{settings-K4JPYYEM.mjs.map → settings-PHPCXX33.mjs.map} +0 -0
  207. /package/dist/lib/browser/{spaces-ready-THYJEJYZ.mjs.map → spaces-ready-K47RR7N2.mjs.map} +0 -0
  208. /package/dist/lib/browser/{state-6DCY5YJP.mjs.map → state-INJ63O57.mjs.map} +0 -0
  209. /package/dist/lib/node/{app-graph-serializer-H4UACG57.cjs.map → app-graph-serializer-VQOGHKXL.cjs.map} +0 -0
  210. /package/dist/lib/node/{identity-created-7G5U7R36.cjs.map → identity-created-AXI64BLE.cjs.map} +0 -0
  211. /package/dist/lib/node/{react-root-JN6AIHMS.cjs.map → react-root-3OX5Z5CX.cjs.map} +0 -0
  212. /package/dist/lib/node/{settings-TEELGWS4.cjs.map → settings-5QYFWNH7.cjs.map} +0 -0
  213. /package/dist/lib/node/{spaces-ready-L4MJTFQ6.cjs.map → spaces-ready-FQNAKR7G.cjs.map} +0 -0
  214. /package/dist/lib/node/{state-WPZC4JXB.cjs.map → state-57UE3DYE.cjs.map} +0 -0
  215. /package/dist/lib/node-esm/{app-graph-serializer-PIPJVXYZ.mjs.map → app-graph-serializer-GZRSWHEN.mjs.map} +0 -0
  216. /package/dist/lib/node-esm/{identity-created-7THGZ7EW.mjs.map → identity-created-3CGEXNPO.mjs.map} +0 -0
  217. /package/dist/lib/node-esm/{react-root-BNA6PBFZ.mjs.map → react-root-7XXGP56B.mjs.map} +0 -0
  218. /package/dist/lib/node-esm/{settings-KXYUZBLN.mjs.map → settings-H6MXTEQM.mjs.map} +0 -0
  219. /package/dist/lib/node-esm/{spaces-ready-ZC2R73H3.mjs.map → spaces-ready-HKAQG5SA.mjs.map} +0 -0
  220. /package/dist/lib/node-esm/{state-5GH2D5U4.mjs.map → state-VYA6OFHD.mjs.map} +0 -0
@@ -1,4 +1,5 @@
1
- import { S, type Expando } from '@dxos/echo-schema';
1
+ import { type AnyIntentChain } from '@dxos/app-framework';
2
+ import { S, type Expando, type BaseObject, type TypedObject } from '@dxos/echo-schema';
2
3
  import { type PublicKey } from '@dxos/react-client';
3
4
  import { type Space } from '@dxos/react-client/echo';
4
5
  import { type ComplexMap } from '@dxos/util';
@@ -67,6 +68,14 @@ export declare const SpaceForm: S.Struct<{
67
68
  name: S.optional<S.SchemaClass<string, string, never>>;
68
69
  edgeReplication: S.SchemaClass<boolean, boolean, never>;
69
70
  }>;
71
+ export type ObjectForm<T extends BaseObject = BaseObject> = {
72
+ objectSchema: TypedObject;
73
+ formSchema?: S.Schema<T, any>;
74
+ getIntent: (props: T, options: {
75
+ space: Space;
76
+ }) => AnyIntentChain;
77
+ };
78
+ export declare const defineObjectForm: <T extends BaseObject>(form: ObjectForm<T>) => ObjectForm<T>;
70
79
  export declare const SPACE_ACTION = "dxos.org/plugin/space/action";
71
80
  export declare namespace SpaceAction {
72
81
  const OpenCreateSpace_base: S.TaggedClass<OpenCreateSpace, "dxos.org/plugin/space/action/open-create-space", {
@@ -144,6 +153,22 @@ export declare namespace SpaceAction {
144
153
  }>;
145
154
  export class Rename extends Rename_base {
146
155
  }
156
+ const AddSpace_base: S.TaggedClass<AddSpace, "dxos.org/plugin/space/action/add-space", {
157
+ readonly _tag: S.tag<"dxos.org/plugin/space/action/add-space">;
158
+ } & {
159
+ input: typeof S.Void;
160
+ output: typeof S.Void;
161
+ }>;
162
+ export class AddSpace extends AddSpace_base {
163
+ }
164
+ const AddSpaceMenuGroup_base: S.TaggedClass<AddSpaceMenuGroup, "dxos.org/plugin/space/action/add-space-menu-group", {
165
+ readonly _tag: S.tag<"dxos.org/plugin/space/action/add-space-menu-group">;
166
+ } & {
167
+ input: typeof S.Void;
168
+ output: typeof S.Void;
169
+ }>;
170
+ export class AddSpaceMenuGroup extends AddSpaceMenuGroup_base {
171
+ }
147
172
  const OpenSettings_base: S.TaggedClass<OpenSettings, "dxos.org/plugin/space/action/open-settings", {
148
173
  readonly _tag: S.tag<"dxos.org/plugin/space/action/open-settings">;
149
174
  } & {
@@ -200,22 +225,22 @@ export declare namespace SpaceAction {
200
225
  readonly _tag: S.tag<"dxos.org/plugin/space/action/add-object">;
201
226
  } & {
202
227
  input: S.Struct<{
203
- object: S.Schema<import("@dxos/react-client/echo").ReactiveObject<any>, import("@dxos/react-client/echo").ReactiveObject<any>, never>;
228
+ object: S.Schema<import("@dxos/live-object").ReactiveObject<any>, import("@dxos/live-object").ReactiveObject<any>, never>;
204
229
  target: S.Union<[S.Schema<Space, Space, never>, typeof CollectionType]>;
205
230
  }>;
206
231
  output: S.Struct<{
207
232
  id: typeof S.String;
208
233
  subject: S.Array$<typeof S.String>;
209
- object: S.Schema<import("@dxos/react-client/echo").ReactiveEchoObject<any>, import("@dxos/react-client/echo").ReactiveEchoObject<any>, never>;
234
+ object: S.Schema<import("@dxos/echo-db").ReactiveEchoObject<any>, import("@dxos/echo-db").ReactiveEchoObject<any>, never>;
210
235
  }>;
211
236
  }>;
212
237
  export class AddObject extends AddObject_base {
213
238
  }
214
239
  export const DeletionData: S.Struct<{
215
- objects: S.Array$<S.Schema<import("@dxos/react-client/echo").ReactiveEchoObject<any>, import("@dxos/react-client/echo").ReactiveEchoObject<any>, never>>;
240
+ objects: S.Array$<S.Schema<import("@dxos/echo-db").ReactiveEchoObject<any>, import("@dxos/echo-db").ReactiveEchoObject<any>, never>>;
216
241
  parentCollection: typeof CollectionType;
217
242
  indices: S.Array$<typeof S.Number>;
218
- nestedObjectsList: S.Array$<S.Array$<S.Schema<import("@dxos/react-client/echo").ReactiveEchoObject<any>, import("@dxos/react-client/echo").ReactiveEchoObject<any>, never>>>;
243
+ nestedObjectsList: S.Array$<S.Array$<S.Schema<import("@dxos/echo-db").ReactiveEchoObject<any>, import("@dxos/echo-db").ReactiveEchoObject<any>, never>>>;
219
244
  wasActive: S.Array$<typeof S.String>;
220
245
  }>;
221
246
  export type DeletionData = S.Schema.Type<typeof DeletionData>;
@@ -223,13 +248,13 @@ export declare namespace SpaceAction {
223
248
  readonly _tag: S.tag<"dxos.org/plugin/space/action/remove-objects">;
224
249
  } & {
225
250
  input: S.Struct<{
226
- objects: S.Array$<S.Schema<import("@dxos/react-client/echo").ReactiveEchoObject<any>, import("@dxos/react-client/echo").ReactiveEchoObject<any>, never>>;
251
+ objects: S.Array$<S.Schema<import("@dxos/echo-db").ReactiveEchoObject<any>, import("@dxos/echo-db").ReactiveEchoObject<any>, never>>;
227
252
  target: S.optional<typeof CollectionType>;
228
253
  deletionData: S.optional<S.Struct<{
229
- objects: S.Array$<S.Schema<import("@dxos/react-client/echo").ReactiveEchoObject<any>, import("@dxos/react-client/echo").ReactiveEchoObject<any>, never>>;
254
+ objects: S.Array$<S.Schema<import("@dxos/echo-db").ReactiveEchoObject<any>, import("@dxos/echo-db").ReactiveEchoObject<any>, never>>;
230
255
  parentCollection: typeof CollectionType;
231
256
  indices: S.Array$<typeof S.Number>;
232
- nestedObjectsList: S.Array$<S.Array$<S.Schema<import("@dxos/react-client/echo").ReactiveEchoObject<any>, import("@dxos/react-client/echo").ReactiveEchoObject<any>, never>>>;
257
+ nestedObjectsList: S.Array$<S.Array$<S.Schema<import("@dxos/echo-db").ReactiveEchoObject<any>, import("@dxos/echo-db").ReactiveEchoObject<any>, never>>>;
233
258
  wasActive: S.Array$<typeof S.String>;
234
259
  }>>;
235
260
  }>;
@@ -241,7 +266,7 @@ export declare namespace SpaceAction {
241
266
  readonly _tag: S.tag<"dxos.org/plugin/space/action/rename-object">;
242
267
  } & {
243
268
  input: S.Struct<{
244
- object: S.Schema<import("@dxos/react-client/echo").ReactiveEchoObject<any>, import("@dxos/react-client/echo").ReactiveEchoObject<any>, never>;
269
+ object: S.Schema<import("@dxos/echo-db").ReactiveEchoObject<any>, import("@dxos/echo-db").ReactiveEchoObject<any>, never>;
245
270
  caller: S.optional<typeof S.String>;
246
271
  }>;
247
272
  output: typeof S.Void;
@@ -252,7 +277,7 @@ export declare namespace SpaceAction {
252
277
  readonly _tag: S.tag<"dxos.org/plugin/space/action/duplicate-object">;
253
278
  } & {
254
279
  input: S.Struct<{
255
- object: S.Schema<import("@dxos/react-client/echo").ReactiveEchoObject<any>, import("@dxos/react-client/echo").ReactiveEchoObject<any>, never>;
280
+ object: S.Schema<import("@dxos/echo-db").ReactiveEchoObject<any>, import("@dxos/echo-db").ReactiveEchoObject<any>, never>;
256
281
  target: S.Union<[S.Schema<Space, Space, never>, typeof CollectionType]>;
257
282
  }>;
258
283
  output: typeof S.Void;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAO,CAAC,EAAE,KAAK,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAA0C,KAAK,KAAK,EAAe,MAAM,yBAAyB,CAAC;AAC1G,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C,eAAO,MAAM,sBAAsB,oCAAoC,CAAC;AAExE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B,MAAM,MAAM,WAAW,GAAG;IACxB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAE5E;;OAEG;IACH,iBAAiB,EAAE,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IAExD;;OAEG;IACH,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAE7B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEnC;;OAEG;IAEH,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE7C;;;OAGG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAE9B;;OAEG;IAEH,sBAAsB,EAAE,OAAO,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,mBAAmB;IAE5B;;OAEG;;GAGN,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAI3E,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;AAElE,MAAM,WAAW,qBAAqB,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO;IAChE,SAAS,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAElD;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACrF;AAED,eAAO,MAAM,SAAS;;;EAIpB,CAAC;AAEH,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,IAAI;IAC1D,YAAY,EAAE,WAAW,CAAC;IAC1B,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9B,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE,KAAK,cAAc,CAAC;CACpE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,UAAU,QAAQ,UAAU,CAAC,CAAC,CAAC,kBAAS,CAAC;AAEpF,eAAO,MAAM,YAAY,iCAA2B,CAAC;AAErD,yBAAiB,WAAW,CAAC;;;;;;;IAC3B,MAAM,OAAO,eAAgB,SAAQ,oBAGnC;KAAG;;;;;;;;;;;;;;IAEL,MAAM,OAAO,MAAO,SAAQ,WAO1B;KAAG;;;;;;;;;;IAEL,MAAM,OAAO,IAAK,SAAQ,SAMxB;KAAG;;;;;;;;;IAEL,MAAM,OAAO,KAAM,SAAQ,UAKzB;KAAG;;;;;;;;;IAEL,MAAM,OAAO,IAAK,SAAQ,SAKxB;KAAG;;;;;;;;;IAEL,MAAM,OAAO,MAAO,SAAQ,WAK1B;KAAG;;;;;;;;;;IAEL,MAAM,OAAO,MAAO,SAAQ,WAM1B;KAAG;;;;;;;IAEL,MAAM,OAAO,QAAS,SAAQ,aAG5B;KAAG;;;;;;;IAEL,MAAM,OAAO,iBAAkB,SAAQ,sBAGrC;KAAG;;;;;;;;;IAEL,MAAM,OAAO,YAAa,SAAQ,iBAKhC;KAAG;;;;;;;;;IAEL,MAAM,OAAO,IAAK,SAAQ,SAKxB;KAAG;;;;;;;;;IAEL,MAAM,OAAO,KAAM,SAAQ,UAKzB;KAAG;;;;;;;;;;IAEL,MAAM,OAAO,OAAQ,SAAQ,YAM3B;KAAG;;;;;;;;;;IAEL,MAAM,OAAO,gBAAiB,SAAQ,qBAMpC;KAAG;;;;;;;;;;;;;;IAEL,MAAM,OAAO,SAAU,SAAQ,cAU7B;KAAG;IAEL,MAAM,CAAC,MAAM,YAAY;;;;;;MAMvB,CAAC;IAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,YAAY,CAAC,CAAC;;;;;;;;;;;;;;;;;IAE9D,MAAM,OAAO,aAAc,SAAQ,kBAOjC;KAAG;;;;;;;;;;IAEL,MAAM,OAAO,YAAa,SAAQ,iBAMhC;KAAG;;;;;;;;;;IAEL,MAAM,OAAO,eAAgB,SAAQ,oBAMnC;KAAG;;;;;;;;;IAEL,MAAM,OAAO,aAAc,SAAQ,kBAKjC;KAAG;;CACN;AAED,yBAAiB,gBAAgB,CAAC;;;;;;;;;;;IAChC,MAAM,OAAO,MAAO,SAAQ,aAO1B;KAAG;;CACN"}
@@ -27,7 +27,7 @@ export declare const constructSpaceNode: ({ space, navigable, personal, namesCac
27
27
  namesCache?: Record<string, string>;
28
28
  resolve: (typename: string) => Record<string, any>;
29
29
  }) => {
30
- id: import("@dxos/react-client/echo").SpaceId;
30
+ id: import("@dxos/keys").SpaceId;
31
31
  type: string;
32
32
  cacheable: string[];
33
33
  data: Space;
@@ -37,7 +37,7 @@ export declare const constructSpaceNode: ({ space, navigable, personal, namesCac
37
37
  }];
38
38
  description: any;
39
39
  hue: any;
40
- icon: string;
40
+ icon: string | undefined;
41
41
  disabled: boolean;
42
42
  testId: string;
43
43
  };
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/util.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAgB,KAAK,uBAAuB,EAAgB,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAAsD,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAIrG,OAAO,EAML,KAAK,UAAU,EACf,KAAK,KAAK,EAEV,KAAK,IAAI,EACT,KAAK,OAAO,EACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAOL,KAAK,IAAI,EACT,KAAK,YAAY,EAEjB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,KAAK,EACX,MAAM,yBAAyB,CAAC;AAKjC,eAAO,MAAM,MAAM,iCAA2B,CAAC;AAC/C,eAAO,MAAM,UAAU,wBAAwB,CAAC;AAChD,eAAO,MAAM,mBAAmB,+BAA+B,CAAC;AAEhE,eAAO,MAAM,MAAM,kBAAkB,CAAC;AAItC;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,kBAAkB,CAAC,GAAG,CAAC,gBAC9C,KAAK,GAAG,IAAI,WACjB,YAAY,CAAC,CAAC,CAAC,YACd,YAAY,KACrB,CAAC,EAiBH,CAAC;AAGF,eAAO,MAAM,mBAAmB,UACvB,KAAK,6BACmB;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,KACzF,MAAM,GAAG,CAAC,MAAM,EAAE;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAQlC,CAAC;AAyFF,eAAO,MAAM,kBAAkB,yDAM5B;IACD,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACpD;;;;;;;gBA7G0B,MAAM;;;;;;;;CAoIhC,CAAC;AAEF,eAAO,MAAM,qBAAqB,8CAK/B;IACD,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,uBAAuB,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,0BAyIA,CAAC;AAEF,eAAO,MAAM,gBAAgB,2CAK1B;IACD,MAAM,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACpD;;;;;;aAgCA,CAAC;AAEF,eAAO,MAAM,sBAAsB,mCAIhC;IACD,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,QAAQ,EAAE,uBAAuB,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,0BA2FA,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,UAAW,KAAK,WAAW,MAAM,sBAW3D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,WACnB,kBAAkB,CAAC,GAAG,CAAC,WACtB,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KACjD,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAenC,CAAC;AAEF;;GAEG;AAEH,eAAO,MAAM,WAAW,WACd,OAAO,WACN,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,YACxC,KAAK,KACd,OAAO,CAAC,OAAO,CAQjB,CAAC"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/util.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "@dxos/plugin-space",
3
- "version": "0.7.5-labs.c0e040f",
3
+ "version": "0.7.5-labs.d199c0f",
4
4
  "description": "DXOS Surface plugin for DXOS ECHO Spaces",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
7
7
  "license": "MIT",
8
8
  "author": "DXOS.org",
9
9
  "sideEffects": true,
10
+ "type": "module",
10
11
  "exports": {
11
12
  ".": {
12
13
  "types": "./dist/types/src/index.d.ts",
@@ -40,38 +41,38 @@
40
41
  "lodash.get": "^4.4.2",
41
42
  "react-drag-drop-files": "^2.3.8",
42
43
  "react-is": "~18.2.0",
43
- "@dxos/app-framework": "0.7.5-labs.c0e040f",
44
- "@dxos/automerge": "0.7.5-labs.c0e040f",
45
- "@dxos/async": "0.7.5-labs.c0e040f",
46
- "@dxos/client": "0.7.5-labs.c0e040f",
47
- "@dxos/display-name": "0.7.5-labs.c0e040f",
48
- "@dxos/context": "0.7.5-labs.c0e040f",
49
- "@dxos/echo-schema": "0.7.5-labs.c0e040f",
50
- "@dxos/echo-signals": "0.7.5-labs.c0e040f",
51
- "@dxos/live-object": "0.7.5-labs.c0e040f",
52
- "@dxos/invariant": "0.7.5-labs.c0e040f",
53
- "@dxos/keys": "0.7.5-labs.c0e040f",
54
- "@dxos/local-storage": "0.7.5-labs.c0e040f",
55
- "@dxos/migrations": "0.7.5-labs.c0e040f",
56
- "@dxos/log": "0.7.5-labs.c0e040f",
57
- "@dxos/plugin-attention": "0.7.5-labs.c0e040f",
58
- "@dxos/plugin-deck": "0.7.5-labs.c0e040f",
59
- "@dxos/plugin-client": "0.7.5-labs.c0e040f",
60
- "@dxos/plugin-graph": "0.7.5-labs.c0e040f",
61
- "@dxos/plugin-observability": "0.7.5-labs.c0e040f",
62
- "@dxos/protocols": "0.7.5-labs.c0e040f",
63
- "@dxos/plugin-status-bar": "0.7.5-labs.c0e040f",
64
- "@dxos/react-client": "0.7.5-labs.c0e040f",
65
- "@dxos/react-ui-attention": "0.7.5-labs.c0e040f",
66
- "@dxos/react-ui-editor": "0.7.5-labs.c0e040f",
67
- "@dxos/react-ui-pickers": "0.7.5-labs.c0e040f",
68
- "@dxos/react-ui-form": "0.7.5-labs.c0e040f",
69
- "@dxos/react-ui-stack": "0.7.5-labs.c0e040f",
70
- "@dxos/react-ui-searchlist": "0.7.5-labs.c0e040f",
71
- "@dxos/react-ui-syntax-highlighter": "0.7.5-labs.c0e040f",
72
- "@dxos/shell": "0.7.5-labs.c0e040f",
73
- "@dxos/react-ui-tabs": "0.7.5-labs.c0e040f",
74
- "@dxos/util": "0.7.5-labs.c0e040f"
44
+ "@dxos/app-framework": "0.7.5-labs.d199c0f",
45
+ "@dxos/async": "0.7.5-labs.d199c0f",
46
+ "@dxos/automerge": "0.7.5-labs.d199c0f",
47
+ "@dxos/client": "0.7.5-labs.d199c0f",
48
+ "@dxos/context": "0.7.5-labs.d199c0f",
49
+ "@dxos/display-name": "0.7.5-labs.d199c0f",
50
+ "@dxos/echo-signals": "0.7.5-labs.d199c0f",
51
+ "@dxos/keys": "0.7.5-labs.d199c0f",
52
+ "@dxos/echo-schema": "0.7.5-labs.d199c0f",
53
+ "@dxos/live-object": "0.7.5-labs.d199c0f",
54
+ "@dxos/invariant": "0.7.5-labs.d199c0f",
55
+ "@dxos/local-storage": "0.7.5-labs.d199c0f",
56
+ "@dxos/log": "0.7.5-labs.d199c0f",
57
+ "@dxos/plugin-attention": "0.7.5-labs.d199c0f",
58
+ "@dxos/migrations": "0.7.5-labs.d199c0f",
59
+ "@dxos/plugin-observability": "0.7.5-labs.d199c0f",
60
+ "@dxos/plugin-client": "0.7.5-labs.d199c0f",
61
+ "@dxos/plugin-graph": "0.7.5-labs.d199c0f",
62
+ "@dxos/plugin-deck": "0.7.5-labs.d199c0f",
63
+ "@dxos/plugin-status-bar": "0.7.5-labs.d199c0f",
64
+ "@dxos/protocols": "0.7.5-labs.d199c0f",
65
+ "@dxos/react-client": "0.7.5-labs.d199c0f",
66
+ "@dxos/react-ui-attention": "0.7.5-labs.d199c0f",
67
+ "@dxos/react-ui-editor": "0.7.5-labs.d199c0f",
68
+ "@dxos/react-ui-form": "0.7.5-labs.d199c0f",
69
+ "@dxos/react-ui-pickers": "0.7.5-labs.d199c0f",
70
+ "@dxos/react-ui-stack": "0.7.5-labs.d199c0f",
71
+ "@dxos/react-ui-searchlist": "0.7.5-labs.d199c0f",
72
+ "@dxos/react-ui-syntax-highlighter": "0.7.5-labs.d199c0f",
73
+ "@dxos/shell": "0.7.5-labs.d199c0f",
74
+ "@dxos/util": "0.7.5-labs.d199c0f",
75
+ "@dxos/react-ui-tabs": "0.7.5-labs.d199c0f"
75
76
  },
76
77
  "devDependencies": {
77
78
  "@babel/core": "^7.18.13",
@@ -82,17 +83,17 @@
82
83
  "react": "~18.2.0",
83
84
  "react-dom": "~18.2.0",
84
85
  "vite": "5.4.7",
85
- "@dxos/random": "0.7.5-labs.c0e040f",
86
- "@dxos/react-ui": "0.7.5-labs.c0e040f",
87
- "@dxos/react-ui-theme": "0.7.5-labs.c0e040f",
88
- "@dxos/storybook-utils": "0.7.5-labs.c0e040f"
86
+ "@dxos/react-ui": "0.7.5-labs.d199c0f",
87
+ "@dxos/random": "0.7.5-labs.d199c0f",
88
+ "@dxos/react-ui-theme": "0.7.5-labs.d199c0f",
89
+ "@dxos/storybook-utils": "0.7.5-labs.d199c0f"
89
90
  },
90
91
  "peerDependencies": {
91
92
  "@phosphor-icons/react": "^2.1.5",
92
93
  "react": "~18.2.0",
93
94
  "react-dom": "~18.2.0",
94
- "@dxos/react-ui": "0.7.5-labs.c0e040f",
95
- "@dxos/react-ui-theme": "0.7.5-labs.c0e040f"
95
+ "@dxos/react-ui": "0.7.5-labs.d199c0f",
96
+ "@dxos/react-ui-theme": "0.7.5-labs.d199c0f"
96
97
  },
97
98
  "publishConfig": {
98
99
  "access": "public"
@@ -12,10 +12,12 @@ import {
12
12
  Events,
13
13
  oneOf,
14
14
  } from '@dxos/app-framework';
15
+ import { S } from '@dxos/echo-schema';
15
16
  import { RefArray } from '@dxos/live-object';
16
17
  import { AttentionEvents } from '@dxos/plugin-attention';
17
- import { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';
18
- import { DeckCapabilities } from '@dxos/plugin-deck';
18
+ import { ClientEvents } from '@dxos/plugin-client';
19
+ import { DeckCapabilities, DeckEvents } from '@dxos/plugin-deck';
20
+ import { isEchoObject, getSpace } from '@dxos/react-client/echo';
19
21
  import { osTranslations } from '@dxos/shell/react';
20
22
 
21
23
  import {
@@ -25,6 +27,8 @@ import {
25
27
  IntentResolver,
26
28
  ReactRoot,
27
29
  ReactSurface,
30
+ Schema,
31
+ SpaceCapabilities,
28
32
  SpaceSettings,
29
33
  SpacesReady,
30
34
  SpaceState,
@@ -32,7 +36,7 @@ import {
32
36
  import { SpaceEvents } from './events';
33
37
  import { meta, SPACE_PLUGIN } from './meta';
34
38
  import translations from './translations';
35
- import { CollectionAction, CollectionType } from './types';
39
+ import { CollectionAction, CollectionType, defineObjectForm } from './types';
36
40
 
37
41
  export type SpacePluginOptions = {
38
42
  /**
@@ -65,7 +69,10 @@ export const SpacePlugin = ({
65
69
  return definePlugin(meta, [
66
70
  defineModule({
67
71
  id: `${meta.id}/module/state`,
68
- activatesOn: oneOf(Events.Startup, Events.SetupAppGraph),
72
+ // TODO(wittjosiah): Does not integrate with settings store.
73
+ // Should this be a different event?
74
+ // Should settings store be renamed to be more generic?
75
+ activatesOn: oneOf(Events.SetupSettings, Events.SetupAppGraph),
69
76
  activatesAfter: [SpaceEvents.StateReady],
70
77
  activate: SpaceState,
71
78
  }),
@@ -86,7 +93,6 @@ export const SpacePlugin = ({
86
93
  contributes(Capabilities.Metadata, {
87
94
  id: CollectionType.typename,
88
95
  metadata: {
89
- createObject: (props: { name?: string }) => createIntent(CollectionAction.Create, props),
90
96
  placeholder: ['unnamed collection label', { ns: SPACE_PLUGIN }],
91
97
  icon: 'ph--cards-three--regular',
92
98
  // TODO(wittjosiah): Move out of metadata.
@@ -95,20 +101,36 @@ export const SpacePlugin = ({
95
101
  },
96
102
  }),
97
103
  }),
104
+ defineModule({
105
+ id: `${meta.id}/module/object-form`,
106
+ activatesOn: ClientEvents.SetupSchema,
107
+ activate: () =>
108
+ contributes(
109
+ SpaceCapabilities.ObjectForm,
110
+ defineObjectForm({
111
+ objectSchema: CollectionType,
112
+ formSchema: S.Struct({ name: S.optional(S.String) }),
113
+ getIntent: (props) => createIntent(CollectionAction.Create, props),
114
+ }),
115
+ ),
116
+ }),
98
117
  defineModule({
99
118
  id: `${meta.id}/module/complementary-panel`,
100
- activatesOn: Events.Startup,
119
+ activatesOn: DeckEvents.SetupComplementaryPanels,
101
120
  activate: () =>
102
121
  contributes(DeckCapabilities.ComplementaryPanel, {
103
122
  id: 'settings',
104
123
  label: ['settings panel label', { ns: SPACE_PLUGIN }],
105
124
  icon: 'ph--sliders--regular',
125
+ position: 'hoist',
126
+ filter: (node) => isEchoObject(node.data) && !!getSpace(node.data),
106
127
  }),
107
128
  }),
108
129
  defineModule({
109
130
  id: `${meta.id}/module/schema`,
110
- activatesOn: ClientEvents.SetupSchema,
111
- activate: () => contributes(ClientCapabilities.Schema, [CollectionType]),
131
+ activatesOn: ClientEvents.ClientReady,
132
+ activatesBefore: [ClientEvents.SetupSchema],
133
+ activate: Schema,
112
134
  }),
113
135
  defineModule({
114
136
  id: `${meta.id}/module/react-root`,
@@ -117,12 +139,14 @@ export const SpacePlugin = ({
117
139
  }),
118
140
  defineModule({
119
141
  id: `${meta.id}/module/react-surface`,
120
- activatesOn: Events.SetupSurfaces,
142
+ activatesOn: Events.SetupReactSurface,
143
+ // TODO(wittjosiah): Should occur before the settings dialog is loaded when surfaces activation is more granular.
144
+ activatesBefore: [SpaceEvents.SetupSettingsPanel],
121
145
  activate: () => ReactSurface({ createInvitationUrl }),
122
146
  }),
123
147
  defineModule({
124
148
  id: `${meta.id}/module/intent-resolver`,
125
- activatesOn: Events.SetupIntents,
149
+ activatesOn: Events.SetupIntentResolver,
126
150
  activate: (context) => IntentResolver({ createInvitationUrl, context, observability }),
127
151
  }),
128
152
  defineModule({
@@ -133,7 +157,7 @@ export const SpacePlugin = ({
133
157
  // TODO(wittjosiah): This could probably be deferred.
134
158
  defineModule({
135
159
  id: `${meta.id}/module/app-graph-serializer`,
136
- activatesOn: Events.Startup,
160
+ activatesOn: Events.AppGraphReady,
137
161
  activate: AppGraphSerializer,
138
162
  }),
139
163
  defineModule({
@@ -11,16 +11,15 @@ import {
11
11
  isEchoObject,
12
12
  isSpace,
13
13
  OBJECT_ID_LENGTH,
14
- parseId,
15
14
  type ReactiveEchoObject,
16
15
  SPACE_ID_LENGTH,
17
16
  SpaceState,
18
17
  type Space,
19
18
  } from '@dxos/client/echo';
20
- import { getTypename, isDeleted } from '@dxos/live-object';
19
+ import { isDeleted } from '@dxos/live-object';
21
20
  import { log } from '@dxos/log';
22
21
  import { ClientCapabilities } from '@dxos/plugin-client';
23
- import { createExtension, toSignal, type Node } from '@dxos/plugin-graph';
22
+ import { createExtension, toSignal, type Node, type InvokeParams } from '@dxos/plugin-graph';
24
23
  import { isNonNullable } from '@dxos/util';
25
24
 
26
25
  import { SpaceCapabilities } from './capabilities';
@@ -85,29 +84,17 @@ export default (context: PluginsContext) => {
85
84
  filter: (node): node is Node<null> => node.id === 'root',
86
85
  actions: () => [
87
86
  {
88
- id: SpaceAction.OpenCreateSpace._tag,
89
- data: async () => {
87
+ id: SpaceAction.AddSpace._tag,
88
+ data: async (params: InvokeParams) => {
90
89
  const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);
91
- await dispatch(createIntent(SpaceAction.OpenCreateSpace));
90
+ await dispatch(createIntent(SpaceAction.AddSpace));
92
91
  },
93
92
  properties: {
94
- label: ['create space label', { ns: SPACE_PLUGIN }],
93
+ label: ['add space label', { ns: SPACE_PLUGIN }],
95
94
  icon: 'ph--plus--regular',
96
- testId: 'spacePlugin.createSpace',
97
- disposition: 'item',
98
- },
99
- },
100
- {
101
- id: SpaceAction.Join._tag,
102
- data: async () => {
103
- const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);
104
- await dispatch(createIntent(SpaceAction.Join));
105
- },
106
- properties: {
107
- label: ['join space label', { ns: SPACE_PLUGIN }],
108
- icon: 'ph--sign-in--regular',
109
- testId: 'spacePlugin.joinSpace',
95
+ testId: 'spacePlugin.addSpace',
110
96
  disposition: 'item',
97
+ position: 'fallback',
111
98
  },
112
99
  },
113
100
  ],
@@ -197,6 +184,8 @@ export default (context: PluginsContext) => {
197
184
 
198
185
  if (space.state.get() === SpaceState.SPACE_INACTIVE) {
199
186
  return false;
187
+ } else if (space.state.get() !== SpaceState.SPACE_READY) {
188
+ return undefined;
200
189
  } else {
201
190
  const state = context.requestCapability(SpaceCapabilities.State);
202
191
  return constructSpaceNode({
@@ -326,68 +315,5 @@ export default (context: PluginsContext) => {
326
315
  return constructObjectActions({ node, dispatch, navigable: state.navigableCollections });
327
316
  },
328
317
  }),
329
-
330
- // Create nodes for object settings.
331
- createExtension({
332
- id: `${SPACE_PLUGIN}/settings-for-subject`,
333
- resolver: ({ id }) => {
334
- if (!id.endsWith('~settings')) {
335
- return;
336
- }
337
-
338
- const type = 'orphan-settings-for-subject';
339
- const icon = 'ph--gear--regular';
340
-
341
- const [subjectId] = id.split('~');
342
- const { spaceId, objectId } = parseId(subjectId);
343
- const client = context.requestCapability(ClientCapabilities.Client);
344
- const spaces = toSignal(
345
- (onChange) => client.spaces.subscribe(() => onChange()).unsubscribe,
346
- () => client.spaces.get(),
347
- );
348
- const space = spaces?.find((space) => space.id === spaceId && space.state.get() === SpaceState.SPACE_READY);
349
- if (!objectId) {
350
- const label = space
351
- ? space.properties.name || ['unnamed space label', { ns: SPACE_PLUGIN }]
352
- : ['unnamed object settings label', { ns: SPACE_PLUGIN }];
353
-
354
- // TODO(wittjosiah): Support comments for arbitrary subjects.
355
- // This is to ensure that the comments panel is not stuck on an old object.
356
- return {
357
- id,
358
- type,
359
- data: null,
360
- properties: {
361
- icon,
362
- label,
363
- showResolvedThreads: false,
364
- object: null,
365
- space,
366
- },
367
- };
368
- }
369
-
370
- const [object] = memoizeQuery(space, { id: objectId });
371
- if (!object || !subjectId) {
372
- return;
373
- }
374
-
375
- const meta = resolve(getTypename(object) ?? '');
376
- const label = meta.label?.(object) ||
377
- object.name ||
378
- meta.placeholder || ['unnamed object settings label', { ns: SPACE_PLUGIN }];
379
-
380
- return {
381
- id,
382
- type,
383
- data: null,
384
- properties: {
385
- icon,
386
- label,
387
- object,
388
- },
389
- };
390
- },
391
- }),
392
318
  ]);
393
319
  };
@@ -6,7 +6,7 @@ import { defineCapability, type Label } from '@dxos/app-framework';
6
6
  import { type DeepReadonly } from '@dxos/util';
7
7
 
8
8
  import { SPACE_PLUGIN } from '../meta';
9
- import { type PluginState } from '../types';
9
+ import { type ObjectForm, type PluginState } from '../types';
10
10
 
11
11
  export namespace SpaceCapabilities {
12
12
  export const State = defineCapability<DeepReadonly<PluginState>>(`${SPACE_PLUGIN}/capability/state`);
@@ -14,6 +14,8 @@ export namespace SpaceCapabilities {
14
14
 
15
15
  export type SpaceSettingsPanel = { id: string; label: Label };
16
16
  export const SettingsPanel = defineCapability<SpaceSettingsPanel>(`${SPACE_PLUGIN}/capability/settings-panel`);
17
+
18
+ export const ObjectForm = defineCapability<ObjectForm<any>>(`${SPACE_PLUGIN}/capability/object-form`);
17
19
  }
18
20
 
19
21
  // TODO(wittjosiah): Factor out.
@@ -10,6 +10,7 @@ export const IdentityCreated = lazy(() => import('./identity-created'));
10
10
  export const IntentResolver = lazy(() => import('./intent-resolver'));
11
11
  export const ReactRoot = lazy(() => import('./react-root'));
12
12
  export const ReactSurface = lazy(() => import('./react-surface'));
13
+ export const Schema = lazy(() => import('./schema'));
13
14
  export const SpaceSettings = lazy(() => import('./settings'));
14
15
  export const SpaceState = lazy(() => import('./state'));
15
16
  export const SpacesReady = lazy(() => import('./spaces-ready'));
@@ -31,6 +31,7 @@ import {
31
31
  CREATE_OBJECT_DIALOG,
32
32
  type CreateObjectDialogProps,
33
33
  POPOVER_RENAME_OBJECT,
34
+ POPOVER_ADD_SPACE,
34
35
  } from '../components';
35
36
  import { SPACE_PLUGIN } from '../meta';
36
37
  import { CollectionAction, CollectionType, SpaceAction } from '../types';
@@ -212,6 +213,23 @@ export default ({ createInvitationUrl, context, observability }: IntentResolverO
212
213
  };
213
214
  },
214
215
  }),
216
+ createResolver({
217
+ intent: SpaceAction.AddSpace,
218
+ resolve: () => {
219
+ return {
220
+ intents: [
221
+ createIntent(LayoutAction.UpdatePopover, {
222
+ part: 'popover',
223
+ subject: POPOVER_ADD_SPACE,
224
+ options: {
225
+ anchorId: SpaceAction.AddSpace._tag,
226
+ side: 'right',
227
+ },
228
+ }),
229
+ ],
230
+ };
231
+ },
232
+ }),
215
233
  createResolver({
216
234
  intent: SpaceAction.OpenSettings,
217
235
  resolve: ({ space }) => {
@@ -2,19 +2,10 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import React, { useCallback } from 'react';
5
+ import React from 'react';
6
6
 
7
- import {
8
- Capabilities,
9
- contributes,
10
- createSurface,
11
- Surface,
12
- useCapability,
13
- useCapabilities,
14
- usePluginManager,
15
- } from '@dxos/app-framework';
7
+ import { Capabilities, contributes, createSurface, Surface, useCapability } from '@dxos/app-framework';
16
8
  import { SettingsStore } from '@dxos/local-storage';
17
- import { ClientCapabilities } from '@dxos/plugin-client';
18
9
  import {
19
10
  getSpace,
20
11
  isEchoObject,
@@ -53,6 +44,8 @@ import {
53
44
  SyncStatus,
54
45
  type CreateObjectDialogProps,
55
46
  type SpaceSettingsDialogProps,
47
+ POPOVER_ADD_SPACE,
48
+ PopoverAddSpace,
56
49
  } from '../components';
57
50
  import { SPACE_PLUGIN } from '../meta';
58
51
  import { CollectionType, type SpaceSettingsProps } from '../types';
@@ -126,23 +119,8 @@ export default ({ createInvitationUrl }: ReactSurfaceOptions) =>
126
119
  createSurface({
127
120
  id: CREATE_OBJECT_DIALOG,
128
121
  role: 'dialog',
129
- filter: (data): data is { props: Partial<CreateObjectDialogProps> } => data.component === CREATE_OBJECT_DIALOG,
130
- component: ({ data }) => {
131
- const schemas = useCapabilities(ClientCapabilities.Schema).flat();
132
- const manager = usePluginManager();
133
-
134
- const resolve = useCallback(
135
- (typename: string) => {
136
- return (
137
- manager.context.requestCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ??
138
- {}
139
- );
140
- },
141
- [manager],
142
- );
143
-
144
- return <CreateObjectDialog schemas={schemas} resolve={resolve} {...data.props} />;
145
- },
122
+ filter: (data): data is { props: CreateObjectDialogProps } => data.component === CREATE_OBJECT_DIALOG,
123
+ component: ({ data }) => <CreateObjectDialog {...data.props} />,
146
124
  }),
147
125
  createSurface({
148
126
  id: POPOVER_RENAME_SPACE,
@@ -157,6 +135,12 @@ export default ({ createInvitationUrl }: ReactSurfaceOptions) =>
157
135
  data.component === POPOVER_RENAME_OBJECT && isReactiveObject(data.props),
158
136
  component: ({ data }) => <PopoverRenameObject object={data.props} />,
159
137
  }),
138
+ createSurface({
139
+ id: POPOVER_ADD_SPACE,
140
+ role: 'popover',
141
+ filter: (data): data is any => data.component === POPOVER_ADD_SPACE,
142
+ component: () => <PopoverAddSpace />,
143
+ }),
160
144
  createSurface({
161
145
  id: `${SPACE_PLUGIN}/navtree-presence`,
162
146
  role: 'navtree-item-end',