@powerhousedao/connect 1.0.4 → 1.0.8

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 (272) hide show
  1. package/README.md +1 -0
  2. package/dist/.env +13 -3
  3. package/dist/assets/app-Bw1Ba-jV.js +79356 -0
  4. package/dist/assets/app-D3TxLTK-.css +5634 -0
  5. package/dist/assets/app-loader-CjrEwupY.css +5481 -0
  6. package/dist/assets/app-loader-KTD3Q6e9.js +31333 -0
  7. package/dist/assets/ccip-D3HujWHr.js +170 -0
  8. package/dist/assets/connect-loader-CvOC68Ih.mp4 +0 -0
  9. package/dist/assets/content-D3TuBhK9.js +3937 -0
  10. package/dist/assets/home-bg-BEhF9NuW.png +0 -0
  11. package/dist/assets/index-DpasqVlD.js +12 -0
  12. package/dist/assets/index-DsNVpRhT.js +46414 -0
  13. package/dist/assets/index-yFk8X8m1.js +2560 -0
  14. package/dist/assets/main.CzEw2R-H.js +105 -0
  15. package/dist/assets/powerhouse-rounded-CeKGGUG4.png +0 -0
  16. package/dist/assets/renown-short-hover-BiSLBV7L.png +0 -0
  17. package/dist/assets/rwa-report-Bb0W5-ac.png +0 -0
  18. package/dist/assets/style-D4JhTt_m.css +1663 -0
  19. package/dist/hmr.js +1 -0
  20. package/dist/icon.ico +0 -0
  21. package/dist/index.html +49 -8
  22. package/dist/modules/@powerhousedao/reactor-browser/chunk-2ESYSVXG.js +48 -0
  23. package/dist/modules/@powerhousedao/reactor-browser/chunk-2X2M6BYG.js +2542 -0
  24. package/dist/modules/@powerhousedao/reactor-browser/chunk-45DCPCA7.js +67 -0
  25. package/dist/modules/@powerhousedao/reactor-browser/chunk-4LZZ55AN.js +82 -0
  26. package/dist/modules/@powerhousedao/reactor-browser/chunk-6AXML2S3.js +113 -0
  27. package/dist/modules/@powerhousedao/reactor-browser/chunk-7OQWVUC5.js +43 -0
  28. package/dist/modules/@powerhousedao/reactor-browser/chunk-DKDARAJS.js +0 -0
  29. package/dist/modules/@powerhousedao/reactor-browser/chunk-F3RCGUF6.js +53 -0
  30. package/dist/modules/@powerhousedao/reactor-browser/chunk-FQF4YAVC.js +11917 -0
  31. package/dist/modules/@powerhousedao/reactor-browser/chunk-FW7N6EJH.js +786 -0
  32. package/dist/modules/@powerhousedao/reactor-browser/chunk-G6LMXRY5.js +50 -0
  33. package/dist/modules/@powerhousedao/reactor-browser/chunk-GDP7BUIH.js +45 -0
  34. package/dist/modules/@powerhousedao/reactor-browser/chunk-IQTSFTNF.js +48 -0
  35. package/dist/modules/@powerhousedao/reactor-browser/chunk-J5TYPY7U.js +36 -0
  36. package/dist/modules/@powerhousedao/reactor-browser/chunk-LH2T6NLN.js +0 -0
  37. package/dist/modules/@powerhousedao/reactor-browser/chunk-LRNZZ3SR.js +14 -0
  38. package/dist/modules/@powerhousedao/reactor-browser/chunk-M2UUQ5LH.js +250 -0
  39. package/dist/modules/@powerhousedao/reactor-browser/chunk-OVGOA2P5.js +11 -0
  40. package/dist/modules/@powerhousedao/reactor-browser/chunk-P46ZMPJ3.js +178 -0
  41. package/dist/modules/@powerhousedao/reactor-browser/chunk-P6NJ6IAQ.js +12 -0
  42. package/dist/modules/@powerhousedao/reactor-browser/chunk-POMUCSTC.js +2459 -0
  43. package/dist/modules/@powerhousedao/reactor-browser/chunk-QXHTR6KF.js +0 -0
  44. package/dist/modules/@powerhousedao/reactor-browser/chunk-RGIB4DD4.js +162 -0
  45. package/dist/modules/@powerhousedao/reactor-browser/chunk-U36SV333.js +0 -0
  46. package/dist/modules/@powerhousedao/reactor-browser/chunk-XBTEGV5M.js +17 -0
  47. package/dist/modules/@powerhousedao/reactor-browser/chunk-Y7NTRTMT.js +25 -0
  48. package/dist/modules/@powerhousedao/reactor-browser/chunk-YG67WAIS.js +0 -0
  49. package/dist/modules/@powerhousedao/reactor-browser/chunk-YOX3ZAET.js +13978 -0
  50. package/dist/modules/@powerhousedao/reactor-browser/chunk-YWKVPJNL.js +52 -0
  51. package/dist/modules/@powerhousedao/reactor-browser/chunk-ZL5IPB6D.js +0 -0
  52. package/dist/modules/@powerhousedao/reactor-browser/context/index.js +16 -0
  53. package/dist/modules/@powerhousedao/reactor-browser/context/read-mode.js +15 -0
  54. package/dist/modules/@powerhousedao/reactor-browser/crypto/browser.js +7 -0
  55. package/dist/modules/@powerhousedao/reactor-browser/crypto/index.js +7 -0
  56. package/dist/modules/@powerhousedao/reactor-browser/document-model.js +10 -0
  57. package/dist/modules/@powerhousedao/reactor-browser/hooks/document-state.js +96 -0
  58. package/dist/modules/@powerhousedao/reactor-browser/hooks/index.js +98 -0
  59. package/dist/modules/@powerhousedao/reactor-browser/hooks/useAddDebouncedOperations.js +11 -0
  60. package/dist/modules/@powerhousedao/reactor-browser/hooks/useConnectCrypto.js +12 -0
  61. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDocument.js +7 -0
  62. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDocumentDispatch.js +7 -0
  63. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDocumentDrives.js +13 -0
  64. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDocumentEditor.js +20 -0
  65. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDriveActions.js +9 -0
  66. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDriveActionsWithUiNodes.js +14 -0
  67. package/dist/modules/@powerhousedao/reactor-browser/hooks/useDriveContext.js +9 -0
  68. package/dist/modules/@powerhousedao/reactor-browser/hooks/useUiNodesContext.js +46 -0
  69. package/dist/modules/@powerhousedao/reactor-browser/hooks/useUserPermissions.js +7 -0
  70. package/dist/modules/@powerhousedao/reactor-browser/index.js +125 -0
  71. package/dist/modules/@powerhousedao/reactor-browser/reactor.js +11 -0
  72. package/dist/modules/@powerhousedao/reactor-browser/renown/constants.js +53 -0
  73. package/dist/modules/@powerhousedao/reactor-browser/renown/types.js +1 -0
  74. package/dist/modules/@powerhousedao/reactor-browser/storage/index.js +1 -0
  75. package/dist/modules/@powerhousedao/reactor-browser/storage/types.js +1 -0
  76. package/dist/modules/@powerhousedao/reactor-browser/uiNodes/constants.js +37 -0
  77. package/dist/modules/@powerhousedao/reactor-browser/uiNodes/types.js +1 -0
  78. package/dist/modules/@powerhousedao/reactor-browser/utils/export-document.js +8 -0
  79. package/dist/modules/@powerhousedao/reactor-browser/utils/index.js +9 -0
  80. package/dist/modules/@powerhousedao/reactor-browser/utils/signature.js +10 -0
  81. package/dist/service-worker.js +46 -2
  82. package/dist/swEnv.js +10 -6
  83. package/dist/vite-envs.sh +69 -21
  84. package/nginx.conf +93 -0
  85. package/nginx.sh +10 -0
  86. package/package.json +36 -50
  87. package/dist/assets/ArrowFilledRight-blx8xu7X-D3d8PUWh.js +0 -2
  88. package/dist/assets/ArrowFilledRight-blx8xu7X-D3d8PUWh.js.map +0 -1
  89. package/dist/assets/ArrowLeft-7pYNK4eX-8ZR_YHAJ.js +0 -2
  90. package/dist/assets/ArrowLeft-7pYNK4eX-8ZR_YHAJ.js.map +0 -1
  91. package/dist/assets/ArrowUp-Bbr_dwo_-C5ppCQo4.js +0 -2
  92. package/dist/assets/ArrowUp-Bbr_dwo_-C5ppCQo4.js.map +0 -1
  93. package/dist/assets/BarChart-B0G05Nfd-CHDJ7OaJ.js +0 -2
  94. package/dist/assets/BarChart-B0G05Nfd-CHDJ7OaJ.js.map +0 -1
  95. package/dist/assets/BaseArrowLeft-DBzhFHMt-Dkbf2sWs.js +0 -2
  96. package/dist/assets/BaseArrowLeft-DBzhFHMt-Dkbf2sWs.js.map +0 -1
  97. package/dist/assets/BaseArrowRight-DYQTBWAs-CkkPllYm.js +0 -2
  98. package/dist/assets/BaseArrowRight-DYQTBWAs-CkkPllYm.js.map +0 -1
  99. package/dist/assets/Braces-N-sH2Zyc-3LcexUsR.js +0 -2
  100. package/dist/assets/Braces-N-sH2Zyc-3LcexUsR.js.map +0 -1
  101. package/dist/assets/Branch-CWdBw1_P-CmGdOXsI.js +0 -2
  102. package/dist/assets/Branch-CWdBw1_P-CmGdOXsI.js.map +0 -1
  103. package/dist/assets/BrickGlobe-67zaG6_H-DP0By6z_.js +0 -2
  104. package/dist/assets/BrickGlobe-67zaG6_H-DP0By6z_.js.map +0 -1
  105. package/dist/assets/Briefcase-CedW3KRR-DO5_k15F.js +0 -2
  106. package/dist/assets/Briefcase-CedW3KRR-DO5_k15F.js.map +0 -1
  107. package/dist/assets/Calendar-C-6HV96D-YetudWvP.js +0 -2
  108. package/dist/assets/Calendar-C-6HV96D-YetudWvP.js.map +0 -1
  109. package/dist/assets/Caret-Ep0j0fz2-By3ojfim.js +0 -2
  110. package/dist/assets/Caret-Ep0j0fz2-By3ojfim.js.map +0 -1
  111. package/dist/assets/CaretDown-3X7LFYBf-C43xdKg8.js +0 -2
  112. package/dist/assets/CaretDown-3X7LFYBf-C43xdKg8.js.map +0 -1
  113. package/dist/assets/CaretSort-BkGdLETT-DVOzEEqR.js +0 -2
  114. package/dist/assets/CaretSort-BkGdLETT-DVOzEEqR.js.map +0 -1
  115. package/dist/assets/Check-DV-U4AEq-B582NMZp.js +0 -2
  116. package/dist/assets/Check-DV-U4AEq-B582NMZp.js.map +0 -1
  117. package/dist/assets/CheckCircle-DI5fEgGd-CVF4LDhR.js +0 -2
  118. package/dist/assets/CheckCircle-DI5fEgGd-CVF4LDhR.js.map +0 -1
  119. package/dist/assets/CheckCircleFill-C-F0v5mB-BSW1YMqM.js +0 -2
  120. package/dist/assets/CheckCircleFill-C-F0v5mB-BSW1YMqM.js.map +0 -1
  121. package/dist/assets/Checkmark-BXnfChpo-CyQitGI2.js +0 -2
  122. package/dist/assets/Checkmark-BXnfChpo-CyQitGI2.js.map +0 -1
  123. package/dist/assets/ChevronDown-ouBxrU-k-eUsCPXcB.js +0 -2
  124. package/dist/assets/ChevronDown-ouBxrU-k-eUsCPXcB.js.map +0 -1
  125. package/dist/assets/Circle-n3-Wh4HS-8dOehHQf.js +0 -2
  126. package/dist/assets/Circle-n3-Wh4HS-8dOehHQf.js.map +0 -1
  127. package/dist/assets/CircleInfo-BhZY3C2Q-CZgYK1h2.js +0 -2
  128. package/dist/assets/CircleInfo-BhZY3C2Q-CZgYK1h2.js.map +0 -1
  129. package/dist/assets/ClockFill-Bd0t48q7-CcfHiJtH.js +0 -2
  130. package/dist/assets/ClockFill-Bd0t48q7-CcfHiJtH.js.map +0 -1
  131. package/dist/assets/CloudSlash-B-zJBjaD-CxVyp-Ac.js +0 -2
  132. package/dist/assets/CloudSlash-B-zJBjaD-CxVyp-Ac.js.map +0 -1
  133. package/dist/assets/Collapse-DRDB8Czs-CGcuZQgy.js +0 -2
  134. package/dist/assets/Collapse-DRDB8Czs-CGcuZQgy.js.map +0 -1
  135. package/dist/assets/Connect-Dme-qfKq-CgniLji8.js +0 -2
  136. package/dist/assets/Connect-Dme-qfKq-CgniLji8.js.map +0 -1
  137. package/dist/assets/Discord-CAS0Cj7s-CcsBWpnf.js +0 -2
  138. package/dist/assets/Discord-CAS0Cj7s-CcsBWpnf.js.map +0 -1
  139. package/dist/assets/Drive-GMcgBcIY-CzahDx9j.js +0 -2
  140. package/dist/assets/Drive-GMcgBcIY-CzahDx9j.js.map +0 -1
  141. package/dist/assets/Ellipsis-XK8AwMEC-BuVBeYhB.js +0 -2
  142. package/dist/assets/Ellipsis-XK8AwMEC-BuVBeYhB.js.map +0 -1
  143. package/dist/assets/Error-BmIZ2ZUy-CphzuMLn.js +0 -2
  144. package/dist/assets/Error-BmIZ2ZUy-CphzuMLn.js.map +0 -1
  145. package/dist/assets/Exclamation-CVsNS_QS-DLccamql.js +0 -2
  146. package/dist/assets/Exclamation-CVsNS_QS-DLccamql.js.map +0 -1
  147. package/dist/assets/FilesEarmark-CyrCQy8E-Bhut4E02.js +0 -2
  148. package/dist/assets/FilesEarmark-CyrCQy8E-Bhut4E02.js.map +0 -1
  149. package/dist/assets/FolderClose-DG_qHisc-CH6NoBuu.js +0 -2
  150. package/dist/assets/FolderClose-DG_qHisc-CH6NoBuu.js.map +0 -1
  151. package/dist/assets/FolderOpen-kDoWFkJO-Cciutkdg.js +0 -2
  152. package/dist/assets/FolderOpen-kDoWFkJO-Cciutkdg.js.map +0 -1
  153. package/dist/assets/FolderPlus-CSBSl9lZ-CifD0ek9.js +0 -2
  154. package/dist/assets/FolderPlus-CSBSl9lZ-CifD0ek9.js.map +0 -1
  155. package/dist/assets/Forum-DZ-CkLFh-BwabccAX.js +0 -2
  156. package/dist/assets/Forum-DZ-CkLFh-BwabccAX.js.map +0 -1
  157. package/dist/assets/Gear-cUlHJ4q6-B9R2l_9_.js +0 -2
  158. package/dist/assets/Gear-cUlHJ4q6-B9R2l_9_.js.map +0 -1
  159. package/dist/assets/Github-0PLiINY0-CjkZIHCO.js +0 -2
  160. package/dist/assets/Github-0PLiINY0-CjkZIHCO.js.map +0 -1
  161. package/dist/assets/Globe-CIYqVkpa-CL530H46.js +0 -2
  162. package/dist/assets/Globe-CIYqVkpa-CL530H46.js.map +0 -1
  163. package/dist/assets/GlobeWww-DN4yKujh-Ci7aa5CE.js +0 -2
  164. package/dist/assets/GlobeWww-DN4yKujh-Ci7aa5CE.js.map +0 -1
  165. package/dist/assets/Hdd-Dn_LdJIh-CJ6x9Bve.js +0 -2
  166. package/dist/assets/Hdd-Dn_LdJIh-CJ6x9Bve.js.map +0 -1
  167. package/dist/assets/History-BP4SmaS_-P4WBKyqX.js +0 -2
  168. package/dist/assets/History-BP4SmaS_-P4WBKyqX.js.map +0 -1
  169. package/dist/assets/InfoSquare-C98JaLiz-yPcGR71f.js +0 -2
  170. package/dist/assets/InfoSquare-C98JaLiz-yPcGR71f.js.map +0 -1
  171. package/dist/assets/Link-BF7aZjVu-CXIVQOz6.js +0 -2
  172. package/dist/assets/Link-BF7aZjVu-CXIVQOz6.js.map +0 -1
  173. package/dist/assets/Linkedin-DJwIkS6q-Dkb5Tp_Z.js +0 -2
  174. package/dist/assets/Linkedin-DJwIkS6q-Dkb5Tp_Z.js.map +0 -1
  175. package/dist/assets/Lock-PyaFHdNS-D_qxRTye.js +0 -2
  176. package/dist/assets/Lock-PyaFHdNS-D_qxRTye.js.map +0 -1
  177. package/dist/assets/M-DozhhPMY-DBQw97P_.js +0 -2
  178. package/dist/assets/M-DozhhPMY-DBQw97P_.js.map +0 -1
  179. package/dist/assets/Pencil-D7lvxXIP-D830iveq.js +0 -2
  180. package/dist/assets/Pencil-D7lvxXIP-D830iveq.js.map +0 -1
  181. package/dist/assets/People-CUB8LYKf-CyJmMqcw.js +0 -2
  182. package/dist/assets/People-CUB8LYKf-CyJmMqcw.js.map +0 -1
  183. package/dist/assets/Person-DuL4PQzm-ttQR0nPy.js +0 -2
  184. package/dist/assets/Person-DuL4PQzm-ttQR0nPy.js.map +0 -1
  185. package/dist/assets/Plus-DPFWGJM4-BztpK8li.js +0 -2
  186. package/dist/assets/Plus-DPFWGJM4-BztpK8li.js.map +0 -1
  187. package/dist/assets/PlusCircle-BEnWRjHa-w5zztKGx.js +0 -2
  188. package/dist/assets/PlusCircle-BEnWRjHa-w5zztKGx.js.map +0 -1
  189. package/dist/assets/PowerhouseLogoSmall-CmO95IAS-CDGLkst3.js +0 -2
  190. package/dist/assets/PowerhouseLogoSmall-CmO95IAS-CDGLkst3.js.map +0 -1
  191. package/dist/assets/Project-BlXuclr0-EsBam9d0.js +0 -2
  192. package/dist/assets/Project-BlXuclr0-EsBam9d0.js.map +0 -1
  193. package/dist/assets/RedoArrow-BJeEsiph-BbidqIFP.js +0 -2
  194. package/dist/assets/RedoArrow-BJeEsiph-BbidqIFP.js.map +0 -1
  195. package/dist/assets/Renown-6m7hx37h-CItksi2j.js +0 -2
  196. package/dist/assets/Renown-6m7hx37h-CItksi2j.js.map +0 -1
  197. package/dist/assets/RenownHover-CQ0TZHZv-cYQgnwQW.js +0 -2
  198. package/dist/assets/RenownHover-CQ0TZHZv-cYQgnwQW.js.map +0 -1
  199. package/dist/assets/Ring-DKv0gnwT-CDHLz87h.js +0 -2
  200. package/dist/assets/Ring-DKv0gnwT-CDHLz87h.js.map +0 -1
  201. package/dist/assets/Save-BBxj68pn-BkUvn89C.js +0 -2
  202. package/dist/assets/Save-BBxj68pn-BkUvn89C.js.map +0 -1
  203. package/dist/assets/Search-YUJuRBLe-CecGUkZA.js +0 -2
  204. package/dist/assets/Search-YUJuRBLe-CecGUkZA.js.map +0 -1
  205. package/dist/assets/Server-Bfkkjui1-lBan_3Dm.js +0 -2
  206. package/dist/assets/Server-Bfkkjui1-lBan_3Dm.js.map +0 -1
  207. package/dist/assets/Settings-mbbylBS5-Cca-sV-_.js +0 -2
  208. package/dist/assets/Settings-mbbylBS5-Cca-sV-_.js.map +0 -1
  209. package/dist/assets/Synced-DKJXzPiw-Cui8pDsS.js +0 -2
  210. package/dist/assets/Synced-DKJXzPiw-Cui8pDsS.js.map +0 -1
  211. package/dist/assets/Syncing-aT9WSMFf-2VhhyCcX.js +0 -2
  212. package/dist/assets/Syncing-aT9WSMFf-2VhhyCcX.js.map +0 -1
  213. package/dist/assets/Trash-CgSbHk-P-DIYkVMER.js +0 -2
  214. package/dist/assets/Trash-CgSbHk-P-DIYkVMER.js.map +0 -1
  215. package/dist/assets/TrashFill-DN50ercb-Oqx67xXN.js +0 -2
  216. package/dist/assets/TrashFill-DN50ercb-Oqx67xXN.js.map +0 -1
  217. package/dist/assets/VariantArrowLeft-CnuX59_e-6Zt_Q3tm.js +0 -2
  218. package/dist/assets/VariantArrowLeft-CnuX59_e-6Zt_Q3tm.js.map +0 -1
  219. package/dist/assets/VerticalDots-C8QYf7et-CCxZfvjq.js +0 -2
  220. package/dist/assets/VerticalDots-C8QYf7et-CCxZfvjq.js.map +0 -1
  221. package/dist/assets/WarningFill-WowAvi5P-D5XCckM6.js +0 -2
  222. package/dist/assets/WarningFill-WowAvi5P-D5XCckM6.js.map +0 -1
  223. package/dist/assets/XTwitter-k3Pt8itk-mvLk8TKx.js +0 -2
  224. package/dist/assets/XTwitter-k3Pt8itk-mvLk8TKx.js.map +0 -1
  225. package/dist/assets/Xmark-8qnJCs2Y-CZ3t0Fap.js +0 -2
  226. package/dist/assets/Xmark-8qnJCs2Y-CZ3t0Fap.js.map +0 -1
  227. package/dist/assets/XmarkLight-GHzDR5_F-CloMvuzt.js +0 -2
  228. package/dist/assets/XmarkLight-GHzDR5_F-CloMvuzt.js.map +0 -1
  229. package/dist/assets/Youtube-i8V0IXUU-Bkiwoayp.js +0 -2
  230. package/dist/assets/Youtube-i8V0IXUU-Bkiwoayp.js.map +0 -1
  231. package/dist/assets/app-BdM_bCqD.js +0 -842
  232. package/dist/assets/app-BdM_bCqD.js.map +0 -1
  233. package/dist/assets/app-loader-B7xllAoS.js +0 -3
  234. package/dist/assets/app-loader-B7xllAoS.js.map +0 -1
  235. package/dist/assets/app-loader-D5wPX62N.css +0 -1
  236. package/dist/assets/browser-CwKAjz_f.js +0 -43
  237. package/dist/assets/browser-CwKAjz_f.js.map +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/ccip-BoVyVgwR.js +0 -2
  241. package/dist/assets/ccip-BoVyVgwR.js.map +0 -1
  242. package/dist/assets/content-BmCNR4Pw.js +0 -6
  243. package/dist/assets/content-BmCNR4Pw.js.map +0 -1
  244. package/dist/assets/editor-Cma-7Z7k.js +0 -2
  245. package/dist/assets/editor-Cma-7Z7k.js.map +0 -1
  246. package/dist/assets/editor-IMwm8pim.js +0 -2
  247. package/dist/assets/editor-IMwm8pim.js.map +0 -1
  248. package/dist/assets/editor-vgD9wEAH.js +0 -2
  249. package/dist/assets/editor-vgD9wEAH.js.map +0 -1
  250. package/dist/assets/editors-DQC0rqOg.js +0 -347
  251. package/dist/assets/editors-DQC0rqOg.js.map +0 -1
  252. package/dist/assets/index-BP2fj1j6.js +0 -16
  253. package/dist/assets/index-BP2fj1j6.js.map +0 -1
  254. package/dist/assets/index-SwNHx8hV.js +0 -3
  255. package/dist/assets/index-SwNHx8hV.js.map +0 -1
  256. package/dist/assets/index-T6Et30Eh-CdVwpIBO.js +0 -12
  257. package/dist/assets/index-T6Et30Eh-CdVwpIBO.js.map +0 -1
  258. package/dist/assets/main.DQ-aV7Qq.js +0 -2
  259. package/dist/assets/main.DQ-aV7Qq.js.map +0 -1
  260. package/dist/assets/root-BKJF0Yl6.js +0 -12
  261. package/dist/assets/root-BKJF0Yl6.js.map +0 -1
  262. package/dist/assets/router-Hd499Vrp.js +0 -12
  263. package/dist/assets/router-Hd499Vrp.js.map +0 -1
  264. package/dist/assets/useUiNodes-Ch-W4vsB.js +0 -107
  265. package/dist/assets/useUiNodes-Ch-W4vsB.js.map +0 -1
  266. package/dist/service-worker.js.map +0 -1
  267. package/dist/studio/cli.js +0 -6
  268. package/dist/studio/helpers.d.ts +0 -2
  269. package/dist/studio/index.d.ts +0 -20
  270. package/dist/studio/index.js +0 -580
  271. package/dist/studio/server.d.ts +0 -7
  272. package/dist/studio/vite-plugin.d.ts +0 -12
