@powerhousedao/connect 1.0.4 → 1.0.5-dev.0

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 (274) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +1 -0
  3. package/dist/.env +11 -6
  4. package/dist/assets/app-CcH3qGge.css +5805 -0
  5. package/dist/assets/app-D5aQi0aY.js +80396 -0
  6. package/dist/assets/app-loader-D5SWSIlq.js +31582 -0
  7. package/dist/assets/app-loader-DGByWxSG.css +5640 -0
  8. package/dist/assets/ccip-BmvACOxw.js +170 -0
  9. package/dist/assets/connect-loader-CvOC68Ih.mp4 +0 -0
  10. package/dist/assets/content-CjM3gin6.js +3967 -0
  11. package/dist/assets/home-bg-BEhF9NuW.png +0 -0
  12. package/dist/assets/index-D60iiT4f.js +2560 -0
  13. package/dist/assets/index-DIYv2p_P.js +12 -0
  14. package/dist/assets/index-d_545vU_.js +46565 -0
  15. package/dist/assets/main.DnroXr_4.js +105 -0
  16. package/dist/assets/powerhouse-rounded-CeKGGUG4.png +0 -0
  17. package/dist/assets/renown-short-hover-BiSLBV7L.png +0 -0
  18. package/dist/assets/rwa-report-Bb0W5-ac.png +0 -0
  19. package/dist/assets/style-Ce3V83BE.css +1658 -0
  20. package/dist/external-packages.js +5 -0
  21. package/dist/hmr.js +4 -0
  22. package/dist/icon.ico +0 -0
  23. package/dist/index.html +48 -10
  24. package/dist/modules/@powerhousedao/reactor-browser/chunk-2ESYSVXG.js +48 -0
  25. package/dist/modules/@powerhousedao/reactor-browser/chunk-2ONJ2PX4.js +50 -0
  26. package/dist/modules/@powerhousedao/reactor-browser/chunk-2X2M6BYG.js +2542 -0
  27. package/dist/modules/@powerhousedao/reactor-browser/chunk-64UP3MVE.js +14171 -0
  28. package/dist/modules/@powerhousedao/reactor-browser/chunk-7OQWVUC5.js +43 -0
  29. package/dist/modules/@powerhousedao/reactor-browser/chunk-C7QRY43M.js +786 -0
  30. package/dist/modules/@powerhousedao/reactor-browser/chunk-CO2RVWYY.js +67 -0
  31. package/dist/modules/@powerhousedao/reactor-browser/chunk-DKDARAJS.js +0 -0
  32. package/dist/modules/@powerhousedao/reactor-browser/chunk-F6NNSREE.js +2513 -0
  33. package/dist/modules/@powerhousedao/reactor-browser/chunk-FQF4YAVC.js +11917 -0
  34. package/dist/modules/@powerhousedao/reactor-browser/chunk-GDP7BUIH.js +45 -0
  35. package/dist/modules/@powerhousedao/reactor-browser/chunk-IQTSFTNF.js +48 -0
  36. package/dist/modules/@powerhousedao/reactor-browser/chunk-J5TYPY7U.js +36 -0
  37. package/dist/modules/@powerhousedao/reactor-browser/chunk-LH2T6NLN.js +0 -0
  38. package/dist/modules/@powerhousedao/reactor-browser/chunk-LRNZZ3SR.js +14 -0
  39. package/dist/modules/@powerhousedao/reactor-browser/chunk-NHD6VUCD.js +53 -0
  40. package/dist/modules/@powerhousedao/reactor-browser/chunk-OVGOA2P5.js +11 -0
  41. package/dist/modules/@powerhousedao/reactor-browser/chunk-P6NJ6IAQ.js +12 -0
  42. package/dist/modules/@powerhousedao/reactor-browser/chunk-QXHTR6KF.js +0 -0
  43. package/dist/modules/@powerhousedao/reactor-browser/chunk-RGIB4DD4.js +162 -0
  44. package/dist/modules/@powerhousedao/reactor-browser/chunk-U34SEKEB.js +250 -0
  45. package/dist/modules/@powerhousedao/reactor-browser/chunk-U36SV333.js +0 -0
  46. package/dist/modules/@powerhousedao/reactor-browser/chunk-UWJGRLW3.js +82 -0
  47. package/dist/modules/@powerhousedao/reactor-browser/chunk-XBTEGV5M.js +17 -0
  48. package/dist/modules/@powerhousedao/reactor-browser/chunk-Y7NTRTMT.js +25 -0
  49. package/dist/modules/@powerhousedao/reactor-browser/chunk-YG67WAIS.js +0 -0
  50. package/dist/modules/@powerhousedao/reactor-browser/chunk-YSOX63EM.js +178 -0
  51. package/dist/modules/@powerhousedao/reactor-browser/chunk-YWKVPJNL.js +52 -0
  52. package/dist/modules/@powerhousedao/reactor-browser/chunk-ZL5IPB6D.js +0 -0
  53. package/dist/modules/@powerhousedao/reactor-browser/chunk-ZWFCVUBU.js +113 -0
  54. package/dist/modules/@powerhousedao/reactor-browser/context/index.js +16 -0
  55. package/dist/modules/@powerhousedao/reactor-browser/context/read-mode.js +15 -0
  56. package/dist/modules/@powerhousedao/reactor-browser/crypto/browser.js +7 -0
  57. package/dist/modules/@powerhousedao/reactor-browser/crypto/index.js +7 -0
  58. package/dist/modules/@powerhousedao/reactor-browser/document-model.js +10 -0
  59. package/dist/modules/@powerhousedao/reactor-browser/hooks/document-state.js +96 -0
  60. package/dist/modules/@powerhousedao/reactor-browser/hooks/index.js +98 -0
  61. package/dist/modules/@powerhousedao/reactor-browser/hooks/useAddDebouncedOperations.js +11 -0
  62. package/dist/modules/@powerhousedao/reactor-browser/hooks/useConnectCrypto.js +12 -0
  63. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDocument.js +7 -0
  64. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDocumentDispatch.js +7 -0
  65. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDocumentDrives.js +13 -0
  66. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDocumentEditor.js +20 -0
  67. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDriveActions.js +9 -0
  68. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDriveActionsWithUiNodes.js +14 -0
  69. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDriveContext.js +9 -0
  70. package/dist/modules/@powerhousedao/reactor-browser/hooks/useUiNodesContext.js +46 -0
  71. package/dist/modules/@powerhousedao/reactor-browser/hooks/useUserPermissions.js +7 -0
  72. package/dist/modules/@powerhousedao/reactor-browser/index.js +125 -0
  73. package/dist/modules/@powerhousedao/reactor-browser/reactor.js +11 -0
  74. package/dist/modules/@powerhousedao/reactor-browser/renown/constants.js +53 -0
  75. package/dist/modules/@powerhousedao/reactor-browser/renown/types.js +1 -0
  76. package/dist/modules/@powerhousedao/reactor-browser/storage/index.js +1 -0
  77. package/dist/modules/@powerhousedao/reactor-browser/storage/types.js +1 -0
  78. package/dist/modules/@powerhousedao/reactor-browser/uiNodes/constants.js +37 -0
  79. package/dist/modules/@powerhousedao/reactor-browser/uiNodes/types.js +1 -0
  80. package/dist/modules/@powerhousedao/reactor-browser/utils/export-document.js +8 -0
  81. package/dist/modules/@powerhousedao/reactor-browser/utils/index.js +9 -0
  82. package/dist/modules/@powerhousedao/reactor-browser/utils/signature.js +10 -0
  83. package/dist/service-worker.js +46 -2
  84. package/dist/swEnv.js +9 -8
  85. package/dist/vite-envs.sh +56 -35
  86. package/nginx.conf +93 -0
  87. package/nginx.sh +10 -0
  88. package/package.json +36 -50
  89. package/dist/assets/ArrowFilledRight-blx8xu7X-D3d8PUWh.js +0 -2
  90. package/dist/assets/ArrowFilledRight-blx8xu7X-D3d8PUWh.js.map +0 -1
  91. package/dist/assets/ArrowLeft-7pYNK4eX-8ZR_YHAJ.js +0 -2
  92. package/dist/assets/ArrowLeft-7pYNK4eX-8ZR_YHAJ.js.map +0 -1
  93. package/dist/assets/ArrowUp-Bbr_dwo_-C5ppCQo4.js +0 -2
  94. package/dist/assets/ArrowUp-Bbr_dwo_-C5ppCQo4.js.map +0 -1
  95. package/dist/assets/BarChart-B0G05Nfd-CHDJ7OaJ.js +0 -2
  96. package/dist/assets/BarChart-B0G05Nfd-CHDJ7OaJ.js.map +0 -1
  97. package/dist/assets/BaseArrowLeft-DBzhFHMt-Dkbf2sWs.js +0 -2
  98. package/dist/assets/BaseArrowLeft-DBzhFHMt-Dkbf2sWs.js.map +0 -1
  99. package/dist/assets/BaseArrowRight-DYQTBWAs-CkkPllYm.js +0 -2
  100. package/dist/assets/BaseArrowRight-DYQTBWAs-CkkPllYm.js.map +0 -1
  101. package/dist/assets/Braces-N-sH2Zyc-3LcexUsR.js +0 -2
  102. package/dist/assets/Braces-N-sH2Zyc-3LcexUsR.js.map +0 -1
  103. package/dist/assets/Branch-CWdBw1_P-CmGdOXsI.js +0 -2
  104. package/dist/assets/Branch-CWdBw1_P-CmGdOXsI.js.map +0 -1
  105. package/dist/assets/BrickGlobe-67zaG6_H-DP0By6z_.js +0 -2
  106. package/dist/assets/BrickGlobe-67zaG6_H-DP0By6z_.js.map +0 -1
  107. package/dist/assets/Briefcase-CedW3KRR-DO5_k15F.js +0 -2
  108. package/dist/assets/Briefcase-CedW3KRR-DO5_k15F.js.map +0 -1
  109. package/dist/assets/Calendar-C-6HV96D-YetudWvP.js +0 -2
  110. package/dist/assets/Calendar-C-6HV96D-YetudWvP.js.map +0 -1
  111. package/dist/assets/Caret-Ep0j0fz2-By3ojfim.js +0 -2
  112. package/dist/assets/Caret-Ep0j0fz2-By3ojfim.js.map +0 -1
  113. package/dist/assets/CaretDown-3X7LFYBf-C43xdKg8.js +0 -2
  114. package/dist/assets/CaretDown-3X7LFYBf-C43xdKg8.js.map +0 -1
  115. package/dist/assets/CaretSort-BkGdLETT-DVOzEEqR.js +0 -2
  116. package/dist/assets/CaretSort-BkGdLETT-DVOzEEqR.js.map +0 -1
  117. package/dist/assets/Check-DV-U4AEq-B582NMZp.js +0 -2
  118. package/dist/assets/Check-DV-U4AEq-B582NMZp.js.map +0 -1
  119. package/dist/assets/CheckCircle-DI5fEgGd-CVF4LDhR.js +0 -2
  120. package/dist/assets/CheckCircle-DI5fEgGd-CVF4LDhR.js.map +0 -1
  121. package/dist/assets/CheckCircleFill-C-F0v5mB-BSW1YMqM.js +0 -2
  122. package/dist/assets/CheckCircleFill-C-F0v5mB-BSW1YMqM.js.map +0 -1
  123. package/dist/assets/Checkmark-BXnfChpo-CyQitGI2.js +0 -2
  124. package/dist/assets/Checkmark-BXnfChpo-CyQitGI2.js.map +0 -1
  125. package/dist/assets/ChevronDown-ouBxrU-k-eUsCPXcB.js +0 -2
  126. package/dist/assets/ChevronDown-ouBxrU-k-eUsCPXcB.js.map +0 -1
  127. package/dist/assets/Circle-n3-Wh4HS-8dOehHQf.js +0 -2
  128. package/dist/assets/Circle-n3-Wh4HS-8dOehHQf.js.map +0 -1
  129. package/dist/assets/CircleInfo-BhZY3C2Q-CZgYK1h2.js +0 -2
  130. package/dist/assets/CircleInfo-BhZY3C2Q-CZgYK1h2.js.map +0 -1
  131. package/dist/assets/ClockFill-Bd0t48q7-CcfHiJtH.js +0 -2
  132. package/dist/assets/ClockFill-Bd0t48q7-CcfHiJtH.js.map +0 -1
  133. package/dist/assets/CloudSlash-B-zJBjaD-CxVyp-Ac.js +0 -2
  134. package/dist/assets/CloudSlash-B-zJBjaD-CxVyp-Ac.js.map +0 -1
  135. package/dist/assets/Collapse-DRDB8Czs-CGcuZQgy.js +0 -2
  136. package/dist/assets/Collapse-DRDB8Czs-CGcuZQgy.js.map +0 -1
  137. package/dist/assets/Connect-Dme-qfKq-CgniLji8.js +0 -2
  138. package/dist/assets/Connect-Dme-qfKq-CgniLji8.js.map +0 -1
  139. package/dist/assets/Discord-CAS0Cj7s-CcsBWpnf.js +0 -2
  140. package/dist/assets/Discord-CAS0Cj7s-CcsBWpnf.js.map +0 -1
  141. package/dist/assets/Drive-GMcgBcIY-CzahDx9j.js +0 -2
  142. package/dist/assets/Drive-GMcgBcIY-CzahDx9j.js.map +0 -1
  143. package/dist/assets/Ellipsis-XK8AwMEC-BuVBeYhB.js +0 -2
  144. package/dist/assets/Ellipsis-XK8AwMEC-BuVBeYhB.js.map +0 -1
  145. package/dist/assets/Error-BmIZ2ZUy-CphzuMLn.js +0 -2
  146. package/dist/assets/Error-BmIZ2ZUy-CphzuMLn.js.map +0 -1
  147. package/dist/assets/Exclamation-CVsNS_QS-DLccamql.js +0 -2
  148. package/dist/assets/Exclamation-CVsNS_QS-DLccamql.js.map +0 -1
  149. package/dist/assets/FilesEarmark-CyrCQy8E-Bhut4E02.js +0 -2
  150. package/dist/assets/FilesEarmark-CyrCQy8E-Bhut4E02.js.map +0 -1
  151. package/dist/assets/FolderClose-DG_qHisc-CH6NoBuu.js +0 -2
  152. package/dist/assets/FolderClose-DG_qHisc-CH6NoBuu.js.map +0 -1
  153. package/dist/assets/FolderOpen-kDoWFkJO-Cciutkdg.js +0 -2
  154. package/dist/assets/FolderOpen-kDoWFkJO-Cciutkdg.js.map +0 -1
  155. package/dist/assets/FolderPlus-CSBSl9lZ-CifD0ek9.js +0 -2
  156. package/dist/assets/FolderPlus-CSBSl9lZ-CifD0ek9.js.map +0 -1
  157. package/dist/assets/Forum-DZ-CkLFh-BwabccAX.js +0 -2
  158. package/dist/assets/Forum-DZ-CkLFh-BwabccAX.js.map +0 -1
  159. package/dist/assets/Gear-cUlHJ4q6-B9R2l_9_.js +0 -2
  160. package/dist/assets/Gear-cUlHJ4q6-B9R2l_9_.js.map +0 -1
  161. package/dist/assets/Github-0PLiINY0-CjkZIHCO.js +0 -2
  162. package/dist/assets/Github-0PLiINY0-CjkZIHCO.js.map +0 -1
  163. package/dist/assets/Globe-CIYqVkpa-CL530H46.js +0 -2
  164. package/dist/assets/Globe-CIYqVkpa-CL530H46.js.map +0 -1
  165. package/dist/assets/GlobeWww-DN4yKujh-Ci7aa5CE.js +0 -2
  166. package/dist/assets/GlobeWww-DN4yKujh-Ci7aa5CE.js.map +0 -1
  167. package/dist/assets/Hdd-Dn_LdJIh-CJ6x9Bve.js +0 -2
  168. package/dist/assets/Hdd-Dn_LdJIh-CJ6x9Bve.js.map +0 -1
  169. package/dist/assets/History-BP4SmaS_-P4WBKyqX.js +0 -2
  170. package/dist/assets/History-BP4SmaS_-P4WBKyqX.js.map +0 -1
  171. package/dist/assets/InfoSquare-C98JaLiz-yPcGR71f.js +0 -2
  172. package/dist/assets/InfoSquare-C98JaLiz-yPcGR71f.js.map +0 -1
  173. package/dist/assets/Link-BF7aZjVu-CXIVQOz6.js +0 -2
  174. package/dist/assets/Link-BF7aZjVu-CXIVQOz6.js.map +0 -1
  175. package/dist/assets/Linkedin-DJwIkS6q-Dkb5Tp_Z.js +0 -2
  176. package/dist/assets/Linkedin-DJwIkS6q-Dkb5Tp_Z.js.map +0 -1
  177. package/dist/assets/Lock-PyaFHdNS-D_qxRTye.js +0 -2
  178. package/dist/assets/Lock-PyaFHdNS-D_qxRTye.js.map +0 -1
  179. package/dist/assets/M-DozhhPMY-DBQw97P_.js +0 -2
  180. package/dist/assets/M-DozhhPMY-DBQw97P_.js.map +0 -1
  181. package/dist/assets/Pencil-D7lvxXIP-D830iveq.js +0 -2
  182. package/dist/assets/Pencil-D7lvxXIP-D830iveq.js.map +0 -1
  183. package/dist/assets/People-CUB8LYKf-CyJmMqcw.js +0 -2
  184. package/dist/assets/People-CUB8LYKf-CyJmMqcw.js.map +0 -1
  185. package/dist/assets/Person-DuL4PQzm-ttQR0nPy.js +0 -2
  186. package/dist/assets/Person-DuL4PQzm-ttQR0nPy.js.map +0 -1
  187. package/dist/assets/Plus-DPFWGJM4-BztpK8li.js +0 -2
  188. package/dist/assets/Plus-DPFWGJM4-BztpK8li.js.map +0 -1
  189. package/dist/assets/PlusCircle-BEnWRjHa-w5zztKGx.js +0 -2
  190. package/dist/assets/PlusCircle-BEnWRjHa-w5zztKGx.js.map +0 -1
  191. package/dist/assets/PowerhouseLogoSmall-CmO95IAS-CDGLkst3.js +0 -2
  192. package/dist/assets/PowerhouseLogoSmall-CmO95IAS-CDGLkst3.js.map +0 -1
  193. package/dist/assets/Project-BlXuclr0-EsBam9d0.js +0 -2
  194. package/dist/assets/Project-BlXuclr0-EsBam9d0.js.map +0 -1
  195. package/dist/assets/RedoArrow-BJeEsiph-BbidqIFP.js +0 -2
  196. package/dist/assets/RedoArrow-BJeEsiph-BbidqIFP.js.map +0 -1
  197. package/dist/assets/Renown-6m7hx37h-CItksi2j.js +0 -2
  198. package/dist/assets/Renown-6m7hx37h-CItksi2j.js.map +0 -1
  199. package/dist/assets/RenownHover-CQ0TZHZv-cYQgnwQW.js +0 -2
  200. package/dist/assets/RenownHover-CQ0TZHZv-cYQgnwQW.js.map +0 -1
  201. package/dist/assets/Ring-DKv0gnwT-CDHLz87h.js +0 -2
  202. package/dist/assets/Ring-DKv0gnwT-CDHLz87h.js.map +0 -1
  203. package/dist/assets/Save-BBxj68pn-BkUvn89C.js +0 -2
  204. package/dist/assets/Save-BBxj68pn-BkUvn89C.js.map +0 -1
  205. package/dist/assets/Search-YUJuRBLe-CecGUkZA.js +0 -2
  206. package/dist/assets/Search-YUJuRBLe-CecGUkZA.js.map +0 -1
  207. package/dist/assets/Server-Bfkkjui1-lBan_3Dm.js +0 -2
  208. package/dist/assets/Server-Bfkkjui1-lBan_3Dm.js.map +0 -1
  209. package/dist/assets/Settings-mbbylBS5-Cca-sV-_.js +0 -2
  210. package/dist/assets/Settings-mbbylBS5-Cca-sV-_.js.map +0 -1
  211. package/dist/assets/Synced-DKJXzPiw-Cui8pDsS.js +0 -2
  212. package/dist/assets/Synced-DKJXzPiw-Cui8pDsS.js.map +0 -1
  213. package/dist/assets/Syncing-aT9WSMFf-2VhhyCcX.js +0 -2
  214. package/dist/assets/Syncing-aT9WSMFf-2VhhyCcX.js.map +0 -1
  215. package/dist/assets/Trash-CgSbHk-P-DIYkVMER.js +0 -2
  216. package/dist/assets/Trash-CgSbHk-P-DIYkVMER.js.map +0 -1
  217. package/dist/assets/TrashFill-DN50ercb-Oqx67xXN.js +0 -2
  218. package/dist/assets/TrashFill-DN50ercb-Oqx67xXN.js.map +0 -1
  219. package/dist/assets/VariantArrowLeft-CnuX59_e-6Zt_Q3tm.js +0 -2
  220. package/dist/assets/VariantArrowLeft-CnuX59_e-6Zt_Q3tm.js.map +0 -1
  221. package/dist/assets/VerticalDots-C8QYf7et-CCxZfvjq.js +0 -2
  222. package/dist/assets/VerticalDots-C8QYf7et-CCxZfvjq.js.map +0 -1
  223. package/dist/assets/WarningFill-WowAvi5P-D5XCckM6.js +0 -2
  224. package/dist/assets/WarningFill-WowAvi5P-D5XCckM6.js.map +0 -1
  225. package/dist/assets/XTwitter-k3Pt8itk-mvLk8TKx.js +0 -2
  226. package/dist/assets/XTwitter-k3Pt8itk-mvLk8TKx.js.map +0 -1
  227. package/dist/assets/Xmark-8qnJCs2Y-CZ3t0Fap.js +0 -2
  228. package/dist/assets/Xmark-8qnJCs2Y-CZ3t0Fap.js.map +0 -1
  229. package/dist/assets/XmarkLight-GHzDR5_F-CloMvuzt.js +0 -2
  230. package/dist/assets/XmarkLight-GHzDR5_F-CloMvuzt.js.map +0 -1
  231. package/dist/assets/Youtube-i8V0IXUU-Bkiwoayp.js +0 -2
  232. package/dist/assets/Youtube-i8V0IXUU-Bkiwoayp.js.map +0 -1
  233. package/dist/assets/app-BdM_bCqD.js +0 -842
  234. package/dist/assets/app-BdM_bCqD.js.map +0 -1
  235. package/dist/assets/app-loader-B7xllAoS.js +0 -3
  236. package/dist/assets/app-loader-B7xllAoS.js.map +0 -1
  237. package/dist/assets/app-loader-D5wPX62N.css +0 -1
  238. package/dist/assets/browser-CwKAjz_f.js +0 -43
  239. package/dist/assets/browser-CwKAjz_f.js.map +0 -1
  240. package/dist/assets/browser-Dmr6AWWk.js +0 -2
  241. package/dist/assets/browser-Dmr6AWWk.js.map +0 -1
  242. package/dist/assets/ccip-BoVyVgwR.js +0 -2
  243. package/dist/assets/ccip-BoVyVgwR.js.map +0 -1
  244. package/dist/assets/content-BmCNR4Pw.js +0 -6
  245. package/dist/assets/content-BmCNR4Pw.js.map +0 -1
  246. package/dist/assets/editor-Cma-7Z7k.js +0 -2
  247. package/dist/assets/editor-Cma-7Z7k.js.map +0 -1
  248. package/dist/assets/editor-IMwm8pim.js +0 -2
  249. package/dist/assets/editor-IMwm8pim.js.map +0 -1
  250. package/dist/assets/editor-vgD9wEAH.js +0 -2
  251. package/dist/assets/editor-vgD9wEAH.js.map +0 -1
  252. package/dist/assets/editors-DQC0rqOg.js +0 -347
  253. package/dist/assets/editors-DQC0rqOg.js.map +0 -1
  254. package/dist/assets/index-BP2fj1j6.js +0 -16
  255. package/dist/assets/index-BP2fj1j6.js.map +0 -1
  256. package/dist/assets/index-SwNHx8hV.js +0 -3
  257. package/dist/assets/index-SwNHx8hV.js.map +0 -1
  258. package/dist/assets/index-T6Et30Eh-CdVwpIBO.js +0 -12
  259. package/dist/assets/index-T6Et30Eh-CdVwpIBO.js.map +0 -1
  260. package/dist/assets/main.DQ-aV7Qq.js +0 -2
  261. package/dist/assets/main.DQ-aV7Qq.js.map +0 -1
  262. package/dist/assets/root-BKJF0Yl6.js +0 -12
  263. package/dist/assets/root-BKJF0Yl6.js.map +0 -1
  264. package/dist/assets/router-Hd499Vrp.js +0 -12
  265. package/dist/assets/router-Hd499Vrp.js.map +0 -1
  266. package/dist/assets/useUiNodes-Ch-W4vsB.js +0 -107
  267. package/dist/assets/useUiNodes-Ch-W4vsB.js.map +0 -1
  268. package/dist/service-worker.js.map +0 -1
  269. package/dist/studio/cli.js +0 -6
  270. package/dist/studio/helpers.d.ts +0 -2
  271. package/dist/studio/index.d.ts +0 -20
  272. package/dist/studio/index.js +0 -580
  273. package/dist/studio/server.d.ts +0 -7
  274. package/dist/studio/vite-plugin.d.ts +0 -12
