@dxos/plugin-space 0.8.4-main.a4bbb77 → 0.8.4-main.ae835ea

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 (224) hide show
  1. package/dist/lib/browser/{CollectionMain-AX7KKXWP.mjs → CollectionMain-HTKSZCRR.mjs} +2 -2
  2. package/dist/lib/browser/ObjectDetailsPanel-5B45G744.mjs +145 -0
  3. package/dist/lib/browser/ObjectDetailsPanel-5B45G744.mjs.map +7 -0
  4. package/dist/lib/browser/ObjectSettings-UFTKBP7B.mjs +146 -0
  5. package/dist/lib/browser/ObjectSettings-UFTKBP7B.mjs.map +7 -0
  6. package/dist/lib/browser/RecordMain-BCSXTSEB.mjs +99 -0
  7. package/dist/lib/browser/RecordMain-BCSXTSEB.mjs.map +7 -0
  8. package/dist/lib/browser/{app-graph-builder-W7RVDAUA.mjs → app-graph-builder-QJFO4ANM.mjs} +37 -34
  9. package/dist/lib/browser/app-graph-builder-QJFO4ANM.mjs.map +7 -0
  10. package/dist/lib/browser/{app-graph-serializer-VLHVTDX4.mjs → app-graph-serializer-3R5NVV7U.mjs} +5 -5
  11. package/dist/lib/browser/{chunk-E2I747A7.mjs → chunk-2NS3VPSY.mjs} +2 -2
  12. package/dist/lib/browser/chunk-2NS3VPSY.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-ZIZ2JLW6.mjs → chunk-4V4JNJ33.mjs} +12 -4
  14. package/dist/lib/browser/chunk-4V4JNJ33.mjs.map +7 -0
  15. package/dist/lib/browser/{chunk-2BFVC5K6.mjs → chunk-ENBBJSNE.mjs} +230 -254
  16. package/dist/lib/browser/chunk-ENBBJSNE.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-HS2VD6DN.mjs +166 -0
  18. package/dist/lib/browser/chunk-HS2VD6DN.mjs.map +7 -0
  19. package/dist/lib/browser/{chunk-PN27K4I7.mjs → chunk-OWNBEI5J.mjs} +23 -14
  20. package/dist/lib/browser/chunk-OWNBEI5J.mjs.map +7 -0
  21. package/dist/lib/browser/{chunk-JCHSUOPF.mjs → chunk-SLDQWMQ2.mjs} +12 -7
  22. package/dist/lib/browser/chunk-SLDQWMQ2.mjs.map +7 -0
  23. package/dist/lib/browser/chunk-VZBIIYFM.mjs +16 -0
  24. package/dist/lib/browser/chunk-VZBIIYFM.mjs.map +7 -0
  25. package/dist/lib/browser/{chunk-EIXZABXD.mjs → chunk-WJXU4GKV.mjs} +2 -2
  26. package/dist/lib/browser/index.mjs +31 -31
  27. package/dist/lib/browser/index.mjs.map +3 -3
  28. package/dist/lib/browser/{intent-resolver-HA7DPAUE.mjs → intent-resolver-MBVOLXFQ.mjs} +30 -23
  29. package/dist/lib/browser/intent-resolver-MBVOLXFQ.mjs.map +7 -0
  30. package/dist/lib/browser/meta.json +1 -1
  31. package/dist/lib/browser/{react-root-YQUJU64P.mjs → react-root-NKEKCEYM.mjs} +7 -7
  32. package/dist/lib/browser/{react-surface-HTXYMRSW.mjs → react-surface-PYSN2MBY.mjs} +15 -46
  33. package/dist/lib/browser/react-surface-PYSN2MBY.mjs.map +7 -0
  34. package/dist/lib/browser/{schema-defs-R56ZDBZ7.mjs → schema-defs-DWYK7TYW.mjs} +3 -3
  35. package/dist/lib/browser/{settings-5XPQMSPO.mjs → settings-ZUCC3ZLB.mjs} +3 -3
  36. package/dist/lib/browser/{spaces-ready-YY77ANIF.mjs → spaces-ready-HTWWJHLR.mjs} +6 -6
  37. package/dist/lib/browser/spaces-ready-HTWWJHLR.mjs.map +7 -0
  38. package/dist/lib/browser/{state-Y4RVCG4A.mjs → state-ISVAKMO7.mjs} +3 -3
  39. package/dist/lib/browser/types/index.mjs +2 -2
  40. package/dist/lib/node-esm/{CollectionMain-EU57SRYK.mjs → CollectionMain-OUHGG6OC.mjs} +2 -2
  41. package/dist/lib/node-esm/ObjectDetailsPanel-4SDHQVQU.mjs +146 -0
  42. package/dist/lib/node-esm/ObjectDetailsPanel-4SDHQVQU.mjs.map +7 -0
  43. package/dist/lib/node-esm/ObjectSettings-EU6F43RP.mjs +147 -0
  44. package/dist/lib/node-esm/ObjectSettings-EU6F43RP.mjs.map +7 -0
  45. package/dist/lib/node-esm/RecordMain-SD76DGOR.mjs +100 -0
  46. package/dist/lib/node-esm/RecordMain-SD76DGOR.mjs.map +7 -0
  47. package/dist/lib/node-esm/{app-graph-builder-5ZJJUMQI.mjs → app-graph-builder-B23W62HY.mjs} +37 -34
  48. package/dist/lib/node-esm/app-graph-builder-B23W62HY.mjs.map +7 -0
  49. package/dist/lib/node-esm/{app-graph-serializer-EZJSGJUT.mjs → app-graph-serializer-3Z3EXEEF.mjs} +5 -5
  50. package/dist/lib/node-esm/chunk-BDEFTL6K.mjs +18 -0
  51. package/dist/lib/node-esm/chunk-BDEFTL6K.mjs.map +7 -0
  52. package/dist/lib/node-esm/{chunk-5XRYHWL7.mjs → chunk-G4PDWB7G.mjs} +12 -4
  53. package/dist/lib/node-esm/chunk-G4PDWB7G.mjs.map +7 -0
  54. package/dist/lib/node-esm/{chunk-SVFKU7EW.mjs → chunk-H4JILUJK.mjs} +2 -2
  55. package/dist/lib/node-esm/{chunk-BLPXWPLB.mjs → chunk-KKPCCA5O.mjs} +230 -254
  56. package/dist/lib/node-esm/chunk-KKPCCA5O.mjs.map +7 -0
  57. package/dist/lib/node-esm/chunk-PM4ZIGKC.mjs +167 -0
  58. package/dist/lib/node-esm/chunk-PM4ZIGKC.mjs.map +7 -0
  59. package/dist/lib/node-esm/{chunk-XDQXUZMK.mjs → chunk-XEVIWD3O.mjs} +23 -14
  60. package/dist/lib/node-esm/chunk-XEVIWD3O.mjs.map +7 -0
  61. package/dist/lib/node-esm/{chunk-6WNZW6KT.mjs → chunk-YFQXFQGT.mjs} +12 -7
  62. package/dist/lib/node-esm/chunk-YFQXFQGT.mjs.map +7 -0
  63. package/dist/lib/node-esm/{chunk-IJVBBVCL.mjs → chunk-ZLMFLI7G.mjs} +2 -2
  64. package/dist/lib/node-esm/chunk-ZLMFLI7G.mjs.map +7 -0
  65. package/dist/lib/node-esm/index.mjs +31 -31
  66. package/dist/lib/node-esm/index.mjs.map +3 -3
  67. package/dist/lib/node-esm/{intent-resolver-LQNHMPIX.mjs → intent-resolver-IWI47NTW.mjs} +30 -23
  68. package/dist/lib/node-esm/intent-resolver-IWI47NTW.mjs.map +7 -0
  69. package/dist/lib/node-esm/meta.json +1 -1
  70. package/dist/lib/node-esm/{react-root-UTLJEIKE.mjs → react-root-LX7SIG6M.mjs} +7 -7
  71. package/dist/lib/node-esm/{react-surface-LYDYON3U.mjs → react-surface-6SVGOZNJ.mjs} +15 -46
  72. package/dist/lib/node-esm/react-surface-6SVGOZNJ.mjs.map +7 -0
  73. package/dist/lib/node-esm/{schema-defs-7IMJPIWS.mjs → schema-defs-EOG2UPJU.mjs} +3 -3
  74. package/dist/lib/node-esm/{settings-XBSK5KHH.mjs → settings-ZDJNLFGW.mjs} +3 -3
  75. package/dist/lib/node-esm/{spaces-ready-YX4IHT4P.mjs → spaces-ready-VUGYPF4L.mjs} +6 -6
  76. package/dist/lib/node-esm/spaces-ready-VUGYPF4L.mjs.map +7 -0
  77. package/dist/lib/node-esm/{state-HOHAVPUO.mjs → state-QZ4Q6ZRL.mjs} +3 -3
  78. package/dist/lib/node-esm/types/index.mjs +2 -2
  79. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  80. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  81. package/dist/types/src/capabilities/capabilities.d.ts +2 -1
  82. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  83. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  84. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  85. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  86. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +80 -0
  87. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts.map +1 -1
  88. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +1 -1
  89. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  90. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +1 -1
  91. package/dist/types/src/components/MembersContainer.stories.d.ts +80 -0
  92. package/dist/types/src/components/MembersContainer.stories.d.ts.map +1 -1
  93. package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts +9 -0
  94. package/dist/types/src/components/ObjectDetailsPanel/ObjectDetailsPanel.d.ts.map +1 -0
  95. package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts +10 -0
  96. package/dist/types/src/components/ObjectDetailsPanel/ObjectForm.d.ts.map +1 -0
  97. package/dist/types/src/components/ObjectDetailsPanel/index.d.ts +3 -0
  98. package/dist/types/src/components/ObjectDetailsPanel/index.d.ts.map +1 -0
  99. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts +2 -2
  100. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +1 -1
  101. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts +1500 -0
  102. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.stories.d.ts.map +1 -0
  103. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts +1 -1
  104. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +1 -1
  105. package/dist/types/src/components/ObjectSettings/index.d.ts +2 -1
  106. package/dist/types/src/components/ObjectSettings/index.d.ts.map +1 -1
  107. package/dist/types/src/components/RecordMain.d.ts +4 -3
  108. package/dist/types/src/components/RecordMain.d.ts.map +1 -1
  109. package/dist/types/src/components/RecordMain.stories.d.ts +1667 -0
  110. package/dist/types/src/components/RecordMain.stories.d.ts.map +1 -0
  111. package/dist/types/src/components/SpacePresence.stories.d.ts +80 -0
  112. package/dist/types/src/components/SpacePresence.stories.d.ts.map +1 -1
  113. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +1 -1
  114. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +80 -0
  115. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map +1 -1
  116. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +1 -1
  117. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +81 -1
  118. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  119. package/dist/types/src/components/ViewEditor.d.ts.map +1 -1
  120. package/dist/types/src/components/index.d.ts +4 -6
  121. package/dist/types/src/components/index.d.ts.map +1 -1
  122. package/dist/types/src/hooks/index.d.ts +1 -0
  123. package/dist/types/src/hooks/index.d.ts.map +1 -1
  124. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +1 -1
  125. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  126. package/dist/types/src/hooks/usePath.d.ts +1 -1
  127. package/dist/types/src/hooks/usePath.d.ts.map +1 -1
  128. package/dist/types/src/hooks/useTypeOptions.d.ts +10 -0
  129. package/dist/types/src/hooks/useTypeOptions.d.ts.map +1 -0
  130. package/dist/types/src/meta.d.ts.map +1 -1
  131. package/dist/types/src/translations.d.ts +80 -0
  132. package/dist/types/src/translations.d.ts.map +1 -1
  133. package/dist/types/src/types/types.d.ts +6 -4
  134. package/dist/types/src/types/types.d.ts.map +1 -1
  135. package/dist/types/src/util.d.ts +4 -1
  136. package/dist/types/src/util.d.ts.map +1 -1
  137. package/dist/types/tsconfig.tsbuildinfo +1 -1
  138. package/package.json +50 -48
  139. package/src/SpacePlugin.ts +7 -13
  140. package/src/capabilities/app-graph-builder.ts +29 -24
  141. package/src/capabilities/capabilities.ts +7 -2
  142. package/src/capabilities/intent-resolver.ts +13 -8
  143. package/src/capabilities/react-surface.tsx +6 -77
  144. package/src/capabilities/spaces-ready.ts +1 -1
  145. package/src/components/CreateDialog/CreateObjectDialog.tsx +5 -4
  146. package/src/components/CreateDialog/CreateObjectPanel.tsx +2 -2
  147. package/src/components/CreateDialog/CreateSpaceDialog.tsx +2 -1
  148. package/src/components/MembersContainer.tsx +1 -1
  149. package/src/components/{ObjectDetailsPanel.tsx → ObjectDetailsPanel/ObjectDetailsPanel.tsx} +8 -35
  150. package/src/components/ObjectDetailsPanel/ObjectForm.tsx +75 -0
  151. package/src/components/ObjectDetailsPanel/index.ts +7 -0
  152. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +1 -1
  153. package/src/components/ObjectSettings/BaseObjectSettings.stories.tsx +63 -0
  154. package/src/components/ObjectSettings/BaseObjectSettings.tsx +86 -26
  155. package/src/components/ObjectSettings/ForeignKeys.tsx +1 -1
  156. package/src/components/ObjectSettings/index.ts +3 -1
  157. package/src/components/RecordMain.stories.tsx +116 -0
  158. package/src/components/RecordMain.tsx +69 -29
  159. package/src/components/SchemaContainer.tsx +1 -1
  160. package/src/components/SpacePresence.tsx +1 -1
  161. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +4 -3
  162. package/src/components/SyncStatus/InlineSyncStatus.tsx +5 -5
  163. package/src/components/SyncStatus/SyncStatus.stories.tsx +3 -2
  164. package/src/components/SyncStatus/SyncStatus.tsx +93 -3
  165. package/src/components/ViewEditor.tsx +6 -7
  166. package/src/components/index.ts +1 -1
  167. package/src/hooks/index.ts +1 -0
  168. package/src/hooks/useInputSurfaceLookup.tsx +1 -1
  169. package/src/hooks/usePath.ts +1 -1
  170. package/src/hooks/useTypeOptions.ts +59 -0
  171. package/src/meta.ts +5 -0
  172. package/src/translations.ts +10 -1
  173. package/src/types/types.ts +9 -5
  174. package/src/util.tsx +22 -8
  175. package/dist/lib/browser/ObjectDetailsPanel-ETI5YBTH.mjs +0 -90
  176. package/dist/lib/browser/ObjectDetailsPanel-ETI5YBTH.mjs.map +0 -7
  177. package/dist/lib/browser/RecordMain-TEBGAVSL.mjs +0 -68
  178. package/dist/lib/browser/RecordMain-TEBGAVSL.mjs.map +0 -7
  179. package/dist/lib/browser/app-graph-builder-W7RVDAUA.mjs.map +0 -7
  180. package/dist/lib/browser/chunk-2BFVC5K6.mjs.map +0 -7
  181. package/dist/lib/browser/chunk-E2I747A7.mjs.map +0 -7
  182. package/dist/lib/browser/chunk-ELJDGQTO.mjs +0 -94
  183. package/dist/lib/browser/chunk-ELJDGQTO.mjs.map +0 -7
  184. package/dist/lib/browser/chunk-IRKDREHY.mjs +0 -11
  185. package/dist/lib/browser/chunk-IRKDREHY.mjs.map +0 -7
  186. package/dist/lib/browser/chunk-JCHSUOPF.mjs.map +0 -7
  187. package/dist/lib/browser/chunk-PN27K4I7.mjs.map +0 -7
  188. package/dist/lib/browser/chunk-ZIZ2JLW6.mjs.map +0 -7
  189. package/dist/lib/browser/intent-resolver-HA7DPAUE.mjs.map +0 -7
  190. package/dist/lib/browser/react-surface-HTXYMRSW.mjs.map +0 -7
  191. package/dist/lib/browser/spaces-ready-YY77ANIF.mjs.map +0 -7
  192. package/dist/lib/node-esm/ObjectDetailsPanel-TQ5GN4QJ.mjs +0 -91
  193. package/dist/lib/node-esm/ObjectDetailsPanel-TQ5GN4QJ.mjs.map +0 -7
  194. package/dist/lib/node-esm/RecordMain-WLYJMYER.mjs +0 -70
  195. package/dist/lib/node-esm/RecordMain-WLYJMYER.mjs.map +0 -7
  196. package/dist/lib/node-esm/app-graph-builder-5ZJJUMQI.mjs.map +0 -7
  197. package/dist/lib/node-esm/chunk-5XRYHWL7.mjs.map +0 -7
  198. package/dist/lib/node-esm/chunk-6WNZW6KT.mjs.map +0 -7
  199. package/dist/lib/node-esm/chunk-BLPXWPLB.mjs.map +0 -7
  200. package/dist/lib/node-esm/chunk-IJVBBVCL.mjs.map +0 -7
  201. package/dist/lib/node-esm/chunk-MWNATOXL.mjs +0 -13
  202. package/dist/lib/node-esm/chunk-MWNATOXL.mjs.map +0 -7
  203. package/dist/lib/node-esm/chunk-Q6AAQLQG.mjs +0 -96
  204. package/dist/lib/node-esm/chunk-Q6AAQLQG.mjs.map +0 -7
  205. package/dist/lib/node-esm/chunk-XDQXUZMK.mjs.map +0 -7
  206. package/dist/lib/node-esm/intent-resolver-LQNHMPIX.mjs.map +0 -7
  207. package/dist/lib/node-esm/react-surface-LYDYON3U.mjs.map +0 -7
  208. package/dist/lib/node-esm/spaces-ready-YX4IHT4P.mjs.map +0 -7
  209. package/dist/types/src/components/ObjectDetailsPanel.d.ts +0 -9
  210. package/dist/types/src/components/ObjectDetailsPanel.d.ts.map +0 -1
  211. /package/dist/lib/browser/{CollectionMain-AX7KKXWP.mjs.map → CollectionMain-HTKSZCRR.mjs.map} +0 -0
  212. /package/dist/lib/browser/{app-graph-serializer-VLHVTDX4.mjs.map → app-graph-serializer-3R5NVV7U.mjs.map} +0 -0
  213. /package/dist/lib/browser/{chunk-EIXZABXD.mjs.map → chunk-WJXU4GKV.mjs.map} +0 -0
  214. /package/dist/lib/browser/{react-root-YQUJU64P.mjs.map → react-root-NKEKCEYM.mjs.map} +0 -0
  215. /package/dist/lib/browser/{schema-defs-R56ZDBZ7.mjs.map → schema-defs-DWYK7TYW.mjs.map} +0 -0
  216. /package/dist/lib/browser/{settings-5XPQMSPO.mjs.map → settings-ZUCC3ZLB.mjs.map} +0 -0
  217. /package/dist/lib/browser/{state-Y4RVCG4A.mjs.map → state-ISVAKMO7.mjs.map} +0 -0
  218. /package/dist/lib/node-esm/{CollectionMain-EU57SRYK.mjs.map → CollectionMain-OUHGG6OC.mjs.map} +0 -0
  219. /package/dist/lib/node-esm/{app-graph-serializer-EZJSGJUT.mjs.map → app-graph-serializer-3Z3EXEEF.mjs.map} +0 -0
  220. /package/dist/lib/node-esm/{chunk-SVFKU7EW.mjs.map → chunk-H4JILUJK.mjs.map} +0 -0
  221. /package/dist/lib/node-esm/{react-root-UTLJEIKE.mjs.map → react-root-LX7SIG6M.mjs.map} +0 -0
  222. /package/dist/lib/node-esm/{schema-defs-7IMJPIWS.mjs.map → schema-defs-EOG2UPJU.mjs.map} +0 -0
  223. /package/dist/lib/node-esm/{settings-XBSK5KHH.mjs.map → settings-ZDJNLFGW.mjs.map} +0 -0
  224. /package/dist/lib/node-esm/{state-HOHAVPUO.mjs.map → state-QZ4Q6ZRL.mjs.map} +0 -0