@@ -0,0 +1,50 @@
1
+ import {
2
+ atom,
3
+ useAtom
4
+ } from "./chunk-FW7N6EJH.js";
5
+ import {
6
+ BrowserKeyStorage
7
+ } from "./chunk-YWKVPJNL.js";
8
+ import {
9
+ ConnectCrypto
10
+ } from "./chunk-2X2M6BYG.js";
11
+
12
+ // ../../packages/reactor-browser/dist/src/hooks/useConnectCrypto.js
13
+ import { useEffect, useMemo } from "react";
14
+ var connectCrypto = (async () => {
15
+ const connectCrypto2 = new ConnectCrypto(new BrowserKeyStorage());
16
+ await connectCrypto2.did();
17
+ return connectCrypto2;
18
+ })();
19
+ function useConnectCrypto() {
20
+ return useMemo(() => ({
21
+ async regenerateDid() {
22
+ const crypto = await connectCrypto;
23
+ return crypto.regenerateDid();
24
+ },
25
+ async did() {
26
+ const crypto = await connectCrypto;
27
+ return crypto.did();
28
+ },
29
+ sign: async (data) => {
30
+ const crypto = await connectCrypto;
31
+ return await crypto.sign(data);
32
+ }
33
+ }), []);
34
+ }
35
+ var didAtom = atom(void 0);
36
+ function useConnectDid() {
37
+ const [did, setDid] = useAtom(didAtom);
38
+ useEffect(() => {
39
+ if (did) {
40
+ return;
41
+ }
42
+ connectCrypto.then((c) => c.did()).then((did2) => setDid(did2)).catch(console.error);
43
+ });
44
+ return did;
45
+ }
46
+
47
+ export {
48
+ useConnectCrypto,
49
+ useConnectDid
50
+ };
@@ -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,250 @@
1
+ import {
2
+ atom,
3
+ useAtom
4
+ } from "./chunk-FW7N6EJH.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.18_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
+ };
@@ -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-YOX3ZAET.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
+ };