@dxos/plugin-space 0.8.3 → 0.8.4-main.03d5cd7b56

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 (941) hide show
  1. package/dist/lib/neutral/CollectionArticle-HQAKFIS7.mjs +98 -0
  2. package/dist/lib/neutral/CollectionArticle-HQAKFIS7.mjs.map +7 -0
  3. package/dist/lib/neutral/CollectionSection-A5WRHE5Z.mjs +19 -0
  4. package/dist/lib/neutral/CollectionSection-A5WRHE5Z.mjs.map +7 -0
  5. package/dist/lib/neutral/CreateObjectDialog-2JEYK4PI.mjs +141 -0
  6. package/dist/lib/neutral/CreateObjectDialog-2JEYK4PI.mjs.map +7 -0
  7. package/dist/lib/neutral/CreateSpaceDialog-B3OELSC7.mjs +56 -0
  8. package/dist/lib/neutral/CreateSpaceDialog-B3OELSC7.mjs.map +7 -0
  9. package/dist/lib/neutral/ImportSpaceDialog-LWLVC5RZ.mjs +62 -0
  10. package/dist/lib/neutral/ImportSpaceDialog-LWLVC5RZ.mjs.map +7 -0
  11. package/dist/lib/neutral/InlineSyncStatus-TBJKZCH7.mjs +49 -0
  12. package/dist/lib/neutral/InlineSyncStatus-TBJKZCH7.mjs.map +7 -0
  13. package/dist/lib/neutral/JoinDialog-SSFKRFTJ.mjs +114 -0
  14. package/dist/lib/neutral/JoinDialog-SSFKRFTJ.mjs.map +7 -0
  15. package/dist/lib/neutral/MembersContainer-MRPLHZ6L.mjs +225 -0
  16. package/dist/lib/neutral/MembersContainer-MRPLHZ6L.mjs.map +7 -0
  17. package/dist/lib/neutral/MenuFooter-AOZADTVG.mjs +33 -0
  18. package/dist/lib/neutral/MenuFooter-AOZADTVG.mjs.map +7 -0
  19. package/dist/lib/neutral/ObjectCardStack-FYTP7YUB.mjs +55 -0
  20. package/dist/lib/neutral/ObjectCardStack-FYTP7YUB.mjs.map +7 -0
  21. package/dist/lib/neutral/ObjectProperties-BF6KGFFC.mjs +33 -0
  22. package/dist/lib/neutral/ObjectProperties-BF6KGFFC.mjs.map +7 -0
  23. package/dist/lib/neutral/ObjectRenamePopover-V656TFC5.mjs +59 -0
  24. package/dist/lib/neutral/ObjectRenamePopover-V656TFC5.mjs.map +7 -0
  25. package/dist/lib/neutral/RecordArticle-VRWKXVAO.mjs +48 -0
  26. package/dist/lib/neutral/RecordArticle-VRWKXVAO.mjs.map +7 -0
  27. package/dist/lib/neutral/RelatedArticle-GHGL2GL5.mjs +68 -0
  28. package/dist/lib/neutral/RelatedArticle-GHGL2GL5.mjs.map +7 -0
  29. package/dist/lib/neutral/SchemaContainer-KMOZ23RA.mjs +43 -0
  30. package/dist/lib/neutral/SchemaContainer-KMOZ23RA.mjs.map +7 -0
  31. package/dist/lib/neutral/SmallPresenceLive-2W5ZUDCF.mjs +8 -0
  32. package/dist/lib/neutral/SpacePlugin.mjs +10 -0
  33. package/dist/lib/neutral/SpacePlugin.node.mjs +838 -0
  34. package/dist/lib/neutral/SpacePlugin.node.mjs.map +7 -0
  35. package/dist/lib/neutral/SpacePresence-PTTGZYZ6.mjs +11 -0
  36. package/dist/lib/neutral/SpacePresence-PTTGZYZ6.mjs.map +7 -0
  37. package/dist/lib/neutral/SpaceRenamePopover-KFWL4CTJ.mjs +56 -0
  38. package/dist/lib/neutral/SpaceRenamePopover-KFWL4CTJ.mjs.map +7 -0
  39. package/dist/lib/neutral/SpaceSettings-TEAPRA2W.mjs +47 -0
  40. package/dist/lib/neutral/SpaceSettings-TEAPRA2W.mjs.map +7 -0
  41. package/dist/lib/neutral/SpaceSettingsContainer-VAXQNCWG.mjs +266 -0
  42. package/dist/lib/neutral/SpaceSettingsContainer-VAXQNCWG.mjs.map +7 -0
  43. package/dist/lib/neutral/SyncStatus-FFKEPNZF.mjs +146 -0
  44. package/dist/lib/neutral/SyncStatus-FFKEPNZF.mjs.map +7 -0
  45. package/dist/lib/neutral/ViewEditor-BPEBZUP2.mjs +104 -0
  46. package/dist/lib/neutral/ViewEditor-BPEBZUP2.mjs.map +7 -0
  47. package/dist/lib/neutral/add-object-NPELEGMV.mjs +78 -0
  48. package/dist/lib/neutral/add-object-NPELEGMV.mjs.map +7 -0
  49. package/dist/lib/neutral/add-relation-KRM6GIEW.mjs +26 -0
  50. package/dist/lib/neutral/add-relation-KRM6GIEW.mjs.map +7 -0
  51. package/dist/lib/neutral/add-schema-S3ZTEMXN.mjs +60 -0
  52. package/dist/lib/neutral/add-schema-S3ZTEMXN.mjs.map +7 -0
  53. package/dist/lib/neutral/app-graph-builder-KHZ2B5JK.mjs +1264 -0
  54. package/dist/lib/neutral/app-graph-builder-KHZ2B5JK.mjs.map +7 -0
  55. package/dist/lib/neutral/app-graph-serializer-2ALH6ZMR.mjs +81 -0
  56. package/dist/lib/neutral/app-graph-serializer-2ALH6ZMR.mjs.map +7 -0
  57. package/dist/lib/neutral/capabilities/index.mjs +45 -0
  58. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  59. package/dist/lib/neutral/capabilities/node.mjs +15 -0
  60. package/dist/lib/neutral/capabilities/node.mjs.map +7 -0
  61. package/dist/lib/neutral/chunk-2DHCIE27.mjs +25 -0
  62. package/dist/lib/neutral/chunk-2DHCIE27.mjs.map +7 -0
  63. package/dist/lib/neutral/chunk-BWDWDXYZ.mjs +18 -0
  64. package/dist/lib/neutral/chunk-BWDWDXYZ.mjs.map +7 -0
  65. package/dist/lib/neutral/chunk-CBAPOKS3.mjs +8 -0
  66. package/dist/lib/neutral/chunk-CBAPOKS3.mjs.map +7 -0
  67. package/dist/lib/neutral/chunk-CTBIVBHJ.mjs +163 -0
  68. package/dist/lib/neutral/chunk-CTBIVBHJ.mjs.map +7 -0
  69. package/dist/lib/neutral/chunk-EDP4XO2G.mjs +19 -0
  70. package/dist/lib/neutral/chunk-EDP4XO2G.mjs.map +7 -0
  71. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  72. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +7 -0
  73. package/dist/lib/neutral/chunk-JHZGRYGS.mjs +8 -0
  74. package/dist/lib/neutral/chunk-JHZGRYGS.mjs.map +7 -0
  75. package/dist/lib/neutral/chunk-SZULK2O6.mjs +101 -0
  76. package/dist/lib/neutral/chunk-SZULK2O6.mjs.map +7 -0
  77. package/dist/lib/neutral/chunk-TSC7HFNO.mjs +531 -0
  78. package/dist/lib/neutral/chunk-TSC7HFNO.mjs.map +7 -0
  79. package/dist/lib/neutral/chunk-YE46AQFY.mjs +145 -0
  80. package/dist/lib/neutral/chunk-YE46AQFY.mjs.map +7 -0
  81. package/dist/lib/neutral/close-OAJ3A5CP.mjs +17 -0
  82. package/dist/lib/neutral/close-OAJ3A5CP.mjs.map +7 -0
  83. package/dist/lib/neutral/components/index.mjs +385 -0
  84. package/dist/lib/neutral/components/index.mjs.map +7 -0
  85. package/dist/lib/neutral/containers/index.mjs +49 -0
  86. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  87. package/dist/lib/neutral/create-ILZTUDJU.mjs +74 -0
  88. package/dist/lib/neutral/create-ILZTUDJU.mjs.map +7 -0
  89. package/dist/lib/neutral/create-object-CTNORY34.mjs +102 -0
  90. package/dist/lib/neutral/create-object-CTNORY34.mjs.map +7 -0
  91. package/dist/lib/neutral/delete-field-NF3LYXKZ.mjs +43 -0
  92. package/dist/lib/neutral/delete-field-NF3LYXKZ.mjs.map +7 -0
  93. package/dist/lib/neutral/duplicate-object-UYBXQ7CX.mjs +17 -0
  94. package/dist/lib/neutral/duplicate-object-UYBXQ7CX.mjs.map +7 -0
  95. package/dist/lib/neutral/export-space-SVR4K7AM.mjs +34 -0
  96. package/dist/lib/neutral/export-space-SVR4K7AM.mjs.map +7 -0
  97. package/dist/lib/neutral/get-share-link-ZGN6A6ID.mjs +41 -0
  98. package/dist/lib/neutral/get-share-link-ZGN6A6ID.mjs.map +7 -0
  99. package/dist/lib/neutral/hooks/index.mjs +121 -0
  100. package/dist/lib/neutral/hooks/index.mjs.map +7 -0
  101. package/dist/lib/neutral/identity-created-O6DCY2Z7.mjs +33 -0
  102. package/dist/lib/neutral/identity-created-O6DCY2Z7.mjs.map +7 -0
  103. package/dist/lib/neutral/import-space-VWM46SJU.mjs +24 -0
  104. package/dist/lib/neutral/import-space-VWM46SJU.mjs.map +7 -0
  105. package/dist/lib/neutral/index.mjs +50 -0
  106. package/dist/lib/neutral/index.mjs.map +7 -0
  107. package/dist/lib/neutral/join-GFKHCVMB.mjs +28 -0
  108. package/dist/lib/neutral/join-GFKHCVMB.mjs.map +7 -0
  109. package/dist/lib/neutral/meta.json +1 -0
  110. package/dist/lib/neutral/meta.mjs +8 -0
  111. package/dist/lib/neutral/meta.mjs.map +7 -0
  112. package/dist/lib/neutral/migrate-PLUAR5OP.mjs +50 -0
  113. package/dist/lib/neutral/migrate-PLUAR5OP.mjs.map +7 -0
  114. package/dist/lib/neutral/migrations-U2TYF5O4.mjs +59 -0
  115. package/dist/lib/neutral/migrations-U2TYF5O4.mjs.map +7 -0
  116. package/dist/lib/neutral/navigation-handler-LYSE2UBE.mjs +38 -0
  117. package/dist/lib/neutral/navigation-handler-LYSE2UBE.mjs.map +7 -0
  118. package/dist/lib/neutral/navigation-resolver-HM5ALHFV.mjs +70 -0
  119. package/dist/lib/neutral/navigation-resolver-HM5ALHFV.mjs.map +7 -0
  120. package/dist/lib/neutral/open-S3D5CUTE.mjs +17 -0
  121. package/dist/lib/neutral/open-S3D5CUTE.mjs.map +7 -0
  122. package/dist/lib/neutral/open-create-object-3IGKCSQT.mjs +42 -0
  123. package/dist/lib/neutral/open-create-object-3IGKCSQT.mjs.map +7 -0
  124. package/dist/lib/neutral/open-create-space-XEH2TLQR.mjs +24 -0
  125. package/dist/lib/neutral/open-create-space-XEH2TLQR.mjs.map +7 -0
  126. package/dist/lib/neutral/open-import-space-L4QM4S7L.mjs +24 -0
  127. package/dist/lib/neutral/open-import-space-L4QM4S7L.mjs.map +7 -0
  128. package/dist/lib/neutral/open-members-DN3T6EWB.mjs +23 -0
  129. package/dist/lib/neutral/open-members-DN3T6EWB.mjs.map +7 -0
  130. package/dist/lib/neutral/open-settings-5BRKKKZN.mjs +23 -0
  131. package/dist/lib/neutral/open-settings-5BRKKKZN.mjs.map +7 -0
  132. package/dist/lib/neutral/operation-handler-YPIRQOH2.mjs +13 -0
  133. package/dist/lib/neutral/operation-handler-YPIRQOH2.mjs.map +7 -0
  134. package/dist/lib/neutral/operations/index.mjs +13 -0
  135. package/dist/lib/neutral/operations/index.mjs.map +7 -0
  136. package/dist/lib/neutral/plugin.mjs +18 -0
  137. package/dist/lib/neutral/plugin.mjs.map +7 -0
  138. package/dist/lib/neutral/react-root-2DJPZQT4.mjs +23 -0
  139. package/dist/lib/neutral/react-root-2DJPZQT4.mjs.map +7 -0
  140. package/dist/lib/neutral/react-surface-WH53VBBX.mjs +376 -0
  141. package/dist/lib/neutral/react-surface-WH53VBBX.mjs.map +7 -0
  142. package/dist/lib/neutral/remove-objects-F767MCQJ.mjs +51 -0
  143. package/dist/lib/neutral/remove-objects-F767MCQJ.mjs.map +7 -0
  144. package/dist/lib/neutral/rename-JDDKVVH4.mjs +25 -0
  145. package/dist/lib/neutral/rename-JDDKVVH4.mjs.map +7 -0
  146. package/dist/lib/neutral/rename-object-CZXNWZ36.mjs +26 -0
  147. package/dist/lib/neutral/rename-object-CZXNWZ36.mjs.map +7 -0
  148. package/dist/lib/neutral/repair-RXOGKEAC.mjs +29 -0
  149. package/dist/lib/neutral/repair-RXOGKEAC.mjs.map +7 -0
  150. package/dist/lib/neutral/restore-field-NM4W7KAZ.mjs +41 -0
  151. package/dist/lib/neutral/restore-field-NM4W7KAZ.mjs.map +7 -0
  152. package/dist/lib/neutral/restore-objects-OOKBFSH2.mjs +40 -0
  153. package/dist/lib/neutral/restore-objects-OOKBFSH2.mjs.map +7 -0
  154. package/dist/lib/neutral/settings-DUCCRYX7.mjs +30 -0
  155. package/dist/lib/neutral/settings-DUCCRYX7.mjs.map +7 -0
  156. package/dist/lib/neutral/share-ZYXLD6XL.mjs +31 -0
  157. package/dist/lib/neutral/share-ZYXLD6XL.mjs.map +7 -0
  158. package/dist/lib/neutral/snapshot-G634WNC6.mjs +30 -0
  159. package/dist/lib/neutral/snapshot-G634WNC6.mjs.map +7 -0
  160. package/dist/lib/neutral/spaces-ready-2O46UJCL.mjs +247 -0
  161. package/dist/lib/neutral/spaces-ready-2O46UJCL.mjs.map +7 -0
  162. package/dist/lib/neutral/state-DPBOZRAW.mjs +55 -0
  163. package/dist/lib/neutral/state-DPBOZRAW.mjs.map +7 -0
  164. package/dist/lib/neutral/testing.mjs +8 -0
  165. package/dist/lib/neutral/testing.mjs.map +7 -0
  166. package/dist/lib/neutral/translations.mjs +301 -0
  167. package/dist/lib/neutral/translations.mjs.map +7 -0
  168. package/dist/lib/neutral/types/index.mjs +34 -0
  169. package/dist/lib/neutral/types/index.mjs.map +7 -0
  170. package/dist/lib/neutral/undo-mappings-5QJNDMH4.mjs +65 -0
  171. package/dist/lib/neutral/undo-mappings-5QJNDMH4.mjs.map +7 -0
  172. package/dist/lib/neutral/wait-for-object-3GFVA4TL.mjs +23 -0
  173. package/dist/lib/neutral/wait-for-object-3GFVA4TL.mjs.map +7 -0
  174. package/dist/types/src/SpacePlugin.d.ts +4 -15
  175. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  176. package/dist/types/src/SpacePlugin.node.d.ts +5 -0
  177. package/dist/types/src/SpacePlugin.node.d.ts.map +1 -0
  178. package/dist/types/src/SpacePlugin.test.d.ts +2 -0
  179. package/dist/types/src/SpacePlugin.test.d.ts.map +1 -0
  180. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
  181. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
  182. package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts +57 -0
  183. package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts.map +1 -0
  184. package/dist/types/src/capabilities/app-graph-builder/extensions/companions.d.ts +43 -0
  185. package/dist/types/src/capabilities/app-graph-builder/extensions/companions.d.ts.map +1 -0
  186. package/dist/types/src/capabilities/app-graph-builder/extensions/index.d.ts +6 -0
  187. package/dist/types/src/capabilities/app-graph-builder/extensions/index.d.ts.map +1 -0
  188. package/dist/types/src/capabilities/app-graph-builder/extensions/settings.d.ts +19 -0
  189. package/dist/types/src/capabilities/app-graph-builder/extensions/settings.d.ts.map +1 -0
  190. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts +56 -0
  191. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts.map +1 -0
  192. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.test.d.ts +2 -0
  193. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.test.d.ts.map +1 -0
  194. package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts +42 -0
  195. package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts.map +1 -0
  196. package/dist/types/src/capabilities/app-graph-builder/extensions/types.d.ts +38 -0
  197. package/dist/types/src/capabilities/app-graph-builder/extensions/types.d.ts.map +1 -0
  198. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
  199. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
  200. package/dist/types/src/capabilities/app-graph-serializer.d.ts +3 -2
  201. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  202. package/dist/types/src/capabilities/create-object.d.ts +37 -0
  203. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  204. package/dist/types/src/capabilities/identity-created.d.ts +3 -2
  205. package/dist/types/src/capabilities/identity-created.d.ts.map +1 -1
  206. package/dist/types/src/capabilities/index.d.ts +63 -18
  207. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  208. package/dist/types/src/capabilities/migrations.d.ts +5 -0
  209. package/dist/types/src/capabilities/migrations.d.ts.map +1 -0
  210. package/dist/types/src/capabilities/navigation-handler/index.d.ts +4 -0
  211. package/dist/types/src/capabilities/navigation-handler/index.d.ts.map +1 -0
  212. package/dist/types/src/capabilities/navigation-handler/navigation-handler.d.ts +13 -0
  213. package/dist/types/src/capabilities/navigation-handler/navigation-handler.d.ts.map +1 -0
  214. package/dist/types/src/capabilities/navigation-resolver.d.ts +6 -0
  215. package/dist/types/src/capabilities/navigation-resolver.d.ts.map +1 -0
  216. package/dist/types/src/capabilities/node.d.ts +40 -0
  217. package/dist/types/src/capabilities/node.d.ts.map +1 -0
  218. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  219. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  220. package/dist/types/src/capabilities/react-root.d.ts +4 -2
  221. package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
  222. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  223. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  224. package/dist/types/src/capabilities/repair.d.ts +6 -0
  225. package/dist/types/src/capabilities/repair.d.ts.map +1 -0
  226. package/dist/types/src/capabilities/settings.d.ts +5 -2
  227. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  228. package/dist/types/src/capabilities/spaces-ready.d.ts +3 -2
  229. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
  230. package/dist/types/src/capabilities/state.d.ts +15 -3
  231. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  232. package/dist/types/src/capabilities/undo-mappings.d.ts +10 -0
  233. package/dist/types/src/capabilities/undo-mappings.d.ts.map +1 -0
  234. package/dist/types/src/commands/database/add.d.ts +10 -0
  235. package/dist/types/src/commands/database/add.d.ts.map +1 -0
  236. package/dist/types/src/commands/database/index.d.ts +3 -0
  237. package/dist/types/src/commands/database/index.d.ts.map +1 -0
  238. package/dist/types/src/commands/database/query/index.d.ts +2 -0
  239. package/dist/types/src/commands/database/query/index.d.ts.map +1 -0
  240. package/dist/types/src/commands/database/query/query.d.ts +13 -0
  241. package/dist/types/src/commands/database/query/query.d.ts.map +1 -0
  242. package/dist/types/src/commands/database/query/query.test.d.ts +2 -0
  243. package/dist/types/src/commands/database/query/query.test.d.ts.map +1 -0
  244. package/dist/types/src/commands/database/remove.d.ts +9 -0
  245. package/dist/types/src/commands/database/remove.d.ts.map +1 -0
  246. package/dist/types/src/commands/database/stats.d.ts +6 -0
  247. package/dist/types/src/commands/database/stats.d.ts.map +1 -0
  248. package/dist/types/src/commands/database/util.d.ts +14 -0
  249. package/dist/types/src/commands/database/util.d.ts.map +1 -0
  250. package/dist/types/src/commands/index.d.ts +4 -0
  251. package/dist/types/src/commands/index.d.ts.map +1 -0
  252. package/dist/types/src/commands/queue/index.d.ts +7 -0
  253. package/dist/types/src/commands/queue/index.d.ts.map +1 -0
  254. package/dist/types/src/commands/queue/query.d.ts +8 -0
  255. package/dist/types/src/commands/queue/query.d.ts.map +1 -0
  256. package/dist/types/src/commands/queue/util.d.ts +6 -0
  257. package/dist/types/src/commands/queue/util.d.ts.map +1 -0
  258. package/dist/types/src/commands/space/close/close.d.ts +12 -0
  259. package/dist/types/src/commands/space/close/close.d.ts.map +1 -0
  260. package/dist/types/src/commands/space/close/index.d.ts +2 -0
  261. package/dist/types/src/commands/space/close/index.d.ts.map +1 -0
  262. package/dist/types/src/commands/space/create/create.d.ts +12 -0
  263. package/dist/types/src/commands/space/create/create.d.ts.map +1 -0
  264. package/dist/types/src/commands/space/create/create.test.d.ts +2 -0
  265. package/dist/types/src/commands/space/create/create.test.d.ts.map +1 -0
  266. package/dist/types/src/commands/space/create/index.d.ts +2 -0
  267. package/dist/types/src/commands/space/create/index.d.ts.map +1 -0
  268. package/dist/types/src/commands/space/index.d.ts +34 -0
  269. package/dist/types/src/commands/space/index.d.ts.map +1 -0
  270. package/dist/types/src/commands/space/info/index.d.ts +2 -0
  271. package/dist/types/src/commands/space/info/index.d.ts.map +1 -0
  272. package/dist/types/src/commands/space/info/info.d.ts +15 -0
  273. package/dist/types/src/commands/space/info/info.d.ts.map +1 -0
  274. package/dist/types/src/commands/space/info/info.test.d.ts +2 -0
  275. package/dist/types/src/commands/space/info/info.test.d.ts.map +1 -0
  276. package/dist/types/src/commands/space/join/index.d.ts +2 -0
  277. package/dist/types/src/commands/space/join/index.d.ts.map +1 -0
  278. package/dist/types/src/commands/space/join/join.d.ts +14 -0
  279. package/dist/types/src/commands/space/join/join.d.ts.map +1 -0
  280. package/dist/types/src/commands/space/join/util.d.ts +17 -0
  281. package/dist/types/src/commands/space/join/util.d.ts.map +1 -0
  282. package/dist/types/src/commands/space/list/index.d.ts +2 -0
  283. package/dist/types/src/commands/space/list/index.d.ts.map +1 -0
  284. package/dist/types/src/commands/space/list/list.d.ts +12 -0
  285. package/dist/types/src/commands/space/list/list.d.ts.map +1 -0
  286. package/dist/types/src/commands/space/list/list.test.d.ts +2 -0
  287. package/dist/types/src/commands/space/list/list.test.d.ts.map +1 -0
  288. package/dist/types/src/commands/space/members/index.d.ts +2 -0
  289. package/dist/types/src/commands/space/members/index.d.ts.map +1 -0
  290. package/dist/types/src/commands/space/members/members.d.ts +13 -0
  291. package/dist/types/src/commands/space/members/members.d.ts.map +1 -0
  292. package/dist/types/src/commands/space/members/members.test.d.ts +2 -0
  293. package/dist/types/src/commands/space/members/members.test.d.ts.map +1 -0
  294. package/dist/types/src/commands/space/members/util.d.ts +9 -0
  295. package/dist/types/src/commands/space/members/util.d.ts.map +1 -0
  296. package/dist/types/src/commands/space/open/index.d.ts +2 -0
  297. package/dist/types/src/commands/space/open/index.d.ts.map +1 -0
  298. package/dist/types/src/commands/space/open/open.d.ts +12 -0
  299. package/dist/types/src/commands/space/open/open.d.ts.map +1 -0
  300. package/dist/types/src/commands/space/schema/index.d.ts +8 -0
  301. package/dist/types/src/commands/space/schema/index.d.ts.map +1 -0
  302. package/dist/types/src/commands/space/schema/list/index.d.ts +2 -0
  303. package/dist/types/src/commands/space/schema/list/index.d.ts.map +1 -0
  304. package/dist/types/src/commands/space/schema/list/list.d.ts +15 -0
  305. package/dist/types/src/commands/space/schema/list/list.d.ts.map +1 -0
  306. package/dist/types/src/commands/space/schema/list/list.test.d.ts +2 -0
  307. package/dist/types/src/commands/space/schema/list/list.test.d.ts.map +1 -0
  308. package/dist/types/src/commands/space/schema/list/util.d.ts +15 -0
  309. package/dist/types/src/commands/space/schema/list/util.d.ts.map +1 -0
  310. package/dist/types/src/commands/space/share/index.d.ts +2 -0
  311. package/dist/types/src/commands/space/share/index.d.ts.map +1 -0
  312. package/dist/types/src/commands/space/share/share.d.ts +19 -0
  313. package/dist/types/src/commands/space/share/share.d.ts.map +1 -0
  314. package/dist/types/src/commands/space/sync/index.d.ts +2 -0
  315. package/dist/types/src/commands/space/sync/index.d.ts.map +1 -0
  316. package/dist/types/src/commands/space/sync/sync.d.ts +6 -0
  317. package/dist/types/src/commands/space/sync/sync.d.ts.map +1 -0
  318. package/dist/types/src/commands/space/sync/sync.test.d.ts +2 -0
  319. package/dist/types/src/commands/space/sync/sync.test.d.ts.map +1 -0
  320. package/dist/types/src/components/AwaitingObject/AwaitingObject.d.ts.map +1 -0
  321. package/dist/types/src/components/AwaitingObject/index.d.ts +2 -0
  322. package/dist/types/src/components/AwaitingObject/index.d.ts.map +1 -0
  323. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +22 -10
  324. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  325. package/dist/types/src/components/CreateDialog/index.d.ts +1 -2
  326. package/dist/types/src/components/CreateDialog/index.d.ts.map +1 -1
  327. package/dist/types/src/components/ForeignKeys/ForeignKeys.d.ts +8 -0
  328. package/dist/types/src/components/ForeignKeys/ForeignKeys.d.ts.map +1 -0
  329. package/dist/types/src/components/ForeignKeys/index.d.ts +2 -0
  330. package/dist/types/src/components/ForeignKeys/index.d.ts.map +1 -0
  331. package/dist/types/src/components/SpaceSettings/SpaceSettings.d.ts +10 -0
  332. package/dist/types/src/components/SpaceSettings/SpaceSettings.d.ts.map +1 -0
  333. package/dist/types/src/components/SpaceSettings/SpaceSettings.stories.d.ts +1909 -0
  334. package/dist/types/src/components/SpaceSettings/SpaceSettings.stories.d.ts.map +1 -0
  335. package/dist/types/src/components/SpaceSettings/index.d.ts +1 -1
  336. package/dist/types/src/components/SpaceSettings/index.d.ts.map +1 -1
  337. package/dist/types/src/components/SyncStatus/index.d.ts +2 -2
  338. package/dist/types/src/components/SyncStatus/index.d.ts.map +1 -1
  339. package/dist/types/src/components/SyncStatus/save-tracker.d.ts +1 -1
  340. package/dist/types/src/components/SyncStatus/save-tracker.d.ts.map +1 -1
  341. package/dist/types/src/components/SyncStatus/status.d.ts +6 -6
  342. package/dist/types/src/components/SyncStatus/status.d.ts.map +1 -1
  343. package/dist/types/src/components/index.d.ts +3 -13
  344. package/dist/types/src/components/index.d.ts.map +1 -1
  345. package/dist/types/src/constants.d.ts +7 -0
  346. package/dist/types/src/constants.d.ts.map +1 -0
  347. package/dist/types/src/containers/CollectionArticle/CollectionArticle.d.ts +8 -0
  348. package/dist/types/src/containers/CollectionArticle/CollectionArticle.d.ts.map +1 -0
  349. package/dist/types/src/containers/CollectionArticle/index.d.ts +2 -0
  350. package/dist/types/src/containers/CollectionArticle/index.d.ts.map +1 -0
  351. package/dist/types/src/containers/CollectionSection/CollectionSection.d.ts +6 -0
  352. package/dist/types/src/containers/CollectionSection/CollectionSection.d.ts.map +1 -0
  353. package/dist/types/src/containers/CollectionSection/index.d.ts +2 -0
  354. package/dist/types/src/containers/CollectionSection/index.d.ts.map +1 -0
  355. package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.d.ts +12 -0
  356. package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.d.ts.map +1 -0
  357. package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.stories.d.ts +1906 -0
  358. package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.stories.d.ts.map +1 -0
  359. package/dist/types/src/containers/CreateObjectDialog/index.d.ts +3 -0
  360. package/dist/types/src/containers/CreateObjectDialog/index.d.ts.map +1 -0
  361. package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.d.ts +4 -0
  362. package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.d.ts.map +1 -0
  363. package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.stories.d.ts +1910 -0
  364. package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.stories.d.ts.map +1 -0
  365. package/dist/types/src/containers/CreateSpaceDialog/index.d.ts +2 -0
  366. package/dist/types/src/containers/CreateSpaceDialog/index.d.ts.map +1 -0
  367. package/dist/types/src/containers/ImportSpaceDialog/ImportSpaceDialog.d.ts +3 -0
  368. package/dist/types/src/containers/ImportSpaceDialog/ImportSpaceDialog.d.ts.map +1 -0
  369. package/dist/types/src/containers/ImportSpaceDialog/index.d.ts +2 -0
  370. package/dist/types/src/containers/ImportSpaceDialog/index.d.ts.map +1 -0
  371. package/dist/types/src/containers/InlineSyncStatus/InlineSyncStatus.d.ts.map +1 -0
  372. package/dist/types/src/containers/InlineSyncStatus/index.d.ts +2 -0
  373. package/dist/types/src/containers/InlineSyncStatus/index.d.ts.map +1 -0
  374. package/dist/types/src/{components → containers/JoinDialog}/JoinDialog.d.ts +1 -1
  375. package/dist/types/src/containers/JoinDialog/JoinDialog.d.ts.map +1 -0
  376. package/dist/types/src/containers/JoinDialog/JoinDialog.stories.d.ts +1909 -0
  377. package/dist/types/src/containers/JoinDialog/JoinDialog.stories.d.ts.map +1 -0
  378. package/dist/types/src/containers/JoinDialog/index.d.ts +3 -0
  379. package/dist/types/src/containers/JoinDialog/index.d.ts.map +1 -0
  380. package/dist/types/src/containers/MembersContainer/MembersContainer.d.ts +7 -0
  381. package/dist/types/src/containers/MembersContainer/MembersContainer.d.ts.map +1 -0
  382. package/dist/types/src/containers/MembersContainer/index.d.ts +2 -0
  383. package/dist/types/src/containers/MembersContainer/index.d.ts.map +1 -0
  384. package/dist/types/src/{components → containers/MenuFooter}/MenuFooter.d.ts +1 -1
  385. package/dist/types/src/containers/MenuFooter/MenuFooter.d.ts.map +1 -0
  386. package/dist/types/src/containers/MenuFooter/index.d.ts +2 -0
  387. package/dist/types/src/containers/MenuFooter/index.d.ts.map +1 -0
  388. package/dist/types/src/containers/ObjectCardStack/ObjectCardStack.d.ts +11 -0
  389. package/dist/types/src/containers/ObjectCardStack/ObjectCardStack.d.ts.map +1 -0
  390. package/dist/types/src/containers/ObjectCardStack/index.d.ts +2 -0
  391. package/dist/types/src/containers/ObjectCardStack/index.d.ts.map +1 -0
  392. package/dist/types/src/containers/ObjectProperties/ObjectProperties.d.ts +10 -0
  393. package/dist/types/src/containers/ObjectProperties/ObjectProperties.d.ts.map +1 -0
  394. package/dist/types/src/containers/ObjectProperties/index.d.ts +2 -0
  395. package/dist/types/src/containers/ObjectProperties/index.d.ts.map +1 -0
  396. package/dist/types/src/containers/ObjectRenamePopover/ObjectRenamePopover.d.ts +7 -0
  397. package/dist/types/src/containers/ObjectRenamePopover/ObjectRenamePopover.d.ts.map +1 -0
  398. package/dist/types/src/containers/ObjectRenamePopover/index.d.ts +2 -0
  399. package/dist/types/src/containers/ObjectRenamePopover/index.d.ts.map +1 -0
  400. package/dist/types/src/containers/RecordArticle/RecordArticle.d.ts +4 -0
  401. package/dist/types/src/containers/RecordArticle/RecordArticle.d.ts.map +1 -0
  402. package/dist/types/src/containers/RecordArticle/RecordArticle.stories.d.ts +14 -0
  403. package/dist/types/src/containers/RecordArticle/RecordArticle.stories.d.ts.map +1 -0
  404. package/dist/types/src/containers/RecordArticle/index.d.ts +2 -0
  405. package/dist/types/src/containers/RecordArticle/index.d.ts.map +1 -0
  406. package/dist/types/src/containers/RelatedArticle/RelatedArticle.d.ts +6 -0
  407. package/dist/types/src/containers/RelatedArticle/RelatedArticle.d.ts.map +1 -0
  408. package/dist/types/src/containers/RelatedArticle/index.d.ts +2 -0
  409. package/dist/types/src/containers/RelatedArticle/index.d.ts.map +1 -0
  410. package/dist/types/src/{components → containers/SchemaContainer}/SchemaContainer.d.ts +3 -6
  411. package/dist/types/src/containers/SchemaContainer/SchemaContainer.d.ts.map +1 -0
  412. package/dist/types/src/containers/SchemaContainer/index.d.ts +2 -0
  413. package/dist/types/src/containers/SchemaContainer/index.d.ts.map +1 -0
  414. package/dist/types/src/containers/SmallPresenceLive/index.d.ts +2 -0
  415. package/dist/types/src/containers/SmallPresenceLive/index.d.ts.map +1 -0
  416. package/dist/types/src/{components → containers/SpacePresence}/SpacePresence.d.ts +7 -6
  417. package/dist/types/src/containers/SpacePresence/SpacePresence.d.ts.map +1 -0
  418. package/dist/types/src/containers/SpacePresence/SpacePresence.stories.d.ts +1907 -0
  419. package/dist/types/src/containers/SpacePresence/SpacePresence.stories.d.ts.map +1 -0
  420. package/dist/types/src/containers/SpacePresence/index.d.ts +3 -0
  421. package/dist/types/src/containers/SpacePresence/index.d.ts.map +1 -0
  422. package/dist/types/src/containers/SpaceRenamePopover/SpaceRenamePopover.d.ts +7 -0
  423. package/dist/types/src/containers/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +1 -0
  424. package/dist/types/src/containers/SpaceRenamePopover/index.d.ts +2 -0
  425. package/dist/types/src/containers/SpaceRenamePopover/index.d.ts.map +1 -0
  426. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.d.ts +7 -0
  427. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.d.ts.map +1 -0
  428. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.stories.d.ts +1914 -0
  429. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.stories.d.ts.map +1 -0
  430. package/dist/types/src/containers/SpaceSettingsContainer/index.d.ts +2 -0
  431. package/dist/types/src/containers/SpaceSettingsContainer/index.d.ts.map +1 -0
  432. package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.d.ts +1 -1
  433. package/dist/types/src/containers/SyncStatus/SyncStatus.d.ts.map +1 -0
  434. package/dist/types/src/containers/SyncStatus/SyncStatus.stories.d.ts +1912 -0
  435. package/dist/types/src/containers/SyncStatus/SyncStatus.stories.d.ts.map +1 -0
  436. package/dist/types/src/containers/SyncStatus/index.d.ts +2 -0
  437. package/dist/types/src/containers/SyncStatus/index.d.ts.map +1 -0
  438. package/dist/types/src/containers/ViewEditor/ViewEditor.d.ts +7 -0
  439. package/dist/types/src/containers/ViewEditor/ViewEditor.d.ts.map +1 -0
  440. package/dist/types/src/containers/ViewEditor/index.d.ts +2 -0
  441. package/dist/types/src/containers/ViewEditor/index.d.ts.map +1 -0
  442. package/dist/types/src/containers/index.d.ts +24 -0
  443. package/dist/types/src/containers/index.d.ts.map +1 -0
  444. package/dist/types/src/hooks/index.d.ts +1 -1
  445. package/dist/types/src/hooks/index.d.ts.map +1 -1
  446. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +2 -8
  447. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  448. package/dist/types/src/hooks/usePath.d.ts +3 -3
  449. package/dist/types/src/hooks/usePath.d.ts.map +1 -1
  450. package/dist/types/src/hooks/useRelatedObjects.d.ts +10 -0
  451. package/dist/types/src/hooks/useRelatedObjects.d.ts.map +1 -0
  452. package/dist/types/src/index.d.ts +2 -5
  453. package/dist/types/src/index.d.ts.map +1 -1
  454. package/dist/types/src/meta.d.ts +2 -3
  455. package/dist/types/src/meta.d.ts.map +1 -1
  456. package/dist/types/src/operations/add-object.d.ts +5 -0
  457. package/dist/types/src/operations/add-object.d.ts.map +1 -0
  458. package/dist/types/src/operations/add-relation.d.ts +5 -0
  459. package/dist/types/src/operations/add-relation.d.ts.map +1 -0
  460. package/dist/types/src/operations/add-schema.d.ts +5 -0
  461. package/dist/types/src/operations/add-schema.d.ts.map +1 -0
  462. package/dist/types/src/operations/close.d.ts +5 -0
  463. package/dist/types/src/operations/close.d.ts.map +1 -0
  464. package/dist/types/src/operations/create.d.ts +5 -0
  465. package/dist/types/src/operations/create.d.ts.map +1 -0
  466. package/dist/types/src/operations/definitions.d.ts +228 -0
  467. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  468. package/dist/types/src/operations/delete-field.d.ts +5 -0
  469. package/dist/types/src/operations/delete-field.d.ts.map +1 -0
  470. package/dist/types/src/operations/duplicate-object.d.ts +5 -0
  471. package/dist/types/src/operations/duplicate-object.d.ts.map +1 -0
  472. package/dist/types/src/operations/export-space.d.ts +5 -0
  473. package/dist/types/src/operations/export-space.d.ts.map +1 -0
  474. package/dist/types/src/operations/get-share-link.d.ts +5 -0
  475. package/dist/types/src/operations/get-share-link.d.ts.map +1 -0
  476. package/dist/types/src/operations/helpers.d.ts +7 -0
  477. package/dist/types/src/operations/helpers.d.ts.map +1 -0
  478. package/dist/types/src/operations/import-space.d.ts +5 -0
  479. package/dist/types/src/operations/import-space.d.ts.map +1 -0
  480. package/dist/types/src/operations/index.d.ts +4 -0
  481. package/dist/types/src/operations/index.d.ts.map +1 -0
  482. package/dist/types/src/operations/join.d.ts +5 -0
  483. package/dist/types/src/operations/join.d.ts.map +1 -0
  484. package/dist/types/src/operations/migrate.d.ts +5 -0
  485. package/dist/types/src/operations/migrate.d.ts.map +1 -0
  486. package/dist/types/src/operations/open-create-object.d.ts +5 -0
  487. package/dist/types/src/operations/open-create-object.d.ts.map +1 -0
  488. package/dist/types/src/operations/open-create-space.d.ts +5 -0
  489. package/dist/types/src/operations/open-create-space.d.ts.map +1 -0
  490. package/dist/types/src/operations/open-import-space.d.ts +5 -0
  491. package/dist/types/src/operations/open-import-space.d.ts.map +1 -0
  492. package/dist/types/src/operations/open-members.d.ts +5 -0
  493. package/dist/types/src/operations/open-members.d.ts.map +1 -0
  494. package/dist/types/src/operations/open-settings.d.ts +5 -0
  495. package/dist/types/src/operations/open-settings.d.ts.map +1 -0
  496. package/dist/types/src/operations/open.d.ts +5 -0
  497. package/dist/types/src/operations/open.d.ts.map +1 -0
  498. package/dist/types/src/operations/remove-objects.d.ts +5 -0
  499. package/dist/types/src/operations/remove-objects.d.ts.map +1 -0
  500. package/dist/types/src/operations/rename-object.d.ts +5 -0
  501. package/dist/types/src/operations/rename-object.d.ts.map +1 -0
  502. package/dist/types/src/operations/rename.d.ts +5 -0
  503. package/dist/types/src/operations/rename.d.ts.map +1 -0
  504. package/dist/types/src/operations/restore-field.d.ts +5 -0
  505. package/dist/types/src/operations/restore-field.d.ts.map +1 -0
  506. package/dist/types/src/operations/restore-objects.d.ts +5 -0
  507. package/dist/types/src/operations/restore-objects.d.ts.map +1 -0
  508. package/dist/types/src/operations/share.d.ts +5 -0
  509. package/dist/types/src/operations/share.d.ts.map +1 -0
  510. package/dist/types/src/operations/snapshot.d.ts +5 -0
  511. package/dist/types/src/operations/snapshot.d.ts.map +1 -0
  512. package/dist/types/src/operations/wait-for-object.d.ts +5 -0
  513. package/dist/types/src/operations/wait-for-object.d.ts.map +1 -0
  514. package/dist/types/src/plugin.d.ts +4 -0
  515. package/dist/types/src/plugin.d.ts.map +1 -0
  516. package/dist/types/src/testing.d.ts +2 -0
  517. package/dist/types/src/testing.d.ts.map +1 -0
  518. package/dist/types/src/translations.d.ts +1892 -410
  519. package/dist/types/src/translations.d.ts.map +1 -1
  520. package/dist/types/src/types/Settings.d.ts +10 -0
  521. package/dist/types/src/types/Settings.d.ts.map +1 -0
  522. package/dist/types/src/types/capabilities.d.ts +98 -0
  523. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  524. package/dist/types/src/types/events.d.ts +9 -0
  525. package/dist/types/src/types/events.d.ts.map +1 -0
  526. package/dist/types/src/types/form.d.ts +2 -0
  527. package/dist/types/src/types/form.d.ts.map +1 -0
  528. package/dist/types/src/types/index.d.ts +3 -0
  529. package/dist/types/src/types/index.d.ts.map +1 -1
  530. package/dist/types/src/types/types.d.ts +54 -361
  531. package/dist/types/src/types/types.d.ts.map +1 -1
  532. package/dist/types/src/util.d.ts +6 -109
  533. package/dist/types/src/util.d.ts.map +1 -1
  534. package/dist/types/tsconfig.tsbuildinfo +1 -1
  535. package/package.json +153 -80
  536. package/src/SpacePlugin.node.ts +79 -0
  537. package/src/SpacePlugin.test.ts +33 -0
  538. package/src/SpacePlugin.ts +149 -176
  539. package/src/capabilities/app-graph-builder/app-graph-builder.ts +32 -0
  540. package/src/capabilities/app-graph-builder/extensions/collections.ts +343 -0
  541. package/src/capabilities/app-graph-builder/extensions/companions.ts +88 -0
  542. package/src/capabilities/app-graph-builder/extensions/index.ts +9 -0
  543. package/src/capabilities/app-graph-builder/extensions/settings.ts +88 -0
  544. package/src/capabilities/app-graph-builder/extensions/shared.test.ts +112 -0
  545. package/src/capabilities/app-graph-builder/extensions/shared.ts +189 -0
  546. package/src/capabilities/app-graph-builder/extensions/spaces.ts +366 -0
  547. package/src/capabilities/app-graph-builder/extensions/types.ts +423 -0
  548. package/src/capabilities/app-graph-builder/index.ts +7 -0
  549. package/src/capabilities/app-graph-serializer.ts +67 -58
  550. package/src/capabilities/create-object.ts +108 -0
  551. package/src/capabilities/identity-created.ts +25 -18
  552. package/src/capabilities/index.ts +21 -13
  553. package/src/capabilities/migrations.ts +59 -0
  554. package/src/capabilities/navigation-handler/index.ts +9 -0
  555. package/src/capabilities/navigation-handler/navigation-handler.ts +50 -0
  556. package/src/capabilities/navigation-resolver.ts +94 -0
  557. package/src/capabilities/node.ts +14 -0
  558. package/src/capabilities/operation-handler.ts +14 -0
  559. package/src/capabilities/react-root.tsx +17 -12
  560. package/src/capabilities/react-surface.tsx +355 -311
  561. package/src/capabilities/repair.ts +42 -0
  562. package/src/capabilities/settings.ts +26 -14
  563. package/src/capabilities/spaces-ready.ts +299 -199
  564. package/src/capabilities/state.ts +57 -36
  565. package/src/capabilities/undo-mappings.ts +58 -0
  566. package/src/commands/database/add.ts +106 -0
  567. package/src/commands/database/index.ts +16 -0
  568. package/src/commands/database/query/index.ts +5 -0
  569. package/src/commands/database/query/query.test.ts +53 -0
  570. package/src/commands/database/query/query.ts +44 -0
  571. package/src/commands/database/remove.ts +51 -0
  572. package/src/commands/database/stats.ts +44 -0
  573. package/src/commands/database/util.ts +32 -0
  574. package/src/commands/index.ts +7 -0
  575. package/src/commands/queue/index.ts +12 -0
  576. package/src/commands/queue/query.ts +45 -0
  577. package/src/commands/queue/util.ts +19 -0
  578. package/src/commands/space/close/close.ts +40 -0
  579. package/src/commands/space/close/index.ts +5 -0
  580. package/src/commands/space/create/create.test.ts +67 -0
  581. package/src/commands/space/create/create.ts +61 -0
  582. package/src/commands/space/create/index.ts +5 -0
  583. package/src/commands/space/index.ts +21 -0
  584. package/src/commands/space/info/index.ts +5 -0
  585. package/src/commands/space/info/info.test.ts +32 -0
  586. package/src/commands/space/info/info.ts +50 -0
  587. package/src/commands/space/join/index.ts +5 -0
  588. package/src/commands/space/join/join.ts +122 -0
  589. package/src/commands/space/join/util.ts +82 -0
  590. package/src/commands/space/list/index.ts +5 -0
  591. package/src/commands/space/list/list.test.ts +37 -0
  592. package/src/commands/space/list/list.ts +42 -0
  593. package/src/commands/space/members/index.ts +5 -0
  594. package/src/commands/space/members/members.test.ts +33 -0
  595. package/src/commands/space/members/members.ts +40 -0
  596. package/src/commands/space/members/util.ts +29 -0
  597. package/src/commands/space/open/index.ts +5 -0
  598. package/src/commands/space/open/open.ts +39 -0
  599. package/src/commands/space/schema/index.ts +12 -0
  600. package/src/commands/space/schema/list/index.ts +5 -0
  601. package/src/commands/space/schema/list/list.test.ts +29 -0
  602. package/src/commands/space/schema/list/list.ts +64 -0
  603. package/src/commands/space/schema/list/util.ts +39 -0
  604. package/src/commands/space/share/index.ts +5 -0
  605. package/src/commands/space/share/share.ts +112 -0
  606. package/src/commands/space/sync/index.ts +5 -0
  607. package/src/commands/space/sync/sync.test.ts +12 -0
  608. package/src/commands/space/sync/sync.ts +33 -0
  609. package/src/components/AwaitingObject/AwaitingObject.tsx +114 -0
  610. package/src/components/AwaitingObject/index.ts +5 -0
  611. package/src/components/CreateDialog/CreateObjectPanel.tsx +172 -115
  612. package/src/components/CreateDialog/index.ts +1 -2
  613. package/src/components/{ObjectSettings → ForeignKeys}/ForeignKeys.tsx +14 -8
  614. package/src/components/ForeignKeys/index.ts +5 -0
  615. package/src/components/SpaceSettings/SpaceSettings.stories.tsx +34 -0
  616. package/src/components/SpaceSettings/SpaceSettings.tsx +69 -0
  617. package/src/components/SpaceSettings/index.ts +2 -2
  618. package/src/components/SyncStatus/index.ts +2 -2
  619. package/src/components/SyncStatus/save-tracker.ts +3 -3
  620. package/src/components/SyncStatus/status.ts +11 -11
  621. package/src/components/index.ts +5 -13
  622. package/src/constants.ts +12 -0
  623. package/src/containers/CollectionArticle/CollectionArticle.tsx +120 -0
  624. package/src/containers/CollectionArticle/index.ts +5 -0
  625. package/src/containers/CollectionSection/CollectionSection.tsx +24 -0
  626. package/src/containers/CollectionSection/index.ts +5 -0
  627. package/src/containers/CreateObjectDialog/CreateObjectDialog.stories.tsx +81 -0
  628. package/src/containers/CreateObjectDialog/CreateObjectDialog.tsx +163 -0
  629. package/src/containers/CreateObjectDialog/index.ts +6 -0
  630. package/src/containers/CreateSpaceDialog/CreateSpaceDialog.stories.tsx +46 -0
  631. package/src/containers/CreateSpaceDialog/CreateSpaceDialog.tsx +75 -0
  632. package/src/containers/CreateSpaceDialog/index.ts +5 -0
  633. package/src/containers/ImportSpaceDialog/ImportSpaceDialog.tsx +62 -0
  634. package/src/containers/ImportSpaceDialog/index.ts +5 -0
  635. package/src/containers/InlineSyncStatus/InlineSyncStatus.tsx +51 -0
  636. package/src/containers/InlineSyncStatus/index.ts +5 -0
  637. package/src/containers/JoinDialog/JoinDialog.stories.tsx +43 -0
  638. package/src/{components → containers/JoinDialog}/JoinDialog.tsx +39 -46
  639. package/src/containers/JoinDialog/index.ts +6 -0
  640. package/src/containers/MembersContainer/MembersContainer.tsx +262 -0
  641. package/src/containers/MembersContainer/index.ts +5 -0
  642. package/src/containers/MenuFooter/MenuFooter.tsx +33 -0
  643. package/src/containers/MenuFooter/index.ts +5 -0
  644. package/src/containers/ObjectCardStack/ObjectCardStack.tsx +82 -0
  645. package/src/containers/ObjectCardStack/index.ts +5 -0
  646. package/src/containers/ObjectProperties/ObjectProperties.tsx +32 -0
  647. package/src/containers/ObjectProperties/index.ts +5 -0
  648. package/src/containers/ObjectRenamePopover/ObjectRenamePopover.tsx +52 -0
  649. package/src/containers/ObjectRenamePopover/index.ts +5 -0
  650. package/src/containers/RecordArticle/RecordArticle.stories.tsx +81 -0
  651. package/src/containers/RecordArticle/RecordArticle.tsx +56 -0
  652. package/src/containers/RecordArticle/index.ts +5 -0
  653. package/src/containers/RelatedArticle/RelatedArticle.tsx +82 -0
  654. package/src/containers/RelatedArticle/index.ts +5 -0
  655. package/src/containers/SchemaContainer/SchemaContainer.tsx +56 -0
  656. package/src/containers/SchemaContainer/index.ts +5 -0
  657. package/src/containers/SmallPresenceLive/index.ts +5 -0
  658. package/src/{components → containers/SpacePresence}/SpacePresence.stories.tsx +25 -24
  659. package/src/{components → containers/SpacePresence}/SpacePresence.tsx +35 -43
  660. package/src/containers/SpacePresence/index.ts +6 -0
  661. package/src/{components/PopoverRenameSpace.tsx → containers/SpaceRenamePopover/SpaceRenamePopover.tsx} +20 -20
  662. package/src/containers/SpaceRenamePopover/index.ts +5 -0
  663. package/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.stories.tsx +48 -0
  664. package/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.tsx +244 -0
  665. package/src/containers/SpaceSettingsContainer/index.ts +5 -0
  666. package/src/containers/SyncStatus/SyncStatus.stories.tsx +40 -0
  667. package/src/containers/SyncStatus/SyncStatus.tsx +149 -0
  668. package/src/containers/SyncStatus/index.ts +5 -0
  669. package/src/containers/ViewEditor/ViewEditor.tsx +102 -0
  670. package/src/containers/ViewEditor/index.ts +5 -0
  671. package/src/containers/index.ts +29 -0
  672. package/src/hooks/index.ts +1 -1
  673. package/src/hooks/useInputSurfaceLookup.tsx +16 -13
  674. package/src/hooks/usePath.ts +5 -5
  675. package/src/hooks/useRelatedObjects.ts +79 -0
  676. package/src/index.ts +3 -6
  677. package/src/meta.ts +9 -5
  678. package/src/operations/add-object.ts +81 -0
  679. package/src/operations/add-relation.ts +25 -0
  680. package/src/operations/add-schema.ts +51 -0
  681. package/src/operations/close.ts +16 -0
  682. package/src/operations/create.ts +59 -0
  683. package/src/operations/definitions.ts +476 -0
  684. package/src/operations/delete-field.ts +42 -0
  685. package/src/operations/duplicate-object.ts +17 -0
  686. package/src/operations/export-space.ts +30 -0
  687. package/src/operations/get-share-link.ts +43 -0
  688. package/src/operations/helpers.ts +10 -0
  689. package/src/operations/import-space.ts +21 -0
  690. package/src/operations/index.ts +34 -0
  691. package/src/operations/join.ts +26 -0
  692. package/src/operations/migrate.ts +45 -0
  693. package/src/operations/open-create-object.ts +40 -0
  694. package/src/operations/open-create-space.ts +21 -0
  695. package/src/operations/open-import-space.ts +21 -0
  696. package/src/operations/open-members.ts +20 -0
  697. package/src/operations/open-settings.ts +20 -0
  698. package/src/operations/open.ts +16 -0
  699. package/src/operations/remove-objects.ts +63 -0
  700. package/src/operations/rename-object.ts +24 -0
  701. package/src/operations/rename.ts +22 -0
  702. package/src/operations/restore-field.ts +36 -0
  703. package/src/operations/restore-objects.ts +40 -0
  704. package/src/operations/share.ts +27 -0
  705. package/src/operations/snapshot.ts +24 -0
  706. package/src/operations/wait-for-object.ts +21 -0
  707. package/src/plugin.ts +11 -0
  708. package/src/testing.ts +7 -0
  709. package/src/translations.ts +302 -153
  710. package/src/types/Settings.ts +18 -0
  711. package/src/types/capabilities.ts +96 -0
  712. package/src/types/events.ts +16 -0
  713. package/src/types/form.ts +10 -0
  714. package/src/types/index.ts +3 -0
  715. package/src/types/types.ts +70 -251
  716. package/src/util.ts +36 -0
  717. package/dist/lib/browser/app-graph-builder-M2RH72VL.mjs +0 -363
  718. package/dist/lib/browser/app-graph-builder-M2RH72VL.mjs.map +0 -7
  719. package/dist/lib/browser/app-graph-serializer-F7ISRRBV.mjs +0 -80
  720. package/dist/lib/browser/app-graph-serializer-F7ISRRBV.mjs.map +0 -7
  721. package/dist/lib/browser/chunk-4ZKSFDXM.mjs +0 -165
  722. package/dist/lib/browser/chunk-4ZKSFDXM.mjs.map +0 -7
  723. package/dist/lib/browser/chunk-7Y4M7GXO.mjs +0 -94
  724. package/dist/lib/browser/chunk-7Y4M7GXO.mjs.map +0 -7
  725. package/dist/lib/browser/chunk-BXNL6SDI.mjs +0 -19
  726. package/dist/lib/browser/chunk-BXNL6SDI.mjs.map +0 -7
  727. package/dist/lib/browser/chunk-NFUKCRGE.mjs +0 -1916
  728. package/dist/lib/browser/chunk-NFUKCRGE.mjs.map +0 -7
  729. package/dist/lib/browser/chunk-PTKYMZWO.mjs +0 -13
  730. package/dist/lib/browser/chunk-PTKYMZWO.mjs.map +0 -7
  731. package/dist/lib/browser/chunk-TW7O2EPP.mjs +0 -284
  732. package/dist/lib/browser/chunk-TW7O2EPP.mjs.map +0 -7
  733. package/dist/lib/browser/chunk-V24VASAJ.mjs +0 -546
  734. package/dist/lib/browser/chunk-V24VASAJ.mjs.map +0 -7
  735. package/dist/lib/browser/chunk-YMCZR6EZ.mjs +0 -18
  736. package/dist/lib/browser/chunk-YMCZR6EZ.mjs.map +0 -7
  737. package/dist/lib/browser/identity-created-PI7TKANR.mjs +0 -23
  738. package/dist/lib/browser/identity-created-PI7TKANR.mjs.map +0 -7
  739. package/dist/lib/browser/index.mjs +0 -278
  740. package/dist/lib/browser/index.mjs.map +0 -7
  741. package/dist/lib/browser/intent-resolver-RWU6ZE4H.mjs +0 -610
  742. package/dist/lib/browser/intent-resolver-RWU6ZE4H.mjs.map +0 -7
  743. package/dist/lib/browser/meta.json +0 -1
  744. package/dist/lib/browser/react-root-QIKHSNT2.mjs +0 -29
  745. package/dist/lib/browser/react-root-QIKHSNT2.mjs.map +0 -7
  746. package/dist/lib/browser/react-surface-W56UD53I.mjs +0 -353
  747. package/dist/lib/browser/react-surface-W56UD53I.mjs.map +0 -7
  748. package/dist/lib/browser/schema-defs-WREJNMIC.mjs +0 -26
  749. package/dist/lib/browser/schema-defs-WREJNMIC.mjs.map +0 -7
  750. package/dist/lib/browser/schema-tools-ILTVSSS3.mjs +0 -124
  751. package/dist/lib/browser/schema-tools-ILTVSSS3.mjs.map +0 -7
  752. package/dist/lib/browser/settings-K54STC5A.mjs +0 -24
  753. package/dist/lib/browser/settings-K54STC5A.mjs.map +0 -7
  754. package/dist/lib/browser/spaces-ready-3PDRDHPC.mjs +0 -199
  755. package/dist/lib/browser/spaces-ready-3PDRDHPC.mjs.map +0 -7
  756. package/dist/lib/browser/state-HRZ4VRXU.mjs +0 -47
  757. package/dist/lib/browser/state-HRZ4VRXU.mjs.map +0 -7
  758. package/dist/lib/browser/types/index.mjs +0 -26
  759. package/dist/lib/node/app-graph-builder-6LK5HLLE.cjs +0 -364
  760. package/dist/lib/node/app-graph-builder-6LK5HLLE.cjs.map +0 -7
  761. package/dist/lib/node/app-graph-serializer-HKHBNHA3.cjs +0 -89
  762. package/dist/lib/node/app-graph-serializer-HKHBNHA3.cjs.map +0 -7
  763. package/dist/lib/node/chunk-3X4EA4XL.cjs +0 -37
  764. package/dist/lib/node/chunk-3X4EA4XL.cjs.map +0 -7
  765. package/dist/lib/node/chunk-5WLAXYE3.cjs +0 -125
  766. package/dist/lib/node/chunk-5WLAXYE3.cjs.map +0 -7
  767. package/dist/lib/node/chunk-6P2DB4QQ.cjs +0 -36
  768. package/dist/lib/node/chunk-6P2DB4QQ.cjs.map +0 -7
  769. package/dist/lib/node/chunk-DOC5XEZ4.cjs +0 -184
  770. package/dist/lib/node/chunk-DOC5XEZ4.cjs.map +0 -7
  771. package/dist/lib/node/chunk-NCHF433F.cjs +0 -1921
  772. package/dist/lib/node/chunk-NCHF433F.cjs.map +0 -7
  773. package/dist/lib/node/chunk-NL5Y4EDX.cjs +0 -38
  774. package/dist/lib/node/chunk-NL5Y4EDX.cjs.map +0 -7
  775. package/dist/lib/node/chunk-ULJZPATP.cjs +0 -312
  776. package/dist/lib/node/chunk-ULJZPATP.cjs.map +0 -7
  777. package/dist/lib/node/chunk-XHWVT7LW.cjs +0 -572
  778. package/dist/lib/node/chunk-XHWVT7LW.cjs.map +0 -7
  779. package/dist/lib/node/identity-created-FF4WZ2WY.cjs +0 -42
  780. package/dist/lib/node/identity-created-FF4WZ2WY.cjs.map +0 -7
  781. package/dist/lib/node/index.cjs +0 -278
  782. package/dist/lib/node/index.cjs.map +0 -7
  783. package/dist/lib/node/intent-resolver-AV4CMM3Z.cjs +0 -609
  784. package/dist/lib/node/intent-resolver-AV4CMM3Z.cjs.map +0 -7
  785. package/dist/lib/node/meta.json +0 -1
  786. package/dist/lib/node/react-root-RQUU3A45.cjs +0 -51
  787. package/dist/lib/node/react-root-RQUU3A45.cjs.map +0 -7
  788. package/dist/lib/node/react-surface-AZFJLE72.cjs +0 -351
  789. package/dist/lib/node/react-surface-AZFJLE72.cjs.map +0 -7
  790. package/dist/lib/node/schema-defs-OB2X2HBH.cjs +0 -42
  791. package/dist/lib/node/schema-defs-OB2X2HBH.cjs.map +0 -7
  792. package/dist/lib/node/schema-tools-IYREN4IH.cjs +0 -147
  793. package/dist/lib/node/schema-tools-IYREN4IH.cjs.map +0 -7
  794. package/dist/lib/node/settings-P2EQ7VKQ.cjs +0 -38
  795. package/dist/lib/node/settings-P2EQ7VKQ.cjs.map +0 -7
  796. package/dist/lib/node/spaces-ready-DXPOHYV7.cjs +0 -210
  797. package/dist/lib/node/spaces-ready-DXPOHYV7.cjs.map +0 -7
  798. package/dist/lib/node/state-M35DK75Z.cjs +0 -61
  799. package/dist/lib/node/state-M35DK75Z.cjs.map +0 -7
  800. package/dist/lib/node/types/index.cjs +0 -48
  801. package/dist/lib/node/types/index.cjs.map +0 -7
  802. package/dist/lib/node-esm/app-graph-builder-BCHVZ4OM.mjs +0 -364
  803. package/dist/lib/node-esm/app-graph-builder-BCHVZ4OM.mjs.map +0 -7
  804. package/dist/lib/node-esm/app-graph-serializer-TXRGGNP2.mjs +0 -81
  805. package/dist/lib/node-esm/app-graph-serializer-TXRGGNP2.mjs.map +0 -7
  806. package/dist/lib/node-esm/chunk-3CP67AYY.mjs +0 -19
  807. package/dist/lib/node-esm/chunk-3CP67AYY.mjs.map +0 -7
  808. package/dist/lib/node-esm/chunk-BSLREHIX.mjs +0 -20
  809. package/dist/lib/node-esm/chunk-BSLREHIX.mjs.map +0 -7
  810. package/dist/lib/node-esm/chunk-D4QMPPS7.mjs +0 -285
  811. package/dist/lib/node-esm/chunk-D4QMPPS7.mjs.map +0 -7
  812. package/dist/lib/node-esm/chunk-GH2FGJXH.mjs +0 -96
  813. package/dist/lib/node-esm/chunk-GH2FGJXH.mjs.map +0 -7
  814. package/dist/lib/node-esm/chunk-HO7AIKQS.mjs +0 -547
  815. package/dist/lib/node-esm/chunk-HO7AIKQS.mjs.map +0 -7
  816. package/dist/lib/node-esm/chunk-JBQKU4K5.mjs +0 -166
  817. package/dist/lib/node-esm/chunk-JBQKU4K5.mjs.map +0 -7
  818. package/dist/lib/node-esm/chunk-LA6AVVH6.mjs +0 -1917
  819. package/dist/lib/node-esm/chunk-LA6AVVH6.mjs.map +0 -7
  820. package/dist/lib/node-esm/chunk-MSWEFAPD.mjs +0 -15
  821. package/dist/lib/node-esm/chunk-MSWEFAPD.mjs.map +0 -7
  822. package/dist/lib/node-esm/identity-created-35CTAQWI.mjs +0 -25
  823. package/dist/lib/node-esm/identity-created-35CTAQWI.mjs.map +0 -7
  824. package/dist/lib/node-esm/index.mjs +0 -279
  825. package/dist/lib/node-esm/index.mjs.map +0 -7
  826. package/dist/lib/node-esm/intent-resolver-JO6L2VXC.mjs +0 -611
  827. package/dist/lib/node-esm/intent-resolver-JO6L2VXC.mjs.map +0 -7
  828. package/dist/lib/node-esm/meta.json +0 -1
  829. package/dist/lib/node-esm/react-root-YFGL3B4J.mjs +0 -30
  830. package/dist/lib/node-esm/react-root-YFGL3B4J.mjs.map +0 -7
  831. package/dist/lib/node-esm/react-surface-CVAPDLEZ.mjs +0 -354
  832. package/dist/lib/node-esm/react-surface-CVAPDLEZ.mjs.map +0 -7
  833. package/dist/lib/node-esm/schema-defs-4MEJETVX.mjs +0 -27
  834. package/dist/lib/node-esm/schema-defs-4MEJETVX.mjs.map +0 -7
  835. package/dist/lib/node-esm/schema-tools-SRLCRZ3B.mjs +0 -126
  836. package/dist/lib/node-esm/schema-tools-SRLCRZ3B.mjs.map +0 -7
  837. package/dist/lib/node-esm/settings-TD76LTQS.mjs +0 -25
  838. package/dist/lib/node-esm/settings-TD76LTQS.mjs.map +0 -7
  839. package/dist/lib/node-esm/spaces-ready-FJMGPAVV.mjs +0 -200
  840. package/dist/lib/node-esm/spaces-ready-FJMGPAVV.mjs.map +0 -7
  841. package/dist/lib/node-esm/state-XQNDCN37.mjs +0 -48
  842. package/dist/lib/node-esm/state-XQNDCN37.mjs.map +0 -7
  843. package/dist/lib/node-esm/types/index.mjs +0 -27
  844. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
  845. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  846. package/dist/types/src/capabilities/capabilities.d.ts +0 -22
  847. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  848. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -9
  849. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  850. package/dist/types/src/capabilities/schema-defs.d.ts +0 -4
  851. package/dist/types/src/capabilities/schema-defs.d.ts.map +0 -1
  852. package/dist/types/src/capabilities/schema-tool.test.d.ts +0 -2
  853. package/dist/types/src/capabilities/schema-tool.test.d.ts.map +0 -1
  854. package/dist/types/src/capabilities/schema-tools.d.ts +0 -13
  855. package/dist/types/src/capabilities/schema-tools.d.ts.map +0 -1
  856. package/dist/types/src/components/AwaitingObject.d.ts.map +0 -1
  857. package/dist/types/src/components/CollectionMain.d.ts +0 -6
  858. package/dist/types/src/components/CollectionMain.d.ts.map +0 -1
  859. package/dist/types/src/components/CollectionSection.d.ts +0 -6
  860. package/dist/types/src/components/CollectionSection.d.ts.map +0 -1
  861. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +0 -9
  862. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +0 -1
  863. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +0 -10
  864. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +0 -1
  865. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts +0 -4
  866. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +0 -1
  867. package/dist/types/src/components/JoinDialog.d.ts.map +0 -1
  868. package/dist/types/src/components/MembersContainer.d.ts +0 -7
  869. package/dist/types/src/components/MembersContainer.d.ts.map +0 -1
  870. package/dist/types/src/components/MembersContainer.stories.d.ts +0 -8
  871. package/dist/types/src/components/MembersContainer.stories.d.ts.map +0 -1
  872. package/dist/types/src/components/MenuFooter.d.ts.map +0 -1
  873. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts +0 -7
  874. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +0 -1
  875. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts +0 -8
  876. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +0 -1
  877. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts +0 -8
  878. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +0 -1
  879. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts +0 -8
  880. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +0 -1
  881. package/dist/types/src/components/ObjectSettings/index.d.ts +0 -2
  882. package/dist/types/src/components/ObjectSettings/index.d.ts.map +0 -1
  883. package/dist/types/src/components/PersistenceStatus.d.ts +0 -6
  884. package/dist/types/src/components/PersistenceStatus.d.ts.map +0 -1
  885. package/dist/types/src/components/PopoverRenameObject.d.ts +0 -7
  886. package/dist/types/src/components/PopoverRenameObject.d.ts.map +0 -1
  887. package/dist/types/src/components/PopoverRenameSpace.d.ts +0 -7
  888. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +0 -1
  889. package/dist/types/src/components/SchemaContainer.d.ts.map +0 -1
  890. package/dist/types/src/components/SpacePluginSettings.d.ts +0 -6
  891. package/dist/types/src/components/SpacePluginSettings.d.ts.map +0 -1
  892. package/dist/types/src/components/SpacePresence.d.ts.map +0 -1
  893. package/dist/types/src/components/SpacePresence.stories.d.ts +0 -9
  894. package/dist/types/src/components/SpacePresence.stories.d.ts.map +0 -1
  895. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts +0 -7
  896. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +0 -1
  897. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +0 -7
  898. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +0 -1
  899. package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts.map +0 -1
  900. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +0 -1
  901. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +0 -9
  902. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +0 -1
  903. package/dist/types/src/events.d.ts +0 -7
  904. package/dist/types/src/events.d.ts.map +0 -1
  905. package/dist/types/src/hooks/useActiveSpace.d.ts +0 -4
  906. package/dist/types/src/hooks/useActiveSpace.d.ts.map +0 -1
  907. package/src/capabilities/app-graph-builder.ts +0 -540
  908. package/src/capabilities/capabilities.ts +0 -24
  909. package/src/capabilities/intent-resolver.ts +0 -585
  910. package/src/capabilities/schema-defs.ts +0 -30
  911. package/src/capabilities/schema-tool.test.ts +0 -44
  912. package/src/capabilities/schema-tools.ts +0 -125
  913. package/src/components/AwaitingObject.tsx +0 -114
  914. package/src/components/CollectionMain.tsx +0 -30
  915. package/src/components/CollectionSection.tsx +0 -20
  916. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +0 -84
  917. package/src/components/CreateDialog/CreateObjectDialog.tsx +0 -120
  918. package/src/components/CreateDialog/CreateSpaceDialog.tsx +0 -66
  919. package/src/components/MembersContainer.stories.tsx +0 -30
  920. package/src/components/MembersContainer.tsx +0 -285
  921. package/src/components/MenuFooter.tsx +0 -34
  922. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +0 -80
  923. package/src/components/ObjectSettings/BaseObjectSettings.tsx +0 -47
  924. package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +0 -36
  925. package/src/components/ObjectSettings/index.ts +0 -5
  926. package/src/components/PersistenceStatus.tsx +0 -84
  927. package/src/components/PopoverRenameObject.tsx +0 -62
  928. package/src/components/SchemaContainer.tsx +0 -59
  929. package/src/components/SpacePluginSettings.tsx +0 -53
  930. package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +0 -38
  931. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +0 -184
  932. package/src/components/SyncStatus/InlineSyncStatus.tsx +0 -62
  933. package/src/components/SyncStatus/SyncStatus.stories.tsx +0 -47
  934. package/src/components/SyncStatus/SyncStatus.tsx +0 -58
  935. package/src/events.ts +0 -14
  936. package/src/hooks/useActiveSpace.ts +0 -20
  937. package/src/util.tsx +0 -573
  938. /package/dist/lib/{browser/types/index.mjs.map → neutral/SmallPresenceLive-2W5ZUDCF.mjs.map} +0 -0
  939. /package/dist/lib/{node-esm/types/index.mjs.map → neutral/SpacePlugin.mjs.map} +0 -0
  940. /package/dist/types/src/components/{AwaitingObject.d.ts → AwaitingObject/AwaitingObject.d.ts} +0 -0
  941. /package/dist/types/src/{components/SyncStatus → containers/InlineSyncStatus}/InlineSyncStatus.d.ts +0 -0