@@ -1,23 +1,23 @@
1
1
  import {
2
2
  SPACE_TYPE,
3
3
  SpaceAction
4
- } from "./chunk-JCHSUOPF.mjs";
4
+ } from "./chunk-SLDQWMQ2.mjs";
5
5
  import {
6
6
  meta
7
- } from "./chunk-IRKDREHY.mjs";
7
+ } from "./chunk-VZBIIYFM.mjs";
8
8
 
9
9
  // src/util.tsx
10
10
  import { Rx } from "@effect-rx/rx-react";
11
- import { pipe } from "effect";
11
+ import * as Function from "effect/Function";
12
12
  import { LayoutAction, chain, createIntent } from "@dxos/app-framework";
13
13
  import { Obj, Ref, Type } from "@dxos/echo";
14
- import { EXPANDO_TYPENAME } from "@dxos/echo-schema";
14
+ import { EXPANDO_TYPENAME } from "@dxos/echo/internal";
15
15
  import { invariant } from "@dxos/invariant";
16
16
  import { Migrations } from "@dxos/migrations";
17
17
  import { ACTION_GROUP_TYPE, ACTION_TYPE, isGraphNode } from "@dxos/plugin-graph";
18
18
  import { SpaceState, fullyQualifiedId, getSpace, isSpace } from "@dxos/react-client/echo";
