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

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 (826) hide show
  1. package/dist/lib/browser/add-object-QUW3AJNA.mjs +78 -0
  2. package/dist/lib/browser/add-object-QUW3AJNA.mjs.map +7 -0
  3. package/dist/lib/browser/add-relation-UOGGGVRT.mjs +26 -0
  4. package/dist/lib/browser/add-relation-UOGGGVRT.mjs.map +7 -0
  5. package/dist/lib/browser/add-schema-IIMWTWLE.mjs +60 -0
  6. package/dist/lib/browser/add-schema-IIMWTWLE.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-3RYTAKKI.mjs +16 -0
  8. package/dist/lib/browser/chunk-3RYTAKKI.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-DFVE6G3O.mjs +100 -0
  10. package/dist/lib/browser/chunk-DFVE6G3O.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  12. package/dist/lib/browser/chunk-J5LGTIGS.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-JHZGRYGS.mjs +8 -0
  14. package/dist/lib/browser/chunk-JHZGRYGS.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-KFOBLNVU.mjs +16 -0
  16. package/dist/lib/browser/chunk-KFOBLNVU.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-LEDDBKH2.mjs +489 -0
  18. package/dist/lib/browser/chunk-LEDDBKH2.mjs.map +7 -0
  19. package/dist/lib/browser/chunk-YELP3CVT.mjs +63 -0
  20. package/dist/lib/browser/chunk-YELP3CVT.mjs.map +7 -0
  21. package/dist/lib/browser/close-4VUCZFW3.mjs +17 -0
  22. package/dist/lib/browser/close-4VUCZFW3.mjs.map +7 -0
  23. package/dist/lib/browser/create-WVIQ5DGE.mjs +74 -0
  24. package/dist/lib/browser/create-WVIQ5DGE.mjs.map +7 -0
  25. package/dist/lib/browser/delete-field-XA3ZHCMQ.mjs +43 -0
  26. package/dist/lib/browser/delete-field-XA3ZHCMQ.mjs.map +7 -0
  27. package/dist/lib/browser/duplicate-object-U36HQTOY.mjs +34 -0
  28. package/dist/lib/browser/duplicate-object-U36HQTOY.mjs.map +7 -0
  29. package/dist/lib/browser/get-share-link-LCYLO6R4.mjs +41 -0
  30. package/dist/lib/browser/get-share-link-LCYLO6R4.mjs.map +7 -0
  31. package/dist/lib/browser/index.mjs +13 -329
  32. package/dist/lib/browser/index.mjs.map +4 -4
  33. package/dist/lib/browser/join-UTLT5EPC.mjs +28 -0
  34. package/dist/lib/browser/join-UTLT5EPC.mjs.map +7 -0
  35. package/dist/lib/browser/meta.json +1 -1
  36. package/dist/lib/browser/meta.mjs +8 -0
  37. package/dist/lib/browser/meta.mjs.map +7 -0
  38. package/dist/lib/browser/migrate-VTVFRKTI.mjs +50 -0
  39. package/dist/lib/browser/migrate-VTVFRKTI.mjs.map +7 -0
  40. package/dist/lib/browser/open-G27V7VC6.mjs +17 -0
  41. package/dist/lib/browser/open-G27V7VC6.mjs.map +7 -0
  42. package/dist/lib/browser/open-create-object-CT7C3F5R.mjs +42 -0
  43. package/dist/lib/browser/open-create-object-CT7C3F5R.mjs.map +7 -0
  44. package/dist/lib/browser/open-create-space-RXVG5YJ6.mjs +24 -0
  45. package/dist/lib/browser/open-create-space-RXVG5YJ6.mjs.map +7 -0
  46. package/dist/lib/browser/open-members-SFORTHHO.mjs +23 -0
  47. package/dist/lib/browser/open-members-SFORTHHO.mjs.map +7 -0
  48. package/dist/lib/browser/open-settings-T3GBE2ZO.mjs +23 -0
  49. package/dist/lib/browser/open-settings-T3GBE2ZO.mjs.map +7 -0
  50. package/dist/lib/browser/operations/index.mjs +14 -0
  51. package/dist/lib/browser/operations/index.mjs.map +7 -0
  52. package/dist/lib/browser/remove-objects-4NGQQ3MB.mjs +71 -0
  53. package/dist/lib/browser/remove-objects-4NGQQ3MB.mjs.map +7 -0
  54. package/dist/lib/browser/rename-WXLQ6A7I.mjs +25 -0
  55. package/dist/lib/browser/rename-WXLQ6A7I.mjs.map +7 -0
  56. package/dist/lib/browser/rename-object-FENQ35M5.mjs +26 -0
  57. package/dist/lib/browser/rename-object-FENQ35M5.mjs.map +7 -0
  58. package/dist/lib/browser/restore-field-PRMD4VMB.mjs +41 -0
  59. package/dist/lib/browser/restore-field-PRMD4VMB.mjs.map +7 -0
  60. package/dist/lib/browser/restore-objects-CJCTTZUT.mjs +48 -0
  61. package/dist/lib/browser/restore-objects-CJCTTZUT.mjs.map +7 -0
  62. package/dist/lib/browser/share-H23WYPDJ.mjs +31 -0
  63. package/dist/lib/browser/share-H23WYPDJ.mjs.map +7 -0
  64. package/dist/lib/browser/snapshot-4OOW4C5P.mjs +30 -0
  65. package/dist/lib/browser/snapshot-4OOW4C5P.mjs.map +7 -0
  66. package/dist/lib/browser/types/index.mjs +20 -12
  67. package/dist/lib/browser/wait-for-object-HU6DSIRP.mjs +23 -0
  68. package/dist/lib/browser/wait-for-object-HU6DSIRP.mjs.map +7 -0
  69. package/dist/lib/node-esm/add-object-22RLQV24.mjs +79 -0
  70. package/dist/lib/node-esm/add-object-22RLQV24.mjs.map +7 -0
  71. package/dist/lib/node-esm/add-relation-KBH2GORQ.mjs +27 -0
  72. package/dist/lib/node-esm/add-relation-KBH2GORQ.mjs.map +7 -0
  73. package/dist/lib/node-esm/add-schema-4ILDNVUN.mjs +61 -0
  74. package/dist/lib/node-esm/add-schema-4ILDNVUN.mjs.map +7 -0
  75. package/dist/lib/node-esm/chunk-CFSLV7OJ.mjs +18 -0
  76. package/dist/lib/node-esm/chunk-CFSLV7OJ.mjs.map +7 -0
  77. package/dist/lib/node-esm/chunk-DPOCSUFM.mjs +101 -0
  78. package/dist/lib/node-esm/chunk-DPOCSUFM.mjs.map +7 -0
  79. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  80. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  81. package/dist/lib/node-esm/chunk-HSVHLOWA.mjs +10 -0
  82. package/dist/lib/node-esm/chunk-HSVHLOWA.mjs.map +7 -0
  83. package/dist/lib/node-esm/chunk-QKEPMULV.mjs +18 -0
  84. package/dist/lib/node-esm/chunk-QKEPMULV.mjs.map +7 -0
  85. package/dist/lib/node-esm/chunk-TIKBCL5D.mjs +65 -0
  86. package/dist/lib/node-esm/chunk-TIKBCL5D.mjs.map +7 -0
  87. package/dist/lib/node-esm/chunk-TL2HJZZN.mjs +490 -0
  88. package/dist/lib/node-esm/chunk-TL2HJZZN.mjs.map +7 -0
  89. package/dist/lib/node-esm/close-5XLHR5HP.mjs +18 -0
  90. package/dist/lib/node-esm/close-5XLHR5HP.mjs.map +7 -0
  91. package/dist/lib/node-esm/create-EAET5IGQ.mjs +75 -0
  92. package/dist/lib/node-esm/create-EAET5IGQ.mjs.map +7 -0
  93. package/dist/lib/node-esm/delete-field-YSXZZUIU.mjs +44 -0
  94. package/dist/lib/node-esm/delete-field-YSXZZUIU.mjs.map +7 -0
  95. package/dist/lib/node-esm/duplicate-object-M3KIW2GA.mjs +35 -0
  96. package/dist/lib/node-esm/duplicate-object-M3KIW2GA.mjs.map +7 -0
  97. package/dist/lib/node-esm/get-share-link-JRTCLA7F.mjs +42 -0
  98. package/dist/lib/node-esm/get-share-link-JRTCLA7F.mjs.map +7 -0
  99. package/dist/lib/node-esm/index.mjs +13 -329
  100. package/dist/lib/node-esm/index.mjs.map +4 -4
  101. package/dist/lib/node-esm/join-OPOATWZ5.mjs +29 -0
  102. package/dist/lib/node-esm/join-OPOATWZ5.mjs.map +7 -0
  103. package/dist/lib/node-esm/meta.json +1 -1
  104. package/dist/lib/node-esm/meta.mjs +9 -0
  105. package/dist/lib/node-esm/meta.mjs.map +7 -0
  106. package/dist/lib/node-esm/migrate-2JJ4GMRU.mjs +51 -0
  107. package/dist/lib/node-esm/migrate-2JJ4GMRU.mjs.map +7 -0
  108. package/dist/lib/node-esm/open-YSRDOUUC.mjs +18 -0
  109. package/dist/lib/node-esm/open-YSRDOUUC.mjs.map +7 -0
  110. package/dist/lib/node-esm/open-create-object-KRFMEKQ7.mjs +43 -0
  111. package/dist/lib/node-esm/open-create-object-KRFMEKQ7.mjs.map +7 -0
  112. package/dist/lib/node-esm/open-create-space-3W3QZDTI.mjs +25 -0
  113. package/dist/lib/node-esm/open-create-space-3W3QZDTI.mjs.map +7 -0
  114. package/dist/lib/node-esm/open-members-34WLQUXB.mjs +24 -0
  115. package/dist/lib/node-esm/open-members-34WLQUXB.mjs.map +7 -0
  116. package/dist/lib/node-esm/open-settings-GR6WTJ22.mjs +24 -0
  117. package/dist/lib/node-esm/open-settings-GR6WTJ22.mjs.map +7 -0
  118. package/dist/lib/node-esm/operations/index.mjs +15 -0
  119. package/dist/lib/node-esm/operations/index.mjs.map +7 -0
  120. package/dist/lib/node-esm/remove-objects-XAF22OXS.mjs +72 -0
  121. package/dist/lib/node-esm/remove-objects-XAF22OXS.mjs.map +7 -0
  122. package/dist/lib/node-esm/rename-OXYMJFQG.mjs +26 -0
  123. package/dist/lib/node-esm/rename-OXYMJFQG.mjs.map +7 -0
  124. package/dist/lib/node-esm/rename-object-LQYSLUSC.mjs +27 -0
  125. package/dist/lib/node-esm/rename-object-LQYSLUSC.mjs.map +7 -0
  126. package/dist/lib/node-esm/restore-field-PS67QVNP.mjs +42 -0
  127. package/dist/lib/node-esm/restore-field-PS67QVNP.mjs.map +7 -0
  128. package/dist/lib/node-esm/restore-objects-KOBUZ4RN.mjs +49 -0
  129. package/dist/lib/node-esm/restore-objects-KOBUZ4RN.mjs.map +7 -0
  130. package/dist/lib/node-esm/share-2KAPTANB.mjs +32 -0
  131. package/dist/lib/node-esm/share-2KAPTANB.mjs.map +7 -0
  132. package/dist/lib/node-esm/snapshot-ACV7XGBY.mjs +31 -0
  133. package/dist/lib/node-esm/snapshot-ACV7XGBY.mjs.map +7 -0
  134. package/dist/lib/node-esm/types/index.mjs +20 -12
  135. package/dist/lib/node-esm/wait-for-object-DJ76E725.mjs +24 -0
  136. package/dist/lib/node-esm/wait-for-object-DJ76E725.mjs.map +7 -0
  137. package/dist/types/src/SpacePlugin.d.ts +4 -15
  138. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  139. package/dist/types/src/SpacePlugin.node.d.ts +5 -0
  140. package/dist/types/src/SpacePlugin.node.d.ts.map +1 -0
  141. package/dist/types/src/SpacePlugin.test.d.ts +2 -0
  142. package/dist/types/src/SpacePlugin.test.d.ts.map +1 -0
  143. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts +6 -0
  144. package/dist/types/src/capabilities/app-graph-builder/app-graph-builder.d.ts.map +1 -0
  145. package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts +57 -0
  146. package/dist/types/src/capabilities/app-graph-builder/extensions/collections.d.ts.map +1 -0
  147. package/dist/types/src/capabilities/app-graph-builder/extensions/companions.d.ts +43 -0
  148. package/dist/types/src/capabilities/app-graph-builder/extensions/companions.d.ts.map +1 -0
  149. package/dist/types/src/capabilities/app-graph-builder/extensions/index.d.ts +6 -0
  150. package/dist/types/src/capabilities/app-graph-builder/extensions/index.d.ts.map +1 -0
  151. package/dist/types/src/capabilities/app-graph-builder/extensions/settings.d.ts +19 -0
  152. package/dist/types/src/capabilities/app-graph-builder/extensions/settings.d.ts.map +1 -0
  153. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts +56 -0
  154. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.d.ts.map +1 -0
  155. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.test.d.ts +2 -0
  156. package/dist/types/src/capabilities/app-graph-builder/extensions/shared.test.d.ts.map +1 -0
  157. package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts +42 -0
  158. package/dist/types/src/capabilities/app-graph-builder/extensions/spaces.d.ts.map +1 -0
  159. package/dist/types/src/capabilities/app-graph-builder/extensions/types.d.ts +38 -0
  160. package/dist/types/src/capabilities/app-graph-builder/extensions/types.d.ts.map +1 -0
  161. package/dist/types/src/capabilities/app-graph-builder/index.d.ts +3 -0
  162. package/dist/types/src/capabilities/app-graph-builder/index.d.ts.map +1 -0
  163. package/dist/types/src/capabilities/app-graph-serializer.d.ts +3 -2
  164. package/dist/types/src/capabilities/app-graph-serializer.d.ts.map +1 -1
  165. package/dist/types/src/capabilities/identity-created.d.ts +3 -2
  166. package/dist/types/src/capabilities/identity-created.d.ts.map +1 -1
  167. package/dist/types/src/capabilities/index.d.ts +32 -17
  168. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  169. package/dist/types/src/capabilities/migrations.d.ts +5 -0
  170. package/dist/types/src/capabilities/migrations.d.ts.map +1 -0
  171. package/dist/types/src/capabilities/navigation-handler/index.d.ts +4 -0
  172. package/dist/types/src/capabilities/navigation-handler/index.d.ts.map +1 -0
  173. package/dist/types/src/capabilities/navigation-handler/navigation-handler.d.ts +13 -0
  174. package/dist/types/src/capabilities/navigation-handler/navigation-handler.d.ts.map +1 -0
  175. package/dist/types/src/capabilities/navigation-resolver.d.ts +6 -0
  176. package/dist/types/src/capabilities/navigation-resolver.d.ts.map +1 -0
  177. package/dist/types/src/capabilities/node.d.ts +9 -0
  178. package/dist/types/src/capabilities/node.d.ts.map +1 -0
  179. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  180. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  181. package/dist/types/src/capabilities/react-root.d.ts +4 -2
  182. package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
  183. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  184. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  185. package/dist/types/src/capabilities/repair.d.ts +6 -0
  186. package/dist/types/src/capabilities/repair.d.ts.map +1 -0
  187. package/dist/types/src/capabilities/settings.d.ts +5 -2
  188. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  189. package/dist/types/src/capabilities/spaces-ready.d.ts +3 -2
  190. package/dist/types/src/capabilities/spaces-ready.d.ts.map +1 -1
  191. package/dist/types/src/capabilities/state.d.ts +15 -3
  192. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  193. package/dist/types/src/capabilities/undo-mappings.d.ts +10 -0
  194. package/dist/types/src/capabilities/undo-mappings.d.ts.map +1 -0
  195. package/dist/types/src/commands/database/add.d.ts +16 -0
  196. package/dist/types/src/commands/database/add.d.ts.map +1 -0
  197. package/dist/types/src/commands/database/index.d.ts +3 -0
  198. package/dist/types/src/commands/database/index.d.ts.map +1 -0
  199. package/dist/types/src/commands/database/query/index.d.ts +2 -0
  200. package/dist/types/src/commands/database/query/index.d.ts.map +1 -0
  201. package/dist/types/src/commands/database/query/query.d.ts +13 -0
  202. package/dist/types/src/commands/database/query/query.d.ts.map +1 -0
  203. package/dist/types/src/commands/database/query/query.test.d.ts +2 -0
  204. package/dist/types/src/commands/database/query/query.test.d.ts.map +1 -0
  205. package/dist/types/src/commands/database/remove.d.ts +9 -0
  206. package/dist/types/src/commands/database/remove.d.ts.map +1 -0
  207. package/dist/types/src/commands/database/stats.d.ts +6 -0
  208. package/dist/types/src/commands/database/stats.d.ts.map +1 -0
  209. package/dist/types/src/commands/database/util.d.ts +14 -0
  210. package/dist/types/src/commands/database/util.d.ts.map +1 -0
  211. package/dist/types/src/commands/index.d.ts +4 -0
  212. package/dist/types/src/commands/index.d.ts.map +1 -0
  213. package/dist/types/src/commands/queue/index.d.ts +7 -0
  214. package/dist/types/src/commands/queue/index.d.ts.map +1 -0
  215. package/dist/types/src/commands/queue/query.d.ts +8 -0
  216. package/dist/types/src/commands/queue/query.d.ts.map +1 -0
  217. package/dist/types/src/commands/queue/util.d.ts +6 -0
  218. package/dist/types/src/commands/queue/util.d.ts.map +1 -0
  219. package/dist/types/src/commands/space/close/close.d.ts +12 -0
  220. package/dist/types/src/commands/space/close/close.d.ts.map +1 -0
  221. package/dist/types/src/commands/space/close/index.d.ts +2 -0
  222. package/dist/types/src/commands/space/close/index.d.ts.map +1 -0
  223. package/dist/types/src/commands/space/create/create.d.ts +12 -0
  224. package/dist/types/src/commands/space/create/create.d.ts.map +1 -0
  225. package/dist/types/src/commands/space/create/create.test.d.ts +2 -0
  226. package/dist/types/src/commands/space/create/create.test.d.ts.map +1 -0
  227. package/dist/types/src/commands/space/create/index.d.ts +2 -0
  228. package/dist/types/src/commands/space/create/index.d.ts.map +1 -0
  229. package/dist/types/src/commands/space/index.d.ts +34 -0
  230. package/dist/types/src/commands/space/index.d.ts.map +1 -0
  231. package/dist/types/src/commands/space/info/index.d.ts +2 -0
  232. package/dist/types/src/commands/space/info/index.d.ts.map +1 -0
  233. package/dist/types/src/commands/space/info/info.d.ts +15 -0
  234. package/dist/types/src/commands/space/info/info.d.ts.map +1 -0
  235. package/dist/types/src/commands/space/info/info.test.d.ts +2 -0
  236. package/dist/types/src/commands/space/info/info.test.d.ts.map +1 -0
  237. package/dist/types/src/commands/space/join/index.d.ts +2 -0
  238. package/dist/types/src/commands/space/join/index.d.ts.map +1 -0
  239. package/dist/types/src/commands/space/join/join.d.ts +14 -0
  240. package/dist/types/src/commands/space/join/join.d.ts.map +1 -0
  241. package/dist/types/src/commands/space/join/util.d.ts +17 -0
  242. package/dist/types/src/commands/space/join/util.d.ts.map +1 -0
  243. package/dist/types/src/commands/space/list/index.d.ts +2 -0
  244. package/dist/types/src/commands/space/list/index.d.ts.map +1 -0
  245. package/dist/types/src/commands/space/list/list.d.ts +12 -0
  246. package/dist/types/src/commands/space/list/list.d.ts.map +1 -0
  247. package/dist/types/src/commands/space/list/list.test.d.ts +2 -0
  248. package/dist/types/src/commands/space/list/list.test.d.ts.map +1 -0
  249. package/dist/types/src/commands/space/members/index.d.ts +2 -0
  250. package/dist/types/src/commands/space/members/index.d.ts.map +1 -0
  251. package/dist/types/src/commands/space/members/members.d.ts +13 -0
  252. package/dist/types/src/commands/space/members/members.d.ts.map +1 -0
  253. package/dist/types/src/commands/space/members/members.test.d.ts +2 -0
  254. package/dist/types/src/commands/space/members/members.test.d.ts.map +1 -0
  255. package/dist/types/src/commands/space/members/util.d.ts +9 -0
  256. package/dist/types/src/commands/space/members/util.d.ts.map +1 -0
  257. package/dist/types/src/commands/space/open/index.d.ts +2 -0
  258. package/dist/types/src/commands/space/open/index.d.ts.map +1 -0
  259. package/dist/types/src/commands/space/open/open.d.ts +12 -0
  260. package/dist/types/src/commands/space/open/open.d.ts.map +1 -0
  261. package/dist/types/src/commands/space/schema/index.d.ts +8 -0
  262. package/dist/types/src/commands/space/schema/index.d.ts.map +1 -0
  263. package/dist/types/src/commands/space/schema/list/index.d.ts +2 -0
  264. package/dist/types/src/commands/space/schema/list/index.d.ts.map +1 -0
  265. package/dist/types/src/commands/space/schema/list/list.d.ts +15 -0
  266. package/dist/types/src/commands/space/schema/list/list.d.ts.map +1 -0
  267. package/dist/types/src/commands/space/schema/list/list.test.d.ts +2 -0
  268. package/dist/types/src/commands/space/schema/list/list.test.d.ts.map +1 -0
  269. package/dist/types/src/commands/space/schema/list/util.d.ts +15 -0
  270. package/dist/types/src/commands/space/schema/list/util.d.ts.map +1 -0
  271. package/dist/types/src/commands/space/share/index.d.ts +2 -0
  272. package/dist/types/src/commands/space/share/index.d.ts.map +1 -0
  273. package/dist/types/src/commands/space/share/share.d.ts +19 -0
  274. package/dist/types/src/commands/space/share/share.d.ts.map +1 -0
  275. package/dist/types/src/commands/space/sync/index.d.ts +2 -0
  276. package/dist/types/src/commands/space/sync/index.d.ts.map +1 -0
  277. package/dist/types/src/commands/space/sync/sync.d.ts +6 -0
  278. package/dist/types/src/commands/space/sync/sync.d.ts.map +1 -0
  279. package/dist/types/src/commands/space/sync/sync.test.d.ts +2 -0
  280. package/dist/types/src/commands/space/sync/sync.test.d.ts.map +1 -0
  281. package/dist/types/src/components/AwaitingObject/AwaitingObject.d.ts.map +1 -0
  282. package/dist/types/src/components/AwaitingObject/index.d.ts +2 -0
  283. package/dist/types/src/components/AwaitingObject/index.d.ts.map +1 -0
  284. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts +26 -11
  285. package/dist/types/src/components/CreateDialog/CreateObjectPanel.d.ts.map +1 -1
  286. package/dist/types/src/components/CreateDialog/index.d.ts +1 -2
  287. package/dist/types/src/components/CreateDialog/index.d.ts.map +1 -1
  288. package/dist/types/src/components/ForeignKeys/ForeignKeys.d.ts +8 -0
  289. package/dist/types/src/components/ForeignKeys/ForeignKeys.d.ts.map +1 -0
  290. package/dist/types/src/components/ForeignKeys/index.d.ts +2 -0
  291. package/dist/types/src/components/ForeignKeys/index.d.ts.map +1 -0
  292. package/dist/types/src/components/SpaceSettings/SpaceSettings.d.ts +10 -0
  293. package/dist/types/src/components/SpaceSettings/SpaceSettings.d.ts.map +1 -0
  294. package/dist/types/src/components/SpaceSettings/SpaceSettings.stories.d.ts +1849 -0
  295. package/dist/types/src/components/{MembersContainer.stories.d.ts.map → SpaceSettings/SpaceSettings.stories.d.ts.map} +1 -1
  296. package/dist/types/src/components/SpaceSettings/index.d.ts +1 -1
  297. package/dist/types/src/components/SpaceSettings/index.d.ts.map +1 -1
  298. package/dist/types/src/components/SyncStatus/index.d.ts +2 -2
  299. package/dist/types/src/components/SyncStatus/index.d.ts.map +1 -1
  300. package/dist/types/src/components/SyncStatus/save-tracker.d.ts +1 -1
  301. package/dist/types/src/components/SyncStatus/save-tracker.d.ts.map +1 -1
  302. package/dist/types/src/components/SyncStatus/status.d.ts +2 -2
  303. package/dist/types/src/components/SyncStatus/status.d.ts.map +1 -1
  304. package/dist/types/src/components/index.d.ts +3 -26
  305. package/dist/types/src/components/index.d.ts.map +1 -1
  306. package/dist/types/src/constants.d.ts +6 -0
  307. package/dist/types/src/constants.d.ts.map +1 -0
  308. package/dist/types/src/containers/CollectionArticle/CollectionArticle.d.ts +8 -0
  309. package/dist/types/src/containers/CollectionArticle/CollectionArticle.d.ts.map +1 -0
  310. package/dist/types/src/containers/CollectionArticle/index.d.ts +2 -0
  311. package/dist/types/src/containers/CollectionArticle/index.d.ts.map +1 -0
  312. package/dist/types/src/containers/CollectionSection/CollectionSection.d.ts +6 -0
  313. package/dist/types/src/containers/CollectionSection/CollectionSection.d.ts.map +1 -0
  314. package/dist/types/src/containers/CollectionSection/index.d.ts +2 -0
  315. package/dist/types/src/containers/CollectionSection/index.d.ts.map +1 -0
  316. package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.d.ts +12 -0
  317. package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.d.ts.map +1 -0
  318. package/dist/types/src/containers/CreateObjectDialog/CreateObjectDialog.stories.d.ts +1846 -0
  319. package/dist/types/src/{components/CreateDialog → containers/CreateObjectDialog}/CreateObjectDialog.stories.d.ts.map +1 -1
  320. package/dist/types/src/containers/CreateObjectDialog/index.d.ts +3 -0
  321. package/dist/types/src/containers/CreateObjectDialog/index.d.ts.map +1 -0
  322. package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.d.ts.map +1 -0
  323. package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.stories.d.ts +1850 -0
  324. package/dist/types/src/containers/CreateSpaceDialog/CreateSpaceDialog.stories.d.ts.map +1 -0
  325. package/dist/types/src/containers/CreateSpaceDialog/index.d.ts +2 -0
  326. package/dist/types/src/containers/CreateSpaceDialog/index.d.ts.map +1 -0
  327. package/dist/types/src/containers/InlineSyncStatus/InlineSyncStatus.d.ts.map +1 -0
  328. package/dist/types/src/containers/InlineSyncStatus/index.d.ts +2 -0
  329. package/dist/types/src/containers/InlineSyncStatus/index.d.ts.map +1 -0
  330. package/dist/types/src/containers/JoinDialog/JoinDialog.d.ts.map +1 -0
  331. package/dist/types/src/containers/JoinDialog/JoinDialog.stories.d.ts +1849 -0
  332. package/dist/types/src/{components/SpaceSettings/SpaceSettingsContainer.stories.d.ts.map → containers/JoinDialog/JoinDialog.stories.d.ts.map} +1 -1
  333. package/dist/types/src/containers/JoinDialog/index.d.ts +3 -0
  334. package/dist/types/src/containers/JoinDialog/index.d.ts.map +1 -0
  335. package/dist/types/src/{components → containers/MembersContainer}/MembersContainer.d.ts +3 -4
  336. package/dist/types/src/containers/MembersContainer/MembersContainer.d.ts.map +1 -0
  337. package/dist/types/src/containers/MembersContainer/index.d.ts +2 -0
  338. package/dist/types/src/containers/MembersContainer/index.d.ts.map +1 -0
  339. package/dist/types/src/{components → containers/MenuFooter}/MenuFooter.d.ts +1 -1
  340. package/dist/types/src/containers/MenuFooter/MenuFooter.d.ts.map +1 -0
  341. package/dist/types/src/containers/MenuFooter/index.d.ts +2 -0
  342. package/dist/types/src/containers/MenuFooter/index.d.ts.map +1 -0
  343. package/dist/types/src/containers/ObjectCardStack/ObjectCardStack.d.ts +11 -0
  344. package/dist/types/src/containers/ObjectCardStack/ObjectCardStack.d.ts.map +1 -0
  345. package/dist/types/src/containers/ObjectCardStack/index.d.ts +2 -0
  346. package/dist/types/src/containers/ObjectCardStack/index.d.ts.map +1 -0
  347. package/dist/types/src/containers/ObjectProperties/ObjectProperties.d.ts +10 -0
  348. package/dist/types/src/containers/ObjectProperties/ObjectProperties.d.ts.map +1 -0
  349. package/dist/types/src/containers/ObjectProperties/index.d.ts +2 -0
  350. package/dist/types/src/containers/ObjectProperties/index.d.ts.map +1 -0
  351. package/dist/types/src/containers/ObjectRenamePopover/ObjectRenamePopover.d.ts +7 -0
  352. package/dist/types/src/containers/ObjectRenamePopover/ObjectRenamePopover.d.ts.map +1 -0
  353. package/dist/types/src/containers/ObjectRenamePopover/index.d.ts +2 -0
  354. package/dist/types/src/containers/ObjectRenamePopover/index.d.ts.map +1 -0
  355. package/dist/types/src/containers/RecordArticle/RecordArticle.d.ts +4 -0
  356. package/dist/types/src/containers/RecordArticle/RecordArticle.d.ts.map +1 -0
  357. package/dist/types/src/containers/RecordArticle/RecordArticle.stories.d.ts +14 -0
  358. package/dist/types/src/containers/RecordArticle/RecordArticle.stories.d.ts.map +1 -0
  359. package/dist/types/src/containers/RecordArticle/index.d.ts +2 -0
  360. package/dist/types/src/containers/RecordArticle/index.d.ts.map +1 -0
  361. package/dist/types/src/containers/RelatedArticle/RelatedArticle.d.ts +6 -0
  362. package/dist/types/src/containers/RelatedArticle/RelatedArticle.d.ts.map +1 -0
  363. package/dist/types/src/containers/RelatedArticle/index.d.ts +2 -0
  364. package/dist/types/src/containers/RelatedArticle/index.d.ts.map +1 -0
  365. package/dist/types/src/{components → containers/SchemaContainer}/SchemaContainer.d.ts +3 -6
  366. package/dist/types/src/containers/SchemaContainer/SchemaContainer.d.ts.map +1 -0
  367. package/dist/types/src/containers/SchemaContainer/index.d.ts +2 -0
  368. package/dist/types/src/containers/SchemaContainer/index.d.ts.map +1 -0
  369. package/dist/types/src/containers/SmallPresenceLive/index.d.ts +2 -0
  370. package/dist/types/src/containers/SmallPresenceLive/index.d.ts.map +1 -0
  371. package/dist/types/src/{components → containers/SpacePresence}/SpacePresence.d.ts +7 -6
  372. package/dist/types/src/containers/SpacePresence/SpacePresence.d.ts.map +1 -0
  373. package/dist/types/src/containers/SpacePresence/SpacePresence.stories.d.ts +1847 -0
  374. package/dist/types/src/{components → containers/SpacePresence}/SpacePresence.stories.d.ts.map +1 -1
  375. package/dist/types/src/containers/SpacePresence/index.d.ts +3 -0
  376. package/dist/types/src/containers/SpacePresence/index.d.ts.map +1 -0
  377. package/dist/types/src/containers/SpaceRenamePopover/SpaceRenamePopover.d.ts +7 -0
  378. package/dist/types/src/containers/SpaceRenamePopover/SpaceRenamePopover.d.ts.map +1 -0
  379. package/dist/types/src/containers/SpaceRenamePopover/index.d.ts +2 -0
  380. package/dist/types/src/containers/SpaceRenamePopover/index.d.ts.map +1 -0
  381. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.d.ts +7 -0
  382. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.d.ts.map +1 -0
  383. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.stories.d.ts +1854 -0
  384. package/dist/types/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.stories.d.ts.map +1 -0
  385. package/dist/types/src/containers/SpaceSettingsContainer/index.d.ts +2 -0
  386. package/dist/types/src/containers/SpaceSettingsContainer/index.d.ts.map +1 -0
  387. package/dist/types/src/containers/SyncStatus/SyncStatus.d.ts.map +1 -0
  388. package/dist/types/src/containers/SyncStatus/SyncStatus.stories.d.ts +1852 -0
  389. package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.stories.d.ts.map +1 -1
  390. package/dist/types/src/containers/SyncStatus/index.d.ts +2 -0
  391. package/dist/types/src/containers/SyncStatus/index.d.ts.map +1 -0
  392. package/dist/types/src/containers/ViewEditor/ViewEditor.d.ts +7 -0
  393. package/dist/types/src/containers/ViewEditor/ViewEditor.d.ts.map +1 -0
  394. package/dist/types/src/containers/ViewEditor/index.d.ts +2 -0
  395. package/dist/types/src/containers/ViewEditor/index.d.ts.map +1 -0
  396. package/dist/types/src/containers/index.d.ts +23 -0
  397. package/dist/types/src/containers/index.d.ts.map +1 -0
  398. package/dist/types/src/hooks/index.d.ts +1 -1
  399. package/dist/types/src/hooks/index.d.ts.map +1 -1
  400. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts +2 -8
  401. package/dist/types/src/hooks/useInputSurfaceLookup.d.ts.map +1 -1
  402. package/dist/types/src/hooks/usePath.d.ts +3 -3
  403. package/dist/types/src/hooks/usePath.d.ts.map +1 -1
  404. package/dist/types/src/hooks/useRelatedObjects.d.ts +10 -0
  405. package/dist/types/src/hooks/useRelatedObjects.d.ts.map +1 -0
  406. package/dist/types/src/index.d.ts +3 -5
  407. package/dist/types/src/index.d.ts.map +1 -1
  408. package/dist/types/src/meta.d.ts +2 -2
  409. package/dist/types/src/meta.d.ts.map +1 -1
  410. package/dist/types/src/operations/add-object.d.ts +5 -0
  411. package/dist/types/src/operations/add-object.d.ts.map +1 -0
  412. package/dist/types/src/operations/add-relation.d.ts +5 -0
  413. package/dist/types/src/operations/add-relation.d.ts.map +1 -0
  414. package/dist/types/src/operations/add-schema.d.ts +5 -0
  415. package/dist/types/src/operations/add-schema.d.ts.map +1 -0
  416. package/dist/types/src/operations/close.d.ts +5 -0
  417. package/dist/types/src/operations/close.d.ts.map +1 -0
  418. package/dist/types/src/operations/create.d.ts +5 -0
  419. package/dist/types/src/operations/create.d.ts.map +1 -0
  420. package/dist/types/src/operations/definitions.d.ts +217 -0
  421. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  422. package/dist/types/src/operations/delete-field.d.ts +5 -0
  423. package/dist/types/src/operations/delete-field.d.ts.map +1 -0
  424. package/dist/types/src/operations/duplicate-object.d.ts +5 -0
  425. package/dist/types/src/operations/duplicate-object.d.ts.map +1 -0
  426. package/dist/types/src/operations/get-share-link.d.ts +5 -0
  427. package/dist/types/src/operations/get-share-link.d.ts.map +1 -0
  428. package/dist/types/src/operations/helpers.d.ts +7 -0
  429. package/dist/types/src/operations/helpers.d.ts.map +1 -0
  430. package/dist/types/src/operations/index.d.ts +4 -0
  431. package/dist/types/src/operations/index.d.ts.map +1 -0
  432. package/dist/types/src/operations/join.d.ts +5 -0
  433. package/dist/types/src/operations/join.d.ts.map +1 -0
  434. package/dist/types/src/operations/migrate.d.ts +5 -0
  435. package/dist/types/src/operations/migrate.d.ts.map +1 -0
  436. package/dist/types/src/operations/open-create-object.d.ts +5 -0
  437. package/dist/types/src/operations/open-create-object.d.ts.map +1 -0
  438. package/dist/types/src/operations/open-create-space.d.ts +5 -0
  439. package/dist/types/src/operations/open-create-space.d.ts.map +1 -0
  440. package/dist/types/src/operations/open-members.d.ts +5 -0
  441. package/dist/types/src/operations/open-members.d.ts.map +1 -0
  442. package/dist/types/src/operations/open-settings.d.ts +5 -0
  443. package/dist/types/src/operations/open-settings.d.ts.map +1 -0
  444. package/dist/types/src/operations/open.d.ts +5 -0
  445. package/dist/types/src/operations/open.d.ts.map +1 -0
  446. package/dist/types/src/operations/remove-objects.d.ts +5 -0
  447. package/dist/types/src/operations/remove-objects.d.ts.map +1 -0
  448. package/dist/types/src/operations/rename-object.d.ts +5 -0
  449. package/dist/types/src/operations/rename-object.d.ts.map +1 -0
  450. package/dist/types/src/operations/rename.d.ts +5 -0
  451. package/dist/types/src/operations/rename.d.ts.map +1 -0
  452. package/dist/types/src/operations/restore-field.d.ts +5 -0
  453. package/dist/types/src/operations/restore-field.d.ts.map +1 -0
  454. package/dist/types/src/operations/restore-objects.d.ts +5 -0
  455. package/dist/types/src/operations/restore-objects.d.ts.map +1 -0
  456. package/dist/types/src/operations/share.d.ts +5 -0
  457. package/dist/types/src/operations/share.d.ts.map +1 -0
  458. package/dist/types/src/operations/snapshot.d.ts +5 -0
  459. package/dist/types/src/operations/snapshot.d.ts.map +1 -0
  460. package/dist/types/src/operations/wait-for-object.d.ts +5 -0
  461. package/dist/types/src/operations/wait-for-object.d.ts.map +1 -0
  462. package/dist/types/src/translations.d.ts +1820 -1390
  463. package/dist/types/src/translations.d.ts.map +1 -1
  464. package/dist/types/src/types/Settings.d.ts +10 -0
  465. package/dist/types/src/types/Settings.d.ts.map +1 -0
  466. package/dist/types/src/types/capabilities.d.ts +68 -0
  467. package/dist/types/src/types/capabilities.d.ts.map +1 -0
  468. package/dist/types/src/types/events.d.ts +9 -0
  469. package/dist/types/src/types/events.d.ts.map +1 -0
  470. package/dist/types/src/types/form.d.ts +2 -0
  471. package/dist/types/src/types/form.d.ts.map +1 -0
  472. package/dist/types/src/types/index.d.ts +3 -0
  473. package/dist/types/src/types/index.d.ts.map +1 -1
  474. package/dist/types/src/types/types.d.ts +53 -420
  475. package/dist/types/src/types/types.d.ts.map +1 -1
  476. package/dist/types/src/util.d.ts +10 -135
  477. package/dist/types/src/util.d.ts.map +1 -1
  478. package/dist/types/tsconfig.tsbuildinfo +1 -1
  479. package/package.json +117 -69
  480. package/src/SpacePlugin.node.ts +101 -0
  481. package/src/SpacePlugin.test.ts +33 -0
  482. package/src/SpacePlugin.ts +267 -242
  483. package/src/capabilities/app-graph-builder/app-graph-builder.ts +32 -0
  484. package/src/capabilities/app-graph-builder/extensions/collections.ts +352 -0
  485. package/src/capabilities/app-graph-builder/extensions/companions.ts +88 -0
  486. package/src/capabilities/app-graph-builder/extensions/index.ts +9 -0
  487. package/src/capabilities/app-graph-builder/extensions/settings.ts +88 -0
  488. package/src/capabilities/app-graph-builder/extensions/shared.test.ts +112 -0
  489. package/src/capabilities/app-graph-builder/extensions/shared.ts +190 -0
  490. package/src/capabilities/app-graph-builder/extensions/spaces.ts +326 -0
  491. package/src/capabilities/app-graph-builder/extensions/types.ts +430 -0
  492. package/src/capabilities/app-graph-builder/index.ts +7 -0
  493. package/src/capabilities/app-graph-serializer.ts +67 -58
  494. package/src/capabilities/identity-created.ts +25 -16
  495. package/src/capabilities/index.ts +20 -12
  496. package/src/capabilities/migrations.ts +59 -0
  497. package/src/capabilities/navigation-handler/index.ts +9 -0
  498. package/src/capabilities/navigation-handler/navigation-handler.ts +50 -0
  499. package/src/capabilities/navigation-resolver.ts +94 -0
  500. package/src/capabilities/node.ts +13 -0
  501. package/src/capabilities/operation-handler.ts +14 -0
  502. package/src/capabilities/react-root.tsx +17 -13
  503. package/src/capabilities/react-surface.tsx +346 -360
  504. package/src/capabilities/repair.ts +42 -0
  505. package/src/capabilities/settings.ts +26 -14
  506. package/src/capabilities/spaces-ready.ts +300 -203
  507. package/src/capabilities/state.ts +57 -37
  508. package/src/capabilities/undo-mappings.ts +59 -0
  509. package/src/commands/database/add.ts +110 -0
  510. package/src/commands/database/index.ts +16 -0
  511. package/src/commands/database/query/index.ts +5 -0
  512. package/src/commands/database/query/query.test.ts +53 -0
  513. package/src/commands/database/query/query.ts +44 -0
  514. package/src/commands/database/remove.ts +51 -0
  515. package/src/commands/database/stats.ts +44 -0
  516. package/src/commands/database/util.ts +32 -0
  517. package/src/commands/index.ts +7 -0
  518. package/src/commands/queue/index.ts +12 -0
  519. package/src/commands/queue/query.ts +45 -0
  520. package/src/commands/queue/util.ts +19 -0
  521. package/src/commands/space/close/close.ts +40 -0
  522. package/src/commands/space/close/index.ts +5 -0
  523. package/src/commands/space/create/create.test.ts +67 -0
  524. package/src/commands/space/create/create.ts +61 -0
  525. package/src/commands/space/create/index.ts +5 -0
  526. package/src/commands/space/index.ts +21 -0
  527. package/src/commands/space/info/index.ts +5 -0
  528. package/src/commands/space/info/info.test.ts +32 -0
  529. package/src/commands/space/info/info.ts +50 -0
  530. package/src/commands/space/join/index.ts +5 -0
  531. package/src/commands/space/join/join.ts +122 -0
  532. package/src/commands/space/join/util.ts +82 -0
  533. package/src/commands/space/list/index.ts +5 -0
  534. package/src/commands/space/list/list.test.ts +37 -0
  535. package/src/commands/space/list/list.ts +42 -0
  536. package/src/commands/space/members/index.ts +5 -0
  537. package/src/commands/space/members/members.test.ts +33 -0
  538. package/src/commands/space/members/members.ts +40 -0
  539. package/src/commands/space/members/util.ts +29 -0
  540. package/src/commands/space/open/index.ts +5 -0
  541. package/src/commands/space/open/open.ts +39 -0
  542. package/src/commands/space/schema/index.ts +12 -0
  543. package/src/commands/space/schema/list/index.ts +5 -0
  544. package/src/commands/space/schema/list/list.test.ts +29 -0
  545. package/src/commands/space/schema/list/list.ts +64 -0
  546. package/src/commands/space/schema/list/util.ts +39 -0
  547. package/src/commands/space/share/index.ts +5 -0
  548. package/src/commands/space/share/share.ts +112 -0
  549. package/src/commands/space/sync/index.ts +5 -0
  550. package/src/commands/space/sync/sync.test.ts +12 -0
  551. package/src/commands/space/sync/sync.ts +33 -0
  552. package/src/components/{AwaitingObject.tsx → AwaitingObject/AwaitingObject.tsx} +34 -32
  553. package/src/components/AwaitingObject/index.ts +5 -0
  554. package/src/components/CreateDialog/CreateObjectPanel.tsx +161 -121
  555. package/src/components/CreateDialog/index.ts +1 -2
  556. package/src/components/{ObjectSettings → ForeignKeys}/ForeignKeys.tsx +13 -7
  557. package/src/components/ForeignKeys/index.ts +5 -0
  558. package/src/components/SpaceSettings/SpaceSettings.stories.tsx +34 -0
  559. package/src/components/SpaceSettings/SpaceSettings.tsx +69 -0
  560. package/src/components/SpaceSettings/index.ts +2 -2
  561. package/src/components/SyncStatus/index.ts +2 -2
  562. package/src/components/SyncStatus/save-tracker.ts +2 -2
  563. package/src/components/SyncStatus/status.ts +7 -7
  564. package/src/components/index.ts +3 -17
  565. package/src/constants.ts +11 -0
  566. package/src/containers/CollectionArticle/CollectionArticle.tsx +134 -0
  567. package/src/containers/CollectionArticle/index.ts +5 -0
  568. package/src/containers/CollectionSection/CollectionSection.tsx +24 -0
  569. package/src/containers/CollectionSection/index.ts +5 -0
  570. package/src/containers/CreateObjectDialog/CreateObjectDialog.stories.tsx +81 -0
  571. package/src/containers/CreateObjectDialog/CreateObjectDialog.tsx +162 -0
  572. package/src/containers/CreateObjectDialog/index.ts +6 -0
  573. package/src/containers/CreateSpaceDialog/CreateSpaceDialog.stories.tsx +46 -0
  574. package/src/containers/CreateSpaceDialog/CreateSpaceDialog.tsx +75 -0
  575. package/src/containers/CreateSpaceDialog/index.ts +5 -0
  576. package/src/containers/InlineSyncStatus/InlineSyncStatus.tsx +51 -0
  577. package/src/containers/InlineSyncStatus/index.ts +5 -0
  578. package/src/containers/JoinDialog/JoinDialog.stories.tsx +43 -0
  579. package/src/{components → containers/JoinDialog}/JoinDialog.tsx +38 -45
  580. package/src/containers/JoinDialog/index.ts +6 -0
  581. package/src/{components → containers/MembersContainer}/MembersContainer.tsx +79 -102
  582. package/src/containers/MembersContainer/index.ts +5 -0
  583. package/src/{components → containers/MenuFooter}/MenuFooter.tsx +10 -10
  584. package/src/containers/MenuFooter/index.ts +5 -0
  585. package/src/containers/ObjectCardStack/ObjectCardStack.tsx +82 -0
  586. package/src/containers/ObjectCardStack/index.ts +5 -0
  587. package/src/containers/ObjectProperties/ObjectProperties.tsx +32 -0
  588. package/src/containers/ObjectProperties/index.ts +5 -0
  589. package/src/{components/PopoverRenameObject.tsx → containers/ObjectRenamePopover/ObjectRenamePopover.tsx} +13 -17
  590. package/src/containers/ObjectRenamePopover/index.ts +5 -0
  591. package/src/containers/RecordArticle/RecordArticle.stories.tsx +81 -0
  592. package/src/containers/RecordArticle/RecordArticle.tsx +56 -0
  593. package/src/containers/RecordArticle/index.ts +5 -0
  594. package/src/containers/RelatedArticle/RelatedArticle.tsx +82 -0
  595. package/src/containers/RelatedArticle/index.ts +5 -0
  596. package/src/containers/SchemaContainer/SchemaContainer.tsx +59 -0
  597. package/src/containers/SchemaContainer/index.ts +5 -0
  598. package/src/containers/SmallPresenceLive/index.ts +5 -0
  599. package/src/{components → containers/SpacePresence}/SpacePresence.stories.tsx +3 -3
  600. package/src/{components → containers/SpacePresence}/SpacePresence.tsx +29 -37
  601. package/src/containers/SpacePresence/index.ts +6 -0
  602. package/src/{components/PopoverRenameSpace.tsx → containers/SpaceRenamePopover/SpaceRenamePopover.tsx} +17 -17
  603. package/src/containers/SpaceRenamePopover/index.ts +5 -0
  604. package/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.stories.tsx +48 -0
  605. package/src/containers/SpaceSettingsContainer/SpaceSettingsContainer.tsx +256 -0
  606. package/src/containers/SpaceSettingsContainer/index.ts +5 -0
  607. package/src/{components → containers}/SyncStatus/SyncStatus.stories.tsx +5 -4
  608. package/src/containers/SyncStatus/SyncStatus.tsx +149 -0
  609. package/src/containers/SyncStatus/index.ts +5 -0
  610. package/src/containers/ViewEditor/ViewEditor.tsx +102 -0
  611. package/src/containers/ViewEditor/index.ts +5 -0
  612. package/src/containers/index.ts +28 -0
  613. package/src/hooks/index.ts +1 -1
  614. package/src/hooks/useInputSurfaceLookup.tsx +16 -13
  615. package/src/hooks/usePath.ts +5 -5
  616. package/src/hooks/useRelatedObjects.ts +79 -0
  617. package/src/index.ts +7 -5
  618. package/src/meta.ts +8 -3
  619. package/src/operations/add-object.ts +81 -0
  620. package/src/operations/add-relation.ts +25 -0
  621. package/src/operations/add-schema.ts +51 -0
  622. package/src/operations/close.ts +16 -0
  623. package/src/operations/create.ts +59 -0
  624. package/src/operations/definitions.ts +438 -0
  625. package/src/operations/delete-field.ts +42 -0
  626. package/src/operations/duplicate-object.ts +30 -0
  627. package/src/operations/get-share-link.ts +43 -0
  628. package/src/operations/helpers.ts +10 -0
  629. package/src/operations/index.ts +31 -0
  630. package/src/operations/join.ts +26 -0
  631. package/src/operations/migrate.ts +45 -0
  632. package/src/operations/open-create-object.ts +40 -0
  633. package/src/operations/open-create-space.ts +21 -0
  634. package/src/operations/open-members.ts +20 -0
  635. package/src/operations/open-settings.ts +20 -0
  636. package/src/operations/open.ts +16 -0
  637. package/src/operations/remove-objects.ts +87 -0
  638. package/src/operations/rename-object.ts +24 -0
  639. package/src/operations/rename.ts +22 -0
  640. package/src/operations/restore-field.ts +36 -0
  641. package/src/operations/restore-objects.ts +49 -0
  642. package/src/operations/share.ts +27 -0
  643. package/src/operations/snapshot.ts +24 -0
  644. package/src/operations/wait-for-object.ts +21 -0
  645. package/src/translations.ts +285 -207
  646. package/src/types/Settings.ts +18 -0
  647. package/src/types/capabilities.ts +74 -0
  648. package/src/types/events.ts +16 -0
  649. package/src/types/form.ts +10 -0
  650. package/src/types/index.ts +3 -0
  651. package/src/types/types.ts +69 -308
  652. package/src/util.ts +79 -0
  653. package/dist/lib/browser/CollectionMain-AX7KKXWP.mjs +0 -31
  654. package/dist/lib/browser/CollectionMain-AX7KKXWP.mjs.map +0 -7
  655. package/dist/lib/browser/ObjectDetailsPanel-ETI5YBTH.mjs +0 -90
  656. package/dist/lib/browser/ObjectDetailsPanel-ETI5YBTH.mjs.map +0 -7
  657. package/dist/lib/browser/RecordMain-TEBGAVSL.mjs +0 -68
  658. package/dist/lib/browser/RecordMain-TEBGAVSL.mjs.map +0 -7
  659. package/dist/lib/browser/app-graph-builder-W7RVDAUA.mjs +0 -517
  660. package/dist/lib/browser/app-graph-builder-W7RVDAUA.mjs.map +0 -7
  661. package/dist/lib/browser/app-graph-serializer-VLHVTDX4.mjs +0 -80
  662. package/dist/lib/browser/app-graph-serializer-VLHVTDX4.mjs.map +0 -7
  663. package/dist/lib/browser/chunk-2BFVC5K6.mjs +0 -1973
  664. package/dist/lib/browser/chunk-2BFVC5K6.mjs.map +0 -7
  665. package/dist/lib/browser/chunk-E2I747A7.mjs +0 -20
  666. package/dist/lib/browser/chunk-E2I747A7.mjs.map +0 -7
  667. package/dist/lib/browser/chunk-EIXZABXD.mjs +0 -19
  668. package/dist/lib/browser/chunk-EIXZABXD.mjs.map +0 -7
  669. package/dist/lib/browser/chunk-ELJDGQTO.mjs +0 -94
  670. package/dist/lib/browser/chunk-ELJDGQTO.mjs.map +0 -7
  671. package/dist/lib/browser/chunk-IRKDREHY.mjs +0 -11
  672. package/dist/lib/browser/chunk-IRKDREHY.mjs.map +0 -7
  673. package/dist/lib/browser/chunk-JCHSUOPF.mjs +0 -344
  674. package/dist/lib/browser/chunk-JCHSUOPF.mjs.map +0 -7
  675. package/dist/lib/browser/chunk-PN27K4I7.mjs +0 -701
  676. package/dist/lib/browser/chunk-PN27K4I7.mjs.map +0 -7
  677. package/dist/lib/browser/chunk-ZIZ2JLW6.mjs +0 -227
  678. package/dist/lib/browser/chunk-ZIZ2JLW6.mjs.map +0 -7
  679. package/dist/lib/browser/identity-created-PW2BA46S.mjs +0 -23
  680. package/dist/lib/browser/identity-created-PW2BA46S.mjs.map +0 -7
  681. package/dist/lib/browser/intent-resolver-HA7DPAUE.mjs +0 -765
  682. package/dist/lib/browser/intent-resolver-HA7DPAUE.mjs.map +0 -7
  683. package/dist/lib/browser/react-root-YQUJU64P.mjs +0 -29
  684. package/dist/lib/browser/react-root-YQUJU64P.mjs.map +0 -7
  685. package/dist/lib/browser/react-surface-HTXYMRSW.mjs +0 -385
  686. package/dist/lib/browser/react-surface-HTXYMRSW.mjs.map +0 -7
  687. package/dist/lib/browser/schema-defs-R56ZDBZ7.mjs +0 -26
  688. package/dist/lib/browser/schema-defs-R56ZDBZ7.mjs.map +0 -7
  689. package/dist/lib/browser/settings-5XPQMSPO.mjs +0 -24
  690. package/dist/lib/browser/settings-5XPQMSPO.mjs.map +0 -7
  691. package/dist/lib/browser/spaces-ready-YY77ANIF.mjs +0 -201
  692. package/dist/lib/browser/spaces-ready-YY77ANIF.mjs.map +0 -7
  693. package/dist/lib/browser/state-Y4RVCG4A.mjs +0 -47
  694. package/dist/lib/browser/state-Y4RVCG4A.mjs.map +0 -7
  695. package/dist/lib/node-esm/CollectionMain-EU57SRYK.mjs +0 -32
  696. package/dist/lib/node-esm/CollectionMain-EU57SRYK.mjs.map +0 -7
  697. package/dist/lib/node-esm/ObjectDetailsPanel-TQ5GN4QJ.mjs +0 -91
  698. package/dist/lib/node-esm/ObjectDetailsPanel-TQ5GN4QJ.mjs.map +0 -7
  699. package/dist/lib/node-esm/RecordMain-WLYJMYER.mjs +0 -70
  700. package/dist/lib/node-esm/RecordMain-WLYJMYER.mjs.map +0 -7
  701. package/dist/lib/node-esm/app-graph-builder-5ZJJUMQI.mjs +0 -518
  702. package/dist/lib/node-esm/app-graph-builder-5ZJJUMQI.mjs.map +0 -7
  703. package/dist/lib/node-esm/app-graph-serializer-EZJSGJUT.mjs +0 -81
  704. package/dist/lib/node-esm/app-graph-serializer-EZJSGJUT.mjs.map +0 -7
  705. package/dist/lib/node-esm/chunk-5XRYHWL7.mjs +0 -228
  706. package/dist/lib/node-esm/chunk-5XRYHWL7.mjs.map +0 -7
  707. package/dist/lib/node-esm/chunk-6WNZW6KT.mjs +0 -345
  708. package/dist/lib/node-esm/chunk-6WNZW6KT.mjs.map +0 -7
  709. package/dist/lib/node-esm/chunk-BLPXWPLB.mjs +0 -1974
  710. package/dist/lib/node-esm/chunk-BLPXWPLB.mjs.map +0 -7
  711. package/dist/lib/node-esm/chunk-IJVBBVCL.mjs +0 -21
  712. package/dist/lib/node-esm/chunk-IJVBBVCL.mjs.map +0 -7
  713. package/dist/lib/node-esm/chunk-MWNATOXL.mjs +0 -13
  714. package/dist/lib/node-esm/chunk-MWNATOXL.mjs.map +0 -7
  715. package/dist/lib/node-esm/chunk-Q6AAQLQG.mjs +0 -96
  716. package/dist/lib/node-esm/chunk-Q6AAQLQG.mjs.map +0 -7
  717. package/dist/lib/node-esm/chunk-SVFKU7EW.mjs +0 -20
  718. package/dist/lib/node-esm/chunk-SVFKU7EW.mjs.map +0 -7
  719. package/dist/lib/node-esm/chunk-XDQXUZMK.mjs +0 -702
  720. package/dist/lib/node-esm/chunk-XDQXUZMK.mjs.map +0 -7
  721. package/dist/lib/node-esm/identity-created-MWTLGQRU.mjs +0 -25
  722. package/dist/lib/node-esm/identity-created-MWTLGQRU.mjs.map +0 -7
  723. package/dist/lib/node-esm/intent-resolver-LQNHMPIX.mjs +0 -766
  724. package/dist/lib/node-esm/intent-resolver-LQNHMPIX.mjs.map +0 -7
  725. package/dist/lib/node-esm/react-root-UTLJEIKE.mjs +0 -30
  726. package/dist/lib/node-esm/react-root-UTLJEIKE.mjs.map +0 -7
  727. package/dist/lib/node-esm/react-surface-LYDYON3U.mjs +0 -386
  728. package/dist/lib/node-esm/react-surface-LYDYON3U.mjs.map +0 -7
  729. package/dist/lib/node-esm/schema-defs-7IMJPIWS.mjs +0 -27
  730. package/dist/lib/node-esm/schema-defs-7IMJPIWS.mjs.map +0 -7
  731. package/dist/lib/node-esm/settings-XBSK5KHH.mjs +0 -25
  732. package/dist/lib/node-esm/settings-XBSK5KHH.mjs.map +0 -7
  733. package/dist/lib/node-esm/spaces-ready-YX4IHT4P.mjs +0 -202
  734. package/dist/lib/node-esm/spaces-ready-YX4IHT4P.mjs.map +0 -7
  735. package/dist/lib/node-esm/state-HOHAVPUO.mjs +0 -48
  736. package/dist/lib/node-esm/state-HOHAVPUO.mjs.map +0 -7
  737. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -4
  738. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  739. package/dist/types/src/capabilities/capabilities.d.ts +0 -28
  740. package/dist/types/src/capabilities/capabilities.d.ts.map +0 -1
  741. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -9
  742. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  743. package/dist/types/src/capabilities/schema-defs.d.ts +0 -4
  744. package/dist/types/src/capabilities/schema-defs.d.ts.map +0 -1
  745. package/dist/types/src/components/AwaitingObject.d.ts.map +0 -1
  746. package/dist/types/src/components/CollectionMain.d.ts +0 -7
  747. package/dist/types/src/components/CollectionMain.d.ts.map +0 -1
  748. package/dist/types/src/components/CollectionSection.d.ts +0 -6
  749. package/dist/types/src/components/CollectionSection.d.ts.map +0 -1
  750. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +0 -10
  751. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +0 -1
  752. package/dist/types/src/components/CreateDialog/CreateObjectDialog.stories.d.ts +0 -1590
  753. package/dist/types/src/components/CreateDialog/CreateSpaceDialog.d.ts.map +0 -1
  754. package/dist/types/src/components/JoinDialog.d.ts.map +0 -1
  755. package/dist/types/src/components/MembersContainer.d.ts.map +0 -1
  756. package/dist/types/src/components/MembersContainer.stories.d.ts +0 -1587
  757. package/dist/types/src/components/MenuFooter.d.ts.map +0 -1
  758. package/dist/types/src/components/ObjectDetailsPanel.d.ts +0 -9
  759. package/dist/types/src/components/ObjectDetailsPanel.d.ts.map +0 -1
  760. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts +0 -7
  761. package/dist/types/src/components/ObjectSettings/AdvancedObjectSettings.d.ts.map +0 -1
  762. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts +0 -8
  763. package/dist/types/src/components/ObjectSettings/BaseObjectSettings.d.ts.map +0 -1
  764. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts +0 -8
  765. package/dist/types/src/components/ObjectSettings/ForeignKeys.d.ts.map +0 -1
  766. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts +0 -8
  767. package/dist/types/src/components/ObjectSettings/ObjectSettingsContainer.d.ts.map +0 -1
  768. package/dist/types/src/components/ObjectSettings/index.d.ts +0 -2
  769. package/dist/types/src/components/ObjectSettings/index.d.ts.map +0 -1
  770. package/dist/types/src/components/PersistenceStatus.d.ts +0 -6
  771. package/dist/types/src/components/PersistenceStatus.d.ts.map +0 -1
  772. package/dist/types/src/components/PopoverRenameObject.d.ts +0 -7
  773. package/dist/types/src/components/PopoverRenameObject.d.ts.map +0 -1
  774. package/dist/types/src/components/PopoverRenameSpace.d.ts +0 -7
  775. package/dist/types/src/components/PopoverRenameSpace.d.ts.map +0 -1
  776. package/dist/types/src/components/RecordMain.d.ts +0 -7
  777. package/dist/types/src/components/RecordMain.d.ts.map +0 -1
  778. package/dist/types/src/components/SchemaContainer.d.ts.map +0 -1
  779. package/dist/types/src/components/SpacePluginSettings.d.ts +0 -6
  780. package/dist/types/src/components/SpacePluginSettings.d.ts.map +0 -1
  781. package/dist/types/src/components/SpacePresence.d.ts.map +0 -1
  782. package/dist/types/src/components/SpacePresence.stories.d.ts +0 -1417
  783. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts +0 -7
  784. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.d.ts.map +0 -1
  785. package/dist/types/src/components/SpaceSettings/SpaceSettingsContainer.stories.d.ts +0 -1420
  786. package/dist/types/src/components/SyncStatus/InlineSyncStatus.d.ts.map +0 -1
  787. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts.map +0 -1
  788. package/dist/types/src/components/SyncStatus/SyncStatus.stories.d.ts +0 -1422
  789. package/dist/types/src/components/ViewEditor.d.ts +0 -8
  790. package/dist/types/src/components/ViewEditor.d.ts.map +0 -1
  791. package/dist/types/src/events.d.ts +0 -8
  792. package/dist/types/src/events.d.ts.map +0 -1
  793. package/dist/types/src/hooks/useActiveSpace.d.ts +0 -4
  794. package/dist/types/src/hooks/useActiveSpace.d.ts.map +0 -1
  795. package/src/capabilities/app-graph-builder.ts +0 -752
  796. package/src/capabilities/capabilities.ts +0 -30
  797. package/src/capabilities/intent-resolver.ts +0 -706
  798. package/src/capabilities/schema-defs.ts +0 -31
  799. package/src/components/CollectionMain.tsx +0 -32
  800. package/src/components/CollectionSection.tsx +0 -20
  801. package/src/components/CreateDialog/CreateObjectDialog.stories.tsx +0 -85
  802. package/src/components/CreateDialog/CreateObjectDialog.tsx +0 -134
  803. package/src/components/CreateDialog/CreateSpaceDialog.tsx +0 -66
  804. package/src/components/MembersContainer.stories.tsx +0 -56
  805. package/src/components/ObjectDetailsPanel.tsx +0 -79
  806. package/src/components/ObjectSettings/AdvancedObjectSettings.tsx +0 -81
  807. package/src/components/ObjectSettings/BaseObjectSettings.tsx +0 -47
  808. package/src/components/ObjectSettings/ObjectSettingsContainer.tsx +0 -37
  809. package/src/components/ObjectSettings/index.ts +0 -5
  810. package/src/components/PersistenceStatus.tsx +0 -83
  811. package/src/components/RecordMain.tsx +0 -43
  812. package/src/components/SchemaContainer.tsx +0 -59
  813. package/src/components/SpacePluginSettings.tsx +0 -52
  814. package/src/components/SpaceSettings/SpaceSettingsContainer.stories.tsx +0 -46
  815. package/src/components/SpaceSettings/SpaceSettingsContainer.tsx +0 -184
  816. package/src/components/SyncStatus/InlineSyncStatus.tsx +0 -62
  817. package/src/components/SyncStatus/SyncStatus.tsx +0 -59
  818. package/src/components/ViewEditor.tsx +0 -59
  819. package/src/events.ts +0 -15
  820. package/src/hooks/useActiveSpace.ts +0 -20
  821. package/src/util.tsx +0 -717
  822. /package/dist/types/src/components/{AwaitingObject.d.ts → AwaitingObject/AwaitingObject.d.ts} +0 -0
  823. /package/dist/types/src/{components/CreateDialog → containers/CreateSpaceDialog}/CreateSpaceDialog.d.ts +0 -0
  824. /package/dist/types/src/{components/SyncStatus → containers/InlineSyncStatus}/InlineSyncStatus.d.ts +0 -0
  825. /package/dist/types/src/{components → containers/JoinDialog}/JoinDialog.d.ts +0 -0
  826. /package/dist/types/src/{components → containers}/SyncStatus/SyncStatus.d.ts +0 -0
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/components/AwaitingObject.tsx", "../../../src/components/CreateDialog/CreateObjectDialog.tsx", "../../../src/capabilities/index.ts", "../../../src/components/CreateDialog/CreateObjectPanel.tsx", "../../../src/components/CreateDialog/CreateSpaceDialog.tsx", "../../../src/components/CollectionSection.tsx", "../../../src/components/JoinDialog.tsx", "../../../src/components/MembersContainer.tsx", "../../../src/components/MenuFooter.tsx", "../../../src/components/ObjectSettings/ObjectSettingsContainer.tsx", "../../../src/components/ObjectSettings/BaseObjectSettings.tsx", "../../../src/components/PersistenceStatus.tsx", "../../../src/components/PopoverRenameObject.tsx", "../../../src/components/PopoverRenameSpace.tsx", "../../../src/components/SchemaContainer.tsx", "../../../src/components/SpacePresence.tsx", "../../../src/components/SpacePluginSettings.tsx", "../../../src/components/SpaceSettings/SpaceSettingsContainer.tsx", "../../../src/components/SyncStatus/InlineSyncStatus.tsx", "../../../src/components/SyncStatus/SyncStatus.tsx", "../../../src/components/SyncStatus/save-tracker.ts", "../../../src/components/SyncStatus/status.ts", "../../../src/components/ViewEditor.tsx", "../../../src/components/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useCallback, useEffect, useState } from 'react';\n\nimport { LayoutAction, createIntent, useIntentDispatcher, useLayout } from '@dxos/app-framework';\nimport { useClient } from '@dxos/react-client';\nimport { Filter, fullyQualifiedId, useQuery } from '@dxos/react-client/echo';\nimport { Button, Icon, Toast, useTranslation } from '@dxos/react-ui';\n\nimport { meta } from '../meta';\nimport { SpaceAction } from '../types';\n\nconst WAIT_FOR_OBJECT_TIMEOUT = 180e3; // 3 minutes\nconst TOAST_TIMEOUT = 240e3; // 4 minutes\n\nexport const AwaitingObject = ({ id }: { id: string }) => {\n const [open, setOpen] = useState(true);\n const [waiting, setWaiting] = useState(true);\n const [found, setFound] = useState(false);\n const { t } = useTranslation(meta.id);\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const layout = useLayout();\n\n const client = useClient();\n const objects = useQuery(client.spaces, Filter.everything());\n\n useEffect(() => {\n if (!id) {\n return;\n }\n\n const timeout = setTimeout(() => {\n setWaiting(false);\n }, WAIT_FOR_OBJECT_TIMEOUT);\n\n () => clearTimeout(timeout);\n }, [id]);\n\n useEffect(() => {\n if (objects.findIndex((object) => fullyQualifiedId(object) === id) > -1) {\n setFound(true);\n\n if (layout.active.includes(id)) {\n setOpen(false);\n }\n }\n }, [id, objects, layout]);\n\n const handleClose = useCallback(\n async () => dispatch(createIntent(SpaceAction.WaitForObject, { id: undefined })),\n [dispatch],\n );\n\n const handleNavigate = useCallback(() => {\n void dispatch(createIntent(LayoutAction.Open, { part: 'main', subject: [id] }));\n void handleClose();\n }, [id, handleClose, dispatch]);\n\n return (\n <Toast.Root open={open} duration={TOAST_TIMEOUT} onOpenChange={setOpen}>\n <Toast.Body>\n <Toast.Title classNames='flex items-center gap-2'>\n {found ? (\n <>\n <Icon icon='ph--check-circle--regular' size={5} />\n <span>{t('found object label')}</span>\n </>\n ) : waiting ? (\n <>\n <Icon icon='ph--circle-notch--regular' size={5} classNames='animate-spin' />\n <span>{t('waiting for object label')}</span>\n </>\n ) : (\n <>\n <Icon icon='ph--circle-dashed--regular' size={5} />\n <span>{t('object not found label')}</span>\n </>\n )}\n </Toast.Title>\n <Toast.Description>\n {t(\n found\n ? 'found object description'\n : waiting\n ? 'waiting for object description'\n : 'object not found description',\n )}\n </Toast.Description>\n </Toast.Body>\n <Toast.Actions>\n {found ? (\n <>\n <Toast.Action altText={t('go to object alt')} asChild>\n <Button variant='primary' onClick={handleNavigate}>\n {t('go to object label')}\n </Button>\n </Toast.Action>\n <Toast.Close asChild>\n <Button onClick={handleClose}>{t('close label', { ns: 'appkit' })}</Button>\n </Toast.Close>\n </>\n ) : (\n <Toast.Close asChild>\n <Button onClick={handleClose}>{t(waiting ? 'close label' : 'confirm label', { ns: 'appkit' })}</Button>\n </Toast.Close>\n )}\n </Toast.Actions>\n </Toast.Root>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Effect, pipe } from 'effect';\nimport React, { useCallback, useRef, useState } from 'react';\n\nimport {\n Capabilities,\n LayoutAction,\n chain,\n createIntent,\n useCapabilities,\n useIntentDispatcher,\n usePluginManager,\n} from '@dxos/app-framework';\nimport { Obj, Query, Type } from '@dxos/echo';\nimport { invariant } from '@dxos/invariant';\nimport { useClient } from '@dxos/react-client';\nimport { type Space, getSpace, isLiveObject, isSpace, useQuery, useSpaces } from '@dxos/react-client/echo';\nimport { Button, Dialog, Icon, useTranslation } from '@dxos/react-ui';\nimport { cardDialogContent, cardDialogHeader } from '@dxos/react-ui-stack';\nimport { DataType, typenameFromQuery } from '@dxos/schema';\nimport { isNonNullable } from '@dxos/util';\n\nimport { SpaceCapabilities } from '../../capabilities';\nimport { meta } from '../../meta';\nimport { SpaceAction } from '../../types';\n\nimport { CreateObjectPanel, type CreateObjectPanelProps } from './CreateObjectPanel';\n\nexport const CREATE_OBJECT_DIALOG = `${meta.id}/CreateObjectDialog`;\n\nexport type CreateObjectDialogProps = Pick<\n CreateObjectPanelProps,\n 'target' | 'views' | 'typename' | 'initialFormValues'\n> & {\n onCreateObject?: (object: Obj.Any) => void;\n shouldNavigate?: (object: Obj.Any) => boolean;\n};\n\nexport const CreateObjectDialog = ({\n target: initialTarget,\n typename: initialTypename,\n views,\n initialFormValues,\n onCreateObject,\n shouldNavigate: _shouldNavigate,\n}: CreateObjectDialogProps) => {\n const closeRef = useRef<HTMLButtonElement | null>(null);\n const manager = usePluginManager();\n const { t } = useTranslation(meta.id);\n const client = useClient();\n const spaces = useSpaces();\n const { dispatch } = useIntentDispatcher();\n const forms = useCapabilities(SpaceCapabilities.ObjectForm);\n const [target, setTarget] = useState<Space | DataType.Collection | undefined>(initialTarget);\n const [typename, setTypename] = useState<string | undefined>(initialTypename);\n const space = isSpace(target) ? target : getSpace(target);\n const queryCollections = useQuery(space, Query.type(DataType.QueryCollection));\n const hiddenTypenames = queryCollections\n .map((collection) => typenameFromQuery(collection.query))\n .filter(isNonNullable);\n\n const resolve = useCallback<NonNullable<CreateObjectPanelProps['resolve']>>(\n (typename) =>\n manager.context.getCapabilities(Capabilities.Metadata).find(({ id }) => id === typename)?.metadata ?? {},\n [manager],\n );\n\n const handleCreateObject = useCallback<NonNullable<CreateObjectPanelProps['onCreateObject']>>(\n ({ form, data = {} }) =>\n Effect.gen(function* () {\n if (!target) {\n // TODO(wittjosiah): UI feedback.\n return;\n }\n\n // NOTE: Must close before navigating or attention won't follow object.\n closeRef.current?.click();\n\n const space = isSpace(target) ? target : getSpace(target);\n invariant(space, 'Missing space');\n const { object } = yield* dispatch(form.getIntent(data, { space }));\n if (isLiveObject(object) && !Obj.instanceOf(DataType.StoredSchema, object)) {\n // TODO(wittjosiah): Selection in navtree isn't working as expected when hidden typenames evals to true.\n const hidden = form.hidden || hiddenTypenames.includes(Type.getTypename(form.objectSchema));\n const addObjectIntent = createIntent(SpaceAction.AddObject, { target, object, hidden });\n const shouldNavigate = _shouldNavigate ?? (() => true);\n if (shouldNavigate(object)) {\n yield* dispatch(pipe(addObjectIntent, chain(LayoutAction.Open, { part: 'main' })));\n } else {\n yield* dispatch(addObjectIntent);\n }\n\n onCreateObject?.(object);\n }\n }).pipe(Effect.runPromise),\n [dispatch, target, resolve, hiddenTypenames, _shouldNavigate],\n );\n\n return (\n // TODO(wittjosiah): The tablist dialog pattern is copied from @dxos/plugin-manager.\n // Consider factoring it out to the tabs package.\n <Dialog.Content classNames={cardDialogContent}>\n <div role='none' className={cardDialogHeader}>\n <Dialog.Title>\n {t('create object dialog title', {\n object: t('typename label', { ns: typename, defaultValue: views ? 'View' : 'Item' }),\n })}\n </Dialog.Title>\n <Dialog.Close asChild>\n <Button ref={closeRef} density='fine' variant='ghost' autoFocus>\n <Icon icon='ph--x--regular' size={4} />\n </Button>\n </Dialog.Close>\n </div>\n\n <CreateObjectPanel\n forms={forms}\n spaces={spaces}\n target={target}\n views={views}\n typename={typename}\n initialFormValues={initialFormValues}\n defaultSpaceId={client.spaces.default.id}\n resolve={resolve}\n onTargetChange={setTarget}\n onTypenameChange={setTypename}\n onCreateObject={handleCreateObject}\n />\n </Dialog.Content>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const AppGraphBuilder = lazy(() => import('./app-graph-builder'));\nexport const AppGraphSerializer = lazy(() => import('./app-graph-serializer'));\nexport const IdentityCreated = lazy(() => import('./identity-created'));\nexport const IntentResolver = lazy(() => import('./intent-resolver'));\nexport const ReactRoot = lazy(() => import('./react-root'));\nexport const ReactSurface = lazy(() => import('./react-surface'));\nexport const SchemaDefs = lazy(() => import('./schema-defs'));\nexport const SpaceSettings = lazy(() => import('./settings'));\nexport const SpaceState = lazy(() => import('./state'));\nexport const SpacesReady = lazy(() => import('./spaces-ready'));\n\nexport * from './capabilities';\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Option } from 'effect';\nimport React, { useCallback } from 'react';\n\nimport { Type } from '@dxos/echo';\nimport { type BaseObject, type TypeAnnotation, ViewAnnotation, getTypeAnnotation } from '@dxos/echo-schema';\nimport { type Space, type SpaceId } from '@dxos/react-client/echo';\nimport { Icon, toLocalizedString, useDefaultValue, useTranslation } from '@dxos/react-ui';\nimport { Form } from '@dxos/react-ui-form';\nimport { SearchList } from '@dxos/react-ui-searchlist';\nimport { cardDialogOverflow, cardDialogPaddedOverflow, cardDialogSearchListRoot } from '@dxos/react-ui-stack';\nimport { type DataType } from '@dxos/schema';\nimport { type MaybePromise, isNonNullable } from '@dxos/util';\n\nimport { useInputSurfaceLookup } from '../../hooks';\nimport { meta } from '../../meta';\nimport { type ObjectForm } from '../../types';\nimport { getSpaceDisplayName } from '../../util';\n\nexport type CreateObjectPanelProps = {\n forms: ObjectForm[];\n spaces: Space[];\n typename?: string;\n target?: Space | DataType.Collection;\n views?: boolean;\n initialFormValues?: Partial<BaseObject>;\n defaultSpaceId?: SpaceId;\n resolve?: (typename: string) => Record<string, any>;\n onTargetChange?: (target: Space) => void;\n onTypenameChange?: (typename: string) => void;\n onCreateObject?: (params: { form: ObjectForm; data?: Record<string, any> }) => MaybePromise<void>;\n};\n\nexport const CreateObjectPanel = ({\n forms,\n spaces,\n typename,\n target,\n views,\n initialFormValues: _initialFormValues,\n defaultSpaceId,\n resolve,\n onTargetChange,\n onTypenameChange,\n onCreateObject,\n}: CreateObjectPanelProps) => {\n const { t } = useTranslation(meta.id);\n const initialFormValues = useDefaultValue(_initialFormValues, () => ({}));\n const form = forms.find((form) => Type.getTypename(form.objectSchema) === typename);\n const options: TypeAnnotation[] = forms\n .filter((form) => {\n if (views == null) {\n return true;\n } else {\n return views === ViewAnnotation.get(form.objectSchema).pipe(Option.getOrElse(() => false));\n }\n })\n .map((form) => getTypeAnnotation(form.objectSchema))\n .filter(isNonNullable)\n .sort((a, b) => {\n const nameA = t('typename label', { ns: a.typename, defaultValue: a.typename });\n const nameB = t('typename label', { ns: b.typename, defaultValue: b.typename });\n return nameA.localeCompare(nameB);\n });\n\n const handleCreateObject = useCallback(\n async (props: Record<string, any>) => {\n if (!form) {\n return;\n }\n await onCreateObject?.({ form, data: props });\n },\n [onCreateObject, form],\n );\n\n const handleSetTypename = useCallback(\n async (typename: string) => {\n const form = forms.find((form) => getTypeAnnotation(form.objectSchema)?.typename === typename);\n if (form && !form.formSchema) {\n await onCreateObject?.({ form });\n } else {\n onTypenameChange?.(typename);\n }\n },\n [forms, onCreateObject],\n );\n\n const inputSurfaceLookup = useInputSurfaceLookup({ target });\n\n // TODO(wittjosiah): These inputs should be rolled into a `Form` once it supports the necessary variants.\n return !form ? (\n <SelectSchema options={options} resolve={resolve} onChange={handleSetTypename} />\n ) : !target ? (\n <SelectSpace spaces={spaces} defaultSpaceId={defaultSpaceId} onChange={onTargetChange} />\n ) : form.formSchema ? (\n <div role='none' className={cardDialogOverflow}>\n <Form\n autoFocus\n values={initialFormValues}\n schema={form.formSchema}\n testId='create-object-form'\n onSave={handleCreateObject}\n lookupComponent={inputSurfaceLookup}\n outerSpacing='blockStart-0'\n />\n </div>\n ) : null;\n};\n\nconst SelectSpace = ({\n spaces,\n defaultSpaceId,\n onChange,\n}: { onChange?: (space: Space) => void } & Pick<CreateObjectPanelProps, 'spaces' | 'defaultSpaceId'>) => {\n const { t } = useTranslation(meta.id);\n\n return (\n <SearchList.Root label={t('space input label')} classNames={cardDialogSearchListRoot}>\n <SearchList.Input\n autoFocus\n data-testid='create-object-form.space-input'\n placeholder={t('space input placeholder')}\n />\n <SearchList.Content classNames={[cardDialogOverflow, 'plb-cardSpacingBlock']}>\n {spaces\n .sort((a, b) => {\n const aName = toLocalizedString(getSpaceDisplayName(a, { personal: a.id === defaultSpaceId }), t);\n const bName = toLocalizedString(getSpaceDisplayName(b, { personal: b.id === defaultSpaceId }), t);\n return aName.localeCompare(bName);\n })\n .map((space) => (\n <SearchList.Item\n key={space.id}\n value={toLocalizedString(getSpaceDisplayName(space, { personal: space.id === defaultSpaceId }), t)}\n onSelect={() => onChange?.(space)}\n classNames='flex items-center gap-2'\n >\n <span className='grow truncate'>\n {toLocalizedString(getSpaceDisplayName(space, { personal: space.id === defaultSpaceId }), t)}\n </span>\n </SearchList.Item>\n ))}\n </SearchList.Content>\n </SearchList.Root>\n );\n};\n\nconst SelectSchema = ({\n options,\n resolve,\n onChange,\n}: {\n options: TypeAnnotation[];\n onChange: (type: string) => void;\n} & Pick<CreateObjectPanelProps, 'resolve'>) => {\n const { t } = useTranslation(meta.id);\n\n return (\n <SearchList.Root label={t('schema input label')} classNames={cardDialogSearchListRoot}>\n <SearchList.Input\n autoFocus\n data-testid='create-object-form.schema-input'\n placeholder={t('schema input placeholder')}\n />\n <SearchList.Content classNames={cardDialogPaddedOverflow}>\n {options.map((option) => (\n <SearchList.Item\n key={option.typename}\n value={t('typename label', { ns: option.typename, defaultValue: option.typename })}\n onSelect={() => onChange(option.typename)}\n classNames='flex items-center gap-2'\n >\n <span className='flex gap-2 items-center grow truncate'>\n <Icon icon={resolve?.(option.typename).icon ?? 'ph--placeholder--regular'} size={5} />\n {t('typename label', { ns: option.typename, defaultValue: option.typename })}\n </span>\n </SearchList.Item>\n ))}\n </SearchList.Content>\n </SearchList.Root>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Effect, type Schema } from 'effect';\nimport React, { useCallback, useRef } from 'react';\n\nimport { LayoutAction, createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { Button, Dialog, Icon, useTranslation } from '@dxos/react-ui';\nimport { Form } from '@dxos/react-ui-form';\nimport { cardDialogContent, cardDialogHeader } from '@dxos/react-ui-stack';\n\nimport { useInputSurfaceLookup } from '../../hooks';\nimport { meta } from '../../meta';\nimport { SpaceAction, SpaceForm } from '../../types';\n\nexport const CREATE_SPACE_DIALOG = `${meta.id}/CreateSpaceDialog`;\n\ntype FormValues = Schema.Schema.Type<typeof SpaceForm>;\nconst initialValues: FormValues = { edgeReplication: true };\n\nexport const CreateSpaceDialog = () => {\n const closeRef = useRef<HTMLButtonElement | null>(null);\n const { t } = useTranslation(meta.id);\n const { dispatch } = useIntentDispatcher();\n\n const inputSurfaceLookup = useInputSurfaceLookup();\n\n const handleCreateSpace = useCallback(\n async (data: FormValues) => {\n const program = Effect.gen(function* () {\n const { space } = yield* dispatch(createIntent(SpaceAction.Create, data));\n yield* dispatch(createIntent(LayoutAction.SwitchWorkspace, { part: 'workspace', subject: space.id }));\n yield* dispatch(createIntent(LayoutAction.UpdateDialog, { part: 'dialog', options: { state: false } }));\n });\n await Effect.runPromise(program);\n },\n [dispatch],\n );\n\n return (\n // TODO(wittjosiah): The tablist dialog pattern is copied from @dxos/plugin-manager.\n // Consider factoring it out to the tabs package.\n <Dialog.Content classNames={cardDialogContent}>\n <div role='none' className={cardDialogHeader}>\n <Dialog.Title>{t('create space dialog title')}</Dialog.Title>\n <Dialog.Close asChild>\n <Button ref={closeRef} density='fine' variant='ghost' autoFocus>\n <Icon icon='ph--x--regular' size={4} />\n </Button>\n </Dialog.Close>\n </div>\n <div role='none' className='contents'>\n <Form\n testId='create-space-form'\n autoFocus\n values={initialValues}\n schema={SpaceForm}\n lookupComponent={inputSurfaceLookup}\n onSave={handleCreateSpace}\n outerSpacing='scroll-fields'\n />\n </div>\n </Dialog.Content>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { useTranslation } from '@dxos/react-ui';\nimport { type DataType } from '@dxos/schema';\n\nimport { meta } from '../meta';\n\nexport const CollectionSection = ({ collection }: { collection: DataType.Collection }) => {\n const { t } = useTranslation(meta.id);\n // TODO(wittjosiah): Better placeholder.\n return (\n <div className='min-bs-[3.5rem] grid grid-rows-subgrid grid-cols-subgrid items-center'>\n <span className='truncate'>{collection.name ?? t('unnamed collection label')}</span>\n </div>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback } from 'react';\n\nimport { LayoutAction, createIntent, useAppGraph, useIntentDispatcher } from '@dxos/app-framework';\nimport { Trigger } from '@dxos/async';\nimport { ObservabilityAction } from '@dxos/plugin-observability/types';\nimport { useClient } from '@dxos/react-client';\nimport { type Space } from '@dxos/react-client/echo';\nimport { type InvitationResult } from '@dxos/react-client/invitations';\nimport { Dialog, useTranslation } from '@dxos/react-ui';\nimport { JoinPanel, type JoinPanelProps } from '@dxos/shell/react';\n\nimport { meta } from '../meta';\n\nexport const JOIN_DIALOG = `${meta.id}/JoinDialog`;\n\nexport type JoinDialogProps = JoinPanelProps & {\n navigableCollections?: boolean;\n};\n\nexport const JoinDialog = ({ navigableCollections, onDone, ...props }: JoinDialogProps) => {\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const client = useClient();\n const { graph } = useAppGraph();\n const { t } = useTranslation(meta.id);\n\n const handleDone = useCallback(\n async (result: InvitationResult | null) => {\n const spaceKey = result?.spaceKey;\n if (!spaceKey) {\n return;\n }\n\n await Promise.all([\n dispatch(\n createIntent(LayoutAction.AddToast, {\n part: 'toast',\n subject: {\n id: `${meta.id}/join-success`,\n duration: 5_000,\n title: ['join success label', { ns: meta.id }],\n closeLabel: ['dismiss label', { ns: meta.id }],\n },\n }),\n ),\n dispatch(\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n options: {\n state: false,\n },\n }),\n ),\n ]);\n\n let space = client.spaces.get(spaceKey);\n if (!space) {\n // TODO(wittjosiah): Add api to wait for a space.\n const trigger = new Trigger<Space>();\n client.spaces.subscribe(() => {\n const space = client.spaces.get(spaceKey);\n if (space) {\n trigger.wake(space);\n }\n });\n space = await trigger.wait();\n }\n\n await dispatch(createIntent(LayoutAction.SwitchWorkspace, { part: 'workspace', subject: space.id }));\n\n // TODO(wittjosiah): If navigableCollections is false and there's no target,\n // should try to navigate to the first object of the space replicates.\n // Potentially this could also be done on the inviters side to ensure there's always a target.\n const target = result?.target || (navigableCollections ? space?.id : undefined);\n if (target) {\n // Wait before navigating to the target node.\n // If the target has not yet replicated, this will trigger a loading toast.\n await graph.waitForPath({ target }).catch(() => {});\n await Promise.all([\n dispatch(createIntent(LayoutAction.Open, { part: 'main', subject: [target] })),\n dispatch(createIntent(LayoutAction.Expose, { part: 'navigation', subject: target })),\n ]);\n }\n\n await onDone?.(result);\n\n if (space) {\n await dispatch(\n createIntent(ObservabilityAction.SendEvent, {\n name: 'space.join',\n properties: {\n spaceId: space.id,\n },\n }),\n );\n }\n },\n [dispatch, client, graph],\n );\n\n return (\n <Dialog.Content>\n <Dialog.Title classNames='sr-only'>{t('join space label', { ns: 'os' })}</Dialog.Title>\n <JoinPanel\n {...props}\n exitActionParent={<Dialog.Close asChild />}\n doneActionParent={<Dialog.Close asChild />}\n onDone={handleDone}\n />\n </Dialog.Content>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { type Dispatch, type SetStateAction, useCallback, useMemo, useState } from 'react';\nimport { QR } from 'react-qr-rounded';\n\nimport { createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { log } from '@dxos/log';\nimport { useConfig } from '@dxos/react-client';\nimport { type Space, fullyQualifiedId, useSpaceInvitations } from '@dxos/react-client/echo';\nimport { type CancellableInvitationObservable, Invitation, InvitationEncoder } from '@dxos/react-client/invitations';\nimport { Button, Clipboard, Icon, Input, useId, useTranslation } from '@dxos/react-ui';\nimport { ControlFrame, ControlFrameItem, ControlItemInput, ControlPage, ControlSection } from '@dxos/react-ui-form';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { DataType } from '@dxos/schema';\nimport {\n type ActionMenuItem,\n AuthCode,\n BifurcatedAction,\n Centered,\n Emoji,\n InvitationList,\n SpaceMemberList,\n Viewport,\n} from '@dxos/shell/react';\nimport { hexToEmoji } from '@dxos/util';\n\nimport { meta } from '../meta';\nimport { SpaceAction } from '../types';\nimport { COMPOSER_SPACE_LOCK } from '../util';\n\n// TODO(wittjosiah): Copied from Shell.\nconst activeActionKey = 'dxos:react-shell/space-manager/active-action';\n\nconst handleInvitationEvent = (invitation: Invitation, subscription: ZenObservable.Subscription) => {\n const invitationCode = InvitationEncoder.encode(invitation);\n if (invitation.state === Invitation.State.CONNECTING) {\n log.info(JSON.stringify({ invitationCode, authCode: invitation.authCode }));\n subscription.unsubscribe();\n }\n};\n\nexport type MembersContainerProps = {\n space: Space;\n createInvitationUrl: (invitationCode: string) => string;\n};\n\nexport const MembersContainer = ({ space, createInvitationUrl }: MembersContainerProps) => {\n const { t } = useTranslation(meta.id);\n const config = useConfig();\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const invitations = useSpaceInvitations(space.key);\n const visibleInvitations = invitations?.filter(\n (invitation) => ![Invitation.State.CANCELLED].includes(invitation.get().state),\n );\n\n const [activeAction, setInternalActiveAction] = useState(localStorage.getItem(activeActionKey) ?? 'inviteMany');\n\n const setActiveAction = (nextAction: string) => {\n setInternalActiveAction(nextAction);\n localStorage.setItem(activeActionKey, nextAction);\n };\n\n // TODO(wittjosiah): Track which was the most recently viewed object.\n const target = space.properties[DataType.Collection.typename]?.target?.objects[0]?.target;\n\n const locked = space.properties[COMPOSER_SPACE_LOCK];\n const handleChangeLocked = useCallback(() => {\n space.properties[COMPOSER_SPACE_LOCK] = !locked;\n }, [locked, space]);\n\n const inviteActions = useMemo(\n (): Record<string, ActionMenuItem> => ({\n inviteOne: {\n label: t('invite one label', { ns: 'os' }),\n description: t('invite one description', { ns: 'os' }),\n icon: 'ph--user-plus--regular',\n testId: 'membersContainer.inviteOne',\n onClick: async () => {\n const { data: invitation } = await dispatch(\n createIntent(SpaceAction.Share, {\n space,\n type: Invitation.Type.INTERACTIVE,\n authMethod: Invitation.AuthMethod.SHARED_SECRET,\n multiUse: false,\n target: target && fullyQualifiedId(target),\n }),\n );\n if (invitation && config.values.runtime?.app?.env?.DX_ENVIRONMENT !== 'production') {\n const subscription: ZenObservable.Subscription = invitation.subscribe((invitation) =>\n handleInvitationEvent(invitation, subscription),\n );\n }\n },\n },\n inviteMany: {\n label: t('invite many label', { ns: 'os' }),\n description: t('invite many description', { ns: 'os' }),\n icon: 'ph--users-three--regular',\n testId: 'membersContainer.inviteMany',\n onClick: async () => {\n const { data: invitation } = await dispatch(\n createIntent(SpaceAction.Share, {\n space,\n type: Invitation.Type.DELEGATED,\n authMethod: Invitation.AuthMethod.KNOWN_PUBLIC_KEY,\n multiUse: true,\n target: target && fullyQualifiedId(target),\n }),\n );\n if (invitation && config.values.runtime?.app?.env?.DX_ENVIRONMENT !== 'production') {\n const subscription: ZenObservable.Subscription = invitation.subscribe((invitation) =>\n handleInvitationEvent(invitation, subscription),\n );\n }\n },\n },\n }),\n [t, space, target],\n );\n\n const [selectedInvitation, setSelectedInvitation] = useState<CancellableInvitationObservable | null>(null);\n const handleSend = (event: { type: 'selectInvitation'; invitation: CancellableInvitationObservable }) => {\n setSelectedInvitation(event.invitation);\n };\n const handleBack = () => {\n setSelectedInvitation(null);\n };\n\n return (\n <Clipboard.Provider>\n <StackItem.Content classNames='block overflow-y-auto'>\n <ControlPage>\n <ControlSection title={t('members verbose label')} description={t('members description')}>\n <ControlFrame>\n <ControlFrameItem title={t('members label')}>\n <SpaceMemberList spaceKey={space.key} includeSelf />\n </ControlFrameItem>\n {locked && (\n <ControlFrameItem title={t('invitations label')}>\n <p className='text-description mbe-2'>{t('locked space description')}</p>\n </ControlFrameItem>\n )}\n {!locked && (\n <ControlFrameItem title={t('invitations label')}>\n {selectedInvitation && <InvitationSection {...selectedInvitation} onBack={handleBack} />}\n {!selectedInvitation && (\n <>\n <p className='text-description mbe-2'>{t('space invitation description')}</p>\n <InvitationList\n className='mb-2'\n send={handleSend}\n invitations={visibleInvitations ?? []}\n onClickRemove={(invitation) => invitation.cancel()}\n createInvitationUrl={createInvitationUrl}\n />\n <BifurcatedAction\n actions={inviteActions}\n activeAction={activeAction}\n onChangeActiveAction={setActiveAction as Dispatch<SetStateAction<string>>}\n data-testid='membersContainer.createInvitation'\n />\n </>\n )}\n </ControlFrameItem>\n )}\n </ControlFrame>\n {/* TODO(wittjosiah): Make ControlItemInput & ControlFrame compatible. */}\n <div className='justify-center p-0 mbs-4 container-max-width grid grid-cols-1 md:grid-cols-[1fr_min-content]'>\n <ControlItemInput title={t('space locked label')} description={t('space locked description')}>\n <Input.Switch checked={locked} onCheckedChange={handleChangeLocked} classNames='justify-self-end' />\n </ControlItemInput>\n </div>\n </ControlSection>\n </ControlPage>\n </StackItem.Content>\n </Clipboard.Provider>\n );\n};\n\n// TODO(wittjosiah): Reconcile the below components with DevicesContainer in @dxos/plugin-client.\n\ntype InvitationComponentProps = Partial<\n Pick<Invitation, 'authCode' | 'invitationId'> & {\n state: Invitation.State;\n url: string;\n onBack: () => void;\n }\n>;\n\nconst InvitationSection = ({\n state = Invitation.State.INIT,\n authCode,\n invitationId = 'never',\n url = 'never',\n onBack,\n}: InvitationComponentProps) => {\n const activeView =\n state < 0\n ? 'init'\n : state >= Invitation.State.CANCELLED\n ? 'complete'\n : state >= Invitation.State.READY_FOR_AUTHENTICATION && authCode\n ? 'auth-code'\n : 'qr-code';\n return (\n <Viewport.Root activeView={activeView}>\n <Viewport.Views>\n <Viewport.View id='init'>\n {/* This view intentionally left blank while conditionally rendering the viewport. */}\n </Viewport.View>\n <Viewport.View id='complete'>\n <InvitationComplete statusValue={state} />\n </Viewport.View>\n <Viewport.View id='auth-code'>\n <InvitationAuthCode id={invitationId} code={authCode ?? 'never'} onCancel={onBack} />\n </Viewport.View>\n <Viewport.View id='qr-code'>\n <InvitationQR id={invitationId} url={url} onCancel={onBack} />\n </Viewport.View>\n </Viewport.Views>\n </Viewport.Root>\n );\n};\n\nconst InvitationQR = ({ id, url, onCancel }: { id: string; url: string; onCancel?: () => void }) => {\n const { t } = useTranslation('os');\n const qrLabel = useId('members-container__qr-code');\n const emoji = hexToEmoji(id);\n return (\n <>\n <p className='text-description'>{t('qr code description', { ns: meta.id })}</p>\n <div role='group' className='grid grid-cols-[1fr_min-content] mlb-2 gap-2'>\n <div role='none' className='is-full aspect-square relative text-description'>\n <QR\n rounding={100}\n backgroundColor='transparent'\n color='currentColor'\n aria-labelledby={qrLabel}\n errorCorrectionLevel='Q'\n cutout={true}\n >\n {url ?? 'never'}\n </QR>\n <Centered>\n <Emoji text={emoji} />\n </Centered>\n </div>\n <span id={qrLabel} className='sr-only'>\n {t('qr label')}\n </span>\n <Clipboard.Button value={url ?? 'never'} />\n </div>\n <Button variant='ghost' onClick={onCancel}>\n {t('cancel label')}\n </Button>\n </>\n );\n};\n\nconst InvitationAuthCode = ({ id, code, onCancel }: { id: string; code: string; onCancel?: () => void }) => {\n const { t } = useTranslation('os');\n const emoji = hexToEmoji(id);\n\n return (\n <>\n <p className='text-description'>{t('auth other device emoji message')}</p>\n {emoji && <Emoji text={emoji} className='mli-auto mlb-2 text-center' />}\n <p className='text-description'>{t('auth code message')}</p>\n <AuthCode code={code} large classNames='mli-auto mlb-2 text-center grow' />\n <Button variant='ghost' onClick={onCancel}>\n {t('cancel label')}\n </Button>\n </>\n );\n};\n\nconst InvitationComplete = ({ statusValue }: { statusValue: number }) => {\n return statusValue > 0 ? (\n <Icon icon='ph--check--regular' size={6} classNames='m-1.5' />\n ) : (\n <Icon icon='ph--x--regular' size={6} classNames='m-1.5' />\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { getSpace } from '@dxos/client/echo';\nimport { type Obj } from '@dxos/echo';\nimport { useClient } from '@dxos/react-client';\nimport { DropdownMenu, Icon, toLocalizedString, useTranslation } from '@dxos/react-ui';\n\nimport { meta } from '../meta';\nimport { getSpaceDisplayName } from '../util';\n\nexport const MenuFooter = ({ object }: { object: Obj.Any }) => {\n const { t } = useTranslation(meta.id);\n const client = useClient();\n const space = getSpace(object);\n const spaceName = space ? getSpaceDisplayName(space, { personal: client.spaces.default === space }) : '';\n return space ? (\n <>\n <DropdownMenu.Separator />\n <DropdownMenu.GroupLabel>{t('menu footer label')}</DropdownMenu.GroupLabel>\n <dl className='pis-2 mbe-2 text-xs grid grid-cols-[max-content_1fr] gap-2'>\n <dt className='uppercase text-[.75em] tracking-wide font-medium mbs-px self-start'>{t('location label')}</dt>\n <dd className='line-clamp-3'>\n <Icon icon='ph--planet--regular' classNames='inline-block mie-1' />\n {toLocalizedString(spaceName, t)}\n </dd>\n </dl>\n </>\n ) : null;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useMemo } from 'react';\n\nimport { Surface } from '@dxos/app-framework';\nimport { type Obj } from '@dxos/echo';\nimport { Clipboard, Toolbar } from '@dxos/react-ui';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport { BaseObjectSettings } from './BaseObjectSettings';\n\nexport type ObjectSettingsContainerProps = {\n object: Obj.Any;\n role: string;\n};\n\nexport const ObjectSettingsContainer = ({ object, role }: ObjectSettingsContainerProps) => {\n const data = useMemo(() => ({ subject: object }), [object]);\n\n return (\n <Clipboard.Provider>\n <StackItem.Content toolbar>\n <Toolbar.Root></Toolbar.Root>\n <div role='none' className='overflow-y-auto pli-cardSpacingInline plb-cardSpacingBlock'>\n <BaseObjectSettings object={object}>\n <Surface role='base-object-settings' data={data} />\n </BaseObjectSettings>\n <Surface role='object-settings' data={data} />\n {/* TODO(wittjosiah): Remove? */}\n {/* <AdvancedObjectSettings object={object} /> */}\n </div>\n </StackItem.Content>\n </Clipboard.Provider>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { type PropsWithChildren, useRef } from 'react';\n\nimport { type Obj } from '@dxos/echo';\nimport { Input, type ThemedClassName, useTranslation } from '@dxos/react-ui';\n\nimport { meta } from '../../meta';\n\nexport type BaseObjectSettingsProps = ThemedClassName<\n PropsWithChildren<{\n object: Obj.Any;\n }>\n>;\n\nexport const BaseObjectSettings = ({ classNames, children, object }: BaseObjectSettingsProps) => {\n const { t } = useTranslation(meta.id);\n const inputRef = useRef<HTMLInputElement>(null);\n\n // TODO(wittjosiah): This should be a form based on the schema of the object.\n // The form should only include fields with a specific settings annotation.\n // Perhaps also including the field of the title annotation as well.\n return (\n <>\n <Input.Root>\n <Input.Label>{t('name label')}</Input.Label>\n <Input.TextInput\n ref={inputRef}\n placeholder={t('name placeholder')}\n // TODO(burdon): Use annotation to get the name field.\n value={(object as any).name ?? ''}\n onChange={(event) => {\n (object as any).name = event.target.value;\n }}\n onKeyDown={(event) => {\n if (event.key === 'Enter') {\n inputRef.current?.blur();\n }\n }}\n />\n </Input.Root>\n {children}\n </>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useEffect, useState } from 'react';\n\nimport { debounce } from '@dxos/async';\nimport { type EchoDatabase } from '@dxos/react-client/echo';\nimport { Icon, Tooltip, useTranslation } from '@dxos/react-ui';\nimport { mx, staticPlaceholderText, warningText } from '@dxos/react-ui-theme';\n\nimport { meta } from '../meta';\n\nenum Status {\n PERSISTED_LOCALLY = 0,\n PENDING = 1,\n ERROR = 2,\n}\n\n// TODO(zan): This now has no usages. Remove it?\nexport const PersistenceStatus = ({ db }: { db: EchoDatabase }) => {\n const { t } = useTranslation(meta.id);\n const [displayMessage, setDisplayMessage] = useState(false);\n const [status, naturalSetStatus] = useState<Status>(Status.PERSISTED_LOCALLY);\n const [prevStatus, setPrevStatus] = useState<Status>(Status.PERSISTED_LOCALLY);\n const _setStatus = debounce(naturalSetStatus, 500);\n\n // TODO(dmaretskyi): Fix this when we have save status for automerge.\n // useEffect(() => {\n // return db.pendingBatch.on(({ duration, error }) => {\n // if (error) {\n // setStatus(Status.ERROR);\n // } else if (duration === undefined) {\n // setStatus(Status.PENDING);\n // } else {\n // setStatus(Status.PERSISTED_LOCALLY);\n // }\n // });\n // }, [db]);\n\n useEffect(() => {\n // If this is changed outside the effect it's batched with setStatus and the following condition will never be true.\n setPrevStatus(status);\n\n if (prevStatus !== status && status === Status.PERSISTED_LOCALLY) {\n setDisplayMessage(true);\n const timeout = setTimeout(() => setDisplayMessage(false), 5000);\n return () => clearTimeout(timeout);\n }\n }, [status]); // `prevStatus` omitted from dependency array to prevent timeout from being reset.\n\n switch (status) {\n case Status.ERROR:\n return (\n <div className='flex items-center'>\n <Icon icon='ph--warning--regular' size={4} classNames='me-1' />\n <span className={mx('text-sm', warningText)}>{t('persistence error label')}</span>\n </div>\n );\n case Status.PENDING:\n return (\n <div className='flex items-center'>\n <Icon icon='ph--arrows-counter-clockwise--regular' size={4} classNames='me-1' />\n <span className={mx('text-sm', staticPlaceholderText)}>{t('persistence pending label')}</span>\n </div>\n );\n case Status.PERSISTED_LOCALLY:\n default:\n return (\n <Tooltip.Trigger\n delayDuration={400}\n role='status'\n content={t('persisted locally message')}\n className='flex items-center'\n >\n <Icon icon='ph--check-circle--regular' size={4} classNames='me-1' />\n {displayMessage && (\n <span className={mx('text-sm', staticPlaceholderText)}>{t('persisted locally label')}</span>\n )}\n </Tooltip.Trigger>\n );\n }\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useCallback, useRef, useState } from 'react';\n\nimport { LayoutAction, createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\nimport { type Live } from '@dxos/live-object';\nimport { log } from '@dxos/log';\nimport { Button, Input, useTranslation } from '@dxos/react-ui';\n\nimport { meta } from '../meta';\n\nexport const POPOVER_RENAME_OBJECT = `${meta.id}/PopoverRenameObject`;\n\nexport const PopoverRenameObject = ({ object }: { object: Live<any> }) => {\n const { t } = useTranslation(meta.id);\n const doneButton = useRef<HTMLButtonElement>(null);\n const [name, setName] = useState(Obj.getLabel(object));\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n\n const handleDone = useCallback(() => {\n try {\n name && Obj.setLabel(object, name);\n } catch (err) {\n log.error('Failed to rename object', { err });\n }\n void dispatch(\n createIntent(LayoutAction.UpdatePopover, {\n part: 'popover',\n options: { variant: 'react', anchorId: '', state: false },\n }),\n );\n }, [object, name]);\n\n return (\n <div role='none' className='p-2 flex gap-2'>\n <div role='none' className='flex-1'>\n <Input.Root>\n <Input.Label srOnly>{t('object name label')}</Input.Label>\n <Input.TextInput\n placeholder={t('object placeholder')}\n value={name}\n data-testid='spacePlugin.renameObject.input'\n onChange={({ target: { value } }) => setName(value)}\n onKeyDown={({ key }) => key === 'Enter' && doneButton.current?.click()}\n />\n </Input.Root>\n </div>\n <Button ref={doneButton} classNames='self-stretch' onClick={handleDone}>\n {t('done label', { ns: 'os' })}\n </Button>\n </div>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useCallback, useRef, useState } from 'react';\n\nimport { LayoutAction, createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { type Space } from '@dxos/react-client/echo';\nimport { Button, Input, Popover, useTranslation } from '@dxos/react-ui';\n\nimport { meta } from '../meta';\n\nexport const POPOVER_RENAME_SPACE = `${meta.id}/PopoverRenameSpace`;\n\nexport const PopoverRenameSpace = ({ space }: { space: Space }) => {\n const { t } = useTranslation(meta.id);\n const doneButton = useRef<HTMLButtonElement>(null);\n const [name, setName] = useState(space.properties.name ?? '');\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n\n const handleDone = useCallback(() => {\n space.properties.name = name;\n void dispatch(\n createIntent(LayoutAction.UpdatePopover, {\n part: 'popover',\n options: { variant: 'react', anchorId: '', state: false },\n }),\n );\n }, [space, name]);\n\n // TODO(thure): Why does the input value need to be uncontrolled to work?\n return (\n <div role='none' className='p-2 flex gap-2'>\n <div role='none' className='flex-1'>\n <Input.Root>\n <Input.Label srOnly>{t('space name label')}</Input.Label>\n <Input.TextInput\n defaultValue={space.properties.name ?? ''}\n placeholder={t('unnamed space label')}\n onChange={({ target: { value } }) => setName(value)}\n // TODO(wittjosiah): Ideally this should access the popover context to close the popover.\n // Currently this is not possible because Radix does not expose the popover context.\n onKeyDown={({ key }) => key === 'Enter' && doneButton.current?.click()}\n />\n </Input.Root>\n </div>\n <Popover.Close asChild>\n <Button ref={doneButton} classNames='self-stretch' onClick={handleDone}>\n {t('done label', { ns: 'os' })}\n </Button>\n </Popover.Close>\n </div>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useEffect, useState } from 'react';\n\nimport { type Type } from '@dxos/echo';\nimport { type Space } from '@dxos/react-client/echo';\nimport { useTranslation } from '@dxos/react-ui';\nimport { ControlPage, ControlSection, controlItemClasses } from '@dxos/react-ui-form';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport { meta } from '../meta';\n\ntype SchemaPanelProps = { space: Space };\n\n// TODO(ZaymonFC):\n// - Support deleting Schema. This should tie in to some sort of\n// 'DangerZone™️' / 'Are you really sure?' / 'this might have consequences' component.\n\n/**\n * Subscribe to and retrieve all schemas from a space's schema registry.\n */\nexport const useQuerySpaceSchemas = (space: Space): Type.Schema[] => {\n const [schemas, setSchemas] = useState<Type.Schema[]>([]);\n\n useEffect(() => {\n const query = space.db.schemaRegistry.query();\n const initialResults = query.runSync();\n setSchemas(initialResults);\n\n const unsubscribe = query.subscribe(() => setSchemas(query.results));\n return () => unsubscribe();\n }, [space]);\n\n return schemas;\n};\n\nexport const SchemaContainer = ({ space }: SchemaPanelProps) => {\n const { t } = useTranslation(meta.id);\n const schemas = useQuerySpaceSchemas(space);\n\n return (\n <StackItem.Content classNames='block overflow-y-auto'>\n <ControlPage>\n <ControlSection title={t('schema verbose label')} description={t('schema description')}>\n <div role='none' className={controlItemClasses}>\n {schemas.length === 0 && <div className='text-center plb-4'>{t('no schemas found message')}</div>}\n {schemas.map((schema) => (\n <div key={schema.id}>\n <div>{schema.typename}</div>\n </div>\n ))}\n </div>\n </ControlSection>\n </ControlPage>\n </StackItem.Content>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Option } from 'effect';\nimport React, { forwardRef, useCallback, useEffect, useState } from 'react';\n\nimport { useAppGraph, useCapability } from '@dxos/app-framework';\nimport { generateName } from '@dxos/display-name';\nimport { type Type } from '@dxos/echo';\nimport { PublicKey, useClient } from '@dxos/react-client';\nimport { type SpaceMember, fullyQualifiedId, getSpace, useMembers } from '@dxos/react-client/echo';\nimport { type Identity, useIdentity } from '@dxos/react-client/halo';\nimport {\n Avatar,\n type AvatarContentProps,\n type DxAvatar,\n List,\n ListItem,\n Popover,\n type Size,\n type ThemedClassName,\n Tooltip,\n useDefaultValue,\n useTranslation,\n} from '@dxos/react-ui';\nimport { AttentionGlyph, type AttentionGlyphProps, useAttended, useAttention } from '@dxos/react-ui-attention';\nimport { ComplexMap, keyToFallback } from '@dxos/util';\n\nimport { SpaceCapabilities } from '../capabilities';\nimport { usePath } from '../hooks';\nimport { meta } from '../meta';\nimport type { ObjectViewerProps } from '../types';\n\n// TODO(thure): Get/derive these values from protocol\nconst REFRESH_INTERVAL = 5000;\nconst ACTIVITY_DURATION = 30_000;\n\n// TODO(thure): This is chiefly meant to satisfy TS & provide an empty map after `deepSignal` interactions.\nconst noViewers = new ComplexMap<PublicKey, ObjectViewerProps>(PublicKey.hash);\n\n// TODO(wittjosiah): Factor out?\nconst getName = (identity: Identity) => identity.profile?.displayName ?? generateName(identity.identityKey.toHex());\n\nexport const SpacePresence = ({ object, spaceKey }: { object: Type.Expando; spaceKey?: PublicKey }) => {\n // TODO(wittjosiah): Doesn't need to be mutable but readonly type messes with ComplexMap.\n const spaceState = useCapability(SpaceCapabilities.MutableState);\n const client = useClient();\n const identity = useIdentity();\n const space = spaceKey ? client.spaces.get(spaceKey) : getSpace(object);\n const spaceMembers = useMembers(space?.key);\n\n const [_moment, setMoment] = useState(Date.now());\n\n // NOTE(thure): This is necessary so Presence updates without any underlying data updating.\n useEffect(() => {\n const interval = setInterval(() => setMoment(Date.now()), REFRESH_INTERVAL);\n return () => clearInterval(interval);\n }, []);\n\n const memberOnline = useCallback((member: SpaceMember) => member.presence === 1, []);\n const memberIsNotSelf = useCallback(\n (member: SpaceMember) => !identity?.identityKey.equals(member.identity.identityKey),\n [identity?.identityKey],\n );\n\n // TODO(thure): Could it be a smell to return early when there are interactions with `deepSignal` later, since it\n // prevents reactivity?\n if (!identity || !spaceState || !space) {\n return null;\n }\n\n const currentObjectViewers = spaceState.viewersByObject[fullyQualifiedId(object)] ?? noViewers;\n\n const membersForObject = spaceMembers\n .filter((member) => memberOnline(member) && memberIsNotSelf(member))\n .filter((member) => currentObjectViewers.has(member.identity.identityKey))\n .map((member) => {\n const objectView = currentObjectViewers.get(member.identity.identityKey);\n const lastSeen = objectView?.lastSeen ?? -Infinity;\n const currentlyAttended = objectView?.currentlyAttended ?? false;\n\n return {\n ...member,\n currentlyAttended,\n lastSeen,\n };\n })\n .toSorted((a, b) => a.lastSeen - b.lastSeen);\n\n return <FullPresence members={membersForObject} />;\n};\n\nexport type Member = SpaceMember & {\n /**\n * Last time a member was seen on this object.\n */\n lastSeen: number;\n currentlyAttended: boolean;\n};\n\nexport type MemberPresenceProps = ThemedClassName<{\n size?: Size;\n members?: Member[];\n showCount?: boolean;\n onMemberClick?: (member: Member) => void;\n}>;\n\nexport const FullPresence = (props: MemberPresenceProps) => {\n const { size = 9, onMemberClick } = props;\n const members = useDefaultValue(props.members, () => []);\n\n if (members.length === 0) {\n return null;\n }\n\n return (\n <div className='dx-avatar-group' data-testid='spacePlugin.presence'>\n {members.slice(0, 3).map((member, i) => (\n <Tooltip.Trigger\n key={member.identity.identityKey.toHex()}\n side='bottom'\n content={getName(member.identity)}\n className='grid focus:outline-none'\n >\n <PresenceAvatar\n identity={member.identity}\n match={member.currentlyAttended} // TODO(Zan): Match always true now we're showing 'members viewing current object'.\n index={members.length - i}\n onClick={() => onMemberClick?.(member)}\n size={size}\n />\n </Tooltip.Trigger>\n ))}\n\n {members.length > 3 && (\n <Popover.Root>\n <Popover.Trigger className='grid focus:outline-none'>\n <Avatar.Root>\n {/* TODO(wittjosiah): Make text fit. */}\n <Avatar.Content\n status='inactive'\n style={{ zIndex: members.length - 4 }}\n fallback={`+${members.length - 3}`}\n size={size}\n />\n </Avatar.Root>\n </Popover.Trigger>\n <Popover.Portal>\n <Popover.Content side='bottom'>\n <Popover.Arrow />\n <Popover.Viewport classNames='max-bs-56'>\n <List>\n {members.map((member) => (\n <ListItem.Root\n key={member.identity.identityKey.toHex()}\n classNames='flex gap-2 items-center cursor-pointer mbe-2'\n onClick={() => onMemberClick?.(member)}\n data-testid='identity-list-item'\n >\n {/* TODO(Zan): Match always true now we're showing 'members viewing current object'. */}\n <PresenceAvatar\n identity={member.identity}\n size={size}\n showName\n match={member.currentlyAttended}\n />\n </ListItem.Root>\n ))}\n </List>\n </Popover.Viewport>\n </Popover.Content>\n </Popover.Portal>\n </Popover.Root>\n )}\n </div>\n );\n};\n\ntype PresenceAvatarProps = Pick<AvatarContentProps, 'size'> & {\n identity: Identity;\n showName?: boolean;\n match?: boolean;\n index?: number;\n onClick?: () => void;\n};\n\nconst PresenceAvatar = forwardRef<DxAvatar, PresenceAvatarProps>(\n ({ identity, showName, match, index, onClick, size }, forwardedRef) => {\n const status = match ? 'current' : 'active';\n const fallbackValue = keyToFallback(identity.identityKey);\n return (\n <Avatar.Root>\n <Avatar.Content\n status={status}\n hue={identity.profile?.data?.hue || fallbackValue.hue}\n data-testid='spacePlugin.presence.member'\n data-status={status}\n size={size}\n {...(index ? { style: { zIndex: index } } : {})}\n onClick={onClick}\n fallback={identity.profile?.data?.emoji || fallbackValue.emoji}\n ref={forwardedRef}\n />\n <Avatar.Label classNames={showName ? 'text-sm truncate pli-2' : 'sr-only'}>{getName(identity)}</Avatar.Label>\n </Avatar.Root>\n );\n },\n);\n\nexport type SmallPresenceLiveProps = {\n id?: string;\n open?: boolean;\n viewers?: ComplexMap<PublicKey, ObjectViewerProps>;\n};\n\nexport const SmallPresenceLive = ({ id, open, viewers }: SmallPresenceLiveProps) => {\n const { hasAttention, isAncestor, isRelated } = useAttention(id);\n const isAttended = hasAttention || isAncestor || isRelated;\n\n // TODO(wittjosiah): If the attended node is deep in the graph and the graph is not fully loaded\n // this will result in an empty path until the graph is connected.\n // TODO(wittjosiah): Consider using this indicator for all open nodes instead of just attended.\n const { graph } = useAppGraph();\n const attended = useAttended();\n const startOfAttention = attended.at(-1);\n const path = usePath(graph, startOfAttention);\n const containsAttended = !open && !isAttended && id && Option.isSome(path) ? path.value.includes(id) : false;\n\n const getActiveViewers = (viewers: ComplexMap<PublicKey, ObjectViewerProps>): ObjectViewerProps[] => {\n const moment = Date.now();\n return Array.from<ObjectViewerProps>(viewers.values()).filter(\n (viewer) => moment - viewer.lastSeen < ACTIVITY_DURATION,\n );\n };\n\n const [activeViewers, setActiveViewers] = useState(viewers ? getActiveViewers(viewers) : []);\n\n useEffect(() => {\n if (viewers) {\n setActiveViewers(getActiveViewers(viewers));\n const interval = setInterval(() => {\n setActiveViewers(getActiveViewers(viewers));\n }, REFRESH_INTERVAL);\n return () => clearInterval(interval);\n }\n }, [viewers]);\n\n return <SmallPresence count={activeViewers.length} attended={isAttended} containsAttended={containsAttended} />;\n};\n\nexport type SmallPresenceProps = {\n count?: number;\n} & Pick<AttentionGlyphProps, 'attended' | 'containsAttended'>;\n\nexport const SmallPresence = ({ count = 0, attended, containsAttended }: SmallPresenceProps) => {\n const { t } = useTranslation(meta.id);\n\n return (\n <Tooltip.Trigger asChild content={t('presence label', { count })} side='bottom'>\n <AttentionGlyph\n attended={attended}\n containsAttended={containsAttended}\n presence={count > 1 ? 'many' : count === 1 ? 'one' : 'none'}\n classNames='self-center mie-1'\n />\n </Tooltip.Trigger>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { useClient } from '@dxos/react-client';\nimport { useSpaces } from '@dxos/react-client/echo';\nimport { IconButton, Input, List, ListItem, toLocalizedString, useTranslation } from '@dxos/react-ui';\nimport { ControlGroup, ControlItemInput, ControlPage, ControlSection, controlItemClasses } from '@dxos/react-ui-form';\n\nimport { meta } from '../meta';\nimport { SpaceAction, type SpaceSettingsProps } from '../types';\nimport { getSpaceDisplayName } from '../util';\n\nexport const SpacePluginSettings = ({ settings }: { settings: SpaceSettingsProps }) => {\n const { t } = useTranslation(meta.id);\n const client = useClient();\n const spaces = useSpaces({ all: settings.showHidden });\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n\n return (\n <ControlPage>\n <ControlSection title={t('space settings label')} description={t('space settings description')}>\n <ControlGroup>\n <ControlItemInput title={t('show hidden spaces label')}>\n <Input.Switch\n checked={settings.showHidden}\n onCheckedChange={(checked) => (settings.showHidden = !!checked)}\n />\n </ControlItemInput>\n </ControlGroup>\n <List classNames={[controlItemClasses, 'flex flex-col gap-trimSm']}>\n {spaces.map((space) => (\n <ListItem.Root key={space.id} classNames='is-full items-center'>\n {/* TODO(burdon): Should auto center and truncate; NOTE truncate doesn't work with flex grow. */}\n <ListItem.Heading classNames='grow truncate !min-bs-0'>\n {toLocalizedString(getSpaceDisplayName(space, { personal: space === client.spaces.default }), t)}\n </ListItem.Heading>\n <IconButton\n icon='ph--faders--regular'\n onClick={() => dispatch(createIntent(SpaceAction.OpenSettings, { space }))}\n label={t('open space settings label')}\n />\n </ListItem.Root>\n ))}\n </List>\n </ControlSection>\n </ControlPage>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Schema, pipe } from 'effect';\nimport React, { type ChangeEvent, useCallback, useMemo, useState } from 'react';\n\nimport { LayoutAction, chain, createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { log } from '@dxos/log';\nimport { EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata';\nimport { useClient } from '@dxos/react-client';\nimport { type Space, SpaceState } from '@dxos/react-client/echo';\nimport { Button, Input, useMulticastObservable, useTranslation } from '@dxos/react-ui';\nimport {\n ControlItem,\n ControlItemInput,\n ControlPage,\n ControlSection,\n Form,\n type InputComponent,\n} from '@dxos/react-ui-form';\nimport { HuePicker, IconPicker } from '@dxos/react-ui-pickers';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport { meta } from '../../meta';\nimport { SpaceAction, SpaceForm } from '../../types';\n\nconst FormSchema = SpaceForm.pipe(\n Schema.extend(Schema.Struct({ archived: Schema.Boolean.annotations({ title: 'Archive space' }) })),\n);\n\nexport type SpaceSettingsContainerProps = {\n space: Space;\n};\n\n// TODO(wittjosiah): Handle space migrations here?\nexport const SpaceSettingsContainer = ({ space }: SpaceSettingsContainerProps) => {\n const { t } = useTranslation(meta.id);\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const client = useClient();\n const archived = useMulticastObservable(space.state) === SpaceState.SPACE_INACTIVE;\n const [edgeReplication, setEdgeReplication] = useState(\n space.internal.data.edgeReplication === EdgeReplicationSetting.ENABLED,\n );\n const toggleEdgeReplication = useCallback(\n async (next: boolean) => {\n setEdgeReplication(next);\n await space?.internal\n .setEdgeReplicationPreference(next ? EdgeReplicationSetting.ENABLED : EdgeReplicationSetting.DISABLED)\n .catch((err: unknown) => {\n log.catch(err);\n setEdgeReplication(!next);\n });\n },\n [space],\n );\n\n const handleSave = useCallback(\n (properties: Schema.Schema.Type<typeof FormSchema>) => {\n void toggleEdgeReplication(properties.edgeReplication);\n if (properties.name !== space.properties.name) {\n space.properties.name = properties.name;\n }\n if (properties.icon !== space.properties.icon) {\n space.properties.icon = properties.icon;\n }\n if (properties.hue !== space.properties.hue) {\n space.properties.hue = properties.hue;\n }\n if (properties.archived && !archived) {\n void dispatch(\n pipe(\n createIntent(SpaceAction.Close, { space }),\n chain(LayoutAction.SwitchWorkspace, { part: 'workspace', subject: client.spaces.default.id }),\n ),\n );\n } else if (!properties.archived && archived) {\n void dispatch(createIntent(SpaceAction.Open, { space }));\n }\n },\n [space, toggleEdgeReplication, archived],\n );\n\n const values = useMemo(\n () => ({\n name: space.properties.name,\n icon: space.properties.icon,\n hue: space.properties.hue,\n edgeReplication,\n archived,\n }),\n [space.properties.name, space.properties.icon, space.properties.hue, edgeReplication, archived],\n );\n\n const customElements: Partial<Record<string, InputComponent>> = useMemo(\n () => ({\n name: ({ type, label, getValue, onValueChange }) => {\n const handleChange = useCallback(\n ({ target: { value } }: ChangeEvent<HTMLInputElement>) => onValueChange(type, value),\n [onValueChange, type],\n );\n return (\n <ControlItemInput title={label} description={t('display name description')}>\n <Input.TextInput\n value={getValue()}\n onChange={handleChange}\n placeholder={t('display name input placeholder')}\n classNames='min-is-64'\n />\n </ControlItemInput>\n );\n },\n icon: ({ type, label, getValue, onValueChange }) => {\n const handleChange = useCallback((icon: string) => onValueChange(type, icon), [onValueChange, type]);\n const handleReset = useCallback(() => onValueChange(type, undefined), [onValueChange, type]);\n return (\n <ControlItem title={label} description={t('icon description')}>\n <IconPicker\n value={getValue()}\n onChange={handleChange}\n onReset={handleReset}\n classNames='justify-self-end'\n iconSize={5}\n />\n </ControlItem>\n );\n },\n hue: ({ type, label, getValue, onValueChange }) => {\n const handleChange = useCallback((nextHue: string) => onValueChange(type, nextHue), [onValueChange, type]);\n const handleReset = useCallback(() => onValueChange(type, undefined), [onValueChange, type]);\n return (\n <ControlItem title={label} description={t('hue description')}>\n <HuePicker\n value={getValue()}\n onChange={handleChange}\n onReset={handleReset}\n classNames='[--hue-preview-size:1.25rem] justify-self-end'\n />\n </ControlItem>\n );\n },\n edgeReplication: ({ type, label, getValue, onValueChange }) => {\n const handleChange = useCallback((checked: boolean) => onValueChange(type, checked), [onValueChange, type]);\n return (\n <ControlItemInput title={label} description={t('edge replication description')}>\n <Input.Switch checked={getValue()} onCheckedChange={handleChange} classNames='justify-self-end' />\n </ControlItemInput>\n );\n },\n archived: ({ type, label, getValue, onValueChange }) => {\n const handleChange = useCallback(() => onValueChange(type, !getValue()), [onValueChange, type, getValue]);\n return (\n <ControlItemInput title={label} description={t('archive space description')}>\n <Button disabled={space === client.spaces.default} onClick={handleChange}>\n {getValue() ? t('unarchive space label') : t('archive space label')}\n </Button>\n </ControlItemInput>\n );\n },\n }),\n [t, space],\n );\n\n return (\n <StackItem.Content classNames='block overflow-y-auto'>\n <ControlPage>\n <ControlSection\n title={t('space properties settings verbose label', { ns: meta.id })}\n description={t('space properties settings description', { ns: meta.id })}\n >\n <Form\n schema={FormSchema}\n values={values}\n autoSave\n onSave={handleSave}\n Custom={customElements}\n outerSpacing={false}\n classNames='container-max-width grid grid-cols-1 md:grid-cols-[1fr_min-content]'\n />\n </ControlSection>\n </ControlPage>\n </StackItem.Content>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Option } from 'effect';\nimport React, { useEffect, useState } from 'react';\n\nimport { useAppGraph } from '@dxos/app-framework';\nimport { EdgeStatus } from '@dxos/protocols/proto/dxos/client/services';\nimport { EdgeReplicationSetting } from '@dxos/protocols/proto/dxos/echo/metadata';\nimport { useClient } from '@dxos/react-client';\nimport { type Space, useSpaceSyncState } from '@dxos/react-client/echo';\nimport { Tooltip, useTranslation } from '@dxos/react-ui';\nimport { AttentionGlyph, useAttended, useAttention } from '@dxos/react-ui-attention';\n\nimport { usePath } from '../../hooks';\nimport { meta } from '../../meta';\n\nconst useEdgeStatus = (): EdgeStatus => {\n const [status, setStatus] = useState(EdgeStatus.NOT_CONNECTED);\n const client = useClient();\n useEffect(() => {\n client.services.services.EdgeAgentService?.queryEdgeStatus().subscribe(({ status }) => {\n setStatus(status);\n });\n }, [client]);\n\n return status;\n};\n\nexport const InlineSyncStatus = ({ space, open }: { space: Space; open?: boolean }) => {\n const { t } = useTranslation(meta.id);\n const id = space.id;\n const { hasAttention, isAncestor, isRelated } = useAttention(id);\n const isAttended = hasAttention || isAncestor || isRelated;\n\n // TODO(wittjosiah): If the attended node is deep in the graph and the graph is not fully loaded\n // this will result in an empty path until the graph is connected.\n // TODO(wittjosiah): Consider using this indicator for all open nodes instead of just attended.\n const { graph } = useAppGraph();\n const attended = useAttended();\n const startOfAttention = attended.at(-1);\n const path = usePath(graph, startOfAttention);\n const containsAttended = !open && !isAttended && id && Option.isSome(path) ? path.value.includes(id) : false;\n\n const connectedToEdge = useEdgeStatus() === EdgeStatus.CONNECTED;\n // TODO(wittjosiah): This is not reactive.\n const edgeSyncEnabled = space.internal.data.edgeReplication === EdgeReplicationSetting.ENABLED;\n const syncState = useSpaceSyncState(space);\n const syncing = connectedToEdge && edgeSyncEnabled && syncState && syncState.missingOnLocal > 0;\n\n return (\n <Tooltip.Trigger asChild content={t('syncing label')} side='bottom'>\n <AttentionGlyph\n syncing={syncing}\n attended={isAttended}\n containsAttended={containsAttended}\n classNames='self-center mie-1'\n />\n </Tooltip.Trigger>\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useEffect, useState } from 'react';\n\nimport { StatusBar } from '@dxos/plugin-status-bar';\nimport { useClient } from '@dxos/react-client';\nimport { type SpaceSyncStateMap, getSyncSummary, useSyncState } from '@dxos/react-client/echo';\nimport { Icon, useTranslation } from '@dxos/react-ui';\n\nimport { meta } from '../../meta';\n\nimport { createClientSaveTracker } from './save-tracker';\nimport { getIcon, getStatus } from './status';\n\nconst SYNC_STALLED_TIMEOUT = 5_000;\n\nexport const SyncStatus = () => {\n const client = useClient();\n const state = useSyncState();\n const [saved, setSaved] = useState(true);\n\n useEffect(() => {\n return createClientSaveTracker(client, (state) => {\n setSaved(state === 'saved');\n });\n }, []);\n\n return <SyncStatusIndicator state={state} saved={saved} />;\n};\n\nexport const SyncStatusIndicator = ({ state, saved }: { state: SpaceSyncStateMap; saved: boolean }) => {\n const { t } = useTranslation(meta.id);\n const summary = getSyncSummary(state);\n const offline = Object.values(state).length === 0;\n const needsToUpload = summary.differentDocuments > 0 || summary.missingOnRemote > 0;\n const needsToDownload = summary.differentDocuments > 0 || summary.missingOnLocal > 0;\n const status = getStatus({ offline, saved, needsToUpload, needsToDownload });\n\n const [classNames, setClassNames] = useState<string>();\n useEffect(() => {\n setClassNames(undefined);\n if (offline || (!needsToUpload && !needsToDownload)) {\n return;\n }\n\n const t = setTimeout(() => {\n // TODO(wittjosiah): Use semantic color tokens.\n setClassNames('text-orange-500');\n }, SYNC_STALLED_TIMEOUT);\n return () => clearTimeout(t);\n }, [offline, needsToUpload, needsToDownload]);\n\n const title = t(`${status} label`);\n const icon = <Icon icon={getIcon(status)} size={4} classNames={classNames} />;\n\n return <StatusBar.Item title={title}>{icon}</StatusBar.Item>;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type CleanupFn } from '@dxos/async';\nimport { type Client } from '@dxos/client';\nimport { type Space, type SpaceId } from '@dxos/client/echo';\nimport { Context } from '@dxos/context';\n\nexport const createClientSaveTracker = (client: Client, cb: (state: 'saved' | 'saving') => void) => {\n const CleanupFns: Record<SpaceId, CleanupFn> = {};\n const state: Record<SpaceId, 'saved' | 'saving'> = {};\n\n const install = (spaces: Space[]) => {\n for (const space of spaces) {\n if (state[space.id]) {\n continue;\n }\n\n state[space.id] = 'saved';\n CleanupFns[space.id] = createSpaceSaveTracker(space, (s) => {\n state[space.id] = s;\n cb(Object.values(state).some((s) => s === 'saving') ? 'saving' : 'saved');\n });\n }\n };\n client.spaces.subscribe((spaces) => {\n install(spaces);\n });\n install(client.spaces.get());\n\n return () => {\n for (const unsubscribe of Object.values(CleanupFns)) {\n unsubscribe();\n }\n };\n};\n\nconst createSpaceSaveTracker = (space: Space, cb: (state: 'saved' | 'saving') => void): CleanupFn => {\n const ctx = new Context();\n\n void space.waitUntilReady().then(() => {\n if (ctx.disposed) {\n return;\n }\n\n let hasUnsavedChanges = false;\n let lastFlushPromise: Promise<void> | undefined;\n space.db.saveStateChanged.on(ctx, ({ unsavedDocuments }) => {\n hasUnsavedChanges = unsavedDocuments.length > 0;\n });\n space.db.saveStateChanged.debounce(500).on(ctx, () => {\n if (hasUnsavedChanges) {\n lastFlushPromise = undefined;\n cb('saving');\n } else {\n const flushPromise = space.db.flush();\n lastFlushPromise = flushPromise;\n void flushPromise.then(() => {\n if (lastFlushPromise === flushPromise) {\n cb('saved');\n }\n });\n }\n });\n });\n\n return () => {\n void ctx.dispose();\n };\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nexport type Status = 'saving locally' | 'downloading' | 'uploading' | 'offline persisted' | 'remote synced';\n\nexport const getStatus = ({\n offline,\n saved,\n needsToUpload,\n needsToDownload,\n}: {\n offline: boolean;\n saved: boolean;\n needsToUpload: boolean;\n needsToDownload: boolean;\n}): Status => {\n if (!saved) {\n return 'saving locally';\n } else if (!offline && needsToDownload) {\n return 'downloading';\n } else if (!offline && needsToUpload) {\n return 'uploading';\n } else if (offline && !needsToUpload && !needsToDownload) {\n return 'offline persisted';\n } else {\n return 'remote synced';\n }\n};\n\nexport const getIcon = (status: Status) => {\n switch (status) {\n case 'saving locally':\n return 'ph--download--regular';\n case 'downloading':\n return 'ph--cloud-arrow-down--regular';\n case 'uploading':\n return 'ph--cloud-arrow-up--regular';\n case 'offline persisted':\n return 'ph--check-circle--regular';\n case 'remote synced':\n return 'ph--cloud-check--regular';\n }\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useCallback } from 'react';\n\nimport { createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { Filter, Query, Type } from '@dxos/echo';\nimport { invariant } from '@dxos/invariant';\nimport { useClient } from '@dxos/react-client';\nimport { getSpace, useSchema } from '@dxos/react-client/echo';\nimport { ViewEditor as NaturalViewEditor } from '@dxos/react-ui-form';\nimport { type DataType, typenameFromQuery } from '@dxos/schema';\n\nimport { SpaceAction } from '../types';\n\ntype ViewEditorProps = { view: DataType.View };\n\nexport const ViewEditor = ({ view }: ViewEditorProps) => {\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const client = useClient();\n const space = getSpace(view);\n const typename = view.query ? typenameFromQuery(view.query.ast) : undefined;\n const schema = useSchema(client, space, typename);\n\n const handleUpdateQuery = useCallback(\n (typename: string) => {\n invariant(schema);\n invariant(Type.isMutable(schema));\n\n const newQuery = Query.select(Filter.typename(typename));\n view.query.ast = newQuery.ast;\n schema.updateTypename(typename);\n },\n [view, schema],\n );\n\n const handleDelete = useCallback(\n (fieldId: string) => {\n void dispatch(createIntent(SpaceAction.DeleteField, { view, fieldId }));\n },\n [dispatch, view],\n );\n\n if (!space || !schema) {\n return null;\n }\n\n return (\n <NaturalViewEditor\n registry={space.db.schemaRegistry}\n schema={schema}\n view={view}\n onQueryChanged={Type.isMutable(schema) ? handleUpdateQuery : undefined}\n onDelete={Type.isMutable(schema) ? handleDelete : undefined}\n outerSpacing={false}\n />\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport * from './AwaitingObject';\nexport * from './CreateDialog';\nexport * from './CollectionSection';\nexport * from './JoinDialog';\nexport * from './MembersContainer';\nexport * from './MenuFooter';\nexport * from './ObjectSettings';\nexport * from './PersistenceStatus';\nexport * from './PopoverRenameObject';\nexport * from './PopoverRenameSpace';\nexport * from './SchemaContainer';\nexport * from './SpacePresence';\nexport * from './SpacePluginSettings';\nexport * from './SpaceSettings';\nexport * from './SyncStatus';\nexport * from './ViewEditor';\n\nexport const CollectionMain = lazy(() => import('./CollectionMain'));\nexport const ObjectDetailsPanel = lazy(() => import('./ObjectDetailsPanel'));\nexport const RecordMain = lazy(() => import('./RecordMain'));\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;AAIA,OAAOA,SAASC,aAAaC,WAAWC,gBAAgB;AAExD,SAASC,cAAcC,cAAcC,qBAAqBC,iBAAiB;AAC3E,SAASC,iBAAiB;AAC1B,SAASC,QAAQC,kBAAkBC,gBAAgB;AACnD,SAASC,QAAQC,MAAMC,OAAOC,sBAAsB;AAKpD,IAAMC,0BAA0B;AAChC,IAAMC,gBAAgB;AAEf,IAAMC,iBAAiB,CAAC,EAAEC,GAAE,MAAkB;;;AACnD,UAAM,CAACC,MAAMC,OAAAA,IAAWC,SAAS,IAAA;AACjC,UAAM,CAACC,SAASC,UAAAA,IAAcF,SAAS,IAAA;AACvC,UAAM,CAACG,OAAOC,QAAAA,IAAYJ,SAAS,KAAA;AACnC,UAAM,EAAEK,EAAC,IAAKC,eAAeC,KAAKV,EAAE;AACpC,UAAM,EAAEW,iBAAiBC,SAAQ,IAAKC,oBAAAA;AACtC,UAAMC,SAASC,UAAAA;AAEf,UAAMC,SAASC,UAAAA;AACf,UAAMC,UAAUC,SAASH,OAAOI,QAAQC,OAAOC,WAAU,CAAA;AAEzDC,cAAU,MAAA;AACR,UAAI,CAACvB,IAAI;AACP;MACF;AAEA,YAAMwB,UAAUC,WAAW,MAAA;AACzBpB,mBAAW,KAAA;MACb,GAAGR,uBAAAA;AAEH,YAAM6B,aAAaF,OAAAA;IACrB,GAAG;MAACxB;KAAG;AAEPuB,cAAU,MAAA;AACR,UAAIL,QAAQS,UAAU,CAACC,WAAWC,iBAAiBD,MAAAA,MAAY5B,EAAAA,IAAM,IAAI;AACvEO,iBAAS,IAAA;AAET,YAAIO,OAAOgB,OAAOC,SAAS/B,EAAAA,GAAK;AAC9BE,kBAAQ,KAAA;QACV;MACF;IACF,GAAG;MAACF;MAAIkB;MAASJ;KAAO;AAExB,UAAMkB,cAAcC,YAClB,YAAYrB,SAASsB,aAAaC,YAAYC,eAAe;MAAEpC,IAAIqC;IAAU,CAAA,CAAA,GAC7E;MAACzB;KAAS;AAGZ,UAAM0B,iBAAiBL,YAAY,MAAA;AACjC,WAAKrB,SAASsB,aAAaK,aAAaC,MAAM;QAAEC,MAAM;QAAQC,SAAS;UAAC1C;;MAAI,CAAA,CAAA;AAC5E,WAAKgC,YAAAA;IACP,GAAG;MAAChC;MAAIgC;MAAapB;KAAS;AAE9B,WACE,sBAAA,cAAC+B,MAAMC,MAAI;MAAC3C;MAAY4C,UAAU/C;MAAegD,cAAc5C;OAC7D,sBAAA,cAACyC,MAAMI,MAAI,MACT,sBAAA,cAACJ,MAAMK,OAAK;MAACC,YAAW;OACrB3C,QACC,sBAAA,cAAA,MAAA,UAAA,MACE,sBAAA,cAAC4C,MAAAA;MAAKC,MAAK;MAA4BC,MAAM;QAC7C,sBAAA,cAACC,QAAAA,MAAM7C,EAAE,oBAAA,CAAA,CAAA,IAETJ,UACF,sBAAA,cAAA,MAAA,UAAA,MACE,sBAAA,cAAC8C,MAAAA;MAAKC,MAAK;MAA4BC,MAAM;MAAGH,YAAW;QAC3D,sBAAA,cAACI,QAAAA,MAAM7C,EAAE,0BAAA,CAAA,CAAA,IAGX,sBAAA,cAAA,MAAA,UAAA,MACE,sBAAA,cAAC0C,MAAAA;MAAKC,MAAK;MAA6BC,MAAM;QAC9C,sBAAA,cAACC,QAAAA,MAAM7C,EAAE,wBAAA,CAAA,CAAA,CAAA,GAIf,sBAAA,cAACmC,MAAMW,aAAW,MACf9C,EACCF,QACI,6BACAF,UACE,mCACA,8BAAA,CAAA,CAAA,GAIZ,sBAAA,cAACuC,MAAMY,SAAO,MACXjD,QACC,sBAAA,cAAA,MAAA,UAAA,MACE,sBAAA,cAACqC,MAAMa,QAAM;MAACC,SAASjD,EAAE,kBAAA;MAAqBkD,SAAAA;OAC5C,sBAAA,cAACC,QAAAA;MAAOC,SAAQ;MAAUC,SAASvB;OAChC9B,EAAE,oBAAA,CAAA,CAAA,GAGP,sBAAA,cAACmC,MAAMmB,OAAK;MAACJ,SAAAA;OACX,sBAAA,cAACC,QAAAA;MAAOE,SAAS7B;OAAcxB,EAAE,eAAe;MAAEuD,IAAI;IAAS,CAAA,CAAA,CAAA,CAAA,IAInE,sBAAA,cAACpB,MAAMmB,OAAK;MAACJ,SAAAA;OACX,sBAAA,cAACC,QAAAA;MAAOE,SAAS7B;OAAcxB,EAAEJ,UAAU,gBAAgB,iBAAiB;MAAE2D,IAAI;IAAS,CAAA,CAAA,CAAA,CAAA,CAAA;;;;AAMvG;;;;AC3GA,SAASC,QAAQC,YAAY;AAC7B,OAAOC,UAASC,eAAAA,cAAaC,QAAQC,YAAAA,iBAAgB;AAErD,SACEC,cACAC,gBAAAA,eACAC,OACAC,gBAAAA,eACAC,iBACAC,uBAAAA,sBACAC,wBACK;AACP,SAASC,KAAKC,OAAOC,QAAAA,aAAY;AACjC,SAASC,iBAAiB;AAC1B,SAASC,aAAAA,kBAAiB;AAC1B,SAAqBC,UAAUC,cAAcC,SAASC,YAAAA,WAAUC,iBAAiB;AACjF,SAASC,UAAAA,SAAQC,QAAQC,QAAAA,OAAMC,kBAAAA,uBAAsB;AACrD,SAASC,mBAAmBC,wBAAwB;AACpD,SAASC,UAAUC,yBAAyB;AAC5C,SAASC,iBAAAA,sBAAqB;;;ACnB9B,SAASC,YAAY;AAEd,IAAMC,kBAAkBC,KAAK,MAAM,OAAO,kCAAA,CAAA;AAC1C,IAAMC,qBAAqBD,KAAK,MAAM,OAAO,qCAAA,CAAA;AAC7C,IAAME,kBAAkBF,KAAK,MAAM,OAAO,iCAAA,CAAA;AAC1C,IAAMG,iBAAiBH,KAAK,MAAM,OAAO,gCAAA,CAAA;AACzC,IAAMI,YAAYJ,KAAK,MAAM,OAAO,2BAAA,CAAA;AACpC,IAAMK,eAAeL,KAAK,MAAM,OAAO,8BAAA,CAAA;AACvC,IAAMM,aAAaN,KAAK,MAAM,OAAO,4BAAA,CAAA;AACrC,IAAMO,gBAAgBP,KAAK,MAAM,OAAO,yBAAA,CAAA;AACxC,IAAMQ,aAAaR,KAAK,MAAM,OAAO,sBAAA,CAAA;AACrC,IAAMS,cAAcT,KAAK,MAAM,OAAO,6BAAA,CAAA;;;;ACX7C,SAASU,cAAc;AACvB,OAAOC,UAASC,eAAAA,oBAAmB;AAEnC,SAASC,YAAY;AACrB,SAA+CC,gBAAgBC,yBAAyB;AAExF,SAASC,QAAAA,OAAMC,mBAAmBC,iBAAiBC,kBAAAA,uBAAsB;AACzE,SAASC,YAAY;AACrB,SAASC,kBAAkB;AAC3B,SAASC,oBAAoBC,0BAA0BC,gCAAgC;AAEvF,SAA4BC,qBAAqB;AAqB1C,IAAMC,oBAAoB,CAAC,EAChCC,OACAC,QACAC,UACAC,QACAC,OACAC,mBAAmBC,oBACnBC,gBACAC,SACAC,gBACAC,kBACAC,eAAc,MACS;;;AACvB,UAAM,EAAEC,EAAC,IAAKC,gBAAeC,KAAKC,EAAE;AACpC,UAAMV,oBAAoBW,gBAAgBV,oBAAoB,OAAO,CAAC,EAAA;AACtE,UAAMW,OAAOjB,MAAMkB,KAAK,CAACD,UAASE,KAAKC,YAAYH,MAAKI,YAAY,MAAMnB,QAAAA;AAC1E,UAAMoB,UAA4BtB,MAC/BuB,OAAO,CAACN,UAAAA;AACP,UAAIb,SAAS,MAAM;AACjB,eAAO;MACT,OAAO;AACL,eAAOA,UAAUoB,eAAeC,IAAIR,MAAKI,YAAY,EAAEK,KAAKC,OAAOC,UAAU,MAAM,KAAA,CAAA;MACrF;IACF,CAAA,EACCC,IAAI,CAACZ,UAASa,kBAAkBb,MAAKI,YAAY,CAAA,EACjDE,OAAOQ,aAAAA,EACPC,KAAK,CAACC,GAAGC,MAAAA;AACR,YAAMC,QAAQvB,EAAE,kBAAkB;QAAEwB,IAAIH,EAAE/B;QAAUmC,cAAcJ,EAAE/B;MAAS,CAAA;AAC7E,YAAMoC,QAAQ1B,EAAE,kBAAkB;QAAEwB,IAAIF,EAAEhC;QAAUmC,cAAcH,EAAEhC;MAAS,CAAA;AAC7E,aAAOiC,MAAMI,cAAcD,KAAAA;IAC7B,CAAA;AAEF,UAAME,qBAAqBC,aACzB,OAAOC,UAAAA;AACL,UAAI,CAACzB,MAAM;AACT;MACF;AACA,YAAMN,iBAAiB;QAAEM;QAAM0B,MAAMD;MAAM,CAAA;IAC7C,GACA;MAAC/B;MAAgBM;KAAK;AAGxB,UAAM2B,oBAAoBH,aACxB,OAAOvC,cAAAA;AACL,YAAMe,QAAOjB,MAAMkB,KAAK,CAACD,UAASa,kBAAkBb,MAAKI,YAAY,GAAGnB,aAAaA,SAAAA;AACrF,UAAIe,SAAQ,CAACA,MAAK4B,YAAY;AAC5B,cAAMlC,iBAAiB;UAAEM,MAAAA;QAAK,CAAA;MAChC,OAAO;AACLP,2BAAmBR,SAAAA;MACrB;IACF,GACA;MAACF;MAAOW;KAAe;AAGzB,UAAMmC,qBAAqBC,sBAAsB;MAAE5C;IAAO,CAAA;AAG1D,WAAO,CAACc,OACN,gBAAA+B,OAAA,cAACC,cAAAA;MAAa3B;MAAkBd;MAAkB0C,UAAUN;SAC1D,CAACzC,SACH,gBAAA6C,OAAA,cAACG,aAAAA;MAAYlD;MAAgBM;MAAgC2C,UAAUzC;SACrEQ,KAAK4B,aACP,gBAAAG,OAAA,cAACI,OAAAA;MAAIC,MAAK;MAAOC,WAAWC;OAC1B,gBAAAP,OAAA,cAACQ,MAAAA;MACCC,WAAAA;MACAC,QAAQrD;MACRsD,QAAQ1C,KAAK4B;MACbe,QAAO;MACPC,QAAQrB;MACRsB,iBAAiBhB;MACjBiB,cAAa;UAGf;;;;AACN;AAEA,IAAMZ,cAAc,CAAC,EACnBlD,QACAM,gBACA2C,SAAQ,MAC0F;;;AAClG,UAAM,EAAEtC,EAAC,IAAKC,gBAAeC,KAAKC,EAAE;AAEpC,WACE,gBAAAiC,OAAA,cAACgB,WAAWC,MAAI;MAACC,OAAOtD,EAAE,mBAAA;MAAsBuD,YAAYC;OAC1D,gBAAApB,OAAA,cAACgB,WAAWK,OAAK;MACfZ,WAAAA;MACAa,eAAY;MACZC,aAAa3D,EAAE,yBAAA;QAEjB,gBAAAoC,OAAA,cAACgB,WAAWQ,SAAO;MAACL,YAAY;QAACZ;QAAoB;;OAClDtD,OACE+B,KAAK,CAACC,GAAGC,MAAAA;AACR,YAAMuC,QAAQC,kBAAkBC,oBAAoB1C,GAAG;QAAE2C,UAAU3C,EAAElB,OAAOR;MAAe,CAAA,GAAIK,CAAAA;AAC/F,YAAMiE,QAAQH,kBAAkBC,oBAAoBzC,GAAG;QAAE0C,UAAU1C,EAAEnB,OAAOR;MAAe,CAAA,GAAIK,CAAAA;AAC/F,aAAO6D,MAAMlC,cAAcsC,KAAAA;IAC7B,CAAA,EACChD,IAAI,CAACiD,UACJ,gBAAA9B,OAAA,cAACgB,WAAWe,MAAI;MACdC,KAAKF,MAAM/D;MACXkE,OAAOP,kBAAkBC,oBAAoBG,OAAO;QAAEF,UAAUE,MAAM/D,OAAOR;MAAe,CAAA,GAAIK,CAAAA;MAChGsE,UAAU,MAAMhC,WAAW4B,KAAAA;MAC3BX,YAAW;OAEX,gBAAAnB,OAAA,cAACmC,QAAAA;MAAK7B,WAAU;OACboB,kBAAkBC,oBAAoBG,OAAO;MAAEF,UAAUE,MAAM/D,OAAOR;IAAe,CAAA,GAAIK,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;;;;AAO1G;AAEA,IAAMqC,eAAe,CAAC,EACpB3B,SACAd,SACA0C,SAAQ,MAIiC;;;AACzC,UAAM,EAAEtC,EAAC,IAAKC,gBAAeC,KAAKC,EAAE;AAEpC,WACE,gBAAAiC,OAAA,cAACgB,WAAWC,MAAI;MAACC,OAAOtD,EAAE,oBAAA;MAAuBuD,YAAYC;OAC3D,gBAAApB,OAAA,cAACgB,WAAWK,OAAK;MACfZ,WAAAA;MACAa,eAAY;MACZC,aAAa3D,EAAE,0BAAA;QAEjB,gBAAAoC,OAAA,cAACgB,WAAWQ,SAAO;MAACL,YAAYiB;OAC7B9D,QAAQO,IAAI,CAACwD,WACZ,gBAAArC,OAAA,cAACgB,WAAWe,MAAI;MACdC,KAAKK,OAAOnF;MACZ+E,OAAOrE,EAAE,kBAAkB;QAAEwB,IAAIiD,OAAOnF;QAAUmC,cAAcgD,OAAOnF;MAAS,CAAA;MAChFgF,UAAU,MAAMhC,SAASmC,OAAOnF,QAAQ;MACxCiE,YAAW;OAEX,gBAAAnB,OAAA,cAACmC,QAAAA;MAAK7B,WAAU;OACd,gBAAAN,OAAA,cAACsC,OAAAA;MAAKC,MAAM/E,UAAU6E,OAAOnF,QAAQ,EAAEqF,QAAQ;MAA4BC,MAAM;QAChF5E,EAAE,kBAAkB;MAAEwB,IAAIiD,OAAOnF;MAAUmC,cAAcgD,OAAOnF;IAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;;;AAOxF;;;;AFzJO,IAAMuF,uBAAuB,GAAGC,KAAKC,EAAE;AAUvC,IAAMC,qBAAqB,CAAC,EACjCC,QAAQC,eACRC,UAAUC,iBACVC,OACAC,mBACAC,gBACAC,gBAAgBC,gBAAe,MACP;;;AACxB,UAAMC,WAAWC,OAAiC,IAAA;AAClD,UAAMC,UAAUC,iBAAAA;AAChB,UAAM,EAAEC,EAAC,IAAKC,gBAAejB,KAAKC,EAAE;AACpC,UAAMiB,SAASC,WAAAA;AACf,UAAMC,SAASC,UAAAA;AACf,UAAM,EAAEC,SAAQ,IAAKC,qBAAAA;AACrB,UAAMC,QAAQC,gBAAgBC,kBAAkBC,UAAU;AAC1D,UAAM,CAACxB,QAAQyB,SAAAA,IAAaC,UAAkDzB,aAAAA;AAC9E,UAAM,CAACC,UAAUyB,WAAAA,IAAeD,UAA6BvB,eAAAA;AAC7D,UAAMyB,QAAQC,QAAQ7B,MAAAA,IAAUA,SAAS8B,SAAS9B,MAAAA;AAClD,UAAM+B,mBAAmBC,UAASJ,OAAOK,MAAMC,KAAKC,SAASC,eAAe,CAAA;AAC5E,UAAMC,kBAAkBN,iBACrBO,IAAI,CAACC,eAAeC,kBAAkBD,WAAWE,KAAK,CAAA,EACtDC,OAAOC,cAAAA;AAEV,UAAMC,UAAUC,aACd,CAAC3C,cACCS,QAAQmC,QAAQC,gBAAgBC,aAAaC,QAAQ,EAAEC,KAAK,CAAC,EAAEpD,GAAE,MAAOA,OAAOI,SAAAA,GAAWiD,YAAY,CAAC,GACzG;MAACxC;KAAQ;AAGX,UAAMyC,qBAAqBP,aACzB,CAAC,EAAEQ,MAAMC,OAAO,CAAC,EAAC,MAChBC,OAAOC,IAAI,aAAA;AACT,UAAI,CAACxD,QAAQ;AAEX;MACF;AAGAS,eAASgD,SAASC,MAAAA;AAElB,YAAM9B,SAAQC,QAAQ7B,MAAAA,IAAUA,SAAS8B,SAAS9B,MAAAA;AAClD2D,gBAAU/B,QAAO,iBAAA;;;;;;;;;AACjB,YAAM,EAAEgC,OAAM,IAAK,OAAOzC,SAASkC,KAAKQ,UAAUP,MAAM;QAAE1B,OAAAA;MAAM,CAAA,CAAA;AAChE,UAAIkC,aAAaF,MAAAA,KAAW,CAACG,IAAIC,WAAW7B,SAAS8B,cAAcL,MAAAA,GAAS;AAE1E,cAAMM,SAASb,KAAKa,UAAU7B,gBAAgB8B,SAASC,MAAKC,YAAYhB,KAAKiB,YAAY,CAAA;AACzF,cAAMC,kBAAkBC,cAAaC,YAAYC,WAAW;UAAE1E;UAAQ4D;UAAQM;QAAO,CAAA;AACrF,cAAM3D,iBAAiBC,oBAAoB,MAAM;AACjD,YAAID,eAAeqD,MAAAA,GAAS;AAC1B,iBAAOzC,SAASwD,KAAKJ,iBAAiBK,MAAMC,cAAaC,MAAM;YAAEC,MAAM;UAAO,CAAA,CAAA,CAAA;QAChF,OAAO;AACL,iBAAO5D,SAASoD,eAAAA;QAClB;AAEAjE,yBAAiBsD,MAAAA;MACnB;IACF,CAAA,EAAGe,KAAKpB,OAAOyB,UAAU,GAC3B;MAAC7D;MAAUnB;MAAQ4C;MAASP;MAAiB7B;KAAgB;AAG/D;;;MAGE,gBAAAyE,OAAA,cAACC,OAAOC,SAAO;QAACC,YAAYC;SAC1B,gBAAAJ,OAAA,cAACK,OAAAA;QAAIC,MAAK;QAAOC,WAAWC;SAC1B,gBAAAR,OAAA,cAACC,OAAOQ,OAAK,MACV7E,EAAE,8BAA8B;QAC/B+C,QAAQ/C,EAAE,kBAAkB;UAAE8E,IAAIzF;UAAU0F,cAAcxF,QAAQ,SAAS;QAAO,CAAA;MACpF,CAAA,CAAA,GAEF,gBAAA6E,OAAA,cAACC,OAAOW,OAAK;QAACC,SAAAA;SACZ,gBAAAb,OAAA,cAACc,SAAAA;QAAOC,KAAKvF;QAAUwF,SAAQ;QAAOC,SAAQ;QAAQC,WAAAA;SACpD,gBAAAlB,OAAA,cAACmB,OAAAA;QAAKC,MAAK;QAAiBC,MAAM;aAKxC,gBAAArB,OAAA,cAACsB,mBAAAA;QACClF;QACAJ;QACAjB;QACAI;QACAF;QACAG;QACAmG,gBAAgBzF,OAAOE,OAAOwF,QAAQ3G;QACtC8C;QACA8D,gBAAgBjF;QAChBkF,kBAAkBhF;QAClBrB,gBAAgB8C;;;;;;AAIxB;;;;AGjIA,SAASwD,UAAAA,eAA2B;AACpC,OAAOC,UAASC,eAAAA,cAAaC,UAAAA,eAAc;AAE3C,SAASC,gBAAAA,eAAcC,gBAAAA,eAAcC,uBAAAA,4BAA2B;AAChE,SAASC,UAAAA,SAAQC,UAAAA,SAAQC,QAAAA,OAAMC,kBAAAA,uBAAsB;AACrD,SAASC,QAAAA,aAAY;AACrB,SAASC,qBAAAA,oBAAmBC,oBAAAA,yBAAwB;AAM7C,IAAMC,sBAAsB,GAAGC,KAAKC,EAAE;AAG7C,IAAMC,gBAA4B;EAAEC,iBAAiB;AAAK;AAEnD,IAAMC,oBAAoB,MAAA;;;AAC/B,UAAMC,WAAWC,QAAiC,IAAA;AAClD,UAAM,EAAEC,EAAC,IAAKC,gBAAeR,KAAKC,EAAE;AACpC,UAAM,EAAEQ,SAAQ,IAAKC,qBAAAA;AAErB,UAAMC,qBAAqBC,sBAAAA;AAE3B,UAAMC,oBAAoBC,aACxB,OAAOC,SAAAA;AACL,YAAMC,UAAUC,QAAOC,IAAI,aAAA;AACzB,cAAM,EAAEC,MAAK,IAAK,OAAOV,SAASW,cAAaC,YAAYC,QAAQP,IAAAA,CAAAA;AACnE,eAAON,SAASW,cAAaG,cAAaC,iBAAiB;UAAEC,MAAM;UAAaC,SAASP,MAAMlB;QAAG,CAAA,CAAA;AAClG,eAAOQ,SAASW,cAAaG,cAAaI,cAAc;UAAEF,MAAM;UAAUG,SAAS;YAAEC,OAAO;UAAM;QAAE,CAAA,CAAA;MACtG,CAAA;AACA,YAAMZ,QAAOa,WAAWd,OAAAA;IAC1B,GACA;MAACP;KAAS;AAGZ;;;MAGE,gBAAAsB,OAAA,cAACC,QAAOC,SAAO;QAACC,YAAYC;SAC1B,gBAAAJ,OAAA,cAACK,OAAAA;QAAIC,MAAK;QAAOC,WAAWC;SAC1B,gBAAAR,OAAA,cAACC,QAAOQ,OAAK,MAAEjC,EAAE,2BAAA,CAAA,GACjB,gBAAAwB,OAAA,cAACC,QAAOS,OAAK;QAACC,SAAAA;SACZ,gBAAAX,OAAA,cAACY,SAAAA;QAAOC,KAAKvC;QAAUwC,SAAQ;QAAOC,SAAQ;QAAQC,WAAAA;SACpD,gBAAAhB,OAAA,cAACiB,OAAAA;QAAKC,MAAK;QAAiBC,MAAM;aAIxC,gBAAAnB,OAAA,cAACK,OAAAA;QAAIC,MAAK;QAAOC,WAAU;SACzB,gBAAAP,OAAA,cAACoB,OAAAA;QACCC,QAAO;QACPL,WAAAA;QACAM,QAAQnD;QACRoD,QAAQC;QACRC,iBAAiB7C;QACjB8C,QAAQ5C;QACR6C,cAAa;;;;;;AAKvB;;;;AC7DA,OAAOC,YAAW;AAElB,SAASC,kBAAAA,uBAAsB;AAKxB,IAAMC,oBAAoB,CAAC,EAAEC,WAAU,MAAuC;;;AACnF,UAAM,EAAEC,EAAC,IAAKC,gBAAeC,KAAKC,EAAE;AAEpC,WACE,gBAAAC,OAAA,cAACC,OAAAA;MAAIC,WAAU;OACb,gBAAAF,OAAA,cAACG,QAAAA;MAAKD,WAAU;OAAYP,WAAWS,QAAQR,EAAE,0BAAA,CAAA,CAAA;;;;AAGvD;;;;ACfA,OAAOS,UAASC,eAAAA,oBAAmB;AAEnC,SAASC,gBAAAA,eAAcC,gBAAAA,eAAcC,aAAaC,uBAAAA,4BAA2B;AAC7E,SAASC,eAAe;AACxB,SAASC,2BAA2B;AACpC,SAASC,aAAAA,kBAAiB;AAG1B,SAASC,UAAAA,SAAQC,kBAAAA,uBAAsB;AACvC,SAASC,iBAAsC;AAIxC,IAAMC,cAAc,GAAGC,KAAKC,EAAE;AAM9B,IAAMC,aAAa,CAAC,EAAEC,sBAAsBC,QAAQ,GAAGC,MAAAA,MAAwB;;;AACpF,UAAM,EAAEC,iBAAiBC,SAAQ,IAAKC,qBAAAA;AACtC,UAAMC,SAASC,WAAAA;AACf,UAAM,EAAEC,MAAK,IAAKC,YAAAA;AAClB,UAAM,EAAEC,EAAC,IAAKC,gBAAed,KAAKC,EAAE;AAEpC,UAAMc,aAAaC,aACjB,OAAOC,WAAAA;AACL,YAAMC,WAAWD,QAAQC;AACzB,UAAI,CAACA,UAAU;AACb;MACF;AAEA,YAAMC,QAAQC,IAAI;QAChBb,SACEc,cAAaC,cAAaC,UAAU;UAClCC,MAAM;UACNC,SAAS;YACPxB,IAAI,GAAGD,KAAKC,EAAE;YACdyB,UAAU;YACVC,OAAO;cAAC;cAAsB;gBAAEC,IAAI5B,KAAKC;cAAG;;YAC5C4B,YAAY;cAAC;cAAiB;gBAAED,IAAI5B,KAAKC;cAAG;;UAC9C;QACF,CAAA,CAAA;QAEFM,SACEc,cAAaC,cAAaQ,cAAc;UACtCN,MAAM;UACNO,SAAS;YACPC,OAAO;UACT;QACF,CAAA,CAAA;OAEH;AAED,UAAIC,QAAQxB,OAAOyB,OAAOC,IAAIjB,QAAAA;AAC9B,UAAI,CAACe,OAAO;AAEV,cAAMG,UAAU,IAAIC,QAAAA;AACpB5B,eAAOyB,OAAOI,UAAU,MAAA;AACtB,gBAAML,SAAQxB,OAAOyB,OAAOC,IAAIjB,QAAAA;AAChC,cAAIe,QAAO;AACTG,oBAAQG,KAAKN,MAAAA;UACf;QACF,CAAA;AACAA,gBAAQ,MAAMG,QAAQI,KAAI;MAC5B;AAEA,YAAMjC,SAASc,cAAaC,cAAamB,iBAAiB;QAAEjB,MAAM;QAAaC,SAASQ,MAAMhC;MAAG,CAAA,CAAA;AAKjG,YAAMyC,SAASzB,QAAQyB,WAAWvC,uBAAuB8B,OAAOhC,KAAK0C;AACrE,UAAID,QAAQ;AAGV,cAAM/B,MAAMiC,YAAY;UAAEF;QAAO,CAAA,EAAGG,MAAM,MAAA;QAAO,CAAA;AACjD,cAAM1B,QAAQC,IAAI;UAChBb,SAASc,cAAaC,cAAawB,MAAM;YAAEtB,MAAM;YAAQC,SAAS;cAACiB;;UAAQ,CAAA,CAAA;UAC3EnC,SAASc,cAAaC,cAAayB,QAAQ;YAAEvB,MAAM;YAAcC,SAASiB;UAAO,CAAA,CAAA;SAClF;MACH;AAEA,YAAMtC,SAASa,MAAAA;AAEf,UAAIgB,OAAO;AACT,cAAM1B,SACJc,cAAa2B,oBAAoBC,WAAW;UAC1CC,MAAM;UACNC,YAAY;YACVC,SAASnB,MAAMhC;UACjB;QACF,CAAA,CAAA;MAEJ;IACF,GACA;MAACM;MAAUE;MAAQE;KAAM;AAG3B,WACE,gBAAA0C,OAAA,cAACC,QAAOC,SAAO,MACb,gBAAAF,OAAA,cAACC,QAAOE,OAAK;MAACC,YAAW;OAAW5C,EAAE,oBAAoB;MAAEe,IAAI;IAAK,CAAA,CAAA,GACrE,gBAAAyB,OAAA,cAACK,WAAAA;MACE,GAAGrD;MACJsD,kBAAkB,gBAAAN,OAAA,cAACC,QAAOM,OAAK;QAACC,SAAAA;;MAChCC,kBAAkB,gBAAAT,OAAA,cAACC,QAAOM,OAAK;QAACC,SAAAA;;MAChCzD,QAAQW;;;;;AAIhB;;;;AC9GA,OAAOgD,UAA6CC,eAAAA,cAAaC,SAASC,YAAAA,iBAAgB;AAC1F,SAASC,UAAU;AAEnB,SAASC,gBAAAA,eAAcC,uBAAAA,4BAA2B;AAClD,SAASC,WAAW;AACpB,SAASC,iBAAiB;AAC1B,SAAqBC,oBAAAA,mBAAkBC,2BAA2B;AAClE,SAA+CC,YAAYC,yBAAyB;AACpF,SAASC,UAAAA,SAAQC,WAAWC,QAAAA,OAAMC,OAAOC,OAAOC,kBAAAA,uBAAsB;AACtE,SAASC,cAAcC,kBAAkBC,kBAAkBC,aAAaC,sBAAsB;AAC9F,SAASC,iBAAiB;AAC1B,SAASC,YAAAA,iBAAgB;AACzB,SAEEC,UACAC,kBACAC,UACAC,OACAC,gBACAC,iBACAC,gBACK;AACP,SAASC,kBAAkB;;AAO3B,IAAMC,kBAAkB;AAExB,IAAMC,wBAAwB,CAACC,YAAwBC,iBAAAA;AACrD,QAAMC,iBAAiBC,kBAAkBC,OAAOJ,UAAAA;AAChD,MAAIA,WAAWK,UAAUC,WAAWC,MAAMC,YAAY;AACpDC,QAAIC,KAAKC,KAAKC,UAAU;MAAEV;MAAgBW,UAAUb,WAAWa;IAAS,CAAA,GAAA,QAAA;;;;;;AACxEZ,iBAAaa,YAAW;EAC1B;AACF;AAOO,IAAMC,mBAAmB,CAAC,EAAEC,OAAOC,oBAAmB,MAAyB;;;AACpF,UAAM,EAAEC,EAAC,IAAKC,gBAAeC,KAAKC,EAAE;AACpC,UAAMC,SAASC,UAAAA;AACf,UAAM,EAAEC,iBAAiBC,SAAQ,IAAKC,qBAAAA;AACtC,UAAMC,cAAcC,oBAAoBZ,MAAMa,GAAG;AACjD,UAAMC,qBAAqBH,aAAaI,OACtC,CAAC/B,eAAe,CAAC;MAACM,WAAWC,MAAMyB;MAAWC,SAASjC,WAAWkC,IAAG,EAAG7B,KAAK,CAAA;AAG/E,UAAM,CAAC8B,cAAcC,uBAAAA,IAA2BC,UAASC,aAAaC,QAAQzC,eAAAA,KAAoB,YAAA;AAElG,UAAM0C,kBAAkB,CAACC,eAAAA;AACvBL,8BAAwBK,UAAAA;AACxBH,mBAAaI,QAAQ5C,iBAAiB2C,UAAAA;IACxC;AAGA,UAAME,SAAS3B,MAAM4B,WAAWC,UAASC,WAAWC,QAAQ,GAAGJ,QAAQK,QAAQ,CAAA,GAAIL;AAEnF,UAAMM,SAASjC,MAAM4B,WAAWM,mBAAAA;AAChC,UAAMC,qBAAqBC,aAAY,MAAA;AACrCpC,YAAM4B,WAAWM,mBAAAA,IAAuB,CAACD;IAC3C,GAAG;MAACA;MAAQjC;KAAM;AAElB,UAAMqC,gBAAgBC,QACpB,OAAuC;MACrCC,WAAW;QACTC,OAAOtC,EAAE,oBAAoB;UAAEuC,IAAI;QAAK,CAAA;QACxCC,aAAaxC,EAAE,0BAA0B;UAAEuC,IAAI;QAAK,CAAA;QACpDE,MAAM;QACNC,QAAQ;QACRC,SAAS,YAAA;AACP,gBAAM,EAAEC,MAAM9D,WAAU,IAAK,MAAMyB,SACjCsC,cAAaC,YAAYC,OAAO;YAC9BjD;YACAkD,MAAM5D,WAAW6D,KAAKC;YACtBC,YAAY/D,WAAWgE,WAAWC;YAClCC,UAAU;YACV7B,QAAQA,UAAU8B,kBAAiB9B,MAAAA;UACrC,CAAA,CAAA;AAEF,cAAI3C,cAAcsB,OAAOoD,OAAOC,SAASC,KAAKC,KAAKC,mBAAmB,cAAc;AAClF,kBAAM7E,eAA2CD,WAAW+E,UAAU,CAAC/E,gBACrED,sBAAsBC,aAAYC,YAAAA,CAAAA;UAEtC;QACF;MACF;MACA+E,YAAY;QACVxB,OAAOtC,EAAE,qBAAqB;UAAEuC,IAAI;QAAK,CAAA;QACzCC,aAAaxC,EAAE,2BAA2B;UAAEuC,IAAI;QAAK,CAAA;QACrDE,MAAM;QACNC,QAAQ;QACRC,SAAS,YAAA;AACP,gBAAM,EAAEC,MAAM9D,WAAU,IAAK,MAAMyB,SACjCsC,cAAaC,YAAYC,OAAO;YAC9BjD;YACAkD,MAAM5D,WAAW6D,KAAKc;YACtBZ,YAAY/D,WAAWgE,WAAWY;YAClCV,UAAU;YACV7B,QAAQA,UAAU8B,kBAAiB9B,MAAAA;UACrC,CAAA,CAAA;AAEF,cAAI3C,cAAcsB,OAAOoD,OAAOC,SAASC,KAAKC,KAAKC,mBAAmB,cAAc;AAClF,kBAAM7E,eAA2CD,WAAW+E,UAAU,CAAC/E,gBACrED,sBAAsBC,aAAYC,YAAAA,CAAAA;UAEtC;QACF;MACF;IACF,IACA;MAACiB;MAAGF;MAAO2B;KAAO;AAGpB,UAAM,CAACwC,oBAAoBC,qBAAAA,IAAyB/C,UAAiD,IAAA;AACrG,UAAMgD,aAAa,CAACC,UAAAA;AAClBF,4BAAsBE,MAAMtF,UAAU;IACxC;AACA,UAAMuF,aAAa,MAAA;AACjBH,4BAAsB,IAAA;IACxB;AAEA,WACE,gBAAAI,OAAA,cAACC,UAAUC,UAAQ,MACjB,gBAAAF,OAAA,cAACG,UAAUC,SAAO;MAACC,YAAW;OAC5B,gBAAAL,OAAA,cAACM,aAAAA,MACC,gBAAAN,OAAA,cAACO,gBAAAA;MAAeC,OAAO9E,EAAE,uBAAA;MAA0BwC,aAAaxC,EAAE,qBAAA;OAChE,gBAAAsE,OAAA,cAACS,cAAAA,MACC,gBAAAT,OAAA,cAACU,kBAAAA;MAAiBF,OAAO9E,EAAE,eAAA;OACzB,gBAAAsE,OAAA,cAACW,iBAAAA;MAAgBC,UAAUpF,MAAMa;MAAKwE,aAAAA;SAEvCpD,UACC,gBAAAuC,OAAA,cAACU,kBAAAA;MAAiBF,OAAO9E,EAAE,mBAAA;OACzB,gBAAAsE,OAAA,cAACc,KAAAA;MAAEC,WAAU;OAA0BrF,EAAE,0BAAA,CAAA,CAAA,GAG5C,CAAC+B,UACA,gBAAAuC,OAAA,cAACU,kBAAAA;MAAiBF,OAAO9E,EAAE,mBAAA;OACxBiE,sBAAsB,gBAAAK,OAAA,cAACgB,mBAAAA;MAAmB,GAAGrB;MAAoBsB,QAAQlB;QACzE,CAACJ,sBACA,gBAAAK,OAAA,cAAAA,OAAA,UAAA,MACE,gBAAAA,OAAA,cAACc,KAAAA;MAAEC,WAAU;OAA0BrF,EAAE,8BAAA,CAAA,GACzC,gBAAAsE,OAAA,cAACkB,gBAAAA;MACCH,WAAU;MACVI,MAAMtB;MACN1D,aAAaG,sBAAsB,CAAA;MACnC8E,eAAe,CAAC5G,eAAeA,WAAW6G,OAAM;MAChD5F;QAEF,gBAAAuE,OAAA,cAACsB,kBAAAA;MACCC,SAAS1D;MACTlB;MACA6E,sBAAsBxE;MACtByE,eAAY;WAQxB,gBAAAzB,OAAA,cAAC0B,OAAAA;MAAIX,WAAU;OACb,gBAAAf,OAAA,cAAC2B,kBAAAA;MAAiBnB,OAAO9E,EAAE,oBAAA;MAAuBwC,aAAaxC,EAAE,0BAAA;OAC/D,gBAAAsE,OAAA,cAAC4B,MAAMC,QAAM;MAACC,SAASrE;MAAQsE,iBAAiBpE;MAAoB0C,YAAW;;;;;AAQ/F;AAYA,IAAMW,oBAAoB,CAAC,EACzBnG,QAAQC,WAAWC,MAAMiH,MACzB3G,UACA4G,eAAe,SACfC,MAAM,SACNjB,OAAM,MACmB;;;AACzB,UAAMkB,aACJtH,QAAQ,IACJ,SACAA,SAASC,WAAWC,MAAMyB,YACxB,aACA3B,SAASC,WAAWC,MAAMqH,4BAA4B/G,WACpD,cACA;AACV,WACE,gBAAA2E,OAAA,cAACqC,SAASC,MAAI;MAACH;OACb,gBAAAnC,OAAA,cAACqC,SAASE,OAAK,MACb,gBAAAvC,OAAA,cAACqC,SAASG,MAAI;MAAC3G,IAAG;QAGlB,gBAAAmE,OAAA,cAACqC,SAASG,MAAI;MAAC3G,IAAG;OAChB,gBAAAmE,OAAA,cAACyC,oBAAAA;MAAmBC,aAAa7H;SAEnC,gBAAAmF,OAAA,cAACqC,SAASG,MAAI;MAAC3G,IAAG;OAChB,gBAAAmE,OAAA,cAAC2C,oBAAAA;MAAmB9G,IAAIoG;MAAcW,MAAMvH,YAAY;MAASwH,UAAU5B;SAE7E,gBAAAjB,OAAA,cAACqC,SAASG,MAAI;MAAC3G,IAAG;OAChB,gBAAAmE,OAAA,cAAC8C,cAAAA;MAAajH,IAAIoG;MAAcC;MAAUW,UAAU5B;;;;;AAK9D;AAEA,IAAM6B,eAAe,CAAC,EAAEjH,IAAIqG,KAAKW,SAAQ,MAAsD;;;AAC7F,UAAM,EAAEnH,EAAC,IAAKC,gBAAe,IAAA;AAC7B,UAAMoH,UAAUC,MAAM,4BAAA;AACtB,UAAMC,QAAQC,WAAWrH,EAAAA;AACzB,WACE,gBAAAmE,OAAA,cAAAA,OAAA,UAAA,MACE,gBAAAA,OAAA,cAACc,KAAAA;MAAEC,WAAU;OAAoBrF,EAAE,uBAAuB;MAAEuC,IAAIrC,KAAKC;IAAG,CAAA,CAAA,GACxE,gBAAAmE,OAAA,cAAC0B,OAAAA;MAAIyB,MAAK;MAAQpC,WAAU;OAC1B,gBAAAf,OAAA,cAAC0B,OAAAA;MAAIyB,MAAK;MAAOpC,WAAU;OACzB,gBAAAf,OAAA,cAACoD,IAAAA;MACCC,UAAU;MACVC,iBAAgB;MAChBC,OAAM;MACNC,mBAAiBT;MACjBU,sBAAqB;MACrBC,QAAQ;OAEPxB,OAAO,OAAA,GAEV,gBAAAlC,OAAA,cAAC2D,UAAAA,MACC,gBAAA3D,OAAA,cAAC4D,OAAAA;MAAMC,MAAMZ;UAGjB,gBAAAjD,OAAA,cAAC8D,QAAAA;MAAKjI,IAAIkH;MAAShC,WAAU;OAC1BrF,EAAE,UAAA,CAAA,GAEL,gBAAAsE,OAAA,cAACC,UAAU8D,QAAM;MAACC,OAAO9B,OAAO;SAElC,gBAAAlC,OAAA,cAAC+D,SAAAA;MAAOE,SAAQ;MAAQ5F,SAASwE;OAC9BnH,EAAE,cAAA,CAAA,CAAA;;;;AAIX;AAEA,IAAMiH,qBAAqB,CAAC,EAAE9G,IAAI+G,MAAMC,SAAQ,MAAuD;;;AACrG,UAAM,EAAEnH,EAAC,IAAKC,gBAAe,IAAA;AAC7B,UAAMsH,QAAQC,WAAWrH,EAAAA;AAEzB,WACE,gBAAAmE,OAAA,cAAAA,OAAA,UAAA,MACE,gBAAAA,OAAA,cAACc,KAAAA;MAAEC,WAAU;OAAoBrF,EAAE,iCAAA,CAAA,GAClCuH,SAAS,gBAAAjD,OAAA,cAAC4D,OAAAA;MAAMC,MAAMZ;MAAOlC,WAAU;QACxC,gBAAAf,OAAA,cAACc,KAAAA;MAAEC,WAAU;OAAoBrF,EAAE,mBAAA,CAAA,GACnC,gBAAAsE,OAAA,cAACkE,UAAAA;MAAStB;MAAYuB,OAAAA;MAAM9D,YAAW;QACvC,gBAAAL,OAAA,cAAC+D,SAAAA;MAAOE,SAAQ;MAAQ5F,SAASwE;OAC9BnH,EAAE,cAAA,CAAA,CAAA;;;;AAIX;AAEA,IAAM+G,qBAAqB,CAAC,EAAEC,YAAW,MAA2B;;;AAClE,WAAOA,cAAc,IACnB,gBAAA1C,OAAA,cAACoE,OAAAA;MAAKjG,MAAK;MAAqBkG,MAAM;MAAGhE,YAAW;SAEpD,gBAAAL,OAAA,cAACoE,OAAAA;MAAKjG,MAAK;MAAiBkG,MAAM;MAAGhE,YAAW;;;;;AAEpD;;;;ACxRA,OAAOiE,YAAW;AAElB,SAASC,YAAAA,iBAAgB;AAEzB,SAASC,aAAAA,kBAAiB;AAC1B,SAASC,cAAcC,QAAAA,OAAMC,qBAAAA,oBAAmBC,kBAAAA,uBAAsB;AAK/D,IAAMC,aAAa,CAAC,EAAEC,OAAM,MAAuB;;;AACxD,UAAM,EAAEC,EAAC,IAAKC,gBAAeC,KAAKC,EAAE;AACpC,UAAMC,SAASC,WAAAA;AACf,UAAMC,QAAQC,UAASR,MAAAA;AACvB,UAAMS,YAAYF,QAAQG,oBAAoBH,OAAO;MAAEI,UAAUN,OAAOO,OAAOC,YAAYN;IAAM,CAAA,IAAK;AACtG,WAAOA,QACL,gBAAAO,OAAA,cAAAA,OAAA,UAAA,MACE,gBAAAA,OAAA,cAACC,aAAaC,WAAS,IAAA,GACvB,gBAAAF,OAAA,cAACC,aAAaE,YAAU,MAAEhB,EAAE,mBAAA,CAAA,GAC5B,gBAAAa,OAAA,cAACI,MAAAA;MAAGC,WAAU;OACZ,gBAAAL,OAAA,cAACM,MAAAA;MAAGD,WAAU;OAAsElB,EAAE,gBAAA,CAAA,GACtF,gBAAAa,OAAA,cAACO,MAAAA;MAAGF,WAAU;OACZ,gBAAAL,OAAA,cAACQ,OAAAA;MAAKC,MAAK;MAAsBC,YAAW;QAC3CC,mBAAkBhB,WAAWR,CAAAA,CAAAA,CAAAA,CAAAA,IAIlC;;;;AACN;;;;AC5BA,OAAOyB,WAASC,WAAAA,gBAAe;AAE/B,SAASC,eAAe;AAExB,SAASC,aAAAA,YAAWC,eAAe;AACnC,SAASC,aAAAA,kBAAiB;;;;ACL1B,OAAOC,UAAiCC,UAAAA,eAAc;AAGtD,SAASC,SAAAA,QAA6BC,kBAAAA,uBAAsB;AAUrD,IAAMC,qBAAqB,CAAC,EAAEC,YAAYC,UAAUC,OAAM,MAA2B;;;AAC1F,UAAM,EAAEC,EAAC,IAAKC,gBAAeC,KAAKC,EAAE;AACpC,UAAMC,WAAWC,QAAyB,IAAA;AAK1C,WACE,gBAAAC,OAAA,cAAAA,OAAA,UAAA,MACE,gBAAAA,OAAA,cAACC,OAAMC,MAAI,MACT,gBAAAF,OAAA,cAACC,OAAME,OAAK,MAAET,EAAE,YAAA,CAAA,GAChB,gBAAAM,OAAA,cAACC,OAAMG,WAAS;MACdC,KAAKP;MACLQ,aAAaZ,EAAE,kBAAA;;MAEfa,OAAQd,OAAee,QAAQ;MAC/BC,UAAU,CAACC,UAAAA;AACRjB,eAAee,OAAOE,MAAMC,OAAOJ;MACtC;MACAK,WAAW,CAACF,UAAAA;AACV,YAAIA,MAAMG,QAAQ,SAAS;AACzBf,mBAASgB,SAASC,KAAAA;QACpB;MACF;SAGHvB,QAAAA;;;;AAGP;;;AD5BO,IAAMwB,0BAA0B,CAAC,EAAEC,QAAQC,KAAI,MAAgC;;;AACpF,UAAMC,OAAOC,SAAQ,OAAO;MAAEC,SAASJ;IAAO,IAAI;MAACA;KAAO;AAE1D,WACE,gBAAAK,QAAA,cAACC,WAAUC,UAAQ,MACjB,gBAAAF,QAAA,cAACG,WAAUC,SAAO;MAACC,SAAAA;OACjB,gBAAAL,QAAA,cAACM,QAAQC,MAAI,IAAA,GACb,gBAAAP,QAAA,cAACQ,OAAAA;MAAIZ,MAAK;MAAOa,WAAU;OACzB,gBAAAT,QAAA,cAACU,oBAAAA;MAAmBf;OAClB,gBAAAK,QAAA,cAACW,SAAAA;MAAQf,MAAK;MAAuBC;SAEvC,gBAAAG,QAAA,cAACW,SAAAA;MAAQf,MAAK;MAAkBC;;;;;AAO1C;;;;AEhCA,OAAOe,WAASC,aAAAA,YAAWC,YAAAA,iBAAgB;AAE3C,SAASC,gBAAgB;AAEzB,SAASC,QAAAA,OAAMC,SAASC,kBAAAA,wBAAsB;AAC9C,SAASC,IAAIC,uBAAuBC,mBAAmB;AAWhD,IAAMC,oBAAoB,CAAC,EAAEC,GAAE,MAAwB;;;AAC5D,UAAM,EAAEC,EAAC,IAAKC,iBAAeC,KAAKC,EAAE;AACpC,UAAM,CAACC,gBAAgBC,iBAAAA,IAAqBC,UAAS,KAAA;AACrD,UAAM,CAACC,QAAQC,gBAAAA,IAAoBF,UAAAA,CAAAA;AACnC,UAAM,CAACG,YAAYC,aAAAA,IAAiBJ,UAAAA,CAAAA;AACpC,UAAMK,aAAaC,SAASJ,kBAAkB,GAAA;AAe9CK,IAAAA,WAAU,MAAA;AAERH,oBAAcH,MAAAA;AAEd,UAAIE,eAAeF,UAAUA,WAAAA,GAAqC;AAChEF,0BAAkB,IAAA;AAClB,cAAMS,UAAUC,WAAW,MAAMV,kBAAkB,KAAA,GAAQ,GAAA;AAC3D,eAAO,MAAMW,aAAaF,OAAAA;MAC5B;IACF,GAAG;MAACP;KAAO;AAEX,YAAQA,QAAAA;MACN,KAAA;AACE,eACE,gBAAAU,QAAA,cAACC,OAAAA;UAAIC,WAAU;WACb,gBAAAF,QAAA,cAACG,OAAAA;UAAKC,MAAK;UAAuBC,MAAM;UAAGC,YAAW;YACtD,gBAAAN,QAAA,cAACO,QAAAA;UAAKL,WAAWM,GAAG,WAAWC,WAAAA;WAAe1B,EAAE,yBAAA,CAAA,CAAA;MAGtD,KAAA;AACE,eACE,gBAAAiB,QAAA,cAACC,OAAAA;UAAIC,WAAU;WACb,gBAAAF,QAAA,cAACG,OAAAA;UAAKC,MAAK;UAAwCC,MAAM;UAAGC,YAAW;YACvE,gBAAAN,QAAA,cAACO,QAAAA;UAAKL,WAAWM,GAAG,WAAWE,qBAAAA;WAAyB3B,EAAE,2BAAA,CAAA,CAAA;MAGhE,KAAA;MACA;AACE,eACE,gBAAAiB,QAAA,cAACW,QAAQC,SAAO;UACdC,eAAe;UACfC,MAAK;UACLC,SAAShC,EAAE,2BAAA;UACXmB,WAAU;WAEV,gBAAAF,QAAA,cAACG,OAAAA;UAAKC,MAAK;UAA4BC,MAAM;UAAGC,YAAW;YAC1DnB,kBACC,gBAAAa,QAAA,cAACO,QAAAA;UAAKL,WAAWM,GAAG,WAAWE,qBAAAA;WAAyB3B,EAAE,yBAAA,CAAA,CAAA;IAIpE;;;;AACF;;;;AC9EA,OAAOiC,WAASC,eAAAA,cAAaC,UAAAA,SAAQC,YAAAA,iBAAgB;AAErD,SAASC,gBAAAA,eAAcC,gBAAAA,eAAcC,uBAAAA,4BAA2B;AAChE,SAASC,OAAAA,YAAW;AAEpB,SAASC,OAAAA,YAAW;AACpB,SAASC,UAAAA,SAAQC,SAAAA,QAAOC,kBAAAA,wBAAsB;;AAIvC,IAAMC,wBAAwB,GAAGC,KAAKC,EAAE;AAExC,IAAMC,sBAAsB,CAAC,EAAEC,OAAM,MAAyB;;;AACnE,UAAM,EAAEC,EAAC,IAAKC,iBAAeL,KAAKC,EAAE;AACpC,UAAMK,aAAaC,QAA0B,IAAA;AAC7C,UAAM,CAACC,MAAMC,OAAAA,IAAWC,UAASC,KAAIC,SAAST,MAAAA,CAAAA;AAC9C,UAAM,EAAEU,iBAAiBC,SAAQ,IAAKC,qBAAAA;AAEtC,UAAMC,aAAaC,aAAY,MAAA;AAC7B,UAAI;AACFT,gBAAQG,KAAIO,SAASf,QAAQK,IAAAA;MAC/B,SAASW,KAAK;AACZC,QAAAA,KAAIC,MAAM,2BAA2B;UAAEF;QAAI,GAAA;;;;;;MAC7C;AACA,WAAKL,SACHQ,cAAaC,cAAaC,eAAe;QACvCC,MAAM;QACNC,SAAS;UAAEC,SAAS;UAASC,UAAU;UAAIC,OAAO;QAAM;MAC1D,CAAA,CAAA;IAEJ,GAAG;MAAC1B;MAAQK;KAAK;AAEjB,WACE,gBAAAsB,QAAA,cAACC,OAAAA;MAAIC,MAAK;MAAOC,WAAU;OACzB,gBAAAH,QAAA,cAACC,OAAAA;MAAIC,MAAK;MAAOC,WAAU;OACzB,gBAAAH,QAAA,cAACI,OAAMC,MAAI,MACT,gBAAAL,QAAA,cAACI,OAAME,OAAK;MAACC,QAAAA;OAAQjC,EAAE,mBAAA,CAAA,GACvB,gBAAA0B,QAAA,cAACI,OAAMI,WAAS;MACdC,aAAanC,EAAE,oBAAA;MACfoC,OAAOhC;MACPiC,eAAY;MACZC,UAAU,CAAC,EAAEC,QAAQ,EAAEH,MAAK,EAAE,MAAO/B,QAAQ+B,KAAAA;MAC7CI,WAAW,CAAC,EAAEC,IAAG,MAAOA,QAAQ,WAAWvC,WAAWwC,SAASC,MAAAA;UAIrE,gBAAAjB,QAAA,cAACkB,SAAAA;MAAOC,KAAK3C;MAAY4C,YAAW;MAAeC,SAASnC;OACzDZ,EAAE,cAAc;MAAEgD,IAAI;IAAK,CAAA,CAAA,CAAA;;;;AAIpC;;;;ACnDA,OAAOC,WAASC,eAAAA,cAAaC,UAAAA,SAAQC,YAAAA,iBAAgB;AAErD,SAASC,gBAAAA,eAAcC,gBAAAA,eAAcC,uBAAAA,4BAA2B;AAEhE,SAASC,UAAAA,SAAQC,SAAAA,QAAOC,SAASC,kBAAAA,wBAAsB;AAIhD,IAAMC,uBAAuB,GAAGC,KAAKC,EAAE;AAEvC,IAAMC,qBAAqB,CAAC,EAAEC,MAAK,MAAoB;;;AAC5D,UAAM,EAAEC,EAAC,IAAKC,iBAAeL,KAAKC,EAAE;AACpC,UAAMK,aAAaC,QAA0B,IAAA;AAC7C,UAAM,CAACC,MAAMC,OAAAA,IAAWC,UAASP,MAAMQ,WAAWH,QAAQ,EAAA;AAC1D,UAAM,EAAEI,iBAAiBC,SAAQ,IAAKC,qBAAAA;AAEtC,UAAMC,aAAaC,aAAY,MAAA;AAC7Bb,YAAMQ,WAAWH,OAAOA;AACxB,WAAKK,SACHI,cAAaC,cAAaC,eAAe;QACvCC,MAAM;QACNC,SAAS;UAAEC,SAAS;UAASC,UAAU;UAAIC,OAAO;QAAM;MAC1D,CAAA,CAAA;IAEJ,GAAG;MAACrB;MAAOK;KAAK;AAGhB,WACE,gBAAAiB,QAAA,cAACC,OAAAA;MAAIC,MAAK;MAAOC,WAAU;OACzB,gBAAAH,QAAA,cAACC,OAAAA;MAAIC,MAAK;MAAOC,WAAU;OACzB,gBAAAH,QAAA,cAACI,OAAMC,MAAI,MACT,gBAAAL,QAAA,cAACI,OAAME,OAAK;MAACC,QAAAA;OAAQ5B,EAAE,kBAAA,CAAA,GACvB,gBAAAqB,QAAA,cAACI,OAAMI,WAAS;MACdC,cAAc/B,MAAMQ,WAAWH,QAAQ;MACvC2B,aAAa/B,EAAE,qBAAA;MACfgC,UAAU,CAAC,EAAEC,QAAQ,EAAEC,MAAK,EAAE,MAAO7B,QAAQ6B,KAAAA;;;MAG7CC,WAAW,CAAC,EAAEC,IAAG,MAAOA,QAAQ,WAAWlC,WAAWmC,SAASC,MAAAA;UAIrE,gBAAAjB,QAAA,cAACkB,QAAQC,OAAK;MAACC,SAAAA;OACb,gBAAApB,QAAA,cAACqB,SAAAA;MAAOC,KAAKzC;MAAY0C,YAAW;MAAeC,SAASlC;OACzDX,EAAE,cAAc;MAAE8C,IAAI;IAAK,CAAA,CAAA,CAAA,CAAA;;;;AAKtC;;;;ACjDA,OAAOC,WAASC,aAAAA,YAAWC,YAAAA,iBAAgB;AAI3C,SAASC,kBAAAA,wBAAsB;AAC/B,SAASC,eAAAA,cAAaC,kBAAAA,iBAAgBC,0BAA0B;AAChE,SAASC,aAAAA,kBAAiB;AAanB,IAAMC,uBAAuB,CAACC,UAAAA;AACnC,QAAM,CAACC,SAASC,UAAAA,IAAcC,UAAwB,CAAA,CAAE;AAExDC,EAAAA,WAAU,MAAA;AACR,UAAMC,QAAQL,MAAMM,GAAGC,eAAeF,MAAK;AAC3C,UAAMG,iBAAiBH,MAAMI,QAAO;AACpCP,eAAWM,cAAAA;AAEX,UAAME,cAAcL,MAAMM,UAAU,MAAMT,WAAWG,MAAMO,OAAO,CAAA;AAClE,WAAO,MAAMF,YAAAA;EACf,GAAG;IAACV;GAAM;AAEV,SAAOC;AACT;AAEO,IAAMY,kBAAkB,CAAC,EAAEb,MAAK,MAAoB;;;AACzD,UAAM,EAAEc,EAAC,IAAKC,iBAAeC,KAAKC,EAAE;AACpC,UAAMhB,UAAUF,qBAAqBC,KAAAA;AAErC,WACE,gBAAAkB,QAAA,cAACC,WAAUC,SAAO;MAACC,YAAW;OAC5B,gBAAAH,QAAA,cAACI,cAAAA,MACC,gBAAAJ,QAAA,cAACK,iBAAAA;MAAeC,OAAOV,EAAE,sBAAA;MAAyBW,aAAaX,EAAE,oBAAA;OAC/D,gBAAAI,QAAA,cAACQ,OAAAA;MAAIC,MAAK;MAAOC,WAAWC;OACzB5B,QAAQ6B,WAAW,KAAK,gBAAAZ,QAAA,cAACQ,OAAAA;MAAIE,WAAU;OAAqBd,EAAE,0BAAA,CAAA,GAC9Db,QAAQ8B,IAAI,CAACC,WACZ,gBAAAd,QAAA,cAACQ,OAAAA;MAAIO,KAAKD,OAAOf;OACf,gBAAAC,QAAA,cAACQ,OAAAA,MAAKM,OAAOE,QAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;;;AAQrC;;;;ACtDA,SAASC,UAAAA,eAAc;AACvB,OAAOC,WAASC,YAAYC,eAAAA,cAAaC,aAAAA,YAAWC,YAAAA,iBAAgB;AAEpE,SAASC,eAAAA,cAAaC,qBAAqB;AAC3C,SAASC,oBAAoB;AAE7B,SAASC,WAAWC,aAAAA,kBAAiB;AACrC,SAA2BC,oBAAAA,mBAAkBC,YAAAA,WAAUC,kBAAkB;AACzE,SAAwBC,mBAAmB;AAC3C,SACEC,QAGAC,MACAC,UACAC,WAAAA,UAGAC,WAAAA,UACAC,mBAAAA,kBACAC,kBAAAA,wBACK;AACP,SAASC,gBAA0CC,aAAaC,oBAAoB;AACpF,SAASC,YAAYC,qBAAqB;AAQ1C,IAAMC,mBAAmB;AACzB,IAAMC,oBAAoB;AAG1B,IAAMC,YAAY,IAAIC,WAAyCC,UAAUC,IAAI;AAG7E,IAAMC,UAAU,CAACC,aAAuBA,SAASC,SAASC,eAAeC,aAAaH,SAASI,YAAYC,MAAK,CAAA;AAEzG,IAAMC,gBAAgB,CAAC,EAAEC,QAAQC,SAAQ,MAAkD;;;AAEhG,UAAMC,aAAaC,cAAcC,kBAAkBC,YAAY;AAC/D,UAAMC,SAASC,WAAAA;AACf,UAAMd,WAAWe,YAAAA;AACjB,UAAMC,QAAQR,WAAWK,OAAOI,OAAOC,IAAIV,QAAAA,IAAYW,UAASZ,MAAAA;AAChE,UAAMa,eAAeC,WAAWL,OAAOM,GAAAA;AAEvC,UAAM,CAACC,SAASC,SAAAA,IAAaC,UAASC,KAAKC,IAAG,CAAA;AAG9CC,IAAAA,WAAU,MAAA;AACR,YAAMC,WAAWC,YAAY,MAAMN,UAAUE,KAAKC,IAAG,CAAA,GAAKlC,gBAAAA;AAC1D,aAAO,MAAMsC,cAAcF,QAAAA;IAC7B,GAAG,CAAA,CAAE;AAEL,UAAMG,eAAeC,aAAY,CAACC,WAAwBA,OAAOC,aAAa,GAAG,CAAA,CAAE;AACnF,UAAMC,kBAAkBH,aACtB,CAACC,WAAwB,CAAClC,UAAUI,YAAYiC,OAAOH,OAAOlC,SAASI,WAAW,GAClF;MAACJ,UAAUI;KAAY;AAKzB,QAAI,CAACJ,YAAY,CAACS,cAAc,CAACO,OAAO;AACtC,aAAO;IACT;AAEA,UAAMsB,uBAAuB7B,WAAW8B,gBAAgBC,kBAAiBjC,MAAAA,CAAAA,KAAYZ;AAErF,UAAM8C,mBAAmBrB,aACtBsB,OAAO,CAACR,WAAWF,aAAaE,MAAAA,KAAWE,gBAAgBF,MAAAA,CAAAA,EAC3DQ,OAAO,CAACR,WAAWI,qBAAqBK,IAAIT,OAAOlC,SAASI,WAAW,CAAA,EACvEwC,IAAI,CAACV,WAAAA;AACJ,YAAMW,aAAaP,qBAAqBpB,IAAIgB,OAAOlC,SAASI,WAAW;AACvE,YAAM0C,WAAWD,YAAYC,YAAY;AACzC,YAAMC,oBAAoBF,YAAYE,qBAAqB;AAE3D,aAAO;QACL,GAAGb;QACHa;QACAD;MACF;IACF,CAAA,EACCE,SAAS,CAACC,GAAGC,MAAMD,EAAEH,WAAWI,EAAEJ,QAAQ;AAE7C,WAAO,gBAAAK,QAAA,cAACC,cAAAA;MAAaC,SAASZ;;;;;AAChC;AAiBO,IAAMW,eAAe,CAACE,UAAAA;;;AAC3B,UAAM,EAAEC,OAAO,GAAGC,cAAa,IAAKF;AACpC,UAAMD,UAAUI,iBAAgBH,MAAMD,SAAS,MAAM,CAAA,CAAE;AAEvD,QAAIA,QAAQK,WAAW,GAAG;AACxB,aAAO;IACT;AAEA,WACE,gBAAAP,QAAA,cAACQ,OAAAA;MAAIC,WAAU;MAAkBC,eAAY;OAC1CR,QAAQS,MAAM,GAAG,CAAA,EAAGlB,IAAI,CAACV,QAAQ6B,MAChC,gBAAAZ,QAAA,cAACa,SAAQC,SAAO;MACd3C,KAAKY,OAAOlC,SAASI,YAAYC,MAAK;MACtC6D,MAAK;MACLC,SAASpE,QAAQmC,OAAOlC,QAAQ;MAChC4D,WAAU;OAEV,gBAAAT,QAAA,cAACiB,gBAAAA;MACCpE,UAAUkC,OAAOlC;MACjBqE,OAAOnC,OAAOa;MACduB,OAAOjB,QAAQK,SAASK;MACxBQ,SAAS,MAAMf,gBAAgBtB,MAAAA;MAC/BqB;UAKLF,QAAQK,SAAS,KAChB,gBAAAP,QAAA,cAACqB,SAAQC,MAAI,MACX,gBAAAtB,QAAA,cAACqB,SAAQP,SAAO;MAACL,WAAU;OACzB,gBAAAT,QAAA,cAACuB,OAAOD,MAAI,MAEV,gBAAAtB,QAAA,cAACuB,OAAOC,SAAO;MACbC,QAAO;MACPC,OAAO;QAAEC,QAAQzB,QAAQK,SAAS;MAAE;MACpCqB,UAAU,IAAI1B,QAAQK,SAAS,CAAA;MAC/BH;UAIN,gBAAAJ,QAAA,cAACqB,SAAQQ,QAAM,MACb,gBAAA7B,QAAA,cAACqB,SAAQG,SAAO;MAACT,MAAK;OACpB,gBAAAf,QAAA,cAACqB,SAAQS,OAAK,IAAA,GACd,gBAAA9B,QAAA,cAACqB,SAAQU,UAAQ;MAACC,YAAW;OAC3B,gBAAAhC,QAAA,cAACiC,MAAAA,MACE/B,QAAQT,IAAI,CAACV,WACZ,gBAAAiB,QAAA,cAACkC,SAASZ,MAAI;MACZnD,KAAKY,OAAOlC,SAASI,YAAYC,MAAK;MACtC8E,YAAW;MACXZ,SAAS,MAAMf,gBAAgBtB,MAAAA;MAC/B2B,eAAY;OAGZ,gBAAAV,QAAA,cAACiB,gBAAAA;MACCpE,UAAUkC,OAAOlC;MACjBuD;MACA+B,UAAAA;MACAjB,OAAOnC,OAAOa;;;;;AAYtC;AAUA,IAAMqB,iBAAiBmB,2BACrB,CAAC,EAAEvF,UAAUsF,UAAUjB,OAAOC,OAAOC,SAAShB,KAAI,GAAIiC,iBAAAA;;;AACpD,UAAMZ,SAASP,QAAQ,YAAY;AACnC,UAAMoB,gBAAgBC,cAAc1F,SAASI,WAAW;AACxD,WACE,gBAAA+C,QAAA,cAACuB,OAAOD,MAAI,MACV,gBAAAtB,QAAA,cAACuB,OAAOC,SAAO;MACbC;MACAe,KAAK3F,SAASC,SAAS2F,MAAMD,OAAOF,cAAcE;MAClD9B,eAAY;MACZgC,eAAajB;MACbrB;MACC,GAAIe,QAAQ;QAAEO,OAAO;UAAEC,QAAQR;QAAM;MAAE,IAAI,CAAC;MAC7CC;MACAQ,UAAU/E,SAASC,SAAS2F,MAAME,SAASL,cAAcK;MACzDC,KAAKP;QAEP,gBAAArC,QAAA,cAACuB,OAAOsB,OAAK;MAACb,YAAYG,WAAW,2BAA2B;OAAYvF,QAAQC,QAAAA,CAAAA,CAAAA;;;;AAG1F,CAAA;AASK,IAAMiG,oBAAoB,CAAC,EAAEC,IAAIC,MAAMC,QAAO,MAA0B;;;AAC7E,UAAM,EAAEC,cAAcC,YAAYC,UAAS,IAAKC,aAAaN,EAAAA;AAC7D,UAAMO,aAAaJ,gBAAgBC,cAAcC;AAKjD,UAAM,EAAEG,MAAK,IAAKC,aAAAA;AAClB,UAAMC,WAAWC,YAAAA;AACjB,UAAMC,mBAAmBF,SAASG,GAAG,EAAC;AACtC,UAAMC,OAAOC,QAAQP,OAAOI,gBAAAA;AAC5B,UAAMI,mBAAmB,CAACf,QAAQ,CAACM,cAAcP,MAAMiB,QAAOC,OAAOJ,IAAAA,IAAQA,KAAKK,MAAMC,SAASpB,EAAAA,IAAM;AAEvG,UAAMqB,mBAAmB,CAACnB,aAAAA;AACxB,YAAMoB,SAAS9F,KAAKC,IAAG;AACvB,aAAO8F,MAAMC,KAAwBtB,SAAQuB,OAAM,CAAA,EAAIjF,OACrD,CAACkF,WAAWJ,SAASI,OAAO9E,WAAWpD,iBAAAA;IAE3C;AAEA,UAAM,CAACmI,eAAeC,gBAAAA,IAAoBrG,UAAS2E,UAAUmB,iBAAiBnB,OAAAA,IAAW,CAAA,CAAE;AAE3FxE,IAAAA,WAAU,MAAA;AACR,UAAIwE,SAAS;AACX0B,yBAAiBP,iBAAiBnB,OAAAA,CAAAA;AAClC,cAAMvE,WAAWC,YAAY,MAAA;AAC3BgG,2BAAiBP,iBAAiBnB,OAAAA,CAAAA;QACpC,GAAG3G,gBAAAA;AACH,eAAO,MAAMsC,cAAcF,QAAAA;MAC7B;IACF,GAAG;MAACuE;KAAQ;AAEZ,WAAO,gBAAAjD,QAAA,cAAC4E,eAAAA;MAAcC,OAAOH,cAAcnE;MAAQkD,UAAUH;MAAYS;;;;;AAC3E;AAMO,IAAMa,gBAAgB,CAAC,EAAEC,QAAQ,GAAGpB,UAAUM,iBAAgB,MAAsB;;;AACzF,UAAM,EAAEe,EAAC,IAAKC,iBAAeC,KAAKjC,EAAE;AAEpC,WACE,gBAAA/C,QAAA,cAACa,SAAQC,SAAO;MAACmE,SAAAA;MAAQjE,SAAS8D,EAAE,kBAAkB;QAAED;MAAM,CAAA;MAAI9D,MAAK;OACrE,gBAAAf,QAAA,cAACkF,gBAAAA;MACCzB;MACAM;MACA/E,UAAU6F,QAAQ,IAAI,SAASA,UAAU,IAAI,QAAQ;MACrD7C,YAAW;;;;;AAInB;;;;ACxQA,OAAOmD,aAAW;AAElB,SAASC,gBAAAA,eAAcC,uBAAAA,4BAA2B;AAClD,SAASC,aAAAA,kBAAiB;AAC1B,SAASC,aAAAA,kBAAiB;AAC1B,SAASC,YAAYC,SAAAA,QAAOC,QAAAA,OAAMC,YAAAA,WAAUC,qBAAAA,oBAAmBC,kBAAAA,wBAAsB;AACrF,SAASC,cAAcC,oBAAAA,mBAAkBC,eAAAA,cAAaC,kBAAAA,iBAAgBC,sBAAAA,2BAA0B;AAMzF,IAAMC,sBAAsB,CAAC,EAAEC,SAAQ,MAAoC;;;AAChF,UAAM,EAAEC,EAAC,IAAKC,iBAAeC,KAAKC,EAAE;AACpC,UAAMC,SAASC,WAAAA;AACf,UAAMC,SAASC,WAAU;MAAEC,KAAKT,SAASU;IAAW,CAAA;AACpD,UAAM,EAAEC,iBAAiBC,SAAQ,IAAKC,qBAAAA;AAEtC,WACE,gBAAAC,QAAA,cAACC,cAAAA,MACC,gBAAAD,QAAA,cAACE,iBAAAA;MAAeC,OAAOhB,EAAE,sBAAA;MAAyBiB,aAAajB,EAAE,4BAAA;OAC/D,gBAAAa,QAAA,cAACK,cAAAA,MACC,gBAAAL,QAAA,cAACM,mBAAAA;MAAiBH,OAAOhB,EAAE,0BAAA;OACzB,gBAAAa,QAAA,cAACO,OAAMC,QAAM;MACXC,SAASvB,SAASU;MAClBc,iBAAiB,CAACD,YAAavB,SAASU,aAAa,CAAC,CAACa;UAI7D,gBAAAT,QAAA,cAACW,OAAAA;MAAKC,YAAY;QAACC;QAAoB;;OACpCpB,OAAOqB,IAAI,CAACC,UACX,gBAAAf,QAAA,cAACgB,UAASC,MAAI;MAACC,KAAKH,MAAMzB;MAAIsB,YAAW;OAEvC,gBAAAZ,QAAA,cAACgB,UAASG,SAAO;MAACP,YAAW;OAC1BQ,mBAAkBC,oBAAoBN,OAAO;MAAEO,UAAUP,UAAUxB,OAAOE,OAAO8B;IAAQ,CAAA,GAAIpC,CAAAA,CAAAA,GAEhG,gBAAAa,QAAA,cAACwB,YAAAA;MACCC,MAAK;MACLC,SAAS,MAAM5B,SAAS6B,cAAaC,YAAYC,cAAc;QAAEd;MAAM,CAAA,CAAA;MACvEe,OAAO3C,EAAE,2BAAA;;;;;AAQzB;;;;AC/CA,SAAS4C,QAAQC,QAAAA,aAAY;AAC7B,OAAOC,WAA2BC,eAAAA,eAAaC,WAAAA,UAASC,YAAAA,iBAAgB;AAExE,SAASC,gBAAAA,eAAcC,SAAAA,QAAOC,gBAAAA,eAAcC,uBAAAA,4BAA2B;AACvE,SAASC,OAAAA,YAAW;AACpB,SAASC,8BAA8B;AACvC,SAASC,aAAAA,kBAAiB;AAC1B,SAAqBC,cAAAA,mBAAkB;AACvC,SAASC,UAAAA,SAAQC,SAAAA,QAAOC,wBAAwBC,kBAAAA,wBAAsB;AACtE,SACEC,aACAC,oBAAAA,mBACAC,eAAAA,cACAC,kBAAAA,iBACAC,QAAAA,aAEK;AACP,SAASC,WAAWC,kBAAkB;AACtC,SAASC,aAAAA,kBAAiB;;AAK1B,IAAMC,aAAaC,UAAUC,KAC3BC,OAAOC,OAAOD,OAAOE,OAAO;EAAEC,UAAUH,OAAOI,QAAQC,YAAY;IAAEC,OAAO;EAAgB,CAAA;AAAG,CAAA,CAAA,CAAA;AAQ1F,IAAMC,yBAAyB,CAAC,EAAEC,MAAK,MAA+B;;;AAC3E,UAAM,EAAEC,EAAC,IAAKC,iBAAeC,KAAKC,EAAE;AACpC,UAAM,EAAEC,iBAAiBC,SAAQ,IAAKC,qBAAAA;AACtC,UAAMC,SAASC,WAAAA;AACf,UAAMd,WAAWe,uBAAuBV,MAAMW,KAAK,MAAMC,YAAWC;AACpE,UAAM,CAACC,iBAAiBC,kBAAAA,IAAsBC,UAC5ChB,MAAMiB,SAASC,KAAKJ,oBAAoBK,uBAAuBC,OAAO;AAExE,UAAMC,wBAAwBC,cAC5B,OAAOC,SAAAA;AACLR,yBAAmBQ,IAAAA;AACnB,YAAMvB,OAAOiB,SACVO,6BAA6BD,OAAOJ,uBAAuBC,UAAUD,uBAAuBM,QAAQ,EACpGC,MAAM,CAACC,QAAAA;AACNC,QAAAA,KAAIF,MAAMC,KAAAA,QAAAA;;;;;;AACVZ,2BAAmB,CAACQ,IAAAA;MACtB,CAAA;IACJ,GACA;MAACvB;KAAM;AAGT,UAAM6B,aAAaP,cACjB,CAACQ,eAAAA;AACC,WAAKT,sBAAsBS,WAAWhB,eAAe;AACrD,UAAIgB,WAAWC,SAAS/B,MAAM8B,WAAWC,MAAM;AAC7C/B,cAAM8B,WAAWC,OAAOD,WAAWC;MACrC;AACA,UAAID,WAAWE,SAAShC,MAAM8B,WAAWE,MAAM;AAC7ChC,cAAM8B,WAAWE,OAAOF,WAAWE;MACrC;AACA,UAAIF,WAAWG,QAAQjC,MAAM8B,WAAWG,KAAK;AAC3CjC,cAAM8B,WAAWG,MAAMH,WAAWG;MACpC;AACA,UAAIH,WAAWnC,YAAY,CAACA,UAAU;AACpC,aAAKW,SACHf,MACE2C,cAAaC,YAAYC,OAAO;UAAEpC;QAAM,CAAA,GACxCqC,OAAMC,cAAaC,iBAAiB;UAAEC,MAAM;UAAaC,SAASjC,OAAOkC,OAAOC,QAAQvC;QAAG,CAAA,CAAA,CAAA;MAGjG,WAAW,CAAC0B,WAAWnC,YAAYA,UAAU;AAC3C,aAAKW,SAAS4B,cAAaC,YAAYS,MAAM;UAAE5C;QAAM,CAAA,CAAA;MACvD;IACF,GACA;MAACA;MAAOqB;MAAuB1B;KAAS;AAG1C,UAAMkD,SAASC,SACb,OAAO;MACLf,MAAM/B,MAAM8B,WAAWC;MACvBC,MAAMhC,MAAM8B,WAAWE;MACvBC,KAAKjC,MAAM8B,WAAWG;MACtBnB;MACAnB;IACF,IACA;MAACK,MAAM8B,WAAWC;MAAM/B,MAAM8B,WAAWE;MAAMhC,MAAM8B,WAAWG;MAAKnB;MAAiBnB;KAAS;AAGjG,UAAMoD,iBAA0DD,SAC9D,OAAO;MACLf,MAAM,CAAC,EAAEiB,MAAMC,OAAOC,UAAUC,cAAa,MAAE;AAC7C,cAAMC,eAAe9B,cACnB,CAAC,EAAE+B,QAAQ,EAAEC,MAAK,EAAE,MAAsCH,cAAcH,MAAMM,KAAAA,GAC9E;UAACH;UAAeH;SAAK;AAEvB,eACE,gBAAAO,QAAA,cAACC,mBAAAA;UAAiB1D,OAAOmD;UAAOQ,aAAaxD,EAAE,0BAAA;WAC7C,gBAAAsD,QAAA,cAACG,OAAMC,WAAS;UACdL,OAAOJ,SAAAA;UACPU,UAAUR;UACVS,aAAa5D,EAAE,gCAAA;UACf6D,YAAW;;MAInB;MACA9B,MAAM,CAAC,EAAEgB,MAAMC,OAAOC,UAAUC,cAAa,MAAE;AAC7C,cAAMC,eAAe9B,cAAY,CAACU,SAAiBmB,cAAcH,MAAMhB,IAAAA,GAAO;UAACmB;UAAeH;SAAK;AACnG,cAAMe,cAAczC,cAAY,MAAM6B,cAAcH,MAAMgB,MAAAA,GAAY;UAACb;UAAeH;SAAK;AAC3F,eACE,gBAAAO,QAAA,cAACU,aAAAA;UAAYnE,OAAOmD;UAAOQ,aAAaxD,EAAE,kBAAA;WACxC,gBAAAsD,QAAA,cAACW,YAAAA;UACCZ,OAAOJ,SAAAA;UACPU,UAAUR;UACVe,SAASJ;UACTD,YAAW;UACXM,UAAU;;MAIlB;MACAnC,KAAK,CAAC,EAAEe,MAAMC,OAAOC,UAAUC,cAAa,MAAE;AAC5C,cAAMC,eAAe9B,cAAY,CAAC+C,YAAoBlB,cAAcH,MAAMqB,OAAAA,GAAU;UAAClB;UAAeH;SAAK;AACzG,cAAMe,cAAczC,cAAY,MAAM6B,cAAcH,MAAMgB,MAAAA,GAAY;UAACb;UAAeH;SAAK;AAC3F,eACE,gBAAAO,QAAA,cAACU,aAAAA;UAAYnE,OAAOmD;UAAOQ,aAAaxD,EAAE,iBAAA;WACxC,gBAAAsD,QAAA,cAACe,WAAAA;UACChB,OAAOJ,SAAAA;UACPU,UAAUR;UACVe,SAASJ;UACTD,YAAW;;MAInB;MACAhD,iBAAiB,CAAC,EAAEkC,MAAMC,OAAOC,UAAUC,cAAa,MAAE;AACxD,cAAMC,eAAe9B,cAAY,CAACiD,YAAqBpB,cAAcH,MAAMuB,OAAAA,GAAU;UAACpB;UAAeH;SAAK;AAC1G,eACE,gBAAAO,QAAA,cAACC,mBAAAA;UAAiB1D,OAAOmD;UAAOQ,aAAaxD,EAAE,8BAAA;WAC7C,gBAAAsD,QAAA,cAACG,OAAMc,QAAM;UAACD,SAASrB,SAAAA;UAAYuB,iBAAiBrB;UAAcU,YAAW;;MAGnF;MACAnE,UAAU,CAAC,EAAEqD,MAAMC,OAAOC,UAAUC,cAAa,MAAE;AACjD,cAAMC,eAAe9B,cAAY,MAAM6B,cAAcH,MAAM,CAACE,SAAAA,CAAAA,GAAa;UAACC;UAAeH;UAAME;SAAS;AACxG,eACE,gBAAAK,QAAA,cAACC,mBAAAA;UAAiB1D,OAAOmD;UAAOQ,aAAaxD,EAAE,2BAAA;WAC7C,gBAAAsD,QAAA,cAACmB,SAAAA;UAAOC,UAAU3E,UAAUQ,OAAOkC,OAAOC;UAASiC,SAASxB;WACzDF,SAAAA,IAAajD,EAAE,uBAAA,IAA2BA,EAAE,qBAAA,CAAA,CAAA;MAIrD;IACF,IACA;MAACA;MAAGD;KAAM;AAGZ,WACE,gBAAAuD,QAAA,cAACsB,WAAUC,SAAO;MAAChB,YAAW;OAC5B,gBAAAP,QAAA,cAACwB,cAAAA,MACC,gBAAAxB,QAAA,cAACyB,iBAAAA;MACClF,OAAOG,EAAE,2CAA2C;QAAEgF,IAAI9E,KAAKC;MAAG,CAAA;MAClEqD,aAAaxD,EAAE,yCAAyC;QAAEgF,IAAI9E,KAAKC;MAAG,CAAA;OAEtE,gBAAAmD,QAAA,cAAC2B,OAAAA;MACCC,QAAQ9F;MACRwD;MACAuC,UAAAA;MACAC,QAAQxD;MACRyD,QAAQvC;MACRwC,cAAc;MACdzB,YAAW;;;;;AAMvB;;;;ACnLA,SAAS0B,UAAAA,eAAc;AACvB,OAAOC,WAASC,aAAAA,YAAWC,YAAAA,kBAAgB;AAE3C,SAASC,eAAAA,oBAAmB;AAC5B,SAASC,kBAAkB;AAC3B,SAASC,0BAAAA,+BAA8B;AACvC,SAASC,aAAAA,kBAAiB;AAC1B,SAAqBC,yBAAyB;AAC9C,SAASC,WAAAA,UAASC,kBAAAA,wBAAsB;AACxC,SAASC,kBAAAA,iBAAgBC,eAAAA,cAAaC,gBAAAA,qBAAoB;AAK1D,IAAMC,gBAAgB,MAAA;AACpB,QAAM,CAACC,QAAQC,SAAAA,IAAaC,WAASC,WAAWC,aAAa;AAC7D,QAAMC,SAASC,WAAAA;AACfC,EAAAA,WAAU,MAAA;AACRF,WAAOG,SAASA,SAASC,kBAAkBC,gBAAAA,EAAkBC,UAAU,CAAC,EAAEX,QAAAA,QAAM,MAAE;AAChFC,gBAAUD,OAAAA;IACZ,CAAA;EACF,GAAG;IAACK;GAAO;AAEX,SAAOL;AACT;AAEO,IAAMY,mBAAmB,CAAC,EAAEC,OAAOC,KAAI,MAAoC;;;AAChF,UAAM,EAAEC,EAAC,IAAKC,iBAAeC,KAAKC,EAAE;AACpC,UAAMA,KAAKL,MAAMK;AACjB,UAAM,EAAEC,cAAcC,YAAYC,UAAS,IAAKC,cAAaJ,EAAAA;AAC7D,UAAMK,aAAaJ,gBAAgBC,cAAcC;AAKjD,UAAM,EAAEG,MAAK,IAAKC,aAAAA;AAClB,UAAMC,WAAWC,aAAAA;AACjB,UAAMC,mBAAmBF,SAASG,GAAG,EAAC;AACtC,UAAMC,OAAOC,QAAQP,OAAOI,gBAAAA;AAC5B,UAAMI,mBAAmB,CAAClB,QAAQ,CAACS,cAAcL,MAAMe,QAAOC,OAAOJ,IAAAA,IAAQA,KAAKK,MAAMC,SAASlB,EAAAA,IAAM;AAEvG,UAAMmB,kBAAkBtC,cAAAA,MAAoBI,WAAWmC;AAEvD,UAAMC,kBAAkB1B,MAAM2B,SAASC,KAAKC,oBAAoBC,wBAAuBC;AACvF,UAAMC,YAAYC,kBAAkBjC,KAAAA;AACpC,UAAMkC,UAAUV,mBAAmBE,mBAAmBM,aAAaA,UAAUG,iBAAiB;AAE9F,WACE,gBAAAC,QAAA,cAACC,SAAQC,SAAO;MAACC,SAAAA;MAAQC,SAAStC,EAAE,eAAA;MAAkBuC,MAAK;OACzD,gBAAAL,QAAA,cAACM,iBAAAA;MACCR;MACArB,UAAUH;MACVS;MACAwB,YAAW;;;;;AAInB;;;;ACzDA,OAAOC,WAASC,aAAAA,YAAWC,YAAAA,kBAAgB;AAE3C,SAASC,iBAAiB;AAC1B,SAASC,aAAAA,kBAAiB;AAC1B,SAAiCC,gBAAgBC,oBAAoB;AACrE,SAASC,QAAAA,OAAMC,kBAAAA,wBAAsB;;;ACFrC,SAASC,eAAe;;AAEjB,IAAMC,0BAA0B,CAACC,QAAgBC,OAAAA;AACtD,QAAMC,aAAyC,CAAC;AAChD,QAAMC,QAA6C,CAAC;AAEpD,QAAMC,UAAU,CAACC,WAAAA;AACf,eAAWC,SAASD,QAAQ;AAC1B,UAAIF,MAAMG,MAAMC,EAAE,GAAG;AACnB;MACF;AAEAJ,YAAMG,MAAMC,EAAE,IAAI;AAClBL,iBAAWI,MAAMC,EAAE,IAAIC,uBAAuBF,OAAO,CAACG,MAAAA;AACpDN,cAAMG,MAAMC,EAAE,IAAIE;AAClBR,WAAGS,OAAOC,OAAOR,KAAAA,EAAOS,KAAK,CAACH,OAAMA,OAAM,QAAA,IAAY,WAAW,OAAA;MACnE,CAAA;IACF;EACF;AACAT,SAAOK,OAAOQ,UAAU,CAACR,WAAAA;AACvBD,YAAQC,MAAAA;EACV,CAAA;AACAD,UAAQJ,OAAOK,OAAOS,IAAG,CAAA;AAEzB,SAAO,MAAA;AACL,eAAWC,eAAeL,OAAOC,OAAOT,UAAAA,GAAa;AACnDa,kBAAAA;IACF;EACF;AACF;AAEA,IAAMP,yBAAyB,CAACF,OAAcL,OAAAA;AAC5C,QAAMe,MAAM,IAAIlB,QAAAA,QAAAA;;;;AAEhB,OAAKQ,MAAMW,eAAc,EAAGC,KAAK,MAAA;AAC/B,QAAIF,IAAIG,UAAU;AAChB;IACF;AAEA,QAAIC,oBAAoB;AACxB,QAAIC;AACJf,UAAMgB,GAAGC,iBAAiBC,GAAGR,KAAK,CAAC,EAAES,iBAAgB,MAAE;AACrDL,0BAAoBK,iBAAiBC,SAAS;IAChD,CAAA;AACApB,UAAMgB,GAAGC,iBAAiBI,SAAS,GAAA,EAAKH,GAAGR,KAAK,MAAA;AAC9C,UAAII,mBAAmB;AACrBC,2BAAmBO;AACnB3B,WAAG,QAAA;MACL,OAAO;AACL,cAAM4B,eAAevB,MAAMgB,GAAGQ,MAAK;AACnCT,2BAAmBQ;AACnB,aAAKA,aAAaX,KAAK,MAAA;AACrB,cAAIG,qBAAqBQ,cAAc;AACrC5B,eAAG,OAAA;UACL;QACF,CAAA;MACF;IACF,CAAA;EACF,CAAA;AAEA,SAAO,MAAA;AACL,SAAKe,IAAIe,QAAO;EAClB;AACF;;;AChEO,IAAMC,YAAY,CAAC,EACxBC,SACAC,OACAC,eACAC,gBAAe,MAMhB;AACC,MAAI,CAACF,OAAO;AACV,WAAO;EACT,WAAW,CAACD,WAAWG,iBAAiB;AACtC,WAAO;EACT,WAAW,CAACH,WAAWE,eAAe;AACpC,WAAO;EACT,WAAWF,WAAW,CAACE,iBAAiB,CAACC,iBAAiB;AACxD,WAAO;EACT,OAAO;AACL,WAAO;EACT;AACF;AAEO,IAAMC,UAAU,CAACC,WAAAA;AACtB,UAAQA,QAAAA;IACN,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;IACT,KAAK;AACH,aAAO;EACX;AACF;;;AF3BA,IAAMC,uBAAuB;AAEtB,IAAMC,aAAa,MAAA;;;AACxB,UAAMC,SAASC,WAAAA;AACf,UAAMC,QAAQC,aAAAA;AACd,UAAM,CAACC,OAAOC,QAAAA,IAAYC,WAAS,IAAA;AAEnCC,IAAAA,WAAU,MAAA;AACR,aAAOC,wBAAwBR,QAAQ,CAACE,WAAAA;AACtCG,iBAASH,WAAU,OAAA;MACrB,CAAA;IACF,GAAG,CAAA,CAAE;AAEL,WAAO,gBAAAO,QAAA,cAACC,qBAAAA;MAAoBR;MAAcE;;;;;AAC5C;AAEO,IAAMM,sBAAsB,CAAC,EAAER,OAAOE,MAAK,MAAgD;;;AAChG,UAAM,EAAEO,EAAC,IAAKC,iBAAeC,KAAKC,EAAE;AACpC,UAAMC,UAAUC,eAAed,KAAAA;AAC/B,UAAMe,UAAUC,OAAOC,OAAOjB,KAAAA,EAAOkB,WAAW;AAChD,UAAMC,gBAAgBN,QAAQO,qBAAqB,KAAKP,QAAQQ,kBAAkB;AAClF,UAAMC,kBAAkBT,QAAQO,qBAAqB,KAAKP,QAAQU,iBAAiB;AACnF,UAAMC,SAASC,UAAU;MAAEV;MAASb;MAAOiB;MAAeG;IAAgB,CAAA;AAE1E,UAAM,CAACI,YAAYC,aAAAA,IAAiBvB,WAAAA;AACpCC,IAAAA,WAAU,MAAA;AACRsB,oBAAcC,MAAAA;AACd,UAAIb,WAAY,CAACI,iBAAiB,CAACG,iBAAkB;AACnD;MACF;AAEA,YAAMb,KAAIoB,WAAW,MAAA;AAEnBF,sBAAc,iBAAA;MAChB,GAAG/B,oBAAAA;AACH,aAAO,MAAMkC,aAAarB,EAAAA;IAC5B,GAAG;MAACM;MAASI;MAAeG;KAAgB;AAE5C,UAAMS,QAAQtB,EAAE,GAAGe,MAAAA,QAAc;AACjC,UAAMQ,OAAO,gBAAAzB,QAAA,cAAC0B,OAAAA;MAAKD,MAAME,QAAQV,MAAAA;MAASW,MAAM;MAAGT;;AAEnD,WAAO,gBAAAnB,QAAA,cAAC6B,UAAUC,MAAI;MAACN;OAAeC,IAAAA;;;;AACxC;;;;AGtDA,OAAOM,WAASC,eAAAA,qBAAmB;AAEnC,SAASC,gBAAAA,gBAAcC,uBAAAA,6BAA2B;AAClD,SAASC,UAAAA,SAAQC,SAAAA,QAAOC,QAAAA,aAAY;AACpC,SAASC,aAAAA,kBAAiB;AAC1B,SAASC,aAAAA,mBAAiB;AAC1B,SAASC,YAAAA,WAAUC,iBAAiB;AACpC,SAASC,cAAcC,yBAAyB;AAChD,SAAwBC,qBAAAA,0BAAyB;;AAM1C,IAAMC,aAAa,CAAC,EAAEC,KAAI,MAAmB;;;AAClD,UAAM,EAAEC,iBAAiBC,SAAQ,IAAKC,sBAAAA;AACtC,UAAMC,SAASC,YAAAA;AACf,UAAMC,QAAQC,UAASP,IAAAA;AACvB,UAAMQ,WAAWR,KAAKS,QAAQC,mBAAkBV,KAAKS,MAAME,GAAG,IAAIC;AAClE,UAAMC,SAASC,UAAUV,QAAQE,OAAOE,QAAAA;AAExC,UAAMO,oBAAoBC,cACxB,CAACR,cAAAA;AACCS,MAAAA,WAAUJ,QAAAA,QAAAA;;;;;;;;;AACVI,MAAAA,WAAUC,MAAKC,UAAUN,MAAAA,GAAAA,QAAAA;;;;;;;;;AAEzB,YAAMO,WAAWC,OAAMC,OAAOC,QAAOf,SAASA,SAAAA,CAAAA;AAC9CR,WAAKS,MAAME,MAAMS,SAAST;AAC1BE,aAAOW,eAAehB,SAAAA;IACxB,GACA;MAACR;MAAMa;KAAO;AAGhB,UAAMY,eAAeT,cACnB,CAACU,YAAAA;AACC,WAAKxB,SAASyB,eAAaC,YAAYC,aAAa;QAAE7B;QAAM0B;MAAQ,CAAA,CAAA;IACtE,GACA;MAACxB;MAAUF;KAAK;AAGlB,QAAI,CAACM,SAAS,CAACO,QAAQ;AACrB,aAAO;IACT;AAEA,WACE,gBAAAiB,QAAA,cAACC,mBAAAA;MACCC,UAAU1B,MAAM2B,GAAGC;MACnBrB;MACAb;MACAmC,gBAAgBjB,MAAKC,UAAUN,MAAAA,IAAUE,oBAAoBH;MAC7DwB,UAAUlB,MAAKC,UAAUN,MAAAA,IAAUY,eAAeb;MAClDyB,cAAc;;;;;AAGpB;;;ACtDA,SAASC,QAAAA,aAAY;AAmBd,IAAMC,iBAAiBC,MAAK,MAAM,OAAO,+BAAA,CAAA;AACzC,IAAMC,qBAAqBD,MAAK,MAAM,OAAO,mCAAA,CAAA;AAC7C,IAAME,aAAaF,MAAK,MAAM,OAAO,2BAAA,CAAA;",
6
- "names": ["React", "useCallback", "useEffect", "useState", "LayoutAction", "createIntent", "useIntentDispatcher", "useLayout", "useClient", "Filter", "fullyQualifiedId", "useQuery", "Button", "Icon", "Toast", "useTranslation", "WAIT_FOR_OBJECT_TIMEOUT", "TOAST_TIMEOUT", "AwaitingObject", "id", "open", "setOpen", "useState", "waiting", "setWaiting", "found", "setFound", "t", "useTranslation", "meta", "dispatchPromise", "dispatch", "useIntentDispatcher", "layout", "useLayout", "client", "useClient", "objects", "useQuery", "spaces", "Filter", "everything", "useEffect", "timeout", "setTimeout", "clearTimeout", "findIndex", "object", "fullyQualifiedId", "active", "includes", "handleClose", "useCallback", "createIntent", "SpaceAction", "WaitForObject", "undefined", "handleNavigate", "LayoutAction", "Open", "part", "subject", "Toast", "Root", "duration", "onOpenChange", "Body", "Title", "classNames", "Icon", "icon", "size", "span", "Description", "Actions", "Action", "altText", "asChild", "Button", "variant", "onClick", "Close", "ns", "Effect", "pipe", "React", "useCallback", "useRef", "useState", "Capabilities", "LayoutAction", "chain", "createIntent", "useCapabilities", "useIntentDispatcher", "usePluginManager", "Obj", "Query", "Type", "invariant", "useClient", "getSpace", "isLiveObject", "isSpace", "useQuery", "useSpaces", "Button", "Dialog", "Icon", "useTranslation", "cardDialogContent", "cardDialogHeader", "DataType", "typenameFromQuery", "isNonNullable", "lazy", "AppGraphBuilder", "lazy", "AppGraphSerializer", "IdentityCreated", "IntentResolver", "ReactRoot", "ReactSurface", "SchemaDefs", "SpaceSettings", "SpaceState", "SpacesReady", "Option", "React", "useCallback", "Type", "ViewAnnotation", "getTypeAnnotation", "Icon", "toLocalizedString", "useDefaultValue", "useTranslation", "Form", "SearchList", "cardDialogOverflow", "cardDialogPaddedOverflow", "cardDialogSearchListRoot", "isNonNullable", "CreateObjectPanel", "forms", "spaces", "typename", "target", "views", "initialFormValues", "_initialFormValues", "defaultSpaceId", "resolve", "onTargetChange", "onTypenameChange", "onCreateObject", "t", "useTranslation", "meta", "id", "useDefaultValue", "form", "find", "Type", "getTypename", "objectSchema", "options", "filter", "ViewAnnotation", "get", "pipe", "Option", "getOrElse", "map", "getTypeAnnotation", "isNonNullable", "sort", "a", "b", "nameA", "ns", "defaultValue", "nameB", "localeCompare", "handleCreateObject", "useCallback", "props", "data", "handleSetTypename", "formSchema", "inputSurfaceLookup", "useInputSurfaceLookup", "React", "SelectSchema", "onChange", "SelectSpace", "div", "role", "className", "cardDialogOverflow", "Form", "autoFocus", "values", "schema", "testId", "onSave", "lookupComponent", "outerSpacing", "SearchList", "Root", "label", "classNames", "cardDialogSearchListRoot", "Input", "data-testid", "placeholder", "Content", "aName", "toLocalizedString", "getSpaceDisplayName", "personal", "bName", "space", "Item", "key", "value", "onSelect", "span", "cardDialogPaddedOverflow", "option", "Icon", "icon", "size", "CREATE_OBJECT_DIALOG", "meta", "id", "CreateObjectDialog", "target", "initialTarget", "typename", "initialTypename", "views", "initialFormValues", "onCreateObject", "shouldNavigate", "_shouldNavigate", "closeRef", "useRef", "manager", "usePluginManager", "t", "useTranslation", "client", "useClient", "spaces", "useSpaces", "dispatch", "useIntentDispatcher", "forms", "useCapabilities", "SpaceCapabilities", "ObjectForm", "setTarget", "useState", "setTypename", "space", "isSpace", "getSpace", "queryCollections", "useQuery", "Query", "type", "DataType", "QueryCollection", "hiddenTypenames", "map", "collection", "typenameFromQuery", "query", "filter", "isNonNullable", "resolve", "useCallback", "context", "getCapabilities", "Capabilities", "Metadata", "find", "metadata", "handleCreateObject", "form", "data", "Effect", "gen", "current", "click", "invariant", "object", "getIntent", "isLiveObject", "Obj", "instanceOf", "StoredSchema", "hidden", "includes", "Type", "getTypename", "objectSchema", "addObjectIntent", "createIntent", "SpaceAction", "AddObject", "pipe", "chain", "LayoutAction", "Open", "part", "runPromise", "React", "Dialog", "Content", "classNames", "cardDialogContent", "div", "role", "className", "cardDialogHeader", "Title", "ns", "defaultValue", "Close", "asChild", "Button", "ref", "density", "variant", "autoFocus", "Icon", "icon", "size", "CreateObjectPanel", "defaultSpaceId", "default", "onTargetChange", "onTypenameChange", "Effect", "React", "useCallback", "useRef", "LayoutAction", "createIntent", "useIntentDispatcher", "Button", "Dialog", "Icon", "useTranslation", "Form", "cardDialogContent", "cardDialogHeader", "CREATE_SPACE_DIALOG", "meta", "id", "initialValues", "edgeReplication", "CreateSpaceDialog", "closeRef", "useRef", "t", "useTranslation", "dispatch", "useIntentDispatcher", "inputSurfaceLookup", "useInputSurfaceLookup", "handleCreateSpace", "useCallback", "data", "program", "Effect", "gen", "space", "createIntent", "SpaceAction", "Create", "LayoutAction", "SwitchWorkspace", "part", "subject", "UpdateDialog", "options", "state", "runPromise", "React", "Dialog", "Content", "classNames", "cardDialogContent", "div", "role", "className", "cardDialogHeader", "Title", "Close", "asChild", "Button", "ref", "density", "variant", "autoFocus", "Icon", "icon", "size", "Form", "testId", "values", "schema", "SpaceForm", "lookupComponent", "onSave", "outerSpacing", "React", "useTranslation", "CollectionSection", "collection", "t", "useTranslation", "meta", "id", "React", "div", "className", "span", "name", "React", "useCallback", "LayoutAction", "createIntent", "useAppGraph", "useIntentDispatcher", "Trigger", "ObservabilityAction", "useClient", "Dialog", "useTranslation", "JoinPanel", "JOIN_DIALOG", "meta", "id", "JoinDialog", "navigableCollections", "onDone", "props", "dispatchPromise", "dispatch", "useIntentDispatcher", "client", "useClient", "graph", "useAppGraph", "t", "useTranslation", "handleDone", "useCallback", "result", "spaceKey", "Promise", "all", "createIntent", "LayoutAction", "AddToast", "part", "subject", "duration", "title", "ns", "closeLabel", "UpdateDialog", "options", "state", "space", "spaces", "get", "trigger", "Trigger", "subscribe", "wake", "wait", "SwitchWorkspace", "target", "undefined", "waitForPath", "catch", "Open", "Expose", "ObservabilityAction", "SendEvent", "name", "properties", "spaceId", "React", "Dialog", "Content", "Title", "classNames", "JoinPanel", "exitActionParent", "Close", "asChild", "doneActionParent", "React", "useCallback", "useMemo", "useState", "QR", "createIntent", "useIntentDispatcher", "log", "useConfig", "fullyQualifiedId", "useSpaceInvitations", "Invitation", "InvitationEncoder", "Button", "Clipboard", "Icon", "Input", "useId", "useTranslation", "ControlFrame", "ControlFrameItem", "ControlItemInput", "ControlPage", "ControlSection", "StackItem", "DataType", "AuthCode", "BifurcatedAction", "Centered", "Emoji", "InvitationList", "SpaceMemberList", "Viewport", "hexToEmoji", "activeActionKey", "handleInvitationEvent", "invitation", "subscription", "invitationCode", "InvitationEncoder", "encode", "state", "Invitation", "State", "CONNECTING", "log", "info", "JSON", "stringify", "authCode", "unsubscribe", "MembersContainer", "space", "createInvitationUrl", "t", "useTranslation", "meta", "id", "config", "useConfig", "dispatchPromise", "dispatch", "useIntentDispatcher", "invitations", "useSpaceInvitations", "key", "visibleInvitations", "filter", "CANCELLED", "includes", "get", "activeAction", "setInternalActiveAction", "useState", "localStorage", "getItem", "setActiveAction", "nextAction", "setItem", "target", "properties", "DataType", "Collection", "typename", "objects", "locked", "COMPOSER_SPACE_LOCK", "handleChangeLocked", "useCallback", "inviteActions", "useMemo", "inviteOne", "label", "ns", "description", "icon", "testId", "onClick", "data", "createIntent", "SpaceAction", "Share", "type", "Type", "INTERACTIVE", "authMethod", "AuthMethod", "SHARED_SECRET", "multiUse", "fullyQualifiedId", "values", "runtime", "app", "env", "DX_ENVIRONMENT", "subscribe", "inviteMany", "DELEGATED", "KNOWN_PUBLIC_KEY", "selectedInvitation", "setSelectedInvitation", "handleSend", "event", "handleBack", "React", "Clipboard", "Provider", "StackItem", "Content", "classNames", "ControlPage", "ControlSection", "title", "ControlFrame", "ControlFrameItem", "SpaceMemberList", "spaceKey", "includeSelf", "p", "className", "InvitationSection", "onBack", "InvitationList", "send", "onClickRemove", "cancel", "BifurcatedAction", "actions", "onChangeActiveAction", "data-testid", "div", "ControlItemInput", "Input", "Switch", "checked", "onCheckedChange", "INIT", "invitationId", "url", "activeView", "READY_FOR_AUTHENTICATION", "Viewport", "Root", "Views", "View", "InvitationComplete", "statusValue", "InvitationAuthCode", "code", "onCancel", "InvitationQR", "qrLabel", "useId", "emoji", "hexToEmoji", "role", "QR", "rounding", "backgroundColor", "color", "aria-labelledby", "errorCorrectionLevel", "cutout", "Centered", "Emoji", "text", "span", "Button", "value", "variant", "AuthCode", "large", "Icon", "size", "React", "getSpace", "useClient", "DropdownMenu", "Icon", "toLocalizedString", "useTranslation", "MenuFooter", "object", "t", "useTranslation", "meta", "id", "client", "useClient", "space", "getSpace", "spaceName", "getSpaceDisplayName", "personal", "spaces", "default", "React", "DropdownMenu", "Separator", "GroupLabel", "dl", "className", "dt", "dd", "Icon", "icon", "classNames", "toLocalizedString", "React", "useMemo", "Surface", "Clipboard", "Toolbar", "StackItem", "React", "useRef", "Input", "useTranslation", "BaseObjectSettings", "classNames", "children", "object", "t", "useTranslation", "meta", "id", "inputRef", "useRef", "React", "Input", "Root", "Label", "TextInput", "ref", "placeholder", "value", "name", "onChange", "event", "target", "onKeyDown", "key", "current", "blur", "ObjectSettingsContainer", "object", "role", "data", "useMemo", "subject", "React", "Clipboard", "Provider", "StackItem", "Content", "toolbar", "Toolbar", "Root", "div", "className", "BaseObjectSettings", "Surface", "React", "useEffect", "useState", "debounce", "Icon", "Tooltip", "useTranslation", "mx", "staticPlaceholderText", "warningText", "PersistenceStatus", "db", "t", "useTranslation", "meta", "id", "displayMessage", "setDisplayMessage", "useState", "status", "naturalSetStatus", "prevStatus", "setPrevStatus", "_setStatus", "debounce", "useEffect", "timeout", "setTimeout", "clearTimeout", "React", "div", "className", "Icon", "icon", "size", "classNames", "span", "mx", "warningText", "staticPlaceholderText", "Tooltip", "Trigger", "delayDuration", "role", "content", "React", "useCallback", "useRef", "useState", "LayoutAction", "createIntent", "useIntentDispatcher", "Obj", "log", "Button", "Input", "useTranslation", "POPOVER_RENAME_OBJECT", "meta", "id", "PopoverRenameObject", "object", "t", "useTranslation", "doneButton", "useRef", "name", "setName", "useState", "Obj", "getLabel", "dispatchPromise", "dispatch", "useIntentDispatcher", "handleDone", "useCallback", "setLabel", "err", "log", "error", "createIntent", "LayoutAction", "UpdatePopover", "part", "options", "variant", "anchorId", "state", "React", "div", "role", "className", "Input", "Root", "Label", "srOnly", "TextInput", "placeholder", "value", "data-testid", "onChange", "target", "onKeyDown", "key", "current", "click", "Button", "ref", "classNames", "onClick", "ns", "React", "useCallback", "useRef", "useState", "LayoutAction", "createIntent", "useIntentDispatcher", "Button", "Input", "Popover", "useTranslation", "POPOVER_RENAME_SPACE", "meta", "id", "PopoverRenameSpace", "space", "t", "useTranslation", "doneButton", "useRef", "name", "setName", "useState", "properties", "dispatchPromise", "dispatch", "useIntentDispatcher", "handleDone", "useCallback", "createIntent", "LayoutAction", "UpdatePopover", "part", "options", "variant", "anchorId", "state", "React", "div", "role", "className", "Input", "Root", "Label", "srOnly", "TextInput", "defaultValue", "placeholder", "onChange", "target", "value", "onKeyDown", "key", "current", "click", "Popover", "Close", "asChild", "Button", "ref", "classNames", "onClick", "ns", "React", "useEffect", "useState", "useTranslation", "ControlPage", "ControlSection", "controlItemClasses", "StackItem", "useQuerySpaceSchemas", "space", "schemas", "setSchemas", "useState", "useEffect", "query", "db", "schemaRegistry", "initialResults", "runSync", "unsubscribe", "subscribe", "results", "SchemaContainer", "t", "useTranslation", "meta", "id", "React", "StackItem", "Content", "classNames", "ControlPage", "ControlSection", "title", "description", "div", "role", "className", "controlItemClasses", "length", "map", "schema", "key", "typename", "Option", "React", "forwardRef", "useCallback", "useEffect", "useState", "useAppGraph", "useCapability", "generateName", "PublicKey", "useClient", "fullyQualifiedId", "getSpace", "useMembers", "useIdentity", "Avatar", "List", "ListItem", "Popover", "Tooltip", "useDefaultValue", "useTranslation", "AttentionGlyph", "useAttended", "useAttention", "ComplexMap", "keyToFallback", "REFRESH_INTERVAL", "ACTIVITY_DURATION", "noViewers", "ComplexMap", "PublicKey", "hash", "getName", "identity", "profile", "displayName", "generateName", "identityKey", "toHex", "SpacePresence", "object", "spaceKey", "spaceState", "useCapability", "SpaceCapabilities", "MutableState", "client", "useClient", "useIdentity", "space", "spaces", "get", "getSpace", "spaceMembers", "useMembers", "key", "_moment", "setMoment", "useState", "Date", "now", "useEffect", "interval", "setInterval", "clearInterval", "memberOnline", "useCallback", "member", "presence", "memberIsNotSelf", "equals", "currentObjectViewers", "viewersByObject", "fullyQualifiedId", "membersForObject", "filter", "has", "map", "objectView", "lastSeen", "currentlyAttended", "toSorted", "a", "b", "React", "FullPresence", "members", "props", "size", "onMemberClick", "useDefaultValue", "length", "div", "className", "data-testid", "slice", "i", "Tooltip", "Trigger", "side", "content", "PresenceAvatar", "match", "index", "onClick", "Popover", "Root", "Avatar", "Content", "status", "style", "zIndex", "fallback", "Portal", "Arrow", "Viewport", "classNames", "List", "ListItem", "showName", "forwardRef", "forwardedRef", "fallbackValue", "keyToFallback", "hue", "data", "data-status", "emoji", "ref", "Label", "SmallPresenceLive", "id", "open", "viewers", "hasAttention", "isAncestor", "isRelated", "useAttention", "isAttended", "graph", "useAppGraph", "attended", "useAttended", "startOfAttention", "at", "path", "usePath", "containsAttended", "Option", "isSome", "value", "includes", "getActiveViewers", "moment", "Array", "from", "values", "viewer", "activeViewers", "setActiveViewers", "SmallPresence", "count", "t", "useTranslation", "meta", "asChild", "AttentionGlyph", "React", "createIntent", "useIntentDispatcher", "useClient", "useSpaces", "IconButton", "Input", "List", "ListItem", "toLocalizedString", "useTranslation", "ControlGroup", "ControlItemInput", "ControlPage", "ControlSection", "controlItemClasses", "SpacePluginSettings", "settings", "t", "useTranslation", "meta", "id", "client", "useClient", "spaces", "useSpaces", "all", "showHidden", "dispatchPromise", "dispatch", "useIntentDispatcher", "React", "ControlPage", "ControlSection", "title", "description", "ControlGroup", "ControlItemInput", "Input", "Switch", "checked", "onCheckedChange", "List", "classNames", "controlItemClasses", "map", "space", "ListItem", "Root", "key", "Heading", "toLocalizedString", "getSpaceDisplayName", "personal", "default", "IconButton", "icon", "onClick", "createIntent", "SpaceAction", "OpenSettings", "label", "Schema", "pipe", "React", "useCallback", "useMemo", "useState", "LayoutAction", "chain", "createIntent", "useIntentDispatcher", "log", "EdgeReplicationSetting", "useClient", "SpaceState", "Button", "Input", "useMulticastObservable", "useTranslation", "ControlItem", "ControlItemInput", "ControlPage", "ControlSection", "Form", "HuePicker", "IconPicker", "StackItem", "FormSchema", "SpaceForm", "pipe", "Schema", "extend", "Struct", "archived", "Boolean", "annotations", "title", "SpaceSettingsContainer", "space", "t", "useTranslation", "meta", "id", "dispatchPromise", "dispatch", "useIntentDispatcher", "client", "useClient", "useMulticastObservable", "state", "SpaceState", "SPACE_INACTIVE", "edgeReplication", "setEdgeReplication", "useState", "internal", "data", "EdgeReplicationSetting", "ENABLED", "toggleEdgeReplication", "useCallback", "next", "setEdgeReplicationPreference", "DISABLED", "catch", "err", "log", "handleSave", "properties", "name", "icon", "hue", "createIntent", "SpaceAction", "Close", "chain", "LayoutAction", "SwitchWorkspace", "part", "subject", "spaces", "default", "Open", "values", "useMemo", "customElements", "type", "label", "getValue", "onValueChange", "handleChange", "target", "value", "React", "ControlItemInput", "description", "Input", "TextInput", "onChange", "placeholder", "classNames", "handleReset", "undefined", "ControlItem", "IconPicker", "onReset", "iconSize", "nextHue", "HuePicker", "checked", "Switch", "onCheckedChange", "Button", "disabled", "onClick", "StackItem", "Content", "ControlPage", "ControlSection", "ns", "Form", "schema", "autoSave", "onSave", "Custom", "outerSpacing", "Option", "React", "useEffect", "useState", "useAppGraph", "EdgeStatus", "EdgeReplicationSetting", "useClient", "useSpaceSyncState", "Tooltip", "useTranslation", "AttentionGlyph", "useAttended", "useAttention", "useEdgeStatus", "status", "setStatus", "useState", "EdgeStatus", "NOT_CONNECTED", "client", "useClient", "useEffect", "services", "EdgeAgentService", "queryEdgeStatus", "subscribe", "InlineSyncStatus", "space", "open", "t", "useTranslation", "meta", "id", "hasAttention", "isAncestor", "isRelated", "useAttention", "isAttended", "graph", "useAppGraph", "attended", "useAttended", "startOfAttention", "at", "path", "usePath", "containsAttended", "Option", "isSome", "value", "includes", "connectedToEdge", "CONNECTED", "edgeSyncEnabled", "internal", "data", "edgeReplication", "EdgeReplicationSetting", "ENABLED", "syncState", "useSpaceSyncState", "syncing", "missingOnLocal", "React", "Tooltip", "Trigger", "asChild", "content", "side", "AttentionGlyph", "classNames", "React", "useEffect", "useState", "StatusBar", "useClient", "getSyncSummary", "useSyncState", "Icon", "useTranslation", "Context", "createClientSaveTracker", "client", "cb", "CleanupFns", "state", "install", "spaces", "space", "id", "createSpaceSaveTracker", "s", "Object", "values", "some", "subscribe", "get", "unsubscribe", "ctx", "waitUntilReady", "then", "disposed", "hasUnsavedChanges", "lastFlushPromise", "db", "saveStateChanged", "on", "unsavedDocuments", "length", "debounce", "undefined", "flushPromise", "flush", "dispose", "getStatus", "offline", "saved", "needsToUpload", "needsToDownload", "getIcon", "status", "SYNC_STALLED_TIMEOUT", "SyncStatus", "client", "useClient", "state", "useSyncState", "saved", "setSaved", "useState", "useEffect", "createClientSaveTracker", "React", "SyncStatusIndicator", "t", "useTranslation", "meta", "id", "summary", "getSyncSummary", "offline", "Object", "values", "length", "needsToUpload", "differentDocuments", "missingOnRemote", "needsToDownload", "missingOnLocal", "status", "getStatus", "classNames", "setClassNames", "undefined", "setTimeout", "clearTimeout", "title", "icon", "Icon", "getIcon", "size", "StatusBar", "Item", "React", "useCallback", "createIntent", "useIntentDispatcher", "Filter", "Query", "Type", "invariant", "useClient", "getSpace", "useSchema", "ViewEditor", "NaturalViewEditor", "typenameFromQuery", "ViewEditor", "view", "dispatchPromise", "dispatch", "useIntentDispatcher", "client", "useClient", "space", "getSpace", "typename", "query", "typenameFromQuery", "ast", "undefined", "schema", "useSchema", "handleUpdateQuery", "useCallback", "invariant", "Type", "isMutable", "newQuery", "Query", "select", "Filter", "updateTypename", "handleDelete", "fieldId", "createIntent", "SpaceAction", "DeleteField", "React", "NaturalViewEditor", "registry", "db", "schemaRegistry", "onQueryChanged", "onDelete", "outerSpacing", "lazy", "CollectionMain", "lazy", "ObjectDetailsPanel", "RecordMain"]
7
- }
@@ -1,20 +0,0 @@
1
- import {
2
- meta
3
- } from "./chunk-IRKDREHY.mjs";
4
-
5
- // src/capabilities/capabilities.ts
6
- import { defineCapability } from "@dxos/app-framework";
7
- (function(SpaceCapabilities2) {
8
- SpaceCapabilities2.State = defineCapability(`${meta.id}/capability/state`);
9
- SpaceCapabilities2.MutableState = defineCapability(`${meta.id}/capability/state`);
10
- SpaceCapabilities2.SettingsSection = defineCapability(`${meta.id}/capability/settings-section`);
11
- SpaceCapabilities2.onCreateSpace = defineCapability(`${meta.id}/capability/on-space-created`);
12
- SpaceCapabilities2.OnSchemaAdded = defineCapability(`${meta.id}/capability/on-schema-added`);
13
- SpaceCapabilities2.ObjectForm = defineCapability(`${meta.id}/capability/object-form`);
14
- })(SpaceCapabilities || (SpaceCapabilities = {}));
15
- var SpaceCapabilities;
16
-
17
- export {
18
- SpaceCapabilities
19
- };
20
- //# sourceMappingURL=chunk-E2I747A7.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/capabilities.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Schema } from 'effect';\n\nimport { type AnyIntentChain, type Label, defineCapability } from '@dxos/app-framework';\nimport { type Space } from '@dxos/react-client/echo';\nimport { type DataType } from '@dxos/schema';\nimport { type DeepReadonly, type Position } from '@dxos/util';\n\nimport { meta } from '../meta';\nimport { type ObjectForm, type PluginState } from '../types';\n\nexport namespace SpaceCapabilities {\n export const State = defineCapability<DeepReadonly<PluginState>>(`${meta.id}/capability/state`);\n export const MutableState = defineCapability<PluginState>(`${meta.id}/capability/state`);\n\n export type SettingsSection = { id: string; label: Label; position?: Position };\n export const SettingsSection = defineCapability<SettingsSection>(`${meta.id}/capability/settings-section`);\n\n export type onCreateSpace = (params: { space: Space; rootCollection: DataType.Collection }) => AnyIntentChain;\n export const onCreateSpace = defineCapability<onCreateSpace>(`${meta.id}/capability/on-space-created`);\n\n export type OnSchemaAdded = (params: { space: Space; schema: Schema.Schema.AnyNoContext }) => AnyIntentChain;\n export const OnSchemaAdded = defineCapability<OnSchemaAdded>(`${meta.id}/capability/on-schema-added`);\n\n // TODO(burdon): Should this be view? Forms are UI concepts? (associated with a View/schema).\n export const ObjectForm = defineCapability<ObjectForm<any>>(`${meta.id}/capability/object-form`);\n}\n"],
5
- "mappings": ";;;;;AAMA,SAA0CA,wBAAwB;UAQjDC,oBAAAA;qBACFC,QAAQC,iBAA4C,GAAGC,KAAKC,EAAE,mBAAmB;qBACjFC,eAAeH,iBAA8B,GAAGC,KAAKC,EAAE,mBAAmB;qBAG1EE,kBAAkBJ,iBAAkC,GAAGC,KAAKC,EAAE,8BAA8B;qBAG5FG,gBAAgBL,iBAAgC,GAAGC,KAAKC,EAAE,8BAA8B;qBAGxFI,gBAAgBN,iBAAgC,GAAGC,KAAKC,EAAE,6BAA6B;qBAGvFK,aAAaP,iBAAkC,GAAGC,KAAKC,EAAE,yBAAyB;AACjG,GAfiBJ,sBAAAA,oBAAAA,CAAAA,EAAAA;;",
6
- "names": ["defineCapability", "SpaceCapabilities", "State", "defineCapability", "meta", "id", "MutableState", "SettingsSection", "onCreateSpace", "OnSchemaAdded", "ObjectForm"]
7
- }
@@ -1,19 +0,0 @@
1
- import {
2
- meta
3
- } from "./chunk-IRKDREHY.mjs";
4
-
5
- // src/events.ts
6
- import { Events, defineEvent } from "@dxos/app-framework";
7
- (function(SpaceEvents2) {
8
- SpaceEvents2.StateReady = Events.createStateEvent(`${meta.id}/event/state-ready`);
9
- SpaceEvents2.SetupSettingsPanel = defineEvent(`${meta.id}/event/setup-settings-panel`);
10
- SpaceEvents2.DefaultSpaceReady = defineEvent(`${meta.id}/event/default-space-ready`);
11
- SpaceEvents2.SpaceCreated = defineEvent(`${meta.id}/event/space-created`);
12
- SpaceEvents2.SchemaAdded = defineEvent(`${meta.id}/event/schema-added`);
13
- })(SpaceEvents || (SpaceEvents = {}));
14
- var SpaceEvents;
15
-
16
- export {
17
- SpaceEvents
18
- };
19
- //# sourceMappingURL=chunk-EIXZABXD.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/events.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Events, defineEvent } from '@dxos/app-framework';\n\nimport { meta } from './meta';\n\nexport namespace SpaceEvents {\n export const StateReady = Events.createStateEvent(`${meta.id}/event/state-ready`);\n export const SetupSettingsPanel = defineEvent(`${meta.id}/event/setup-settings-panel`);\n export const DefaultSpaceReady = defineEvent(`${meta.id}/event/default-space-ready`);\n export const SpaceCreated = defineEvent(`${meta.id}/event/space-created`);\n export const SchemaAdded = defineEvent(`${meta.id}/event/schema-added`);\n}\n"],
5
- "mappings": ";;;;;AAIA,SAASA,QAAQC,mBAAmB;UAInBC,cAAAA;eACFC,aAAaC,OAAOC,iBAAiB,GAAGC,KAAKC,EAAE,oBAAoB;eACnEC,qBAAqBC,YAAY,GAAGH,KAAKC,EAAE,6BAA6B;eACxEG,oBAAoBD,YAAY,GAAGH,KAAKC,EAAE,4BAA4B;eACtEI,eAAeF,YAAY,GAAGH,KAAKC,EAAE,sBAAsB;eAC3DK,cAAcH,YAAY,GAAGH,KAAKC,EAAE,qBAAqB;AACxE,GANiBL,gBAAAA,cAAAA,CAAAA,EAAAA;;",
6
- "names": ["Events", "defineEvent", "SpaceEvents", "StateReady", "Events", "createStateEvent", "meta", "id", "SetupSettingsPanel", "defineEvent", "DefaultSpaceReady", "SpaceCreated", "SchemaAdded"]
7
- }
@@ -1,94 +0,0 @@
1
- // src/hooks/useActiveSpace.ts
2
- import { Capabilities, useLayout } from "@dxos/app-framework";
3
- import { ClientCapabilities } from "@dxos/plugin-client";
4
- import { parseId, useSpace } from "@dxos/react-client/echo";
5
- var getActiveSpace = (context) => {
6
- const client = context.getCapability(ClientCapabilities.Client);
7
- const layout = context.getCapability(Capabilities.Layout);
8
- const { spaceId } = parseId(layout.workspace);
9
- return spaceId ? client.spaces.get(spaceId) : void 0;
10
- };
11
- var useActiveSpace = () => {
12
- const layout = useLayout();
13
- const { spaceId } = parseId(layout.workspace);
14
- return useSpace(spaceId);
15
- };
16
-
17
- // src/hooks/useInputSurfaceLookup.tsx
18
- import React, { useCallback } from "react";
19
- import { Surface, isSurfaceAvailable, usePluginManager } from "@dxos/app-framework";
20
- var useInputSurfaceLookup = (baseData) => {
21
- const pluginManager = usePluginManager();
22
- return useCallback(({ prop, schema, inputProps }) => {
23
- const composedData = {
24
- prop,
25
- schema,
26
- ...baseData
27
- };
28
- if (!isSurfaceAvailable(pluginManager.context, {
29
- role: "form-input",
30
- data: composedData
31
- })) {
32
- return void 0;
33
- }
34
- return /* @__PURE__ */ React.createElement(Surface, {
35
- role: "form-input",
36
- data: composedData,
37
- ...inputProps
38
- });
39
- }, [
40
- pluginManager,
41
- baseData
42
- ]);
43
- };
44
-
45
- // src/hooks/usePath.ts
46
- import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
47
- import { Option } from "effect";
48
- import { useEffect, useState } from "react";
49
- var usePath = (graph, id, timeout) => {
50
- var _effect = _useSignals();
51
- try {
52
- const [pathState, setPathState] = useState(id ? graph.getPath({
53
- target: id
54
- }) : Option.none());
55
- useEffect(() => {
56
- if (!id && pathState) {
57
- setPathState(Option.none());
58
- }
59
- if (Option.isSome(pathState) && pathState.value.at(-1) === id || !id) {
60
- return;
61
- }
62
- const frame = requestAnimationFrame(async () => {
63
- try {
64
- const path = await graph.waitForPath({
65
- target: id
66
- }, {
67
- timeout
68
- });
69
- if (path) {
70
- setPathState(Option.some(path));
71
- }
72
- } catch {
73
- }
74
- });
75
- return () => cancelAnimationFrame(frame);
76
- }, [
77
- graph,
78
- id,
79
- timeout,
80
- pathState
81
- ]);
82
- return pathState;
83
- } finally {
84
- _effect.f();
85
- }
86
- };
87
-
88
- export {
89
- getActiveSpace,
90
- useActiveSpace,
91
- useInputSurfaceLookup,
92
- usePath
93
- };
94
- //# sourceMappingURL=chunk-ELJDGQTO.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/hooks/useActiveSpace.ts", "../../../src/hooks/useInputSurfaceLookup.tsx", "../../../src/hooks/usePath.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, type PluginContext, useLayout } from '@dxos/app-framework';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { parseId, useSpace } from '@dxos/react-client/echo';\n\nexport const getActiveSpace = (context: PluginContext) => {\n const client = context.getCapability(ClientCapabilities.Client);\n const layout = context.getCapability(Capabilities.Layout);\n const { spaceId } = parseId(layout.workspace);\n return spaceId ? client.spaces.get(spaceId) : undefined;\n};\n\nexport const useActiveSpace = () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n return useSpace(spaceId);\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Schema } from 'effect';\nimport React, { useCallback } from 'react';\n\nimport { Surface, isSurfaceAvailable, usePluginManager } from '@dxos/app-framework';\nimport { type InputProps } from '@dxos/react-ui-form';\n\n// TODO(ZaymonFC): Move this if you find yourself needing it elsewhere.\n/**\n * Creates a surface input component based on plugin context.\n * @param baseData Additional data that will be merged with form data and passed to the surface.\n * This allows providing more context to the surface than what's available from the form itself.\n */\nexport const useInputSurfaceLookup = (baseData?: Record<string, any>) => {\n const pluginManager = usePluginManager();\n\n return useCallback(\n ({ prop, schema, inputProps }: { prop: string; schema: Schema.Schema<any>; inputProps: InputProps }) => {\n const composedData = { prop, schema, ...baseData };\n if (!isSurfaceAvailable(pluginManager.context, { role: 'form-input', data: composedData })) {\n return undefined;\n }\n\n return <Surface role='form-input' data={composedData} {...inputProps} />;\n },\n [pluginManager, baseData],\n );\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Option } from 'effect';\nimport { useEffect, useState } from 'react';\n\nimport { type ReadableGraph } from '@dxos/plugin-graph';\n\n/**\n * React hook to get a path from the graph.\n *\n * @param graph Graph to find the node in.\n * @param id Id of the node to find a path to.\n * @param timeout Optional timeout in milliseconds to wait for the node to be found.\n * @returns Path if found, undefined otherwise.\n */\n// TODO(wittjosiah): Factor out.\nexport const usePath = (graph: ReadableGraph, id?: string, timeout?: number): Option.Option<string[]> => {\n const [pathState, setPathState] = useState<Option.Option<string[]>>(\n id ? graph.getPath({ target: id }) : Option.none(),\n );\n\n useEffect(() => {\n if (!id && pathState) {\n setPathState(Option.none());\n }\n\n if ((Option.isSome(pathState) && pathState.value.at(-1) === id) || !id) {\n return;\n }\n\n // Set timeout did not seem to effectively not block the UI thread.\n const frame = requestAnimationFrame(async () => {\n try {\n const path = await graph.waitForPath({ target: id }, { timeout });\n if (path) {\n setPathState(Option.some(path));\n }\n } catch {}\n });\n\n return () => cancelAnimationFrame(frame);\n }, [graph, id, timeout, pathState]);\n\n return pathState;\n};\n"],
5
- "mappings": ";AAIA,SAASA,cAAkCC,iBAAiB;AAC5D,SAASC,0BAA0B;AACnC,SAASC,SAASC,gBAAgB;AAE3B,IAAMC,iBAAiB,CAACC,YAAAA;AAC7B,QAAMC,SAASD,QAAQE,cAAcC,mBAAmBC,MAAM;AAC9D,QAAMC,SAASL,QAAQE,cAAcI,aAAaC,MAAM;AACxD,QAAM,EAAEC,QAAO,IAAKC,QAAQJ,OAAOK,SAAS;AAC5C,SAAOF,UAAUP,OAAOU,OAAOC,IAAIJ,OAAAA,IAAWK;AAChD;AAEO,IAAMC,iBAAiB,MAAA;AAC5B,QAAMT,SAASU,UAAAA;AACf,QAAM,EAAEP,QAAO,IAAKC,QAAQJ,OAAOK,SAAS;AAC5C,SAAOM,SAASR,OAAAA;AAClB;;;ACdA,OAAOS,SAASC,mBAAmB;AAEnC,SAASC,SAASC,oBAAoBC,wBAAwB;AASvD,IAAMC,wBAAwB,CAACC,aAAAA;AACpC,QAAMC,gBAAgBC,iBAAAA;AAEtB,SAAOC,YACL,CAAC,EAAEC,MAAMC,QAAQC,WAAU,MAAwE;AACjG,UAAMC,eAAe;MAAEH;MAAMC;MAAQ,GAAGL;IAAS;AACjD,QAAI,CAACQ,mBAAmBP,cAAcQ,SAAS;MAAEC,MAAM;MAAcC,MAAMJ;IAAa,CAAA,GAAI;AAC1F,aAAOK;IACT;AAEA,WAAO,sBAAA,cAACC,SAAAA;MAAQH,MAAK;MAAaC,MAAMJ;MAAe,GAAGD;;EAC5D,GACA;IAACL;IAAeD;GAAS;AAE7B;;;;AC1BA,SAASc,cAAc;AACvB,SAASC,WAAWC,gBAAgB;AAa7B,IAAMC,UAAU,CAACC,OAAsBC,IAAaC,YAAAA;;;AACzD,UAAM,CAACC,WAAWC,YAAAA,IAAgBC,SAChCJ,KAAKD,MAAMM,QAAQ;MAAEC,QAAQN;IAAG,CAAA,IAAKO,OAAOC,KAAI,CAAA;AAGlDC,cAAU,MAAA;AACR,UAAI,CAACT,MAAME,WAAW;AACpBC,qBAAaI,OAAOC,KAAI,CAAA;MAC1B;AAEA,UAAKD,OAAOG,OAAOR,SAAAA,KAAcA,UAAUS,MAAMC,GAAG,EAAC,MAAOZ,MAAO,CAACA,IAAI;AACtE;MACF;AAGA,YAAMa,QAAQC,sBAAsB,YAAA;AAClC,YAAI;AACF,gBAAMC,OAAO,MAAMhB,MAAMiB,YAAY;YAAEV,QAAQN;UAAG,GAAG;YAAEC;UAAQ,CAAA;AAC/D,cAAIc,MAAM;AACRZ,yBAAaI,OAAOU,KAAKF,IAAAA,CAAAA;UAC3B;QACF,QAAQ;QAAC;MACX,CAAA;AAEA,aAAO,MAAMG,qBAAqBL,KAAAA;IACpC,GAAG;MAACd;MAAOC;MAAIC;MAASC;KAAU;AAElC,WAAOA;;;;AACT;",
6
- "names": ["Capabilities", "useLayout", "ClientCapabilities", "parseId", "useSpace", "getActiveSpace", "context", "client", "getCapability", "ClientCapabilities", "Client", "layout", "Capabilities", "Layout", "spaceId", "parseId", "workspace", "spaces", "get", "undefined", "useActiveSpace", "useLayout", "useSpace", "React", "useCallback", "Surface", "isSurfaceAvailable", "usePluginManager", "useInputSurfaceLookup", "baseData", "pluginManager", "usePluginManager", "useCallback", "prop", "schema", "inputProps", "composedData", "isSurfaceAvailable", "context", "role", "data", "undefined", "Surface", "Option", "useEffect", "useState", "usePath", "graph", "id", "timeout", "pathState", "setPathState", "useState", "getPath", "target", "Option", "none", "useEffect", "isSome", "value", "at", "frame", "requestAnimationFrame", "path", "waitForPath", "some", "cancelAnimationFrame"]
7
- }
@@ -1,11 +0,0 @@
1
- // src/meta.ts
2
- var meta = {
3
- id: "dxos.org/plugin/space",
4
- name: "Spaces",
5
- icon: "ph--planet--regular"
6
- };
7
-
8
- export {
9
- meta
10
- };
11
- //# sourceMappingURL=chunk-IRKDREHY.mjs.map
@@ -1,7 +0,0 @@
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';\n\nexport const meta: PluginMeta = {\n id: 'dxos.org/plugin/space',\n name: 'Spaces',\n icon: 'ph--planet--regular',\n};\n"],
5
- "mappings": ";AAMO,IAAMA,OAAmB;EAC9BC,IAAI;EACJC,MAAM;EACNC,MAAM;AACR;",
6
- "names": ["meta", "id", "name", "icon"]
7
- }