@@ -1,1921 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var chunk_NCHF433F_exports = {};
30
- __export(chunk_NCHF433F_exports, {
31
- AppGraphBuilder: () => AppGraphBuilder,
32
- AppGraphSerializer: () => AppGraphSerializer,
33
- AwaitingObject: () => AwaitingObject,
34
- CREATE_OBJECT_DIALOG: () => CREATE_OBJECT_DIALOG,
35
- CREATE_SPACE_DIALOG: () => CREATE_SPACE_DIALOG,
36
- CollectionMain: () => CollectionMain,
37
- CollectionSection: () => CollectionSection,
38
- CreateObjectDialog: () => CreateObjectDialog,
39
- CreateSpaceDialog: () => CreateSpaceDialog,
40
- FullPresence: () => FullPresence,
41
- IdentityCreated: () => IdentityCreated,
42
- InlineSyncStatus: () => InlineSyncStatus,
43
- IntentResolver: () => IntentResolver,
44
- JOIN_DIALOG: () => JOIN_DIALOG,
45
- JoinDialog: () => JoinDialog,
46
- MembersContainer: () => MembersContainer,
47
- MenuFooter: () => MenuFooter,
48
- ObjectSettingsContainer: () => ObjectSettingsContainer,
49
- POPOVER_RENAME_OBJECT: () => POPOVER_RENAME_OBJECT,
50
- POPOVER_RENAME_SPACE: () => POPOVER_RENAME_SPACE,
51
- PersistenceStatus: () => PersistenceStatus,
52
- PopoverRenameObject: () => PopoverRenameObject,
53
- PopoverRenameSpace: () => PopoverRenameSpace,
54
- ReactRoot: () => ReactRoot,
55
- ReactSurface: () => ReactSurface,
56
- SchemaContainer: () => SchemaContainer,
57
- SchemaDefs: () => SchemaDefs,
58
- SchemaTools: () => SchemaTools,
59
- SmallPresence: () => SmallPresence,
60
- SmallPresenceLive: () => SmallPresenceLive,
61
- SpacePluginSettings: () => SpacePluginSettings,
62
- SpacePresence: () => SpacePresence,
63
- SpaceSettings: () => SpaceSettings,
64
- SpaceSettingsContainer: () => SpaceSettingsContainer,
65
- SpaceState: () => SpaceState,
66
- SpacesReady: () => SpacesReady,
67
- SyncStatus: () => SyncStatus,
68
- SyncStatusIndicator: () => SyncStatusIndicator,
69
- useQuerySpaceSchemas: () => useQuerySpaceSchemas
70
- });
71
- module.exports = __toCommonJS(chunk_NCHF433F_exports);
72
- var import_chunk_5WLAXYE3 = require("./chunk-5WLAXYE3.cjs");
73
- var import_chunk_NL5Y4EDX = require("./chunk-NL5Y4EDX.cjs");
74
- var import_chunk_XHWVT7LW = require("./chunk-XHWVT7LW.cjs");
75
- var import_chunk_ULJZPATP = require("./chunk-ULJZPATP.cjs");
76
- var import_chunk_6P2DB4QQ = require("./chunk-6P2DB4QQ.cjs");
77
- var import_tracking = require("@preact-signals/safe-react/tracking");
78
- var import_react = require("@phosphor-icons/react");
79
- var import_react2 = __toESM(require("react"));
80
- var import_app_framework = require("@dxos/app-framework");
81
- var import_react_client = require("@dxos/react-client");
82
- var import_echo = require("@dxos/react-client/echo");
83
- var import_react_ui = require("@dxos/react-ui");
84
- var import_react_ui_theme = require("@dxos/react-ui-theme");
85
- var import_tracking2 = require("@preact-signals/safe-react/tracking");
86
- var import_effect = require("effect");
87
- var import_react3 = __toESM(require("react"));
88
- var import_app_framework2 = require("@dxos/app-framework");
89
- var import_echo2 = require("@dxos/echo");
90
- var import_invariant = require("@dxos/invariant");
91
- var import_react_client2 = require("@dxos/react-client");
92
- var import_echo3 = require("@dxos/react-client/echo");
93
- var import_react_ui2 = require("@dxos/react-ui");
94
- var import_react_ui_stack = require("@dxos/react-ui-stack");
95
- var import_schema = require("@dxos/schema");
96
- var import_util = require("@dxos/util");
97
- var import_tracking3 = require("@preact-signals/safe-react/tracking");
98
- var import_react4 = __toESM(require("react"));
99
- var import_echo4 = require("@dxos/echo");
100
- var import_echo_schema = require("@dxos/echo-schema");
101
- var import_react_ui3 = require("@dxos/react-ui");
102
- var import_react_ui_form = require("@dxos/react-ui-form");
103
- var import_react_ui_searchlist = require("@dxos/react-ui-searchlist");
104
- var import_react_ui_stack2 = require("@dxos/react-ui-stack");
105
- var import_util2 = require("@dxos/util");
106
- var import_app_framework3 = require("@dxos/app-framework");
107
- var import_tracking4 = require("@preact-signals/safe-react/tracking");
108
- var import_effect2 = require("effect");
109
- var import_react5 = __toESM(require("react"));
110
- var import_app_framework4 = require("@dxos/app-framework");
111
- var import_react_ui4 = require("@dxos/react-ui");
112
- var import_react_ui_form2 = require("@dxos/react-ui-form");
113
- var import_react_ui_stack3 = require("@dxos/react-ui-stack");
114
- var import_tracking5 = require("@preact-signals/safe-react/tracking");
115
- var import_react6 = __toESM(require("react"));
116
- var import_react_ui5 = require("@dxos/react-ui");
117
- var import_react_ui_theme2 = require("@dxos/react-ui-theme");
118
- var import_tracking6 = require("@preact-signals/safe-react/tracking");
119
- var import_react7 = __toESM(require("react"));
120
- var import_react_ui6 = require("@dxos/react-ui");
121
- var import_tracking7 = require("@preact-signals/safe-react/tracking");
122
- var import_react8 = __toESM(require("react"));
123
- var import_app_framework5 = require("@dxos/app-framework");
124
- var import_async = require("@dxos/async");
125
- var import_types = require("@dxos/plugin-observability/types");
126
- var import_react_client3 = require("@dxos/react-client");
127
- var import_react_ui7 = require("@dxos/react-ui");
128
- var import_react9 = require("@dxos/shell/react");
129
- var import_tracking8 = require("@preact-signals/safe-react/tracking");
130
- var import_react10 = require("@phosphor-icons/react");
131
- var import_react11 = __toESM(require("react"));
132
- var import_react_qr_rounded = require("react-qr-rounded");
133
- var import_app_framework6 = require("@dxos/app-framework");
134
- var import_echo5 = require("@dxos/echo");
135
- var import_log = require("@dxos/log");
136
- var import_react_client4 = require("@dxos/react-client");
137
- var import_echo6 = require("@dxos/react-client/echo");
138
- var import_invitations = require("@dxos/react-client/invitations");
139
- var import_react_ui8 = require("@dxos/react-ui");
140
- var import_react_ui_form3 = require("@dxos/react-ui-form");
141
- var import_react_ui_stack4 = require("@dxos/react-ui-stack");
142
- var import_react_ui_theme3 = require("@dxos/react-ui-theme");
143
- var import_schema2 = require("@dxos/schema");
144
- var import_react12 = require("@dxos/shell/react");
145
- var import_util3 = require("@dxos/util");
146
- var import_tracking9 = require("@preact-signals/safe-react/tracking");
147
- var import_react13 = require("@phosphor-icons/react");
148
- var import_react14 = __toESM(require("react"));
149
- var import_echo7 = require("@dxos/client/echo");
150
- var import_react_client5 = require("@dxos/react-client");
151
- var import_react_ui9 = require("@dxos/react-ui");
152
- var import_tracking10 = require("@preact-signals/safe-react/tracking");
153
- var import_react15 = __toESM(require("react"));
154
- var import_app_framework7 = require("@dxos/app-framework");
155
- var import_react_ui10 = require("@dxos/react-ui");
156
- var import_react_ui_stack5 = require("@dxos/react-ui-stack");
157
- var import_tracking11 = require("@preact-signals/safe-react/tracking");
158
- var import_react16 = __toESM(require("react"));
159
- var import_react_ui11 = require("@dxos/react-ui");
160
- var import_tracking12 = require("@preact-signals/safe-react/tracking");
161
- var import_react17 = require("@phosphor-icons/react");
162
- var import_react18 = __toESM(require("react"));
163
- var import_async2 = require("@dxos/async");
164
- var import_react_ui12 = require("@dxos/react-ui");
165
- var import_react_ui_theme4 = require("@dxos/react-ui-theme");
166
- var import_tracking13 = require("@preact-signals/safe-react/tracking");
167
- var import_react19 = __toESM(require("react"));
168
- var import_app_framework8 = require("@dxos/app-framework");
169
- var import_log2 = require("@dxos/log");
170
- var import_react_ui13 = require("@dxos/react-ui");
171
- var import_tracking14 = require("@preact-signals/safe-react/tracking");
172
- var import_react20 = __toESM(require("react"));
173
- var import_app_framework9 = require("@dxos/app-framework");
174
- var import_react_ui14 = require("@dxos/react-ui");
175
- var import_tracking15 = require("@preact-signals/safe-react/tracking");
176
- var import_react21 = __toESM(require("react"));
177
- var import_react_ui15 = require("@dxos/react-ui");
178
- var import_react_ui_form4 = require("@dxos/react-ui-form");
179
- var import_react_ui_stack6 = require("@dxos/react-ui-stack");
180
- var import_tracking16 = require("@preact-signals/safe-react/tracking");
181
- var import_effect3 = require("effect");
182
- var import_react22 = __toESM(require("react"));
183
- var import_app_framework10 = require("@dxos/app-framework");
184
- var import_display_name = require("@dxos/display-name");
185
- var import_react_client6 = require("@dxos/react-client");
186
- var import_echo8 = require("@dxos/react-client/echo");
187
- var import_halo = require("@dxos/react-client/halo");
188
- var import_react_ui16 = require("@dxos/react-ui");
189
- var import_react_ui_attention = require("@dxos/react-ui-attention");
190
- var import_util4 = require("@dxos/util");
191
- var import_tracking17 = require("@preact-signals/safe-react/tracking");
192
- var import_react23 = __toESM(require("react"));
193
- var import_app_framework11 = require("@dxos/app-framework");
194
- var import_react_client7 = require("@dxos/react-client");
195
- var import_echo9 = require("@dxos/react-client/echo");
196
- var import_react_ui17 = require("@dxos/react-ui");
197
- var import_react_ui_form5 = require("@dxos/react-ui-form");
198
- var import_tracking18 = require("@preact-signals/safe-react/tracking");
199
- var import_effect4 = require("effect");
200
- var import_react24 = __toESM(require("react"));
201
- var import_app_framework12 = require("@dxos/app-framework");
202
- var import_log3 = require("@dxos/log");
203
- var import_metadata = require("@dxos/protocols/proto/dxos/echo/metadata");
204
- var import_react_client8 = require("@dxos/react-client");
205
- var import_echo10 = require("@dxos/react-client/echo");
206
- var import_react_ui18 = require("@dxos/react-ui");
207
- var import_react_ui_form6 = require("@dxos/react-ui-form");
208
- var import_react_ui_pickers = require("@dxos/react-ui-pickers");
209
- var import_react_ui_stack7 = require("@dxos/react-ui-stack");
210
- var import_tracking19 = require("@preact-signals/safe-react/tracking");
211
- var import_effect5 = require("effect");
212
- var import_react25 = __toESM(require("react"));
213
- var import_app_framework13 = require("@dxos/app-framework");
214
- var import_services = require("@dxos/protocols/proto/dxos/client/services");
215
- var import_metadata2 = require("@dxos/protocols/proto/dxos/echo/metadata");
216
- var import_react_client9 = require("@dxos/react-client");
217
- var import_echo11 = require("@dxos/react-client/echo");
218
- var import_react_ui19 = require("@dxos/react-ui");
219
- var import_react_ui_attention2 = require("@dxos/react-ui-attention");
220
- var import_tracking20 = require("@preact-signals/safe-react/tracking");
221
- var import_react26 = __toESM(require("react"));
222
- var import_plugin_status_bar = require("@dxos/plugin-status-bar");
223
- var import_react_client10 = require("@dxos/react-client");
224
- var import_echo12 = require("@dxos/react-client/echo");
225
- var import_react_ui20 = require("@dxos/react-ui");
226
- var import_context = require("@dxos/context");
227
- var WAIT_FOR_OBJECT_TIMEOUT = 18e4;
228
- var TOAST_TIMEOUT = 24e4;
229
- var AwaitingObject = ({ id }) => {
230
- var _effect = (0, import_tracking.useSignals)();
231
- try {
232
- const [open, setOpen] = (0, import_react2.useState)(true);
233
- const [waiting, setWaiting] = (0, import_react2.useState)(true);
234
- const [found, setFound] = (0, import_react2.useState)(false);
235
- const { t } = (0, import_react_ui.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
236
- const { dispatchPromise: dispatch } = (0, import_app_framework.useIntentDispatcher)();
237
- const layout = (0, import_app_framework.useLayout)();
238
- const client = (0, import_react_client.useClient)();
239
- const objects = (0, import_echo.useQuery)(client.spaces, import_echo.Filter.everything());
240
- (0, import_react2.useEffect)(() => {
241
- if (!id) {
242
- return;
243
- }
244
- const timeout = setTimeout(() => {
245
- setWaiting(false);
246
- }, WAIT_FOR_OBJECT_TIMEOUT);
247
- () => clearTimeout(timeout);
248
- }, [
249
- id
250
- ]);
251
- (0, import_react2.useEffect)(() => {
252
- if (objects.findIndex((object) => (0, import_echo.fullyQualifiedId)(object) === id) > -1) {
253
- setFound(true);
254
- if (layout.active.includes(id)) {
255
- setOpen(false);
256
- }
257
- }
258
- }, [
259
- id,
260
- objects,
261
- layout
262
- ]);
263
- const handleClose = (0, import_react2.useCallback)(async () => dispatch((0, import_app_framework.createIntent)(import_chunk_ULJZPATP.SpaceAction.WaitForObject, {
264
- id: void 0
265
- })), [
266
- dispatch
267
- ]);
268
- const handleNavigate = (0, import_react2.useCallback)(() => {
269
- void dispatch((0, import_app_framework.createIntent)(import_app_framework.LayoutAction.Open, {
270
- part: "main",
271
- subject: [
272
- id
273
- ]
274
- }));
275
- void handleClose();
276
- }, [
277
- id,
278
- handleClose,
279
- dispatch
280
- ]);
281
- return /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Toast.Root, {
282
- open,
283
- duration: TOAST_TIMEOUT,
284
- onOpenChange: setOpen
285
- }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Toast.Body, null, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Toast.Title, {
286
- classNames: "flex items-center gap-2"
287
- }, found ? /* @__PURE__ */ import_react2.default.createElement(import_react2.default.Fragment, null, /* @__PURE__ */ import_react2.default.createElement(import_react.CheckCircle, {
288
- className: (0, import_react_ui_theme.getSize)(5)
289
- }), /* @__PURE__ */ import_react2.default.createElement("span", null, t("found object label"))) : waiting ? /* @__PURE__ */ import_react2.default.createElement(import_react2.default.Fragment, null, /* @__PURE__ */ import_react2.default.createElement(import_react.CircleNotch, {
290
- className: (0, import_react_ui_theme.mx)((0, import_react_ui_theme.getSize)(5), "animate-spin")
291
- }), /* @__PURE__ */ import_react2.default.createElement("span", null, t("waiting for object label"))) : /* @__PURE__ */ import_react2.default.createElement(import_react2.default.Fragment, null, /* @__PURE__ */ import_react2.default.createElement(import_react.CircleDashed, {
292
- className: (0, import_react_ui_theme.getSize)(5)
293
- }), /* @__PURE__ */ import_react2.default.createElement("span", null, t("object not found label")))), /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Toast.Description, null, t(found ? "found object description" : waiting ? "waiting for object description" : "object not found description"))), /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Toast.Actions, null, found ? /* @__PURE__ */ import_react2.default.createElement(import_react2.default.Fragment, null, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Toast.Action, {
294
- altText: t("go to object alt"),
295
- asChild: true
296
- }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Button, {
297
- variant: "primary",
298
- onClick: handleNavigate
299
- }, t("go to object label"))), /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Toast.Close, {
300
- asChild: true
301
- }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Button, {
302
- onClick: handleClose
303
- }, t("close label", {
304
- ns: "appkit"
305
- })))) : /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Toast.Close, {
306
- asChild: true
307
- }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Button, {
308
- onClick: handleClose
309
- }, t(waiting ? "close label" : "confirm label", {
310
- ns: "appkit"
311
- })))));
312
- } finally {
313
- _effect.f();
314
- }
315
- };
316
- var CreateObjectPanel = ({ forms, spaces, typename, target, name: initialName, defaultSpaceId, resolve, onTargetChange, onTypenameChange, onCreateObject }) => {
317
- var _effect = (0, import_tracking3.useSignals)();
318
- try {
319
- const { t } = (0, import_react_ui3.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
320
- const form = forms.find((form2) => import_echo4.Type.getTypename(form2.objectSchema) === typename);
321
- const options = forms.map((form2) => (0, import_echo_schema.getTypeAnnotation)(form2.objectSchema)).filter(import_util2.isNonNullable).sort((a, b) => {
322
- const nameA = t("typename label", {
323
- ns: a.typename,
324
- defaultValue: a.typename
325
- });
326
- const nameB = t("typename label", {
327
- ns: b.typename,
328
- defaultValue: b.typename
329
- });
330
- return nameA.localeCompare(nameB);
331
- });
332
- const handleCreateObject = (0, import_react4.useCallback)(async (props) => {
333
- if (!form) {
334
- return;
335
- }
336
- await onCreateObject?.({
337
- form,
338
- data: props
339
- });
340
- }, [
341
- onCreateObject,
342
- form
343
- ]);
344
- const handleSetTypename = (0, import_react4.useCallback)(async (typename2) => {
345
- const form2 = forms.find((form3) => (0, import_echo_schema.getTypeAnnotation)(form3.objectSchema)?.typename === typename2);
346
- if (form2 && !form2.formSchema) {
347
- await onCreateObject?.({
348
- form: form2
349
- });
350
- } else {
351
- onTypenameChange?.(typename2);
352
- }
353
- }, [
354
- forms,
355
- onCreateObject
356
- ]);
357
- const inputSurfaceLookup = (0, import_chunk_5WLAXYE3.useInputSurfaceLookup)({
358
- target
359
- });
360
- return !form ? /* @__PURE__ */ import_react4.default.createElement(SelectSchema, {
361
- options,
362
- resolve,
363
- onChange: handleSetTypename
364
- }) : !target ? /* @__PURE__ */ import_react4.default.createElement(SelectSpace, {
365
- spaces,
366
- defaultSpaceId,
367
- onChange: onTargetChange
368
- }) : form.formSchema ? /* @__PURE__ */ import_react4.default.createElement("div", {
369
- role: "none",
370
- className: import_react_ui_stack2.cardDialogOverflow
371
- }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui_form.Form, {
372
- autoFocus: true,
373
- values: {
374
- name: initialName
375
- },
376
- schema: form.formSchema,
377
- testId: "create-object-form",
378
- onSave: handleCreateObject,
379
- lookupComponent: inputSurfaceLookup,
380
- outerSpacing: "blockStart-0"
381
- })) : null;
382
- } finally {
383
- _effect.f();
384
- }
385
- };
386
- var SelectSpace = ({ spaces, defaultSpaceId, onChange }) => {
387
- var _effect = (0, import_tracking3.useSignals)();
388
- try {
389
- const { t } = (0, import_react_ui3.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
390
- return /* @__PURE__ */ import_react4.default.createElement(import_react_ui_searchlist.SearchList.Root, {
391
- label: t("space input label"),
392
- classNames: import_react_ui_stack2.cardDialogSearchListRoot
393
- }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui_searchlist.SearchList.Input, {
394
- autoFocus: true,
395
- "data-testid": "create-object-form.space-input",
396
- placeholder: t("space input placeholder")
397
- }), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_searchlist.SearchList.Content, {
398
- classNames: [
399
- import_react_ui_stack2.cardDialogOverflow,
400
- "plb-cardSpacingBlock"
401
- ]
402
- }, spaces.sort((a, b) => {
403
- const aName = (0, import_react_ui3.toLocalizedString)((0, import_chunk_XHWVT7LW.getSpaceDisplayName)(a, {
404
- personal: a.id === defaultSpaceId
405
- }), t);
406
- const bName = (0, import_react_ui3.toLocalizedString)((0, import_chunk_XHWVT7LW.getSpaceDisplayName)(b, {
407
- personal: b.id === defaultSpaceId
408
- }), t);
409
- return aName.localeCompare(bName);
410
- }).map((space) => /* @__PURE__ */ import_react4.default.createElement(import_react_ui_searchlist.SearchList.Item, {
411
- key: space.id,
412
- value: (0, import_react_ui3.toLocalizedString)((0, import_chunk_XHWVT7LW.getSpaceDisplayName)(space, {
413
- personal: space.id === defaultSpaceId
414
- }), t),
415
- onSelect: () => onChange?.(space),
416
- classNames: "flex items-center gap-2"
417
- }, /* @__PURE__ */ import_react4.default.createElement("span", {
418
- className: "grow truncate"
419
- }, (0, import_react_ui3.toLocalizedString)((0, import_chunk_XHWVT7LW.getSpaceDisplayName)(space, {
420
- personal: space.id === defaultSpaceId
421
- }), t))))));
422
- } finally {
423
- _effect.f();
424
- }
425
- };
426
- var SelectSchema = ({ options, resolve, onChange }) => {
427
- var _effect = (0, import_tracking3.useSignals)();
428
- try {
429
- const { t } = (0, import_react_ui3.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
430
- return /* @__PURE__ */ import_react4.default.createElement(import_react_ui_searchlist.SearchList.Root, {
431
- label: t("schema input label"),
432
- classNames: import_react_ui_stack2.cardDialogSearchListRoot
433
- }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui_searchlist.SearchList.Input, {
434
- autoFocus: true,
435
- "data-testid": "create-object-form.schema-input",
436
- placeholder: t("schema input placeholder")
437
- }), /* @__PURE__ */ import_react4.default.createElement(import_react_ui_searchlist.SearchList.Content, {
438
- classNames: import_react_ui_stack2.cardDialogPaddedOverflow
439
- }, options.map((option) => /* @__PURE__ */ import_react4.default.createElement(import_react_ui_searchlist.SearchList.Item, {
440
- key: option.typename,
441
- value: t("typename label", {
442
- ns: option.typename,
443
- defaultValue: option.typename
444
- }),
445
- onSelect: () => onChange(option.typename),
446
- classNames: "flex items-center gap-2"
447
- }, /* @__PURE__ */ import_react4.default.createElement("span", {
448
- className: "flex gap-2 items-center grow truncate"
449
- }, /* @__PURE__ */ import_react4.default.createElement(import_react_ui3.Icon, {
450
- icon: resolve?.(option.typename).icon ?? "ph--placeholder--regular",
451
- size: 5
452
- }), t("typename label", {
453
- ns: option.typename,
454
- defaultValue: option.typename
455
- }))))));
456
- } finally {
457
- _effect.f();
458
- }
459
- };
460
- var AppGraphBuilder = (0, import_app_framework3.lazy)(() => import("./app-graph-builder-6LK5HLLE.cjs"));
461
- var AppGraphSerializer = (0, import_app_framework3.lazy)(() => import("./app-graph-serializer-HKHBNHA3.cjs"));
462
- var IdentityCreated = (0, import_app_framework3.lazy)(() => import("./identity-created-FF4WZ2WY.cjs"));
463
- var IntentResolver = (0, import_app_framework3.lazy)(() => import("./intent-resolver-AV4CMM3Z.cjs"));
464
- var ReactRoot = (0, import_app_framework3.lazy)(() => import("./react-root-RQUU3A45.cjs"));
465
- var ReactSurface = (0, import_app_framework3.lazy)(() => import("./react-surface-AZFJLE72.cjs"));
466
- var SchemaDefs = (0, import_app_framework3.lazy)(() => import("./schema-defs-OB2X2HBH.cjs"));
467
- var SchemaTools = (0, import_app_framework3.lazy)(() => import("./schema-tools-IYREN4IH.cjs"));
468
- var SpaceSettings = (0, import_app_framework3.lazy)(() => import("./settings-P2EQ7VKQ.cjs"));
469
- var SpaceState = (0, import_app_framework3.lazy)(() => import("./state-M35DK75Z.cjs"));
470
- var SpacesReady = (0, import_app_framework3.lazy)(() => import("./spaces-ready-DXPOHYV7.cjs"));
471
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/CreateDialog/CreateObjectDialog.tsx";
472
- var CREATE_OBJECT_DIALOG = `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/CreateObjectDialog`;
473
- var CreateObjectDialog = ({ target: initialTarget, typename: initialTypename, name, shouldNavigate: _shouldNavigate }) => {
474
- var _effect = (0, import_tracking2.useSignals)();
475
- try {
476
- const closeRef = (0, import_react3.useRef)(null);
477
- const manager = (0, import_app_framework2.usePluginManager)();
478
- const { t } = (0, import_react_ui2.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
479
- const client = (0, import_react_client2.useClient)();
480
- const spaces = (0, import_echo3.useSpaces)();
481
- const { dispatchPromise: dispatch } = (0, import_app_framework2.useIntentDispatcher)();
482
- const forms = (0, import_app_framework2.useCapabilities)(import_chunk_NL5Y4EDX.SpaceCapabilities.ObjectForm);
483
- const [target, setTarget] = (0, import_react3.useState)(initialTarget);
484
- const [typename, setTypename] = (0, import_react3.useState)(initialTypename);
485
- const space = (0, import_echo3.isSpace)(target) ? target : (0, import_echo3.getSpace)(target);
486
- const queryCollections = (0, import_echo3.useQuery)(space, import_echo2.Query.type(import_schema.DataType.QueryCollection));
487
- const hiddenTypenames = queryCollections.map((collection) => collection.query.typename).filter(import_util.isNonNullable);
488
- const resolve = (0, import_react3.useCallback)((typename2) => manager.context.getCapabilities(import_app_framework2.Capabilities.Metadata).find(({ id }) => id === typename2)?.metadata ?? {}, [
489
- manager
490
- ]);
491
- const handleCreateObject = (0, import_react3.useCallback)(async ({ form, data = {} }) => {
492
- if (!target) {
493
- return;
494
- }
495
- closeRef.current?.click();
496
- const space2 = (0, import_echo3.isSpace)(target) ? target : (0, import_echo3.getSpace)(target);
497
- (0, import_invariant.invariant)(space2, "Missing space", {
498
- F: __dxlog_file,
499
- L: 73,
500
- S: void 0,
501
- A: [
502
- "space",
503
- "'Missing space'"
504
- ]
505
- });
506
- const result = await dispatch(form.getIntent(data, {
507
- space: space2
508
- }));
509
- const object = result.data?.object;
510
- if ((0, import_echo3.isLiveObject)(object)) {
511
- const hidden = form.hidden || hiddenTypenames.includes(import_echo2.Type.getTypename(form.objectSchema));
512
- const addObjectIntent = (0, import_app_framework2.createIntent)(import_chunk_ULJZPATP.SpaceAction.AddObject, {
513
- target,
514
- object,
515
- hidden
516
- });
517
- const shouldNavigate = _shouldNavigate ?? (() => true);
518
- if (shouldNavigate(object)) {
519
- await dispatch((0, import_effect.pipe)(addObjectIntent, (0, import_app_framework2.chain)(import_app_framework2.LayoutAction.Open, {
520
- part: "main"
521
- })));
522
- } else {
523
- await dispatch(addObjectIntent);
524
- }
525
- }
526
- }, [
527
- dispatch,
528
- target,
529
- resolve,
530
- hiddenTypenames,
531
- _shouldNavigate
532
- ]);
533
- return (
534
- // TODO(wittjosiah): The tablist dialog pattern is copied from @dxos/plugin-manager.
535
- // Consider factoring it out to the tabs package.
536
- /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Dialog.Content, {
537
- classNames: import_react_ui_stack.cardDialogContent
538
- }, /* @__PURE__ */ import_react3.default.createElement("div", {
539
- role: "none",
540
- className: import_react_ui_stack.cardDialogHeader
541
- }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Dialog.Title, null, t("create object dialog title", {
542
- object: t("typename label", {
543
- ns: typename,
544
- defaultValue: "Item"
545
- })
546
- })), /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Dialog.Close, {
547
- asChild: true
548
- }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Button, {
549
- ref: closeRef,
550
- density: "fine",
551
- variant: "ghost",
552
- autoFocus: true
553
- }, /* @__PURE__ */ import_react3.default.createElement(import_react_ui2.Icon, {
554
- icon: "ph--x--regular",
555
- size: 4
556
- })))), /* @__PURE__ */ import_react3.default.createElement(CreateObjectPanel, {
557
- forms,
558
- spaces,
559
- target,
560
- typename,
561
- name,
562
- defaultSpaceId: client.spaces.default.id,
563
- resolve,
564
- onTargetChange: setTarget,
565
- onTypenameChange: setTypename,
566
- onCreateObject: handleCreateObject
567
- }))
568
- );
569
- } finally {
570
- _effect.f();
571
- }
572
- };
573
- var CREATE_SPACE_DIALOG = `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/CreateSpaceDialog`;
574
- var initialValues = {
575
- edgeReplication: true
576
- };
577
- var CreateSpaceDialog = () => {
578
- var _effect = (0, import_tracking4.useSignals)();
579
- try {
580
- const closeRef = (0, import_react5.useRef)(null);
581
- const { t } = (0, import_react_ui4.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
582
- const { dispatch } = (0, import_app_framework4.useIntentDispatcher)();
583
- const inputSurfaceLookup = (0, import_chunk_5WLAXYE3.useInputSurfaceLookup)();
584
- const handleCreateSpace = (0, import_react5.useCallback)(async (data) => {
585
- const program = import_effect2.Effect.gen(function* () {
586
- const { space } = yield* dispatch((0, import_app_framework4.createIntent)(import_chunk_ULJZPATP.SpaceAction.Create, data));
587
- yield* dispatch((0, import_app_framework4.createIntent)(import_app_framework4.LayoutAction.SwitchWorkspace, {
588
- part: "workspace",
589
- subject: space.id
590
- }));
591
- yield* dispatch((0, import_app_framework4.createIntent)(import_app_framework4.LayoutAction.UpdateDialog, {
592
- part: "dialog",
593
- options: {
594
- state: false
595
- }
596
- }));
597
- });
598
- await import_effect2.Effect.runPromise(program);
599
- }, [
600
- dispatch
601
- ]);
602
- return (
603
- // TODO(wittjosiah): The tablist dialog pattern is copied from @dxos/plugin-manager.
604
- // Consider factoring it out to the tabs package.
605
- /* @__PURE__ */ import_react5.default.createElement(import_react_ui4.Dialog.Content, {
606
- classNames: import_react_ui_stack3.cardDialogContent
607
- }, /* @__PURE__ */ import_react5.default.createElement("div", {
608
- role: "none",
609
- className: import_react_ui_stack3.cardDialogHeader
610
- }, /* @__PURE__ */ import_react5.default.createElement(import_react_ui4.Dialog.Title, null, t("create space dialog title")), /* @__PURE__ */ import_react5.default.createElement(import_react_ui4.Dialog.Close, {
611
- asChild: true
612
- }, /* @__PURE__ */ import_react5.default.createElement(import_react_ui4.Button, {
613
- ref: closeRef,
614
- density: "fine",
615
- variant: "ghost",
616
- autoFocus: true
617
- }, /* @__PURE__ */ import_react5.default.createElement(import_react_ui4.Icon, {
618
- icon: "ph--x--regular",
619
- size: 4
620
- })))), /* @__PURE__ */ import_react5.default.createElement("div", {
621
- role: "none",
622
- className: "contents"
623
- }, /* @__PURE__ */ import_react5.default.createElement(import_react_ui_form2.Form, {
624
- testId: "create-space-form",
625
- autoFocus: true,
626
- values: initialValues,
627
- schema: import_chunk_ULJZPATP.SpaceForm,
628
- lookupComponent: inputSurfaceLookup,
629
- onSave: handleCreateSpace,
630
- outerSpacing: "scroll-fields"
631
- })))
632
- );
633
- } finally {
634
- _effect.f();
635
- }
636
- };
637
- var CollectionMain = ({ collection }) => {
638
- var _effect = (0, import_tracking5.useSignals)();
639
- try {
640
- const { t } = (0, import_react_ui5.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
641
- return /* @__PURE__ */ import_react6.default.createElement("div", {
642
- role: "none",
643
- className: (0, import_react_ui_theme2.mx)(import_react_ui_theme2.baseSurface, "min-bs-screen is-full flex items-center justify-center p-8"),
644
- "data-testid": "composer.firstRunMessage"
645
- }, /* @__PURE__ */ import_react6.default.createElement("p", {
646
- role: "alert",
647
- className: (0, import_react_ui_theme2.mx)(import_react_ui_theme2.descriptionMessage, "rounded-md p-8 font-normal text-lg max-is-[24rem] break-words")
648
- }, collection.name ?? t("unnamed collection label")));
649
- } finally {
650
- _effect.f();
651
- }
652
- };
653
- var CollectionSection = ({ collection }) => {
654
- var _effect = (0, import_tracking6.useSignals)();
655
- try {
656
- const { t } = (0, import_react_ui6.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
657
- return /* @__PURE__ */ import_react7.default.createElement("div", {
658
- className: "min-bs-[3.5rem] grid grid-rows-subgrid grid-cols-subgrid items-center"
659
- }, /* @__PURE__ */ import_react7.default.createElement("span", {
660
- className: "truncate"
661
- }, collection.name ?? t("unnamed collection label")));
662
- } finally {
663
- _effect.f();
664
- }
665
- };
666
- var JOIN_DIALOG = `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/JoinDialog`;
667
- var JoinDialog = ({ navigableCollections, onDone, ...props }) => {
668
- var _effect = (0, import_tracking7.useSignals)();
669
- try {
670
- const { dispatchPromise: dispatch } = (0, import_app_framework5.useIntentDispatcher)();
671
- const client = (0, import_react_client3.useClient)();
672
- const { graph } = (0, import_app_framework5.useAppGraph)();
673
- const { t } = (0, import_react_ui7.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
674
- const handleDone = (0, import_react8.useCallback)(async (result) => {
675
- const spaceKey = result?.spaceKey;
676
- if (!spaceKey) {
677
- return;
678
- }
679
- await Promise.all([
680
- dispatch((0, import_app_framework5.createIntent)(import_app_framework5.LayoutAction.AddToast, {
681
- part: "toast",
682
- subject: {
683
- id: `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/join-success`,
684
- duration: 5e3,
685
- title: [
686
- "join success label",
687
- {
688
- ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
689
- }
690
- ],
691
- closeLabel: [
692
- "dismiss label",
693
- {
694
- ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
695
- }
696
- ]
697
- }
698
- })),
699
- dispatch((0, import_app_framework5.createIntent)(import_app_framework5.LayoutAction.UpdateDialog, {
700
- part: "dialog",
701
- options: {
702
- state: false
703
- }
704
- }))
705
- ]);
706
- let space = client.spaces.get(spaceKey);
707
- if (!space) {
708
- const trigger = new import_async.Trigger();
709
- client.spaces.subscribe(() => {
710
- const space2 = client.spaces.get(spaceKey);
711
- if (space2) {
712
- trigger.wake(space2);
713
- }
714
- });
715
- space = await trigger.wait();
716
- }
717
- await dispatch((0, import_app_framework5.createIntent)(import_app_framework5.LayoutAction.SwitchWorkspace, {
718
- part: "workspace",
719
- subject: space.id
720
- }));
721
- const target = result?.target || (navigableCollections ? space?.id : void 0);
722
- if (target) {
723
- await graph.waitForPath({
724
- target
725
- }).catch(() => {
726
- });
727
- await Promise.all([
728
- dispatch((0, import_app_framework5.createIntent)(import_app_framework5.LayoutAction.Open, {
729
- part: "main",
730
- subject: [
731
- target
732
- ]
733
- })),
734
- dispatch((0, import_app_framework5.createIntent)(import_app_framework5.LayoutAction.Expose, {
735
- part: "navigation",
736
- subject: target
737
- }))
738
- ]);
739
- }
740
- await onDone?.(result);
741
- if (space) {
742
- await dispatch((0, import_app_framework5.createIntent)(import_types.ObservabilityAction.SendEvent, {
743
- name: "space.join",
744
- properties: {
745
- spaceId: space.id
746
- }
747
- }));
748
- }
749
- }, [
750
- dispatch,
751
- client,
752
- graph
753
- ]);
754
- return /* @__PURE__ */ import_react8.default.createElement(import_react_ui7.Dialog.Content, null, /* @__PURE__ */ import_react8.default.createElement(import_react_ui7.Dialog.Title, {
755
- classNames: "sr-only"
756
- }, t("join space label", {
757
- ns: "os"
758
- })), /* @__PURE__ */ import_react8.default.createElement(import_react9.JoinPanel, {
759
- ...props,
760
- exitActionParent: /* @__PURE__ */ import_react8.default.createElement(import_react_ui7.Dialog.Close, {
761
- asChild: true
762
- }),
763
- doneActionParent: /* @__PURE__ */ import_react8.default.createElement(import_react_ui7.Dialog.Close, {
764
- asChild: true
765
- }),
766
- onDone: handleDone
767
- }));
768
- } finally {
769
- _effect.f();
770
- }
771
- };
772
- var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/MembersContainer.tsx";
773
- var activeActionKey = "dxos:react-shell/space-manager/active-action";
774
- var handleInvitationEvent = (invitation, subscription) => {
775
- const invitationCode = import_invitations.InvitationEncoder.encode(invitation);
776
- if (invitation.state === import_invitations.Invitation.State.CONNECTING) {
777
- import_log.log.info(JSON.stringify({
778
- invitationCode,
779
- authCode: invitation.authCode
780
- }), void 0, {
781
- F: __dxlog_file2,
782
- L: 42,
783
- S: void 0,
784
- C: (f, a) => f(...a)
785
- });
786
- subscription.unsubscribe();
787
- }
788
- };
789
- var MembersContainer = ({ space, createInvitationUrl }) => {
790
- var _effect = (0, import_tracking8.useSignals)();
791
- try {
792
- const { t } = (0, import_react_ui8.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
793
- const config = (0, import_react_client4.useConfig)();
794
- const { dispatchPromise: dispatch } = (0, import_app_framework6.useIntentDispatcher)();
795
- const invitations = (0, import_echo6.useSpaceInvitations)(space.key);
796
- const visibleInvitations = invitations?.filter((invitation) => ![
797
- import_invitations.Invitation.State.CANCELLED
798
- ].includes(invitation.get().state));
799
- const [activeAction, setInternalActiveAction] = (0, import_react11.useState)(localStorage.getItem(activeActionKey) ?? "inviteMany");
800
- const setActiveAction = (nextAction) => {
801
- setInternalActiveAction(nextAction);
802
- localStorage.setItem(activeActionKey, nextAction);
803
- };
804
- const target = space.properties[import_echo5.Type.getTypename(import_schema2.DataType.Collection)]?.target?.objects[0]?.target;
805
- const locked = space.properties[import_chunk_XHWVT7LW.COMPOSER_SPACE_LOCK];
806
- const handleChangeLocked = (0, import_react11.useCallback)(() => {
807
- space.properties[import_chunk_XHWVT7LW.COMPOSER_SPACE_LOCK] = !locked;
808
- }, [
809
- locked,
810
- space
811
- ]);
812
- const inviteActions = (0, import_react11.useMemo)(() => ({
813
- inviteOne: {
814
- label: t("invite one label", {
815
- ns: "os"
816
- }),
817
- description: t("invite one description", {
818
- ns: "os"
819
- }),
820
- icon: () => /* @__PURE__ */ import_react11.default.createElement(import_react_ui8.Icon, {
821
- icon: "ph--user-plus--regular",
822
- size: 5
823
- }),
824
- testId: "membersContainer.inviteOne",
825
- onClick: async () => {
826
- const { data: invitation } = await dispatch((0, import_app_framework6.createIntent)(import_chunk_ULJZPATP.SpaceAction.Share, {
827
- space,
828
- type: import_invitations.Invitation.Type.INTERACTIVE,
829
- authMethod: import_invitations.Invitation.AuthMethod.SHARED_SECRET,
830
- multiUse: false,
831
- target: target && (0, import_echo6.fullyQualifiedId)(target)
832
- }));
833
- if (invitation && config.values.runtime?.app?.env?.DX_ENVIRONMENT !== "production") {
834
- const subscription = invitation.subscribe((invitation2) => handleInvitationEvent(invitation2, subscription));
835
- }
836
- }
837
- },
838
- inviteMany: {
839
- label: t("invite many label", {
840
- ns: "os"
841
- }),
842
- description: t("invite many description", {
843
- ns: "os"
844
- }),
845
- icon: () => /* @__PURE__ */ import_react11.default.createElement(import_react_ui8.Icon, {
846
- icon: "ph--users-three--regular",
847
- size: 5
848
- }),
849
- testId: "membersContainer.inviteMany",
850
- onClick: async () => {
851
- const { data: invitation } = await dispatch((0, import_app_framework6.createIntent)(import_chunk_ULJZPATP.SpaceAction.Share, {
852
- space,
853
- type: import_invitations.Invitation.Type.DELEGATED,
854
- authMethod: import_invitations.Invitation.AuthMethod.KNOWN_PUBLIC_KEY,
855
- multiUse: true,
856
- target: target && (0, import_echo6.fullyQualifiedId)(target)
857
- }));
858
- if (invitation && config.values.runtime?.app?.env?.DX_ENVIRONMENT !== "production") {
859
- const subscription = invitation.subscribe((invitation2) => handleInvitationEvent(invitation2, subscription));
860
- }
861
- }
862
- }
863
- }), [
864
- t,
865
- space,
866
- target
867
- ]);
868
- const [selectedInvitation, setSelectedInvitation] = (0, import_react11.useState)(null);
869
- const handleSend = (event) => {
870
- setSelectedInvitation(event.invitation);
871
- };
872
- const handleBack = () => {
873
- setSelectedInvitation(null);
874
- };
875
- return /* @__PURE__ */ import_react11.default.createElement(import_react_ui8.Clipboard.Provider, null, /* @__PURE__ */ import_react11.default.createElement(import_react_ui_stack4.StackItem.Content, {
876
- classNames: "block overflow-y-auto"
877
- }, /* @__PURE__ */ import_react11.default.createElement(import_react_ui_form3.ControlPage, null, /* @__PURE__ */ import_react11.default.createElement(import_react_ui_form3.ControlSection, {
878
- title: t("members verbose label"),
879
- description: t("members description")
880
- }, /* @__PURE__ */ import_react11.default.createElement(import_react_ui_form3.ControlFrame, null, /* @__PURE__ */ import_react11.default.createElement(import_react_ui_form3.ControlFrameItem, {
881
- title: t("members label")
882
- }, /* @__PURE__ */ import_react11.default.createElement(import_react12.SpaceMemberList, {
883
- spaceKey: space.key,
884
- includeSelf: true
885
- })), locked && /* @__PURE__ */ import_react11.default.createElement(import_react_ui_form3.ControlFrameItem, {
886
- title: t("invitations label")
887
- }, /* @__PURE__ */ import_react11.default.createElement("p", {
888
- className: "text-description mbe-2"
889
- }, t("locked space description"))), !locked && /* @__PURE__ */ import_react11.default.createElement(import_react_ui_form3.ControlFrameItem, {
890
- title: t("invitations label")
891
- }, selectedInvitation && /* @__PURE__ */ import_react11.default.createElement(InvitationSection, {
892
- ...selectedInvitation,
893
- onBack: handleBack
894
- }), !selectedInvitation && /* @__PURE__ */ import_react11.default.createElement(import_react11.default.Fragment, null, /* @__PURE__ */ import_react11.default.createElement("p", {
895
- className: "text-description mbe-2"
896
- }, t("space invitation description")), /* @__PURE__ */ import_react11.default.createElement(import_react12.InvitationList, {
897
- className: "mb-2",
898
- send: handleSend,
899
- invitations: visibleInvitations ?? [],
900
- onClickRemove: (invitation) => invitation.cancel(),
901
- createInvitationUrl
902
- }), /* @__PURE__ */ import_react11.default.createElement(import_react12.BifurcatedAction, {
903
- actions: inviteActions,
904
- activeAction,
905
- onChangeActiveAction: setActiveAction,
906
- "data-testid": "membersContainer.createInvitation"
907
- })))), /* @__PURE__ */ import_react11.default.createElement("div", {
908
- className: "justify-center gap-4 p-0 mbs-4 container-max-width grid grid-cols-1 md:grid-cols-[1fr_min-content]"
909
- }, /* @__PURE__ */ import_react11.default.createElement(import_react_ui_form3.ControlItemInput, {
910
- title: t("space locked label"),
911
- description: t("space locked description")
912
- }, /* @__PURE__ */ import_react11.default.createElement(import_react_ui8.Input.Switch, {
913
- checked: locked,
914
- onCheckedChange: handleChangeLocked,
915
- classNames: "justify-self-end"
916
- })))))));
917
- } finally {
918
- _effect.f();
919
- }
920
- };
921
- var InvitationSection = ({ state = import_invitations.Invitation.State.INIT, authCode, invitationId = "never", url = "never", onBack }) => {
922
- var _effect = (0, import_tracking8.useSignals)();
923
- try {
924
- const activeView = state < 0 ? "init" : state >= import_invitations.Invitation.State.CANCELLED ? "complete" : state >= import_invitations.Invitation.State.READY_FOR_AUTHENTICATION && authCode ? "auth-code" : "qr-code";
925
- return /* @__PURE__ */ import_react11.default.createElement(import_react12.Viewport.Root, {
926
- activeView
927
- }, /* @__PURE__ */ import_react11.default.createElement(import_react12.Viewport.Views, null, /* @__PURE__ */ import_react11.default.createElement(import_react12.Viewport.View, {
928
- id: "init"
929
- }), /* @__PURE__ */ import_react11.default.createElement(import_react12.Viewport.View, {
930
- id: "complete"
931
- }, /* @__PURE__ */ import_react11.default.createElement(InvitationComplete, {
932
- statusValue: state
933
- })), /* @__PURE__ */ import_react11.default.createElement(import_react12.Viewport.View, {
934
- id: "auth-code"
935
- }, /* @__PURE__ */ import_react11.default.createElement(InvitationAuthCode, {
936
- id: invitationId,
937
- code: authCode ?? "never",
938
- onCancel: onBack
939
- })), /* @__PURE__ */ import_react11.default.createElement(import_react12.Viewport.View, {
940
- id: "qr-code"
941
- }, /* @__PURE__ */ import_react11.default.createElement(InvitationQR, {
942
- id: invitationId,
943
- url,
944
- onCancel: onBack
945
- }))));
946
- } finally {
947
- _effect.f();
948
- }
949
- };
950
- var InvitationQR = ({ id, url, onCancel }) => {
951
- var _effect = (0, import_tracking8.useSignals)();
952
- try {
953
- const { t } = (0, import_react_ui8.useTranslation)("os");
954
- const qrLabel = (0, import_react_ui8.useId)("members-container__qr-code");
955
- const emoji = (0, import_util3.hexToEmoji)(id);
956
- return /* @__PURE__ */ import_react11.default.createElement(import_react11.default.Fragment, null, /* @__PURE__ */ import_react11.default.createElement("p", {
957
- className: "text-description"
958
- }, t("qr code description", {
959
- ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
960
- })), /* @__PURE__ */ import_react11.default.createElement("div", {
961
- role: "group",
962
- className: "grid grid-cols-[1fr_min-content] mlb-2 gap-2"
963
- }, /* @__PURE__ */ import_react11.default.createElement("div", {
964
- role: "none",
965
- className: "is-full aspect-square relative text-description"
966
- }, /* @__PURE__ */ import_react11.default.createElement(import_react_qr_rounded.QR, {
967
- rounding: 100,
968
- backgroundColor: "transparent",
969
- color: "currentColor",
970
- "aria-labelledby": qrLabel,
971
- errorCorrectionLevel: "Q",
972
- cutout: true
973
- }, url ?? "never"), /* @__PURE__ */ import_react11.default.createElement(import_react12.Centered, null, /* @__PURE__ */ import_react11.default.createElement(import_react12.Emoji, {
974
- text: emoji
975
- }))), /* @__PURE__ */ import_react11.default.createElement("span", {
976
- id: qrLabel,
977
- className: "sr-only"
978
- }, t("qr label")), /* @__PURE__ */ import_react11.default.createElement(import_react_ui8.Clipboard.Button, {
979
- value: url ?? "never"
980
- })), /* @__PURE__ */ import_react11.default.createElement(import_react_ui8.Button, {
981
- variant: "ghost",
982
- onClick: onCancel
983
- }, t("cancel label")));
984
- } finally {
985
- _effect.f();
986
- }
987
- };
988
- var InvitationAuthCode = ({ id, code, onCancel }) => {
989
- var _effect = (0, import_tracking8.useSignals)();
990
- try {
991
- const { t } = (0, import_react_ui8.useTranslation)("os");
992
- const emoji = (0, import_util3.hexToEmoji)(id);
993
- return /* @__PURE__ */ import_react11.default.createElement(import_react11.default.Fragment, null, /* @__PURE__ */ import_react11.default.createElement("p", {
994
- className: "text-description"
995
- }, t("auth other device emoji message")), emoji && /* @__PURE__ */ import_react11.default.createElement(import_react12.Emoji, {
996
- text: emoji,
997
- className: "mli-auto mlb-2 text-center"
998
- }), /* @__PURE__ */ import_react11.default.createElement("p", {
999
- className: "text-description"
1000
- }, t("auth code message")), /* @__PURE__ */ import_react11.default.createElement(import_react12.AuthCode, {
1001
- code,
1002
- large: true,
1003
- classNames: "mli-auto mlb-2 text-center grow"
1004
- }), /* @__PURE__ */ import_react11.default.createElement(import_react_ui8.Button, {
1005
- variant: "ghost",
1006
- onClick: onCancel
1007
- }, t("cancel label")));
1008
- } finally {
1009
- _effect.f();
1010
- }
1011
- };
1012
- var InvitationComplete = ({ statusValue }) => {
1013
- var _effect = (0, import_tracking8.useSignals)();
1014
- try {
1015
- return statusValue > 0 ? /* @__PURE__ */ import_react11.default.createElement(import_react10.Check, {
1016
- className: (0, import_react_ui_theme3.mx)("m-1.5", (0, import_react_ui_theme3.getSize)(6))
1017
- }) : /* @__PURE__ */ import_react11.default.createElement(import_react10.X, {
1018
- className: (0, import_react_ui_theme3.mx)("m-1.5", (0, import_react_ui_theme3.getSize)(6))
1019
- });
1020
- } finally {
1021
- _effect.f();
1022
- }
1023
- };
1024
- var MenuFooter = ({ object }) => {
1025
- var _effect = (0, import_tracking9.useSignals)();
1026
- try {
1027
- const { t } = (0, import_react_ui9.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
1028
- const client = (0, import_react_client5.useClient)();
1029
- const space = (0, import_echo7.getSpace)(object);
1030
- const spaceName = space ? (0, import_chunk_XHWVT7LW.getSpaceDisplayName)(space, {
1031
- personal: client.spaces.default === space
1032
- }) : "";
1033
- return space ? /* @__PURE__ */ import_react14.default.createElement(import_react14.default.Fragment, null, /* @__PURE__ */ import_react14.default.createElement(import_react_ui9.DropdownMenu.Separator, null), /* @__PURE__ */ import_react14.default.createElement(import_react_ui9.DropdownMenu.GroupLabel, null, t("menu footer label")), /* @__PURE__ */ import_react14.default.createElement("dl", {
1034
- className: "pis-2 mbe-2 text-xs grid grid-cols-[max-content_1fr] gap-2"
1035
- }, /* @__PURE__ */ import_react14.default.createElement("dt", {
1036
- className: "uppercase text-[.75em] tracking-wide font-medium mbs-px self-start"
1037
- }, t("location label")), /* @__PURE__ */ import_react14.default.createElement("dd", {
1038
- className: "line-clamp-3"
1039
- }, /* @__PURE__ */ import_react14.default.createElement(import_react13.Planet, {
1040
- className: "inline-block mie-1"
1041
- }), (0, import_react_ui9.toLocalizedString)(spaceName, t)))) : null;
1042
- } finally {
1043
- _effect.f();
1044
- }
1045
- };
1046
- var BaseObjectSettings = ({ classNames, children, object }) => {
1047
- var _effect = (0, import_tracking11.useSignals)();
1048
- try {
1049
- const { t } = (0, import_react_ui11.useTranslation)(import_chunk_6P2DB4QQ.meta.id);
1050
- const inputRef = (0, import_react16.useRef)(null);
1051
- return /* @__PURE__ */ import_react16.default.createElement(import_react16.default.Fragment, null, /* @__PURE__ */ import_react16.default.createElement(import_react_ui11.Input.Root, null, /* @__PURE__ */ import_react16.default.createElement(import_react_ui11.Input.Label, null, t("name label")), /* @__PURE__ */ import_react16.default.createElement(import_react_ui11.Input.TextInput, {
1052
- ref: inputRef,
1053
- placeholder: t("name placeholder"),
1054
- // TODO(burdon): Use annotation to get the name field.
1055
- value: object.name ?? "",
1056
- onChange: (event) => {
1057
- object.name = event.target.value;
1058
- },
1059
- onKeyDown: (event) => {
1060
- if (event.key === "Enter") {
1061
- inputRef.current?.blur();
1062
- }
1063
- }
1064
- })), children);
1065
- } finally {
1066
- _effect.f();
1067
- }
1068
- };
1069
- var ObjectSettingsContainer = ({ object, role }) => {
1070
- var _effect = (0, import_tracking10.useSignals)();
1071
- try {
1072
- const data = (0, import_react15.useMemo)(() => ({
1073
- subject: object
1074
- }), [
1075
- object
1076
- ]);
1077
- return /* @__PURE__ */ import_react15.default.createElement(import_react_ui10.Clipboard.Provider, null, /* @__PURE__ */ import_react15.default.createElement(import_react_ui_stack5.StackItem.Content, {
1078
- toolbar: false
1079
- }, /* @__PURE__ */ import_react15.default.createElement("div", {
1080
- role: "none",
1081
- className: "overflow-y-auto pli-cardSpacingInline plb-cardSpacingBlock"
1082
- }, /* @__PURE__ */ import_react15.default.createElement(BaseObjectSettings, {
1083
- object
1084
- }, /* @__PURE__ */ import_react15.default.createElement(import_app_framework7.Surface, {
1085
- role: "base-object-settings",
1086
- data
1087
- })), /* @__PURE__ */ import_react15.default.createElement(import_app_framework7.Surface, {
1088
- role: "object-settings",
1089
- data
1090
- }))));
1091
- } finally {
1092
- _effect.f();
1093
- }
1094
- };
1095
- var PersistenceStatus = ({ db }) => {
1096
- var _effect = (0, import_tracking12.useSignals)();
1097
- try {
1098
- const { t } = (0, import_react_ui12.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
1099
- const [displayMessage, setDisplayMessage] = (0, import_react18.useState)(false);
1100
- const [status, naturalSetStatus] = (0, import_react18.useState)(0);
1101
- const [prevStatus, setPrevStatus] = (0, import_react18.useState)(0);
1102
- const _setStatus = (0, import_async2.debounce)(naturalSetStatus, 500);
1103
- (0, import_react18.useEffect)(() => {
1104
- setPrevStatus(status);
1105
- if (prevStatus !== status && status === 0) {
1106
- setDisplayMessage(true);
1107
- const timeout = setTimeout(() => setDisplayMessage(false), 5e3);
1108
- return () => clearTimeout(timeout);
1109
- }
1110
- }, [
1111
- status
1112
- ]);
1113
- switch (status) {
1114
- case 2:
1115
- return /* @__PURE__ */ import_react18.default.createElement("div", {
1116
- className: "flex items-center"
1117
- }, /* @__PURE__ */ import_react18.default.createElement(import_react17.Warning, {
1118
- className: (0, import_react_ui_theme4.mx)((0, import_react_ui_theme4.getSize)(4), "me-1")
1119
- }), /* @__PURE__ */ import_react18.default.createElement("span", {
1120
- className: (0, import_react_ui_theme4.mx)("text-sm", import_react_ui_theme4.warningText)
1121
- }, t("persistence error label")));
1122
- case 1:
1123
- return /* @__PURE__ */ import_react18.default.createElement("div", {
1124
- className: "flex items-center"
1125
- }, /* @__PURE__ */ import_react18.default.createElement(import_react17.ArrowsCounterClockwise, {
1126
- className: (0, import_react_ui_theme4.mx)((0, import_react_ui_theme4.getSize)(4), "me-1")
1127
- }), /* @__PURE__ */ import_react18.default.createElement("span", {
1128
- className: (0, import_react_ui_theme4.mx)("text-sm", import_react_ui_theme4.staticPlaceholderText)
1129
- }, t("persistence pending label")));
1130
- case 0:
1131
- default:
1132
- return /* @__PURE__ */ import_react18.default.createElement(import_react_ui12.Tooltip.Trigger, {
1133
- delayDuration: 400,
1134
- role: "status",
1135
- content: t("persisted locally message"),
1136
- className: "flex items-center"
1137
- }, /* @__PURE__ */ import_react18.default.createElement(import_react17.CheckCircle, {
1138
- className: (0, import_react_ui_theme4.mx)((0, import_react_ui_theme4.getSize)(4), "me-1")
1139
- }), displayMessage && /* @__PURE__ */ import_react18.default.createElement("span", {
1140
- className: (0, import_react_ui_theme4.mx)("text-sm", import_react_ui_theme4.staticPlaceholderText)
1141
- }, t("persisted locally label")));
1142
- }
1143
- } finally {
1144
- _effect.f();
1145
- }
1146
- };
1147
- var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/PopoverRenameObject.tsx";
1148
- var POPOVER_RENAME_OBJECT = `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/PopoverRenameObject`;
1149
- var PopoverRenameObject = ({ object: obj }) => {
1150
- var _effect = (0, import_tracking13.useSignals)();
1151
- try {
1152
- const { t } = (0, import_react_ui13.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
1153
- const doneButton = (0, import_react19.useRef)(null);
1154
- const object = obj;
1155
- const [name, setName] = (0, import_react19.useState)(object.name || object.title || "");
1156
- const { dispatchPromise: dispatch } = (0, import_app_framework8.useIntentDispatcher)();
1157
- const handleDone = (0, import_react19.useCallback)(() => {
1158
- try {
1159
- object.name = name;
1160
- } catch {
1161
- try {
1162
- object.title = name;
1163
- } catch (err) {
1164
- import_log2.log.error("Failed to rename object", {
1165
- err
1166
- }, {
1167
- F: __dxlog_file3,
1168
- L: 32,
1169
- S: void 0,
1170
- C: (f, a) => f(...a)
1171
- });
1172
- }
1173
- }
1174
- void dispatch((0, import_app_framework8.createIntent)(import_app_framework8.LayoutAction.UpdatePopover, {
1175
- part: "popover",
1176
- options: {
1177
- variant: "react",
1178
- anchorId: "",
1179
- state: false
1180
- }
1181
- }));
1182
- }, [
1183
- object,
1184
- name
1185
- ]);
1186
- return /* @__PURE__ */ import_react19.default.createElement("div", {
1187
- role: "none",
1188
- className: "p-2 flex gap-2"
1189
- }, /* @__PURE__ */ import_react19.default.createElement("div", {
1190
- role: "none",
1191
- className: "flex-1"
1192
- }, /* @__PURE__ */ import_react19.default.createElement(import_react_ui13.Input.Root, null, /* @__PURE__ */ import_react19.default.createElement(import_react_ui13.Input.Label, {
1193
- srOnly: true
1194
- }, t("object name label")), /* @__PURE__ */ import_react19.default.createElement(import_react_ui13.Input.TextInput, {
1195
- placeholder: t("object placeholder"),
1196
- value: name,
1197
- "data-testid": "spacePlugin.renameObject.input",
1198
- onChange: ({ target: { value } }) => setName(value),
1199
- onKeyDown: ({ key }) => key === "Enter" && doneButton.current?.click()
1200
- }))), /* @__PURE__ */ import_react19.default.createElement(import_react_ui13.Button, {
1201
- ref: doneButton,
1202
- classNames: "self-stretch",
1203
- onClick: handleDone
1204
- }, t("done label", {
1205
- ns: "os"
1206
- })));
1207
- } finally {
1208
- _effect.f();
1209
- }
1210
- };
1211
- var POPOVER_RENAME_SPACE = `${import_chunk_6P2DB4QQ.SPACE_PLUGIN}/PopoverRenameSpace`;
1212
- var PopoverRenameSpace = ({ space }) => {
1213
- var _effect = (0, import_tracking14.useSignals)();
1214
- try {
1215
- const { t } = (0, import_react_ui14.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
1216
- const doneButton = (0, import_react20.useRef)(null);
1217
- const [name, setName] = (0, import_react20.useState)(space.properties.name ?? "");
1218
- const { dispatchPromise: dispatch } = (0, import_app_framework9.useIntentDispatcher)();
1219
- const handleDone = (0, import_react20.useCallback)(() => {
1220
- space.properties.name = name;
1221
- void dispatch((0, import_app_framework9.createIntent)(import_app_framework9.LayoutAction.UpdatePopover, {
1222
- part: "popover",
1223
- options: {
1224
- variant: "react",
1225
- anchorId: "",
1226
- state: false
1227
- }
1228
- }));
1229
- }, [
1230
- space,
1231
- name
1232
- ]);
1233
- return /* @__PURE__ */ import_react20.default.createElement("div", {
1234
- role: "none",
1235
- className: "p-2 flex gap-2"
1236
- }, /* @__PURE__ */ import_react20.default.createElement("div", {
1237
- role: "none",
1238
- className: "flex-1"
1239
- }, /* @__PURE__ */ import_react20.default.createElement(import_react_ui14.Input.Root, null, /* @__PURE__ */ import_react20.default.createElement(import_react_ui14.Input.Label, {
1240
- srOnly: true
1241
- }, t("space name label")), /* @__PURE__ */ import_react20.default.createElement(import_react_ui14.Input.TextInput, {
1242
- defaultValue: space.properties.name ?? "",
1243
- placeholder: t("unnamed space label"),
1244
- onChange: ({ target: { value } }) => setName(value),
1245
- // TODO(wittjosiah): Ideally this should access the popover context to close the popover.
1246
- // Currently this is not possible because Radix does not expose the popover context.
1247
- onKeyDown: ({ key }) => key === "Enter" && doneButton.current?.click()
1248
- }))), /* @__PURE__ */ import_react20.default.createElement(import_react_ui14.Popover.Close, {
1249
- asChild: true
1250
- }, /* @__PURE__ */ import_react20.default.createElement(import_react_ui14.Button, {
1251
- ref: doneButton,
1252
- classNames: "self-stretch",
1253
- onClick: handleDone
1254
- }, t("done label", {
1255
- ns: "os"
1256
- }))));
1257
- } finally {
1258
- _effect.f();
1259
- }
1260
- };
1261
- var useQuerySpaceSchemas = (space) => {
1262
- const [schemas, setSchemas] = (0, import_react21.useState)([]);
1263
- (0, import_react21.useEffect)(() => {
1264
- const query = space.db.schemaRegistry.query();
1265
- const initialResults = query.runSync();
1266
- setSchemas(initialResults);
1267
- const unsubscribe = query.subscribe(() => setSchemas(query.results));
1268
- return () => unsubscribe();
1269
- }, [
1270
- space
1271
- ]);
1272
- return schemas;
1273
- };
1274
- var SchemaContainer = ({ space }) => {
1275
- var _effect = (0, import_tracking15.useSignals)();
1276
- try {
1277
- const { t } = (0, import_react_ui15.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
1278
- const schemas = useQuerySpaceSchemas(space);
1279
- return /* @__PURE__ */ import_react21.default.createElement(import_react_ui_stack6.StackItem.Content, {
1280
- classNames: "block overflow-y-auto"
1281
- }, /* @__PURE__ */ import_react21.default.createElement(import_react_ui_form4.ControlPage, null, /* @__PURE__ */ import_react21.default.createElement(import_react_ui_form4.ControlSection, {
1282
- title: t("schema verbose label"),
1283
- description: t("schema description")
1284
- }, /* @__PURE__ */ import_react21.default.createElement("div", {
1285
- role: "none",
1286
- className: import_react_ui_form4.controlItemClasses
1287
- }, schemas.length === 0 && /* @__PURE__ */ import_react21.default.createElement("div", {
1288
- className: "text-center plb-4"
1289
- }, t("no schemas found message")), schemas.map((schema) => /* @__PURE__ */ import_react21.default.createElement("div", {
1290
- key: schema.id
1291
- }, /* @__PURE__ */ import_react21.default.createElement("div", null, schema.typename)))))));
1292
- } finally {
1293
- _effect.f();
1294
- }
1295
- };
1296
- var REFRESH_INTERVAL = 5e3;
1297
- var ACTIVITY_DURATION = 3e4;
1298
- var noViewers = new import_util4.ComplexMap(import_react_client6.PublicKey.hash);
1299
- var getName = (identity) => identity.profile?.displayName ?? (0, import_display_name.generateName)(identity.identityKey.toHex());
1300
- var SpacePresence = ({ object, spaceKey }) => {
1301
- var _effect = (0, import_tracking16.useSignals)();
1302
- try {
1303
- const spaceState = (0, import_app_framework10.useCapability)(import_chunk_NL5Y4EDX.SpaceCapabilities.MutableState);
1304
- const client = (0, import_react_client6.useClient)();
1305
- const identity = (0, import_halo.useIdentity)();
1306
- const space = spaceKey ? client.spaces.get(spaceKey) : (0, import_echo8.getSpace)(object);
1307
- const spaceMembers = (0, import_echo8.useMembers)(space?.key);
1308
- const [_moment, setMoment] = (0, import_react22.useState)(Date.now());
1309
- (0, import_react22.useEffect)(() => {
1310
- const interval = setInterval(() => setMoment(Date.now()), REFRESH_INTERVAL);
1311
- return () => clearInterval(interval);
1312
- }, []);
1313
- const memberOnline = (0, import_react22.useCallback)((member) => member.presence === 1, []);
1314
- const memberIsNotSelf = (0, import_react22.useCallback)((member) => !identity?.identityKey.equals(member.identity.identityKey), [
1315
- identity?.identityKey
1316
- ]);
1317
- if (!identity || !spaceState || !space) {
1318
- return null;
1319
- }
1320
- const currentObjectViewers = spaceState.viewersByObject[(0, import_echo8.fullyQualifiedId)(object)] ?? noViewers;
1321
- const membersForObject = spaceMembers.filter((member) => memberOnline(member) && memberIsNotSelf(member)).filter((member) => currentObjectViewers.has(member.identity.identityKey)).map((member) => {
1322
- const objectView = currentObjectViewers.get(member.identity.identityKey);
1323
- const lastSeen = objectView?.lastSeen ?? -Infinity;
1324
- const currentlyAttended = objectView?.currentlyAttended ?? false;
1325
- return {
1326
- ...member,
1327
- currentlyAttended,
1328
- lastSeen
1329
- };
1330
- }).toSorted((a, b) => a.lastSeen - b.lastSeen);
1331
- return /* @__PURE__ */ import_react22.default.createElement(FullPresence, {
1332
- members: membersForObject
1333
- });
1334
- } finally {
1335
- _effect.f();
1336
- }
1337
- };
1338
- var FullPresence = (props) => {
1339
- var _effect = (0, import_tracking16.useSignals)();
1340
- try {
1341
- const { size = 9, onMemberClick } = props;
1342
- const members = (0, import_react_ui16.useDefaultValue)(props.members, () => []);
1343
- if (members.length === 0) {
1344
- return null;
1345
- }
1346
- return /* @__PURE__ */ import_react22.default.createElement("div", {
1347
- className: "dx-avatar-group",
1348
- "data-testid": "spacePlugin.presence"
1349
- }, members.slice(0, 3).map((member, i) => /* @__PURE__ */ import_react22.default.createElement(import_react_ui16.Tooltip.Trigger, {
1350
- key: member.identity.identityKey.toHex(),
1351
- side: "bottom",
1352
- content: getName(member.identity),
1353
- className: "grid focus:outline-none"
1354
- }, /* @__PURE__ */ import_react22.default.createElement(PresenceAvatar, {
1355
- identity: member.identity,
1356
- match: member.currentlyAttended,
1357
- index: members.length - i,
1358
- onClick: () => onMemberClick?.(member),
1359
- size
1360
- }))), members.length > 3 && /* @__PURE__ */ import_react22.default.createElement(import_react_ui16.Popover.Root, null, /* @__PURE__ */ import_react22.default.createElement(import_react_ui16.Popover.Trigger, {
1361
- className: "grid focus:outline-none"
1362
- }, /* @__PURE__ */ import_react22.default.createElement(import_react_ui16.Avatar.Root, null, /* @__PURE__ */ import_react22.default.createElement(import_react_ui16.Avatar.Content, {
1363
- status: "inactive",
1364
- style: {
1365
- zIndex: members.length - 4
1366
- },
1367
- fallback: `+${members.length - 3}`,
1368
- size
1369
- }))), /* @__PURE__ */ import_react22.default.createElement(import_react_ui16.Popover.Portal, null, /* @__PURE__ */ import_react22.default.createElement(import_react_ui16.Popover.Content, {
1370
- side: "bottom"
1371
- }, /* @__PURE__ */ import_react22.default.createElement(import_react_ui16.Popover.Arrow, null), /* @__PURE__ */ import_react22.default.createElement(import_react_ui16.Popover.Viewport, {
1372
- classNames: "max-bs-56"
1373
- }, /* @__PURE__ */ import_react22.default.createElement(import_react_ui16.List, null, members.map((member) => /* @__PURE__ */ import_react22.default.createElement(import_react_ui16.ListItem.Root, {
1374
- key: member.identity.identityKey.toHex(),
1375
- classNames: "flex gap-2 items-center cursor-pointer mbe-2",
1376
- onClick: () => onMemberClick?.(member),
1377
- "data-testid": "identity-list-item"
1378
- }, /* @__PURE__ */ import_react22.default.createElement(PresenceAvatar, {
1379
- identity: member.identity,
1380
- size,
1381
- showName: true,
1382
- match: member.currentlyAttended
1383
- })))))))));
1384
- } finally {
1385
- _effect.f();
1386
- }
1387
- };
1388
- var PresenceAvatar = /* @__PURE__ */ (0, import_react22.forwardRef)(({ identity, showName, match, index, onClick, size }, forwardedRef) => {
1389
- var _effect = (0, import_tracking16.useSignals)();
1390
- try {
1391
- const status = match ? "current" : "active";
1392
- const fallbackValue = (0, import_util4.keyToFallback)(identity.identityKey);
1393
- return /* @__PURE__ */ import_react22.default.createElement(import_react_ui16.Avatar.Root, null, /* @__PURE__ */ import_react22.default.createElement(import_react_ui16.Avatar.Content, {
1394
- status,
1395
- hue: identity.profile?.data?.hue || fallbackValue.hue,
1396
- "data-testid": "spacePlugin.presence.member",
1397
- "data-status": status,
1398
- size,
1399
- ...index ? {
1400
- style: {
1401
- zIndex: index
1402
- }
1403
- } : {},
1404
- onClick,
1405
- fallback: identity.profile?.data?.emoji || fallbackValue.emoji,
1406
- ref: forwardedRef
1407
- }), /* @__PURE__ */ import_react22.default.createElement(import_react_ui16.Avatar.Label, {
1408
- classNames: showName ? "text-sm truncate pli-2" : "sr-only"
1409
- }, getName(identity)));
1410
- } finally {
1411
- _effect.f();
1412
- }
1413
- });
1414
- var SmallPresenceLive = ({ id, open, viewers }) => {
1415
- var _effect = (0, import_tracking16.useSignals)();
1416
- try {
1417
- const { hasAttention, isAncestor, isRelated } = (0, import_react_ui_attention.useAttention)(id);
1418
- const isAttended = hasAttention || isAncestor || isRelated;
1419
- const { graph } = (0, import_app_framework10.useAppGraph)();
1420
- const attended = (0, import_react_ui_attention.useAttended)();
1421
- const startOfAttention = attended.at(-1);
1422
- const path = (0, import_chunk_5WLAXYE3.usePath)(graph, startOfAttention);
1423
- const containsAttended = !open && !isAttended && id && import_effect3.Option.isSome(path) ? path.value.includes(id) : false;
1424
- const getActiveViewers = (viewers2) => {
1425
- const moment = Date.now();
1426
- return Array.from(viewers2.values()).filter((viewer) => moment - viewer.lastSeen < ACTIVITY_DURATION);
1427
- };
1428
- const [activeViewers, setActiveViewers] = (0, import_react22.useState)(viewers ? getActiveViewers(viewers) : []);
1429
- (0, import_react22.useEffect)(() => {
1430
- if (viewers) {
1431
- setActiveViewers(getActiveViewers(viewers));
1432
- const interval = setInterval(() => {
1433
- setActiveViewers(getActiveViewers(viewers));
1434
- }, REFRESH_INTERVAL);
1435
- return () => clearInterval(interval);
1436
- }
1437
- }, [
1438
- viewers
1439
- ]);
1440
- return /* @__PURE__ */ import_react22.default.createElement(SmallPresence, {
1441
- count: activeViewers.length,
1442
- attended: isAttended,
1443
- containsAttended
1444
- });
1445
- } finally {
1446
- _effect.f();
1447
- }
1448
- };
1449
- var SmallPresence = ({ count = 0, attended, containsAttended }) => {
1450
- var _effect = (0, import_tracking16.useSignals)();
1451
- try {
1452
- const { t } = (0, import_react_ui16.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
1453
- return /* @__PURE__ */ import_react22.default.createElement(import_react_ui16.Tooltip.Trigger, {
1454
- asChild: true,
1455
- content: t("presence label", {
1456
- count
1457
- }),
1458
- side: "bottom"
1459
- }, /* @__PURE__ */ import_react22.default.createElement(import_react_ui_attention.AttentionGlyph, {
1460
- attended,
1461
- containsAttended,
1462
- presence: count > 1 ? "many" : count === 1 ? "one" : "none",
1463
- classNames: "self-center mie-1"
1464
- }));
1465
- } finally {
1466
- _effect.f();
1467
- }
1468
- };
1469
- var SpacePluginSettings = ({ settings }) => {
1470
- var _effect = (0, import_tracking17.useSignals)();
1471
- try {
1472
- const { t } = (0, import_react_ui17.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
1473
- const client = (0, import_react_client7.useClient)();
1474
- const spaces = (0, import_echo9.useSpaces)({
1475
- all: settings.showHidden
1476
- });
1477
- const { dispatchPromise: dispatch } = (0, import_app_framework11.useIntentDispatcher)();
1478
- return /* @__PURE__ */ import_react23.default.createElement(import_react_ui_form5.ControlPage, null, /* @__PURE__ */ import_react23.default.createElement(import_react_ui_form5.ControlSection, {
1479
- title: t("space settings label"),
1480
- description: t("space settings description")
1481
- }, /* @__PURE__ */ import_react23.default.createElement("div", {
1482
- className: "pli-trimMd container-max-width"
1483
- }, /* @__PURE__ */ import_react23.default.createElement(import_react_ui_form5.DeprecatedFormInput, {
1484
- label: t("show hidden spaces label")
1485
- }, /* @__PURE__ */ import_react23.default.createElement(import_react_ui17.Input.Switch, {
1486
- checked: settings.showHidden,
1487
- onCheckedChange: (checked) => settings.showHidden = !!checked
1488
- }))), /* @__PURE__ */ import_react23.default.createElement(import_react_ui17.List, {
1489
- classNames: [
1490
- import_react_ui_form5.controlItemClasses,
1491
- "flex flex-col gap-trimSm"
1492
- ]
1493
- }, spaces.map((space) => /* @__PURE__ */ import_react23.default.createElement(import_react_ui17.ListItem.Root, {
1494
- key: space.id,
1495
- classNames: "is-full items-center"
1496
- }, /* @__PURE__ */ import_react23.default.createElement(import_react_ui17.ListItem.Heading, {
1497
- classNames: "grow truncate !min-bs-0"
1498
- }, (0, import_react_ui17.toLocalizedString)((0, import_chunk_XHWVT7LW.getSpaceDisplayName)(space, {
1499
- personal: space === client.spaces.default
1500
- }), t)), /* @__PURE__ */ import_react23.default.createElement(import_react_ui17.IconButton, {
1501
- icon: "ph--faders--regular",
1502
- onClick: () => dispatch((0, import_app_framework11.createIntent)(import_chunk_ULJZPATP.SpaceAction.OpenSettings, {
1503
- space
1504
- })),
1505
- label: t("open space settings label")
1506
- }))))));
1507
- } finally {
1508
- _effect.f();
1509
- }
1510
- };
1511
- var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/SpaceSettings/SpaceSettingsContainer.tsx";
1512
- var FormSchema = import_chunk_ULJZPATP.SpaceForm.pipe(import_effect4.Schema.extend(import_effect4.Schema.Struct({
1513
- archived: import_effect4.Schema.Boolean.annotations({
1514
- title: "Archive space"
1515
- })
1516
- })));
1517
- var SpaceSettingsContainer = ({ space }) => {
1518
- var _effect = (0, import_tracking18.useSignals)();
1519
- try {
1520
- const { t } = (0, import_react_ui18.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
1521
- const { dispatchPromise: dispatch } = (0, import_app_framework12.useIntentDispatcher)();
1522
- const client = (0, import_react_client8.useClient)();
1523
- const archived = (0, import_react_ui18.useMulticastObservable)(space.state) === import_echo10.SpaceState.SPACE_INACTIVE;
1524
- const [edgeReplication, setEdgeReplication] = (0, import_react24.useState)(space.internal.data.edgeReplication === import_metadata.EdgeReplicationSetting.ENABLED);
1525
- const toggleEdgeReplication = (0, import_react24.useCallback)(async (next) => {
1526
- setEdgeReplication(next);
1527
- await space?.internal.setEdgeReplicationPreference(next ? import_metadata.EdgeReplicationSetting.ENABLED : import_metadata.EdgeReplicationSetting.DISABLED).catch((err) => {
1528
- import_log3.log.catch(err, void 0, {
1529
- F: __dxlog_file4,
1530
- L: 51,
1531
- S: void 0,
1532
- C: (f, a) => f(...a)
1533
- });
1534
- setEdgeReplication(!next);
1535
- });
1536
- }, [
1537
- space
1538
- ]);
1539
- const handleSave = (0, import_react24.useCallback)((properties) => {
1540
- void toggleEdgeReplication(properties.edgeReplication);
1541
- if (properties.name !== space.properties.name) {
1542
- space.properties.name = properties.name;
1543
- }
1544
- if (properties.icon !== space.properties.icon) {
1545
- space.properties.icon = properties.icon;
1546
- }
1547
- if (properties.hue !== space.properties.hue) {
1548
- space.properties.hue = properties.hue;
1549
- }
1550
- if (properties.archived && !archived) {
1551
- void dispatch((0, import_effect4.pipe)((0, import_app_framework12.createIntent)(import_chunk_ULJZPATP.SpaceAction.Close, {
1552
- space
1553
- }), (0, import_app_framework12.chain)(import_app_framework12.LayoutAction.SwitchWorkspace, {
1554
- part: "workspace",
1555
- subject: client.spaces.default.id
1556
- })));
1557
- } else if (!properties.archived && archived) {
1558
- void dispatch((0, import_app_framework12.createIntent)(import_chunk_ULJZPATP.SpaceAction.Open, {
1559
- space
1560
- }));
1561
- }
1562
- }, [
1563
- space,
1564
- toggleEdgeReplication,
1565
- archived
1566
- ]);
1567
- const values = (0, import_react24.useMemo)(() => ({
1568
- name: space.properties.name,
1569
- icon: space.properties.icon,
1570
- hue: space.properties.hue,
1571
- edgeReplication,
1572
- archived
1573
- }), [
1574
- space.properties.name,
1575
- space.properties.icon,
1576
- space.properties.hue,
1577
- edgeReplication,
1578
- archived
1579
- ]);
1580
- const customElements = (0, import_react24.useMemo)(() => ({
1581
- name: ({ type, label, getValue, onValueChange }) => {
1582
- const handleChange = (0, import_react24.useCallback)(({ target: { value } }) => onValueChange(type, value), [
1583
- onValueChange,
1584
- type
1585
- ]);
1586
- return /* @__PURE__ */ import_react24.default.createElement(import_react_ui_form6.ControlItemInput, {
1587
- title: label,
1588
- description: t("display name description")
1589
- }, /* @__PURE__ */ import_react24.default.createElement(import_react_ui18.Input.TextInput, {
1590
- value: getValue(),
1591
- onChange: handleChange,
1592
- placeholder: t("display name input placeholder"),
1593
- classNames: "min-is-64"
1594
- }));
1595
- },
1596
- icon: ({ type, label, getValue, onValueChange }) => {
1597
- const handleChange = (0, import_react24.useCallback)((nextEmoji) => onValueChange(type, nextEmoji), [
1598
- onValueChange,
1599
- type
1600
- ]);
1601
- const handleEmojiReset = (0, import_react24.useCallback)(() => onValueChange(type, void 0), [
1602
- onValueChange,
1603
- type
1604
- ]);
1605
- return /* @__PURE__ */ import_react24.default.createElement(import_react_ui_form6.ControlItem, {
1606
- title: label,
1607
- description: t("icon description")
1608
- }, /* @__PURE__ */ import_react24.default.createElement(import_react_ui_pickers.IconPicker, {
1609
- value: getValue(),
1610
- onChange: handleChange,
1611
- onReset: handleEmojiReset,
1612
- classNames: "justify-self-end",
1613
- iconSize: 5
1614
- }));
1615
- },
1616
- hue: ({ type, label, getValue, onValueChange }) => {
1617
- const handleChange = (0, import_react24.useCallback)((nextHue) => onValueChange(type, nextHue), [
1618
- onValueChange,
1619
- type
1620
- ]);
1621
- const handleHueReset = (0, import_react24.useCallback)(() => onValueChange(type, void 0), [
1622
- onValueChange,
1623
- type
1624
- ]);
1625
- return /* @__PURE__ */ import_react24.default.createElement(import_react_ui_form6.ControlItem, {
1626
- title: label,
1627
- description: t("hue description")
1628
- }, /* @__PURE__ */ import_react24.default.createElement(import_react_ui_pickers.HuePicker, {
1629
- value: getValue(),
1630
- onChange: handleChange,
1631
- onReset: handleHueReset,
1632
- classNames: "[--hue-preview-size:1.25rem] justify-self-end"
1633
- }));
1634
- },
1635
- edgeReplication: ({ type, label, getValue, onValueChange }) => {
1636
- const handleChange = (0, import_react24.useCallback)((checked) => onValueChange(type, checked), [
1637
- onValueChange,
1638
- type
1639
- ]);
1640
- return /* @__PURE__ */ import_react24.default.createElement(import_react_ui_form6.ControlItemInput, {
1641
- title: label,
1642
- description: t("edge replication description")
1643
- }, /* @__PURE__ */ import_react24.default.createElement(import_react_ui18.Input.Switch, {
1644
- checked: getValue(),
1645
- onCheckedChange: handleChange,
1646
- classNames: "justify-self-end"
1647
- }));
1648
- },
1649
- archived: ({ type, label, getValue, onValueChange }) => {
1650
- const handleChange = (0, import_react24.useCallback)(() => onValueChange(type, !getValue()), [
1651
- onValueChange,
1652
- type,
1653
- getValue
1654
- ]);
1655
- return /* @__PURE__ */ import_react24.default.createElement(import_react_ui_form6.ControlItemInput, {
1656
- title: label,
1657
- description: t("archive space description")
1658
- }, /* @__PURE__ */ import_react24.default.createElement(import_react_ui18.Button, {
1659
- disabled: space === client.spaces.default,
1660
- onClick: handleChange
1661
- }, getValue() ? t("unarchive space label") : t("archive space label")));
1662
- }
1663
- }), [
1664
- t,
1665
- space
1666
- ]);
1667
- return /* @__PURE__ */ import_react24.default.createElement(import_react_ui_stack7.StackItem.Content, {
1668
- classNames: "block overflow-y-auto pli-2"
1669
- }, /* @__PURE__ */ import_react24.default.createElement(import_react_ui_form6.ControlPage, null, /* @__PURE__ */ import_react24.default.createElement(import_react_ui_form6.ControlSection, {
1670
- title: t("space properties settings verbose label", {
1671
- ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
1672
- }),
1673
- description: t("space properties settings description", {
1674
- ns: import_chunk_6P2DB4QQ.SPACE_PLUGIN
1675
- })
1676
- }, /* @__PURE__ */ import_react24.default.createElement(import_react_ui_form6.Form, {
1677
- schema: FormSchema,
1678
- values,
1679
- autoSave: true,
1680
- onSave: handleSave,
1681
- Custom: customElements,
1682
- outerSpacing: false,
1683
- classNames: "container-max-width grid grid-cols-1 md:grid-cols-[1fr_min-content] gap-4"
1684
- }))));
1685
- } finally {
1686
- _effect.f();
1687
- }
1688
- };
1689
- var useEdgeStatus = () => {
1690
- const [status, setStatus] = (0, import_react25.useState)(import_services.EdgeStatus.NOT_CONNECTED);
1691
- const client = (0, import_react_client9.useClient)();
1692
- (0, import_react25.useEffect)(() => {
1693
- client.services.services.EdgeAgentService?.queryEdgeStatus().subscribe(({ status: status2 }) => {
1694
- setStatus(status2);
1695
- });
1696
- }, [
1697
- client
1698
- ]);
1699
- return status;
1700
- };
1701
- var InlineSyncStatus = ({ space, open }) => {
1702
- var _effect = (0, import_tracking19.useSignals)();
1703
- try {
1704
- const { t } = (0, import_react_ui19.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
1705
- const id = space.id;
1706
- const { hasAttention, isAncestor, isRelated } = (0, import_react_ui_attention2.useAttention)(id);
1707
- const isAttended = hasAttention || isAncestor || isRelated;
1708
- const { graph } = (0, import_app_framework13.useAppGraph)();
1709
- const attended = (0, import_react_ui_attention2.useAttended)();
1710
- const startOfAttention = attended.at(-1);
1711
- const path = (0, import_chunk_5WLAXYE3.usePath)(graph, startOfAttention);
1712
- const containsAttended = !open && !isAttended && id && import_effect5.Option.isSome(path) ? path.value.includes(id) : false;
1713
- const connectedToEdge = useEdgeStatus() === import_services.EdgeStatus.CONNECTED;
1714
- const edgeSyncEnabled = space.internal.data.edgeReplication === import_metadata2.EdgeReplicationSetting.ENABLED;
1715
- const syncState = (0, import_echo11.useSpaceSyncState)(space);
1716
- const syncing = connectedToEdge && edgeSyncEnabled && syncState && syncState.missingOnLocal > 0;
1717
- return /* @__PURE__ */ import_react25.default.createElement(import_react_ui19.Tooltip.Trigger, {
1718
- asChild: true,
1719
- content: t("syncing label"),
1720
- side: "bottom"
1721
- }, /* @__PURE__ */ import_react25.default.createElement(import_react_ui_attention2.AttentionGlyph, {
1722
- syncing,
1723
- attended: isAttended,
1724
- containsAttended,
1725
- classNames: "self-center mie-1"
1726
- }));
1727
- } finally {
1728
- _effect.f();
1729
- }
1730
- };
1731
- var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/plugins/plugin-space/src/components/SyncStatus/save-tracker.ts";
1732
- var createClientSaveTracker = (client, cb) => {
1733
- const CleanupFns = {};
1734
- const state = {};
1735
- const install = (spaces) => {
1736
- for (const space of spaces) {
1737
- if (state[space.id]) {
1738
- continue;
1739
- }
1740
- state[space.id] = "saved";
1741
- CleanupFns[space.id] = createSpaceSaveTracker(space, (s) => {
1742
- state[space.id] = s;
1743
- cb(Object.values(state).some((s2) => s2 === "saving") ? "saving" : "saved");
1744
- });
1745
- }
1746
- };
1747
- client.spaces.subscribe((spaces) => {
1748
- install(spaces);
1749
- });
1750
- install(client.spaces.get());
1751
- return () => {
1752
- for (const unsubscribe of Object.values(CleanupFns)) {
1753
- unsubscribe();
1754
- }
1755
- };
1756
- };
1757
- var createSpaceSaveTracker = (space, cb) => {
1758
- const ctx = new import_context.Context(void 0, {
1759
- F: __dxlog_file5,
1760
- L: 40
1761
- });
1762
- void space.waitUntilReady().then(() => {
1763
- if (ctx.disposed) {
1764
- return;
1765
- }
1766
- let hasUnsavedChanges = false;
1767
- let lastFlushPromise;
1768
- space.crud.saveStateChanged.on(ctx, ({ unsavedDocuments }) => {
1769
- hasUnsavedChanges = unsavedDocuments.length > 0;
1770
- });
1771
- space.crud.saveStateChanged.debounce(500).on(ctx, () => {
1772
- if (hasUnsavedChanges) {
1773
- lastFlushPromise = void 0;
1774
- cb("saving");
1775
- } else {
1776
- const flushPromise = space.crud.flush();
1777
- lastFlushPromise = flushPromise;
1778
- void flushPromise.then(() => {
1779
- if (lastFlushPromise === flushPromise) {
1780
- cb("saved");
1781
- }
1782
- });
1783
- }
1784
- });
1785
- });
1786
- return () => {
1787
- void ctx.dispose();
1788
- };
1789
- };
1790
- var getStatus = ({ offline, saved, needsToUpload, needsToDownload }) => {
1791
- if (!saved) {
1792
- return "saving locally";
1793
- } else if (!offline && needsToDownload) {
1794
- return "downloading";
1795
- } else if (!offline && needsToUpload) {
1796
- return "uploading";
1797
- } else if (offline && !needsToUpload && !needsToDownload) {
1798
- return "offline persisted";
1799
- } else {
1800
- return "remote synced";
1801
- }
1802
- };
1803
- var getIcon = (status) => {
1804
- switch (status) {
1805
- case "saving locally":
1806
- return "ph--download--regular";
1807
- case "downloading":
1808
- return "ph--cloud-arrow-down--regular";
1809
- case "uploading":
1810
- return "ph--cloud-arrow-up--regular";
1811
- case "offline persisted":
1812
- return "ph--check-circle--regular";
1813
- case "remote synced":
1814
- return "ph--cloud-check--regular";
1815
- }
1816
- };
1817
- var SYNC_STALLED_TIMEOUT = 5e3;
1818
- var SyncStatus = () => {
1819
- var _effect = (0, import_tracking20.useSignals)();
1820
- try {
1821
- const client = (0, import_react_client10.useClient)();
1822
- const state = (0, import_echo12.useSyncState)();
1823
- const [saved, setSaved] = (0, import_react26.useState)(true);
1824
- (0, import_react26.useEffect)(() => {
1825
- return createClientSaveTracker(client, (state2) => {
1826
- setSaved(state2 === "saved");
1827
- });
1828
- }, []);
1829
- return /* @__PURE__ */ import_react26.default.createElement(SyncStatusIndicator, {
1830
- state,
1831
- saved
1832
- });
1833
- } finally {
1834
- _effect.f();
1835
- }
1836
- };
1837
- var SyncStatusIndicator = ({ state, saved }) => {
1838
- var _effect = (0, import_tracking20.useSignals)();
1839
- try {
1840
- const { t } = (0, import_react_ui20.useTranslation)(import_chunk_6P2DB4QQ.SPACE_PLUGIN);
1841
- const summary = (0, import_echo12.getSyncSummary)(state);
1842
- const offline = Object.values(state).length === 0;
1843
- const needsToUpload = summary.differentDocuments > 0 || summary.missingOnRemote > 0;
1844
- const needsToDownload = summary.differentDocuments > 0 || summary.missingOnLocal > 0;
1845
- const status = getStatus({
1846
- offline,
1847
- saved,
1848
- needsToUpload,
1849
- needsToDownload
1850
- });
1851
- const [classNames, setClassNames] = (0, import_react26.useState)();
1852
- (0, import_react26.useEffect)(() => {
1853
- setClassNames(void 0);
1854
- if (offline || !needsToUpload && !needsToDownload) {
1855
- return;
1856
- }
1857
- const t2 = setTimeout(() => {
1858
- setClassNames("text-orange-500");
1859
- }, SYNC_STALLED_TIMEOUT);
1860
- return () => clearTimeout(t2);
1861
- }, [
1862
- offline,
1863
- needsToUpload,
1864
- needsToDownload
1865
- ]);
1866
- const title = t(`${status} label`);
1867
- const icon = /* @__PURE__ */ import_react26.default.createElement(import_react_ui20.Icon, {
1868
- icon: getIcon(status),
1869
- size: 4,
1870
- classNames
1871
- });
1872
- return /* @__PURE__ */ import_react26.default.createElement(import_plugin_status_bar.StatusBar.Item, {
1873
- title
1874
- }, icon);
1875
- } finally {
1876
- _effect.f();
1877
- }
1878
- };
1879
- // Annotate the CommonJS export names for ESM import in node:
1880
- 0 && (module.exports = {
1881
- AppGraphBuilder,
1882
- AppGraphSerializer,
1883
- AwaitingObject,
1884
- CREATE_OBJECT_DIALOG,
1885
- CREATE_SPACE_DIALOG,
1886
- CollectionMain,
1887
- CollectionSection,
1888
- CreateObjectDialog,
1889
- CreateSpaceDialog,
1890
- FullPresence,
1891
- IdentityCreated,
1892
- InlineSyncStatus,
1893
- IntentResolver,
1894
- JOIN_DIALOG,
1895
- JoinDialog,
1896
- MembersContainer,
1897
- MenuFooter,
1898
- ObjectSettingsContainer,
1899
- POPOVER_RENAME_OBJECT,
1900
- POPOVER_RENAME_SPACE,
1901
- PersistenceStatus,
1902
- PopoverRenameObject,
1903
- PopoverRenameSpace,
1904
- ReactRoot,
1905
- ReactSurface,
1906
- SchemaContainer,
1907
- SchemaDefs,
1908
- SchemaTools,
1909
- SmallPresence,
1910
- SmallPresenceLive,
1911
- SpacePluginSettings,
1912
- SpacePresence,
1913
- SpaceSettings,
1914
- SpaceSettingsContainer,
1915
- SpaceState,
1916
- SpacesReady,
1917
- SyncStatus,
1918
- SyncStatusIndicator,
1919
- useQuerySpaceSchemas
1920
- });
1921
- //# sourceMappingURL=chunk-NCHF433F.cjs.map