@dxos/plugin-space 0.8.4-main.69d29f4 → 0.8.4-main.6fa680abb7

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 (541) hide show
  1. package/dist/lib/browser/CollectionArticle-WPLUW5HF.mjs +111 -0
  2. package/dist/lib/browser/CollectionArticle-WPLUW5HF.mjs.map +7 -0
  3. package/dist/lib/browser/CollectionSection-H2MBNI63.mjs +23 -0
  4. package/dist/lib/browser/CollectionSection-H2MBNI63.mjs.map +7 -0
  5. package/dist/lib/browser/CreateObjectDialog-M3NRXGWW.mjs +142 -0
  6. package/dist/lib/browser/CreateObjectDialog-M3NRXGWW.mjs.map +7 -0
  7. package/dist/lib/browser/CreateSpaceDialog-3M2LAWV6.mjs +64 -0
  8. package/dist/lib/browser/CreateSpaceDialog-3M2LAWV6.mjs.map +7 -0
  9. package/dist/lib/browser/InlineSyncStatus-K5MZ3YMZ.mjs +53 -0
  10. package/dist/lib/browser/InlineSyncStatus-K5MZ3YMZ.mjs.map +7 -0
  11. package/dist/lib/browser/JoinDialog-PBK2RE5F.mjs +115 -0
  12. package/dist/lib/browser/JoinDialog-PBK2RE5F.mjs.map +7 -0
  13. package/dist/lib/browser/MembersContainer-OGYV2L4M.mjs +257 -0
  14. package/dist/lib/browser/MembersContainer-OGYV2L4M.mjs.map +7 -0
  15. package/dist/lib/browser/MenuFooter-XCBDK7WP.mjs +37 -0
  16. package/dist/lib/browser/MenuFooter-XCBDK7WP.mjs.map +7 -0
  17. package/dist/lib/browser/ObjectCardStack-UYS2TMK6.mjs +64 -0
  18. package/dist/lib/browser/ObjectCardStack-UYS2TMK6.mjs.map +7 -0
  19. package/dist/lib/browser/ObjectDetails-B2BJLOK5.mjs +43 -0
  20. package/dist/lib/browser/ObjectDetails-B2BJLOK5.mjs.map +7 -0
  21. package/dist/lib/browser/ObjectRenamePopover-JNPJIFIR.mjs +70 -0
  22. package/dist/lib/browser/ObjectRenamePopover-JNPJIFIR.mjs.map +7 -0
  23. package/dist/lib/browser/{RecordArticle-W57QE7QV.mjs → RecordArticle-BO2XHBFN.mjs} +23 -18
  24. package/dist/lib/browser/RecordArticle-BO2XHBFN.mjs.map +7 -0
  25. package/dist/lib/browser/SchemaContainer-QWCSIZBS.mjs +49 -0
  26. package/dist/lib/browser/SchemaContainer-QWCSIZBS.mjs.map +7 -0
  27. package/dist/lib/browser/SmallPresenceLive-AHHLBAUP.mjs +9 -0
  28. package/dist/lib/browser/SmallPresenceLive-AHHLBAUP.mjs.map +7 -0
  29. package/dist/lib/browser/SpacePluginSettings-QGZKNQLK.mjs +59 -0
  30. package/dist/lib/browser/SpacePluginSettings-QGZKNQLK.mjs.map +7 -0
  31. package/dist/lib/browser/SpacePresence-JIWLBUWO.mjs +12 -0
  32. package/dist/lib/browser/SpacePresence-JIWLBUWO.mjs.map +7 -0
  33. package/dist/lib/browser/SpaceRenamePopover-ZL6RRZ2B.mjs +62 -0
  34. package/dist/lib/browser/SpaceRenamePopover-ZL6RRZ2B.mjs.map +7 -0
  35. package/dist/lib/browser/SpaceSettingsContainer-MIOOT63N.mjs +242 -0
  36. package/dist/lib/browser/SpaceSettingsContainer-MIOOT63N.mjs.map +7 -0
  37. package/dist/lib/browser/SyncStatus-JSCSODPL.mjs +141 -0
  38. package/dist/lib/browser/SyncStatus-JSCSODPL.mjs.map +7 -0
  39. package/dist/lib/browser/ViewEditor-3FX5HDRT.mjs +113 -0
  40. package/dist/lib/browser/ViewEditor-3FX5HDRT.mjs.map +7 -0
  41. package/dist/lib/browser/app-graph-builder-JORZZE3P.mjs +1203 -0
  42. package/dist/lib/browser/app-graph-builder-JORZZE3P.mjs.map +7 -0
  43. package/dist/lib/browser/{app-graph-serializer-7AT7QMSK.mjs → app-graph-serializer-UZWWGLGY.mjs} +11 -10
  44. package/dist/lib/browser/app-graph-serializer-UZWWGLGY.mjs.map +7 -0
  45. package/dist/lib/browser/chunk-3A3FUI2R.mjs +576 -0
  46. package/dist/lib/browser/chunk-3A3FUI2R.mjs.map +7 -0
  47. package/dist/lib/browser/{chunk-CCRSHECL.mjs → chunk-6IT5IBB5.mjs} +74 -105
  48. package/dist/lib/browser/chunk-6IT5IBB5.mjs.map +7 -0
  49. package/dist/lib/browser/chunk-6OA75CWN.mjs +77 -0
  50. package/dist/lib/browser/chunk-6OA75CWN.mjs.map +7 -0
  51. package/dist/lib/browser/{chunk-ZT2VPYRM.mjs → chunk-AUX3RRLY.mjs} +37 -12
  52. package/dist/lib/browser/chunk-AUX3RRLY.mjs.map +7 -0
  53. package/dist/lib/browser/{chunk-HSMQFM57.mjs → chunk-CBWGVOJE.mjs} +2 -2
  54. package/dist/lib/browser/{chunk-HSMQFM57.mjs.map → chunk-CBWGVOJE.mjs.map} +1 -1
  55. package/dist/lib/browser/{chunk-4WZUGLQQ.mjs → chunk-ICXESMDI.mjs} +13 -12
  56. package/dist/lib/browser/chunk-ICXESMDI.mjs.map +7 -0
  57. package/dist/lib/browser/chunk-RJUOHI3B.mjs +19 -0
  58. package/dist/lib/browser/{chunk-ASV6DYFH.mjs.map → chunk-RJUOHI3B.mjs.map} +1 -1
  59. package/dist/lib/browser/chunk-SJCNERZI.mjs +115 -0
  60. package/dist/lib/browser/chunk-SJCNERZI.mjs.map +7 -0
  61. package/dist/lib/browser/{chunk-AWVAX26X.mjs → chunk-SSTUPFZ2.mjs} +3 -3
  62. package/dist/lib/browser/chunk-UYOJYBGW.mjs +168 -0
  63. package/dist/lib/browser/chunk-UYOJYBGW.mjs.map +7 -0
  64. package/dist/lib/browser/cli/index.mjs +34 -32
  65. package/dist/lib/browser/cli/index.mjs.map +3 -3
  66. package/dist/lib/browser/{identity-created-VCFYLSBB.mjs → identity-created-ETXNQYR6.mjs} +5 -5
  67. package/dist/lib/browser/identity-created-ETXNQYR6.mjs.map +7 -0
  68. package/dist/lib/browser/index.mjs +99 -155
  69. package/dist/lib/browser/index.mjs.map +3 -3
  70. package/dist/lib/browser/meta.json +1 -1
  71. package/dist/lib/browser/{operation-resolver-SIRQT36Z.mjs → operation-resolver-D4LHB4D4.mjs} +95 -115
  72. package/dist/lib/browser/operation-resolver-D4LHB4D4.mjs.map +7 -0
  73. package/dist/lib/browser/{react-root-PI7VTZUZ.mjs → react-root-ARQTOU44.mjs} +9 -9
  74. package/dist/lib/browser/react-root-ARQTOU44.mjs.map +7 -0
  75. package/dist/lib/browser/{react-surface-BPE7VWI7.mjs → react-surface-TO4KE77V.mjs} +97 -115
  76. package/dist/lib/browser/react-surface-TO4KE77V.mjs.map +7 -0
  77. package/dist/lib/browser/repair-NUVEV4AK.mjs +31 -0
  78. package/dist/lib/browser/repair-NUVEV4AK.mjs.map +7 -0
  79. package/dist/lib/browser/{settings-ZS2AQ73E.mjs → settings-RUDP2Q56.mjs} +6 -5
  80. package/dist/lib/browser/settings-RUDP2Q56.mjs.map +7 -0
  81. package/dist/lib/browser/{spaces-ready-OQDGWUOS.mjs → spaces-ready-B2GYL5IN.mjs} +15 -14
  82. package/dist/lib/browser/spaces-ready-B2GYL5IN.mjs.map +7 -0
  83. package/dist/lib/browser/{state-7YZQB2KY.mjs → state-I6JDZCDE.mjs} +8 -8
  84. package/dist/lib/browser/state-I6JDZCDE.mjs.map +7 -0
  85. package/dist/lib/browser/types/index.mjs +2 -2
  86. package/dist/lib/node-esm/CollectionArticle-JGVNBX66.mjs +112 -0
  87. package/dist/lib/node-esm/CollectionArticle-JGVNBX66.mjs.map +7 -0
  88. package/dist/lib/node-esm/CollectionSection-BI66Y34F.mjs +24 -0
  89. package/dist/lib/node-esm/CollectionSection-BI66Y34F.mjs.map +7 -0
  90. package/dist/lib/node-esm/CreateObjectDialog-GCAWIXTK.mjs +143 -0
  91. package/dist/lib/node-esm/CreateObjectDialog-GCAWIXTK.mjs.map +7 -0
  92. package/dist/lib/node-esm/CreateSpaceDialog-J47M5FPQ.mjs +65 -0
  93. package/dist/lib/node-esm/CreateSpaceDialog-J47M5FPQ.mjs.map +7 -0
  94. package/dist/lib/node-esm/InlineSyncStatus-BLD57LB5.mjs +54 -0
  95. package/dist/lib/node-esm/InlineSyncStatus-BLD57LB5.mjs.map +7 -0
  96. package/dist/lib/node-esm/JoinDialog-XCOYKSHA.mjs +116 -0
  97. package/dist/lib/node-esm/JoinDialog-XCOYKSHA.mjs.map +7 -0
  98. package/dist/lib/node-esm/MembersContainer-4PV3Z4BA.mjs +258 -0
  99. package/dist/lib/node-esm/MembersContainer-4PV3Z4BA.mjs.map +7 -0
  100. package/dist/lib/node-esm/MenuFooter-PXG2GV6A.mjs +38 -0
  101. package/dist/lib/node-esm/MenuFooter-PXG2GV6A.mjs.map +7 -0
  102. package/dist/lib/node-esm/ObjectCardStack-DXBIXQI3.mjs +65 -0
  103. package/dist/lib/node-esm/ObjectCardStack-DXBIXQI3.mjs.map +7 -0
  104. package/dist/lib/node-esm/ObjectDetails-F3JBIK5E.mjs +44 -0
  105. package/dist/lib/node-esm/ObjectDetails-F3JBIK5E.mjs.map +7 -0
  106. package/dist/lib/node-esm/ObjectRenamePopover-BRPKVNVF.mjs +71 -0
  107. package/dist/lib/node-esm/ObjectRenamePopover-BRPKVNVF.mjs.map +7 -0
  108. package/dist/lib/node-esm/{RecordArticle-SSV74Z46.mjs → RecordArticle-XUIT25PP.mjs} +23 -18
  109. package/dist/lib/node-esm/RecordArticle-XUIT25PP.mjs.map +7 -0
  110. package/dist/lib/node-esm/SchemaContainer-5G4R3Z6O.mjs +50 -0
  111. package/dist/lib/node-esm/SchemaContainer-5G4R3Z6O.mjs.map +7 -0
  112. package/dist/lib/node-esm/SmallPresenceLive-4K7RJS74.mjs +10 -0
  113. package/dist/lib/node-esm/SmallPresenceLive-4K7RJS74.mjs.map +7 -0
  114. package/dist/lib/node-esm/SpacePluginSettings-PENV4GHL.mjs +60 -0
  115. package/dist/lib/node-esm/SpacePluginSettings-PENV4GHL.mjs.map +7 -0
  116. package/dist/lib/node-esm/SpacePresence-H3VZWFJV.mjs +13 -0
  117. package/dist/lib/node-esm/SpacePresence-H3VZWFJV.mjs.map +7 -0
  118. package/dist/lib/node-esm/SpaceRenamePopover-XEMTI4PU.mjs +63 -0
  119. package/dist/lib/node-esm/SpaceRenamePopover-XEMTI4PU.mjs.map +7 -0
  120. package/dist/lib/node-esm/SpaceSettingsContainer-WI4D7RWA.mjs +243 -0
  121. package/dist/lib/node-esm/SpaceSettingsContainer-WI4D7RWA.mjs.map +7 -0
  122. package/dist/lib/node-esm/SyncStatus-TPCFGM4S.mjs +142 -0
  123. package/dist/lib/node-esm/SyncStatus-TPCFGM4S.mjs.map +7 -0
  124. package/dist/lib/node-esm/ViewEditor-CUQVNM2H.mjs +114 -0
  125. package/dist/lib/node-esm/ViewEditor-CUQVNM2H.mjs.map +7 -0
  126. package/dist/lib/node-esm/app-graph-builder-WTM6SSX7.mjs +1204 -0
  127. package/dist/lib/node-esm/app-graph-builder-WTM6SSX7.mjs.map +7 -0
  128. package/dist/lib/node-esm/{app-graph-serializer-WJ2TIQG6.mjs → app-graph-serializer-RT2RQTV2.mjs} +11 -10
  129. package/dist/lib/node-esm/app-graph-serializer-RT2RQTV2.mjs.map +7 -0
  130. package/dist/lib/node-esm/chunk-2KM3ZHSP.mjs +577 -0
  131. package/dist/lib/node-esm/chunk-2KM3ZHSP.mjs.map +7 -0
  132. package/dist/lib/node-esm/{chunk-JOBIWCBC.mjs → chunk-2OLR2ZKH.mjs} +13 -12
  133. package/dist/lib/node-esm/chunk-2OLR2ZKH.mjs.map +7 -0
  134. package/dist/lib/node-esm/chunk-5KTTTTEX.mjs +20 -0
  135. package/dist/lib/node-esm/{chunk-CVXULIYC.mjs.map → chunk-5KTTTTEX.mjs.map} +1 -1
  136. package/dist/lib/node-esm/{chunk-SL4BJSUG.mjs → chunk-63N5JJXI.mjs} +2 -2
  137. package/dist/lib/node-esm/{chunk-SL4BJSUG.mjs.map → chunk-63N5JJXI.mjs.map} +1 -1
  138. package/dist/lib/node-esm/chunk-EDC2RUJU.mjs +169 -0
  139. package/dist/lib/node-esm/chunk-EDC2RUJU.mjs.map +7 -0
  140. package/dist/lib/node-esm/{chunk-MPL6NHQX.mjs → chunk-EVNSLSQS.mjs} +74 -105
  141. package/dist/lib/node-esm/chunk-EVNSLSQS.mjs.map +7 -0
  142. package/dist/lib/node-esm/chunk-GEGWQVZX.mjs +78 -0
  143. package/dist/lib/node-esm/chunk-GEGWQVZX.mjs.map +7 -0
  144. package/dist/lib/node-esm/chunk-IV7VKVGC.mjs +117 -0
  145. package/dist/lib/node-esm/chunk-IV7VKVGC.mjs.map +7 -0
  146. package/dist/lib/node-esm/{chunk-2SW6S2BB.mjs → chunk-RYQQXNI7.mjs} +37 -12
  147. package/dist/lib/node-esm/chunk-RYQQXNI7.mjs.map +7 -0
  148. package/dist/lib/node-esm/{chunk-HREWB23G.mjs → chunk-XYLDAH5C.mjs} +3 -3
  149. package/dist/lib/node-esm/cli/index.mjs +34 -32
  150. package/dist/lib/node-esm/cli/index.mjs.map +3 -3
  151. package/dist/lib/node-esm/{identity-created-2SJABVJD.mjs → identity-created-U5LGULVL.mjs} +5 -5
  152. package/dist/lib/node-esm/identity-created-U5LGULVL.mjs.map +7 -0
  153. package/dist/lib/node-esm/index.mjs +99 -155
  154. package/dist/lib/node-esm/index.mjs.map +3 -3
  155. package/dist/lib/node-esm/meta.json +1 -1
  156. package/dist/lib/node-esm/{operation-resolver-ZE3XJL5J.mjs → operation-resolver-IL2AHNPN.mjs} +95 -115
  157. package/dist/lib/node-esm/operation-resolver-IL2AHNPN.mjs.map +7 -0
  158. package/dist/lib/node-esm/{react-root-KUXM33JI.mjs → react-root-ZGMTYSXL.mjs} +9 -9
  159. package/dist/lib/node-esm/react-root-ZGMTYSXL.mjs.map +7 -0
  160. package/dist/lib/node-esm/{react-surface-STCQKUZ4.mjs → react-surface-LK26ZXWC.mjs} +97 -115
  161. package/dist/lib/node-esm/react-surface-LK26ZXWC.mjs.map +7 -0
  162. package/dist/lib/node-esm/{repair-G3ZW3VG3.mjs → repair-LRZHFPSJ.mjs} +6 -25
  163. package/dist/lib/node-esm/repair-LRZHFPSJ.mjs.map +7 -0
  164. package/dist/lib/node-esm/{settings-PVI2VG56.mjs → settings-3EKSEAAG.mjs} +6 -5
  165. package/dist/lib/node-esm/settings-3EKSEAAG.mjs.map +7 -0
  166. package/dist/lib/node-esm/{spaces-ready-R744OHQG.mjs → spaces-ready-QK3EHBOS.mjs} +15 -14
  167. package/dist/lib/node-esm/spaces-ready-QK3EHBOS.mjs.map +7 -0
  168. package/dist/lib/node-esm/{state-XE5YGPHM.mjs → state-W36RRYUO.mjs} +8 -8
  169. package/dist/lib/node-esm/state-W36RRYUO.mjs.map +7 -0
  170. package/dist/lib/node-esm/types/index.mjs +2 -2
  171. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  172. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +2 -2
  173. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -1
  174. package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts +33 -0
  175. package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts.map +1 -0
  176. package/dist/types/src/capabilities/app-graph-builder/extensions/companions.d.ts +19 -0
  177. package/dist/types/src/capabilities/app-graph-builder/extensions/companions.d.ts.map +1 -0
  178. package/dist/types/src/capabilities/app-graph-builder/extensions/index.d.ts +6 -0
  179. package/dist/types/src/capabilities/app-graph-builder/extensions/index.d.ts.map +1 -0
  180. package/dist/types/src/capabilities/app-graph-builder/extensions/settings.d.ts +12 -0
  181. package/dist/types/src/capabilities/app-graph-builder/extensions/settings.d.ts.map +1 -0
  182. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts +57 -0
  183. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts.map +1 -0
  184. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.test.d.ts +2 -0
  185. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.test.d.ts.map +1 -0
  186. package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts +24 -0
  187. package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts.map +1 -0
  188. package/dist/types/src/capabilities/app-graph-builder/extensions/types.d.ts +38 -0
  189. package/dist/types/src/capabilities/app-graph-builder/extensions/types.d.ts.map +1 -0
  190. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +1 -1
  191. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -1
  192. package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts +2 -2
  193. package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts.map +1 -1
  194. package/dist/types/src/capabilities/app-graph-serializer/index.d.ts +1 -1
  195. package/dist/types/src/capabilities/app-graph-serializer/index.d.ts.map +1 -1
  196. package/dist/types/src/capabilities/identity-created/identity-created.d.ts +1 -1
  197. package/dist/types/src/capabilities/operation-resolver/index.d.ts +1 -1
  198. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -1
  199. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +2 -2
  200. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -1
  201. package/dist/types/src/capabilities/react-root/react-root.d.ts +1 -1
  202. package/dist/types/src/capabilities/react-root/react-root.d.ts.map +1 -1
  203. package/dist/types/src/capabilities/react-surface/index.d.ts +1 -1
  204. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -1
  205. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +2 -2
  206. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -1
  207. package/dist/types/src/capabilities/repair/repair.d.ts +1 -1
  208. package/dist/types/src/capabilities/repair/repair.d.ts.map +1 -1
  209. package/dist/types/src/capabilities/settings/index.d.ts +1 -1
  210. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -1
  211. package/dist/types/src/capabilities/settings/settings.d.ts +4 -3
  212. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -1
  213. package/dist/types/src/capabilities/spaces-ready/spaces-ready.d.ts +1 -1
  214. package/dist/types/src/capabilities/spaces-ready/spaces-ready.d.ts.map +1 -1
  215. package/dist/types/src/capabilities/state/state.d.ts +1 -1
  216. package/dist/types/src/capabilities/state/state.d.ts.map +1 -1
  217. package/dist/types/src/cli/commands/database/add.d.ts +0 -1
  218. package/dist/types/src/cli/commands/database/add.d.ts.map +1 -1
  219. package/dist/types/src/cli/plugin.d.ts.map +1 -1
  220. package/dist/types/src/components/AwaitingObject/AwaitingObject.d.ts.map +1 -0
  221. package/dist/types/src/components/AwaitingObject/index.d.ts +2 -0
  222. package/dist/types/src/components/AwaitingObject/index.d.ts.map +1 -0
  223. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +12 -5
  224. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  225. package/dist/types/src/components/CreateDialog/index.d.ts +1 -2
  226. package/dist/types/src/components/CreateDialog/index.d.ts.map +1 -1
  227. package/dist/types/src/components/ObjectDetails/BaseObjectSettings.d.ts.map +1 -1
  228. package/dist/types/src/components/ObjectDetails/BaseObjectSettings.stories.d.ts +68 -14
  229. package/dist/types/src/components/ObjectDetails/BaseObjectSettings.stories.d.ts.map +1 -1
  230. package/dist/types/src/components/ObjectDetails/index.d.ts +2 -2
  231. package/dist/types/src/components/ObjectDetails/index.d.ts.map +1 -1
  232. package/dist/types/src/components/ObjectForm/ObjectForm.d.ts.map +1 -0
  233. package/dist/types/src/components/ObjectForm/index.d.ts +2 -0
  234. package/dist/types/src/components/ObjectForm/index.d.ts.map +1 -0
  235. package/dist/types/src/components/SyncStatus/index.d.ts +2 -2
  236. package/dist/types/src/components/SyncStatus/index.d.ts.map +1 -1
  237. package/dist/types/src/components/index.d.ts +2 -23
  238. package/dist/types/src/components/index.d.ts.map +1 -1
  239. package/dist/types/src/containers/CollectionArticle/CollectionArticle.d.ts +8 -0
  240. package/dist/types/src/containers/CollectionArticle/CollectionArticle.d.ts.map +1 -0
  241. package/dist/types/src/containers/CollectionArticle/index.d.ts +3 -0
  242. package/dist/types/src/containers/CollectionArticle/index.d.ts.map +1 -0
  243. package/dist/types/src/containers/CollectionSection/CollectionSection.d.ts +5 -0
  244. package/dist/types/src/containers/CollectionSection/CollectionSection.d.ts.map +1 -0
  245. package/dist/types/src/containers/CollectionSection/index.d.ts +3 -0
  246. package/dist/types/src/containers/CollectionSection/index.d.ts.map +1 -0
  247. package/dist/types/src/{components/CreateDialog → containers/CreateObjectDialog}/CreateObjectDialog.d.ts +5 -3
  248. package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.d.ts.map +1 -0
  249. package/dist/types/src/containers/CreateObjectDialog/index.d.ts +3 -0
  250. package/dist/types/src/containers/CreateObjectDialog/index.d.ts.map +1 -0
  251. package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.d.ts.map +1 -0
  252. package/dist/types/src/containers/CreateSpaceDialog/index.d.ts +3 -0
  253. package/dist/types/src/containers/CreateSpaceDialog/index.d.ts.map +1 -0
  254. package/dist/types/src/containers/InlineSyncStatus/InlineSyncStatus.d.ts.map +1 -0
  255. package/dist/types/src/containers/InlineSyncStatus/index.d.ts +3 -0
  256. package/dist/types/src/containers/InlineSyncStatus/index.d.ts.map +1 -0
  257. package/dist/types/src/{components → containers}/JoinDialog/JoinDialog.d.ts.map +1 -1
  258. package/dist/types/src/containers/JoinDialog/index.d.ts +3 -0
  259. package/dist/types/src/containers/JoinDialog/index.d.ts.map +1 -0
  260. package/dist/types/src/{components → containers}/MembersContainer/MembersContainer.d.ts.map +1 -1
  261. package/dist/types/src/containers/MembersContainer/index.d.ts +3 -0
  262. package/dist/types/src/containers/MembersContainer/index.d.ts.map +1 -0
  263. package/dist/types/src/containers/MenuFooter/MenuFooter.d.ts.map +1 -0
  264. package/dist/types/src/containers/MenuFooter/index.d.ts +3 -0
  265. package/dist/types/src/containers/MenuFooter/index.d.ts.map +1 -0
  266. package/dist/types/src/{components → containers}/ObjectCardStack/ObjectCardStack.d.ts +4 -1
  267. package/dist/types/src/containers/ObjectCardStack/ObjectCardStack.d.ts.map +1 -0
  268. package/dist/types/src/{components → containers}/ObjectCardStack/index.d.ts.map +1 -1
  269. package/dist/types/src/{components → containers}/ObjectDetails/ObjectDetails.d.ts +2 -1
  270. package/dist/types/src/containers/ObjectDetails/ObjectDetails.d.ts.map +1 -0
  271. package/dist/types/src/containers/ObjectDetails/index.d.ts +3 -0
  272. package/dist/types/src/containers/ObjectDetails/index.d.ts.map +1 -0
  273. package/dist/types/src/{components → containers}/ObjectRenamePopover/ObjectRenamePopover.d.ts.map +1 -1
  274. package/dist/types/src/containers/ObjectRenamePopover/index.d.ts +3 -0
  275. package/dist/types/src/containers/ObjectRenamePopover/index.d.ts.map +1 -0
  276. package/dist/types/src/containers/RecordArticle/RecordArticle.d.ts +4 -0
  277. package/dist/types/src/containers/RecordArticle/RecordArticle.d.ts.map +1 -0
  278. package/dist/types/src/containers/RecordArticle/index.d.ts +3 -0
  279. package/dist/types/src/containers/RecordArticle/index.d.ts.map +1 -0
  280. package/dist/types/src/containers/SchemaContainer/SchemaContainer.d.ts.map +1 -0
  281. package/dist/types/src/containers/SchemaContainer/index.d.ts +3 -0
  282. package/dist/types/src/containers/SchemaContainer/index.d.ts.map +1 -0
  283. package/dist/types/src/containers/SmallPresenceLive/index.d.ts +2 -0
  284. package/dist/types/src/containers/SmallPresenceLive/index.d.ts.map +1 -0
  285. package/dist/types/src/{components → containers/SpacePluginSettings}/SpacePluginSettings.d.ts +1 -1
  286. package/dist/types/src/containers/SpacePluginSettings/SpacePluginSettings.d.ts.map +1 -0
  287. package/dist/types/src/containers/SpacePluginSettings/index.d.ts +3 -0
  288. package/dist/types/src/containers/SpacePluginSettings/index.d.ts.map +1 -0
  289. package/dist/types/src/{components → containers}/SpacePresence/SpacePresence.d.ts.map +1 -1
  290. package/dist/types/src/{components → containers}/SpacePresence/SpacePresence.stories.d.ts +67 -13
  291. package/dist/types/src/{components → containers}/SpacePresence/SpacePresence.stories.d.ts.map +1 -1
  292. package/dist/types/src/containers/SpacePresence/index.d.ts +3 -0
  293. package/dist/types/src/containers/SpacePresence/index.d.ts.map +1 -0
  294. package/dist/types/src/{components → containers}/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +1 -1
  295. package/dist/types/src/containers/SpaceRenamePopover/index.d.ts +3 -0
  296. package/dist/types/src/containers/SpaceRenamePopover/index.d.ts.map +1 -0
  297. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.d.ts +10 -0
  298. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.d.ts.map +1 -0
  299. package/dist/types/src/{components/SpaceSettings → containers/SpaceSettingsContainer}/SpaceSettingsContainer.stories.d.ts +71 -14
  300. package/dist/types/src/{components/SpaceSettings → containers/SpaceSettingsContainer}/SpaceSettingsContainer.stories.d.ts.map +1 -1
  301. package/dist/types/src/containers/SpaceSettingsContainer/index.d.ts +3 -0
  302. package/dist/types/src/containers/SpaceSettingsContainer/index.d.ts.map +1 -0
  303. package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.d.ts.map +1 -1
  304. package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.stories.d.ts +67 -13
  305. package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  306. package/dist/types/src/containers/SyncStatus/index.d.ts +3 -0
  307. package/dist/types/src/containers/SyncStatus/index.d.ts.map +1 -0
  308. package/dist/types/src/{components → containers/ViewEditor}/ViewEditor.d.ts +1 -1
  309. package/dist/types/src/containers/ViewEditor/ViewEditor.d.ts.map +1 -0
  310. package/dist/types/src/containers/ViewEditor/index.d.ts +3 -0
  311. package/dist/types/src/containers/ViewEditor/index.d.ts.map +1 -0
  312. package/dist/types/src/containers/index.d.ts +23 -0
  313. package/dist/types/src/containers/index.d.ts.map +1 -0
  314. package/dist/types/src/helpers/query.d.ts.map +1 -1
  315. package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
  316. package/dist/types/src/index.d.ts +1 -1
  317. package/dist/types/src/index.d.ts.map +1 -1
  318. package/dist/types/src/translations.d.ts +67 -13
  319. package/dist/types/src/translations.d.ts.map +1 -1
  320. package/dist/types/src/types/capabilities.d.ts +1 -1
  321. package/dist/types/src/types/capabilities.d.ts.map +1 -1
  322. package/dist/types/src/types/events.d.ts.map +1 -1
  323. package/dist/types/src/types/form.d.ts +0 -2
  324. package/dist/types/src/types/form.d.ts.map +1 -1
  325. package/dist/types/src/types/types.d.ts +63 -124
  326. package/dist/types/src/types/types.d.ts.map +1 -1
  327. package/dist/types/src/util.d.ts +6 -121
  328. package/dist/types/src/util.d.ts.map +1 -1
  329. package/dist/types/tsconfig.tsbuildinfo +1 -1
  330. package/package.json +67 -66
  331. package/src/SpacePlugin.ts +75 -63
  332. package/src/capabilities/app-graph-builder/app-graph-builder.ts +17 -602
  333. package/src/capabilities/app-graph-builder/extensions/collections.ts +351 -0
  334. package/src/capabilities/app-graph-builder/extensions/companions.ts +80 -0
  335. package/src/capabilities/app-graph-builder/extensions/index.ts +9 -0
  336. package/src/capabilities/app-graph-builder/extensions/settings.ts +60 -0
  337. package/src/capabilities/app-graph-builder/extensions/shared.test.ts +112 -0
  338. package/src/capabilities/app-graph-builder/extensions/shared.ts +171 -0
  339. package/src/capabilities/app-graph-builder/extensions/spaces.ts +338 -0
  340. package/src/capabilities/app-graph-builder/extensions/types.ts +421 -0
  341. package/src/capabilities/app-graph-serializer/app-graph-serializer.ts +6 -5
  342. package/src/capabilities/identity-created/identity-created.ts +4 -4
  343. package/src/capabilities/operation-resolver/operation-resolver.ts +97 -94
  344. package/src/capabilities/react-root/react-root.tsx +3 -3
  345. package/src/capabilities/react-surface/react-surface.tsx +78 -98
  346. package/src/capabilities/repair/repair.ts +3 -28
  347. package/src/capabilities/settings/settings.ts +3 -2
  348. package/src/capabilities/spaces-ready/spaces-ready.ts +8 -7
  349. package/src/capabilities/state/state.ts +7 -5
  350. package/src/cli/commands/database/add.ts +8 -10
  351. package/src/cli/commands/database/query/query.ts +1 -1
  352. package/src/cli/commands/database/remove.ts +2 -2
  353. package/src/cli/commands/database/stats.ts +1 -1
  354. package/src/cli/plugin.ts +34 -27
  355. package/src/components/{AwaitingObject.tsx → AwaitingObject/AwaitingObject.tsx} +6 -5
  356. package/src/components/AwaitingObject/index.ts +5 -0
  357. package/src/components/CreateDialog/CreateObjectPanel.tsx +86 -111
  358. package/src/components/CreateDialog/index.ts +1 -2
  359. package/src/components/ObjectDetails/BaseObjectSettings.stories.tsx +10 -10
  360. package/src/components/ObjectDetails/BaseObjectSettings.tsx +5 -5
  361. package/src/components/ObjectDetails/ForeignKeys.tsx +1 -1
  362. package/src/components/ObjectDetails/index.ts +2 -3
  363. package/src/components/{ObjectCardStack → ObjectForm}/ObjectForm.tsx +4 -4
  364. package/src/components/{JoinDialog → ObjectForm}/index.ts +1 -1
  365. package/src/components/SyncStatus/index.ts +2 -2
  366. package/src/components/index.ts +2 -18
  367. package/src/constants.ts +5 -5
  368. package/src/containers/CollectionArticle/CollectionArticle.tsx +133 -0
  369. package/src/containers/CollectionArticle/index.ts +7 -0
  370. package/src/{components → containers/CollectionSection}/CollectionSection.tsx +4 -4
  371. package/src/containers/CollectionSection/index.ts +7 -0
  372. package/src/{components/CreateDialog → containers/CreateObjectDialog}/CreateObjectDialog.tsx +62 -42
  373. package/src/containers/CreateObjectDialog/index.ts +6 -0
  374. package/src/{components/CreateDialog → containers/CreateSpaceDialog}/CreateSpaceDialog.tsx +6 -6
  375. package/src/containers/CreateSpaceDialog/index.ts +7 -0
  376. package/src/{components/SyncStatus → containers/InlineSyncStatus}/InlineSyncStatus.tsx +8 -19
  377. package/src/containers/InlineSyncStatus/index.ts +7 -0
  378. package/src/{components → containers}/JoinDialog/JoinDialog.tsx +10 -9
  379. package/src/containers/JoinDialog/index.ts +6 -0
  380. package/src/{components → containers}/MembersContainer/MembersContainer.tsx +50 -53
  381. package/src/containers/MembersContainer/index.ts +7 -0
  382. package/src/{components → containers/MenuFooter}/MenuFooter.tsx +5 -5
  383. package/src/containers/MenuFooter/index.ts +7 -0
  384. package/src/containers/ObjectCardStack/ObjectCardStack.tsx +82 -0
  385. package/src/containers/ObjectDetails/ObjectDetails.tsx +36 -0
  386. package/src/containers/ObjectDetails/index.ts +7 -0
  387. package/src/{components → containers}/ObjectRenamePopover/ObjectRenamePopover.tsx +4 -4
  388. package/src/containers/ObjectRenamePopover/index.ts +7 -0
  389. package/src/{components → containers/RecordArticle}/RecordArticle.tsx +29 -27
  390. package/src/containers/RecordArticle/index.ts +7 -0
  391. package/src/{components → containers/SchemaContainer}/SchemaContainer.tsx +22 -18
  392. package/src/containers/SchemaContainer/index.ts +7 -0
  393. package/src/containers/SmallPresenceLive/index.ts +5 -0
  394. package/src/containers/SpacePluginSettings/SpacePluginSettings.tsx +65 -0
  395. package/src/containers/SpacePluginSettings/index.ts +7 -0
  396. package/src/{components → containers}/SpacePresence/SpacePresence.stories.tsx +2 -2
  397. package/src/{components → containers}/SpacePresence/SpacePresence.tsx +11 -22
  398. package/src/containers/SpacePresence/index.ts +6 -0
  399. package/src/{components → containers}/SpaceRenamePopover/SpaceRenamePopover.tsx +4 -4
  400. package/src/containers/SpaceRenamePopover/index.ts +7 -0
  401. package/src/{components/SpaceSettings → containers/SpaceSettingsContainer}/SpaceSettingsContainer.stories.tsx +3 -3
  402. package/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.tsx +202 -0
  403. package/src/containers/SpaceSettingsContainer/index.ts +7 -0
  404. package/src/{components → containers}/SyncStatus/SyncStatus.stories.tsx +2 -2
  405. package/src/{components → containers}/SyncStatus/SyncStatus.tsx +5 -7
  406. package/src/containers/SyncStatus/index.ts +7 -0
  407. package/src/{components → containers/ViewEditor}/ViewEditor.tsx +11 -10
  408. package/src/containers/ViewEditor/index.ts +7 -0
  409. package/src/containers/index.ts +28 -0
  410. package/src/helpers/query.test.ts +1 -1
  411. package/src/helpers/query.ts +20 -7
  412. package/src/hooks/useActiveSpace.ts +8 -7
  413. package/src/hooks/useInputSurfaceLookup.tsx +3 -3
  414. package/src/index.ts +2 -1
  415. package/src/meta.ts +1 -1
  416. package/src/translations.ts +30 -4
  417. package/src/types/capabilities.ts +8 -8
  418. package/src/types/events.ts +7 -6
  419. package/src/types/form.ts +1 -8
  420. package/src/types/types.ts +61 -76
  421. package/src/util.ts +82 -0
  422. package/dist/lib/browser/CollectionArticle-XPNA6EHZ.mjs +0 -129
  423. package/dist/lib/browser/CollectionArticle-XPNA6EHZ.mjs.map +0 -7
  424. package/dist/lib/browser/ObjectCardStack-TWHN6C2Y.mjs +0 -148
  425. package/dist/lib/browser/ObjectCardStack-TWHN6C2Y.mjs.map +0 -7
  426. package/dist/lib/browser/ObjectDetails-GEDIISKK.mjs +0 -142
  427. package/dist/lib/browser/ObjectDetails-GEDIISKK.mjs.map +0 -7
  428. package/dist/lib/browser/RecordArticle-W57QE7QV.mjs.map +0 -7
  429. package/dist/lib/browser/app-graph-builder-SJHTZXZF.mjs +0 -523
  430. package/dist/lib/browser/app-graph-builder-SJHTZXZF.mjs.map +0 -7
  431. package/dist/lib/browser/app-graph-serializer-7AT7QMSK.mjs.map +0 -7
  432. package/dist/lib/browser/chunk-3X2EA2OA.mjs +0 -1898
  433. package/dist/lib/browser/chunk-3X2EA2OA.mjs.map +0 -7
  434. package/dist/lib/browser/chunk-4WZUGLQQ.mjs.map +0 -7
  435. package/dist/lib/browser/chunk-ASV6DYFH.mjs +0 -19
  436. package/dist/lib/browser/chunk-CCRSHECL.mjs.map +0 -7
  437. package/dist/lib/browser/chunk-SUI34XSA.mjs +0 -772
  438. package/dist/lib/browser/chunk-SUI34XSA.mjs.map +0 -7
  439. package/dist/lib/browser/chunk-ZT2VPYRM.mjs.map +0 -7
  440. package/dist/lib/browser/identity-created-VCFYLSBB.mjs.map +0 -7
  441. package/dist/lib/browser/operation-resolver-SIRQT36Z.mjs.map +0 -7
  442. package/dist/lib/browser/react-root-PI7VTZUZ.mjs.map +0 -7
  443. package/dist/lib/browser/react-surface-BPE7VWI7.mjs.map +0 -7
  444. package/dist/lib/browser/repair-CJG26D52.mjs +0 -50
  445. package/dist/lib/browser/repair-CJG26D52.mjs.map +0 -7
  446. package/dist/lib/browser/settings-ZS2AQ73E.mjs.map +0 -7
  447. package/dist/lib/browser/spaces-ready-OQDGWUOS.mjs.map +0 -7
  448. package/dist/lib/browser/state-7YZQB2KY.mjs.map +0 -7
  449. package/dist/lib/node-esm/CollectionArticle-WGHNZNO2.mjs +0 -130
  450. package/dist/lib/node-esm/CollectionArticle-WGHNZNO2.mjs.map +0 -7
  451. package/dist/lib/node-esm/ObjectCardStack-C5ZXRKP7.mjs +0 -149
  452. package/dist/lib/node-esm/ObjectCardStack-C5ZXRKP7.mjs.map +0 -7
  453. package/dist/lib/node-esm/ObjectDetails-6ZLDRKCO.mjs +0 -143
  454. package/dist/lib/node-esm/ObjectDetails-6ZLDRKCO.mjs.map +0 -7
  455. package/dist/lib/node-esm/RecordArticle-SSV74Z46.mjs.map +0 -7
  456. package/dist/lib/node-esm/app-graph-builder-HZ3XXDFZ.mjs +0 -524
  457. package/dist/lib/node-esm/app-graph-builder-HZ3XXDFZ.mjs.map +0 -7
  458. package/dist/lib/node-esm/app-graph-serializer-WJ2TIQG6.mjs.map +0 -7
  459. package/dist/lib/node-esm/chunk-2SW6S2BB.mjs.map +0 -7
  460. package/dist/lib/node-esm/chunk-7KMYUWSR.mjs +0 -773
  461. package/dist/lib/node-esm/chunk-7KMYUWSR.mjs.map +0 -7
  462. package/dist/lib/node-esm/chunk-CVXULIYC.mjs +0 -20
  463. package/dist/lib/node-esm/chunk-EYS3L2NO.mjs +0 -1899
  464. package/dist/lib/node-esm/chunk-EYS3L2NO.mjs.map +0 -7
  465. package/dist/lib/node-esm/chunk-JOBIWCBC.mjs.map +0 -7
  466. package/dist/lib/node-esm/chunk-MPL6NHQX.mjs.map +0 -7
  467. package/dist/lib/node-esm/identity-created-2SJABVJD.mjs.map +0 -7
  468. package/dist/lib/node-esm/operation-resolver-ZE3XJL5J.mjs.map +0 -7
  469. package/dist/lib/node-esm/react-root-KUXM33JI.mjs.map +0 -7
  470. package/dist/lib/node-esm/react-surface-STCQKUZ4.mjs.map +0 -7
  471. package/dist/lib/node-esm/repair-G3ZW3VG3.mjs.map +0 -7
  472. package/dist/lib/node-esm/settings-PVI2VG56.mjs.map +0 -7
  473. package/dist/lib/node-esm/spaces-ready-R744OHQG.mjs.map +0 -7
  474. package/dist/lib/node-esm/state-XE5YGPHM.mjs.map +0 -7
  475. package/dist/types/src/components/AwaitingObject.d.ts.map +0 -1
  476. package/dist/types/src/components/CollectionArticle.d.ts +0 -9
  477. package/dist/types/src/components/CollectionArticle.d.ts.map +0 -1
  478. package/dist/types/src/components/CollectionSection.d.ts +0 -5
  479. package/dist/types/src/components/CollectionSection.d.ts.map +0 -1
  480. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +0 -1
  481. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +0 -1604
  482. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +0 -1
  483. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +0 -1
  484. package/dist/types/src/components/JoinDialog/index.d.ts +0 -2
  485. package/dist/types/src/components/JoinDialog/index.d.ts.map +0 -1
  486. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts +0 -1600
  487. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts.map +0 -1
  488. package/dist/types/src/components/MembersContainer/index.d.ts +0 -2
  489. package/dist/types/src/components/MembersContainer/index.d.ts.map +0 -1
  490. package/dist/types/src/components/MenuFooter.d.ts.map +0 -1
  491. package/dist/types/src/components/ObjectCardStack/ObjectCardStack.d.ts.map +0 -1
  492. package/dist/types/src/components/ObjectCardStack/ObjectForm.d.ts.map +0 -1
  493. package/dist/types/src/components/ObjectDetails/ObjectDetails.d.ts.map +0 -1
  494. package/dist/types/src/components/ObjectRenamePopover/index.d.ts +0 -2
  495. package/dist/types/src/components/ObjectRenamePopover/index.d.ts.map +0 -1
  496. package/dist/types/src/components/RecordArticle.d.ts +0 -5
  497. package/dist/types/src/components/RecordArticle.d.ts.map +0 -1
  498. package/dist/types/src/components/RecordArticle.stories.d.ts +0 -1600
  499. package/dist/types/src/components/RecordArticle.stories.d.ts.map +0 -1
  500. package/dist/types/src/components/SchemaContainer.d.ts.map +0 -1
  501. package/dist/types/src/components/SpacePluginSettings.d.ts.map +0 -1
  502. package/dist/types/src/components/SpacePresence/index.d.ts +0 -2
  503. package/dist/types/src/components/SpacePresence/index.d.ts.map +0 -1
  504. package/dist/types/src/components/SpaceRenamePopover/index.d.ts +0 -2
  505. package/dist/types/src/components/SpaceRenamePopover/index.d.ts.map +0 -1
  506. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts +0 -7
  507. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +0 -1
  508. package/dist/types/src/components/SpaceSettings/index.d.ts +0 -2
  509. package/dist/types/src/components/SpaceSettings/index.d.ts.map +0 -1
  510. package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts.map +0 -1
  511. package/dist/types/src/components/ViewEditor.d.ts.map +0 -1
  512. package/src/components/CollectionArticle.tsx +0 -158
  513. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +0 -91
  514. package/src/components/MembersContainer/MembersContainer.stories.tsx +0 -56
  515. package/src/components/MembersContainer/index.ts +0 -5
  516. package/src/components/ObjectCardStack/ObjectCardStack.tsx +0 -67
  517. package/src/components/ObjectDetails/ObjectDetails.tsx +0 -32
  518. package/src/components/ObjectRenamePopover/index.ts +0 -5
  519. package/src/components/RecordArticle.stories.tsx +0 -115
  520. package/src/components/SpacePluginSettings.tsx +0 -62
  521. package/src/components/SpacePresence/index.ts +0 -5
  522. package/src/components/SpaceRenamePopover/index.ts +0 -5
  523. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +0 -220
  524. package/src/components/SpaceSettings/index.ts +0 -5
  525. package/src/util.tsx +0 -779
  526. /package/dist/lib/browser/{chunk-AWVAX26X.mjs.map → chunk-SSTUPFZ2.mjs.map} +0 -0
  527. /package/dist/lib/node-esm/{chunk-HREWB23G.mjs.map → chunk-XYLDAH5C.mjs.map} +0 -0
  528. /package/dist/types/src/components/{AwaitingObject.d.ts → AwaitingObject/AwaitingObject.d.ts} +0 -0
  529. /package/dist/types/src/components/{ObjectCardStack → ObjectForm}/ObjectForm.d.ts +0 -0
  530. /package/dist/types/src/{components/CreateDialog → containers/CreateSpaceDialog}/CreateSpaceDialog.d.ts +0 -0
  531. /package/dist/types/src/{components/SyncStatus → containers/InlineSyncStatus}/InlineSyncStatus.d.ts +0 -0
  532. /package/dist/types/src/{components → containers}/JoinDialog/JoinDialog.d.ts +0 -0
  533. /package/dist/types/src/{components → containers}/MembersContainer/MembersContainer.d.ts +0 -0
  534. /package/dist/types/src/{components → containers/MenuFooter}/MenuFooter.d.ts +0 -0
  535. /package/dist/types/src/{components → containers}/ObjectCardStack/index.d.ts +0 -0
  536. /package/dist/types/src/{components → containers}/ObjectRenamePopover/ObjectRenamePopover.d.ts +0 -0
  537. /package/dist/types/src/{components → containers/SchemaContainer}/SchemaContainer.d.ts +0 -0
  538. /package/dist/types/src/{components → containers}/SpacePresence/SpacePresence.d.ts +0 -0
  539. /package/dist/types/src/{components → containers}/SpaceRenamePopover/SpaceRenamePopover.d.ts +0 -0
  540. /package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.d.ts +0 -0
  541. /package/src/{components → containers}/ObjectCardStack/index.ts +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/AwaitingObject/AwaitingObject.tsx", "../../../src/components/CreateDialog/CreateObjectPanel.tsx", "../../../src/components/ObjectDetails/BaseObjectSettings.tsx", "../../../src/components/ObjectDetails/ForeignKeys.tsx", "../../../src/components/ObjectForm/ObjectForm.tsx", "../../../src/components/SyncStatus/save-tracker.ts", "../../../src/components/SyncStatus/status.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useCallback, useEffect, useState } from 'react';\n\nimport { useOperationInvoker } from '@dxos/app-framework/ui';\nimport { LayoutOperation } from '@dxos/app-toolkit';\nimport { useLayout } from '@dxos/app-toolkit/ui';\nimport { Obj } from '@dxos/echo';\nimport { useClient } from '@dxos/react-client';\nimport { Filter, useQuery } from '@dxos/react-client/echo';\nimport { Button, Icon, Toast, useTranslation } from '@dxos/react-ui';\nimport { osTranslations } from '@dxos/ui-theme';\n\nimport { meta } from '../../meta';\nimport { SpaceOperation } from '../../types';\n\nconst WAIT_FOR_OBJECT_TIMEOUT = 3 * 60 * 1_000;\nconst TOAST_TIMEOUT = 4 * 60 * 1_000;\n\nexport const AwaitingObject = ({ id }: { id: string }) => {\n const { t } = useTranslation(meta.id);\n const { invokePromise } = useOperationInvoker();\n const [open, setOpen] = useState(true);\n const [waiting, setWaiting] = useState(true);\n const [found, setFound] = useState(false);\n const layout = useLayout();\n\n const client = useClient();\n const objects = useQuery(client.spaces, Filter.everything());\n\n useEffect(() => {\n if (!id) {\n return;\n }\n\n const timeout = setTimeout(() => setWaiting(false), WAIT_FOR_OBJECT_TIMEOUT);\n return () => clearTimeout(timeout);\n }, [id]);\n\n useEffect(() => {\n if (objects.findIndex((object) => Obj.getDXN(object).toString() === id) > -1) {\n setFound(true);\n if (layout.active.includes(id)) {\n setOpen(false);\n }\n }\n }, [id, objects, layout]);\n\n const handleClose = useCallback(\n async () => invokePromise(SpaceOperation.WaitForObject, { id: undefined }),\n [invokePromise],\n );\n\n const handleNavigate = useCallback(() => {\n void invokePromise(LayoutOperation.Open, { subject: [id] });\n void handleClose();\n }, [id, handleClose, invokePromise]);\n\n return (\n <Toast.Root open={open} duration={TOAST_TIMEOUT} onOpenChange={setOpen}>\n <Toast.Body>\n <Toast.Title classNames='flex items-center gap-2'>\n {found ? (\n <>\n <Icon icon='ph--check-circle--regular' size={5} />\n <span>{t('found object label')}</span>\n </>\n ) : waiting ? (\n <>\n <Icon icon='ph--circle-notch--regular' size={5} classNames='animate-spin' />\n <span>{t('waiting for object label')}</span>\n </>\n ) : (\n <>\n <Icon icon='ph--circle-dashed--regular' size={5} />\n <span>{t('object not found label')}</span>\n </>\n )}\n </Toast.Title>\n <Toast.Description>\n {t(\n found\n ? 'found object description'\n : waiting\n ? 'waiting for object description'\n : 'object not found description',\n )}\n </Toast.Description>\n </Toast.Body>\n <Toast.Actions>\n {found ? (\n <>\n <Toast.Action altText={t('go to object alt')} asChild>\n <Button variant='primary' onClick={handleNavigate}>\n {t('go to object label')}\n </Button>\n </Toast.Action>\n <Toast.Close asChild>\n <Button onClick={handleClose}>{t('close label', { ns: osTranslations })}</Button>\n </Toast.Close>\n </>\n ) : (\n <Toast.Close asChild>\n <Button onClick={handleClose}>\n {t(waiting ? 'close label' : 'confirm label', { ns: osTranslations })}\n </Button>\n </Toast.Close>\n )}\n </Toast.Actions>\n </Toast.Root>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport type * as Schema from 'effect/Schema';\nimport React, { useCallback, useMemo } from 'react';\n\nimport { type Database, Obj } from '@dxos/echo';\nimport { type Collection } from '@dxos/echo';\nimport { type AnyProperties } from '@dxos/echo/internal';\nimport { type Space, type SpaceId } from '@dxos/react-client/echo';\nimport { toLocalizedString, useDefaultValue, useTranslation } from '@dxos/react-ui';\nimport { Form, omitId } from '@dxos/react-ui-form';\nimport { SearchList, useSearchListResults } from '@dxos/react-ui-searchlist';\nimport { type MaybePromise } from '@dxos/util';\n\nimport { useInputSurfaceLookup } from '../../hooks';\nimport { meta } from '../../meta';\nimport { type CreateObject } from '../../types';\nimport { getSpaceDisplayName } from '../../util';\n\n/** Display-ready option for the create object search list. */\nexport type CreateObjectOption = {\n id: string;\n label: string;\n icon?: string;\n};\n\nexport type Metadata = {\n createObject: CreateObject;\n inputSchema?: Schema.Schema.AnyNoContext;\n icon?: string;\n};\n\nexport type CreateObjectPanelProps = {\n options: CreateObjectOption[];\n spaces: Space[];\n typename?: string;\n target?: Database.Database | Collection.Collection;\n initialFormValues?: Partial<AnyProperties>;\n defaultSpaceId?: SpaceId;\n resolve?: (typename: string) => Metadata | undefined;\n onTargetChange?: (target: Database.Database) => void;\n onTypenameChange?: (typename: string) => void;\n onCreateObject?: (params: { metadata: Metadata; data?: Record<string, any> }) => MaybePromise<void>;\n};\n\nexport const CreateObjectPanel = ({\n options,\n spaces,\n typename,\n target,\n initialFormValues: initialFormValuesProp,\n defaultSpaceId,\n resolve,\n onTargetChange,\n onTypenameChange,\n onCreateObject,\n}: CreateObjectPanelProps) => {\n const initialFormValues = useDefaultValue(initialFormValuesProp, () => ({}));\n const metadata = typename && resolve?.(typename);\n\n const sortedOptions = useMemo(() => [...options].sort((a, b) => a.label.localeCompare(b.label)), [options]);\n\n const handleCreateObject = useCallback(\n async (props: Record<string, any>) => {\n if (!metadata) {\n return;\n }\n await onCreateObject?.({ metadata, data: props });\n },\n [onCreateObject, metadata],\n );\n\n const handleSelectOption = useCallback(\n async (id: string) => {\n const metadata = resolve?.(id);\n if (metadata && !metadata.inputSchema) {\n await onCreateObject?.({ metadata });\n } else {\n onTypenameChange?.(id);\n }\n },\n [resolve, onCreateObject],\n );\n\n const inputSurfaceLookup = useInputSurfaceLookup({ target });\n\n // TODO(wittjosiah): These inputs should be rolled into a `Form` once it supports the necessary variants.\n if (!metadata) {\n return <SelectType options={sortedOptions} onChange={handleSelectOption} />;\n }\n\n if (!target) {\n return <SelectSpace spaces={spaces} defaultSpaceId={defaultSpaceId} onChange={onTargetChange} />;\n }\n\n if (metadata.inputSchema) {\n return (\n <Form.Root\n testId='create-object-form'\n autoFocus\n schema={omitId(metadata.inputSchema)}\n defaultValues={initialFormValues}\n db={Obj.isObject(target) ? Obj.getDatabase(target) : target}\n fieldProvider={inputSurfaceLookup}\n onSave={handleCreateObject}\n >\n <Form.Viewport>\n <Form.Content>\n <Form.FieldSet />\n <Form.Submit />\n </Form.Content>\n </Form.Viewport>\n </Form.Root>\n );\n }\n\n return null;\n};\n\nCreateObjectPanel.displayName = 'CreateObjectPanel';\n\nconst SelectSpace = ({\n spaces,\n defaultSpaceId,\n onChange,\n}: { onChange?: (db: Database.Database) => void } & Pick<CreateObjectPanelProps, 'spaces' | 'defaultSpaceId'>) => {\n const { t } = useTranslation(meta.id);\n\n const sortedSpaces = useMemo(\n () =>\n [...spaces].sort((a, b) => {\n const labelA = toLocalizedString(\n getSpaceDisplayName(a, {\n personal: a.id === defaultSpaceId,\n }),\n t,\n );\n const labelB = toLocalizedString(\n getSpaceDisplayName(b, {\n personal: b.id === defaultSpaceId,\n }),\n t,\n );\n return labelA.localeCompare(labelB);\n }),\n [spaces, defaultSpaceId, t],\n );\n\n const { results, handleSearch } = useSearchListResults({\n items: sortedSpaces,\n extract: (space) =>\n toLocalizedString(\n getSpaceDisplayName(space, {\n personal: space.id === defaultSpaceId,\n }),\n t,\n ),\n });\n\n return (\n <SearchList.Root onSearch={handleSearch}>\n <SearchList.Content>\n <SearchList.Input\n autoFocus\n data-testid='create-object-form.space-input'\n placeholder={t('space input placeholder')}\n />\n <SearchList.Viewport>\n {results.map((space) => (\n <SearchList.Item\n key={space.id}\n value={space.id}\n label={toLocalizedString(\n getSpaceDisplayName(space, {\n personal: space.id === defaultSpaceId,\n }),\n t,\n )}\n onSelect={() => onChange?.(space.db)}\n classNames='flex items-center gap-2'\n />\n ))}\n </SearchList.Viewport>\n </SearchList.Content>\n </SearchList.Root>\n );\n};\n\nconst SelectType = ({ options, onChange }: { options: CreateObjectOption[]; onChange: (id: string) => void }) => {\n const { t } = useTranslation(meta.id);\n\n const { results, handleSearch } = useSearchListResults({\n items: options,\n extract: (option) => option.label,\n });\n\n return (\n <SearchList.Root onSearch={handleSearch}>\n <SearchList.Content>\n <SearchList.Input\n autoFocus\n data-testid='create-object-form.schema-input'\n placeholder={t('schema input placeholder')}\n />\n <SearchList.Viewport>\n {results.map((option) => (\n <SearchList.Item\n key={option.id}\n value={option.id}\n label={option.label}\n icon={option.icon ?? 'ph--placeholder--regular'}\n classNames='flex items-center gap-2'\n onSelect={() => onChange(option.id)}\n />\n ))}\n </SearchList.Viewport>\n </SearchList.Content>\n </SearchList.Root>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Function from 'effect/Function';\nimport * as Option from 'effect/Option';\nimport * as Schema from 'effect/Schema';\nimport React, { type PropsWithChildren, useCallback, useMemo } from 'react';\n\nimport { DXN, Obj, Ref, Tag, Type } from '@dxos/echo';\nimport { type JsonPath, splitJsonPath } from '@dxos/echo/internal';\nimport { invariant } from '@dxos/invariant';\nimport { type ThemedClassName } from '@dxos/react-ui';\nimport { Form, omitId } from '@dxos/react-ui-form';\nimport { isNonNullable } from '@dxos/util';\n\nimport { meta as pluginMeta } from '../../meta';\n\n// TODO(wittjosiah): Would be nice to control order when extending so this isn't always first/last.\nconst BaseSchema = Schema.Struct({\n tags: Schema.Array(Ref.Ref(Tag.Tag)).pipe(Schema.optional),\n});\n\nexport type BaseObjectSettingsProps = ThemedClassName<\n PropsWithChildren<{\n object: Obj.Unknown;\n }>\n>;\n\n// TODO(wittjosiah): Reconcile w/ ObjectForm.\nexport const BaseObjectSettings = ({ classNames, children, object }: BaseObjectSettingsProps) => {\n const db = Obj.getDatabase(object);\n\n const formSchema = useMemo(() => {\n return Function.pipe(\n Obj.getSchema(object),\n Option.fromNullable,\n Option.map((schema) => BaseSchema.pipe(Schema.extend(schema))),\n Option.getOrUndefined,\n );\n }, [object]);\n\n const meta = Obj.getMeta(object);\n const tags = (meta.tags ?? []).map((tag) => db?.makeRef(DXN.parse(tag))).filter(isNonNullable);\n const values = useMemo(\n () => ({\n tags,\n ...object,\n }),\n [object, tags],\n );\n\n const handleCreate = useCallback((schema: Type.AnyEntity, values: any) => {\n invariant(db);\n invariant(Type.isObjectSchema(schema));\n const newObject = db.add(Obj.make(schema, values));\n if (Obj.instanceOf(Tag.Tag, newObject)) {\n Obj.change(object, (obj) => {\n Obj.getMeta(obj).tags = [...(Obj.getMeta(obj).tags ?? []), Obj.getDXN(newObject).toString()];\n });\n }\n }, []);\n\n // TODO(wittjosiah): Use FormRootProps type.\n const handleChange = useCallback(\n (\n { tags, ...values }: Schema.Schema.Type<typeof formSchema>,\n { isValid, changed }: { isValid: boolean; changed: Record<JsonPath, boolean> },\n ) => {\n if (!isValid) {\n return;\n }\n\n const changedPaths = Object.keys(changed).filter((path) => changed[path as JsonPath]) as JsonPath[];\n\n // Handle tags separately using Obj.change.\n const hasTagsChange = changedPaths.some((path) => splitJsonPath(path)[0] === 'tags');\n if (hasTagsChange) {\n Obj.change(object, (obj) => {\n Obj.getMeta(obj).tags = tags?.map((tag: Ref.Ref<Tag.Tag>) => tag.dxn.toString()) ?? [];\n });\n }\n\n // Handle other property changes.\n const nonTagPaths = changedPaths.filter((path) => splitJsonPath(path)[0] !== 'tags');\n if (nonTagPaths.length > 0) {\n Obj.change(object, () => {\n for (const path of nonTagPaths) {\n const parts = splitJsonPath(path);\n const value = Obj.getValue(values, parts);\n Obj.setValue(object, parts, value);\n }\n });\n }\n },\n [object],\n );\n\n if (!formSchema) {\n return null;\n }\n\n return (\n <Form.Root\n schema={omitId(formSchema)}\n defaultValues={values}\n createOptionIcon='ph--plus--regular'\n createOptionLabel={['add tag label', { ns: pluginMeta.id }]}\n createInitialValuePath='label'\n db={db}\n onValuesChanged={handleChange}\n onCreate={handleCreate}\n >\n <Form.Viewport>\n <Form.Content classNames={classNames}>\n <Form.FieldSet />\n {children}\n </Form.Content>\n </Form.Viewport>\n </Form.Root>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback } from 'react';\n\nimport { type Key } from '@dxos/echo';\nimport { IconButton, List, ListItem, useTranslation } from '@dxos/react-ui';\n\nimport { meta } from '../../meta';\n\nexport type ForeignKeysProps = {\n keys: Key.ForeignKey[];\n onDelete?: (key: Key.ForeignKey) => void;\n};\n\n// TODO(wittjosiah): This is a clone of `TokenManager`. Consider a form variant for arrays of read-only objects.\nexport const ForeignKeys = ({ keys, onDelete }: ForeignKeysProps) => {\n return (\n <List classNames='flex flex-col gap-2'>\n {keys.map((key) => (\n <KeyItem key={key.id} forignKey={key} onDelete={onDelete} />\n ))}\n </List>\n );\n};\n\ntype KeyItemProps = {\n forignKey: Key.ForeignKey;\n onDelete?: (key: Key.ForeignKey) => void;\n};\n\nconst KeyItem = ({ forignKey, onDelete }: KeyItemProps) => {\n const { t } = useTranslation(meta.id);\n\n const handleDelete = useCallback(() => {\n onDelete?.(forignKey);\n }, [forignKey, onDelete]);\n\n return (\n <ListItem.Root classNames='px-2'>\n <ListItem.Heading classNames='flex flex-col grow truncate'>\n <div>{forignKey.source}</div>\n <div className='text-description text-sm truncate'>{forignKey.id}</div>\n </ListItem.Heading>\n <ListItem.Endcap>\n <IconButton iconOnly icon='ph--x--regular' variant='ghost' label={t('delete key')} onClick={handleDelete} />\n </ListItem.Endcap>\n </ListItem.Root>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\nimport React, { useCallback, useMemo } from 'react';\n\nimport { DXN, Obj, Ref, Tag, Type } from '@dxos/echo';\nimport { type JsonPath, splitJsonPath } from '@dxos/echo/internal';\nimport { invariant } from '@dxos/invariant';\nimport { Form, omitId } from '@dxos/react-ui-form';\nimport { isNonNullable } from '@dxos/util';\n\nimport { meta as pluginMeta } from '../../meta';\n\nexport type ObjectFormProps = {\n schema: Schema.Schema.AnyNoContext;\n object: Obj.Unknown;\n};\n\nexport const ObjectForm = ({ object, schema }: ObjectFormProps) => {\n const db = Obj.getDatabase(object);\n\n const formSchema = useMemo(\n () =>\n Schema.Struct({\n tags: Schema.Array(Ref.Ref(Tag.Tag)).pipe(Schema.optional),\n }).pipe(Schema.extend(omitId(schema))),\n [schema],\n );\n\n const meta = Obj.getMeta(object);\n const tags = (meta.tags ?? []).map((tag) => db?.makeRef(DXN.parse(tag))).filter(isNonNullable);\n const values = useMemo(() => ({ tags, ...object }), [object, tags]);\n\n const handleCreate = useCallback((schema: Type.AnyEntity, values: any) => {\n invariant(db);\n invariant(Type.isObjectSchema(schema));\n const newObject = db.add(Obj.make(schema, values));\n if (Obj.instanceOf(Tag.Tag, newObject)) {\n Obj.change(object, (obj) => {\n Obj.getMeta(obj).tags = [...(Obj.getMeta(obj).tags ?? []), Obj.getDXN(newObject).toString()];\n });\n }\n }, []);\n\n // TODO(wittjosiah): Use FormRootProps type.\n const handleChange = useCallback(\n ({ tags, ...values }: any, { isValid, changed }: { isValid: boolean; changed: Record<JsonPath, boolean> }) => {\n if (!isValid) {\n return;\n }\n\n const changedPaths = Object.keys(changed).filter((path) => changed[path as JsonPath]) as JsonPath[];\n\n // Handle tags separately using Obj.change.\n const hasTagsChange = changedPaths.some((path) => splitJsonPath(path)[0] === 'tags');\n if (hasTagsChange) {\n Obj.change(object, (obj) => {\n Obj.getMeta(obj).tags = tags?.map((tag: Ref.Ref<Tag.Tag>) => tag.dxn.toString()) ?? [];\n });\n }\n\n // Handle other property changes.\n const nonTagPaths = changedPaths.filter((path) => splitJsonPath(path)[0] !== 'tags');\n if (nonTagPaths.length > 0) {\n Obj.change(object, () => {\n for (const path of nonTagPaths) {\n const parts = splitJsonPath(path);\n const value = Obj.getValue(values, parts);\n Obj.setValue(object, parts, value);\n }\n });\n }\n },\n [object],\n );\n\n return (\n <Form.Root\n schema={omitId(formSchema)}\n defaultValues={values}\n createOptionIcon='ph--plus--regular'\n createOptionLabel={['add tag label', { ns: pluginMeta.id }]}\n createInitialValuePath='label'\n db={db}\n onValuesChanged={handleChange}\n onCreate={handleCreate}\n >\n <Form.Viewport>\n <Form.Content>\n <Form.FieldSet />\n </Form.Content>\n </Form.Viewport>\n </Form.Root>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type CleanupFn } from '@dxos/async';\nimport { type Client } from '@dxos/client';\nimport { type Space, type SpaceId } from '@dxos/client/echo';\nimport { Context } from '@dxos/context';\n\nexport const createClientSaveTracker = (client: Client, cb: (state: 'saved' | 'saving') => void) => {\n const CleanupFns: Record<SpaceId, CleanupFn> = {};\n const state: Record<SpaceId, 'saved' | 'saving'> = {};\n\n const install = (spaces: Space[]) => {\n for (const space of spaces) {\n if (state[space.id]) {\n continue;\n }\n\n state[space.id] = 'saved';\n CleanupFns[space.id] = createSpaceSaveTracker(space, (s) => {\n state[space.id] = s;\n cb(Object.values(state).some((s) => s === 'saving') ? 'saving' : 'saved');\n });\n }\n };\n client.spaces.subscribe((spaces) => {\n install(spaces);\n });\n install(client.spaces.get());\n\n return () => {\n for (const unsubscribe of Object.values(CleanupFns)) {\n unsubscribe();\n }\n };\n};\n\nconst createSpaceSaveTracker = (space: Space, cb: (state: 'saved' | 'saving') => void): CleanupFn => {\n const ctx = new Context();\n\n void space.waitUntilReady().then(() => {\n if (ctx.disposed) {\n return;\n }\n\n let hasUnsavedChanges = false;\n let lastFlushPromise: Promise<void> | undefined;\n space.internal.db.saveStateChanged.on(ctx, ({ unsavedDocuments }) => {\n hasUnsavedChanges = unsavedDocuments.length > 0;\n });\n space.internal.db.saveStateChanged.debounce(500).on(ctx, () => {\n if (hasUnsavedChanges) {\n lastFlushPromise = undefined;\n cb('saving');\n } else {\n const flushPromise = space.db.flush();\n lastFlushPromise = flushPromise;\n void flushPromise.then(() => {\n if (lastFlushPromise === flushPromise) {\n cb('saved');\n }\n });\n }\n });\n });\n\n return () => {\n void ctx.dispose();\n };\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nexport type Status = 'saving locally' | 'downloading' | 'uploading' | 'offline persisted' | 'remote synced';\n\nexport const getStatus = ({\n offline,\n saved,\n needsToUpload,\n needsToDownload,\n}: {\n offline: boolean;\n saved: boolean;\n needsToUpload: boolean;\n needsToDownload: boolean;\n}): Status => {\n if (!saved) {\n return 'saving locally';\n } else if (!offline && needsToDownload) {\n return 'downloading';\n } else if (!offline && needsToUpload) {\n return 'uploading';\n } else if (offline && !needsToUpload && !needsToDownload) {\n return 'offline persisted';\n } else {\n return 'remote synced';\n }\n};\n\nexport const getIcon = (status: Status) => {\n switch (status) {\n case 'saving locally':\n return 'ph--download--regular';\n case 'downloading':\n return 'ph--cloud-arrow-down--regular';\n case 'uploading':\n return 'ph--cloud-arrow-up--regular';\n case 'offline persisted':\n return 'ph--check-circle--regular';\n case 'remote synced':\n return 'ph--cloud-check--regular';\n }\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "useCallback", "useEffect", "useState", "useOperationInvoker", "LayoutOperation", "useLayout", "Obj", "useClient", "Filter", "useQuery", "Button", "Icon", "Toast", "useTranslation", "osTranslations", "WAIT_FOR_OBJECT_TIMEOUT", "TOAST_TIMEOUT", "AwaitingObject", "id", "t", "useTranslation", "meta", "invokePromise", "useOperationInvoker", "open", "setOpen", "useState", "waiting", "setWaiting", "found", "setFound", "layout", "useLayout", "client", "useClient", "objects", "useQuery", "spaces", "Filter", "everything", "useEffect", "timeout", "setTimeout", "clearTimeout", "findIndex", "object", "Obj", "getDXN", "toString", "active", "includes", "handleClose", "useCallback", "SpaceOperation", "WaitForObject", "undefined", "handleNavigate", "LayoutOperation", "Open", "subject", "Toast", "Root", "duration", "onOpenChange", "Body", "Title", "classNames", "Icon", "icon", "size", "span", "Description", "Actions", "Action", "altText", "asChild", "Button", "variant", "onClick", "Close", "ns", "osTranslations", "React", "useCallback", "useMemo", "Obj", "toLocalizedString", "useDefaultValue", "useTranslation", "Form", "omitId", "SearchList", "useSearchListResults", "CreateObjectPanel", "options", "spaces", "typename", "target", "initialFormValues", "initialFormValuesProp", "defaultSpaceId", "resolve", "onTargetChange", "onTypenameChange", "onCreateObject", "useDefaultValue", "metadata", "sortedOptions", "useMemo", "sort", "a", "b", "label", "localeCompare", "handleCreateObject", "useCallback", "props", "data", "handleSelectOption", "id", "inputSchema", "inputSurfaceLookup", "useInputSurfaceLookup", "React", "SelectType", "onChange", "SelectSpace", "Form", "Root", "testId", "autoFocus", "schema", "omitId", "defaultValues", "db", "Obj", "isObject", "getDatabase", "fieldProvider", "onSave", "Viewport", "Content", "FieldSet", "Submit", "displayName", "t", "useTranslation", "meta", "sortedSpaces", "labelA", "toLocalizedString", "getSpaceDisplayName", "personal", "labelB", "results", "handleSearch", "useSearchListResults", "items", "extract", "space", "SearchList", "onSearch", "Input", "data-testid", "placeholder", "map", "Item", "key", "value", "onSelect", "classNames", "option", "icon", "Function", "Option", "Schema", "React", "useCallback", "useMemo", "DXN", "Obj", "Ref", "Tag", "Type", "splitJsonPath", "invariant", "Form", "omitId", "isNonNullable", "BaseSchema", "Struct", "tags", "Array", "Ref", "Tag", "pipe", "optional", "BaseObjectSettings", "classNames", "children", "object", "db", "Obj", "getDatabase", "formSchema", "useMemo", "getSchema", "fromNullable", "map", "schema", "extend", "getOrUndefined", "meta", "getMeta", "tag", "makeRef", "DXN", "parse", "filter", "isNonNullable", "values", "handleCreate", "useCallback", "invariant", "Type", "isObjectSchema", "newObject", "add", "make", "instanceOf", "change", "obj", "getDXN", "toString", "handleChange", "isValid", "changed", "changedPaths", "Object", "keys", "path", "hasTagsChange", "some", "splitJsonPath", "dxn", "nonTagPaths", "length", "parts", "value", "getValue", "setValue", "React", "Form", "Root", "omitId", "defaultValues", "createOptionIcon", "createOptionLabel", "ns", "pluginMeta", "id", "createInitialValuePath", "onValuesChanged", "onCreate", "Viewport", "Content", "FieldSet", "React", "useCallback", "IconButton", "List", "ListItem", "useTranslation", "ForeignKeys", "keys", "onDelete", "React", "List", "classNames", "map", "key", "KeyItem", "id", "forignKey", "t", "useTranslation", "meta", "handleDelete", "useCallback", "ListItem", "Root", "Heading", "div", "source", "className", "Endcap", "IconButton", "iconOnly", "icon", "variant", "label", "onClick", "Schema", "React", "useCallback", "useMemo", "DXN", "Obj", "Ref", "Tag", "Type", "splitJsonPath", "invariant", "Form", "omitId", "isNonNullable", "ObjectForm", "object", "schema", "db", "Obj", "getDatabase", "formSchema", "useMemo", "Struct", "tags", "Array", "Ref", "Tag", "pipe", "optional", "extend", "omitId", "meta", "getMeta", "map", "tag", "makeRef", "DXN", "parse", "filter", "isNonNullable", "values", "handleCreate", "useCallback", "invariant", "Type", "isObjectSchema", "newObject", "add", "make", "instanceOf", "change", "obj", "getDXN", "toString", "handleChange", "isValid", "changed", "changedPaths", "Object", "keys", "path", "hasTagsChange", "some", "splitJsonPath", "dxn", "nonTagPaths", "length", "parts", "value", "getValue", "setValue", "React", "Form", "Root", "defaultValues", "createOptionIcon", "createOptionLabel", "ns", "pluginMeta", "id", "createInitialValuePath", "onValuesChanged", "onCreate", "Viewport", "Content", "FieldSet", "Context", "createClientSaveTracker", "client", "cb", "CleanupFns", "state", "install", "spaces", "space", "id", "createSpaceSaveTracker", "s", "Object", "values", "some", "subscribe", "get", "unsubscribe", "ctx", "waitUntilReady", "then", "disposed", "hasUnsavedChanges", "lastFlushPromise", "internal", "db", "saveStateChanged", "on", "unsavedDocuments", "length", "debounce", "undefined", "flushPromise", "flush", "dispose", "getStatus", "offline", "saved", "needsToUpload", "needsToDownload", "getIcon", "status"]
7
+ }
@@ -1,30 +1,31 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  getTypenames
4
- } from "./chunk-MPL6NHQX.mjs";
4
+ } from "./chunk-EVNSLSQS.mjs";
5
5
 