19
19
  import { ATTENDABLE_PATH_SEPARATOR } from "@dxos/react-ui-attention";
20
- import { DataType, typenameFromQuery } from "@dxos/schema";
20
+ import { DataType, getTypenameFromQuery } from "@dxos/schema";
21
21
  var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-space/src/util.tsx";
22
22
  var SPACES = `${meta.id}-spaces`;
23
23
  var COMPOSER_SPACE_LOCK = `${meta.id}/lock`;
@@ -83,9 +83,11 @@ var getCollectionGraphNodePartials = ({ collection, space, resolve }) => {
83
83
  };
84
84
  };
85
85
  var getQueryCollectionNodePartials = ({ collection, space, resolve }) => {
86
- const typename = typenameFromQuery(collection.query);
86
+ const typename = getTypenameFromQuery(collection.query);
87
+ const metadata = typename ? resolve(typename) : {};
87
88
  return {
88
- icon: typename && resolve(typename)?.icon,
89
+ icon: metadata.icon,
90
+ iconHue: metadata.iconHue,
89
91
  acceptPersistenceClass: /* @__PURE__ */ new Set([
90
92
  "echo"
91
93
  ]),
@@ -121,6 +123,7 @@ var getViewGraphNodePartials = ({ view, resolve }) => {
121
123
  }
122
124
  ],
123
125
  icon: metadata.icon,
126
+ iconHue: metadata.iconHue,
124
127
  canDrop: () => false
125
128
  };
126
129
  };
