@dxos/plugin-space 0.8.4-main.84f28bd → 0.8.4-main.937b3ca

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 (622) hide show
  1. package/dist/lib/browser/CollectionArticle-XPNA6EHZ.mjs +129 -0
  2. package/dist/lib/browser/CollectionArticle-XPNA6EHZ.mjs.map +7 -0
  3. package/dist/lib/browser/ObjectCardStack-TWHN6C2Y.mjs +148 -0
  4. package/dist/lib/browser/ObjectCardStack-TWHN6C2Y.mjs.map +7 -0
  5. package/dist/lib/browser/ObjectDetails-GEDIISKK.mjs +142 -0
  6. package/dist/lib/browser/ObjectDetails-GEDIISKK.mjs.map +7 -0
  7. package/dist/lib/browser/RecordArticle-W57QE7QV.mjs +107 -0
  8. package/dist/lib/browser/RecordArticle-W57QE7QV.mjs.map +7 -0
  9. package/dist/lib/browser/app-graph-builder-SJHTZXZF.mjs +523 -0
  10. package/dist/lib/browser/app-graph-builder-SJHTZXZF.mjs.map +7 -0
  11. package/dist/lib/browser/app-graph-serializer-7AT7QMSK.mjs +84 -0
  12. package/dist/lib/browser/app-graph-serializer-7AT7QMSK.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-3X2EA2OA.mjs +1898 -0
  14. package/dist/lib/browser/chunk-3X2EA2OA.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-4WZUGLQQ.mjs +117 -0
  16. package/dist/lib/browser/chunk-4WZUGLQQ.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-ASV6DYFH.mjs +19 -0
  18. package/dist/lib/browser/chunk-ASV6DYFH.mjs.map +7 -0
  19. package/dist/lib/browser/chunk-AWVAX26X.mjs +13 -0
  20. package/dist/lib/browser/chunk-AWVAX26X.mjs.map +7 -0
  21. package/dist/lib/browser/chunk-CCRSHECL.mjs +714 -0
  22. package/dist/lib/browser/chunk-CCRSHECL.mjs.map +7 -0
  23. package/dist/lib/browser/chunk-HSMQFM57.mjs +16 -0
  24. package/dist/lib/browser/chunk-HSMQFM57.mjs.map +7 -0
  25. package/dist/lib/browser/chunk-SUI34XSA.mjs +772 -0
  26. package/dist/lib/browser/chunk-SUI34XSA.mjs.map +7 -0
  27. package/dist/lib/browser/{chunk-6VLSHG4A.mjs → chunk-ZT2VPYRM.mjs} +105 -36
  28. package/dist/lib/browser/chunk-ZT2VPYRM.mjs.map +7 -0
  29. package/dist/lib/browser/cli/index.mjs +849 -0
  30. package/dist/lib/browser/cli/index.mjs.map +7 -0
  31. package/dist/lib/browser/identity-created-VCFYLSBB.mjs +23 -0
  32. package/dist/lib/browser/identity-created-VCFYLSBB.mjs.map +7 -0
  33. package/dist/lib/browser/index.mjs +243 -180
  34. package/dist/lib/browser/index.mjs.map +4 -4
  35. package/dist/lib/browser/meta.json +1 -1
  36. package/dist/lib/browser/operation-resolver-SIRQT36Z.mjs +827 -0
  37. package/dist/lib/browser/operation-resolver-SIRQT36Z.mjs.map +7 -0
  38. package/dist/lib/browser/react-root-PI7VTZUZ.mjs +30 -0
  39. package/dist/lib/browser/react-root-PI7VTZUZ.mjs.map +7 -0
  40. package/dist/lib/browser/react-surface-BPE7VWI7.mjs +382 -0
  41. package/dist/lib/browser/react-surface-BPE7VWI7.mjs.map +7 -0
  42. package/dist/lib/browser/repair-CJG26D52.mjs +50 -0
  43. package/dist/lib/browser/repair-CJG26D52.mjs.map +7 -0
  44. package/dist/lib/browser/settings-ZS2AQ73E.mjs +33 -0
  45. package/dist/lib/browser/settings-ZS2AQ73E.mjs.map +7 -0
  46. package/dist/lib/browser/spaces-ready-OQDGWUOS.mjs +242 -0
  47. package/dist/lib/browser/spaces-ready-OQDGWUOS.mjs.map +7 -0
  48. package/dist/lib/browser/state-7YZQB2KY.mjs +58 -0
  49. package/dist/lib/browser/state-7YZQB2KY.mjs.map +7 -0
  50. package/dist/lib/browser/types/index.mjs +18 -10
  51. package/dist/lib/node-esm/CollectionArticle-WGHNZNO2.mjs +130 -0
  52. package/dist/lib/node-esm/CollectionArticle-WGHNZNO2.mjs.map +7 -0
  53. package/dist/lib/node-esm/ObjectCardStack-C5ZXRKP7.mjs +149 -0
  54. package/dist/lib/node-esm/ObjectCardStack-C5ZXRKP7.mjs.map +7 -0
  55. package/dist/lib/node-esm/ObjectDetails-6ZLDRKCO.mjs +143 -0
  56. package/dist/lib/node-esm/ObjectDetails-6ZLDRKCO.mjs.map +7 -0
  57. package/dist/lib/node-esm/RecordArticle-SSV74Z46.mjs +108 -0
  58. package/dist/lib/node-esm/RecordArticle-SSV74Z46.mjs.map +7 -0
  59. package/dist/lib/node-esm/app-graph-builder-HZ3XXDFZ.mjs +524 -0
  60. package/dist/lib/node-esm/app-graph-builder-HZ3XXDFZ.mjs.map +7 -0
  61. package/dist/lib/node-esm/app-graph-serializer-WJ2TIQG6.mjs +85 -0
  62. package/dist/lib/node-esm/app-graph-serializer-WJ2TIQG6.mjs.map +7 -0
  63. package/dist/lib/node-esm/{chunk-SXD6T2N4.mjs → chunk-2SW6S2BB.mjs} +105 -36
  64. package/dist/lib/node-esm/chunk-2SW6S2BB.mjs.map +7 -0
  65. package/dist/lib/node-esm/chunk-7KMYUWSR.mjs +773 -0
  66. package/dist/lib/node-esm/chunk-7KMYUWSR.mjs.map +7 -0
  67. package/dist/lib/node-esm/chunk-CVXULIYC.mjs +20 -0
  68. package/dist/lib/node-esm/chunk-CVXULIYC.mjs.map +7 -0
  69. package/dist/lib/node-esm/chunk-EYS3L2NO.mjs +1899 -0
  70. package/dist/lib/node-esm/chunk-EYS3L2NO.mjs.map +7 -0
  71. package/dist/lib/node-esm/chunk-HREWB23G.mjs +15 -0
  72. package/dist/lib/node-esm/chunk-HREWB23G.mjs.map +7 -0
  73. package/dist/lib/node-esm/chunk-JOBIWCBC.mjs +118 -0
  74. package/dist/lib/node-esm/chunk-JOBIWCBC.mjs.map +7 -0
  75. package/dist/lib/node-esm/chunk-MPL6NHQX.mjs +715 -0
  76. package/dist/lib/node-esm/chunk-MPL6NHQX.mjs.map +7 -0
  77. package/dist/lib/node-esm/chunk-SL4BJSUG.mjs +18 -0
  78. package/dist/lib/node-esm/chunk-SL4BJSUG.mjs.map +7 -0
  79. package/dist/lib/node-esm/cli/index.mjs +850 -0
  80. package/dist/lib/node-esm/cli/index.mjs.map +7 -0
  81. package/dist/lib/node-esm/identity-created-2SJABVJD.mjs +25 -0
  82. package/dist/lib/node-esm/identity-created-2SJABVJD.mjs.map +7 -0
  83. package/dist/lib/node-esm/index.mjs +243 -180
  84. package/dist/lib/node-esm/index.mjs.map +4 -4
  85. package/dist/lib/node-esm/meta.json +1 -1
  86. package/dist/lib/node-esm/operation-resolver-ZE3XJL5J.mjs +828 -0
  87. package/dist/lib/node-esm/operation-resolver-ZE3XJL5J.mjs.map +7 -0
  88. package/dist/lib/node-esm/react-root-KUXM33JI.mjs +31 -0
  89. package/dist/lib/node-esm/react-root-KUXM33JI.mjs.map +7 -0
  90. package/dist/lib/node-esm/react-surface-STCQKUZ4.mjs +383 -0
  91. package/dist/lib/node-esm/react-surface-STCQKUZ4.mjs.map +7 -0
  92. package/dist/lib/node-esm/repair-G3ZW3VG3.mjs +51 -0
  93. package/dist/lib/node-esm/repair-G3ZW3VG3.mjs.map +7 -0
  94. package/dist/lib/node-esm/settings-PVI2VG56.mjs +34 -0
  95. package/dist/lib/node-esm/settings-PVI2VG56.mjs.map +7 -0
  96. package/dist/lib/node-esm/spaces-ready-R744OHQG.mjs +243 -0
  97. package/dist/lib/node-esm/spaces-ready-R744OHQG.mjs.map +7 -0
  98. package/dist/lib/node-esm/state-XE5YGPHM.mjs +59 -0
  99. package/dist/lib/node-esm/state-XE5YGPHM.mjs.map +7 -0
  100. package/dist/lib/node-esm/types/index.mjs +18 -10
  101. package/dist/types/src/SpacePlugin.d.ts +3 -15
  102. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  103. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
  104. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
  105. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
  106. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
  107. package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts +5 -0
  108. package/dist/types/src/capabilities/app-graph-serializer/app-graph-serializer.d.ts.map +1 -0
  109. package/dist/types/src/capabilities/app-graph-serializer/index.d.ts +3 -0
  110. package/dist/types/src/capabilities/app-graph-serializer/index.d.ts.map +1 -0
  111. package/dist/types/src/capabilities/identity-created/identity-created.d.ts +5 -0
  112. package/dist/types/src/capabilities/identity-created/identity-created.d.ts.map +1 -0
  113. package/dist/types/src/capabilities/identity-created/index.d.ts +3 -0
  114. package/dist/types/src/capabilities/identity-created/index.d.ts.map +1 -0
  115. package/dist/types/src/capabilities/index.d.ts +10 -21
  116. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  117. package/dist/types/src/capabilities/operation-resolver/index.d.ts +6 -0
  118. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
  119. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +9 -0
  120. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
  121. package/dist/types/src/capabilities/react-root/index.d.ts +6 -0
  122. package/dist/types/src/capabilities/react-root/index.d.ts.map +1 -0
  123. package/dist/types/src/capabilities/react-root/react-root.d.ts +9 -0
  124. package/dist/types/src/capabilities/react-root/react-root.d.ts.map +1 -0
  125. package/dist/types/src/capabilities/react-surface/index.d.ts +5 -0
  126. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  127. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +8 -0
  128. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  129. package/dist/types/src/capabilities/repair/index.d.ts +3 -0
  130. package/dist/types/src/capabilities/repair/index.d.ts.map +1 -0
  131. package/dist/types/src/capabilities/repair/repair.d.ts +6 -0
  132. package/dist/types/src/capabilities/repair/repair.d.ts.map +1 -0
  133. package/dist/types/src/capabilities/settings/index.d.ts +7 -0
  134. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
  135. package/dist/types/src/capabilities/settings/settings.d.ts +9 -0
  136. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
  137. package/dist/types/src/capabilities/spaces-ready/index.d.ts +3 -0
  138. package/dist/types/src/capabilities/spaces-ready/index.d.ts.map +1 -0
  139. package/dist/types/src/capabilities/spaces-ready/spaces-ready.d.ts +5 -0
  140. package/dist/types/src/capabilities/spaces-ready/spaces-ready.d.ts.map +1 -0
  141. package/dist/types/src/capabilities/state/index.d.ts +13 -0
  142. package/dist/types/src/capabilities/state/index.d.ts.map +1 -0
  143. package/dist/types/src/capabilities/state/state.d.ts +17 -0
  144. package/dist/types/src/capabilities/state/state.d.ts.map +1 -0
  145. package/dist/types/src/cli/commands/database/add.d.ts +17 -0
  146. package/dist/types/src/cli/commands/database/add.d.ts.map +1 -0
  147. package/dist/types/src/cli/commands/database/index.d.ts +3 -0
  148. package/dist/types/src/cli/commands/database/index.d.ts.map +1 -0
  149. package/dist/types/src/cli/commands/database/query/index.d.ts +2 -0
  150. package/dist/types/src/cli/commands/database/query/index.d.ts.map +1 -0
  151. package/dist/types/src/cli/commands/database/query/query.d.ts +13 -0
  152. package/dist/types/src/cli/commands/database/query/query.d.ts.map +1 -0
  153. package/dist/types/src/cli/commands/database/query/query.test.d.ts +2 -0
  154. package/dist/types/src/cli/commands/database/query/query.test.d.ts.map +1 -0
  155. package/dist/types/src/cli/commands/database/remove.d.ts +9 -0
  156. package/dist/types/src/cli/commands/database/remove.d.ts.map +1 -0
  157. package/dist/types/src/cli/commands/database/stats.d.ts +6 -0
  158. package/dist/types/src/cli/commands/database/stats.d.ts.map +1 -0
  159. package/dist/types/src/cli/commands/database/util.d.ts +14 -0
  160. package/dist/types/src/cli/commands/database/util.d.ts.map +1 -0
  161. package/dist/types/src/cli/commands/index.d.ts +4 -0
  162. package/dist/types/src/cli/commands/index.d.ts.map +1 -0
  163. package/dist/types/src/cli/commands/queue/index.d.ts +7 -0
  164. package/dist/types/src/cli/commands/queue/index.d.ts.map +1 -0
  165. package/dist/types/src/cli/commands/queue/query.d.ts +8 -0
  166. package/dist/types/src/cli/commands/queue/query.d.ts.map +1 -0
  167. package/dist/types/src/cli/commands/queue/util.d.ts +6 -0
  168. package/dist/types/src/cli/commands/queue/util.d.ts.map +1 -0
  169. package/dist/types/src/cli/commands/space/close/close.d.ts +12 -0
  170. package/dist/types/src/cli/commands/space/close/close.d.ts.map +1 -0
  171. package/dist/types/src/cli/commands/space/close/index.d.ts +2 -0
  172. package/dist/types/src/cli/commands/space/close/index.d.ts.map +1 -0
  173. package/dist/types/src/cli/commands/space/create/create.d.ts +12 -0
  174. package/dist/types/src/cli/commands/space/create/create.d.ts.map +1 -0
  175. package/dist/types/src/cli/commands/space/create/create.test.d.ts +2 -0
  176. package/dist/types/src/cli/commands/space/create/create.test.d.ts.map +1 -0
  177. package/dist/types/src/cli/commands/space/create/index.d.ts +2 -0
  178. package/dist/types/src/cli/commands/space/create/index.d.ts.map +1 -0
  179. package/dist/types/src/cli/commands/space/index.d.ts +31 -0
  180. package/dist/types/src/cli/commands/space/index.d.ts.map +1 -0
  181. package/dist/types/src/cli/commands/space/info/index.d.ts +2 -0
  182. package/dist/types/src/cli/commands/space/info/index.d.ts.map +1 -0
  183. package/dist/types/src/cli/commands/space/info/info.d.ts +13 -0
  184. package/dist/types/src/cli/commands/space/info/info.d.ts.map +1 -0
  185. package/dist/types/src/cli/commands/space/info/info.test.d.ts +2 -0
  186. package/dist/types/src/cli/commands/space/info/info.test.d.ts.map +1 -0
  187. package/dist/types/src/cli/commands/space/join/index.d.ts +2 -0
  188. package/dist/types/src/cli/commands/space/join/index.d.ts.map +1 -0
  189. package/dist/types/src/cli/commands/space/join/join.d.ts +14 -0
  190. package/dist/types/src/cli/commands/space/join/join.d.ts.map +1 -0
  191. package/dist/types/src/cli/commands/space/join/util.d.ts +17 -0
  192. package/dist/types/src/cli/commands/space/join/util.d.ts.map +1 -0
  193. package/dist/types/src/cli/commands/space/list/index.d.ts +2 -0
  194. package/dist/types/src/cli/commands/space/list/index.d.ts.map +1 -0
  195. package/dist/types/src/cli/commands/space/list/list.d.ts +7 -0
  196. package/dist/types/src/cli/commands/space/list/list.d.ts.map +1 -0
  197. package/dist/types/src/cli/commands/space/list/list.test.d.ts +2 -0
  198. package/dist/types/src/cli/commands/space/list/list.test.d.ts.map +1 -0
  199. package/dist/types/src/cli/commands/space/members/index.d.ts +2 -0
  200. package/dist/types/src/cli/commands/space/members/index.d.ts.map +1 -0
  201. package/dist/types/src/cli/commands/space/members/members.d.ts +13 -0
  202. package/dist/types/src/cli/commands/space/members/members.d.ts.map +1 -0
  203. package/dist/types/src/cli/commands/space/members/members.test.d.ts +2 -0
  204. package/dist/types/src/cli/commands/space/members/members.test.d.ts.map +1 -0
  205. package/dist/types/src/cli/commands/space/members/util.d.ts +9 -0
  206. package/dist/types/src/cli/commands/space/members/util.d.ts.map +1 -0
  207. package/dist/types/src/cli/commands/space/open/index.d.ts +2 -0
  208. package/dist/types/src/cli/commands/space/open/index.d.ts.map +1 -0
  209. package/dist/types/src/cli/commands/space/open/open.d.ts +12 -0
  210. package/dist/types/src/cli/commands/space/open/open.d.ts.map +1 -0
  211. package/dist/types/src/cli/commands/space/schema/index.d.ts +8 -0
  212. package/dist/types/src/cli/commands/space/schema/index.d.ts.map +1 -0
  213. package/dist/types/src/cli/commands/space/schema/list/index.d.ts +2 -0
  214. package/dist/types/src/cli/commands/space/schema/list/index.d.ts.map +1 -0
  215. package/dist/types/src/cli/commands/space/schema/list/list.d.ts +15 -0
  216. package/dist/types/src/cli/commands/space/schema/list/list.d.ts.map +1 -0
  217. package/dist/types/src/cli/commands/space/schema/list/list.test.d.ts +2 -0
  218. package/dist/types/src/cli/commands/space/schema/list/list.test.d.ts.map +1 -0
  219. package/dist/types/src/cli/commands/space/schema/list/util.d.ts +15 -0
  220. package/dist/types/src/cli/commands/space/schema/list/util.d.ts.map +1 -0
  221. package/dist/types/src/cli/commands/space/share/index.d.ts +2 -0
  222. package/dist/types/src/cli/commands/space/share/index.d.ts.map +1 -0
  223. package/dist/types/src/cli/commands/space/share/share.d.ts +19 -0
  224. package/dist/types/src/cli/commands/space/share/share.d.ts.map +1 -0
  225. package/dist/types/src/cli/commands/space/sync/index.d.ts +2 -0
  226. package/dist/types/src/cli/commands/space/sync/index.d.ts.map +1 -0
  227. package/dist/types/src/cli/commands/space/sync/sync.d.ts +6 -0
  228. package/dist/types/src/cli/commands/space/sync/sync.d.ts.map +1 -0
  229. package/dist/types/src/cli/commands/space/sync/sync.test.d.ts +2 -0
  230. package/dist/types/src/cli/commands/space/sync/sync.test.d.ts.map +1 -0
  231. package/dist/types/src/cli/index.d.ts +2 -0
  232. package/dist/types/src/cli/index.d.ts.map +1 -0
  233. package/dist/types/src/cli/plugin.d.ts +4 -0
  234. package/dist/types/src/cli/plugin.d.ts.map +1 -0
  235. package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
  236. package/dist/types/src/components/CollectionArticle.d.ts +9 -0
  237. package/dist/types/src/components/CollectionArticle.d.ts.map +1 -0
  238. package/dist/types/src/components/CollectionSection.d.ts +3 -4
  239. package/dist/types/src/components/CollectionSection.d.ts.map +1 -1
  240. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +6 -5
  241. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  242. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +1602 -8
  243. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  244. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +20 -10
  245. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  246. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts +1 -1
  247. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  248. package/dist/types/src/components/{JoinDialog.d.ts → JoinDialog/JoinDialog.d.ts} +1 -1
  249. package/dist/types/src/components/JoinDialog/JoinDialog.d.ts.map +1 -0
  250. package/dist/types/src/components/JoinDialog/index.d.ts +2 -0
  251. package/dist/types/src/components/JoinDialog/index.d.ts.map +1 -0
  252. package/dist/types/src/components/{MembersContainer.d.ts → MembersContainer/MembersContainer.d.ts} +3 -2
  253. package/dist/types/src/components/MembersContainer/MembersContainer.d.ts.map +1 -0
  254. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts +1600 -0
  255. package/dist/types/src/components/MembersContainer/MembersContainer.stories.d.ts.map +1 -0
  256. package/dist/types/src/components/MembersContainer/index.d.ts +2 -0
  257. package/dist/types/src/components/MembersContainer/index.d.ts.map +1 -0
  258. package/dist/types/src/components/MenuFooter.d.ts +1 -1
  259. package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
  260. package/dist/types/src/components/ObjectCardStack/ObjectCardStack.d.ts +8 -0
  261. package/dist/types/src/components/ObjectCardStack/ObjectCardStack.d.ts.map +1 -0
  262. package/dist/types/src/components/ObjectCardStack/ObjectForm.d.ts +9 -0
  263. package/dist/types/src/components/ObjectCardStack/ObjectForm.d.ts.map +1 -0
  264. package/dist/types/src/components/ObjectCardStack/index.d.ts +3 -0
  265. package/dist/types/src/components/ObjectCardStack/index.d.ts.map +1 -0
  266. package/dist/types/src/components/{ObjectSettings → ObjectDetails}/BaseObjectSettings.d.ts +3 -3
  267. package/dist/types/src/components/ObjectDetails/BaseObjectSettings.d.ts.map +1 -0
  268. package/dist/types/src/components/ObjectDetails/BaseObjectSettings.stories.d.ts +1433 -0
  269. package/dist/types/src/components/ObjectDetails/BaseObjectSettings.stories.d.ts.map +1 -0
  270. package/dist/types/src/components/ObjectDetails/ForeignKeys.d.ts +8 -0
  271. package/dist/types/src/components/ObjectDetails/ForeignKeys.d.ts.map +1 -0
  272. package/dist/types/src/components/ObjectDetails/ObjectDetails.d.ts +9 -0
  273. package/dist/types/src/components/ObjectDetails/ObjectDetails.d.ts.map +1 -0
  274. package/dist/types/src/components/ObjectDetails/index.d.ts +3 -0
  275. package/dist/types/src/components/ObjectDetails/index.d.ts.map +1 -0
  276. package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts +7 -0
  277. package/dist/types/src/components/ObjectRenamePopover/ObjectRenamePopover.d.ts.map +1 -0
  278. package/dist/types/src/components/ObjectRenamePopover/index.d.ts +2 -0
  279. package/dist/types/src/components/ObjectRenamePopover/index.d.ts.map +1 -0
  280. package/dist/types/src/components/RecordArticle.d.ts +5 -0
  281. package/dist/types/src/components/RecordArticle.d.ts.map +1 -0
  282. package/dist/types/src/components/RecordArticle.stories.d.ts +1600 -0
  283. package/dist/types/src/components/RecordArticle.stories.d.ts.map +1 -0
  284. package/dist/types/src/components/SchemaContainer.d.ts +2 -2
  285. package/dist/types/src/components/SchemaContainer.d.ts.map +1 -1
  286. package/dist/types/src/components/SpacePluginSettings.d.ts +4 -2
  287. package/dist/types/src/components/SpacePluginSettings.d.ts.map +1 -1
  288. package/dist/types/src/components/{SpacePresence.d.ts → SpacePresence/SpacePresence.d.ts} +7 -6
  289. package/dist/types/src/components/SpacePresence/SpacePresence.d.ts.map +1 -0
  290. package/dist/types/src/components/SpacePresence/SpacePresence.stories.d.ts +1430 -0
  291. package/dist/types/src/components/SpacePresence/SpacePresence.stories.d.ts.map +1 -0
  292. package/dist/types/src/components/SpacePresence/index.d.ts +2 -0
  293. package/dist/types/src/components/SpacePresence/index.d.ts.map +1 -0
  294. package/dist/types/src/components/SpaceRenamePopover/SpaceRenamePopover.d.ts +7 -0
  295. package/dist/types/src/components/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +1 -0
  296. package/dist/types/src/components/SpaceRenamePopover/index.d.ts +2 -0
  297. package/dist/types/src/components/SpaceRenamePopover/index.d.ts.map +1 -0
  298. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts +1 -1
  299. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  300. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +1430 -4
  301. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
  302. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts +1 -1
  303. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  304. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +1431 -5
  305. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  306. package/dist/types/src/components/SyncStatus/status.d.ts +5 -5
  307. package/dist/types/src/components/ViewEditor.d.ts +7 -0
  308. package/dist/types/src/components/ViewEditor.d.ts.map +1 -0
  309. package/dist/types/src/components/index.d.ts +16 -6
  310. package/dist/types/src/components/index.d.ts.map +1 -1
  311. package/dist/types/src/constants.d.ts +6 -0
  312. package/dist/types/src/constants.d.ts.map +1 -0
  313. package/dist/types/src/helpers/index.d.ts +2 -0
  314. package/dist/types/src/helpers/index.d.ts.map +1 -0
  315. package/dist/types/src/helpers/query.d.ts +7 -0
  316. package/dist/types/src/helpers/query.d.ts.map +1 -0
  317. package/dist/types/src/helpers/query.test.d.ts +2 -0
  318. package/dist/types/src/helpers/query.test.d.ts.map +1 -0
  319. package/dist/types/src/hooks/index.d.ts +1 -0
  320. package/dist/types/src/hooks/index.d.ts.map +1 -1
  321. package/dist/types/src/hooks/useActiveSpace.d.ts +2 -2
  322. package/dist/types/src/hooks/useActiveSpace.d.ts.map +1 -1
  323. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +2 -8
  324. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  325. package/dist/types/src/hooks/usePath.d.ts +3 -3
  326. package/dist/types/src/hooks/usePath.d.ts.map +1 -1
  327. package/dist/types/src/hooks/useTypeOptions.d.ts +10 -0
  328. package/dist/types/src/hooks/useTypeOptions.d.ts.map +1 -0
  329. package/dist/types/src/index.d.ts +2 -2
  330. package/dist/types/src/index.d.ts.map +1 -1
  331. package/dist/types/src/meta.d.ts +2 -3
  332. package/dist/types/src/meta.d.ts.map +1 -1
  333. package/dist/types/src/translations.d.ts +1300 -36
  334. package/dist/types/src/translations.d.ts.map +1 -1
  335. package/dist/types/src/types/capabilities.d.ts +71 -0
  336. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  337. package/dist/types/src/types/events.d.ts +9 -0
  338. package/dist/types/src/types/events.d.ts.map +1 -0
  339. package/dist/types/src/types/form.d.ts +22 -0
  340. package/dist/types/src/types/form.d.ts.map +1 -0
  341. package/dist/types/src/types/index.d.ts +3 -0
  342. package/dist/types/src/types/index.d.ts.map +1 -1
  343. package/dist/types/src/types/types.d.ts +640 -338
  344. package/dist/types/src/types/types.d.ts.map +1 -1
  345. package/dist/types/src/util.d.ts +49 -31
  346. package/dist/types/src/util.d.ts.map +1 -1
  347. package/dist/types/tsconfig.tsbuildinfo +1 -1
  348. package/package.json +86 -64
  349. package/src/SpacePlugin.ts +174 -170
  350. package/src/capabilities/app-graph-builder/app-graph-builder.ts +617 -0
  351. package/src/capabilities/app-graph-builder/index.ts +7 -0
  352. package/src/capabilities/app-graph-serializer/app-graph-serializer.ts +82 -0
  353. package/src/capabilities/app-graph-serializer/index.ts +7 -0
  354. package/src/capabilities/identity-created/identity-created.ts +29 -0
  355. package/src/capabilities/identity-created/index.ts +7 -0
  356. package/src/capabilities/index.ts +10 -15
  357. package/src/capabilities/operation-resolver/index.ts +7 -0
  358. package/src/capabilities/operation-resolver/operation-resolver.ts +760 -0
  359. package/src/capabilities/react-root/index.ts +7 -0
  360. package/src/capabilities/react-root/react-root.tsx +25 -0
  361. package/src/capabilities/react-surface/index.ts +7 -0
  362. package/src/capabilities/react-surface/react-surface.tsx +375 -0
  363. package/src/capabilities/repair/index.ts +7 -0
  364. package/src/capabilities/repair/repair.ts +67 -0
  365. package/src/capabilities/settings/index.ts +7 -0
  366. package/src/capabilities/settings/settings.ts +32 -0
  367. package/src/capabilities/spaces-ready/index.ts +7 -0
  368. package/src/capabilities/spaces-ready/spaces-ready.ts +289 -0
  369. package/src/capabilities/state/index.ts +7 -0
  370. package/src/capabilities/state/state.ts +64 -0
  371. package/src/cli/commands/database/add.ts +116 -0
  372. package/src/cli/commands/database/index.ts +16 -0
  373. package/src/cli/commands/database/query/index.ts +5 -0
  374. package/src/cli/commands/database/query/query.test.ts +55 -0
  375. package/src/cli/commands/database/query/query.ts +44 -0
  376. package/src/cli/commands/database/remove.ts +51 -0
  377. package/src/cli/commands/database/stats.ts +44 -0
  378. package/src/cli/commands/database/util.ts +32 -0
  379. package/src/cli/commands/index.ts +7 -0
  380. package/src/cli/commands/queue/index.ts +12 -0
  381. package/src/cli/commands/queue/query.ts +45 -0
  382. package/src/cli/commands/queue/util.ts +19 -0
  383. package/src/cli/commands/space/close/close.ts +40 -0
  384. package/src/cli/commands/space/close/index.ts +5 -0
  385. package/src/cli/commands/space/create/create.test.ts +67 -0
  386. package/src/cli/commands/space/create/create.ts +61 -0
  387. package/src/cli/commands/space/create/index.ts +5 -0
  388. package/src/cli/commands/space/index.ts +21 -0
  389. package/src/cli/commands/space/info/index.ts +5 -0
  390. package/src/cli/commands/space/info/info.test.ts +47 -0
  391. package/src/cli/commands/space/info/info.ts +37 -0
  392. package/src/cli/commands/space/join/index.ts +5 -0
  393. package/src/cli/commands/space/join/join.ts +122 -0
  394. package/src/cli/commands/space/join/util.ts +82 -0
  395. package/src/cli/commands/space/list/index.ts +5 -0
  396. package/src/cli/commands/space/list/list.test.ts +36 -0
  397. package/src/cli/commands/space/list/list.ts +30 -0
  398. package/src/cli/commands/space/members/index.ts +5 -0
  399. package/src/cli/commands/space/members/members.test.ts +46 -0
  400. package/src/cli/commands/space/members/members.ts +40 -0
  401. package/src/cli/commands/space/members/util.ts +29 -0
  402. package/src/cli/commands/space/open/index.ts +5 -0
  403. package/src/cli/commands/space/open/open.ts +39 -0
  404. package/src/cli/commands/space/schema/index.ts +12 -0
  405. package/src/cli/commands/space/schema/list/index.ts +5 -0
  406. package/src/cli/commands/space/schema/list/list.test.ts +42 -0
  407. package/src/cli/commands/space/schema/list/list.ts +64 -0
  408. package/src/cli/commands/space/schema/list/util.ts +39 -0
  409. package/src/cli/commands/space/share/index.ts +5 -0
  410. package/src/cli/commands/space/share/share.ts +112 -0
  411. package/src/cli/commands/space/sync/index.ts +5 -0
  412. package/src/cli/commands/space/sync/sync.test.ts +12 -0
  413. package/src/cli/commands/space/sync/sync.ts +33 -0
  414. package/src/cli/index.ts +5 -0
  415. package/src/cli/plugin.ts +81 -0
  416. package/src/components/AwaitingObject.tsx +26 -27
  417. package/src/components/CollectionArticle.tsx +158 -0
  418. package/src/components/CollectionSection.tsx +8 -6
  419. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +37 -30
  420. package/src/components/CreateDialog/CreateObjectDialog.tsx +95 -71
  421. package/src/components/CreateDialog/CreateObjectPanel.tsx +170 -97
  422. package/src/components/CreateDialog/CreateSpaceDialog.tsx +39 -33
  423. package/src/components/{JoinDialog.tsx → JoinDialog/JoinDialog.tsx} +28 -39
  424. package/src/components/JoinDialog/index.ts +5 -0
  425. package/src/components/MembersContainer/MembersContainer.stories.tsx +56 -0
  426. package/src/components/{MembersContainer.tsx → MembersContainer/MembersContainer.tsx} +56 -55
  427. package/src/components/MembersContainer/index.ts +5 -0
  428. package/src/components/MenuFooter.tsx +5 -6
  429. package/src/components/ObjectCardStack/ObjectCardStack.tsx +67 -0
  430. package/src/components/ObjectCardStack/ObjectForm.tsx +97 -0
  431. package/src/components/ObjectCardStack/index.ts +7 -0
  432. package/src/components/ObjectDetails/BaseObjectSettings.stories.tsx +63 -0
  433. package/src/components/ObjectDetails/BaseObjectSettings.tsx +122 -0
  434. package/src/components/{ObjectSettings → ObjectDetails}/ForeignKeys.tsx +8 -8
  435. package/src/components/ObjectDetails/ObjectDetails.tsx +32 -0
  436. package/src/components/ObjectDetails/index.ts +7 -0
  437. package/src/components/ObjectRenamePopover/ObjectRenamePopover.tsx +52 -0
  438. package/src/components/ObjectRenamePopover/index.ts +5 -0
  439. package/src/components/RecordArticle.stories.tsx +115 -0
  440. package/src/components/RecordArticle.tsx +122 -0
  441. package/src/components/SchemaContainer.tsx +28 -31
  442. package/src/components/SpacePluginSettings.tsx +25 -16
  443. package/src/components/{SpacePresence.stories.tsx → SpacePresence/SpacePresence.stories.tsx} +24 -23
  444. package/src/components/{SpacePresence.tsx → SpacePresence/SpacePresence.tsx} +27 -24
  445. package/src/components/SpacePresence/index.ts +5 -0
  446. package/src/components/{PopoverRenameSpace.tsx → SpaceRenamePopover/SpaceRenamePopover.tsx} +16 -16
  447. package/src/components/SpaceRenamePopover/index.ts +5 -0
  448. package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +19 -11
  449. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +193 -157
  450. package/src/components/SyncStatus/InlineSyncStatus.tsx +8 -8
  451. package/src/components/SyncStatus/SyncStatus.stories.tsx +9 -9
  452. package/src/components/SyncStatus/SyncStatus.tsx +110 -13
  453. package/src/components/SyncStatus/save-tracker.ts +2 -2
  454. package/src/components/SyncStatus/status.ts +4 -4
  455. package/src/components/ViewEditor.tsx +101 -0
  456. package/src/components/index.ts +11 -6
  457. package/src/constants.ts +11 -0
  458. package/src/helpers/index.ts +5 -0
  459. package/src/helpers/query.test.ts +24 -0
  460. package/src/helpers/query.ts +153 -0
  461. package/src/hooks/index.ts +1 -0
  462. package/src/hooks/useActiveSpace.ts +7 -4
  463. package/src/hooks/useInputSurfaceLookup.tsx +9 -13
  464. package/src/hooks/usePath.ts +5 -5
  465. package/src/hooks/useTypeOptions.ts +25 -0
  466. package/src/index.ts +2 -2
  467. package/src/meta.ts +8 -5
  468. package/src/translations.ts +106 -32
  469. package/src/types/capabilities.ts +73 -0
  470. package/src/types/events.ts +15 -0
  471. package/src/types/form.ts +69 -0
  472. package/src/types/index.ts +3 -0
  473. package/src/types/types.ts +539 -206
  474. package/src/util.tsx +447 -241
  475. package/dist/lib/browser/app-graph-builder-PMDF6PJV.mjs +0 -363
  476. package/dist/lib/browser/app-graph-builder-PMDF6PJV.mjs.map +0 -7
  477. package/dist/lib/browser/app-graph-serializer-UKYMBX4O.mjs +0 -80
  478. package/dist/lib/browser/app-graph-serializer-UKYMBX4O.mjs.map +0 -7
  479. package/dist/lib/browser/chunk-6VLSHG4A.mjs.map +0 -7
  480. package/dist/lib/browser/chunk-C7KGJTAL.mjs +0 -18
  481. package/dist/lib/browser/chunk-C7KGJTAL.mjs.map +0 -7
  482. package/dist/lib/browser/chunk-FBCGT5YY.mjs +0 -13
  483. package/dist/lib/browser/chunk-FBCGT5YY.mjs.map +0 -7
  484. package/dist/lib/browser/chunk-GVTXQCIW.mjs +0 -1915
  485. package/dist/lib/browser/chunk-GVTXQCIW.mjs.map +0 -7
  486. package/dist/lib/browser/chunk-S6NY637J.mjs +0 -284
  487. package/dist/lib/browser/chunk-S6NY637J.mjs.map +0 -7
  488. package/dist/lib/browser/chunk-VLBRSGJ2.mjs +0 -94
  489. package/dist/lib/browser/chunk-VLBRSGJ2.mjs.map +0 -7
  490. package/dist/lib/browser/chunk-WBSEOLEM.mjs +0 -546
  491. package/dist/lib/browser/chunk-WBSEOLEM.mjs.map +0 -7
  492. package/dist/lib/browser/chunk-XXIPJLJF.mjs +0 -19
  493. package/dist/lib/browser/chunk-XXIPJLJF.mjs.map +0 -7
  494. package/dist/lib/browser/identity-created-23XJJV2N.mjs +0 -23
  495. package/dist/lib/browser/identity-created-23XJJV2N.mjs.map +0 -7
  496. package/dist/lib/browser/intent-resolver-WK5WYFH3.mjs +0 -610
  497. package/dist/lib/browser/intent-resolver-WK5WYFH3.mjs.map +0 -7
  498. package/dist/lib/browser/react-root-7S6FIC5G.mjs +0 -29
  499. package/dist/lib/browser/react-root-7S6FIC5G.mjs.map +0 -7
  500. package/dist/lib/browser/react-surface-6C3YJNDK.mjs +0 -353
  501. package/dist/lib/browser/react-surface-6C3YJNDK.mjs.map +0 -7
  502. package/dist/lib/browser/schema-defs-K3B3OAH4.mjs +0 -26
  503. package/dist/lib/browser/schema-defs-K3B3OAH4.mjs.map +0 -7
  504. package/dist/lib/browser/schema-tools-BNP4JTD7.mjs +0 -124
  505. package/dist/lib/browser/schema-tools-BNP4JTD7.mjs.map +0 -7
  506. package/dist/lib/browser/settings-XNWYRWNM.mjs +0 -24
  507. package/dist/lib/browser/settings-XNWYRWNM.mjs.map +0 -7
  508. package/dist/lib/browser/spaces-ready-K7NSNBHM.mjs +0 -199
  509. package/dist/lib/browser/spaces-ready-K7NSNBHM.mjs.map +0 -7
  510. package/dist/lib/browser/state-522XTUR4.mjs +0 -47
  511. package/dist/lib/browser/state-522XTUR4.mjs.map +0 -7
  512. package/dist/lib/node-esm/app-graph-builder-TO72W6MI.mjs +0 -364
  513. package/dist/lib/node-esm/app-graph-builder-TO72W6MI.mjs.map +0 -7
  514. package/dist/lib/node-esm/app-graph-serializer-LA3IZDXJ.mjs +0 -81
  515. package/dist/lib/node-esm/app-graph-serializer-LA3IZDXJ.mjs.map +0 -7
  516. package/dist/lib/node-esm/chunk-2THX6G4C.mjs +0 -285
  517. package/dist/lib/node-esm/chunk-2THX6G4C.mjs.map +0 -7
  518. package/dist/lib/node-esm/chunk-72QMMRKC.mjs +0 -19
  519. package/dist/lib/node-esm/chunk-72QMMRKC.mjs.map +0 -7
  520. package/dist/lib/node-esm/chunk-AT7LGFER.mjs +0 -20
  521. package/dist/lib/node-esm/chunk-AT7LGFER.mjs.map +0 -7
  522. package/dist/lib/node-esm/chunk-HJJHLWKY.mjs +0 -547
  523. package/dist/lib/node-esm/chunk-HJJHLWKY.mjs.map +0 -7
  524. package/dist/lib/node-esm/chunk-HWNG4MEU.mjs +0 -15
  525. package/dist/lib/node-esm/chunk-HWNG4MEU.mjs.map +0 -7
  526. package/dist/lib/node-esm/chunk-OUBADVJE.mjs +0 -1916
  527. package/dist/lib/node-esm/chunk-OUBADVJE.mjs.map +0 -7
  528. package/dist/lib/node-esm/chunk-SSLBYZEY.mjs +0 -96
  529. package/dist/lib/node-esm/chunk-SSLBYZEY.mjs.map +0 -7
  530. package/dist/lib/node-esm/chunk-SXD6T2N4.mjs.map +0 -7
  531. package/dist/lib/node-esm/identity-created-IJQO6GCR.mjs +0 -25
  532. package/dist/lib/node-esm/identity-created-IJQO6GCR.mjs.map +0 -7
  533. package/dist/lib/node-esm/intent-resolver-HSR27ME4.mjs +0 -611
  534. package/dist/lib/node-esm/intent-resolver-HSR27ME4.mjs.map +0 -7
  535. package/dist/lib/node-esm/react-root-HUK3ANLV.mjs +0 -30
  536. package/dist/lib/node-esm/react-root-HUK3ANLV.mjs.map +0 -7
  537. package/dist/lib/node-esm/react-surface-AGAWX7DD.mjs +0 -354
  538. package/dist/lib/node-esm/react-surface-AGAWX7DD.mjs.map +0 -7
  539. package/dist/lib/node-esm/schema-defs-4MCDG4DV.mjs +0 -27
  540. package/dist/lib/node-esm/schema-defs-4MCDG4DV.mjs.map +0 -7
  541. package/dist/lib/node-esm/schema-tools-KWW5PTML.mjs +0 -126
  542. package/dist/lib/node-esm/schema-tools-KWW5PTML.mjs.map +0 -7
  543. package/dist/lib/node-esm/settings-YGKHGFPH.mjs +0 -25
  544. package/dist/lib/node-esm/settings-YGKHGFPH.mjs.map +0 -7
  545. package/dist/lib/node-esm/spaces-ready-UM2P3DCR.mjs +0 -200
  546. package/dist/lib/node-esm/spaces-ready-UM2P3DCR.mjs.map +0 -7
  547. package/dist/lib/node-esm/state-C4IOXPZP.mjs +0 -48
  548. package/dist/lib/node-esm/state-C4IOXPZP.mjs.map +0 -7
  549. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
  550. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  551. package/dist/types/src/capabilities/app-graph-serializer.d.ts +0 -4
  552. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +0 -1
  553. package/dist/types/src/capabilities/capabilities.d.ts +0 -22
  554. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  555. package/dist/types/src/capabilities/identity-created.d.ts +0 -4
  556. package/dist/types/src/capabilities/identity-created.d.ts.map +0 -1
  557. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -9
  558. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  559. package/dist/types/src/capabilities/react-root.d.ts +0 -7
  560. package/dist/types/src/capabilities/react-root.d.ts.map +0 -1
  561. package/dist/types/src/capabilities/react-surface.d.ts +0 -7
  562. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  563. package/dist/types/src/capabilities/schema-defs.d.ts +0 -4
  564. package/dist/types/src/capabilities/schema-defs.d.ts.map +0 -1
  565. package/dist/types/src/capabilities/schema-tool.test.d.ts +0 -2
  566. package/dist/types/src/capabilities/schema-tool.test.d.ts.map +0 -1
  567. package/dist/types/src/capabilities/schema-tools.d.ts +0 -13
  568. package/dist/types/src/capabilities/schema-tools.d.ts.map +0 -1
  569. package/dist/types/src/capabilities/settings.d.ts +0 -4
  570. package/dist/types/src/capabilities/settings.d.ts.map +0 -1
  571. package/dist/types/src/capabilities/spaces-ready.d.ts +0 -4
  572. package/dist/types/src/capabilities/spaces-ready.d.ts.map +0 -1
  573. package/dist/types/src/capabilities/state.d.ts +0 -5
  574. package/dist/types/src/capabilities/state.d.ts.map +0 -1
  575. package/dist/types/src/components/CollectionMain.d.ts +0 -6
  576. package/dist/types/src/components/CollectionMain.d.ts.map +0 -1
  577. package/dist/types/src/components/JoinDialog.d.ts.map +0 -1
  578. package/dist/types/src/components/MembersContainer.d.ts.map +0 -1
  579. package/dist/types/src/components/MembersContainer.stories.d.ts +0 -8
  580. package/dist/types/src/components/MembersContainer.stories.d.ts.map +0 -1
  581. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts +0 -7
  582. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +0 -1
  583. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +0 -1
  584. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts +0 -8
  585. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +0 -1
  586. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts +0 -8
  587. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +0 -1
  588. package/dist/types/src/components/ObjectSettings/index.d.ts +0 -2
  589. package/dist/types/src/components/ObjectSettings/index.d.ts.map +0 -1
  590. package/dist/types/src/components/PersistenceStatus.d.ts +0 -6
  591. package/dist/types/src/components/PersistenceStatus.d.ts.map +0 -1
  592. package/dist/types/src/components/PopoverRenameObject.d.ts +0 -7
  593. package/dist/types/src/components/PopoverRenameObject.d.ts.map +0 -1
  594. package/dist/types/src/components/PopoverRenameSpace.d.ts +0 -7
  595. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +0 -1
  596. package/dist/types/src/components/SpacePresence.d.ts.map +0 -1
  597. package/dist/types/src/components/SpacePresence.stories.d.ts +0 -9
  598. package/dist/types/src/components/SpacePresence.stories.d.ts.map +0 -1
  599. package/dist/types/src/events.d.ts +0 -7
  600. package/dist/types/src/events.d.ts.map +0 -1
  601. package/src/capabilities/app-graph-builder.ts +0 -539
  602. package/src/capabilities/app-graph-serializer.ts +0 -76
  603. package/src/capabilities/capabilities.ts +0 -24
  604. package/src/capabilities/identity-created.ts +0 -25
  605. package/src/capabilities/intent-resolver.ts +0 -585
  606. package/src/capabilities/react-root.tsx +0 -20
  607. package/src/capabilities/react-surface.tsx +0 -349
  608. package/src/capabilities/schema-defs.ts +0 -30
  609. package/src/capabilities/schema-tool.test.ts +0 -44
  610. package/src/capabilities/schema-tools.ts +0 -125
  611. package/src/capabilities/settings.ts +0 -21
  612. package/src/capabilities/spaces-ready.ts +0 -231
  613. package/src/capabilities/state.ts +0 -45
  614. package/src/components/CollectionMain.tsx +0 -30
  615. package/src/components/MembersContainer.stories.tsx +0 -30
  616. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +0 -80
  617. package/src/components/ObjectSettings/BaseObjectSettings.tsx +0 -47
  618. package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +0 -36
  619. package/src/components/ObjectSettings/index.ts +0 -5
  620. package/src/components/PersistenceStatus.tsx +0 -84
  621. package/src/components/PopoverRenameObject.tsx +0 -62
  622. package/src/events.ts +0 -14