6
6
  // src/hooks/useActiveSpace.ts
7
- import { Common } from "@dxos/app-framework";
8
- import { useLayout } from "@dxos/app-framework/react";
7
+ import { Capabilities } from "@dxos/app-framework";
8
+ import { AppCapabilities, getSpaceIdFromPath } from "@dxos/app-toolkit";
9
+ import { useLayout } from "@dxos/app-toolkit/ui";
9
10
  import { ClientCapabilities } from "@dxos/plugin-client";
10
- import { parseId, useSpace } from "@dxos/react-client/echo";
11
+ import { useSpace } from "@dxos/react-client/echo";
11
12
  var getActiveSpace = (capabilities) => {
12
13
  const client = capabilities.get(ClientCapabilities.Client);
13
- const registry = capabilities.get(Common.Capability.AtomRegistry);
14
- const layoutAtom = capabilities.get(Common.Capability.Layout);
14
+ const registry = capabilities.get(Capabilities.AtomRegistry);
15
+ const layoutAtom = capabilities.get(AppCapabilities.Layout);
15
16
  const layout = registry.get(layoutAtom);
16
- const { spaceId } = parseId(layout.workspace);
17
+ const spaceId = getSpaceIdFromPath(layout.workspace);
17
18
  return spaceId ? client.spaces.get(spaceId) : void 0;
18
19
  };
