@powerhousedao/connect 1.0.0-sky.189 → 1.0.1-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 (276) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +1 -0
  3. package/dist/.env +10 -8
  4. package/dist/assets/app-CDyci3gH.js +79796 -0
  5. package/dist/assets/app-CYjeY4R-.css +5715 -0
  6. package/dist/assets/app-loader-CrrV0_f9.js +31458 -0
  7. package/dist/assets/app-loader-DC8DXqh9.css +5608 -0
  8. package/dist/assets/ccip-D3crAAb6.js +170 -0
  9. package/dist/assets/connect-loader-CvOC68Ih.mp4 +0 -0
  10. package/dist/assets/content-BCSN7ap3.js +3967 -0
  11. package/dist/assets/home-bg-BEhF9NuW.png +0 -0
  12. package/dist/assets/index-BomSBpCj.js +12 -0
  13. package/dist/assets/index-CvT8Fjzs.js +2560 -0
  14. package/dist/assets/index-gSAUFVts.js +46565 -0
  15. package/dist/assets/main.-_7fbZHa.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 -11
  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-6MBHOHAA.js +2513 -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-FQF4YAVC.js +11917 -0
  33. package/dist/modules/@powerhousedao/reactor-browser/chunk-GDP7BUIH.js +45 -0
  34. package/dist/modules/@powerhousedao/reactor-browser/chunk-IC6B3767.js +82 -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-N5UNGAA6.js +14051 -0
  40. package/dist/modules/@powerhousedao/reactor-browser/chunk-NHD6VUCD.js +53 -0
  41. package/dist/modules/@powerhousedao/reactor-browser/chunk-OVGOA2P5.js +11 -0
  42. package/dist/modules/@powerhousedao/reactor-browser/chunk-OYYVE7RP.js +178 -0
  43. package/dist/modules/@powerhousedao/reactor-browser/chunk-P6NJ6IAQ.js +12 -0
  44. package/dist/modules/@powerhousedao/reactor-browser/chunk-QXHTR6KF.js +0 -0
  45. package/dist/modules/@powerhousedao/reactor-browser/chunk-RGIB4DD4.js +162 -0
  46. package/dist/modules/@powerhousedao/reactor-browser/chunk-U34SEKEB.js +250 -0
  47. package/dist/modules/@powerhousedao/reactor-browser/chunk-U36SV333.js +0 -0
  48. package/dist/modules/@powerhousedao/reactor-browser/chunk-UDKYG6I4.js +113 -0
  49. package/dist/modules/@powerhousedao/reactor-browser/chunk-XBTEGV5M.js +17 -0
  50. package/dist/modules/@powerhousedao/reactor-browser/chunk-Y7NTRTMT.js +25 -0
  51. package/dist/modules/@powerhousedao/reactor-browser/chunk-YG67WAIS.js +0 -0
  52. package/dist/modules/@powerhousedao/reactor-browser/chunk-YWKVPJNL.js +52 -0
  53. package/dist/modules/@powerhousedao/reactor-browser/chunk-ZL5IPB6D.js +0 -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 -9
  85. package/dist/vite-envs.sh +56 -44
  86. package/nginx.conf +93 -0
  87. package/nginx.sh +10 -0
  88. package/package.json +119 -150
  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-CYieqxAC.js +0 -1207
  234. package/dist/assets/app-CYieqxAC.js.map +0 -1
  235. package/dist/assets/app-loader-B-uyrf_f.js +0 -3
  236. package/dist/assets/app-loader-B-uyrf_f.js.map +0 -1
  237. package/dist/assets/app-loader-DoI5W0wZ.css +0 -1
  238. package/dist/assets/browser-Dmr6AWWk.js +0 -2
  239. package/dist/assets/browser-Dmr6AWWk.js.map +0 -1
  240. package/dist/assets/browser-j9PCU6X2.js +0 -43
  241. package/dist/assets/browser-j9PCU6X2.js.map +0 -1
  242. package/dist/assets/ccip-C5sF4CPo.js +0 -2
  243. package/dist/assets/ccip-C5sF4CPo.js.map +0 -1
  244. package/dist/assets/content-oOo0Zcrz.js +0 -92
  245. package/dist/assets/content-oOo0Zcrz.js.map +0 -1
  246. package/dist/assets/editor-BehREuht.js +0 -2
  247. package/dist/assets/editor-BehREuht.js.map +0 -1
  248. package/dist/assets/editor-BiJUUdCl.js +0 -2
  249. package/dist/assets/editor-BiJUUdCl.js.map +0 -1
  250. package/dist/assets/editor-CKVy7XQ_.js +0 -2
  251. package/dist/assets/editor-CKVy7XQ_.js.map +0 -1
  252. package/dist/assets/editor-OCrWWNue.js +0 -2
  253. package/dist/assets/editor-OCrWWNue.js.map +0 -1
  254. package/dist/assets/editors-CXzpYxzV.js +0 -380
  255. package/dist/assets/editors-CXzpYxzV.js.map +0 -1
  256. package/dist/assets/index-BQercxn9.js +0 -16
  257. package/dist/assets/index-BQercxn9.js.map +0 -1
  258. package/dist/assets/index-DLIqrgw1.js +0 -3
  259. package/dist/assets/index-DLIqrgw1.js.map +0 -1
  260. package/dist/assets/index-T6Et30Eh-DxlgfU62.js +0 -12
  261. package/dist/assets/index-T6Et30Eh-DxlgfU62.js.map +0 -1
  262. package/dist/assets/main.DyaR6eIt.js +0 -2
  263. package/dist/assets/main.DyaR6eIt.js.map +0 -1
  264. package/dist/assets/root-gagZfA5U.js +0 -12
  265. package/dist/assets/root-gagZfA5U.js.map +0 -1
  266. package/dist/assets/router-Bg0sntVG.js +0 -12
  267. package/dist/assets/router-Bg0sntVG.js.map +0 -1
  268. package/dist/assets/useUiNodes-C_gncg9W.js +0 -107
  269. package/dist/assets/useUiNodes-C_gncg9W.js.map +0 -1
  270. package/dist/service-worker.js.map +0 -1
  271. package/dist/studio/cli.js +0 -5
  272. package/dist/studio/helpers.d.ts +0 -2
  273. package/dist/studio/index.d.ts +0 -15
  274. package/dist/studio/index.js +0 -559
  275. package/dist/studio/server.d.ts +0 -5
  276. package/dist/studio/vite-plugin.d.ts +0 -12