@@ -0,0 +1,129 @@
1
+ import {
2
+ meta
3
+ } from "./chunk-HSMQFM57.mjs";
4
+
5
+ // src/components/CollectionArticle.tsx
6
+ import React, { useMemo } from "react";
7
+ import { Common } from "@dxos/app-framework";
8
+ import { useAppGraph, useOperationInvoker } from "@dxos/app-framework/react";
9
+ import { Filter, Obj } from "@dxos/echo";
10
+ import { Graph, Node, useActionRunner, useConnections } from "@dxos/plugin-graph";
11
+ import { useClient } from "@dxos/react-client";
12
+ import { getSpace, useQuery } from "@dxos/react-client/echo";
13
+ import { Toolbar, toLocalizedString, useTranslation } from "@dxos/react-ui";
14
+ import { Card, Layout, Mosaic } from "@dxos/react-ui-mosaic";
15
+ import { SearchList, useSearchListResults } from "@dxos/react-ui-searchlist";
16
+ import { Collection } from "@dxos/schema";
17
+ var CollectionArticle = ({ subject }) => {
18
+ const { t } = useTranslation(meta.id);
19
+ const { items, handleSearch } = useCollectionItems(subject);
20
+ return /* @__PURE__ */ React.createElement(Layout.Main, {
21
+ toolbar: true
22
+ }, /* @__PURE__ */ React.createElement(SearchList.Root, {
23
+ onSearch: handleSearch
24
+ }, /* @__PURE__ */ React.createElement(Toolbar.Root, null, /* @__PURE__ */ React.createElement(SearchList.Input, {
25
+ placeholder: t("search placeholder")
26
+ })), /* @__PURE__ */ React.createElement(SearchList.Content, null, /* @__PURE__ */ React.createElement(Mosaic.Container, {
27
+ asChild: true
28
+ }, /* @__PURE__ */ React.createElement(Mosaic.Viewport, {
29
+ padding: true
30
+ }, /* @__PURE__ */ React.createElement(Mosaic.Stack, {
31
+ items,
32
+ getId: (node) => node.id,
33
+ Tile: NodeTile
34
+ }))))));
35
+ };
36
+ var NodeTile = ({ data: node }) => {
37
+ const { t } = useTranslation(meta.id);
38
+ const { graph } = useAppGraph();
39
+ const { invokeSync } = useOperationInvoker();
40
+ const runAction = useActionRunner();
41
+ const label = toLocalizedString(node.properties.label, t);
42
+ const icon = node.properties.icon ?? "ph--placeholder--regular";
43
+ const handleClick = () => {
44
+ if (Node.isAction(node)) {
45
+ const [parent] = Graph.getConnections(graph, node.id, "inbound");
46
+ if (parent) {
47
+ void runAction(node, {
48
+ parent
49
+ });
50
+ }
51
+ } else {
52
+ invokeSync(Common.LayoutOperation.Open, {
53
+ subject: [
54
+ node.id
55
+ ]
56
+ });
57
+ }
58
+ };
59
+ return /* @__PURE__ */ React.createElement(Card.Root, {
60
+ fullWidth: true
61
+ }, /* @__PURE__ */ React.createElement(Card.Toolbar, null, /* @__PURE__ */ React.createElement(Card.ToolbarIconButton, {
62
+ variant: "ghost",
63
+ label,
64
+ icon
65
+ }), /* @__PURE__ */ React.createElement(Card.Title, {
66
+ onClick: handleClick
67
+ }, label), /* @__PURE__ */ React.createElement(Card.Menu, null)));
68
+ };
69
+ var CollectionArticle_default = CollectionArticle;
70
+ var useRegularCollectionItems = (collection) => {
71
+ const { graph } = useAppGraph();
72
+ const collectionId = Obj.getDXN(collection).toString();
73
+ const children = useConnections(graph, collectionId, "outbound");
74
+ return useMemo(() => children.filter((node) => {
75
+ if (Obj.isObject(node.data)) {
76
+ return true;
77
+ }
78
+ return Node.isAction(node) && node.properties.disposition === "item";
79
+ }), [
80
+ children
81
+ ]);
82
+ };
83
+ var useManagedCollectionItems = (collection) => {
84
+ const client = useClient();
85
+ const space = getSpace(collection);
86
+ const schema = useMemo(() => client.graph.schemaRegistry.query({
87
+ typename: collection.key,
88
+ location: [
89
+ "runtime"
90
+ ]
91
+ }).runSync()[0], [
92
+ client,
93
+ collection
94
+ ]);
95
+ const objects = useQuery(space?.db, schema ? Filter.type(schema) : Filter.nothing());
96
+ return useMemo(() => objects.map((obj) => ({
97
+ id: Obj.getDXN(obj).toString(),
98
+ type: "managed-object",
99
+ data: obj,
100
+ properties: {
101
+ label: Obj.getLabel(obj) ?? obj.id,
102
+ icon: "ph--placeholder--regular"
103
+ }
104
+ })), [
105
+ objects
106
+ ]);
107
+ };
108
+ var useCollectionItems = (collection) => {
109
+ const isManaged = Obj.instanceOf(Collection.Managed, collection);
110
+ const regularItems = useRegularCollectionItems(collection);
111
+ const managedItems = useManagedCollectionItems(collection);
112
+ const items = isManaged ? managedItems : regularItems;
113
+ const { results, handleSearch } = useSearchListResults({
114
+ items,
115
+ extract: (node) => {
116
+ const label = node.properties.label;
117
+ return typeof label === "string" ? label : label?.en ?? node.id;
118
+ }
119
+ });
120
+ return {
121
+ items: results,
122
+ handleSearch
123
+ };
124
+ };
125
+ export {
126
+ CollectionArticle,
127
+ CollectionArticle_default as default
128
+ };
129
+ //# sourceMappingURL=CollectionArticle-XPNA6EHZ.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/CollectionArticle.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useMemo } from 'react';\n\nimport { Common } from '@dxos/app-framework';\nimport { type SurfaceComponentProps, useAppGraph, useOperationInvoker } from '@dxos/app-framework/react';\nimport { Filter, Obj } from '@dxos/echo';\nimport { Graph, Node, useActionRunner, useConnections } from '@dxos/plugin-graph';\nimport { useClient } from '@dxos/react-client';\nimport { getSpace, useQuery } from '@dxos/react-client/echo';\nimport { Toolbar, toLocalizedString, useTranslation } from '@dxos/react-ui';\nimport { Card, Layout, Mosaic, type StackTileComponent } from '@dxos/react-ui-mosaic';\nimport { SearchList, useSearchListResults } from '@dxos/react-ui-searchlist';\nimport { Collection } from '@dxos/schema';\n\nimport { meta } from '../meta';\n\n/**\n *\n */\nexport const CollectionArticle = ({ subject }: SurfaceComponentProps<Collection.Collection | Collection.Managed>) => {\n const { t } = useTranslation(meta.id);\n const { items, handleSearch } = useCollectionItems(subject);\n\n return (\n <Layout.Main toolbar>\n <SearchList.Root onSearch={handleSearch}>\n <Toolbar.Root>\n <SearchList.Input placeholder={t('search placeholder')} />\n </Toolbar.Root>\n <SearchList.Content>\n <Mosaic.Container asChild>\n <Mosaic.Viewport padding>\n <Mosaic.Stack items={items} getId={(node) => node.id} Tile={NodeTile} />\n </Mosaic.Viewport>\n </Mosaic.Container>\n </SearchList.Content>\n </SearchList.Root>\n </Layout.Main>\n );\n};\n\nconst NodeTile: StackTileComponent<Node.Node> = ({ data: node }) => {\n const { t } = useTranslation(meta.id);\n const { graph } = useAppGraph();\n const { invokeSync } = useOperationInvoker();\n const runAction = useActionRunner();\n\n const label = toLocalizedString(node.properties.label, t);\n const icon = node.properties.icon ?? 'ph--placeholder--regular';\n\n const handleClick = () => {\n if (Node.isAction(node)) {\n // Run action if this is an action node.\n const [parent] = Graph.getConnections(graph, node.id, 'inbound');\n if (parent) {\n void runAction(node, { parent });\n }\n } else {\n // Navigate to the node.\n invokeSync(Common.LayoutOperation.Open, { subject: [node.id] });\n }\n };\n\n return (\n <Card.Root fullWidth>\n <Card.Toolbar>\n <Card.ToolbarIconButton variant='ghost' label={label} icon={icon} />\n <Card.Title onClick={handleClick}>{label}</Card.Title>\n <Card.Menu />\n </Card.Toolbar>\n </Card.Root>\n );\n};\n\nexport default CollectionArticle;\n\n/**\n * Hook to get items from a regular collection using graph connections.\n */\nconst useRegularCollectionItems = (collection: Collection.Collection) => {\n const { graph } = useAppGraph();\n const collectionId = Obj.getDXN(collection).toString();\n const children = useConnections(graph, collectionId, 'outbound');\n\n // Filter children to those which are objects or actions with disposition 'item'.\n return useMemo(\n () =>\n children.filter((node) => {\n // Include regular objects.\n if (Obj.isObject(node.data)) {\n return true;\n }\n // Include actions with disposition 'item'.\n return Node.isAction(node) && node.properties.disposition === 'item';\n }),\n [children],\n );\n};\n\n/**\n * Hook to get items from a managed collection by querying the space.\n */\nconst useManagedCollectionItems = (collection: Collection.Managed) => {\n const client = useClient();\n const space = getSpace(collection);\n\n const schema = useMemo(\n () => client.graph.schemaRegistry.query({ typename: collection.key, location: ['runtime'] }).runSync()[0],\n [client, collection],\n );\n\n const objects = useQuery(space?.db, schema ? Filter.type(schema) : Filter.nothing());\n\n // Convert objects to node-like items for consistent rendering.\n return useMemo(\n () =>\n objects.map(\n (obj) =>\n ({\n id: Obj.getDXN(obj).toString(),\n type: 'managed-object',\n data: obj,\n properties: {\n label: Obj.getLabel(obj) ?? obj.id,\n icon: 'ph--placeholder--regular',\n },\n }) as Node.Node,\n ),\n [objects],\n );\n};\n\n/**\n * Combined hook to get collection items with search/filter support.\n */\nconst useCollectionItems = (collection: Collection.Collection | Collection.Managed) => {\n const isManaged = Obj.instanceOf(Collection.Managed, collection);\n\n // Call both hooks unconditionally to satisfy React's rules of hooks.\n const regularItems = useRegularCollectionItems(collection as Collection.Collection);\n const managedItems = useManagedCollectionItems(collection as Collection.Managed);\n\n const items = isManaged ? managedItems : regularItems;\n\n // Use searchlist results for filtering.\n const { results, handleSearch } = useSearchListResults({\n items,\n extract: (node) => {\n const label = node.properties.label;\n return typeof label === 'string' ? label : (label?.en ?? node.id);\n },\n });\n\n return { items: results, handleSearch };\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "useMemo", "Common", "useAppGraph", "useOperationInvoker", "Filter", "Obj", "Graph", "Node", "useActionRunner", "useConnections", "useClient", "getSpace", "useQuery", "Toolbar", "toLocalizedString", "useTranslation", "Card", "Layout", "Mosaic", "SearchList", "useSearchListResults", "Collection", "CollectionArticle", "subject", "t", "useTranslation", "meta", "id", "items", "handleSearch", "useCollectionItems", "Layout", "Main", "toolbar", "SearchList", "Root", "onSearch", "Toolbar", "Input", "placeholder", "Content", "Mosaic", "Container", "asChild", "Viewport", "padding", "Stack", "getId", "node", "Tile", "NodeTile", "data", "graph", "useAppGraph", "invokeSync", "useOperationInvoker", "runAction", "useActionRunner", "label", "toLocalizedString", "properties", "icon", "handleClick", "Node", "isAction", "parent", "Graph", "getConnections", "Common", "LayoutOperation", "Open", "Card", "fullWidth", "ToolbarIconButton", "variant", "Title", "onClick", "Menu", "useRegularCollectionItems", "collection", "collectionId", "Obj", "getDXN", "toString", "children", "useConnections", "useMemo", "filter", "isObject", "disposition", "useManagedCollectionItems", "client", "useClient", "space", "getSpace", "schema", "schemaRegistry", "query", "typename", "key", "location", "runSync", "objects", "useQuery", "db", "Filter", "type", "nothing", "map", "obj", "getLabel", "isManaged", "instanceOf", "Collection", "Managed", "regularItems", "managedItems", "results", "useSearchListResults", "extract", "en"]
7
+ }
@@ -0,0 +1,148 @@
1
+ import {
2
+ meta
3
+ } from "./chunk-HSMQFM57.mjs";
4
+
5
+ // src/components/ObjectCardStack/ObjectCardStack.tsx
6
+ import React2, { forwardRef } from "react";
7
+ import { Obj as Obj2 } from "@dxos/echo";
8
+ import { Filter, useQuery, useSchema } from "@dxos/react-client/echo";
9
+ import { Callout, Toolbar, useTranslation } from "@dxos/react-ui";
10
+ import { useSelected } from "@dxos/react-ui-attention";
11
+ import { Card } from "@dxos/react-ui-mosaic";
12
+ import { Layout } from "@dxos/react-ui-mosaic";
13
+ import { CardStack, StackItem } from "@dxos/react-ui-stack";
14
+ import { getTypenameFromQuery } from "@dxos/schema";
15
+ import { isNonNullable as isNonNullable2 } from "@dxos/util";
16
+
17
+ // src/components/ObjectCardStack/ObjectForm.tsx
18
+ import * as Schema from "effect/Schema";
19
+ import React, { useCallback, useMemo } from "react";
20
+ import { DXN, Obj, Tag, Type } from "@dxos/echo";
21
+ import { splitJsonPath } from "@dxos/echo/internal";
22
+ import { invariant } from "@dxos/invariant";
23
+ import { Form, omitId } from "@dxos/react-ui-form";
24
+ import { isNonNullable } from "@dxos/util";
25
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-space/src/components/ObjectCardStack/ObjectForm.tsx";
26
+ var ObjectForm = ({ object, schema }) => {
27
+ const db = Obj.getDatabase(object);
28
+ const formSchema = useMemo(() => Schema.Struct({
29
+ tags: Schema.Array(Type.Ref(Tag.Tag)).pipe(Schema.optional)
30
+ }).pipe(Schema.extend(omitId(schema))), [
31
+ schema
32
+ ]);
33
+ const meta2 = Obj.getMeta(object);
34
+ const tags = (meta2.tags ?? []).map((tag) => db?.makeRef(DXN.parse(tag))).filter(isNonNullable);
35
+ const values = useMemo(() => ({
36
+ tags,
37
+ ...object
38
+ }), [
39
+ object,
40
+ tags
41
+ ]);
42
+ const handleCreate = useCallback((schema2, values2) => {
43
+ invariant(db, void 0, {
44
+ F: __dxlog_file,
45
+ L: 37,
46
+ S: void 0,
47
+ A: [
48
+ "db",
49
+ ""
50
+ ]
51
+ });
52
+ invariant(Type.isObjectSchema(schema2), void 0, {
53
+ F: __dxlog_file,
54
+ L: 38,
55
+ S: void 0,
56
+ A: [
57
+ "Type.isObjectSchema(schema)",
58
+ ""
59
+ ]
60
+ });
61
+ const newObject = db.add(Obj.make(schema2, values2));
62
+ if (Obj.instanceOf(Tag.Tag, newObject)) {
63
+ Obj.change(object, (obj) => {
64
+ Obj.getMeta(obj).tags = [
65
+ ...Obj.getMeta(obj).tags ?? [],
66
+ Obj.getDXN(newObject).toString()
67
+ ];
68
+ });
69
+ }
70
+ }, []);
71
+ const handleChange = useCallback(({ tags: tags2, ...values2 }, { isValid, changed }) => {
72
+ if (!isValid) {
73
+ return;
74
+ }
75
+ const changedPaths = Object.keys(changed).filter((path) => changed[path]);
76
+ const hasTagsChange = changedPaths.some((path) => splitJsonPath(path)[0] === "tags");
77
+ if (hasTagsChange) {
78
+ Obj.change(object, (obj) => {
79
+ Obj.getMeta(obj).tags = tags2?.map((tag) => tag.dxn.toString()) ?? [];
80
+ });
81
+ }
82
+ const nonTagPaths = changedPaths.filter((path) => splitJsonPath(path)[0] !== "tags");
83
+ if (nonTagPaths.length > 0) {
84
+ Obj.change(object, () => {
85
+ for (const path of nonTagPaths) {
86
+ const parts = splitJsonPath(path);
87
+ const value = Obj.getValue(values2, parts);
88
+ Obj.setValue(object, parts, value);
89
+ }
90
+ });
91
+ }
92
+ }, [
93
+ object
94
+ ]);
95
+ return /* @__PURE__ */ React.createElement(Form.Root, {
96
+ schema: omitId(formSchema),
97
+ values,
98
+ createOptionIcon: "ph--plus--regular",
99
+ createOptionLabel: [
100
+ "add tag label",
101
+ {
102
+ ns: meta.id
103
+ }
104
+ ],
105
+ createInitialValuePath: "label",
106
+ db,
107
+ onValuesChanged: handleChange,
108
+ onCreate: handleCreate
109
+ }, /* @__PURE__ */ React.createElement(Form.Viewport, null, /* @__PURE__ */ React.createElement(Form.Content, null, /* @__PURE__ */ React.createElement(Form.FieldSet, null))));
110
+ };
111
+
112
+ // src/components/ObjectCardStack/ObjectCardStack.tsx
113
+ var ObjectCardStack = /* @__PURE__ */ forwardRef(({ objectId, view }, forwardedRef) => {
114
+ const { t } = useTranslation(meta.id);
115
+ const db = Obj2.getDatabase(view);
116
+ const typename = view.query ? getTypenameFromQuery(view.query.ast) : void 0;
117
+ const schema = useSchema(db, typename);
118
+ const queriedObjects = useQuery(db, schema ? Filter.type(schema) : Filter.nothing());
119
+ const selectedRows = useSelected(objectId, "multi");
120
+ const selectedObjects = selectedRows.map((id) => queriedObjects.find((obj) => obj.id === id)).filter(isNonNullable2);
121
+ if (!schema) {
122
+ return null;
123
+ }
124
+ return /* @__PURE__ */ React2.createElement(Layout.Main, {
125
+ toolbar: true,
126
+ ref: forwardedRef
127
+ }, /* @__PURE__ */ React2.createElement(Toolbar.Root, null), /* @__PURE__ */ React2.createElement(CardStack.Root, {
128
+ asChild: true
129
+ }, /* @__PURE__ */ React2.createElement(CardStack.Content, null, /* @__PURE__ */ React2.createElement(CardStack.Stack, {
130
+ id: objectId,
131
+ itemsCount: selectedObjects.length
132
+ }, selectedObjects.length === 0 && /* @__PURE__ */ React2.createElement(CardStack.Item, null, /* @__PURE__ */ React2.createElement(Callout.Root, null, /* @__PURE__ */ React2.createElement(Callout.Title, null, t("row details no selection label")))), selectedObjects.map((object) => /* @__PURE__ */ React2.createElement(CardStack.Item, {
133
+ key: object.id,
134
+ asChild: true
135
+ }, /* @__PURE__ */ React2.createElement(StackItem.Root, {
136
+ item: object
137
+ }, /* @__PURE__ */ React2.createElement(Card.Root, null, /* @__PURE__ */ React2.createElement(ObjectForm, {
138
+ object,
139
+ schema
140
+ })))))))));
141
+ });
142
+
143
+ // src/components/ObjectCardStack/index.ts
144
+ var ObjectCardStack_default = ObjectCardStack;
145
+ export {
146
+ ObjectCardStack_default as default
147
+ };
148
+ //# sourceMappingURL=ObjectCardStack-TWHN6C2Y.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/ObjectCardStack/ObjectCardStack.tsx", "../../../src/components/ObjectCardStack/ObjectForm.tsx", "../../../src/components/ObjectCardStack/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { forwardRef } from 'react';\n\nimport { Obj } from '@dxos/echo';\nimport { Filter, useQuery, useSchema } from '@dxos/react-client/echo';\nimport { Callout, Toolbar, useTranslation } from '@dxos/react-ui';\nimport { useSelected } from '@dxos/react-ui-attention';\nimport { Card } from '@dxos/react-ui-mosaic';\nimport { Layout } from '@dxos/react-ui-mosaic';\nimport { CardStack, StackItem } from '@dxos/react-ui-stack';\nimport { type View, getTypenameFromQuery } from '@dxos/schema';\nimport { isNonNullable } from '@dxos/util';\n\nimport { meta } from '../../meta';\n\nimport { ObjectForm } from './ObjectForm';\n\nexport type ObjectCardStackProps = {\n view: View.View;\n objectId: string;\n};\n\nexport const ObjectCardStack = forwardRef<HTMLDivElement, ObjectCardStackProps>(({ objectId, view }, forwardedRef) => {\n const { t } = useTranslation(meta.id);\n const db = Obj.getDatabase(view);\n const typename = view.query ? getTypenameFromQuery(view.query.ast) : undefined;\n const schema = useSchema(db, typename);\n\n const queriedObjects = useQuery(db, schema ? Filter.type(schema) : Filter.nothing());\n const selectedRows = useSelected(objectId, 'multi');\n const selectedObjects = selectedRows.map((id) => queriedObjects.find((obj) => obj.id === id)).filter(isNonNullable);\n\n if (!schema) {\n return null;\n }\n\n return (\n <Layout.Main toolbar ref={forwardedRef}>\n <Toolbar.Root></Toolbar.Root>\n <CardStack.Root asChild>\n <CardStack.Content>\n <CardStack.Stack id={objectId} itemsCount={selectedObjects.length}>\n {selectedObjects.length === 0 && (\n <CardStack.Item>\n <Callout.Root>\n <Callout.Title>{t('row details no selection label')}</Callout.Title>\n </Callout.Root>\n </CardStack.Item>\n )}\n {selectedObjects.map((object) => (\n <CardStack.Item key={object.id} asChild>\n <StackItem.Root item={object}>\n <Card.Root>\n <ObjectForm object={object} schema={schema} />\n </Card.Root>\n </StackItem.Root>\n </CardStack.Item>\n ))}\n </CardStack.Stack>\n </CardStack.Content>\n </CardStack.Root>\n </Layout.Main>\n );\n});\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\nimport React, { useCallback, useMemo } from 'react';\n\nimport { DXN, Obj, type Ref, Tag, Type } from '@dxos/echo';\nimport { type JsonPath, splitJsonPath } from '@dxos/echo/internal';\nimport { invariant } from '@dxos/invariant';\nimport { Form, omitId } from '@dxos/react-ui-form';\nimport { isNonNullable } from '@dxos/util';\n\nimport { meta as pluginMeta } from '../../meta';\n\nexport type ObjectFormProps = {\n schema: Schema.Schema.AnyNoContext;\n object: Obj.Unknown;\n};\n\nexport const ObjectForm = ({ object, schema }: ObjectFormProps) => {\n const db = Obj.getDatabase(object);\n\n const formSchema = useMemo(\n () =>\n Schema.Struct({\n tags: Schema.Array(Type.Ref(Tag.Tag)).pipe(Schema.optional),\n }).pipe(Schema.extend(omitId(schema))),\n [schema],\n );\n\n const meta = Obj.getMeta(object);\n const tags = (meta.tags ?? []).map((tag) => db?.makeRef(DXN.parse(tag))).filter(isNonNullable);\n const values = useMemo(() => ({ tags, ...object }), [object, tags]);\n\n const handleCreate = useCallback((schema: Type.Entity.Any, values: any) => {\n invariant(db);\n invariant(Type.isObjectSchema(schema));\n const newObject = db.add(Obj.make(schema, values));\n if (Obj.instanceOf(Tag.Tag, newObject)) {\n Obj.change(object, (obj) => {\n Obj.getMeta(obj).tags = [...(Obj.getMeta(obj).tags ?? []), Obj.getDXN(newObject).toString()];\n });\n }\n }, []);\n\n // TODO(wittjosiah): Use FormRootProps type.\n const handleChange = useCallback(\n ({ tags, ...values }: any, { isValid, changed }: { isValid: boolean; changed: Record<JsonPath, boolean> }) => {\n if (!isValid) {\n return;\n }\n\n const changedPaths = Object.keys(changed).filter((path) => changed[path as JsonPath]) as JsonPath[];\n\n // Handle tags separately using Obj.change.\n const hasTagsChange = changedPaths.some((path) => splitJsonPath(path)[0] === 'tags');\n if (hasTagsChange) {\n Obj.change(object, (obj) => {\n Obj.getMeta(obj).tags = tags?.map((tag: Ref.Ref<Tag.Tag>) => tag.dxn.toString()) ?? [];\n });\n }\n\n // Handle other property changes.\n const nonTagPaths = changedPaths.filter((path) => splitJsonPath(path)[0] !== 'tags');\n if (nonTagPaths.length > 0) {\n Obj.change(object, () => {\n for (const path of nonTagPaths) {\n const parts = splitJsonPath(path);\n const value = Obj.getValue(values, parts);\n Obj.setValue(object, parts, value);\n }\n });\n }\n },\n [object],\n );\n\n return (\n <Form.Root\n schema={omitId(formSchema)}\n values={values}\n createOptionIcon='ph--plus--regular'\n createOptionLabel={['add tag label', { ns: pluginMeta.id }]}\n createInitialValuePath='label'\n db={db}\n onValuesChanged={handleChange}\n onCreate={handleCreate}\n >\n <Form.Viewport>\n <Form.Content>\n <Form.FieldSet />\n </Form.Content>\n </Form.Viewport>\n </Form.Root>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { ObjectCardStack } from './ObjectCardStack';\n\nexport default ObjectCardStack;\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "forwardRef", "Obj", "Filter", "useQuery", "useSchema", "Callout", "Toolbar", "useTranslation", "useSelected", "Card", "Layout", "CardStack", "StackItem", "getTypenameFromQuery", "isNonNullable", "Schema", "React", "useCallback", "useMemo", "DXN", "Obj", "Tag", "Type", "splitJsonPath", "invariant", "Form", "omitId", "isNonNullable", "ObjectForm", "object", "schema", "db", "Obj", "getDatabase", "formSchema", "useMemo", "Struct", "tags", "Array", "Type", "Ref", "Tag", "pipe", "optional", "extend", "omitId", "meta", "getMeta", "map", "tag", "makeRef", "DXN", "parse", "filter", "isNonNullable", "values", "handleCreate", "useCallback", "invariant", "isObjectSchema", "newObject", "add", "make", "instanceOf", "change", "obj", "getDXN", "toString", "handleChange", "isValid", "changed", "changedPaths", "Object", "keys", "path", "hasTagsChange", "some", "splitJsonPath", "dxn", "nonTagPaths", "length", "parts", "value", "getValue", "setValue", "Form", "Root", "createOptionIcon", "createOptionLabel", "ns", "pluginMeta", "id", "createInitialValuePath", "onValuesChanged", "onCreate", "Viewport", "Content", "FieldSet", "ObjectCardStack", "forwardRef", "objectId", "view", "forwardedRef", "t", "useTranslation", "meta", "id", "db", "Obj", "getDatabase", "typename", "query", "getTypenameFromQuery", "ast", "undefined", "schema", "useSchema", "queriedObjects", "useQuery", "Filter", "type", "nothing", "selectedRows", "useSelected", "selectedObjects", "map", "find", "obj", "filter", "isNonNullable", "React", "Layout", "Main", "toolbar", "ref", "Toolbar", "Root", "CardStack", "asChild", "Content", "Stack", "itemsCount", "length", "Item", "Callout", "Title", "object", "key", "StackItem", "item", "Card", "ObjectForm", "ObjectCardStack"]
7
+ }
@@ -0,0 +1,142 @@
1
+ import {
2
+ meta
3
+ } from "./chunk-HSMQFM57.mjs";
4
+
5
+ // src/components/ObjectDetails/ObjectDetails.tsx
6
+ import React2, { forwardRef, useMemo as useMemo2 } from "react";
7
+ import { Surface } from "@dxos/app-framework/react";
8
+ import { Toolbar } from "@dxos/react-ui";
9
+ import { Layout } from "@dxos/react-ui-mosaic";
10
+
11
+ // src/components/ObjectDetails/BaseObjectSettings.tsx
12
+ import * as Function from "effect/Function";
13
+ import * as Option from "effect/Option";
14
+ import * as Schema from "effect/Schema";
15
+ import React, { useCallback, useMemo } from "react";
16
+ import { DXN, Obj, Tag, Type } from "@dxos/echo";
17
+ import { splitJsonPath } from "@dxos/echo/internal";
18
+ import { invariant } from "@dxos/invariant";
19
+ import { Form, omitId } from "@dxos/react-ui-form";
20
+ import { isNonNullable } from "@dxos/util";
21
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-space/src/components/ObjectDetails/BaseObjectSettings.tsx";
22
+ var BaseSchema = Schema.Struct({
23
+ tags: Schema.Array(Type.Ref(Tag.Tag)).pipe(Schema.optional)
24
+ });
25
+ var BaseObjectSettings = ({ classNames, children, object }) => {
26
+ const db = Obj.getDatabase(object);
27
+ const formSchema = useMemo(() => {
28
+ return Function.pipe(Obj.getSchema(object), Option.fromNullable, Option.map((schema) => BaseSchema.pipe(Schema.extend(schema))), Option.getOrUndefined);
29
+ }, [
30
+ object
31
+ ]);
32
+ const meta2 = Obj.getMeta(object);
33
+ const tags = (meta2.tags ?? []).map((tag) => db?.makeRef(DXN.parse(tag))).filter(isNonNullable);
34
+ const values = useMemo(() => ({
35
+ tags,
36
+ ...object
37
+ }), [
38
+ object,
39
+ tags
40
+ ]);
41
+ const handleCreate = useCallback((schema, values2) => {
42
+ invariant(db, void 0, {
43
+ F: __dxlog_file,
44
+ L: 54,
45
+ S: void 0,
46
+ A: [
47
+ "db",
48
+ ""
49
+ ]
50
+ });
51
+ invariant(Type.isObjectSchema(schema), void 0, {
52
+ F: __dxlog_file,
53
+ L: 55,
54
+ S: void 0,
55
+ A: [
56
+ "Type.isObjectSchema(schema)",
57
+ ""
58
+ ]
59
+ });
60
+ const newObject = db.add(Obj.make(schema, values2));
61
+ if (Obj.instanceOf(Tag.Tag, newObject)) {
62
+ Obj.change(object, (obj) => {
63
+ Obj.getMeta(obj).tags = [
64
+ ...Obj.getMeta(obj).tags ?? [],
65
+ Obj.getDXN(newObject).toString()
66
+ ];
67
+ });
68
+ }
69
+ }, []);
70
+ const handleChange = useCallback(({ tags: tags2, ...values2 }, { isValid, changed }) => {
71
+ if (!isValid) {
72
+ return;
73
+ }
74
+ const changedPaths = Object.keys(changed).filter((path) => changed[path]);
75
+ const hasTagsChange = changedPaths.some((path) => splitJsonPath(path)[0] === "tags");
76
+ if (hasTagsChange) {
77
+ Obj.change(object, (obj) => {
78
+ Obj.getMeta(obj).tags = tags2?.map((tag) => tag.dxn.toString()) ?? [];
79
+ });
80
+ }
81
+ const nonTagPaths = changedPaths.filter((path) => splitJsonPath(path)[0] !== "tags");
82
+ if (nonTagPaths.length > 0) {
83
+ Obj.change(object, () => {
84
+ for (const path of nonTagPaths) {
85
+ const parts = splitJsonPath(path);
86
+ const value = Obj.getValue(values2, parts);
87
+ Obj.setValue(object, parts, value);
88
+ }
89
+ });
90
+ }
91
+ }, [
92
+ object
93
+ ]);
94
+ if (!formSchema) {
95
+ return null;
96
+ }
97
+ return /* @__PURE__ */ React.createElement(Form.Root, {
98
+ schema: omitId(formSchema),
99
+ values,
100
+ createOptionIcon: "ph--plus--regular",
101
+ createOptionLabel: [
102
+ "add tag label",
103
+ {
104
+ ns: meta.id
105
+ }
106
+ ],
107
+ createInitialValuePath: "label",
108
+ db,
109
+ onValuesChanged: handleChange,
110
+ onCreate: handleCreate
111
+ }, /* @__PURE__ */ React.createElement(Form.Viewport, null, /* @__PURE__ */ React.createElement(Form.Content, {
112
+ classNames
113
+ }, /* @__PURE__ */ React.createElement(Form.FieldSet, null), children)));
114
+ };
115
+
116
+ // src/components/ObjectDetails/ObjectDetails.tsx
117
+ var ObjectDetails = /* @__PURE__ */ forwardRef(({ role, subject: object }, forwardedRef) => {
118
+ const data = useMemo2(() => ({
119
+ subject: object
120
+ }), [
121
+ object
122
+ ]);
123
+ return /* @__PURE__ */ React2.createElement(Layout.Main, {
124
+ role,
125
+ ref: forwardedRef
126
+ }, /* @__PURE__ */ React2.createElement(Toolbar.Root, null), /* @__PURE__ */ React2.createElement(BaseObjectSettings, {
127
+ object
128
+ }, /* @__PURE__ */ React2.createElement(Surface, {
129
+ role: "base-object-settings",
130
+ data
131
+ }), /* @__PURE__ */ React2.createElement(Surface, {
132
+ role: "object-settings",
133
+ data
134
+ })));
135
+ });
136
+
137
+ // src/components/ObjectDetails/index.ts
138
+ var ObjectDetails_default = ObjectDetails;
139
+ export {
140
+ ObjectDetails_default as default
141
+ };
142
+ //# sourceMappingURL=ObjectDetails-GEDIISKK.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/ObjectDetails/ObjectDetails.tsx", "../../../src/components/ObjectDetails/BaseObjectSettings.tsx", "../../../src/components/ObjectDetails/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { forwardRef, useMemo } from 'react';\n\nimport { Surface, type SurfaceComponentProps } from '@dxos/app-framework/react';\nimport { type Obj } from '@dxos/echo';\nimport { Toolbar } from '@dxos/react-ui';\nimport { Layout } from '@dxos/react-ui-mosaic';\n\nimport { BaseObjectSettings } from './BaseObjectSettings';\n\nexport type ObjectDetailsProps = SurfaceComponentProps<Obj.Unknown>;\n\nexport const ObjectDetails = forwardRef<HTMLDivElement, ObjectDetailsProps>(\n ({ role, subject: object }, forwardedRef) => {\n const data = useMemo(() => ({ subject: object }), [object]);\n\n return (\n <Layout.Main role={role} ref={forwardedRef}>\n <Toolbar.Root />\n <BaseObjectSettings object={object}>\n <Surface role='base-object-settings' data={data} />\n <Surface role='object-settings' data={data} />\n {/* TODO(wittjosiah): Remove (or add as surface)? */}\n {/* <AdvancedObjectSettings object={object} /> */}\n </BaseObjectSettings>\n </Layout.Main>\n );\n },\n);\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Function from 'effect/Function';\nimport * as Option from 'effect/Option';\nimport * as Schema from 'effect/Schema';\nimport React, { type PropsWithChildren, useCallback, useMemo } from 'react';\n\nimport { DXN, Obj, type Ref, Tag, Type } from '@dxos/echo';\nimport { type JsonPath, splitJsonPath } from '@dxos/echo/internal';\nimport { invariant } from '@dxos/invariant';\nimport { type ThemedClassName } from '@dxos/react-ui';\nimport { Form, omitId } from '@dxos/react-ui-form';\nimport { isNonNullable } from '@dxos/util';\n\nimport { meta as pluginMeta } from '../../meta';\n\n// TODO(wittjosiah): Would be nice to control order when extending so this isn't always first/last.\nconst BaseSchema = Schema.Struct({\n tags: Schema.Array(Type.Ref(Tag.Tag)).pipe(Schema.optional),\n});\n\nexport type BaseObjectSettingsProps = ThemedClassName<\n PropsWithChildren<{\n object: Obj.Unknown;\n }>\n>;\n\n// TODO(wittjosiah): Reconcile w/ ObjectDetailsPanel.\nexport const BaseObjectSettings = ({ classNames, children, object }: BaseObjectSettingsProps) => {\n const db = Obj.getDatabase(object);\n\n const formSchema = useMemo(() => {\n return Function.pipe(\n Obj.getSchema(object),\n Option.fromNullable,\n Option.map((schema) => BaseSchema.pipe(Schema.extend(schema))),\n Option.getOrUndefined,\n );\n }, [object]);\n\n const meta = Obj.getMeta(object);\n const tags = (meta.tags ?? []).map((tag) => db?.makeRef(DXN.parse(tag))).filter(isNonNullable);\n const values = useMemo(\n () => ({\n tags,\n ...object,\n }),\n [object, tags],\n );\n\n const handleCreate = useCallback((schema: Type.Entity.Any, values: any) => {\n invariant(db);\n invariant(Type.isObjectSchema(schema));\n const newObject = db.add(Obj.make(schema, values));\n if (Obj.instanceOf(Tag.Tag, newObject)) {\n Obj.change(object, (obj) => {\n Obj.getMeta(obj).tags = [...(Obj.getMeta(obj).tags ?? []), Obj.getDXN(newObject).toString()];\n });\n }\n }, []);\n\n // TODO(wittjosiah): Use FormRootProps type.\n const handleChange = useCallback(\n (\n { tags, ...values }: Schema.Schema.Type<typeof formSchema>,\n { isValid, changed }: { isValid: boolean; changed: Record<JsonPath, boolean> },\n ) => {\n if (!isValid) {\n return;\n }\n\n const changedPaths = Object.keys(changed).filter((path) => changed[path as JsonPath]) as JsonPath[];\n\n // Handle tags separately using Obj.change.\n const hasTagsChange = changedPaths.some((path) => splitJsonPath(path)[0] === 'tags');\n if (hasTagsChange) {\n Obj.change(object, (obj) => {\n Obj.getMeta(obj).tags = tags?.map((tag: Ref.Ref<Tag.Tag>) => tag.dxn.toString()) ?? [];\n });\n }\n\n // Handle other property changes.\n const nonTagPaths = changedPaths.filter((path) => splitJsonPath(path)[0] !== 'tags');\n if (nonTagPaths.length > 0) {\n Obj.change(object, () => {\n for (const path of nonTagPaths) {\n const parts = splitJsonPath(path);\n const value = Obj.getValue(values, parts);\n Obj.setValue(object, parts, value);\n }\n });\n }\n },\n [object],\n );\n\n if (!formSchema) {\n return null;\n }\n\n return (\n <Form.Root\n schema={omitId(formSchema)}\n values={values}\n createOptionIcon='ph--plus--regular'\n createOptionLabel={['add tag label', { ns: pluginMeta.id }]}\n createInitialValuePath='label'\n db={db}\n onValuesChanged={handleChange}\n onCreate={handleCreate}\n >\n <Form.Viewport>\n <Form.Content classNames={classNames}>\n <Form.FieldSet />\n {children}\n </Form.Content>\n </Form.Viewport>\n </Form.Root>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { ObjectDetails } from './ObjectDetails';\n\nexport default ObjectDetails;\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "forwardRef", "useMemo", "Surface", "Toolbar", "Layout", "Function", "Option", "Schema", "React", "useCallback", "useMemo", "DXN", "Obj", "Tag", "Type", "splitJsonPath", "invariant", "Form", "omitId", "isNonNullable", "BaseSchema", "Struct", "tags", "Array", "Type", "Ref", "Tag", "pipe", "optional", "BaseObjectSettings", "classNames", "children", "object", "db", "Obj", "getDatabase", "formSchema", "useMemo", "getSchema", "fromNullable", "map", "schema", "extend", "getOrUndefined", "meta", "getMeta", "tag", "makeRef", "DXN", "parse", "filter", "isNonNullable", "values", "handleCreate", "useCallback", "invariant", "isObjectSchema", "newObject", "add", "make", "instanceOf", "change", "obj", "getDXN", "toString", "handleChange", "isValid", "changed", "changedPaths", "Object", "keys", "path", "hasTagsChange", "some", "splitJsonPath", "dxn", "nonTagPaths", "length", "parts", "value", "getValue", "setValue", "Form", "Root", "omitId", "createOptionIcon", "createOptionLabel", "ns", "pluginMeta", "id", "createInitialValuePath", "onValuesChanged", "onCreate", "Viewport", "Content", "FieldSet", "ObjectDetails", "forwardRef", "role", "subject", "object", "forwardedRef", "data", "useMemo", "React", "Layout", "Main", "ref", "Toolbar", "Root", "BaseObjectSettings", "Surface", "ObjectDetails"]
7
+ }
@@ -0,0 +1,107 @@
1
+ import {
2
+ meta
3
+ } from "./chunk-HSMQFM57.mjs";
4
+
5
+ // src/components/RecordArticle.tsx
6
+ import React, { useMemo } from "react";
7
+ import { Surface } from "@dxos/app-framework/react";
8
+ import { Entity, Filter, Obj, Ref, Relation } from "@dxos/echo";
9
+ import { useQuery } from "@dxos/react-client/echo";
10
+ import { useTranslation } from "@dxos/react-ui";
11
+ import { Masonry } from "@dxos/react-ui-masonry";
12
+ import { Layout, Card as MosaicCard } from "@dxos/react-ui-mosaic";
13
+ import { mx } from "@dxos/ui-theme";
14
+ import { isNonNullable } from "@dxos/util";
15
+ var RecordArticle = ({ role, subject }) => {
16
+ const { t } = useTranslation(meta.id);
17
+ const db = Obj.getDatabase(subject);
18
+ const data = useMemo(() => ({
19
+ subject
20
+ }), [
21
+ subject
22
+ ]);
23
+ const related = useRelatedObjects(db, subject, {
24
+ references: true,
25
+ relations: true
26
+ });
27
+ const singleColumn = related.length === 1;
28
+ return /* @__PURE__ */ React.createElement(Layout.Main, {
29
+ role
30
+ }, /* @__PURE__ */ React.createElement("div", {
31
+ role: "none",
32
+ className: mx("flex flex-col gap-4 p-4 is-full overflow-y-auto")
33
+ }, /* @__PURE__ */ React.createElement("div", {
34
+ role: "none",
35
+ className: mx("flex is-full card-max-width")
36
+ }, /* @__PURE__ */ React.createElement(Surface, {
37
+ role: "section",
38
+ data,
39
+ limit: 1
40
+ })), related.length > 0 && /* @__PURE__ */ React.createElement("div", {
41
+ role: "none",
42
+ className: mx("flex flex-col gap-1", singleColumn ? "card-max-width" : "is-full")
43
+ }, /* @__PURE__ */ React.createElement("label", {
44
+ className: "mbs-2 text-sm text-description"
45
+ }, t("related objects label")), /* @__PURE__ */ React.createElement(Masonry.Root, {
46
+ items: related,
47
+ render: Card,
48
+ columnCount: singleColumn ? 1 : void 0,
49
+ intrinsicHeight: true
50
+ }))));
51
+ };
52
+ var Card = ({ data: subject }) => {
53
+ const data = useMemo(() => ({
54
+ subject
55
+ }), [
56
+ subject
57
+ ]);
58
+ return /* @__PURE__ */ React.createElement(MosaicCard.Root, null, /* @__PURE__ */ React.createElement(MosaicCard.Toolbar, null, /* @__PURE__ */ React.createElement("span", null), /* @__PURE__ */ React.createElement(MosaicCard.Title, null, Entity.getLabel(subject))), /* @__PURE__ */ React.createElement(Surface, {
59
+ role: "card--content",
60
+ data,
61
+ limit: 1
62
+ }));
63
+ };
64
+ var useRelatedObjects = (db, record, options = {}) => {
65
+ const objects = useQuery(db, Filter.everything());
66
+ return useMemo(() => {
67
+ if (!record) {
68
+ return [];
69
+ }
70
+ const related = [];
71
+ if (options.references) {
72
+ const getReferences = (obj) => {
73
+ return Object.getOwnPropertyNames(obj).map((name) => obj[name]).filter((value) => Ref.isRef(value));
74
+ };
75
+ const references = getReferences(record);
76
+ const referenceTargets = references.map((ref) => ref.target).filter(isNonNullable);
77
+ const referenceSources = objects.filter((obj) => {
78
+ const refs = getReferences(obj);
79
+ return refs.some((ref) => ref.target === record);
80
+ });
81
+ related.push(...referenceTargets, ...referenceSources);
82
+ }
83
+ if (options.relations) {
84
+ const isValidRelation = (obj) => {
85
+ try {
86
+ return Relation.isRelation(obj) && Relation.getSource(obj) && Relation.getTarget(obj);
87
+ } catch {
88
+ return false;
89
+ }
90
+ };
91
+ const relations = objects.filter(Relation.isRelation).filter((obj) => isValidRelation(obj));
92
+ const targetObjects = relations.filter((relation) => Relation.getTarget(relation) === record).map((relation) => Relation.getSource(relation));
93
+ const sourceObjects = relations.filter((relation) => Relation.getSource(relation) === record).map((relation) => Relation.getTarget(relation));
94
+ related.push(...targetObjects, ...sourceObjects);
95
+ }
96
+ return related;
97
+ }, [
98
+ record,
99
+ objects
100
+ ]);
101
+ };
102
+ var RecordArticle_default = RecordArticle;
103
+ export {
104
+ RecordArticle,
105
+ RecordArticle_default as default
106
+ };
107
+ //# sourceMappingURL=RecordArticle-W57QE7QV.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/RecordArticle.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useMemo } from 'react';\n\nimport { Surface } from '@dxos/app-framework/react';\nimport { type SurfaceComponentProps } from '@dxos/app-framework/react';\nimport { type Database, Entity, Filter, Obj, Ref, Relation } from '@dxos/echo';\nimport { useQuery } from '@dxos/react-client/echo';\nimport { useTranslation } from '@dxos/react-ui';\nimport { Masonry } from '@dxos/react-ui-masonry';\nimport { Layout, Card as MosaicCard } from '@dxos/react-ui-mosaic';\nimport { mx } from '@dxos/ui-theme';\nimport { isNonNullable } from '@dxos/util';\n\nimport { meta } from '../meta';\n\nexport const RecordArticle = ({ role, subject }: SurfaceComponentProps) => {\n const { t } = useTranslation(meta.id);\n const db = Obj.getDatabase(subject);\n const data = useMemo(() => ({ subject }), [subject]);\n const related = useRelatedObjects(db, subject, {\n references: true,\n relations: true,\n });\n const singleColumn = related.length === 1;\n\n return (\n <Layout.Main role={role}>\n <div role='none' className={mx('flex flex-col gap-4 p-4 is-full overflow-y-auto')}>\n <div role='none' className={mx('flex is-full card-max-width')}>\n <Surface role='section' data={data} limit={1} />\n </div>\n\n {related.length > 0 && (\n <div role='none' className={mx('flex flex-col gap-1', singleColumn ? 'card-max-width' : 'is-full')}>\n <label className='mbs-2 text-sm text-description'>{t('related objects label')}</label>\n <Masonry.Root<Entity.Unknown>\n items={related}\n render={Card}\n columnCount={singleColumn ? 1 : undefined}\n intrinsicHeight\n />\n </div>\n )}\n </div>\n </Layout.Main>\n );\n};\n\nconst Card = ({ data: subject }: { data: Entity.Unknown }) => {\n const data = useMemo(() => ({ subject }), [subject]);\n return (\n <MosaicCard.Root>\n <MosaicCard.Toolbar>\n <span />\n <MosaicCard.Title>{Entity.getLabel(subject)}</MosaicCard.Title>\n </MosaicCard.Toolbar>\n <Surface role='card--content' data={data} limit={1} />\n </MosaicCard.Root>\n );\n};\n\n// TODO(wittjosiah): This is a hack. ECHO needs to have a back reference index to easily query for related objects.\nconst useRelatedObjects = (\n db?: Database.Database,\n record?: Obj.Unknown,\n options: { references?: boolean; relations?: boolean } = {},\n) => {\n const objects = useQuery(db, Filter.everything());\n return useMemo(() => {\n if (!record) {\n return [];\n }\n\n const related: Entity.Unknown[] = [];\n\n // TODO(burdon): Change Person => Organization to relations.\n if (options.references) {\n const getReferences = (obj: Entity.Unknown): Ref.Unknown[] => {\n return Object.getOwnPropertyNames(obj)\n .map((name) => obj[name as keyof Obj.Unknown])\n .filter((value) => Ref.isRef(value)) as Ref.Unknown[];\n };\n\n const references = getReferences(record);\n const referenceTargets = references.map((ref) => ref.target).filter(isNonNullable);\n const referenceSources = objects.filter((obj) => {\n const refs = getReferences(obj);\n return refs.some((ref) => ref.target === record);\n });\n\n related.push(...referenceTargets, ...referenceSources);\n }\n\n if (options.relations) {\n // TODO(dmaretskyi): Workaround until https://github.com/dxos/dxos/pull/10100 lands.\n const isValidRelation = (obj: Relation.Unknown) => {\n try {\n return Relation.isRelation(obj) && Relation.getSource(obj) && Relation.getTarget(obj);\n } catch {\n return false;\n }\n };\n\n const relations = objects.filter(Relation.isRelation).filter((obj) => isValidRelation(obj));\n const targetObjects = relations\n .filter((relation) => Relation.getTarget(relation) === record)\n .map((relation) => Relation.getSource(relation));\n const sourceObjects = relations\n .filter((relation) => Relation.getSource(relation) === record)\n .map((relation) => Relation.getTarget(relation));\n\n related.push(...targetObjects, ...sourceObjects);\n }\n\n return related;\n }, [record, objects]);\n};\n\nexport default RecordArticle;\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "useMemo", "Surface", "Entity", "Filter", "Obj", "Ref", "Relation", "useQuery", "useTranslation", "Masonry", "Layout", "Card", "MosaicCard", "mx", "isNonNullable", "RecordArticle", "role", "subject", "t", "useTranslation", "meta", "id", "db", "Obj", "getDatabase", "data", "useMemo", "related", "useRelatedObjects", "references", "relations", "singleColumn", "length", "Layout", "Main", "div", "className", "mx", "Surface", "limit", "label", "Masonry", "Root", "items", "render", "Card", "columnCount", "undefined", "intrinsicHeight", "MosaicCard", "Toolbar", "span", "Title", "Entity", "getLabel", "record", "options", "objects", "useQuery", "Filter", "everything", "getReferences", "obj", "Object", "getOwnPropertyNames", "map", "name", "filter", "value", "Ref", "isRef", "referenceTargets", "ref", "target", "isNonNullable", "referenceSources", "refs", "some", "push", "isValidRelation", "Relation", "isRelation", "getSource", "getTarget", "targetObjects", "relation", "sourceObjects"]
7
+ }