19
20
  var useActiveSpace = () => {
20
21
  const layout = useLayout();
21
- const { spaceId } = parseId(layout.workspace);
22
+ const spaceId = getSpaceIdFromPath(layout.workspace);
22
23
  return useSpace(spaceId);
23
24
  };
24
25
 
25
26
  // src/hooks/useInputSurfaceLookup.tsx
26
27
  import React, { useCallback } from "react";
27
- import { Surface, isSurfaceAvailable, usePluginManager } from "@dxos/app-framework/react";
28
+ import { Surface, usePluginManager } from "@dxos/app-framework/ui";
28
29
  var useInputSurfaceLookup = (baseData) => {
29
30
  const pluginManager = usePluginManager();
30
31
  return useCallback(({ schema, prop, fieldProps }) => {
@@ -33,11 +34,11 @@ var useInputSurfaceLookup = (baseData) => {
33
34
  schema,
34
35
  ...baseData
35
36
  };
36
- if (isSurfaceAvailable(pluginManager.capabilities, {
37
+ if (Surface.isAvailable(pluginManager.capabilities, {
37
38
  role: "form-input",
38
39
  data
39
40
  })) {
40
- return /* @__PURE__ */ React.createElement(Surface, {
41
+ return /* @__PURE__ */ React.createElement(Surface.Surface, {
41
42
  role: "form-input",
42
43
  data,
43
44
  ...fieldProps
@@ -115,4 +116,4 @@ export {
115
116
  usePath,
116
117
  useTypeOptions
117
118
  };
118
- //# sourceMappingURL=chunk-JOBIWCBC.mjs.map
119
+ //# sourceMappingURL=chunk-2OLR2ZKH.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/useActiveSpace.ts", "../../../src/hooks/useInputSurfaceLookup.tsx", "../../../src/hooks/usePath.ts", "../../../src/hooks/useTypeOptions.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, type CapabilityManager } from '@dxos/app-framework';\nimport { AppCapabilities, getSpaceIdFromPath } from '@dxos/app-toolkit';\nimport { useLayout } from '@dxos/app-toolkit/ui';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { useSpace } from '@dxos/react-client/echo';\n\nexport const getActiveSpace = (capabilities: CapabilityManager.CapabilityManager) => {\n const client = capabilities.get(ClientCapabilities.Client);\n const registry = capabilities.get(Capabilities.AtomRegistry);\n const layoutAtom = capabilities.get(AppCapabilities.Layout);\n const layout = registry.get(layoutAtom);\n const spaceId = getSpaceIdFromPath(layout.workspace);\n return spaceId ? client.spaces.get(spaceId) : undefined;\n};\n\nexport const useActiveSpace = () => {\n const layout = useLayout();\n const spaceId = getSpaceIdFromPath(layout.workspace);\n return useSpace(spaceId);\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback } from 'react';\n\nimport { Surface, usePluginManager } from '@dxos/app-framework/ui';\nimport { type FormFieldProvider } from '@dxos/react-ui-form';\n\n/**\n * Creates a surface input component based on plugin context.\n * @param baseData Additional data that will be merged with form data and passed to the surface.\n * This allows providing more context to the surface than what's available from the form itself.\n */\n// TODO(burdon): Factor out?\nexport const useInputSurfaceLookup = (baseData?: Record<string, any>): FormFieldProvider => {\n const pluginManager = usePluginManager();\n return useCallback<FormFieldProvider>(\n ({ schema, prop, fieldProps }) => {\n const data = { prop, schema, ...baseData };\n if (Surface.isAvailable(pluginManager.capabilities, { role: 'form-input', data })) {\n return <Surface.Surface role='form-input' data={data} {...fieldProps} />;\n }\n },\n [pluginManager, baseData],\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Option from 'effect/Option';\nimport { useEffect, useState } from 'react';\n\nimport { Graph } from '@dxos/plugin-graph';\n\n/**\n * React hook to get a path from the graph.\n *\n * @param graph Graph to find the node in.\n * @param id Id of the node to find a path to.\n * @param timeout Optional timeout in milliseconds to wait for the node to be found.\n * @returns Path if found, undefined otherwise.\n */\n// TODO(wittjosiah): Factor out.\nexport const usePath = (graph: Graph.ReadableGraph, id?: string, timeout?: number): Option.Option<string[]> => {\n const [pathState, setPathState] = useState<Option.Option<string[]>>(\n id ? Graph.getPath(graph, { target: id }) : Option.none(),\n );\n\n useEffect(() => {\n if (!id && pathState) {\n setPathState(Option.none());\n }\n\n if ((Option.isSome(pathState) && pathState.value.at(-1) === id) || !id) {\n return;\n }\n\n // Set timeout did not seem to effectively not block the UI thread.\n const frame = requestAnimationFrame(async () => {\n try {\n const path = await Graph.waitForPath(graph, { target: id }, { timeout });\n if (path) {\n setPathState(Option.some(path));\n }\n } catch {}\n });\n\n return () => cancelAnimationFrame(frame);\n }, [graph, id, timeout, pathState]);\n\n return pathState;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useMemo } from 'react';\n\nimport { type Space } from '@dxos/react-client/echo';\nimport { useTranslation } from '@dxos/react-ui';\n\nimport { type TypeInputOptions, getTypenames } from '../types';\n\nexport const useTypeOptions = ({ space, annotation }: { space?: Space; annotation: TypeInputOptions }) => {\n const { t } = useTranslation();\n const typenames = getTypenames({ annotation, space });\n return useMemo(\n () =>\n typenames\n .map((typename) => ({\n value: typename,\n label: t('typename label', { ns: typename, defaultValue: typename }),\n }))\n .toSorted((a, b) => a.label.localeCompare(b.label)),\n [t, typenames],\n );\n};\n"],
5
+ "mappings": ";;;;;;AAIA,SAASA,oBAA4C;AACrD,SAASC,iBAAiBC,0BAA0B;AACpD,SAASC,iBAAiB;AAC1B,SAASC,0BAA0B;AACnC,SAASC,gBAAgB;AAElB,IAAMC,iBAAiB,CAACC,iBAAAA;AAC7B,QAAMC,SAASD,aAAaE,IAAIC,mBAAmBC,MAAM;AACzD,QAAMC,WAAWL,aAAaE,IAAII,aAAaC,YAAY;AAC3D,QAAMC,aAAaR,aAAaE,IAAIO,gBAAgBC,MAAM;AAC1D,QAAMC,SAASN,SAASH,IAAIM,UAAAA;AAC5B,QAAMI,UAAUC,mBAAmBF,OAAOG,SAAS;AACnD,SAAOF,UAAUX,OAAOc,OAAOb,IAAIU,OAAAA,IAAWI;AAChD;AAEO,IAAMC,iBAAiB,MAAA;AAC5B,QAAMN,SAASO,UAAAA;AACf,QAAMN,UAAUC,mBAAmBF,OAAOG,SAAS;AACnD,SAAOK,SAASP,OAAAA;AAClB;;;ACnBA,OAAOQ,SAASC,mBAAmB;AAEnC,SAASC,SAASC,wBAAwB;AASnC,IAAMC,wBAAwB,CAACC,aAAAA;AACpC,QAAMC,gBAAgBC,iBAAAA;AACtB,SAAOC,YACL,CAAC,EAAEC,QAAQC,MAAMC,WAAU,MAAE;AAC3B,UAAMC,OAAO;MAAEF;MAAMD;MAAQ,GAAGJ;IAAS;AACzC,QAAIQ,QAAQC,YAAYR,cAAcS,cAAc;MAAEC,MAAM;MAAcJ;IAAK,CAAA,GAAI;AACjF,aAAO,sBAAA,cAACC,QAAQA,SAAO;QAACG,MAAK;QAAaJ;QAAa,GAAGD;;IAC5D;EACF,GACA;IAACL;IAAeD;GAAS;AAE7B;;;ACtBA,YAAYY,YAAY;AACxB,SAASC,WAAWC,gBAAgB;AAEpC,SAASC,aAAa;AAWf,IAAMC,UAAU,CAACC,OAA4BC,IAAaC,YAAAA;AAC/D,QAAM,CAACC,WAAWC,YAAAA,IAAgBC,SAChCJ,KAAKK,MAAMC,QAAQP,OAAO;IAAEQ,QAAQP;EAAG,CAAA,IAAYQ,YAAI,CAAA;AAGzDC,YAAU,MAAA;AACR,QAAI,CAACT,MAAME,WAAW;AACpBC,mBAAoBK,YAAI,CAAA;IAC1B;AAEA,QAAYE,cAAOR,SAAAA,KAAcA,UAAUS,MAAMC,GAAG,EAAC,MAAOZ,MAAO,CAACA,IAAI;AACtE;IACF;AAGA,UAAMa,QAAQC,sBAAsB,YAAA;AAClC,UAAI;AACF,cAAMC,OAAO,MAAMV,MAAMW,YAAYjB,OAAO;UAAEQ,QAAQP;QAAG,GAAG;UAAEC;QAAQ,CAAA;AACtE,YAAIc,MAAM;AACRZ,uBAAoBc,YAAKF,IAAAA,CAAAA;QAC3B;MACF,QAAQ;MAAC;IACX,CAAA;AAEA,WAAO,MAAMG,qBAAqBL,KAAAA;EACpC,GAAG;IAACd;IAAOC;IAAIC;IAASC;GAAU;AAElC,SAAOA;AACT;;;AC1CA,SAASiB,eAAe;AAGxB,SAASC,sBAAsB;AAIxB,IAAMC,iBAAiB,CAAC,EAAEC,OAAOC,WAAU,MAAmD;AACnG,QAAM,EAAEC,EAAC,IAAKC,eAAAA;AACd,QAAMC,YAAYC,aAAa;IAAEJ;IAAYD;EAAM,CAAA;AACnD,SAAOM,QACL,MACEF,UACGG,IAAI,CAACC,cAAc;IAClBC,OAAOD;IACPE,OAAOR,EAAE,kBAAkB;MAAES,IAAIH;MAAUI,cAAcJ;IAAS,CAAA;EACpE,EAAA,EACCK,SAAS,CAACC,GAAGC,MAAMD,EAAEJ,MAAMM,cAAcD,EAAEL,KAAK,CAAA,GACrD;IAACR;IAAGE;GAAU;AAElB;",
6
+ "names": ["Capabilities", "AppCapabilities", "getSpaceIdFromPath", "useLayout", "ClientCapabilities", "useSpace", "getActiveSpace", "capabilities", "client", "get", "ClientCapabilities", "Client", "registry", "Capabilities", "AtomRegistry", "layoutAtom", "AppCapabilities", "Layout", "layout", "spaceId", "getSpaceIdFromPath", "workspace", "spaces", "undefined", "useActiveSpace", "useLayout", "useSpace", "React", "useCallback", "Surface", "usePluginManager", "useInputSurfaceLookup", "baseData", "pluginManager", "usePluginManager", "useCallback", "schema", "prop", "fieldProps", "data", "Surface", "isAvailable", "capabilities", "role", "Option", "useEffect", "useState", "Graph", "usePath", "graph", "id", "timeout", "pathState", "setPathState", "useState", "Graph", "getPath", "target", "none", "useEffect", "isSome", "value", "at", "frame", "requestAnimationFrame", "path", "waitForPath", "some", "cancelAnimationFrame", "useMemo", "useTranslation", "useTypeOptions", "space", "annotation", "t", "useTranslation", "typenames", "getTypenames", "useMemo", "map", "typename", "value", "label", "ns", "defaultValue", "toSorted", "a", "b", "localeCompare"]
7
+ }
@@ -0,0 +1,20 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ meta
4
+ } from "./chunk-63N5JJXI.mjs";
5
+
6
+ // src/constants.ts
7
+ var CREATE_OBJECT_DIALOG = `${meta.id}.CreateObjectDialog`;
8
+ var CREATE_SPACE_DIALOG = `${meta.id}.CreateSpaceDialog`;
9
+ var JOIN_DIALOG = `${meta.id}.JoinDialog`;
10
+ var OBJECT_RENAME_POPOVER = `${meta.id}.ObjectRenamePopover`;
11
+ var SPACE_RENAME_POPOVER = `${meta.id}.SpaceRenamePopover`;
12
+
13
+ export {
14
+ CREATE_OBJECT_DIALOG,
15
+ CREATE_SPACE_DIALOG,
16
+ JOIN_DIALOG,
17
+ OBJECT_RENAME_POPOVER,
18
+ SPACE_RENAME_POPOVER
19
+ };
20
+ //# sourceMappingURL=chunk-5KTTTTEX.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/constants.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { meta } from './meta';\n\nexport const CREATE_OBJECT_DIALOG = `${meta.id}/CreateObjectDialog`;\nexport const CREATE_SPACE_DIALOG = `${meta.id}/CreateSpaceDialog`;\nexport const JOIN_DIALOG = `${meta.id}/JoinDialog`;\nexport const OBJECT_RENAME_POPOVER = `${meta.id}/ObjectRenamePopover`;\nexport const SPACE_RENAME_POPOVER = `${meta.id}/SpaceRenamePopover`;\n"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { meta } from './meta';\n\nexport const CREATE_OBJECT_DIALOG = `${meta.id}.CreateObjectDialog`;\nexport const CREATE_SPACE_DIALOG = `${meta.id}.CreateSpaceDialog`;\nexport const JOIN_DIALOG = `${meta.id}.JoinDialog`;\nexport const OBJECT_RENAME_POPOVER = `${meta.id}.ObjectRenamePopover`;\nexport const SPACE_RENAME_POPOVER = `${meta.id}.SpaceRenamePopover`;\n"],
5
5
  "mappings": ";;;;;;AAMO,IAAMA,uBAAuB,GAAGC,KAAKC,EAAE;AACvC,IAAMC,sBAAsB,GAAGF,KAAKC,EAAE;AACtC,IAAME,cAAc,GAAGH,KAAKC,EAAE;AAC9B,IAAMG,wBAAwB,GAAGJ,KAAKC,EAAE;AACxC,IAAMI,uBAAuB,GAAGL,KAAKC,EAAE;",
6
6
  "names": ["CREATE_OBJECT_DIALOG", "meta", "id", "CREATE_SPACE_DIALOG", "JOIN_DIALOG", "OBJECT_RENAME_POPOVER", "SPACE_RENAME_POPOVER"]
7
7
  }
@@ -3,7 +3,7 @@ import { createRequire } from 'node:module';const require = createRequire(import
3
3
  // src/meta.ts
4
4
  import { trim } from "@dxos/util";
5
5
  var meta = {
6
- id: "dxos.org/plugin/space",
6
+ id: "org.dxos.plugin.space",
7
7
  name: "Spaces",
8
8
  description: trim`
9
9
  Core workspace container system for organizing and sharing collaborative environments.
@@ -15,4 +15,4 @@ var meta = {
15
15
  export {
16
16
  meta
17
17
  };
18
- //# sourceMappingURL=chunk-SL4BJSUG.mjs.map
18
+ //# sourceMappingURL=chunk-63N5JJXI.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/meta.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: Plugin.Meta = {\n id: 'dxos.org/plugin/space',\n name: 'Spaces',\n description: trim`\n Core workspace container system for organizing and sharing collaborative environments.\n Create, manage, and share spaces with granular access control and invitation management.\n `,\n icon: 'ph--planet--regular',\n};\n"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: Plugin.Meta = {\n id: 'org.dxos.plugin.space',\n name: 'Spaces',\n description: trim`\n Core workspace container system for organizing and sharing collaborative environments.\n Create, manage, and share spaces with granular access control and invitation management.\n `,\n icon: 'ph--planet--regular',\n};\n"],
5
5
  "mappings": ";;;AAKA,SAASA,YAAY;AAEd,IAAMC,OAAoB;EAC/BC,IAAI;EACJC,MAAM;EACNC,aAAaC;;;;EAIbC,MAAM;AACR;",
6
6
  "names": ["trim", "meta", "id", "name", "description", "trim", "icon"]
7
7
  }
@@ -0,0 +1,169 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ SpaceCapabilities
4
+ } from "./chunk-EVNSLSQS.mjs";
5
+ import {
6
+ meta
7
+ } from "./chunk-63N5JJXI.mjs";
8
+
9
+ // src/containers/SpacePresence/SpacePresence.tsx
10
+ import React, { forwardRef, useCallback, useEffect, useState } from "react";
11
+ import { useAtomCapability } from "@dxos/app-framework/ui";
12
+ import { generateName } from "@dxos/display-name";
13
+ import { Obj } from "@dxos/echo";
14
+ import { PublicKey } from "@dxos/react-client";
15
+ import { useMembers, useSpace } from "@dxos/react-client/echo";
16
+ import { useIdentity } from "@dxos/react-client/halo";
17
+ import { Avatar, List, ListItem, Popover, Tooltip, useDefaultValue, useTranslation } from "@dxos/react-ui";
18
+ import { AttentionGlyph, useAttention } from "@dxos/react-ui-attention";
19
+ import { ComplexMap, keyToFallback } from "@dxos/util";
20
+ var REFRESH_INTERVAL = 5e3;
21
+ var ACTIVITY_DURATION = 3e4;
22
+ var noViewers = new ComplexMap(PublicKey.hash);
23
+ var getName = (identity) => identity.profile?.displayName ?? generateName(identity.identityKey.toHex());
24
+ var SpacePresence = ({ object, spaceId }) => {
25
+ const ephemeral = useAtomCapability(SpaceCapabilities.EphemeralState);
26
+ const identity = useIdentity();
27
+ const db = Obj.getDatabase(object);
28
+ const space = useSpace(spaceId ?? db?.spaceId);
29
+ const spaceMembers = useMembers(spaceId ?? db?.spaceId);
30
+ const [_moment, setMoment] = useState(Date.now());
31
+ useEffect(() => {
32
+ const interval = setInterval(() => setMoment(Date.now()), REFRESH_INTERVAL);
33
+ return () => clearInterval(interval);
34
+ }, []);
35
+ const memberOnline = useCallback((member) => member.presence === 1, []);
36
+ const memberIsNotSelf = useCallback((member) => !identity?.identityKey.equals(member.identity.identityKey), [
37
+ identity?.identityKey
38
+ ]);
39
+ if (!identity || !ephemeral || !space) {
40
+ return null;
41
+ }
42
+ const currentObjectViewers = ephemeral.viewersByObject[Obj.getDXN(object).toString()] ?? noViewers;
43
+ const membersForObject = spaceMembers.filter((member) => memberOnline(member) && memberIsNotSelf(member)).filter((member) => currentObjectViewers.has(member.identity.identityKey)).map((member) => {
44
+ const objectView = currentObjectViewers.get(member.identity.identityKey);
45
+ const lastSeen = objectView?.lastSeen ?? -Infinity;
46
+ const currentlyAttended = objectView?.currentlyAttended ?? false;
47
+ return {
48
+ ...member,
49
+ currentlyAttended,
50
+ lastSeen
51
+ };
52
+ }).toSorted((a, b) => a.lastSeen - b.lastSeen);
53
+ return /* @__PURE__ */ React.createElement(FullPresence, {
54
+ members: membersForObject
55
+ });
56
+ };
57
+ var FullPresence = (props) => {
58
+ const { size = 9, onMemberClick } = props;
59
+ const members = useDefaultValue(props.members, () => []);
60
+ if (members.length === 0) {
61
+ return null;
62
+ }
63
+ return /* @__PURE__ */ React.createElement("div", {
64
+ className: "dx-avatar-group",
65
+ "data-testid": "spacePlugin.presence"
66
+ }, members.slice(0, 3).map((member, i) => /* @__PURE__ */ React.createElement(Tooltip.Trigger, {
67
+ key: member.identity.identityKey.toHex(),
68
+ side: "bottom",
69
+ content: getName(member.identity),
70
+ className: "grid focus:outline-hidden"
71
+ }, /* @__PURE__ */ React.createElement(PresenceAvatar, {
72
+ identity: member.identity,
73
+ match: member.currentlyAttended,
74
+ index: members.length - i,
75
+ onClick: () => onMemberClick?.(member),
76
+ size
77
+ }))), members.length > 3 && /* @__PURE__ */ React.createElement(Popover.Root, null, /* @__PURE__ */ React.createElement(Popover.Trigger, {
78
+ className: "grid focus:outline-hidden"
79
+ }, /* @__PURE__ */ React.createElement(Avatar.Root, null, /* @__PURE__ */ React.createElement(Avatar.Content, {
80
+ status: "inactive",
81
+ style: {
82
+ zIndex: members.length - 4
83
+ },
84
+ fallback: `+${members.length - 3}`,
85
+ size
86
+ }))), /* @__PURE__ */ React.createElement(Popover.Portal, null, /* @__PURE__ */ React.createElement(Popover.Content, {
87
+ side: "bottom"
88
+ }, /* @__PURE__ */ React.createElement(Popover.Arrow, null), /* @__PURE__ */ React.createElement(Popover.Viewport, {
89
+ classNames: "max-h-56"
90
+ }, /* @__PURE__ */ React.createElement(List, null, members.map((member) => /* @__PURE__ */ React.createElement(ListItem.Root, {
91
+ key: member.identity.identityKey.toHex(),
92
+ classNames: "flex gap-2 items-center cursor-pointer mb-2",
93
+ onClick: () => onMemberClick?.(member),
94
+ "data-testid": "identity-list-item"
95
+ }, /* @__PURE__ */ React.createElement(PresenceAvatar, {
96
+ identity: member.identity,
97
+ size,
98
+ showName: true,
99
+ match: member.currentlyAttended
100
+ })))))))));
101
+ };
102
+ var PresenceAvatar = /* @__PURE__ */ forwardRef(({ identity, showName, match, index, onClick, size }, forwardedRef) => {
103
+ const status = match ? "current" : "active";
104
+ const fallbackValue = keyToFallback(identity.identityKey);
105
+ return /* @__PURE__ */ React.createElement(Avatar.Root, null, /* @__PURE__ */ React.createElement(Avatar.Content, {
106
+ status,
107
+ hue: identity.profile?.data?.hue || fallbackValue.hue,
108
+ "data-testid": "spacePlugin.presence.member",
109
+ "data-status": status,
110
+ size,
111
+ ...index ? {
112
+ style: {
113
+ zIndex: index
114
+ }
115
+ } : {},
116
+ onClick,
117
+ fallback: identity.profile?.data?.emoji || fallbackValue.emoji,
118
+ ref: forwardedRef
119
+ }), /* @__PURE__ */ React.createElement(Avatar.Label, {
120
+ classNames: showName ? "text-sm truncate px-2" : "sr-only"
121
+ }, getName(identity)));
122
+ });
123
+ var SmallPresenceLive = ({ id, open, viewers }) => {
124
+ const { hasAttention, isAncestor, isRelated } = useAttention(id);
125
+ const attended = hasAttention || isRelated;
126
+ const containsAttended = isAncestor && !open;
127
+ const getActiveViewers = (viewers2) => {
128
+ const moment = Date.now();
129
+ return Array.from(viewers2.values()).filter((viewer) => moment - viewer.lastSeen < ACTIVITY_DURATION);
130
+ };
131
+ const [activeViewers, setActiveViewers] = useState(viewers ? getActiveViewers(viewers) : []);
132
+ useEffect(() => {
133
+ if (viewers) {
134
+ setActiveViewers(getActiveViewers(viewers));
135
+ const interval = setInterval(() => {
136
+ setActiveViewers(getActiveViewers(viewers));
137
+ }, REFRESH_INTERVAL);
138
+ return () => clearInterval(interval);
139
+ }
140
+ }, [
141
+ viewers
142
+ ]);
143
+ return /* @__PURE__ */ React.createElement(SmallPresence, {
144
+ count: activeViewers.length,
145
+ attended,
146
+ containsAttended
147
+ });
148
+ };
149
+ var SmallPresence = ({ count = 0, attended, containsAttended }) => {
150
+ const { t } = useTranslation(meta.id);
151
+ return /* @__PURE__ */ React.createElement(Tooltip.Trigger, {
152
+ asChild: true,
153
+ content: t("presence label", {
154
+ count
155
+ }),
156
+ side: "bottom"
157
+ }, /* @__PURE__ */ React.createElement(AttentionGlyph, {
158
+ attended,
159
+ containsAttended,
160
+ presence: count > 1 ? "many" : count === 1 ? "one" : "none",
161
+ classNames: "self-center mx-1"
162
+ }));
163
+ };
164
+
165
+ export {
166
+ SpacePresence,
167
+ SmallPresenceLive
168
+ };
169
+ //# sourceMappingURL=chunk-EDC2RUJU.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/containers/SpacePresence/SpacePresence.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { forwardRef, useCallback, useEffect, useState } from 'react';\n\nimport { useAtomCapability } from '@dxos/app-framework/ui';\nimport { generateName } from '@dxos/display-name';\nimport { type Key, Obj } from '@dxos/echo';\nimport { PublicKey } from '@dxos/react-client';\nimport { type SpaceMember, useMembers, useSpace } from '@dxos/react-client/echo';\nimport { type Identity, useIdentity } from '@dxos/react-client/halo';\nimport {\n Avatar,\n type AvatarContentProps,\n type DxAvatar,\n List,\n ListItem,\n Popover,\n type Size,\n type ThemedClassName,\n Tooltip,\n useDefaultValue,\n useTranslation,\n} from '@dxos/react-ui';\nimport { AttentionGlyph, type AttentionGlyphProps, useAttention } from '@dxos/react-ui-attention';\nimport { ComplexMap, keyToFallback } from '@dxos/util';\n\nimport { meta } from '../../meta';\nimport { type ObjectViewerProps, SpaceCapabilities } from '../../types';\n\n// TODO(thure): Get/derive these values from protocol\nconst REFRESH_INTERVAL = 5000;\nconst ACTIVITY_DURATION = 30_000;\n\n// TODO(thure): This is chiefly meant to satisfy TS & provide an empty map after `deepSignal` interactions.\nconst noViewers = new ComplexMap<PublicKey, ObjectViewerProps>(PublicKey.hash);\n\n// TODO(wittjosiah): Factor out?\nconst getName = (identity: Identity) => identity.profile?.displayName ?? generateName(identity.identityKey.toHex());\n\nexport type SpacePresenceProps = {\n object: Obj.Unknown;\n spaceId?: Key.SpaceId;\n};\n\nexport const SpacePresence = ({ object, spaceId }: SpacePresenceProps) => {\n const ephemeral = useAtomCapability(SpaceCapabilities.EphemeralState);\n const identity = useIdentity();\n const db = Obj.getDatabase(object);\n const space = useSpace(spaceId ?? db?.spaceId);\n const spaceMembers = useMembers(spaceId ?? db?.spaceId);\n\n const [_moment, setMoment] = useState(Date.now());\n\n // NOTE(thure): This is necessary so Presence updates without any underlying data updating.\n useEffect(() => {\n const interval = setInterval(() => setMoment(Date.now()), REFRESH_INTERVAL);\n return () => clearInterval(interval);\n }, []);\n\n const memberOnline = useCallback((member: SpaceMember) => member.presence === 1, []);\n const memberIsNotSelf = useCallback(\n (member: SpaceMember) => !identity?.identityKey.equals(member.identity.identityKey),\n [identity?.identityKey],\n );\n\n // TODO(thure): Could it be a smell to return early when there are interactions with `deepSignal` later, since it\n // prevents reactivity?\n if (!identity || !ephemeral || !space) {\n return null;\n }\n\n const currentObjectViewers = ephemeral.viewersByObject[Obj.getDXN(object).toString()] ?? noViewers;\n\n const membersForObject = spaceMembers\n .filter((member) => memberOnline(member) && memberIsNotSelf(member))\n .filter((member) => currentObjectViewers.has(member.identity.identityKey))\n .map((member) => {\n const objectView = currentObjectViewers.get(member.identity.identityKey);\n const lastSeen = objectView?.lastSeen ?? -Infinity;\n const currentlyAttended = objectView?.currentlyAttended ?? false;\n\n return {\n ...member,\n currentlyAttended,\n lastSeen,\n };\n })\n .toSorted((a, b) => a.lastSeen - b.lastSeen);\n\n return <FullPresence members={membersForObject} />;\n};\n\nexport type Member = SpaceMember & {\n /**\n * Last time a member was seen on this object.\n */\n lastSeen: number;\n currentlyAttended: boolean;\n};\n\nexport type MemberPresenceProps = ThemedClassName<{\n size?: Size;\n members?: Member[];\n showCount?: boolean;\n onMemberClick?: (member: Member) => void;\n}>;\n\nexport const FullPresence = (props: MemberPresenceProps) => {\n const { size = 9, onMemberClick } = props;\n const members = useDefaultValue(props.members, () => []);\n\n if (members.length === 0) {\n return null;\n }\n\n return (\n <div className='dx-avatar-group' data-testid='spacePlugin.presence'>\n {members.slice(0, 3).map((member, i) => (\n <Tooltip.Trigger\n key={member.identity.identityKey.toHex()}\n side='bottom'\n content={getName(member.identity)}\n className='grid focus:outline-hidden'\n >\n <PresenceAvatar\n identity={member.identity}\n match={member.currentlyAttended} // TODO(Zan): Match always true now we're showing 'members viewing current object'.\n index={members.length - i}\n onClick={() => onMemberClick?.(member)}\n size={size}\n />\n </Tooltip.Trigger>\n ))}\n\n {members.length > 3 && (\n <Popover.Root>\n <Popover.Trigger className='grid focus:outline-hidden'>\n <Avatar.Root>\n {/* TODO(wittjosiah): Make text fit. */}\n <Avatar.Content\n status='inactive'\n style={{ zIndex: members.length - 4 }}\n fallback={`+${members.length - 3}`}\n size={size}\n />\n </Avatar.Root>\n </Popover.Trigger>\n <Popover.Portal>\n <Popover.Content side='bottom'>\n <Popover.Arrow />\n <Popover.Viewport classNames='max-h-56'>\n <List>\n {members.map((member) => (\n <ListItem.Root\n key={member.identity.identityKey.toHex()}\n classNames='flex gap-2 items-center cursor-pointer mb-2'\n onClick={() => onMemberClick?.(member)}\n data-testid='identity-list-item'\n >\n {/* TODO(Zan): Match always true now we're showing 'members viewing current object'. */}\n <PresenceAvatar\n identity={member.identity}\n size={size}\n showName\n match={member.currentlyAttended}\n />\n </ListItem.Root>\n ))}\n </List>\n </Popover.Viewport>\n </Popover.Content>\n </Popover.Portal>\n </Popover.Root>\n )}\n </div>\n );\n};\n\ntype PresenceAvatarProps = Pick<AvatarContentProps, 'size'> & {\n identity: Identity;\n showName?: boolean;\n match?: boolean;\n index?: number;\n onClick?: () => void;\n};\n\nconst PresenceAvatar = forwardRef<DxAvatar, PresenceAvatarProps>(\n ({ identity, showName, match, index, onClick, size }, forwardedRef) => {\n const status = match ? 'current' : 'active';\n const fallbackValue = keyToFallback(identity.identityKey);\n return (\n <Avatar.Root>\n <Avatar.Content\n status={status}\n hue={identity.profile?.data?.hue || fallbackValue.hue}\n data-testid='spacePlugin.presence.member'\n data-status={status}\n size={size}\n {...(index ? { style: { zIndex: index } } : {})}\n onClick={onClick}\n fallback={identity.profile?.data?.emoji || fallbackValue.emoji}\n ref={forwardedRef}\n />\n <Avatar.Label classNames={showName ? 'text-sm truncate px-2' : 'sr-only'}>{getName(identity)}</Avatar.Label>\n </Avatar.Root>\n );\n },\n);\n\nexport type SmallPresenceLiveProps = {\n id?: string;\n open?: boolean;\n viewers?: ComplexMap<PublicKey, ObjectViewerProps>;\n};\n\nexport const SmallPresenceLive = ({ id, open, viewers }: SmallPresenceLiveProps) => {\n const { hasAttention, isAncestor, isRelated } = useAttention(id);\n const attended = hasAttention || isRelated;\n const containsAttended = isAncestor && !open;\n const getActiveViewers = (viewers: ComplexMap<PublicKey, ObjectViewerProps>): ObjectViewerProps[] => {\n const moment = Date.now();\n return Array.from<ObjectViewerProps>(viewers.values()).filter(\n (viewer) => moment - viewer.lastSeen < ACTIVITY_DURATION,\n );\n };\n\n const [activeViewers, setActiveViewers] = useState(viewers ? getActiveViewers(viewers) : []);\n\n useEffect(() => {\n if (viewers) {\n setActiveViewers(getActiveViewers(viewers));\n const interval = setInterval(() => {\n setActiveViewers(getActiveViewers(viewers));\n }, REFRESH_INTERVAL);\n return () => clearInterval(interval);\n }\n }, [viewers]);\n\n return <SmallPresence count={activeViewers.length} attended={attended} containsAttended={containsAttended} />;\n};\n\nexport type SmallPresenceProps = {\n count?: number;\n} & Pick<AttentionGlyphProps, 'attended' | 'containsAttended'>;\n\nexport const SmallPresence = ({ count = 0, attended, containsAttended }: SmallPresenceProps) => {\n const { t } = useTranslation(meta.id);\n\n return (\n <Tooltip.Trigger asChild content={t('presence label', { count })} side='bottom'>\n <AttentionGlyph\n attended={attended}\n containsAttended={containsAttended}\n presence={count > 1 ? 'many' : count === 1 ? 'one' : 'none'}\n classNames='self-center mx-1'\n />\n </Tooltip.Trigger>\n );\n};\n"],
5
+ "mappings": ";;;;;;;;;AAIA,OAAOA,SAASC,YAAYC,aAAaC,WAAWC,gBAAgB;AAEpE,SAASC,yBAAyB;AAClC,SAASC,oBAAoB;AAC7B,SAAmBC,WAAW;AAC9B,SAASC,iBAAiB;AAC1B,SAA2BC,YAAYC,gBAAgB;AACvD,SAAwBC,mBAAmB;AAC3C,SACEC,QAGAC,MACAC,UACAC,SAGAC,SACAC,iBACAC,sBACK;AACP,SAASC,gBAA0CC,oBAAoB;AACvE,SAASC,YAAYC,qBAAqB;AAM1C,IAAMC,mBAAmB;AACzB,IAAMC,oBAAoB;AAG1B,IAAMC,YAAY,IAAIC,WAAyCC,UAAUC,IAAI;AAG7E,IAAMC,UAAU,CAACC,aAAuBA,SAASC,SAASC,eAAeC,aAAaH,SAASI,YAAYC,MAAK,CAAA;AAOzG,IAAMC,gBAAgB,CAAC,EAAEC,QAAQC,QAAO,MAAsB;AACnE,QAAMC,YAAYC,kBAAkBC,kBAAkBC,cAAc;AACpE,QAAMZ,WAAWa,YAAAA;AACjB,QAAMC,KAAKC,IAAIC,YAAYT,MAAAA;AAC3B,QAAMU,QAAQC,SAASV,WAAWM,IAAIN,OAAAA;AACtC,QAAMW,eAAeC,WAAWZ,WAAWM,IAAIN,OAAAA;AAE/C,QAAM,CAACa,SAASC,SAAAA,IAAaC,SAASC,KAAKC,IAAG,CAAA;AAG9CC,YAAU,MAAA;AACR,UAAMC,WAAWC,YAAY,MAAMN,UAAUE,KAAKC,IAAG,CAAA,GAAKhC,gBAAAA;AAC1D,WAAO,MAAMoC,cAAcF,QAAAA;EAC7B,GAAG,CAAA,CAAE;AAEL,QAAMG,eAAeC,YAAY,CAACC,WAAwBA,OAAOC,aAAa,GAAG,CAAA,CAAE;AACnF,QAAMC,kBAAkBH,YACtB,CAACC,WAAwB,CAAChC,UAAUI,YAAY+B,OAAOH,OAAOhC,SAASI,WAAW,GAClF;IAACJ,UAAUI;GAAY;AAKzB,MAAI,CAACJ,YAAY,CAACS,aAAa,CAACQ,OAAO;AACrC,WAAO;EACT;AAEA,QAAMmB,uBAAuB3B,UAAU4B,gBAAgBtB,IAAIuB,OAAO/B,MAAAA,EAAQgC,SAAQ,CAAA,KAAO5C;AAEzF,QAAM6C,mBAAmBrB,aACtBsB,OAAO,CAACT,WAAWF,aAAaE,MAAAA,KAAWE,gBAAgBF,MAAAA,CAAAA,EAC3DS,OAAO,CAACT,WAAWI,qBAAqBM,IAAIV,OAAOhC,SAASI,WAAW,CAAA,EACvEuC,IAAI,CAACX,WAAAA;AACJ,UAAMY,aAAaR,qBAAqBS,IAAIb,OAAOhC,SAASI,WAAW;AACvE,UAAM0C,WAAWF,YAAYE,YAAY;AACzC,UAAMC,oBAAoBH,YAAYG,qBAAqB;AAE3D,WAAO;MACL,GAAGf;MACHe;MACAD;IACF;EACF,CAAA,EACCE,SAAS,CAACC,GAAGC,MAAMD,EAAEH,WAAWI,EAAEJ,QAAQ;AAE7C,SAAO,sBAAA,cAACK,cAAAA;IAAaC,SAASZ;;AAChC;AAiBO,IAAMW,eAAe,CAACE,UAAAA;AAC3B,QAAM,EAAEC,OAAO,GAAGC,cAAa,IAAKF;AACpC,QAAMD,UAAUI,gBAAgBH,MAAMD,SAAS,MAAM,CAAA,CAAE;AAEvD,MAAIA,QAAQK,WAAW,GAAG;AACxB,WAAO;EACT;AAEA,SACE,sBAAA,cAACC,OAAAA;IAAIC,WAAU;IAAkBC,eAAY;KAC1CR,QAAQS,MAAM,GAAG,CAAA,EAAGlB,IAAI,CAACX,QAAQ8B,MAChC,sBAAA,cAACC,QAAQC,SAAO;IACdC,KAAKjC,OAAOhC,SAASI,YAAYC,MAAK;IACtC6D,MAAK;IACLC,SAASpE,QAAQiC,OAAOhC,QAAQ;IAChC2D,WAAU;KAEV,sBAAA,cAACS,gBAAAA;IACCpE,UAAUgC,OAAOhC;IACjBqE,OAAOrC,OAAOe;IACduB,OAAOlB,QAAQK,SAASK;IACxBS,SAAS,MAAMhB,gBAAgBvB,MAAAA;IAC/BsB;QAKLF,QAAQK,SAAS,KAChB,sBAAA,cAACe,QAAQC,MAAI,MACX,sBAAA,cAACD,QAAQR,SAAO;IAACL,WAAU;KACzB,sBAAA,cAACe,OAAOD,MAAI,MAEV,sBAAA,cAACC,OAAOC,SAAO;IACbC,QAAO;IACPC,OAAO;MAAEC,QAAQ1B,QAAQK,SAAS;IAAE;IACpCsB,UAAU,IAAI3B,QAAQK,SAAS,CAAA;IAC/BH;QAIN,sBAAA,cAACkB,QAAQQ,QAAM,MACb,sBAAA,cAACR,QAAQG,SAAO;IAACT,MAAK;KACpB,sBAAA,cAACM,QAAQS,OAAK,IAAA,GACd,sBAAA,cAACT,QAAQU,UAAQ;IAACC,YAAW;KAC3B,sBAAA,cAACC,MAAAA,MACEhC,QAAQT,IAAI,CAACX,WACZ,sBAAA,cAACqD,SAASZ,MAAI;IACZR,KAAKjC,OAAOhC,SAASI,YAAYC,MAAK;IACtC8E,YAAW;IACXZ,SAAS,MAAMhB,gBAAgBvB,MAAAA;IAC/B4B,eAAY;KAGZ,sBAAA,cAACQ,gBAAAA;IACCpE,UAAUgC,OAAOhC;IACjBsD;IACAgC,UAAAA;IACAjB,OAAOrC,OAAOe;;AAYtC;AAUA,IAAMqB,iBAAiBmB,2BACrB,CAAC,EAAEvF,UAAUsF,UAAUjB,OAAOC,OAAOC,SAASjB,KAAI,GAAIkC,iBAAAA;AACpD,QAAMZ,SAASP,QAAQ,YAAY;AACnC,QAAMoB,gBAAgBC,cAAc1F,SAASI,WAAW;AACxD,SACE,sBAAA,cAACsE,OAAOD,MAAI,MACV,sBAAA,cAACC,OAAOC,SAAO;IACbC;IACAe,KAAK3F,SAASC,SAAS2F,MAAMD,OAAOF,cAAcE;IAClD/B,eAAY;IACZiC,eAAajB;IACbtB;IACC,GAAIgB,QAAQ;MAAEO,OAAO;QAAEC,QAAQR;MAAM;IAAE,IAAI,CAAC;IAC7CC;IACAQ,UAAU/E,SAASC,SAAS2F,MAAME,SAASL,cAAcK;IACzDC,KAAKP;MAEP,sBAAA,cAACd,OAAOsB,OAAK;IAACb,YAAYG,WAAW,0BAA0B;KAAYvF,QAAQC,QAAAA,CAAAA,CAAAA;AAGzF,CAAA;AASK,IAAMiG,oBAAoB,CAAC,EAAEC,IAAIC,MAAMC,QAAO,MAA0B;AAC7E,QAAM,EAAEC,cAAcC,YAAYC,UAAS,IAAKC,aAAaN,EAAAA;AAC7D,QAAMO,WAAWJ,gBAAgBE;AACjC,QAAMG,mBAAmBJ,cAAc,CAACH;AACxC,QAAMQ,mBAAmB,CAACP,aAAAA;AACxB,UAAMQ,SAASpF,KAAKC,IAAG;AACvB,WAAOoF,MAAMC,KAAwBV,SAAQW,OAAM,CAAA,EAAItE,OACrD,CAACuE,WAAWJ,SAASI,OAAOlE,WAAWpD,iBAAAA;EAE3C;AAEA,QAAM,CAACuH,eAAeC,gBAAAA,IAAoB3F,SAAS6E,UAAUO,iBAAiBP,OAAAA,IAAW,CAAA,CAAE;AAE3F1E,YAAU,MAAA;AACR,QAAI0E,SAAS;AACXc,uBAAiBP,iBAAiBP,OAAAA,CAAAA;AAClC,YAAMzE,WAAWC,YAAY,MAAA;AAC3BsF,yBAAiBP,iBAAiBP,OAAAA,CAAAA;MACpC,GAAG3G,gBAAAA;AACH,aAAO,MAAMoC,cAAcF,QAAAA;IAC7B;EACF,GAAG;IAACyE;GAAQ;AAEZ,SAAO,sBAAA,cAACe,eAAAA;IAAcC,OAAOH,cAAcxD;IAAQgD;IAAoBC;;AACzE;AAMO,IAAMS,gBAAgB,CAAC,EAAEC,QAAQ,GAAGX,UAAUC,iBAAgB,MAAsB;AACzF,QAAM,EAAEW,EAAC,IAAKC,eAAeC,KAAKrB,EAAE;AAEpC,SACE,sBAAA,cAACnC,QAAQC,SAAO;IAACwD,SAAAA;IAAQrD,SAASkD,EAAE,kBAAkB;MAAED;IAAM,CAAA;IAAIlD,MAAK;KACrE,sBAAA,cAACuD,gBAAAA;IACChB;IACAC;IACAzE,UAAUmF,QAAQ,IAAI,SAASA,UAAU,IAAI,QAAQ;IACrDjC,YAAW;;AAInB;",
6
+ "names": ["React", "forwardRef", "useCallback", "useEffect", "useState", "useAtomCapability", "generateName", "Obj", "PublicKey", "useMembers", "useSpace", "useIdentity", "Avatar", "List", "ListItem", "Popover", "Tooltip", "useDefaultValue", "useTranslation", "AttentionGlyph", "useAttention", "ComplexMap", "keyToFallback", "REFRESH_INTERVAL", "ACTIVITY_DURATION", "noViewers", "ComplexMap", "PublicKey", "hash", "getName", "identity", "profile", "displayName", "generateName", "identityKey", "toHex", "SpacePresence", "object", "spaceId", "ephemeral", "useAtomCapability", "SpaceCapabilities", "EphemeralState", "useIdentity", "db", "Obj", "getDatabase", "space", "useSpace", "spaceMembers", "useMembers", "_moment", "setMoment", "useState", "Date", "now", "useEffect", "interval", "setInterval", "clearInterval", "memberOnline", "useCallback", "member", "presence", "memberIsNotSelf", "equals", "currentObjectViewers", "viewersByObject", "getDXN", "toString", "membersForObject", "filter", "has", "map", "objectView", "get", "lastSeen", "currentlyAttended", "toSorted", "a", "b", "FullPresence", "members", "props", "size", "onMemberClick", "useDefaultValue", "length", "div", "className", "data-testid", "slice", "i", "Tooltip", "Trigger", "key", "side", "content", "PresenceAvatar", "match", "index", "onClick", "Popover", "Root", "Avatar", "Content", "status", "style", "zIndex", "fallback", "Portal", "Arrow", "Viewport", "classNames", "List", "ListItem", "showName", "forwardRef", "forwardedRef", "fallbackValue", "keyToFallback", "hue", "data", "data-status", "emoji", "ref", "Label", "SmallPresenceLive", "id", "open", "viewers", "hasAttention", "isAncestor", "isRelated", "useAttention", "attended", "containsAttended", "getActiveViewers", "moment", "Array", "from", "values", "viewer", "activeViewers", "setActiveViewers", "SmallPresence", "count", "t", "useTranslation", "meta", "asChild", "AttentionGlyph"]
7
+ }