@@ -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,178 @@
1
+ import {
2
+ useUserPermissions
3
+ } from "./chunk-OVGOA2P5.js";
4
+ import {
5
+ drivesToHash
6
+ } from "./chunk-P6NJ6IAQ.js";
7
+ import {
8
+ ReadDriveNotFoundError
9
+ } from "./chunk-N5UNGAA6.js";
10
+
11
+ // ../../packages/reactor-browser/dist/src/context/read-mode.js
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ import { createContext, useContext, useEffect, useMemo, useState } from "react";
14
+ var __decorate = function(decorators, target, key, desc) {
15
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
16
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
17
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
18
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
19
+ };
20
+ var logger = {
21
+ error: console.error
22
+ };
23
+ function checkServer(target, propertyKey, descriptor) {
24
+ const originalMethod = descriptor.value;
25
+ descriptor.value = function(...args) {
26
+ if (!this.server) {
27
+ throw new Error("Read mode document drive not initialized.");
28
+ }
29
+ return originalMethod.apply(this, args);
30
+ };
31
+ }
32
+ function bindClassMethods(instance) {
33
+ const prototype = Object.getPrototypeOf(instance);
34
+ const propertyNames = Object.getOwnPropertyNames(prototype);
35
+ propertyNames.forEach((name) => {
36
+ const descriptor = Object.getOwnPropertyDescriptor(prototype, name);
37
+ if (descriptor && typeof descriptor.value === "function" && name !== "constructor") {
38
+ instance[name] = instance[name].bind(instance);
39
+ }
40
+ });
41
+ }
42
+ var ReadModeContextImpl = class {
43
+ server;
44
+ constructor(documentDrive) {
45
+ bindClassMethods(this);
46
+ this.server = documentDrive;
47
+ }
48
+ getServer() {
49
+ return this.server;
50
+ }
51
+ setDocumentDrive(documentDrive) {
52
+ this.server = documentDrive;
53
+ }
54
+ /* eslint-disable @typescript-eslint/no-non-null-assertion */
55
+ migrateReadDrive(id, options) {
56
+ return this.server.migrateReadDrive(id, options);
57
+ }
58
+ addReadDrive(url, options) {
59
+ return this.server.addReadDrive(url, options);
60
+ }
61
+ getReadDrives() {
62
+ return this.server.getReadDrives();
63
+ }
64
+ getReadDriveBySlug(slug) {
65
+ return this.server.getReadDriveBySlug(slug);
66
+ }
67
+ getReadDrive(id) {
68
+ return this.server.getReadDrive(id);
69
+ }
70
+ getReadDriveContext(id) {
71
+ return this.server.getReadDriveContext(id);
72
+ }
73
+ fetchDrive(id) {
74
+ return this.server.fetchDrive(id);
75
+ }
76
+ fetchDocument(driveId, documentId, documentType) {
77
+ return this.server.fetchDocument(driveId, documentId, documentType);
78
+ }
79
+ deleteReadDrive(id) {
80
+ return this.server.deleteReadDrive(id);
81
+ }
82
+ onReadDrivesUpdate(listener) {
83
+ return this.server.onReadDrivesUpdate(listener);
84
+ }
85
+ };
86
+ __decorate([
87
+ checkServer
88
+ ], ReadModeContextImpl.prototype, "migrateReadDrive", null);
89
+ __decorate([
90
+ checkServer
91
+ ], ReadModeContextImpl.prototype, "addReadDrive", null);
92
+ __decorate([
93
+ checkServer
94
+ ], ReadModeContextImpl.prototype, "getReadDrives", null);
95
+ __decorate([
96
+ checkServer
97
+ ], ReadModeContextImpl.prototype, "getReadDriveBySlug", null);
98
+ __decorate([
99
+ checkServer
100
+ ], ReadModeContextImpl.prototype, "getReadDrive", null);
101
+ __decorate([
102
+ checkServer
103
+ ], ReadModeContextImpl.prototype, "getReadDriveContext", null);
104
+ __decorate([
105
+ checkServer
106
+ ], ReadModeContextImpl.prototype, "fetchDrive", null);
107
+ __decorate([
108
+ checkServer
109
+ ], ReadModeContextImpl.prototype, "fetchDocument", null);
110
+ __decorate([
111
+ checkServer
112
+ ], ReadModeContextImpl.prototype, "deleteReadDrive", null);
113
+ __decorate([
114
+ checkServer
115
+ ], ReadModeContextImpl.prototype, "onReadDrivesUpdate", null);
116
+ var ReadModeInstance = new ReadModeContextImpl();
117
+ var ReadModeContext = createContext({
118
+ ...ReadModeInstance,
119
+ readDrives: []
120
+ });
121
+ async function getReadDrives(instance) {
122
+ const driveIds = await instance.getReadDrives();
123
+ const drives = await Promise.all(driveIds.map((id) => instance.getReadDrive(id)));
124
+ return drives.filter((drive) => !(drive instanceof ReadDriveNotFoundError));
125
+ }
126
+ var ReadModeContextProvider = (props) => {
127
+ const { reactorPromise, ...restProps } = props;
128
+ const [readDrives, setReadDrives] = useState([]);
129
+ const userPermissions = useUserPermissions();
130
+ const [ready, setReady] = useState(false);
131
+ useEffect(() => {
132
+ reactorPromise.then((reactor) => {
133
+ ReadModeInstance.setDocumentDrive(reactor);
134
+ setReady(true);
135
+ }).catch(logger.error);
136
+ }, [reactorPromise]);
137
+ const readMode = userPermissions === void 0 ? void 0 : !(userPermissions.isAllowedToCreateDocuments || userPermissions.isAllowedToEditDocuments);
138
+ useMemo(() => {
139
+ if (!ready || readMode === void 0) {
140
+ return;
141
+ }
142
+ const accessLevel = readMode ? "READ" : "WRITE";
143
+ const server = ReadModeInstance.getServer();
144
+ if (server && typeof server.setAllDefaultDrivesAccessLevel === "function") {
145
+ server.setAllDefaultDrivesAccessLevel(accessLevel).catch(logger.error);
146
+ }
147
+ }, [readMode, ready]);
148
+ useEffect(() => {
149
+ if (!ready) {
150
+ return;
151
+ }
152
+ getReadDrives(ReadModeInstance).then((drives) => setReadDrives(drives)).catch(logger.error);
153
+ const unsubscribe = ReadModeInstance.onReadDrivesUpdate((newDrives) => {
154
+ setReadDrives((readDrives2) => readDrives2.length !== newDrives.length || drivesToHash(readDrives2) !== drivesToHash(newDrives) ? newDrives : readDrives2);
155
+ }).catch(logger.error);
156
+ return () => {
157
+ unsubscribe.then((unsub) => {
158
+ if (typeof unsub === "function") {
159
+ unsub();
160
+ }
161
+ }).catch(logger.error);
162
+ };
163
+ }, [ready]);
164
+ const context = useMemo(() => {
165
+ return {
166
+ ...ReadModeInstance,
167
+ readDrives
168
+ };
169
+ }, [readDrives]);
170
+ return _jsx(ReadModeContext.Provider, { ...restProps, value: context });
171
+ };
172
+ var useReadModeContext = () => useContext(ReadModeContext);
173
+
174
+ export {
175
+ ReadModeContext,
176
+ ReadModeContextProvider,
177
+ useReadModeContext
178
+ };
@@ -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
+ };