@@ -0,0 +1,45 @@
1
+ // ../../packages/reactor-browser/dist/src/hooks/useDocumentDispatch.js
2
+ import { useEffect, useState } from "react";
3
+ function useDocumentDispatch(documentReducer, initialState, onError = console.error) {
4
+ const [state, setState] = useState(initialState);
5
+ const [error, setError] = useState();
6
+ const onErrorHandler = (error2) => {
7
+ setError(error2);
8
+ onError(error2);
9
+ };
10
+ useEffect(() => {
11
+ setState(initialState);
12
+ }, [initialState]);
13
+ const dispatch = (action, callback, onErrorCallback) => {
14
+ setError(void 0);
15
+ setState((_state) => {
16
+ if (!documentReducer || !_state)
17
+ return _state;
18
+ try {
19
+ const newState = documentReducer(_state, action);
20
+ const scope = action.scope ?? "global";
21
+ const operations = newState.operations[scope];
22
+ const operation = operations[operations.length - 1];
23
+ if (operation.error) {
24
+ const error2 = new Error(operation.error);
25
+ onErrorHandler(error2);
26
+ onErrorCallback?.(error2);
27
+ }
28
+ callback?.(operation, {
29
+ prevState: { ..._state },
30
+ newState: { ...newState }
31
+ });
32
+ return newState;
33
+ } catch (error2) {
34
+ onErrorHandler(error2);
35
+ onErrorCallback?.(error2);
36
+ return _state;
37
+ }
38
+ });
39
+ };
40
+ return [state, dispatch, error];
41
+ }
42
+
43
+ export {
44
+ useDocumentDispatch
45
+ };
@@ -0,0 +1,48 @@
1
+ import {
2
+ buildSignedOperation
3
+ } from "./chunk-FQF4YAVC.js";
4
+
5
+ // ../../packages/reactor-browser/dist/src/utils/signature.js
6
+ async function signOperation(operation, sign, documentId, document, reducer, user) {
7
+ if (!user)
8
+ return operation;
9
+ if (!operation.context)
10
+ return operation;
11
+ if (!operation.context.signer)
12
+ return operation;
13
+ if (!reducer) {
14
+ console.error(`Document model '${document.documentType}' does not have a reducer`);
15
+ return operation;
16
+ }
17
+ const context = {
18
+ documentId,
19
+ signer: operation.context.signer
20
+ };
21
+ const signedOperation = await buildSignedOperation(operation, reducer, document, context, sign);
22
+ return signedOperation;
23
+ }
24
+ function addActionContext(action, connectDid, user) {
25
+ if (!user)
26
+ return action;
27
+ const signer = {
28
+ app: {
29
+ name: "Connect",
30
+ key: connectDid || ""
31
+ },
32
+ user: {
33
+ address: user.address,
34
+ networkId: user.networkId,
35
+ chainId: user.chainId
36
+ },
37
+ signatures: []
38
+ };
39
+ return {
40
+ context: { signer },
41
+ ...action
42
+ };
43
+ }
44
+
45
+ export {
46
+ signOperation,
47
+ addActionContext
48
+ };
@@ -0,0 +1,36 @@
1
+ // ../../packages/reactor-browser/dist/src/hooks/useDocument.js
2
+ import { useCallback, useEffect, useState } from "react";
3
+ function useDocument(reactor, documentMeta = {}) {
4
+ const { documentId, documentType, driveId } = documentMeta;
5
+ const [document, setDocument] = useState();
6
+ const onStrandUpdate = useCallback((cb) => {
7
+ if (!reactor) {
8
+ throw new Error("Reactor is not loaded");
9
+ }
10
+ return reactor.on("strandUpdate", cb);
11
+ }, [reactor]);
12
+ useEffect(() => {
13
+ if (!reactor)
14
+ return;
15
+ if (!driveId || !documentId || !documentType)
16
+ return;
17
+ reactor.getDocument(driveId, documentId).then(setDocument).catch(console.error);
18
+ }, [driveId, documentId, documentType, reactor]);
19
+ useEffect(() => {
20
+ if (!reactor)
21
+ return;
22
+ if (!driveId || !documentId || !documentType)
23
+ return;
24
+ const removeListener = onStrandUpdate((strand) => {
25
+ if (strand.driveId === driveId && strand.documentId === documentId) {
26
+ reactor.getDocument(driveId, documentId).then(setDocument).catch(console.error);
27
+ }
28
+ });
29
+ return removeListener;
30
+ }, [onStrandUpdate, driveId, documentId, documentType]);
31
+ return document;
32
+ }
33
+
34
+ export {
35
+ useDocument
36
+ };
@@ -0,0 +1,14 @@
1
+ import {
2
+ documentModelDocumentModelModule
3
+ } from "./chunk-FQF4YAVC.js";
4
+
5
+ // ../../packages/reactor-browser/dist/src/document-model.js
6
+ var baseDocumentModelsMap = {
7
+ DocumentModel: documentModelDocumentModelModule
8
+ };
9
+ var baseDocumentModels = Object.values(baseDocumentModelsMap);
10
+
11
+ export {
12
+ baseDocumentModelsMap,
13
+ baseDocumentModels
14
+ };
@@ -0,0 +1,53 @@
1
+ import {
2
+ addActionContext,
3
+ signOperation
4
+ } from "./chunk-IQTSFTNF.js";
5
+ import {
6
+ useAddDebouncedOperations
7
+ } from "./chunk-CO2RVWYY.js";
8
+ import {
9
+ useConnectCrypto,
10
+ useConnectDid
11
+ } from "./chunk-2ONJ2PX4.js";
12
+ import {
13
+ useDocumentDispatch
14
+ } from "./chunk-GDP7BUIH.js";
15
+
16
+ // ../../packages/reactor-browser/dist/src/hooks/useDocumentEditor.js
17
+ function useDocumentEditorProps(reactor, props) {
18
+ const { nodeId, driveId, documentModelModule, document: initialDocument, user, connectDid, sign } = props;
19
+ const addDebouncedOprations = useAddDebouncedOperations(reactor, {
20
+ driveId,
21
+ documentId: nodeId
22
+ });
23
+ const [document, _dispatch, error] = useDocumentDispatch(documentModelModule.reducer, initialDocument);
24
+ function dispatch(action, onErrorCallback) {
25
+ const callback = (operation, state) => {
26
+ const { prevState } = state;
27
+ signOperation(operation, sign, nodeId, prevState, documentModelModule.reducer, user).then((op) => {
28
+ return addDebouncedOprations(op);
29
+ }).catch(console.error);
30
+ };
31
+ _dispatch(addActionContext(action, connectDid, user), callback, onErrorCallback);
32
+ }
33
+ return {
34
+ dispatch,
35
+ document,
36
+ error
37
+ };
38
+ }
39
+ function useDocumentEditor(reactor, props) {
40
+ const connectDid = useConnectDid();
41
+ const { sign } = useConnectCrypto();
42
+ const documentEditorDispatch = useDocumentEditorProps(reactor, {
43
+ ...props,
44
+ connectDid,
45
+ sign
46
+ });
47
+ return documentEditorDispatch;
48
+ }
49
+
50
+ export {
51
+ useDocumentEditorProps,
52
+ useDocumentEditor
53
+ };
@@ -0,0 +1,11 @@
1
+ // ../../packages/reactor-browser/dist/src/hooks/useUserPermissions.js
2
+ function useUserPermissions() {
3
+ return {
4
+ isAllowedToCreateDocuments: true,
5
+ isAllowedToEditDocuments: true
6
+ };
7
+ }
8
+
9
+ export {
10
+ useUserPermissions
11
+ };
@@ -0,0 +1,12 @@
1
+ // ../../packages/reactor-browser/dist/src/utils/index.js
2
+ function documentToHash(drive) {
3
+ return Object.keys(drive.operations).map((key) => `${key}:${drive.operations[key].length}:${drive.operations[key].at(-1)?.hash}`).join(":");
4
+ }
5
+ function drivesToHash(drives) {
6
+ return drives.map(documentToHash).join("&");
7
+ }
8
+
9
+ export {
10
+ documentToHash,
11
+ drivesToHash
12
+ };
@@ -0,0 +1,162 @@
1
+ import {
2
+ DRIVE,
3
+ FILE
4
+ } from "./chunk-7OQWVUC5.js";
5
+
6
+ // ../../packages/reactor-browser/dist/src/hooks/useUiNodesContext.js
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ import { createContext, useCallback, useContext, useEffect, useMemo, useState } from "react";
9
+ var defaultTreeItemContextValue = {
10
+ driveNodes: [],
11
+ selectedNode: null,
12
+ selectedNodePath: [],
13
+ selectedDriveNode: null,
14
+ selectedParentNode: null,
15
+ setDriveNodes: () => {
16
+ },
17
+ setSelectedNode: () => {
18
+ },
19
+ getNodeById: () => null,
20
+ getParentNode: () => null,
21
+ getIsSelected: () => false,
22
+ getIsInSelectedNodePath: () => false,
23
+ getSiblings: () => []
24
+ };
25
+ var UiNodesContext = createContext(defaultTreeItemContextValue);
26
+ var UiNodesContextProvider = ({ children }) => {
27
+ const [driveNodes, setDriveNodes] = useState([]);
28
+ const [selectedNode, _setSelectedNode] = useState(null);
29
+ const [selectedNodePath, setSelectedNodePath] = useState([]);
30
+ const [selectedDriveNode, setSelectedDriveNode] = useState(null);
31
+ const [selectedParentNode, setSelectedParentNode] = useState(null);
32
+ const _getNodeById = useCallback((id, driveNodes2) => {
33
+ if (!driveNodes2?.length)
34
+ return null;
35
+ for (const driveNode of driveNodes2) {
36
+ if (driveNode.id === id)
37
+ return driveNode;
38
+ const node = driveNode.nodeMap[id];
39
+ if (node)
40
+ return node;
41
+ }
42
+ return null;
43
+ }, []);
44
+ const getNodeById = useCallback((id) => {
45
+ return _getNodeById(id, driveNodes);
46
+ }, [_getNodeById, driveNodes]);
47
+ const getSelectedDriveNode = useCallback((selectedNode2, driveNodes2) => {
48
+ if (!selectedNode2 || !driveNodes2?.length)
49
+ return null;
50
+ if (selectedNode2.kind === DRIVE)
51
+ return selectedNode2;
52
+ return driveNodes2.find((d) => d.id === selectedNode2.driveId) ?? null;
53
+ }, []);
54
+ const _getParentNode = useCallback((node, driveNodes2) => {
55
+ if (!driveNodes2?.length || node.kind === DRIVE) {
56
+ return null;
57
+ }
58
+ const parentNode = _getNodeById(node.parentFolder, driveNodes2);
59
+ if (!parentNode)
60
+ return null;
61
+ if (parentNode.kind === FILE) {
62
+ throw new Error(`Parent node ${node.parentFolder} is a file, not a folder`);
63
+ }
64
+ return parentNode;
65
+ }, [_getNodeById]);
66
+ const getParentNode = useCallback((uiNode) => {
67
+ return _getParentNode(uiNode, driveNodes);
68
+ }, [_getParentNode, driveNodes]);
69
+ const getSelectedParentNode = useCallback((selectedNode2, driveNodes2) => {
70
+ if (!selectedNode2 || !driveNodes2?.length)
71
+ return null;
72
+ if (selectedNode2.kind === FILE)
73
+ return _getParentNode(selectedNode2, driveNodes2);
74
+ return selectedNode2;
75
+ }, [_getParentNode]);
76
+ const getPathToNode = useCallback((uiNode, driveNodes2) => {
77
+ const path = [];
78
+ const driveNode = driveNodes2.find((d) => d.id === uiNode.driveId);
79
+ let current = uiNode;
80
+ while (current) {
81
+ path.push(current);
82
+ current = current.parentFolder === driveNode?.id ? driveNode : current.parentFolder ? driveNode?.nodeMap[current.parentFolder] : void 0;
83
+ }
84
+ return path.reverse();
85
+ }, []);
86
+ const setSelectedNode = useCallback((uiNode) => {
87
+ _setSelectedNode(uiNode);
88
+ setSelectedDriveNode(getSelectedDriveNode(uiNode, driveNodes));
89
+ setSelectedParentNode(getSelectedParentNode(uiNode, driveNodes));
90
+ if (!uiNode) {
91
+ setSelectedNodePath([]);
92
+ return;
93
+ }
94
+ if (uiNode.kind === DRIVE) {
95
+ setSelectedNodePath([uiNode]);
96
+ return;
97
+ }
98
+ const newSelectedNodePath = getPathToNode(uiNode, driveNodes);
99
+ setSelectedNodePath(newSelectedNodePath);
100
+ }, [driveNodes, getPathToNode, getSelectedDriveNode, getSelectedParentNode]);
101
+ const getIsSelected = useCallback((node) => {
102
+ return selectedNode === node;
103
+ }, [selectedNode]);
104
+ const getIsInSelectedNodePath = useCallback((node) => {
105
+ if (node.kind === FILE)
106
+ return false;
107
+ return selectedNodePath.includes(node);
108
+ }, [selectedNodePath]);
109
+ const getSiblings = useCallback((node) => {
110
+ if (node.kind === DRIVE) {
111
+ console.warn("Drive nodes do not have siblings, as they are top-level nodes");
112
+ return [];
113
+ }
114
+ const parent = _getParentNode(node, driveNodes);
115
+ return parent?.children ?? [];
116
+ }, [_getParentNode, driveNodes]);
117
+ useEffect(() => {
118
+ if (!selectedNode)
119
+ return;
120
+ const updatedSelectedNode = _getNodeById(selectedNode.id, driveNodes);
121
+ if (updatedSelectedNode) {
122
+ setSelectedNode(updatedSelectedNode);
123
+ }
124
+ }, [driveNodes, _getNodeById, selectedNode, setSelectedNode]);
125
+ const value = useMemo(() => ({
126
+ driveNodes,
127
+ selectedNode,
128
+ selectedNodePath,
129
+ selectedDriveNode,
130
+ selectedParentNode,
131
+ getNodeById,
132
+ getParentNode,
133
+ setDriveNodes,
134
+ setSelectedNode,
135
+ getIsSelected,
136
+ getIsInSelectedNodePath,
137
+ getSiblings
138
+ }), [
139
+ driveNodes,
140
+ selectedNode,
141
+ selectedNodePath,
142
+ selectedDriveNode,
143
+ selectedParentNode,
144
+ getNodeById,
145
+ getParentNode,
146
+ setSelectedNode,
147
+ getIsSelected,
148
+ getIsInSelectedNodePath,
149
+ getSiblings
150
+ ]);
151
+ return _jsx(UiNodesContext.Provider, { value, children });
152
+ };
153
+ var useUiNodesContext = () => {
154
+ const contextValue = useContext(UiNodesContext);
155
+ return contextValue;
156
+ };
157
+
158
+ export {
159
+ UiNodesContext,
160
+ UiNodesContextProvider,
161
+ useUiNodesContext
162
+ };
@@ -0,0 +1,250 @@
1
+ import {
2
+ atom,
3
+ useAtom
4
+ } from "./chunk-C7QRY43M.js";
5
+ import {
6
+ documentToHash
7
+ } from "./chunk-P6NJ6IAQ.js";
8
+
9
+ // ../../packages/reactor-browser/dist/src/hooks/useDocumentDrives.js
10
+ import { useMemo, useCallback } from "react";
11
+
12
+ // ../../node_modules/.pnpm/jotai@2.12.2_@types+react@18.3.20_react@18.3.1/node_modules/jotai/esm/vanilla/utils.mjs
13
+ var RESET = Symbol(
14
+ (import.meta.env ? import.meta.env.MODE : void 0) !== "production" ? "RESET" : ""
15
+ );
16
+ function atomFamily(initializeAtom, areEqual) {
17
+ let shouldRemove = null;
18
+ const atoms = /* @__PURE__ */ new Map();
19
+ const listeners = /* @__PURE__ */ new Set();
20
+ const createAtom = (param) => {
21
+ let item;
22
+ if (areEqual === void 0) {
23
+ item = atoms.get(param);
24
+ } else {
25
+ for (const [key, value] of atoms) {
26
+ if (areEqual(key, param)) {
27
+ item = value;
28
+ break;
29
+ }
30
+ }
31
+ }
32
+ if (item !== void 0) {
33
+ if (shouldRemove == null ? void 0 : shouldRemove(item[1], param)) {
34
+ createAtom.remove(param);
35
+ } else {
36
+ return item[0];
37
+ }
38
+ }
39
+ const newAtom = initializeAtom(param);
40
+ atoms.set(param, [newAtom, Date.now()]);
41
+ notifyListeners("CREATE", param, newAtom);
42
+ return newAtom;
43
+ };
44
+ const notifyListeners = (type, param, atom2) => {
45
+ for (const listener of listeners) {
46
+ listener({ type, param, atom: atom2 });
47
+ }
48
+ };
49
+ createAtom.unstable_listen = (callback) => {
50
+ listeners.add(callback);
51
+ return () => {
52
+ listeners.delete(callback);
53
+ };
54
+ };
55
+ createAtom.getParams = () => atoms.keys();
56
+ createAtom.remove = (param) => {
57
+ if (areEqual === void 0) {
58
+ if (!atoms.has(param)) return;
59
+ const [atom2] = atoms.get(param);
60
+ atoms.delete(param);
61
+ notifyListeners("REMOVE", param, atom2);
62
+ } else {
63
+ for (const [key, [atom2]] of atoms) {
64
+ if (areEqual(key, param)) {
65
+ atoms.delete(key);
66
+ notifyListeners("REMOVE", key, atom2);
67
+ break;
68
+ }
69
+ }
70
+ }
71
+ };
72
+ createAtom.setShouldRemove = (fn) => {
73
+ shouldRemove = fn;
74
+ if (!shouldRemove) return;
75
+ for (const [key, [atom2, createdAt]] of atoms) {
76
+ if (shouldRemove(createdAt, key)) {
77
+ atoms.delete(key);
78
+ notifyListeners("REMOVE", key, atom2);
79
+ }
80
+ }
81
+ };
82
+ return createAtom;
83
+ }
84
+ var isPromiseLike = (x) => typeof (x == null ? void 0 : x.then) === "function";
85
+ function createJSONStorage(getStringStorage = () => {
86
+ try {
87
+ return window.localStorage;
88
+ } catch (e) {
89
+ if ((import.meta.env ? import.meta.env.MODE : void 0) !== "production") {
90
+ if (typeof window !== "undefined") {
91
+ console.warn(e);
92
+ }
93
+ }
94
+ return void 0;
95
+ }
96
+ }, options) {
97
+ var _a;
98
+ let lastStr;
99
+ let lastValue;
100
+ const storage = {
101
+ getItem: (key, initialValue) => {
102
+ var _a2, _b;
103
+ const parse = (str2) => {
104
+ str2 = str2 || "";
105
+ if (lastStr !== str2) {
106
+ try {
107
+ lastValue = JSON.parse(str2, options == null ? void 0 : options.reviver);
108
+ } catch (e) {
109
+ return initialValue;
110
+ }
111
+ lastStr = str2;
112
+ }
113
+ return lastValue;
114
+ };
115
+ const str = (_b = (_a2 = getStringStorage()) == null ? void 0 : _a2.getItem(key)) != null ? _b : null;
116
+ if (isPromiseLike(str)) {
117
+ return str.then(parse);
118
+ }
119
+ return parse(str);
120
+ },
121
+ setItem: (key, newValue) => {
122
+ var _a2;
123
+ return (_a2 = getStringStorage()) == null ? void 0 : _a2.setItem(
124
+ key,
125
+ JSON.stringify(newValue, options == null ? void 0 : options.replacer)
126
+ );
127
+ },
128
+ removeItem: (key) => {
129
+ var _a2;
130
+ return (_a2 = getStringStorage()) == null ? void 0 : _a2.removeItem(key);
131
+ }
132
+ };
133
+ const createHandleSubscribe = (subscriber2) => (key, callback, initialValue) => subscriber2(key, (v) => {
134
+ let newValue;
135
+ try {
136
+ newValue = JSON.parse(v || "");
137
+ } catch (e) {
138
+ newValue = initialValue;
139
+ }
140
+ callback(newValue);
141
+ });
142
+ let subscriber;
143
+ try {
144
+ subscriber = (_a = getStringStorage()) == null ? void 0 : _a.subscribe;
145
+ } catch (e) {
146
+ }
147
+ if (!subscriber && typeof window !== "undefined" && typeof window.addEventListener === "function" && window.Storage) {
148
+ subscriber = (key, callback) => {
149
+ if (!(getStringStorage() instanceof window.Storage)) {
150
+ return () => {
151
+ };
152
+ }
153
+ const storageEventCallback = (e) => {
154
+ if (e.storageArea === getStringStorage() && e.key === key) {
155
+ callback(e.newValue);
156
+ }
157
+ };
158
+ window.addEventListener("storage", storageEventCallback);
159
+ return () => {
160
+ window.removeEventListener("storage", storageEventCallback);
161
+ };
162
+ };
163
+ }
164
+ if (subscriber) {
165
+ storage.subscribe = createHandleSubscribe(subscriber);
166
+ }
167
+ return storage;
168
+ }
169
+ var defaultStorage = createJSONStorage();
170
+
171
+ // ../../packages/reactor-browser/dist/src/hooks/useDocumentDrives.js
172
+ var documentDrivesAtom = atom(/* @__PURE__ */ new Map());
173
+ function drivesToHash(drives) {
174
+ return drives.map(documentToHash).join("&");
175
+ }
176
+ var readWriteDocumentDrivesAtom = (server) => () => atom((get) => server ? get(documentDrivesAtom).get(server) ?? [] : [], (_get, set, newDrives) => {
177
+ set(documentDrivesAtom, (map) => {
178
+ if (!server) {
179
+ return /* @__PURE__ */ new Map();
180
+ }
181
+ const currentDrives = map.get(server) ?? [];
182
+ if (currentDrives.length !== newDrives.length || drivesToHash(currentDrives) !== drivesToHash(newDrives)) {
183
+ return new Map(map).set(server, newDrives);
184
+ } else {
185
+ return map;
186
+ }
187
+ });
188
+ });
189
+ var documentDrivesInitializedMapAtomFamily = atomFamily(() => atom("INITIAL"));
190
+ function useDocumentDrives(reactor) {
191
+ const [documentDrives, setDocumentDrives] = useAtom(useMemo(readWriteDocumentDrivesAtom(reactor), [reactor]));
192
+ const refreshDocumentDrives = useCallback(async () => {
193
+ if (!reactor) {
194
+ return;
195
+ }
196
+ const documentDrives2 = [];
197
+ try {
198
+ const driveIds = await reactor.getDrives();
199
+ for (const id of driveIds) {
200
+ try {
201
+ const drive = await reactor.getDrive(id);
202
+ documentDrives2.push(drive);
203
+ } catch (error) {
204
+ console.error(error);
205
+ }
206
+ }
207
+ } catch (error) {
208
+ console.error(error);
209
+ } finally {
210
+ setDocumentDrives(documentDrives2);
211
+ }
212
+ }, [reactor]);
213
+ const [status, setStatus] = useAtom(documentDrivesInitializedMapAtomFamily(reactor));
214
+ if (status === "INITIAL") {
215
+ setStatus("LOADING");
216
+ refreshDocumentDrives().then(() => setStatus("LOADED")).catch(() => setStatus("ERROR"));
217
+ }
218
+ const serverSubscribeUpdates = useCallback((clientErrorhandler) => {
219
+ if (!reactor) {
220
+ return;
221
+ }
222
+ const unsub1 = reactor.on("syncStatus", async (_event, _status, error) => {
223
+ if (error) {
224
+ console.error(error);
225
+ }
226
+ await refreshDocumentDrives();
227
+ });
228
+ const unsub2 = reactor.on("strandUpdate", () => refreshDocumentDrives());
229
+ const unsubOnSyncError = reactor.on("clientStrandsError", clientErrorhandler.strandsErrorHandler);
230
+ const unsub3 = reactor.on("defaultRemoteDrive", () => refreshDocumentDrives());
231
+ return () => {
232
+ unsub1();
233
+ unsub2();
234
+ unsubOnSyncError();
235
+ unsub3();
236
+ };
237
+ }, [reactor, refreshDocumentDrives]);
238
+ return useMemo(() => [
239
+ documentDrives,
240
+ refreshDocumentDrives,
241
+ serverSubscribeUpdates,
242
+ status
243
+ ], [documentDrives, status]);
244
+ }
245
+
246
+ export {
247
+ drivesToHash,
248
+ documentDrivesInitializedMapAtomFamily,
249
+ useDocumentDrives
250
+ };