@@ -153,6 +156,7 @@ var constructSpaceNode = ({ space, navigable = false, personal, namesCache, reso
153
156
  description: space.state.get() === SpaceState.SPACE_READY && space.properties.description,
154
157
  hue: space.state.get() === SpaceState.SPACE_READY && space.properties.hue,
155
158
  icon: space.state.get() === SpaceState.SPACE_READY && space.properties.icon ? `ph--${space.properties.icon}--regular` : void 0,
159
+ iconHue: space.state.get() === SpaceState.SPACE_READY && space.properties.iconHue,
156
160
  disabled: !navigable || space.state.get() !== SpaceState.SPACE_READY || hasPendingMigration,
157
161
  testId: "spacePlugin.space",
158
162
  canDrop: (source) => {
@@ -311,7 +315,9 @@ var createStaticSchemaNode = ({ schema, space }) => {
311
315
  }
312
316
  ],
313
317
  icon: "ph--database--regular",
318
+ iconHue: "green",
314
319
  role: "branch",
320
+ selectable: false,
315
321
  canDrop: () => false,
316
322
  space
317
323
  }
@@ -414,6 +420,7 @@ var createObjectNode = ({ space, object, disposition, droppable = true, navigabl
414
420
  default: "New item"
415
421
  }
416
422
  ];
423
+ const selectable = !Obj.instanceOf(DataType.StoredSchema, object) && !Obj.instanceOf(DataType.QueryCollection, object) && !Obj.instanceOf(DataType.Collection, object) || navigable && Obj.instanceOf(DataType.Collection, object);
417
424
  return {
418
425
  id: fullyQualifiedId(object),
419
426
  type,
@@ -426,10 +433,12 @@ var createObjectNode = ({ space, object, disposition, droppable = true, navigabl
426
433
  properties: {
427
434
  label,
428
435
  icon: metadata.icon ?? "ph--placeholder--regular",
436
+ iconHue: metadata.iconHue,
429
437
  disposition,
430
438
  testId: "spacePlugin.object",
431
439
  persistenceClass: "echo",
432
440
  persistenceKey: space?.id,
441
+ selectable,
433
442
  canDrop: (source) => {
434
443
  return droppable && isGraphNode(source.item) && Obj.isObject(source.item.data);
435
444
  },
@@ -441,7 +450,7 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
441
450
  const space = getSpace(object);
442
451
  invariant(space, "Space not found", {
443
452
  F: __dxlog_file,
444
- L: 518,
453
+ L: 532,
445
454
  S: void 0,
446
455
  A: [
447
456
  "space",
@@ -451,7 +460,7 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
451
460
  const typename = Obj.getTypename(object);
452
461
  invariant(typename, "Object has no typename", {
453
462
  F: __dxlog_file,
454
- L: 520,
463
+ L: 534,
455
464
  S: void 0,
456
465
  A: [
457
466
  "typename",
@@ -460,7 +469,7 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
460
469
  });
461
470
  const getId = (id) => `${id}/${fullyQualifiedId(object)}`;
462
471
  const queryCollection = Obj.instanceOf(DataType.QueryCollection, object) ? object : void 0;
463
- const matchingObjectForm = queryCollection ? objectForms.find((form) => Type.getTypename(form.objectSchema) === typenameFromQuery(queryCollection.query)) : void 0;
472
+ const matchingObjectForm = queryCollection ? objectForms.find((form) => Type.getTypename(form.objectSchema) === getTypenameFromQuery(queryCollection.query)) : void 0;
464
473
  const actions = [
465
474
  ...Obj.instanceOf(DataType.Collection, object) ? [
466
475
  {
@@ -518,10 +527,10 @@ var constructObjectActions = ({ object, graph, dispatch, objectForms, deletable
518
527
  if (matchingObjectForm.formSchema) {
519
528
  await dispatch(createIntent(SpaceAction.OpenCreateObject, {
520
529
  target: space,
521
- typename: queryCollection ? typenameFromQuery(queryCollection.query) : void 0
530
+ typename: queryCollection ? getTypenameFromQuery(queryCollection.query) : void 0
522
531
  }));
523
532
  } else {
524
- await dispatch(pipe(matchingObjectForm.getIntent({}, {
533
+ await dispatch(Function.pipe(matchingObjectForm.getIntent({}, {
525
534
  space
526
535
  }), chain(SpaceAction.AddObject, {
527
536
  target: space,
@@ -666,7 +675,7 @@ var cloneObject = async (object, resolve, newSpace) => {
666
675
  const serializer = metadata.serializer;
667
676
  invariant(serializer, `No serializer for type: ${typename}`, {
668
677
  F: __dxlog_file,
669
- L: 714,
678
+ L: 728,
670
679
  S: void 0,
671
680
  A: [
672
681
  "serializer",
@@ -698,4 +707,4 @@ export {
698
707
  getNestedObjects,
699
708
  cloneObject
700
709
  };
701
- //# sourceMappingURL=chunk-PN27K4I7.mjs.map
710
+ //# sourceMappingURL=chunk-OWNBEI5J.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/util.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Rx } from '@effect-rx/rx-react';\nimport * as Function from 'effect/Function';\n\nimport { LayoutAction, type PromiseIntentDispatcher, chain, createIntent } from '@dxos/app-framework';\nimport { Obj, Ref, Type } from '@dxos/echo';\nimport { type AnyEchoObject, EXPANDO_TYPENAME } from '@dxos/echo/internal';\nimport { invariant } from '@dxos/invariant';\nimport { Migrations } from '@dxos/migrations';\nimport {\n ACTION_GROUP_TYPE,\n ACTION_TYPE,\n type ActionData,\n type InvokeParams,\n type Node,\n type NodeArg,\n type ReadableGraph,\n isGraphNode,\n} from '@dxos/plugin-graph';\nimport { type QueryResult, type Space, SpaceState, fullyQualifiedId, getSpace, isSpace } from '@dxos/react-client/echo';\nimport { ATTENDABLE_PATH_SEPARATOR } from '@dxos/react-ui-attention';\nimport { type TreeData } from '@dxos/react-ui-list';\nimport { DataType, getTypenameFromQuery } from '@dxos/schema';\n\nimport { meta } from './meta';\nimport { type ObjectForm, SPACE_TYPE, SpaceAction } from './types';\n\nexport const SPACES = `${meta.id}-spaces`;\nexport const COMPOSER_SPACE_LOCK = `${meta.id}/lock`;\n// TODO(wittjosiah): Remove.\nexport const SHARED = 'shared-spaces';\n\n/**\n * Convert a query result to an Rx value of the objects.\n */\nexport const rxFromQuery = <T extends AnyEchoObject>(query: QueryResult<T>): Rx.Rx<T[]> => {\n return Rx.make((get) => {\n const unsubscribe = query.subscribe((result) => {\n get.setSelf(result.objects);\n });\n\n get.addFinalizer(() => unsubscribe());\n return query.objects;\n });\n};\n\n// TODO(wittjosiah): Factor out? Expose via capability?\nexport const getSpaceDisplayName = (\n space: Space,\n { personal, namesCache = {} }: { personal?: boolean; namesCache?: Record<string, string> } = {},\n): string | [string, { ns: string }] => {\n return space.state.get() === SpaceState.SPACE_READY && (space.properties.name?.length ?? 0) > 0\n ? space.properties.name\n : namesCache[space.id]\n ? namesCache[space.id]\n : personal\n ? ['personal space label', { ns: meta.id }]\n : ['unnamed space label', { ns: meta.id }];\n};\n\nconst getCollectionGraphNodePartials = ({\n collection,\n space,\n resolve,\n}: {\n collection: DataType.Collection;\n space: Space;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n return {\n acceptPersistenceClass: new Set(['echo']),\n acceptPersistenceKey: new Set([space.id]),\n role: 'branch',\n onRearrangeChildren: (nextOrder: unknown[]) => {\n // Change on disk.\n collection.objects = nextOrder.filter(Obj.isObject).map(Ref.make);\n },\n onTransferStart: (child: Node<Obj.Any>, index?: number) => {\n // TODO(wittjosiah): Support transfer between spaces.\n // const childSpace = getSpace(child.data);\n // if (space && childSpace && !childSpace.key.equals(space.key)) {\n // // Create clone of child and add to destination space.\n // const newObject = clone(child.data, {\n // // TODO(wittjosiah): This needs to be generalized and not hardcoded here.\n // additional: [\n // child.data.content,\n // ...(child.data.objects ?? []),\n // ...(child.data.objects ?? []).map((object: TypedObject) => object.content),\n // ],\n // });\n // space.db.add(newObject);\n // collection.objects.push(newObject);\n // } else {\n\n // Add child to destination collection.\n // TODO(dmaretskyi): Compare by id.\n if (!collection.objects.find((object) => object.target === child.data)) {\n if (typeof index !== 'undefined') {\n collection.objects.splice(index, 0, Ref.make(child.data));\n } else {\n collection.objects.push(Ref.make(child.data));\n }\n }\n\n // }\n },\n onTransferEnd: (child: Node<Obj.Any>, destination: Node) => {\n // Remove child from origin collection.\n const index = collection.objects.findIndex((object) => object.target === child.data);\n if (index > -1) {\n collection.objects.splice(index, 1);\n }\n\n // TODO(wittjosiah): Support transfer between spaces.\n // const childSpace = getSpace(child.data);\n // const destinationSpace =\n // destination.data instanceof SpaceProxy ? destination.data : getSpace(destination.data);\n // if (destinationSpace && childSpace && !childSpace.key.equals(destinationSpace.key)) {\n // // Mark child as deleted in origin space.\n // childSpace.db.remove(child.data);\n // }\n },\n onCopy: async (child: Node<Obj.Any>, index?: number) => {\n // Create clone of child and add to destination space.\n const newObject = await cloneObject(child.data, resolve, space);\n space.db.add(newObject);\n if (typeof index !== 'undefined') {\n collection.objects.splice(index, 0, Ref.make(newObject));\n } else {\n collection.objects.push(Ref.make(newObject));\n }\n },\n };\n};\n\nconst getQueryCollectionNodePartials = ({\n collection,\n space,\n resolve,\n}: {\n collection: DataType.QueryCollection;\n space: Space;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const typename = getTypenameFromQuery(collection.query);\n const metadata = typename ? resolve(typename) : {};\n return {\n icon: metadata.icon,\n iconHue: metadata.iconHue,\n acceptPersistenceClass: new Set(['echo']),\n acceptPersistenceKey: new Set([space.id]),\n role: 'branch',\n canDrop: (source: TreeData) => {\n return (\n isGraphNode(source.item) && Obj.isObject(source.item.data) && Obj.getTypename(source.item.data) === typename\n );\n },\n onTransferStart: (child: Node<Obj.Any>, index?: number) => {\n // No-op. Objects are moved into query collections by being removed from their original collection.\n },\n onTransferEnd: (child: Node<Obj.Any>, destination: Node) => {\n // No-op. Objects are moved out of query collections by being added to another collection.\n },\n };\n};\n\nconst getSchemaGraphNodePartials = () => {\n return {\n role: 'branch',\n canDrop: () => false,\n };\n};\n\nconst getViewGraphNodePartials = ({\n view,\n resolve,\n}: {\n view: DataType.View;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const presentation = view.presentation.target;\n const typename = presentation ? Obj.getTypename(presentation) : undefined;\n const metadata = typename ? resolve(typename) : {};\n\n return {\n label: view.name || ['object name placeholder', { ns: typename, default: 'New view' }],\n icon: metadata.icon,\n iconHue: metadata.iconHue,\n canDrop: () => false,\n };\n};\n\nconst checkPendingMigration = (space: Space) => {\n return (\n space.state.get() === SpaceState.SPACE_REQUIRES_MIGRATION ||\n (space.state.get() === SpaceState.SPACE_READY &&\n !!Migrations.versionProperty &&\n space.properties[Migrations.versionProperty] !== Migrations.targetVersion)\n );\n};\n\nexport const constructSpaceNode = ({\n space,\n navigable = false,\n personal,\n namesCache,\n resolve,\n}: {\n space: Space;\n navigable?: boolean;\n personal?: boolean;\n namesCache?: Record<string, string>;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const hasPendingMigration = checkPendingMigration(space);\n const collection =\n space.state.get() === SpaceState.SPACE_READY && space.properties[DataType.Collection.typename]?.target;\n const partials =\n space.state.get() === SpaceState.SPACE_READY && Obj.instanceOf(DataType.Collection, collection)\n ? getCollectionGraphNodePartials({ collection, space, resolve })\n : {};\n\n return {\n id: space.id,\n type: SPACE_TYPE,\n cacheable: ['label', 'icon', 'role'],\n data: space,\n properties: {\n ...partials,\n label: getSpaceDisplayName(space, { personal, namesCache }),\n description: space.state.get() === SpaceState.SPACE_READY && space.properties.description,\n hue: space.state.get() === SpaceState.SPACE_READY && space.properties.hue,\n icon:\n space.state.get() === SpaceState.SPACE_READY && space.properties.icon\n ? `ph--${space.properties.icon}--regular`\n : undefined,\n iconHue: space.state.get() === SpaceState.SPACE_READY && space.properties.iconHue,\n disabled: !navigable || space.state.get() !== SpaceState.SPACE_READY || hasPendingMigration,\n testId: 'spacePlugin.space',\n canDrop: (source: TreeData) => {\n // TODO(wittjosiah): Find a way to only allow space as source for rearranging.\n return Obj.isObject(source.item.data) || isSpace(source.item.data);\n },\n },\n nodes: [\n {\n id: `settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${meta.id}/settings`,\n data: null,\n properties: {\n label: ['settings panel label', { ns: meta.id }],\n icon: 'ph--faders--regular',\n disposition: 'alternate-tree',\n },\n nodes: [\n {\n id: `properties-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${meta.id}/properties`,\n data: `${meta.id}/properties`,\n properties: {\n label: ['space settings properties label', { ns: meta.id }],\n icon: 'ph--sliders--regular',\n position: 'hoist',\n },\n },\n {\n id: `members-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${meta.id}/members`,\n data: `${meta.id}/members`,\n properties: {\n label: ['members panel label', { ns: meta.id }],\n icon: 'ph--users--regular',\n position: 'hoist',\n },\n },\n {\n id: `schema-settings${ATTENDABLE_PATH_SEPARATOR}${space.id}`,\n type: `${meta.id}/schema`,\n data: `${meta.id}/schema`,\n properties: {\n label: ['space settings schema label', { ns: meta.id }],\n icon: 'ph--shapes--regular',\n },\n },\n ],\n },\n ],\n };\n};\n\nexport const constructSpaceActions = ({\n space,\n dispatch,\n personal,\n migrating,\n}: {\n space: Space;\n dispatch: PromiseIntentDispatcher;\n personal?: boolean;\n migrating?: boolean;\n}) => {\n const state = space.state.get();\n const hasPendingMigration = checkPendingMigration(space);\n const getId = (id: string) => `${id}/${space.id}`;\n const actions: NodeArg<ActionData>[] = [];\n\n if (hasPendingMigration) {\n actions.push({\n id: getId(SpaceAction.Migrate._tag),\n type: ACTION_GROUP_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.Migrate, { space }));\n },\n properties: {\n label: ['migrate space label', { ns: meta.id }],\n icon: 'ph--database--regular',\n disposition: 'list-item-primary',\n disabled: migrating || Migrations.running(space),\n },\n });\n }\n\n if (state === SpaceState.SPACE_READY && !hasPendingMigration) {\n actions.push(\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: space }));\n },\n properties: {\n label: ['create object in space label', { ns: meta.id }],\n icon: 'ph--plus--regular',\n disposition: 'item',\n testId: 'spacePlugin.createObject',\n },\n },\n {\n id: getId(SpaceAction.Rename._tag),\n type: ACTION_TYPE,\n data: async (params?: InvokeParams) => {\n await dispatch(createIntent(SpaceAction.Rename, { space, caller: params?.caller }));\n },\n properties: {\n label: ['rename space label', { ns: meta.id }],\n icon: 'ph--pencil-simple-line--regular',\n keyBinding: {\n macos: 'shift+F6',\n windows: 'shift+F6',\n },\n },\n },\n );\n }\n\n return actions;\n};\n\nexport const createStaticSchemaNode = ({ schema, space }: { schema: Type.Obj.Any; space: Space }) => {\n return {\n id: `${space.id}/${Type.getTypename(schema)}`,\n type: `${meta.id}/static-schema`,\n data: schema,\n properties: {\n label: ['typename label', { ns: Type.getTypename(schema), default: Type.getTypename(schema) }],\n icon: 'ph--database--regular',\n iconHue: 'green',\n role: 'branch',\n selectable: false,\n canDrop: () => false,\n space,\n },\n };\n};\n\nexport const createStaticSchemaActions = ({\n schema,\n space,\n dispatch,\n deletable,\n}: {\n schema: Type.Obj.Any;\n space: Space;\n dispatch: PromiseIntentDispatcher;\n deletable: boolean;\n}) => {\n const getId = (id: string) => `${space.id}/${Type.getTypename(schema)}/${id}`;\n\n const actions: NodeArg<ActionData>[] = [\n {\n id: getId(SpaceAction.AddObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(\n createIntent(SpaceAction.OpenCreateObject, {\n target: space,\n views: true,\n initialFormValues: { typename: Type.getTypename(schema) },\n }),\n );\n },\n properties: {\n label: ['add view to schema label', { ns: Type.getTypename(DataType.StoredSchema) }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.addViewToSchema',\n },\n },\n {\n id: getId(SpaceAction.RenameObject._tag),\n type: ACTION_TYPE,\n data: async (params?: InvokeParams) => {\n throw new Error('Not implemented');\n },\n properties: {\n label: ['rename object label', { ns: Type.getTypename(DataType.StoredSchema) }],\n icon: 'ph--pencil-simple-line--regular',\n disabled: true,\n disposition: 'list-item',\n testId: 'spacePlugin.renameObject',\n },\n },\n {\n id: getId(SpaceAction.RemoveObjects._tag),\n type: ACTION_TYPE,\n data: async () => {\n const index = space.properties.staticRecords.findIndex(\n (typename: string) => typename === Type.getTypename(schema),\n );\n if (index > -1) {\n space.properties.staticRecords.splice(index, 1);\n }\n },\n properties: {\n label: ['delete object label', { ns: Type.getTypename(DataType.StoredSchema) }],\n icon: 'ph--trash--regular',\n disposition: 'list-item',\n disabled: !deletable,\n testId: 'spacePlugin.deleteObject',\n },\n },\n ];\n\n return actions;\n};\n\nexport const createObjectNode = ({\n space,\n object,\n disposition,\n droppable = true,\n navigable = false,\n resolve,\n}: {\n space: Space;\n object: Obj.Any;\n disposition?: string;\n droppable?: boolean;\n navigable?: boolean;\n resolve: (typename: string) => Record<string, any>;\n}) => {\n const type = Obj.getTypename(object);\n if (!type) {\n return null;\n }\n\n const metadata = resolve(type);\n const partials = Obj.instanceOf(DataType.Collection, object)\n ? getCollectionGraphNodePartials({ collection: object, space, resolve })\n : Obj.instanceOf(DataType.QueryCollection, object)\n ? getQueryCollectionNodePartials({ collection: object, space, resolve })\n : Obj.instanceOf(DataType.StoredSchema, object)\n ? getSchemaGraphNodePartials()\n : Obj.instanceOf(DataType.View, object)\n ? getViewGraphNodePartials({ view: object, resolve })\n : metadata.graphProps;\n\n // TODO(wittjosiah): Obj.getLabel isn't triggering reactivity in some cases.\n // e.g., create new collection with no name and rename it.\n const label = (object as any).name ||\n Obj.getLabel(object) ||\n // TODO(wittjosiah): Remove metadata labels.\n metadata.label?.(object) || ['object name placeholder', { ns: type, default: 'New item' }];\n\n const selectable =\n (!Obj.instanceOf(DataType.StoredSchema, object) &&\n !Obj.instanceOf(DataType.QueryCollection, object) &&\n !Obj.instanceOf(DataType.Collection, object)) ||\n (navigable && Obj.instanceOf(DataType.Collection, object));\n\n return {\n id: fullyQualifiedId(object),\n type,\n cacheable: ['label', 'icon', 'role'],\n data: object,\n properties: {\n label,\n icon: metadata.icon ?? 'ph--placeholder--regular',\n iconHue: metadata.iconHue,\n disposition,\n testId: 'spacePlugin.object',\n persistenceClass: 'echo',\n persistenceKey: space?.id,\n selectable,\n canDrop: (source: TreeData) => {\n return droppable && isGraphNode(source.item) && Obj.isObject(source.item.data);\n },\n ...partials,\n },\n };\n};\n\nexport const constructObjectActions = ({\n object,\n graph,\n dispatch,\n objectForms,\n deletable = true,\n navigable = false,\n}: {\n object: Obj.Any;\n graph: ReadableGraph;\n dispatch: PromiseIntentDispatcher;\n objectForms: ObjectForm<any>[];\n deletable?: boolean;\n navigable?: boolean;\n}) => {\n const space = getSpace(object);\n invariant(space, 'Space not found');\n const typename = Obj.getTypename(object);\n invariant(typename, 'Object has no typename');\n\n const getId = (id: string) => `${id}/${fullyQualifiedId(object)}`;\n\n const queryCollection = Obj.instanceOf(DataType.QueryCollection, object) ? object : undefined;\n const matchingObjectForm = queryCollection\n ? objectForms.find((form) => Type.getTypename(form.objectSchema) === getTypenameFromQuery(queryCollection.query))\n : undefined;\n\n const actions: NodeArg<ActionData>[] = [\n ...(Obj.instanceOf(DataType.Collection, object)\n ? [\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(SpaceAction.OpenCreateObject, { target: object }));\n },\n properties: {\n label: ['create object in collection label', { ns: meta.id }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.createObject',\n },\n },\n ]\n : []),\n ...(Obj.instanceOf(DataType.StoredSchema, object)\n ? [\n {\n id: getId(SpaceAction.AddObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(\n createIntent(SpaceAction.OpenCreateObject, {\n target: space,\n views: true,\n initialFormValues: { typename: object.typename },\n }),\n );\n },\n properties: {\n label: ['add view to schema label', { ns: Type.getTypename(DataType.StoredSchema) }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.addViewToSchema',\n },\n },\n ]\n : []),\n ...(matchingObjectForm\n ? [\n {\n id: getId(SpaceAction.OpenCreateObject._tag),\n type: ACTION_TYPE,\n data: async () => {\n if (matchingObjectForm.formSchema) {\n await dispatch(\n createIntent(SpaceAction.OpenCreateObject, {\n target: space,\n typename: queryCollection ? getTypenameFromQuery(queryCollection.query) : undefined,\n }),\n );\n } else {\n await dispatch(\n Function.pipe(\n matchingObjectForm.getIntent({}, { space }),\n chain(SpaceAction.AddObject, { target: space, hidden: true }),\n chain(LayoutAction.Open, { part: 'main' }),\n ),\n );\n }\n },\n properties: {\n label: ['create object in smart collection label', { ns: meta.id }],\n icon: 'ph--plus--regular',\n disposition: 'list-item-primary',\n testId: 'spacePlugin.createObject',\n },\n },\n ]\n : []),\n {\n id: getId(SpaceAction.RenameObject._tag),\n type: ACTION_TYPE,\n data: async (params?: InvokeParams) => {\n await dispatch(createIntent(SpaceAction.RenameObject, { object, caller: params?.caller }));\n },\n properties: {\n label: ['rename object label', { ns: typename }],\n icon: 'ph--pencil-simple-line--regular',\n disposition: 'list-item',\n // TODO(wittjosiah): Not working.\n // keyBinding: {\n // macos: 'shift+F6',\n // },\n testId: 'spacePlugin.renameObject',\n },\n },\n {\n id: getId(SpaceAction.RemoveObjects._tag),\n type: ACTION_TYPE,\n data: async () => {\n const collection = graph\n .getConnections(fullyQualifiedId(object), 'inbound')\n .find(({ data }) => Obj.instanceOf(DataType.Collection, data))?.data;\n await dispatch(createIntent(SpaceAction.RemoveObjects, { objects: [object], target: collection }));\n },\n properties: {\n label: ['delete object label', { ns: typename }],\n icon: 'ph--trash--regular',\n disposition: 'list-item',\n disabled: !deletable,\n // TODO(wittjosiah): This is a browser shortcut.\n // keyBinding: object instanceof CollectionType ? undefined : 'shift+meta+Backspace',\n testId: 'spacePlugin.deleteObject',\n },\n },\n ...(navigable ||\n (!Obj.instanceOf(DataType.Collection, object) &&\n !Obj.instanceOf(DataType.QueryCollection, object) &&\n !Obj.instanceOf(DataType.StoredSchema, object))\n ? [\n {\n id: getId('copy-link'),\n type: ACTION_TYPE,\n data: async () => {\n const url = `${window.location.origin}/${space.id}/${fullyQualifiedId(object)}`;\n await navigator.clipboard.writeText(url);\n },\n properties: {\n label: ['copy link label', { ns: meta.id }],\n icon: 'ph--link--regular',\n disposition: 'list-item',\n testId: 'spacePlugin.copyLink',\n },\n },\n ]\n : []),\n // TODO(wittjosiah): Factor out and apply to all nodes.\n {\n id: getId(LayoutAction.Expose._tag),\n type: ACTION_TYPE,\n data: async () => {\n await dispatch(createIntent(LayoutAction.Expose, { part: 'navigation', subject: fullyQualifiedId(object) }));\n },\n properties: {\n label: ['expose object label', { ns: meta.id }],\n icon: 'ph--eye--regular',\n disposition: 'heading-list-item',\n testId: 'spacePlugin.exposeObject',\n },\n },\n ];\n\n return actions;\n};\n\n/**\n * @deprecated This is a temporary solution.\n */\nexport const getNestedObjects = async (\n object: Obj.Any,\n resolve: (typename: string) => Record<string, any>,\n): Promise<Obj.Any[]> => {\n const type = Obj.getTypename(object);\n if (!type) {\n return [];\n }\n\n const metadata = resolve(type);\n const loadReferences = metadata?.loadReferences;\n if (typeof loadReferences !== 'function') {\n return [];\n }\n\n const objects: Obj.Any[] = await loadReferences(object);\n const nested = await Promise.all(objects.map((object) => getNestedObjects(object, resolve)));\n return [...objects, ...nested.flat()];\n};\n\n/**\n * @deprecated Workaround for ECHO not supporting clone.\n */\n// TODO(burdon): Remove.\nexport const cloneObject = async (\n object: Type.Expando,\n resolve: (typename: string) => Record<string, any>,\n newSpace: Space,\n): Promise<Type.Expando> => {\n const schema = Obj.getSchema(object);\n const typename = schema ? (Type.getTypename(schema) ?? EXPANDO_TYPENAME) : EXPANDO_TYPENAME;\n const metadata = resolve(typename);\n const serializer = metadata.serializer;\n invariant(serializer, `No serializer for type: ${typename}`);\n const content = await serializer.serialize({ object });\n return serializer.deserialize({ content, space: newSpace, newId: true });\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["Rx", "Function", "LayoutAction", "chain", "createIntent", "Obj", "Ref", "Type", "EXPANDO_TYPENAME", "invariant", "Migrations", "ACTION_GROUP_TYPE", "ACTION_TYPE", "isGraphNode", "SpaceState", "fullyQualifiedId", "getSpace", "isSpace", "ATTENDABLE_PATH_SEPARATOR", "DataType", "getTypenameFromQuery", "SPACES", "meta", "id", "COMPOSER_SPACE_LOCK", "SHARED", "rxFromQuery", "query", "Rx", "make", "get", "unsubscribe", "subscribe", "result", "setSelf", "objects", "addFinalizer", "getSpaceDisplayName", "space", "personal", "namesCache", "state", "SpaceState", "SPACE_READY", "properties", "name", "length", "ns", "getCollectionGraphNodePartials", "collection", "resolve", "acceptPersistenceClass", "Set", "acceptPersistenceKey", "role", "onRearrangeChildren", "nextOrder", "filter", "Obj", "isObject", "map", "Ref", "onTransferStart", "child", "index", "find", "object", "target", "data", "splice", "push", "onTransferEnd", "destination", "findIndex", "onCopy", "newObject", "cloneObject", "db", "add", "getQueryCollectionNodePartials", "typename", "getTypenameFromQuery", "metadata", "icon", "iconHue", "canDrop", "source", "isGraphNode", "item", "getTypename", "getSchemaGraphNodePartials", "getViewGraphNodePartials", "view", "presentation", "undefined", "label", "default", "checkPendingMigration", "SPACE_REQUIRES_MIGRATION", "Migrations", "versionProperty", "targetVersion", "constructSpaceNode", "navigable", "hasPendingMigration", "DataType", "Collection", "partials", "instanceOf", "type", "SPACE_TYPE", "cacheable", "description", "hue", "disabled", "testId", "isSpace", "nodes", "ATTENDABLE_PATH_SEPARATOR", "disposition", "position", "constructSpaceActions", "dispatch", "migrating", "getId", "actions", "SpaceAction", "Migrate", "_tag", "ACTION_GROUP_TYPE", "createIntent", "running", "OpenCreateObject", "ACTION_TYPE", "Rename", "params", "caller", "keyBinding", "macos", "windows", "createStaticSchemaNode", "schema", "Type", "selectable", "createStaticSchemaActions", "deletable", "AddObject", "views", "initialFormValues", "StoredSchema", "RenameObject", "Error", "RemoveObjects", "staticRecords", "createObjectNode", "droppable", "QueryCollection", "View", "graphProps", "getLabel", "fullyQualifiedId", "persistenceClass", "persistenceKey", "constructObjectActions", "graph", "objectForms", "getSpace", "invariant", "queryCollection", "matchingObjectForm", "form", "objectSchema", "formSchema", "pipe", "getIntent", "chain", "hidden", "LayoutAction", "Open", "part", "getConnections", "url", "window", "location", "origin", "navigator", "clipboard", "writeText", "Expose", "subject", "getNestedObjects", "loadReferences", "nested", "Promise", "all", "flat", "newSpace", "getSchema", "EXPANDO_TYPENAME", "serializer", "content", "serialize", "deserialize", "newId"]
7
+ }
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  meta
3
- } from "./chunk-IRKDREHY.mjs";
3
+ } from "./chunk-VZBIIYFM.mjs";
4
4
 
5
5
  // src/types/types.ts
6
- import { Schema } from "effect";
6
+ import * as Schema from "effect/Schema";
7
7
  import { Type } from "@dxos/echo";
8
- import { EchoSchema, StoredSchema } from "@dxos/echo-schema";
8
+ import { EchoSchema, StoredSchema } from "@dxos/echo/internal";
9
9
  import { EchoObjectSchema, ReactiveObjectSchema, SpaceSchema } from "@dxos/react-client/echo";
10
10
  import { CancellableInvitationObservable, Invitation } from "@dxos/react-client/invitations";
11
11
  import { DataType, FieldSchema, TypenameAnnotationId } from "@dxos/schema";
@@ -163,7 +163,9 @@ var SPACE_ACTION = `${meta.id}/action`;
163
163
  class UseStaticSchema extends Schema.TaggedClass()(`${SPACE_ACTION}/use-static-schema`, {
164
164
  input: Schema.Struct({
165
165
  space: SpaceSchema,
166
- typename: Schema.String
166
+ typename: Schema.String,
167
+ // TODO(wittjosiah): This is leaky.
168
+ show: Schema.optional(Schema.Boolean)
167
169
  }),
168
170
  output: Schema.Struct({})
169
171
  }) {
@@ -177,7 +179,9 @@ var SPACE_ACTION = `${meta.id}/action`;
177
179
  // TODO(wittjosiah): Semantic version format.
178
180
  version: Schema.optional(Schema.String),
179
181
  // TODO(wittjosiah): Schema for schema?
180
- schema: Schema.Any
182
+ schema: Schema.Any,
183
+ // TODO(wittjosiah): This is leaky.
184
+ show: Schema.optional(Schema.Boolean)
181
185
  }),
182
186
  output: Schema.Struct({
183
187
  // TODO(wittjosiah): ObjectId.
@@ -262,7 +266,8 @@ var SPACE_ACTION = `${meta.id}/action`;
262
266
  });
263
267
  class RemoveObjects extends Schema.TaggedClass()(`${SPACE_ACTION}/remove-objects`, {
264
268
  input: Schema.Struct({
265
- objects: Schema.Array(EchoObjectSchema),
269
+ // TODO(wittjosiah): Should be Schema.Union(Type.Obj, Type.Relation).
270
+ objects: Schema.Array(ReactiveObjectSchema),
266
271
  target: Schema.optional(DataType.Collection),
267
272
  deletionData: Schema.optional(SpaceAction2.DeletionData)
268
273
  }),
@@ -341,4 +346,4 @@ export {
341
346
  SpaceAction,
342
347
  CollectionAction
343
348
  };
344
- //# sourceMappingURL=chunk-JCHSUOPF.mjs.map
349
+ //# sourceMappingURL=chunk-SLDQWMQ2.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types/types.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { type AnyIntentChain } from '@dxos/app-framework';\nimport { type Obj, Type } from '@dxos/echo';\nimport { type BaseObject, EchoSchema, StoredSchema } from '@dxos/echo/internal';\nimport { type PublicKey } from '@dxos/react-client';\n// TODO(wittjosiah): This pulls in full client.\nimport { EchoObjectSchema, ReactiveObjectSchema, type Space, SpaceSchema } from '@dxos/react-client/echo';\nimport { CancellableInvitationObservable, Invitation } from '@dxos/react-client/invitations';\nimport { DataType, FieldSchema, TypenameAnnotationId } from '@dxos/schema';\nimport { type ComplexMap } from '@dxos/util';\n\nimport { meta } from '../meta';\n\nexport const SPACE_DIRECTORY_HANDLE = `${meta.id}/directory`;\n\nexport const SPACE_TYPE = 'dxos.org/type/Space';\n\nexport type ObjectViewerProps = {\n lastSeen: number;\n currentlyAttended: boolean;\n};\n\nexport type ObjectId = string;\n\nexport type PluginState = {\n /**\n * Which objects are currently being viewed by which peers.\n */\n viewersByObject: Record<ObjectId, ComplexMap<PublicKey, ObjectViewerProps>>;\n\n /**\n * Which peers are currently viewing which objects.\n */\n viewersByIdentity: ComplexMap<PublicKey, Set<ObjectId>>;\n\n /**\n * Object that was linked to directly but not found and is being awaited.\n */\n awaiting: string | undefined;\n\n /**\n * Cached space names, used when spaces are closed or loading.\n */\n spaceNames: Record<string, string>;\n\n /**\n * Which spaces have an SDK migration running currently.\n */\n // TODO(wittjosiah): Factor out to sdk. Migration running should probably be a space state.\n sdkMigrationRunning: Record<string, boolean>;\n\n /**\n * Whether or not the user can navigate to collections in the graph.\n * Determined by whether or not there is an available plugin that can render a collection.\n */\n navigableCollections: boolean;\n\n /**\n * Tracks whether setting edge replication as default has been run on spaces.\n */\n // TODO(wittjosiah): Systematic way to handle migrations of state outside of spaces.\n enabledEdgeReplication: boolean;\n};\n\nexport const SpaceSettingsSchema = Schema.mutable(\n Schema.Struct({\n /**\n * Show closed spaces.\n */\n showHidden: Schema.Boolean,\n }),\n);\n\nexport type SpaceSettingsProps = Schema.Schema.Type<typeof SpaceSettingsSchema>;\n\n// TODO(wittjosiah): Reconcile with graph export serializers.\n\nexport type SerializerMap = Record<string, TypedObjectSerializer>;\n\nexport interface TypedObjectSerializer<T extends Obj.Any = Type.Expando> {\n serialize(params: { object: T }): Promise<string>;\n\n /**\n * @param params.content\n * @param params.space Space to use for deserializing schema references.\n * @param params.newId Generate new ID for deserialized object.\n */\n deserialize(params: { content: string; space: Space; newId?: boolean }): Promise<T>;\n}\n\n// TODO(burdon): Move to FormatEnum or SDK.\nexport const IconAnnotationId = Symbol.for('@dxos/plugin-space/annotation/Icon');\nexport const HueAnnotationId = Symbol.for('@dxos/plugin-space/annotation/Hue');\n\nexport const SpaceForm = Schema.Struct({\n name: Schema.optional(Schema.String.annotations({ title: 'Name' })),\n icon: Schema.optional(Schema.String.annotations({ title: 'Icon', [IconAnnotationId]: true })),\n hue: Schema.optional(Schema.String.annotations({ title: 'Color', [HueAnnotationId]: true })),\n // TODO(wittjosiah): Make optional with default value.\n edgeReplication: Schema.Boolean.annotations({ title: 'Enable EDGE Replication' }),\n});\n\nexport type ObjectForm<T extends BaseObject = BaseObject> = {\n objectSchema: Schema.Schema.AnyNoContext;\n formSchema?: Schema.Schema<T, any>;\n hidden?: boolean;\n getIntent: (props: T, options: { space: Space }) => AnyIntentChain;\n};\n\nexport const defineObjectForm = <T extends BaseObject>(form: ObjectForm<T>) => form;\n\nexport const SPACE_ACTION = `${meta.id}/action`;\n\nexport namespace SpaceAction {\n export class OpenCreateSpace extends Schema.TaggedClass<OpenCreateSpace>()(`${SPACE_ACTION}/open-create-space`, {\n input: Schema.Void,\n output: Schema.Void,\n }) {}\n\n export class Create extends Schema.TaggedClass<Create>()(`${SPACE_ACTION}/create`, {\n input: SpaceForm,\n output: Schema.Struct({\n id: Schema.String,\n subject: Schema.Array(Schema.String),\n space: SpaceSchema,\n }),\n }) {}\n\n export class Join extends Schema.TaggedClass<Join>()(`${SPACE_ACTION}/join`, {\n input: Schema.Struct({\n invitationCode: Schema.optional(Schema.String),\n onDone: Schema.optional(Schema.Any),\n }),\n output: Schema.Void,\n }) {}\n\n export class OpenMembers extends Schema.TaggedClass<OpenMembers>()(`${SPACE_ACTION}/open-members`, {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n }) {}\n\n export class Share extends Schema.TaggedClass<Share>()(`${SPACE_ACTION}/share`, {\n input: Schema.Struct({\n space: SpaceSchema,\n type: Schema.Enums(Invitation.Type),\n authMethod: Schema.Enums(Invitation.AuthMethod),\n multiUse: Schema.Boolean,\n target: Schema.optional(Schema.String),\n }),\n output: Schema.instanceOf(CancellableInvitationObservable),\n }) {}\n\n export class GetShareLink extends Schema.TaggedClass<GetShareLink>()(`${SPACE_ACTION}/get-share-link`, {\n input: Schema.Struct({\n space: SpaceSchema,\n target: Schema.optional(Schema.String),\n copyToClipboard: Schema.optional(Schema.Boolean),\n }),\n output: Schema.String,\n }) {}\n\n export class Lock extends Schema.TaggedClass<Lock>()(`${SPACE_ACTION}/lock`, {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n }) {}\n\n export class Unlock extends Schema.TaggedClass<Unlock>()(`${SPACE_ACTION}/unlock`, {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n }) {}\n\n export class Rename extends Schema.TaggedClass<Rename>()(`${SPACE_ACTION}/rename`, {\n input: Schema.Struct({\n space: SpaceSchema,\n caller: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n }) {}\n\n // TODO(wittjosiah): Handle scrolling to section.\n // This maybe motivates making the space settings its own deck?\n export class OpenSettings extends Schema.TaggedClass<OpenSettings>()(`${SPACE_ACTION}/open-settings`, {\n input: Schema.Struct({ space: SpaceSchema }),\n output: Schema.Void,\n }) {}\n\n export class Open extends Schema.TaggedClass<Open>()(`${SPACE_ACTION}/open`, {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n }) {}\n\n export class Close extends Schema.TaggedClass<Close>()(`${SPACE_ACTION}/close`, {\n input: Schema.Struct({\n space: SpaceSchema,\n }),\n output: Schema.Void,\n }) {}\n\n export class Migrate extends Schema.TaggedClass<Migrate>()(`${SPACE_ACTION}/migrate`, {\n input: Schema.Struct({\n space: SpaceSchema,\n version: Schema.optional(Schema.String),\n }),\n output: Schema.Boolean,\n }) {}\n\n export const StoredSchemaForm = Schema.Struct({\n name: Schema.optional(Schema.String),\n typename: Schema.optional(\n Schema.String.annotations({\n [TypenameAnnotationId]: ['unused-static'],\n }),\n ),\n });\n\n export class UseStaticSchema extends Schema.TaggedClass<UseStaticSchema>()(`${SPACE_ACTION}/use-static-schema`, {\n input: Schema.Struct({\n space: SpaceSchema,\n typename: Schema.String,\n // TODO(wittjosiah): This is leaky.\n show: Schema.optional(Schema.Boolean),\n }),\n output: Schema.Struct({}),\n }) {}\n\n export class AddSchema extends Schema.TaggedClass<AddSchema>()(`${SPACE_ACTION}/add-schema`, {\n input: Schema.Struct({\n space: SpaceSchema,\n name: Schema.optional(Schema.String),\n typename: Schema.optional(Schema.String),\n // TODO(wittjosiah): Semantic version format.\n version: Schema.optional(Schema.String),\n // TODO(wittjosiah): Schema for schema?\n schema: Schema.Any,\n // TODO(wittjosiah): This is leaky.\n show: Schema.optional(Schema.Boolean),\n }),\n output: Schema.Struct({\n // TODO(wittjosiah): ObjectId.\n id: Schema.String,\n object: StoredSchema,\n schema: Schema.instanceOf(EchoSchema),\n }),\n }) {}\n\n export class DeleteField extends Schema.TaggedClass<DeleteField>()(`${SPACE_ACTION}/delete-field`, {\n input: Schema.Struct({\n view: DataType.View,\n fieldId: Schema.String,\n // TODO(wittjosiah): Separate fields for undo data?\n deletionData: Schema.optional(\n Schema.Struct({\n field: FieldSchema,\n // TODO(wittjosiah): This creates a type error.\n // props: PropertySchema,\n props: Schema.Any,\n index: Schema.Number,\n }),\n ),\n }),\n output: Schema.Void,\n }) {}\n\n export class OpenCreateObject extends Schema.TaggedClass<OpenCreateObject>()(`${SPACE_ACTION}/open-create-object`, {\n input: Schema.Struct({\n target: Schema.Union(SpaceSchema, DataType.Collection),\n views: Schema.optional(Schema.Boolean),\n typename: Schema.optional(Schema.String),\n initialFormValues: Schema.optional(Schema.Any),\n navigable: Schema.optional(Schema.Boolean),\n // TODO(wittjosiah): This is a function, is there a better way to handle this?\n onCreateObject: Schema.optional(Schema.Any),\n }),\n output: Schema.Void,\n }) {}\n\n export class AddObject extends Schema.TaggedClass<AddObject>()(`${SPACE_ACTION}/add-object`, {\n input: Schema.Struct({\n object: ReactiveObjectSchema,\n target: Schema.Union(SpaceSchema, DataType.Collection),\n hidden: Schema.optional(Schema.Boolean),\n }),\n output: Schema.Struct({\n // TODO(wittjosiah): ObjectId.\n id: Schema.String,\n subject: Schema.Array(Schema.String),\n object: EchoObjectSchema,\n }),\n }) {}\n\n export class AddRelation extends Schema.TaggedClass<AddRelation>()(`${SPACE_ACTION}/add-relation`, {\n input: Schema.Struct({\n space: SpaceSchema,\n // TODO(wittjosiah): Relation schema.\n schema: Schema.Any,\n source: Type.Expando,\n target: Type.Expando,\n // TODO(wittjosiah): Type based on relation schema.\n fields: Schema.optional(Schema.Record({ key: Schema.String, value: Schema.Any })),\n }),\n output: Schema.Struct({\n relation: Schema.Any,\n }),\n }) {}\n\n export const DeletionData = Schema.Struct({\n objects: Schema.Array(EchoObjectSchema),\n parentCollection: DataType.Collection,\n indices: Schema.Array(Schema.Number),\n nestedObjectsList: Schema.Array(Schema.Array(EchoObjectSchema)),\n wasActive: Schema.Array(Schema.String),\n });\n\n export type DeletionData = Schema.Schema.Type<typeof DeletionData>;\n\n export class RemoveObjects extends Schema.TaggedClass<RemoveObjects>()(`${SPACE_ACTION}/remove-objects`, {\n input: Schema.Struct({\n // TODO(wittjosiah): Should be Schema.Union(Type.Obj, Type.Relation).\n objects: Schema.Array(ReactiveObjectSchema),\n target: Schema.optional(DataType.Collection),\n deletionData: Schema.optional(DeletionData),\n }),\n output: Schema.Void,\n }) {}\n\n export class RenameObject extends Schema.TaggedClass<RenameObject>()(`${SPACE_ACTION}/rename-object`, {\n input: Schema.Struct({\n object: EchoObjectSchema,\n caller: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n }) {}\n\n export class DuplicateObject extends Schema.TaggedClass<DuplicateObject>()(`${SPACE_ACTION}/duplicate-object`, {\n input: Schema.Struct({\n object: EchoObjectSchema,\n target: Schema.Union(SpaceSchema, DataType.Collection),\n }),\n output: Schema.Void,\n }) {}\n\n export class WaitForObject extends Schema.TaggedClass<WaitForObject>()(`${SPACE_ACTION}/wait-for-object`, {\n input: Schema.Struct({\n id: Schema.optional(Schema.String),\n }),\n output: Schema.Void,\n }) {}\n}\n\nexport namespace CollectionAction {\n export class Create extends Schema.TaggedClass<Create>()('dxos.org/plugin/collection/action/create', {\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: DataType.Collection,\n }),\n }) {}\n\n export const QueryCollectionForm = Schema.Struct({\n name: Schema.optional(Schema.String),\n typename: Schema.String.annotations({\n [TypenameAnnotationId]: ['object-form'],\n }),\n });\n\n export class CreateQueryCollection extends Schema.TaggedClass<CreateQueryCollection>()(\n 'dxos.org/plugin/collection/action/create-query-collection',\n {\n input: QueryCollectionForm,\n output: Schema.Struct({\n // TODO(wittjosiah): Remove cast.\n object: EchoObjectSchema, // DataType.QueryCollection,\n }),\n },\n ) {}\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["Schema", "Type", "EchoSchema", "StoredSchema", "EchoObjectSchema", "ReactiveObjectSchema", "SpaceSchema", "CancellableInvitationObservable", "Invitation", "DataType", "FieldSchema", "TypenameAnnotationId", "SPACE_DIRECTORY_HANDLE", "meta", "id", "SPACE_TYPE", "SpaceSettingsSchema", "mutable", "Struct", "showHidden", "Boolean", "IconAnnotationId", "Symbol", "for", "HueAnnotationId", "SpaceForm", "name", "optional", "String", "annotations", "title", "icon", "hue", "edgeReplication", "defineObjectForm", "form", "SPACE_ACTION", "SpaceAction", "OpenCreateSpace", "TaggedClass", "input", "Void", "output", "Create", "subject", "Array", "space", "SpaceSchema", "Join", "invitationCode", "onDone", "Any", "OpenMembers", "Share", "type", "Enums", "Invitation", "Type", "authMethod", "AuthMethod", "multiUse", "target", "instanceOf", "CancellableInvitationObservable", "GetShareLink", "copyToClipboard", "Lock", "Unlock", "Rename", "caller", "OpenSettings", "Open", "Close", "Migrate", "version", "StoredSchemaForm", "typename", "TypenameAnnotationId", "UseStaticSchema", "show", "AddSchema", "schema", "object", "StoredSchema", "EchoSchema", "DeleteField", "view", "DataType", "View", "fieldId", "deletionData", "field", "FieldSchema", "props", "index", "Number", "OpenCreateObject", "Union", "Collection", "views", "initialFormValues", "navigable", "onCreateObject", "AddObject", "ReactiveObjectSchema", "hidden", "EchoObjectSchema", "AddRelation", "source", "Expando", "fields", "Record", "key", "value", "relation", "DeletionData", "objects", "parentCollection", "indices", "nestedObjectsList", "wasActive", "RemoveObjects", "RenameObject", "DuplicateObject", "WaitForObject", "CollectionAction", "QueryCollectionForm", "CreateQueryCollection"]
7
+ }
@@ -0,0 +1,16 @@
1
+ // src/meta.ts
2
+ import { trim } from "@dxos/util";
3
+ var meta = {
4
+ id: "dxos.org/plugin/space",
5
+ name: "Spaces",
6
+ description: trim`
7
+ Core workspace container system for organizing and sharing collaborative environments.
8
+ Create, manage, and share spaces with granular access control and invitation management.
9
+ `,
10
+ icon: "ph--planet--regular"
11
+ };
12
+
13
+ export {
14
+ meta
15
+ };
16
+ //# sourceMappingURL=chunk-VZBIIYFM.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/meta.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: PluginMeta = {\n id: 'dxos.org/plugin/space',\n name: 'Spaces',\n description: trim`\n Core workspace container system for organizing and sharing collaborative environments.\n Create, manage, and share spaces with granular access control and invitation management.\n `,\n icon: 'ph--planet--regular',\n};\n"],
5
+ "mappings": ";AAKA,SAASA,YAAY;AAEd,IAAMC,OAAmB;EAC9BC,IAAI;EACJC,MAAM;EACNC,aAAaC;;;;EAIbC,MAAM;AACR;",
6
+ "names": ["trim", "meta", "id", "name", "description", "trim", "icon"]
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  meta
3
- } from "./chunk-IRKDREHY.mjs";
3
+ } from "./chunk-VZBIIYFM.mjs";
4
4
 
5
5
  // src/events.ts
6
6
  import { Events, defineEvent } from "@dxos/app-framework";
@@ -16,4 +16,4 @@ var SpaceEvents;
16
16
  export {
17
17
  SpaceEvents
18
18
  };
19
- //# sourceMappingURL=chunk-EIXZABXD.mjs.map
19
+ //# sourceMappingURL=chunk-WJXU4GKV.mjs.map
@@ -1,9 +1,7 @@
1
1
  import {
2
2
  SpaceEvents
3
- } from "./chunk-EIXZABXD.mjs";
3
+ } from "./chunk-WJXU4GKV.mjs";
4
4
  import {
5
- AppGraphBuilder,
6
- AppGraphSerializer,
7
5
  AwaitingObject,
8
6
  CREATE_OBJECT_DIALOG,
9
7
  CREATE_SPACE_DIALOG,
@@ -12,9 +10,7 @@ import {
12
10
  CreateObjectDialog,
13
11
  CreateSpaceDialog,
14
12
  FullPresence,
15
- IdentityCreated,
16
13
  InlineSyncStatus,
17
- IntentResolver,
18
14
  JOIN_DIALOG,
19
15
  JoinDialog,
20
16
  MembersContainer,
@@ -26,36 +22,41 @@ import {
26
22
  PersistenceStatus,
27
23
  PopoverRenameObject,
28
24
  PopoverRenameSpace,
29
- ReactRoot,
30
- ReactSurface,
31
25
  RecordMain,
32
26
  SchemaContainer,
33
- SchemaDefs,
34
27
  SmallPresence,
35
28
  SmallPresenceLive,
36
29
  SpacePluginSettings,
37
30
  SpacePresence,
38
- SpaceSettings,
39
31
  SpaceSettingsContainer,
40
- SpaceState,
41
- SpacesReady,
42
32
  SyncStatus,
43
33
  SyncStatusIndicator,
44
34
  ViewEditor,
45
35
  useQuerySpaceSchemas
46
- } from "./chunk-2BFVC5K6.mjs";
36
+ } from "./chunk-ENBBJSNE.mjs";
47
37
  import {
38
+ AppGraphBuilder,
39
+ AppGraphSerializer,
40
+ IdentityCreated,
41
+ IntentResolver,
42
+ ReactRoot,
43
+ ReactSurface,
44
+ SchemaDefs,
45
+ SpaceSettings,
46
+ SpaceState,
47
+ SpacesReady,
48
48
  getActiveSpace,
49
49
  useActiveSpace,
50
50
  useInputSurfaceLookup,
51
- usePath
52
- } from "./chunk-ELJDGQTO.mjs";
51
+ usePath,
52
+ useTypeOptions
53
+ } from "./chunk-HS2VD6DN.mjs";
53
54
  import {
54
55
  SpaceCapabilities
55
- } from "./chunk-E2I747A7.mjs";
56
+ } from "./chunk-2NS3VPSY.mjs";
56
57
  import {
57
58
  translations
58
- } from "./chunk-ZIZ2JLW6.mjs";
59
+ } from "./chunk-4V4JNJ33.mjs";
59
60
  import {
60
61
  COMPOSER_SPACE_LOCK,
61
62
  SHARED,
@@ -70,23 +71,23 @@ import {
70
71
  getNestedObjects,
71
72
  getSpaceDisplayName,
72
73
  rxFromQuery
73
- } from "./chunk-PN27K4I7.mjs";
74
+ } from "./chunk-OWNBEI5J.mjs";
74
75
  import {
75
76
  CollectionAction,
76
77
  SpaceAction,
77
78
  defineObjectForm
78
- } from "./chunk-JCHSUOPF.mjs";
79
+ } from "./chunk-SLDQWMQ2.mjs";
79
80
  import {
80
81
  meta
81
- } from "./chunk-IRKDREHY.mjs";
82
+ } from "./chunk-VZBIIYFM.mjs";
82
83
 
83
84
  // src/SpacePlugin.ts
84
- import { Schema } from "effect";
85
+ import * as Schema from "effect/Schema";
85
86
  import { Capabilities, Events, allOf, contributes, createIntent, defineModule, definePlugin, oneOf } from "@dxos/app-framework";
86
- import { Ref, Type } from "@dxos/echo";
87
+ import { Ref, Tag, Type } from "@dxos/echo";
87
88
  import { AttentionEvents } from "@dxos/plugin-attention";
88
89
  import { ClientCapabilities, ClientEvents } from "@dxos/plugin-client";
89
- import { DataType, createDefaultSchema, typenameFromQuery } from "@dxos/schema";
90
+ import { DataType, DataTypes, createDefaultSchema, getTypenameFromQuery } from "@dxos/schema";
90
91
  import { translations as shellTranslations } from "@dxos/shell/react";
91
92
  var SpacePlugin = definePlugin(meta, ({ invitationUrl = window.location.origin, invitationParam = "spaceInvitationCode", observability = false }) => {
92
93
  const createInvitationUrl = (invitationCode) => {
@@ -127,6 +128,7 @@ var SpacePlugin = definePlugin(meta, ({ invitationUrl = window.location.origin,
127
128
  id: Type.getTypename(DataType.Collection),
128
129
  metadata: {
129
130
  icon: "ph--cards-three--regular",
131
+ iconHue: "neutral",
130
132
  // TODO(wittjosiah): Move out of metadata.
131
133
  loadReferences: async (collection) => await Ref.Array.loadAll(collection.objects)
132
134
  }
@@ -137,7 +139,7 @@ var SpacePlugin = definePlugin(meta, ({ invitationUrl = window.location.origin,
137
139
  label: (object) => [
138
140
  "typename label",
139
141
  {
140
- ns: typenameFromQuery(object.query),
142
+ ns: getTypenameFromQuery(object.query),
141
143
  count: 2,
142
144
  defaultValue: "New smart collection"
143
145
  }
@@ -148,7 +150,8 @@ var SpacePlugin = definePlugin(meta, ({ invitationUrl = window.location.origin,
148
150
  contributes(Capabilities.Metadata, {
149
151
  id: Type.getTypename(DataType.StoredSchema),
150
152
  metadata: {
151
- icon: "ph--database--regular"
153
+ icon: "ph--database--regular",
154
+ iconHue: "green"
152
155
  }
153
156
  }),
154
157
  contributes(Capabilities.Metadata, {
@@ -220,12 +223,8 @@ var SpacePlugin = definePlugin(meta, ({ invitationUrl = window.location.origin,
220
223
  id: `${meta.id}/module/schema`,
221
224
  activatesOn: ClientEvents.SetupSchema,
222
225
  activate: () => contributes(ClientCapabilities.Schema, [
223
- DataType.View,
224
- DataType.Event,
225
- DataType.Organization,
226
- DataType.Person,
227
- DataType.Project,
228
- DataType.Task
226
+ Tag.Tag,
227
+ ...DataTypes
229
228
  ])
230
229
  }),
231
230
  defineModule({
@@ -342,6 +341,7 @@ export {
342
341
  useActiveSpace,
343
342
  useInputSurfaceLookup,
344
343
  usePath,
345
- useQuerySpaceSchemas
344
+ useQuerySpaceSchemas,
345
+ useTypeOptions
346
346
  };
347
347
  //# sourceMappingURL=index.mjs.map