@powerhousedao/connect 6.0.0-dev.16 → 6.0.0-dev.160

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 (562) hide show
  1. package/.env +1 -1
  2. package/dist/AddDriveModal-CBK9gEWg.js +89 -0
  3. package/dist/AddDriveModal-CBK9gEWg.js.map +1 -0
  4. package/dist/ClearStorageModal-CyDsBTwL.js +44 -0
  5. package/dist/ClearStorageModal-CyDsBTwL.js.map +1 -0
  6. package/dist/CookiesPolicyModal-Gae1QuhA.js +30 -0
  7. package/dist/CookiesPolicyModal-Gae1QuhA.js.map +1 -0
  8. package/dist/CreateDocumentModal-5i6rmv3C.js +28 -0
  9. package/dist/CreateDocumentModal-5i6rmv3C.js.map +1 -0
  10. package/dist/DebugSettingsModal-ZNWhlMQN.js +139 -0
  11. package/dist/DebugSettingsModal-ZNWhlMQN.js.map +1 -0
  12. package/dist/DeleteDriveModal-BbAx_yXt.js +40 -0
  13. package/dist/DeleteDriveModal-BbAx_yXt.js.map +1 -0
  14. package/dist/DeleteItemModal-CkWegLlh.js +39 -0
  15. package/dist/DeleteItemModal-CkWegLlh.js.map +1 -0
  16. package/dist/DisclaimerModal-CCnvwoB5.js +21 -0
  17. package/dist/DisclaimerModal-CCnvwoB5.js.map +1 -0
  18. package/dist/DriveSettingsModal-DxMjOsLg.js +45 -0
  19. package/dist/DriveSettingsModal-DxMjOsLg.js.map +1 -0
  20. package/dist/ExportDocumentWithErrorsModal-hgliF8Gy.js +41 -0
  21. package/dist/ExportDocumentWithErrorsModal-hgliF8Gy.js.map +1 -0
  22. package/dist/InspectorModal-C4rE0Y5E.js +302 -0
  23. package/dist/InspectorModal-C4rE0Y5E.js.map +1 -0
  24. package/dist/MissingPackageModal-cr5tZDVw.js +34 -0
  25. package/dist/MissingPackageModal-cr5tZDVw.js.map +1 -0
  26. package/dist/SettingsModal-D_YLdjps.js +153 -0
  27. package/dist/SettingsModal-D_YLdjps.js.map +1 -0
  28. package/dist/UpgradeDriveModal-DldcNCaT.js +31 -0
  29. package/dist/UpgradeDriveModal-DldcNCaT.js.map +1 -0
  30. package/dist/connect.config-DDu1QWU1.js +140 -0
  31. package/dist/connect.config-DDu1QWU1.js.map +1 -0
  32. package/dist/i18n-Ch408v5-.js +125 -0
  33. package/dist/i18n-Ch408v5-.js.map +1 -0
  34. package/dist/load-B7QROt_v.js +105 -0
  35. package/dist/load-B7QROt_v.js.map +1 -0
  36. package/dist/main.d.ts +1 -0
  37. package/dist/main.js +9 -0
  38. package/dist/main.js.map +1 -0
  39. package/dist/package-BZvCiajU.js +110 -0
  40. package/dist/package-BZvCiajU.js.map +1 -0
  41. package/dist/pglite.worker.d.ts +1 -0
  42. package/dist/pglite.worker.js +15 -0
  43. package/dist/pglite.worker.js.map +1 -0
  44. package/dist/reactor-BNI6P1Tx.js +710 -0
  45. package/dist/reactor-BNI6P1Tx.js.map +1 -0
  46. package/dist/registerServiceWorker-19nMRUMW.js +76 -0
  47. package/dist/registerServiceWorker-19nMRUMW.js.map +1 -0
  48. package/dist/sidebar-BZKTsO1e.js +1171 -0
  49. package/dist/sidebar-BZKTsO1e.js.map +1 -0
  50. package/dist/start-connect.d.ts +7 -0
  51. package/dist/start-connect.d.ts.map +1 -0
  52. package/dist/start-connect.js +12 -0
  53. package/dist/start-connect.js.map +1 -0
  54. package/{lib → dist}/style.css +1876 -257
  55. package/dist/toast-iD-70hL8.js +16 -0
  56. package/dist/toast-iD-70hL8.js.map +1 -0
  57. package/dist/useRegistryPackages-DSzf8iPN.js +87 -0
  58. package/dist/useRegistryPackages-DSzf8iPN.js.map +1 -0
  59. package/package.json +54 -122
  60. package/public/ph-packages.json +3 -0
  61. package/dist/assets/AddDriveModal-D1qNnHMS.js +0 -1
  62. package/dist/assets/ClearStorageModal-JZs-VNWu.js +0 -1
  63. package/dist/assets/CookiesPolicyModal-BnstJrt-.js +0 -1
  64. package/dist/assets/CreateDocumentModal-BnrrMRdH.js +0 -1
  65. package/dist/assets/DebugSettingsModal-DCLX7x4n.js +0 -1
  66. package/dist/assets/DeleteDriveModal-DcTTesXg.js +0 -1
  67. package/dist/assets/DeleteItemModal-BLBEX6Hv.js +0 -1
  68. package/dist/assets/DisclaimerModal-jAV48-B1.js +0 -1
  69. package/dist/assets/DriveSettingsModal-Y9P7ZqZ7.js +0 -1
  70. package/dist/assets/ExportDocumentWithErrorsModal-BNO5N1et.js +0 -1
  71. package/dist/assets/SettingsModal-DTjIc6qn.js +0 -1
  72. package/dist/assets/UpgradeDriveModal-B4NgEeU8.js +0 -1
  73. package/dist/assets/_virtual_ph_external-packages-CM1tCR4L.js +0 -1
  74. package/dist/assets/config-CU-aFfVJ.js +0 -1
  75. package/dist/assets/connect-loader-CvOC68Ih.mp4 +0 -0
  76. package/dist/assets/design_system-kCMdUBwX.js +0 -45
  77. package/dist/assets/design_system_connect-Ddw7Zyn0.js +0 -47
  78. package/dist/assets/design_system_ui-CYI-ul8O.js +0 -1
  79. package/dist/assets/document_drive-Bubv8iix.js +0 -316
  80. package/dist/assets/document_engineering-BBP4J1V-.js +0 -1
  81. package/dist/assets/document_model-_oCbt5YE.js +0 -230
  82. package/dist/assets/document_model_editor-DruxU-KE.js +0 -25
  83. package/dist/assets/drive_explorer-D6zlNx_3.js +0 -2
  84. package/dist/assets/graphql-AKTCpY7l.js +0 -75
  85. package/dist/assets/graphql-editor-omlo-wjV.js +0 -73
  86. package/dist/assets/graphql_request-BJtmW2JS.js +0 -3
  87. package/dist/assets/hmr-LMNkvzP7.js +0 -1
  88. package/dist/assets/home-bg-BEhF9NuW.png +0 -0
  89. package/dist/assets/home-bg-BRYzhkhi.avif +0 -0
  90. package/dist/assets/hooks-9Z_C1vBS.js +0 -12
  91. package/dist/assets/index-BIlcyZiC.js +0 -28
  92. package/dist/assets/index-BQTy5dLB.js +0 -18
  93. package/dist/assets/index-DYdiZMfn.css +0 -1
  94. package/dist/assets/json-editor-oUEl4SH7.js +0 -1
  95. package/dist/assets/nodefs-Bp7q5ao6.js +0 -1
  96. package/dist/assets/opfs-ahp-BBjneC9V.js +0 -3
  97. package/dist/assets/pg_dump-CW0pN9tG.wasm +0 -0
  98. package/dist/assets/postgres-CkP7QCDB.data +0 -0
  99. package/dist/assets/postgres-CyuUVpXN.wasm +0 -0
  100. package/dist/assets/powerhouse-rounded-CeKGGUG4.png +0 -0
  101. package/dist/assets/react/jsx-runtime-DldvXD6N.js +0 -1
  102. package/dist/assets/react-DQSxOgtG.js +0 -1
  103. package/dist/assets/react-dom/client-BVPiT_FE.js +0 -9
  104. package/dist/assets/react-dom-D6zQJsh6.js +0 -1
  105. package/dist/assets/reactor_browser-BL370x8i.js +0 -129
  106. package/dist/assets/renown-short-hover-BiSLBV7L.png +0 -0
  107. package/dist/assets/rwa-report-Bb0W5-ac.png +0 -0
  108. package/dist/assets/sentry_browser-B4YoBIIG.js +0 -498
  109. package/dist/assets/sentry_react-cODD7zWc.js +0 -3
  110. package/dist/assets/state-schemas-4L3gieqI.js +0 -2
  111. package/dist/assets/tailwind_merge-Dr4f9Rms.js +0 -1
  112. package/dist/assets/zod-9j67vCAu.js +0 -39
  113. package/dist/icon.ico +0 -0
  114. package/dist/index.html +0 -51
  115. package/dist/robots.txt +0 -3
  116. package/dist/settings.png +0 -0
  117. package/heroku/Dockerfile +0 -101
  118. package/heroku/Procfile +0 -1
  119. package/heroku/config/nginx.conf.template +0 -77
  120. package/heroku/heroku-entrypoint.sh +0 -38
  121. package/lib/cypress/e2e/navigation.cy.d.ts +0 -2
  122. package/lib/cypress/e2e/navigation.cy.d.ts.map +0 -1
  123. package/lib/cypress/e2e/navigation.cy.js +0 -221
  124. package/lib/cypress/e2e/navigation.cy.js.map +0 -1
  125. package/lib/cypress/e2e/utils/index.d.ts +0 -15
  126. package/lib/cypress/e2e/utils/index.d.ts.map +0 -1
  127. package/lib/cypress/e2e/utils/index.js +0 -121
  128. package/lib/cypress/e2e/utils/index.js.map +0 -1
  129. package/lib/cypress/support/commands.d.ts +0 -2
  130. package/lib/cypress/support/commands.d.ts.map +0 -1
  131. package/lib/cypress/support/commands.js +0 -29
  132. package/lib/cypress/support/commands.js.map +0 -1
  133. package/lib/cypress/support/e2e.d.ts +0 -2
  134. package/lib/cypress/support/e2e.d.ts.map +0 -1
  135. package/lib/cypress/support/e2e.js +0 -19
  136. package/lib/cypress/support/e2e.js.map +0 -1
  137. package/lib/cypress.config.d.ts +0 -3
  138. package/lib/cypress.config.d.ts.map +0 -1
  139. package/lib/cypress.config.js +0 -15
  140. package/lib/cypress.config.js.map +0 -1
  141. package/lib/package.copy.json +0 -177
  142. package/lib/scripts/render-skeleton.d.ts +0 -2
  143. package/lib/scripts/render-skeleton.d.ts.map +0 -1
  144. package/lib/scripts/render-skeleton.js +0 -11
  145. package/lib/scripts/render-skeleton.js.map +0 -1
  146. package/lib/src/components/analytics.d.ts +0 -8
  147. package/lib/src/components/analytics.d.ts.map +0 -1
  148. package/lib/src/components/analytics.js +0 -30
  149. package/lib/src/components/analytics.js.map +0 -1
  150. package/lib/src/components/app-loader.d.ts +0 -3
  151. package/lib/src/components/app-loader.d.ts.map +0 -1
  152. package/lib/src/components/app-loader.js +0 -20
  153. package/lib/src/components/app-loader.js.map +0 -1
  154. package/lib/src/components/app-skeleton.d.ts +0 -3
  155. package/lib/src/components/app-skeleton.d.ts.map +0 -1
  156. package/lib/src/components/app-skeleton.js +0 -38
  157. package/lib/src/components/app-skeleton.js.map +0 -1
  158. package/lib/src/components/app.d.ts +0 -2
  159. package/lib/src/components/app.d.ts.map +0 -1
  160. package/lib/src/components/app.js +0 -29
  161. package/lib/src/components/app.js.map +0 -1
  162. package/lib/src/components/button.d.ts +0 -3
  163. package/lib/src/components/button.d.ts.map +0 -1
  164. package/lib/src/components/button.js +0 -7
  165. package/lib/src/components/button.js.map +0 -1
  166. package/lib/src/components/cookie-banner.d.ts +0 -2
  167. package/lib/src/components/cookie-banner.d.ts.map +0 -1
  168. package/lib/src/components/cookie-banner.js +0 -48
  169. package/lib/src/components/cookie-banner.js.map +0 -1
  170. package/lib/src/components/document-editor-container.d.ts +0 -2
  171. package/lib/src/components/document-editor-container.d.ts.map +0 -1
  172. package/lib/src/components/document-editor-container.js +0 -65
  173. package/lib/src/components/document-editor-container.js.map +0 -1
  174. package/lib/src/components/dots-loader.d.ts +0 -2
  175. package/lib/src/components/dots-loader.d.ts.map +0 -1
  176. package/lib/src/components/dots-loader.js +0 -15
  177. package/lib/src/components/dots-loader.js.map +0 -1
  178. package/lib/src/components/drive-editor-container.d.ts +0 -2
  179. package/lib/src/components/drive-editor-container.d.ts.map +0 -1
  180. package/lib/src/components/drive-editor-container.js +0 -22
  181. package/lib/src/components/drive-editor-container.js.map +0 -1
  182. package/lib/src/components/drive-icon.d.ts +0 -5
  183. package/lib/src/components/drive-icon.d.ts.map +0 -1
  184. package/lib/src/components/drive-icon.js +0 -15
  185. package/lib/src/components/drive-icon.js.map +0 -1
  186. package/lib/src/components/editor-loader.d.ts +0 -9
  187. package/lib/src/components/editor-loader.d.ts.map +0 -1
  188. package/lib/src/components/editor-loader.js +0 -19
  189. package/lib/src/components/editor-loader.js.map +0 -1
  190. package/lib/src/components/editors.d.ts +0 -10
  191. package/lib/src/components/editors.d.ts.map +0 -1
  192. package/lib/src/components/editors.js +0 -87
  193. package/lib/src/components/editors.js.map +0 -1
  194. package/lib/src/components/error-boundary.d.ts +0 -103
  195. package/lib/src/components/error-boundary.d.ts.map +0 -1
  196. package/lib/src/components/error-boundary.js +0 -104
  197. package/lib/src/components/error-boundary.js.map +0 -1
  198. package/lib/src/components/footer.d.ts +0 -2
  199. package/lib/src/components/footer.d.ts.map +0 -1
  200. package/lib/src/components/footer.js +0 -16
  201. package/lib/src/components/footer.js.map +0 -1
  202. package/lib/src/components/index.d.ts +0 -22
  203. package/lib/src/components/index.d.ts.map +0 -1
  204. package/lib/src/components/index.js +0 -22
  205. package/lib/src/components/index.js.map +0 -1
  206. package/lib/src/components/login.d.ts +0 -2
  207. package/lib/src/components/login.d.ts.map +0 -1
  208. package/lib/src/components/login.js +0 -12
  209. package/lib/src/components/login.js.map +0 -1
  210. package/lib/src/components/modal/index.d.ts +0 -18
  211. package/lib/src/components/modal/index.d.ts.map +0 -1
  212. package/lib/src/components/modal/index.js +0 -18
  213. package/lib/src/components/modal/index.js.map +0 -1
  214. package/lib/src/components/modal/modals/AddDriveModal.d.ts +0 -2
  215. package/lib/src/components/modal/modals/AddDriveModal.d.ts.map +0 -1
  216. package/lib/src/components/modal/modals/AddDriveModal.js +0 -121
  217. package/lib/src/components/modal/modals/AddDriveModal.js.map +0 -1
  218. package/lib/src/components/modal/modals/ClearStorageModal.d.ts +0 -2
  219. package/lib/src/components/modal/modals/ClearStorageModal.d.ts.map +0 -1
  220. package/lib/src/components/modal/modals/ClearStorageModal.js +0 -35
  221. package/lib/src/components/modal/modals/ClearStorageModal.js.map +0 -1
  222. package/lib/src/components/modal/modals/CookiesPolicyModal.d.ts +0 -2
  223. package/lib/src/components/modal/modals/CookiesPolicyModal.d.ts.map +0 -1
  224. package/lib/src/components/modal/modals/CookiesPolicyModal.js +0 -16
  225. package/lib/src/components/modal/modals/CookiesPolicyModal.js.map +0 -1
  226. package/lib/src/components/modal/modals/CreateDocumentModal.d.ts +0 -2
  227. package/lib/src/components/modal/modals/CreateDocumentModal.d.ts.map +0 -1
  228. package/lib/src/components/modal/modals/CreateDocumentModal.js +0 -24
  229. package/lib/src/components/modal/modals/CreateDocumentModal.js.map +0 -1
  230. package/lib/src/components/modal/modals/DebugSettingsModal.d.ts +0 -2
  231. package/lib/src/components/modal/modals/DebugSettingsModal.d.ts.map +0 -1
  232. package/lib/src/components/modal/modals/DebugSettingsModal.js +0 -108
  233. package/lib/src/components/modal/modals/DebugSettingsModal.js.map +0 -1
  234. package/lib/src/components/modal/modals/DeleteDriveModal.d.ts +0 -2
  235. package/lib/src/components/modal/modals/DeleteDriveModal.d.ts.map +0 -1
  236. package/lib/src/components/modal/modals/DeleteDriveModal.js +0 -32
  237. package/lib/src/components/modal/modals/DeleteDriveModal.js.map +0 -1
  238. package/lib/src/components/modal/modals/DeleteItemModal.d.ts +0 -3
  239. package/lib/src/components/modal/modals/DeleteItemModal.d.ts.map +0 -1
  240. package/lib/src/components/modal/modals/DeleteItemModal.js +0 -33
  241. package/lib/src/components/modal/modals/DeleteItemModal.js.map +0 -1
  242. package/lib/src/components/modal/modals/DisclaimerModal.d.ts +0 -3
  243. package/lib/src/components/modal/modals/DisclaimerModal.d.ts.map +0 -1
  244. package/lib/src/components/modal/modals/DisclaimerModal.js +0 -12
  245. package/lib/src/components/modal/modals/DisclaimerModal.js.map +0 -1
  246. package/lib/src/components/modal/modals/DriveSettingsModal.d.ts +0 -2
  247. package/lib/src/components/modal/modals/DriveSettingsModal.d.ts.map +0 -1
  248. package/lib/src/components/modal/modals/DriveSettingsModal.js +0 -28
  249. package/lib/src/components/modal/modals/DriveSettingsModal.js.map +0 -1
  250. package/lib/src/components/modal/modals/ExportDocumentWithErrorsModal.d.ts +0 -2
  251. package/lib/src/components/modal/modals/ExportDocumentWithErrorsModal.d.ts.map +0 -1
  252. package/lib/src/components/modal/modals/ExportDocumentWithErrorsModal.js +0 -30
  253. package/lib/src/components/modal/modals/ExportDocumentWithErrorsModal.js.map +0 -1
  254. package/lib/src/components/modal/modals/InspectorModal/InspectorModal.d.ts +0 -2
  255. package/lib/src/components/modal/modals/InspectorModal/InspectorModal.d.ts.map +0 -1
  256. package/lib/src/components/modal/modals/InspectorModal/InspectorModal.js +0 -29
  257. package/lib/src/components/modal/modals/InspectorModal/InspectorModal.js.map +0 -1
  258. package/lib/src/components/modal/modals/InspectorModal/index.d.ts +0 -2
  259. package/lib/src/components/modal/modals/InspectorModal/index.d.ts.map +0 -1
  260. package/lib/src/components/modal/modals/InspectorModal/index.js +0 -2
  261. package/lib/src/components/modal/modals/InspectorModal/index.js.map +0 -1
  262. package/lib/src/components/modal/modals/InspectorModal/useDbExplorer.d.ts +0 -31
  263. package/lib/src/components/modal/modals/InspectorModal/useDbExplorer.d.ts.map +0 -1
  264. package/lib/src/components/modal/modals/InspectorModal/useDbExplorer.js +0 -211
  265. package/lib/src/components/modal/modals/InspectorModal/useDbExplorer.js.map +0 -1
  266. package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.d.ts +0 -4
  267. package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.d.ts.map +0 -1
  268. package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.js +0 -12
  269. package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.js.map +0 -1
  270. package/lib/src/components/modal/modals/SettingsModal.d.ts +0 -3
  271. package/lib/src/components/modal/modals/SettingsModal.d.ts.map +0 -1
  272. package/lib/src/components/modal/modals/SettingsModal.js +0 -45
  273. package/lib/src/components/modal/modals/SettingsModal.js.map +0 -1
  274. package/lib/src/components/modal/modals/UpgradeDriveModal.d.ts +0 -3
  275. package/lib/src/components/modal/modals/UpgradeDriveModal.d.ts.map +0 -1
  276. package/lib/src/components/modal/modals/UpgradeDriveModal.js +0 -21
  277. package/lib/src/components/modal/modals/UpgradeDriveModal.js.map +0 -1
  278. package/lib/src/components/modal/modals/settings/about.d.ts +0 -2
  279. package/lib/src/components/modal/modals/settings/about.d.ts.map +0 -1
  280. package/lib/src/components/modal/modals/settings/about.js +0 -10
  281. package/lib/src/components/modal/modals/settings/about.js.map +0 -1
  282. package/lib/src/components/modal/modals/settings/danger-zone.d.ts +0 -2
  283. package/lib/src/components/modal/modals/settings/danger-zone.d.ts.map +0 -1
  284. package/lib/src/components/modal/modals/settings/danger-zone.js +0 -15
  285. package/lib/src/components/modal/modals/settings/danger-zone.js.map +0 -1
  286. package/lib/src/components/modal/modals/settings/default-editor.d.ts +0 -2
  287. package/lib/src/components/modal/modals/settings/default-editor.d.ts.map +0 -1
  288. package/lib/src/components/modal/modals/settings/default-editor.js +0 -18
  289. package/lib/src/components/modal/modals/settings/default-editor.js.map +0 -1
  290. package/lib/src/components/modal/modals/settings/package-manager.d.ts +0 -3
  291. package/lib/src/components/modal/modals/settings/package-manager.d.ts.map +0 -1
  292. package/lib/src/components/modal/modals/settings/package-manager.js +0 -87
  293. package/lib/src/components/modal/modals/settings/package-manager.js.map +0 -1
  294. package/lib/src/components/modal/modals-container.d.ts +0 -2
  295. package/lib/src/components/modal/modals-container.d.ts.map +0 -1
  296. package/lib/src/components/modal/modals-container.js +0 -66
  297. package/lib/src/components/modal/modals-container.js.map +0 -1
  298. package/lib/src/components/ph-logo.d.ts +0 -2
  299. package/lib/src/components/ph-logo.d.ts.map +0 -1
  300. package/lib/src/components/ph-logo.js +0 -7
  301. package/lib/src/components/ph-logo.js.map +0 -1
  302. package/lib/src/components/reload-connect-toast.d.ts +0 -2
  303. package/lib/src/components/reload-connect-toast.d.ts.map +0 -1
  304. package/lib/src/components/reload-connect-toast.js +0 -7
  305. package/lib/src/components/reload-connect-toast.js.map +0 -1
  306. package/lib/src/components/root.d.ts +0 -2
  307. package/lib/src/components/root.d.ts.map +0 -1
  308. package/lib/src/components/root.js +0 -8
  309. package/lib/src/components/root.js.map +0 -1
  310. package/lib/src/components/router.d.ts +0 -2
  311. package/lib/src/components/router.d.ts.map +0 -1
  312. package/lib/src/components/router.js +0 -41
  313. package/lib/src/components/router.js.map +0 -1
  314. package/lib/src/components/search-bar.d.ts +0 -2
  315. package/lib/src/components/search-bar.d.ts.map +0 -1
  316. package/lib/src/components/search-bar.js +0 -36
  317. package/lib/src/components/search-bar.js.map +0 -1
  318. package/lib/src/components/sidebar.d.ts +0 -2
  319. package/lib/src/components/sidebar.d.ts.map +0 -1
  320. package/lib/src/components/sidebar.js +0 -28
  321. package/lib/src/components/sidebar.js.map +0 -1
  322. package/lib/src/connect.config.d.ts +0 -115
  323. package/lib/src/connect.config.d.ts.map +0 -1
  324. package/lib/src/connect.config.js +0 -148
  325. package/lib/src/connect.config.js.map +0 -1
  326. package/lib/src/context/index.d.ts +0 -4
  327. package/lib/src/context/index.d.ts.map +0 -1
  328. package/lib/src/context/index.js +0 -4
  329. package/lib/src/context/index.js.map +0 -1
  330. package/lib/src/context/processor-manager.d.ts +0 -3
  331. package/lib/src/context/processor-manager.d.ts.map +0 -1
  332. package/lib/src/context/processor-manager.js +0 -189
  333. package/lib/src/context/processor-manager.js.map +0 -1
  334. package/lib/src/context/read-mode.d.ts +0 -2
  335. package/lib/src/context/read-mode.d.ts.map +0 -1
  336. package/lib/src/context/read-mode.js +0 -219
  337. package/lib/src/context/read-mode.js.map +0 -1
  338. package/lib/src/context/sentry-provider.d.ts +0 -6
  339. package/lib/src/context/sentry-provider.d.ts.map +0 -1
  340. package/lib/src/context/sentry-provider.js +0 -6
  341. package/lib/src/context/sentry-provider.js.map +0 -1
  342. package/lib/src/feature-flags.d.ts +0 -53
  343. package/lib/src/feature-flags.d.ts.map +0 -1
  344. package/lib/src/feature-flags.js +0 -186
  345. package/lib/src/feature-flags.js.map +0 -1
  346. package/lib/src/globals.d.ts +0 -9
  347. package/lib/src/globals.d.ts.map +0 -1
  348. package/lib/src/globals.js +0 -2
  349. package/lib/src/globals.js.map +0 -1
  350. package/lib/src/hmr.d.ts +0 -3
  351. package/lib/src/hmr.d.ts.map +0 -1
  352. package/lib/src/hmr.js +0 -2
  353. package/lib/src/hmr.js.map +0 -1
  354. package/lib/src/hooks/index.d.ts +0 -10
  355. package/lib/src/hooks/index.d.ts.map +0 -1
  356. package/lib/src/hooks/index.js +0 -10
  357. package/lib/src/hooks/index.js.map +0 -1
  358. package/lib/src/hooks/useAcceptedCookies.d.ts +0 -9
  359. package/lib/src/hooks/useAcceptedCookies.d.ts.map +0 -1
  360. package/lib/src/hooks/useAcceptedCookies.js +0 -34
  361. package/lib/src/hooks/useAcceptedCookies.js.map +0 -1
  362. package/lib/src/hooks/useCheckLatestVersion.d.ts +0 -2
  363. package/lib/src/hooks/useCheckLatestVersion.d.ts.map +0 -1
  364. package/lib/src/hooks/useCheckLatestVersion.js +0 -33
  365. package/lib/src/hooks/useCheckLatestVersion.js.map +0 -1
  366. package/lib/src/hooks/useClientErrorHandler.d.ts +0 -6
  367. package/lib/src/hooks/useClientErrorHandler.d.ts.map +0 -1
  368. package/lib/src/hooks/useClientErrorHandler.js +0 -131
  369. package/lib/src/hooks/useClientErrorHandler.js.map +0 -1
  370. package/lib/src/hooks/useCookieBanner.d.ts +0 -5
  371. package/lib/src/hooks/useCookieBanner.d.ts.map +0 -1
  372. package/lib/src/hooks/useCookieBanner.js +0 -32
  373. package/lib/src/hooks/useCookieBanner.js.map +0 -1
  374. package/lib/src/hooks/useInitSentry.d.ts +0 -2
  375. package/lib/src/hooks/useInitSentry.d.ts.map +0 -1
  376. package/lib/src/hooks/useInitSentry.js +0 -80
  377. package/lib/src/hooks/useInitSentry.js.map +0 -1
  378. package/lib/src/hooks/useNodeActions.d.ts +0 -6
  379. package/lib/src/hooks/useNodeActions.d.ts.map +0 -1
  380. package/lib/src/hooks/useNodeActions.js +0 -35
  381. package/lib/src/hooks/useNodeActions.js.map +0 -1
  382. package/lib/src/hooks/useUndoRedoShortcuts.d.ts +0 -8
  383. package/lib/src/hooks/useUndoRedoShortcuts.d.ts.map +0 -1
  384. package/lib/src/hooks/useUndoRedoShortcuts.js +0 -26
  385. package/lib/src/hooks/useUndoRedoShortcuts.js.map +0 -1
  386. package/lib/src/hooks/useWindowSize.d.ts +0 -5
  387. package/lib/src/hooks/useWindowSize.d.ts.map +0 -1
  388. package/lib/src/hooks/useWindowSize.js +0 -21
  389. package/lib/src/hooks/useWindowSize.js.map +0 -1
  390. package/lib/src/hooks/utils.d.ts +0 -7
  391. package/lib/src/hooks/utils.d.ts.map +0 -1
  392. package/lib/src/hooks/utils.js +0 -46
  393. package/lib/src/hooks/utils.js.map +0 -1
  394. package/lib/src/i18n/index.d.ts +0 -4
  395. package/lib/src/i18n/index.d.ts.map +0 -1
  396. package/lib/src/i18n/index.js +0 -26
  397. package/lib/src/i18n/index.js.map +0 -1
  398. package/lib/src/i18n/locales/en.json +0 -114
  399. package/lib/src/index.d.ts +0 -2
  400. package/lib/src/index.d.ts.map +0 -1
  401. package/lib/src/index.js +0 -2
  402. package/lib/src/index.js.map +0 -1
  403. package/lib/src/main.d.ts +0 -2
  404. package/lib/src/main.d.ts.map +0 -1
  405. package/lib/src/main.js +0 -5
  406. package/lib/src/main.js.map +0 -1
  407. package/lib/src/pages/content.d.ts +0 -2
  408. package/lib/src/pages/content.d.ts.map +0 -1
  409. package/lib/src/pages/content.js +0 -39
  410. package/lib/src/pages/content.js.map +0 -1
  411. package/lib/src/pages/demo/atlas-import.d.ts +0 -2
  412. package/lib/src/pages/demo/atlas-import.d.ts.map +0 -1
  413. package/lib/src/pages/demo/atlas-import.js +0 -122
  414. package/lib/src/pages/demo/atlas-import.js.map +0 -1
  415. package/lib/src/pages/index.d.ts +0 -4
  416. package/lib/src/pages/index.d.ts.map +0 -1
  417. package/lib/src/pages/index.js +0 -4
  418. package/lib/src/pages/index.js.map +0 -1
  419. package/lib/src/pages/settings.d.ts +0 -4
  420. package/lib/src/pages/settings.d.ts.map +0 -1
  421. package/lib/src/pages/settings.js +0 -9
  422. package/lib/src/pages/settings.js.map +0 -1
  423. package/lib/src/service-worker.d.ts +0 -2
  424. package/lib/src/service-worker.d.ts.map +0 -1
  425. package/lib/src/service-worker.js +0 -58
  426. package/lib/src/service-worker.js.map +0 -1
  427. package/lib/src/services/hmr.d.ts +0 -13
  428. package/lib/src/services/hmr.d.ts.map +0 -1
  429. package/lib/src/services/hmr.js +0 -85
  430. package/lib/src/services/hmr.js.map +0 -1
  431. package/lib/src/services/index.d.ts +0 -10
  432. package/lib/src/services/index.d.ts.map +0 -1
  433. package/lib/src/services/index.js +0 -9
  434. package/lib/src/services/index.js.map +0 -1
  435. package/lib/src/services/logger.d.ts +0 -2
  436. package/lib/src/services/logger.d.ts.map +0 -1
  437. package/lib/src/services/logger.js +0 -28
  438. package/lib/src/services/logger.js.map +0 -1
  439. package/lib/src/services/renown/browser.d.ts +0 -2
  440. package/lib/src/services/renown/browser.d.ts.map +0 -1
  441. package/lib/src/services/renown/browser.js +0 -6
  442. package/lib/src/services/renown/browser.js.map +0 -1
  443. package/lib/src/services/renown/constants.d.ts +0 -130
  444. package/lib/src/services/renown/constants.d.ts.map +0 -1
  445. package/lib/src/services/renown/constants.js +0 -41
  446. package/lib/src/services/renown/constants.js.map +0 -1
  447. package/lib/src/services/renown/utils.d.ts +0 -7
  448. package/lib/src/services/renown/utils.d.ts.map +0 -1
  449. package/lib/src/services/renown/utils.js +0 -20
  450. package/lib/src/services/renown/utils.js.map +0 -1
  451. package/lib/src/services/storage/base-storage.d.ts +0 -9
  452. package/lib/src/services/storage/base-storage.d.ts.map +0 -1
  453. package/lib/src/services/storage/base-storage.js +0 -21
  454. package/lib/src/services/storage/base-storage.js.map +0 -1
  455. package/lib/src/services/storage/browser.d.ts +0 -5
  456. package/lib/src/services/storage/browser.d.ts.map +0 -1
  457. package/lib/src/services/storage/browser.js +0 -25
  458. package/lib/src/services/storage/browser.js.map +0 -1
  459. package/lib/src/services/storage/types.d.ts +0 -6
  460. package/lib/src/services/storage/types.d.ts.map +0 -1
  461. package/lib/src/services/storage/types.js +0 -2
  462. package/lib/src/services/storage/types.js.map +0 -1
  463. package/lib/src/services/toast.d.ts +0 -8
  464. package/lib/src/services/toast.d.ts.map +0 -1
  465. package/lib/src/services/toast.js +0 -11
  466. package/lib/src/services/toast.js.map +0 -1
  467. package/lib/src/store/document-model.d.ts +0 -3
  468. package/lib/src/store/document-model.d.ts.map +0 -1
  469. package/lib/src/store/document-model.js +0 -80
  470. package/lib/src/store/document-model.js.map +0 -1
  471. package/lib/src/store/editor.d.ts +0 -5
  472. package/lib/src/store/editor.d.ts.map +0 -1
  473. package/lib/src/store/editor.js +0 -31
  474. package/lib/src/store/editor.js.map +0 -1
  475. package/lib/src/store/external-packages.d.ts +0 -4
  476. package/lib/src/store/external-packages.d.ts.map +0 -1
  477. package/lib/src/store/external-packages.js +0 -36
  478. package/lib/src/store/external-packages.js.map +0 -1
  479. package/lib/src/store/index.d.ts +0 -7
  480. package/lib/src/store/index.d.ts.map +0 -1
  481. package/lib/src/store/index.js +0 -7
  482. package/lib/src/store/index.js.map +0 -1
  483. package/lib/src/store/reactor.d.ts +0 -3
  484. package/lib/src/store/reactor.d.ts.map +0 -1
  485. package/lib/src/store/reactor.js +0 -272
  486. package/lib/src/store/reactor.js.map +0 -1
  487. package/lib/src/store/user.d.ts +0 -2
  488. package/lib/src/store/user.d.ts.map +0 -1
  489. package/lib/src/store/user.js +0 -16
  490. package/lib/src/store/user.js.map +0 -1
  491. package/lib/src/store/utils.d.ts +0 -2
  492. package/lib/src/store/utils.d.ts.map +0 -1
  493. package/lib/src/store/utils.js +0 -59
  494. package/lib/src/store/utils.js.map +0 -1
  495. package/lib/src/utils/browser.d.ts +0 -2
  496. package/lib/src/utils/browser.d.ts.map +0 -1
  497. package/lib/src/utils/browser.js +0 -9
  498. package/lib/src/utils/browser.js.map +0 -1
  499. package/lib/src/utils/document-editor-debug-tools.d.ts +0 -17
  500. package/lib/src/utils/document-editor-debug-tools.d.ts.map +0 -1
  501. package/lib/src/utils/document-editor-debug-tools.js +0 -55
  502. package/lib/src/utils/document-editor-debug-tools.js.map +0 -1
  503. package/lib/src/utils/drive-preservation.d.ts +0 -19
  504. package/lib/src/utils/drive-preservation.d.ts.map +0 -1
  505. package/lib/src/utils/drive-preservation.js +0 -51
  506. package/lib/src/utils/drive-preservation.js.map +0 -1
  507. package/lib/src/utils/drive-sections.d.ts +0 -31
  508. package/lib/src/utils/drive-sections.d.ts.map +0 -1
  509. package/lib/src/utils/drive-sections.js +0 -63
  510. package/lib/src/utils/drive-sections.js.map +0 -1
  511. package/lib/src/utils/index.d.ts +0 -12
  512. package/lib/src/utils/index.d.ts.map +0 -1
  513. package/lib/src/utils/index.js +0 -12
  514. package/lib/src/utils/index.js.map +0 -1
  515. package/lib/src/utils/join.d.ts +0 -2
  516. package/lib/src/utils/join.d.ts.map +0 -1
  517. package/lib/src/utils/join.js +0 -11
  518. package/lib/src/utils/join.js.map +0 -1
  519. package/lib/src/utils/openUrl.d.ts +0 -2
  520. package/lib/src/utils/openUrl.d.ts.map +0 -1
  521. package/lib/src/utils/openUrl.js +0 -3
  522. package/lib/src/utils/openUrl.js.map +0 -1
  523. package/lib/src/utils/path.d.ts +0 -4
  524. package/lib/src/utils/path.d.ts.map +0 -1
  525. package/lib/src/utils/path.js +0 -17
  526. package/lib/src/utils/path.js.map +0 -1
  527. package/lib/src/utils/reactor.d.ts +0 -26
  528. package/lib/src/utils/reactor.d.ts.map +0 -1
  529. package/lib/src/utils/reactor.js +0 -115
  530. package/lib/src/utils/reactor.js.map +0 -1
  531. package/lib/src/utils/registerServiceWorker.d.ts +0 -12
  532. package/lib/src/utils/registerServiceWorker.d.ts.map +0 -1
  533. package/lib/src/utils/registerServiceWorker.js +0 -97
  534. package/lib/src/utils/registerServiceWorker.js.map +0 -1
  535. package/lib/src/utils/signature.d.ts +0 -4
  536. package/lib/src/utils/signature.d.ts.map +0 -1
  537. package/lib/src/utils/signature.js +0 -36
  538. package/lib/src/utils/signature.js.map +0 -1
  539. package/lib/src/utils/slug.d.ts +0 -2
  540. package/lib/src/utils/slug.d.ts.map +0 -1
  541. package/lib/src/utils/slug.js +0 -4
  542. package/lib/src/utils/slug.js.map +0 -1
  543. package/lib/src/workers/pglite-worker.d.ts +0 -2
  544. package/lib/src/workers/pglite-worker.d.ts.map +0 -1
  545. package/lib/src/workers/pglite-worker.js +0 -32
  546. package/lib/src/workers/pglite-worker.js.map +0 -1
  547. package/lib/test/utils/signer.test.d.ts +0 -2
  548. package/lib/test/utils/signer.test.d.ts.map +0 -1
  549. package/lib/test/utils/signer.test.js +0 -330
  550. package/lib/test/utils/signer.test.js.map +0 -1
  551. package/lib/tsconfig.tsbuildinfo +0 -1
  552. package/lib/vite.config.d.ts +0 -3
  553. package/lib/vite.config.d.ts.map +0 -1
  554. package/lib/vite.config.js +0 -59
  555. package/lib/vite.config.js.map +0 -1
  556. package/lib/vitest.config.d.ts +0 -3
  557. package/lib/vitest.config.d.ts.map +0 -1
  558. package/lib/vitest.config.js +0 -8
  559. package/lib/vitest.config.js.map +0 -1
  560. package/nginx.conf +0 -77
  561. package/package.copy.json +0 -177
  562. package/src/index.css +0 -5
@@ -0,0 +1,1171 @@
1
+ import { n as defaultPHAppConfig, r as defaultPHDocumentEditorConfig, t as connectConfig } from "./connect.config-DDu1QWU1.js";
2
+ import { t as toast$1 } from "./toast-iD-70hL8.js";
3
+ import { t as i18n } from "./i18n-Ch408v5-.js";
4
+ import { t as serviceWorkerManager } from "./registerServiceWorker-19nMRUMW.js";
5
+ import { addRemoteDrive, driveCollectionId, exportFile, getRevisionFromDate, logout, openRenown, setPHAppConfig, setPHDocumentEditorConfig, setRevisionHistoryVisible, setSelectedDrive, setSelectedNode, showPHModal, useAppModuleById, useDefaultAppModule, useDocumentById, useDocumentModelModuleById, useDocumentOperations, useDrives, useEditorModuleById, useFallbackEditorModule, useInspectorEnabled, useNodeParentFolderById, usePHModal, usePackageDiscoveryService, useReactorClient, useRevisionHistoryVisible, useSelectedDocument, useSelectedDocumentId, useSelectedDrive, useSelectedDriveSafe, useSelectedFolder, useSelectedTimelineItem, useSyncList, useUser, validateDocument } from "@powerhousedao/reactor-browser";
6
+ import { childLogger } from "document-model";
7
+ import React, { StrictMode, Suspense, lazy, useCallback, useEffect, useMemo, useRef, useState, useSyncExternalStore } from "react";
8
+ import { AnimatedLoader, ConnectSidebar, ConnectTooltipProvider, CookieBanner, DefaultEditorLoader, DropZoneWrapper, HomeScreen, HomeScreenAddDriveItem, HomeScreenItem, RevisionHistory, SidebarAddDriveItem, SidebarItem, ToastContainer, WagmiContext } from "@powerhousedao/design-system/connect";
9
+ import { Trans, useTranslation } from "react-i18next";
10
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
11
+ import { Outlet, RouterProvider, createBrowserRouter, createRoutesFromChildren, matchRoutes, useLocation, useNavigate, useNavigationType, useParams } from "react-router-dom";
12
+ import { useHotkeys } from "react-hotkeys-hook";
13
+ import { GenericDriveExplorer } from "@powerhousedao/powerhouse-vetra-packages/editors";
14
+ import { ErrorBoundary } from "react-error-boundary";
15
+ import { PackageInstallModal } from "@powerhousedao/design-system/connect/index";
16
+ import { Icon, PowerhouseButton } from "@powerhousedao/design-system";
17
+ import { redo, undo } from "@powerhousedao/shared/document-model";
18
+ import { gql, request } from "graphql-request";
19
+ //#region src/hooks/useAcceptedCookies.ts
20
+ const ACCEPTED_COOKIES_KEY_STORAGE = `${connectConfig.routerBasename}:acceptedCookies`;
21
+ const listeners$1 = /* @__PURE__ */ new Set();
22
+ let cookies = getInitial$1();
23
+ function getInitial$1() {
24
+ try {
25
+ const value = localStorage.getItem(ACCEPTED_COOKIES_KEY_STORAGE);
26
+ return value ? JSON.parse(value) : {
27
+ analytics: false,
28
+ marketing: false,
29
+ functional: false
30
+ };
31
+ } catch {
32
+ return {
33
+ analytics: false,
34
+ marketing: false,
35
+ functional: false
36
+ };
37
+ }
38
+ }
39
+ function getCookies() {
40
+ return cookies;
41
+ }
42
+ function setCookies(setter) {
43
+ cookies = setter(cookies);
44
+ localStorage.setItem(ACCEPTED_COOKIES_KEY_STORAGE, JSON.stringify(cookies));
45
+ listeners$1.forEach((fn) => fn());
46
+ }
47
+ function subscribe$1(fn) {
48
+ listeners$1.add(fn);
49
+ return () => listeners$1.delete(fn);
50
+ }
51
+ const useAcceptedCookies = () => {
52
+ return [useSyncExternalStore(subscribe$1, getCookies, getCookies), setCookies];
53
+ };
54
+ //#endregion
55
+ //#region src/hooks/usePendingInstallations.ts
56
+ const emptyArray = [];
57
+ function usePendingInstallations() {
58
+ const discoveryService = usePackageDiscoveryService();
59
+ return useSyncExternalStore((cb) => discoveryService?.subscribePending(cb) ?? (() => {}), () => discoveryService?.getPendingInstallations() ?? emptyArray);
60
+ }
61
+ const COOKIE_BANNER_KEY_STORAGE = `${connectConfig.routerBasename}:display-cookie-banner`;
62
+ const listeners = /* @__PURE__ */ new Set();
63
+ let bannerShown = getInitial();
64
+ function getInitial() {
65
+ try {
66
+ return localStorage.getItem(COOKIE_BANNER_KEY_STORAGE) !== "false";
67
+ } catch (error) {
68
+ console.error(error);
69
+ return true;
70
+ }
71
+ }
72
+ function getCookieBannerState() {
73
+ return bannerShown;
74
+ }
75
+ function setCookieBannerState(state) {
76
+ bannerShown = state;
77
+ localStorage.setItem(COOKIE_BANNER_KEY_STORAGE, JSON.stringify(state));
78
+ }
79
+ function subscribe(fn) {
80
+ listeners.add(fn);
81
+ return () => listeners.delete(fn);
82
+ }
83
+ const useCookieBanner = () => {
84
+ return [useSyncExternalStore(subscribe, getCookieBannerState, getCookieBannerState), setCookieBannerState];
85
+ };
86
+ //#endregion
87
+ //#region src/hooks/useInitSentry.ts
88
+ const logger$2 = childLogger(["sentry"]);
89
+ let clientStarted = false;
90
+ async function getSentry() {
91
+ return await import("@sentry/react");
92
+ }
93
+ async function initSentry() {
94
+ connectConfig.sentry;
95
+ const Sentry = await getSentry();
96
+ const integrations = [
97
+ Sentry.httpClientIntegration(),
98
+ Sentry.extraErrorDataIntegration({ depth: 5 }),
99
+ Sentry.replayIntegration(),
100
+ Sentry.captureConsoleIntegration({ levels: ["error"] })
101
+ ];
102
+ if (connectConfig.sentry.tracing) integrations.push(Sentry.reactRouterV6BrowserTracingIntegration({
103
+ useEffect: React.useEffect,
104
+ useLocation,
105
+ useNavigationType,
106
+ createRoutesFromChildren,
107
+ matchRoutes
108
+ }));
109
+ Sentry.init({
110
+ release: connectConfig.sentry.release,
111
+ dsn: connectConfig.sentry.dsn,
112
+ environment: connectConfig.sentry.env,
113
+ integrations,
114
+ ignoreErrors: [
115
+ "User is not allowed to create files",
116
+ "User is not allowed to move documents",
117
+ "The user aborted a request."
118
+ ],
119
+ sendDefaultPii: true,
120
+ tracesSampleRate: 1,
121
+ replaysSessionSampleRate: .1,
122
+ replaysOnErrorSampleRate: 1,
123
+ beforeSend(event, hint) {
124
+ const error = hint.originalException;
125
+ if (error instanceof TypeError && error.message.includes("Failed to fetch") && !navigator.onLine) return null;
126
+ return event;
127
+ }
128
+ });
129
+ clientStarted = true;
130
+ }
131
+ async function closeClient() {
132
+ if (!clientStarted) return;
133
+ return (await getSentry()).getClient()?.close();
134
+ }
135
+ function useInitSentry() {
136
+ const [acceptedCookies] = useAcceptedCookies();
137
+ const { analytics } = acceptedCookies;
138
+ useEffect(() => {
139
+ if (!analytics) {
140
+ closeClient().catch((error) => logger$2.error("@error", error));
141
+ return;
142
+ }
143
+ if (clientStarted || !connectConfig.sentry.dsn || connectConfig.sentry.dsn === "") return;
144
+ initSentry().catch((error) => logger$2.error("@error", error));
145
+ }, [analytics]);
146
+ }
147
+ //#endregion
148
+ //#region src/hooks/useUndoRedoShortcuts.ts
149
+ const useUndoRedoShortcuts = (props) => {
150
+ const { undo, redo, canRedo, canUndo } = props;
151
+ const isMac = window.navigator.userAgent.includes("Mac");
152
+ let undoShortcut = "ctrl+z";
153
+ let redoShortcut = "ctrl+y";
154
+ if (isMac) {
155
+ undoShortcut = "mod+z";
156
+ redoShortcut = "mod+shift+z";
157
+ }
158
+ useHotkeys(undoShortcut, (event) => {
159
+ event.preventDefault();
160
+ if (canUndo) undo();
161
+ }, {}, [canUndo, undo]);
162
+ useHotkeys(redoShortcut, (event) => {
163
+ event.preventDefault();
164
+ if (canRedo) redo();
165
+ }, {}, [canRedo, redo]);
166
+ };
167
+ //#endregion
168
+ //#region src/components/analytics.tsx
169
+ function gtag(...args) {
170
+ window.dataLayer?.push(...args);
171
+ }
172
+ const Analytics = () => {
173
+ const gaTrackingId = connectConfig.gaTrackingId;
174
+ const [{ analytics }] = useAcceptedCookies();
175
+ const useAnalytics = gaTrackingId && analytics;
176
+ useEffect(() => {
177
+ if (useAnalytics) {
178
+ const script = document.createElement("script");
179
+ script.src = `https://www.googletagmanager.com/gtag/js?id=${gaTrackingId}`;
180
+ script.async = true;
181
+ document.head.appendChild(script);
182
+ window.dataLayer = window.dataLayer || [];
183
+ gtag("js", /* @__PURE__ */ new Date());
184
+ gtag("config", gaTrackingId);
185
+ return () => {
186
+ document.head.removeChild(script);
187
+ };
188
+ }
189
+ }, [useAnalytics, gaTrackingId]);
190
+ return null;
191
+ };
192
+ //#endregion
193
+ //#region src/components/document-editor-container.tsx
194
+ function DocumentEditorContainer() {
195
+ const [selectedDocument] = useSelectedDocument();
196
+ const parentFolder = useNodeParentFolderById(selectedDocument.header.id);
197
+ const onExport = useCallback(() => {
198
+ if (validateDocument(selectedDocument).length) showPHModal({
199
+ type: "exportDocumentWithErrors",
200
+ documentId: selectedDocument.header.id
201
+ });
202
+ else exportFile(selectedDocument).catch((error) => {
203
+ console.error(error);
204
+ toast$1(`Failed to export document: ${error instanceof Error ? error.message : JSON.stringify(error, null, 1)}`);
205
+ });
206
+ }, [selectedDocument]);
207
+ const onOpenSwitchboardLink = useMemo(() => {
208
+ return async () => {};
209
+ }, []);
210
+ const onClose = useCallback(() => {
211
+ setSelectedNode(parentFolder);
212
+ }, [parentFolder, setSelectedNode]);
213
+ return /* @__PURE__ */ jsx("div", {
214
+ id: "document-editor-container",
215
+ className: "flex-1",
216
+ "data-document-type": selectedDocument.header.documentType,
217
+ children: /* @__PURE__ */ jsx(DocumentEditor, {
218
+ document: selectedDocument,
219
+ onClose,
220
+ onExport,
221
+ onOpenSwitchboardLink
222
+ })
223
+ });
224
+ }
225
+ //#endregion
226
+ //#region src/components/editor-loader.tsx
227
+ function EditorLoader(props) {
228
+ const [showLoading, setShowLoading] = useState(false);
229
+ useEffect(() => {
230
+ setTimeout(() => {
231
+ setShowLoading(true);
232
+ }, props.loadingTimeout ?? 200);
233
+ }, [props]);
234
+ if (!showLoading) return null;
235
+ const { customEditorLoader, ...defaultProps } = props;
236
+ if (customEditorLoader) return /* @__PURE__ */ jsx(Fragment, { children: customEditorLoader });
237
+ return /* @__PURE__ */ jsx(DefaultEditorLoader, { ...defaultProps });
238
+ }
239
+ //#endregion
240
+ //#region src/components/error-boundary.tsx
241
+ const logger$1 = childLogger(["Connect"]);
242
+ function hasCustomFallback(props) {
243
+ return "fallbackRender" in props;
244
+ }
245
+ function SilentFallback() {
246
+ return null;
247
+ }
248
+ /**
249
+ * Simple text-based fallback component.
250
+ * Displays a centered message when an error occurs.
251
+ */
252
+ function TextFallback({ message = "Something went wrong" }) {
253
+ return /* @__PURE__ */ jsx("div", {
254
+ className: "text-center",
255
+ children: message
256
+ });
257
+ }
258
+ /**
259
+ * Detailed fallback component showing full error information.
260
+ * Displays error message and JSON representation of the error object.
261
+ * Useful for development and debugging purposes.
262
+ */
263
+ function DetailedFallback({ error }) {
264
+ const errorMessage = error instanceof Error ? error.message : String(error);
265
+ return /* @__PURE__ */ jsxs("div", {
266
+ className: "mx-auto flex max-w-[80%] flex-1 flex-col items-center justify-center",
267
+ children: [
268
+ /* @__PURE__ */ jsx("h1", {
269
+ className: "mb-2 text-xl font-semibold",
270
+ children: "Error"
271
+ }),
272
+ /* @__PURE__ */ jsx("i", { children: errorMessage }),
273
+ /* @__PURE__ */ jsx("pre", { children: JSON.stringify(error, null, 2) })
274
+ ]
275
+ });
276
+ }
277
+ /**
278
+ * Centered error message fallback component.
279
+ * Displays the error message in a centered, full-size container.
280
+ * Suitable for use as a custom fallbackRender when you need simple error display.
281
+ */
282
+ function CenteredErrorMessage({ error }) {
283
+ return /* @__PURE__ */ jsx("div", {
284
+ className: "flex size-full items-center justify-center",
285
+ children: /* @__PURE__ */ jsx("h3", {
286
+ className: "text-lg font-semibold",
287
+ children: error instanceof Error ? error.message : String(error)
288
+ })
289
+ });
290
+ }
291
+ function getFallbackComponent(variant, fallbackMessage) {
292
+ switch (variant) {
293
+ case "silent": return SilentFallback;
294
+ case "text": return () => /* @__PURE__ */ jsx(TextFallback, { message: fallbackMessage });
295
+ case "detailed": return DetailedFallback;
296
+ default: return CenteredErrorMessage;
297
+ }
298
+ }
299
+ /**
300
+ * Unified error boundary component for catching and handling React errors.
301
+ *
302
+ * Built on top of `react-error-boundary`, this component provides:
303
+ * - Automatic error logging with configurable context
304
+ * - Multiple fallback UI variants (silent, text, detailed)
305
+ * - Support for custom fallback render functions
306
+ * - Reset capability via `resetKeys`
307
+ *
308
+ * @example
309
+ * // Using a predefined variant
310
+ * <ErrorBoundary variant="detailed" loggerContext={["Connect", "Editor"]}>
311
+ * <EditorComponent />
312
+ * </ErrorBoundary>
313
+ *
314
+ * @example
315
+ * // Using a custom message with the text variant
316
+ * <ErrorBoundary variant="text" fallbackMessage="Failed to load drives">
317
+ * <DrivesList />
318
+ * </ErrorBoundary>
319
+ *
320
+ * @example
321
+ * // Using a custom fallback render
322
+ * <ErrorBoundary
323
+ * fallbackRender={CenteredErrorMessage}
324
+ * onError={(error) => trackError(error)}
325
+ * >
326
+ * <MyComponent />
327
+ * </ErrorBoundary>
328
+ *
329
+ * @example
330
+ * // Silent mode for modals (renders null on error)
331
+ * <ErrorBoundary variant="silent" loggerContext={["Connect", "Modals"]}>
332
+ * <ModalContent />
333
+ * </ErrorBoundary>
334
+ */
335
+ function ErrorBoundary$1(props) {
336
+ const { children, onError, resetKeys, loggerContext } = props;
337
+ const handleError = (error, info) => {
338
+ if (error.message.includes("Failed to fetch dynamically imported module") && error.message.includes("node_modules/.vite")) {
339
+ console.error(error);
340
+ console.log("Outdated chunk detected, reloading page...");
341
+ window.location.reload();
342
+ return;
343
+ }
344
+ (loggerContext ? childLogger(loggerContext) : logger$1).error("@error @info", error, info);
345
+ onError?.(error, info);
346
+ };
347
+ return /* @__PURE__ */ jsx(ErrorBoundary, {
348
+ fallbackRender: hasCustomFallback(props) ? props.fallbackRender : getFallbackComponent(props.variant, props.fallbackMessage),
349
+ onError: handleError,
350
+ resetKeys,
351
+ children
352
+ });
353
+ }
354
+ //#endregion
355
+ //#region src/components/app-container.tsx
356
+ function AppContainer() {
357
+ const [selectedDrive] = useSelectedDrive();
358
+ const selectedDocumentId = useSelectedDocumentId();
359
+ const app = useAppModuleById(selectedDrive.header.meta?.preferredEditor);
360
+ const defaultApp = useDefaultAppModule();
361
+ const AppComponent = app?.Component ?? defaultApp?.Component ?? GenericDriveExplorer.Component;
362
+ if (!AppComponent) throw new Error("No app component found");
363
+ return /* @__PURE__ */ jsx(ErrorBoundary$1, {
364
+ variant: "detailed",
365
+ resetKeys: [selectedDrive.header.id],
366
+ loggerContext: ["Connect", "App"],
367
+ children: /* @__PURE__ */ jsx(Suspense, {
368
+ fallback: /* @__PURE__ */ jsx(EditorLoader, {}),
369
+ children: /* @__PURE__ */ jsx(DropZoneWrapper, {
370
+ className: "flex h-full flex-col overflow-auto",
371
+ children: /* @__PURE__ */ jsx(AppComponent, { children: selectedDocumentId ? /* @__PURE__ */ jsx(DocumentEditorContainer, {}) : null })
372
+ })
373
+ })
374
+ });
375
+ }
376
+ //#endregion
377
+ //#region src/utils/browser.ts
378
+ function getBasePath() {
379
+ if (typeof document === "undefined") return "/";
380
+ return document.querySelector("base")?.getAttribute("href") || "/";
381
+ }
382
+ //#endregion
383
+ //#region src/utils/document-editor-debug-tools.ts
384
+ var DocumentEditorDebugTools = class {
385
+ document;
386
+ operations = [];
387
+ constructor(document) {
388
+ if (document) this.document = document;
389
+ }
390
+ operationsToTableObject(operations) {
391
+ return operations.map((op) => ({
392
+ ...op,
393
+ input: JSON.stringify(op.action.input)
394
+ }));
395
+ }
396
+ setDocument(document) {
397
+ this.document = document;
398
+ }
399
+ getDocument() {
400
+ return this.document;
401
+ }
402
+ getOperations() {
403
+ return this.operations;
404
+ }
405
+ pushOperation(operation) {
406
+ this.operations.push(operation);
407
+ }
408
+ operationsTable() {
409
+ if (!this.document) console.warn("No document");
410
+ const ops = Object.values(this.document?.operations || {}).filter((array) => array !== void 0).flatMap((array) => array).sort((a, b) => a.index - b.index);
411
+ console.table(this.operationsToTableObject(ops));
412
+ }
413
+ scopeOperationsTable(scope) {
414
+ if (!this.document) console.warn("No document");
415
+ const ops = this.document?.operations[scope] || [];
416
+ console.table(this.operationsToTableObject(ops));
417
+ }
418
+ operationsLog() {
419
+ console.log(this.operations);
420
+ }
421
+ operationsLogTable() {
422
+ console.table(this.operationsToTableObject(this.operations));
423
+ }
424
+ clear() {
425
+ this.operations = [];
426
+ this.document = void 0;
427
+ }
428
+ };
429
+ //#endregion
430
+ //#region src/components/app-skeleton.tsx
431
+ const LOADER_DELAY = 250;
432
+ const Loader = ({ delay = LOADER_DELAY }) => {
433
+ const isSSR = typeof window === "undefined";
434
+ const showInitialLoader = typeof document !== "undefined" && document.body.getAttribute("data-show-loader") === "true";
435
+ const [showLoading, setShowLoading] = useState(!delay || showInitialLoader);
436
+ useEffect(() => {
437
+ const id = setTimeout(() => {
438
+ setShowLoading(true);
439
+ }, delay);
440
+ return () => clearTimeout(id);
441
+ }, []);
442
+ return /* @__PURE__ */ jsxs("div", {
443
+ className: `skeleton-loader absolute inset-0 z-10 flex items-center justify-center ${showLoading ? "" : "hidden"}`,
444
+ children: [/* @__PURE__ */ jsx("div", {
445
+ className: "animate-pulse overflow-hidden rounded-full shadow-lg",
446
+ children: /* @__PURE__ */ jsx(AnimatedLoader, {})
447
+ }), isSSR ? /* @__PURE__ */ jsx("script", { dangerouslySetInnerHTML: { __html: `setTimeout(() => {
448
+ document.querySelector('.skeleton-loader')?.classList.remove('hidden');
449
+ document.body.setAttribute('data-show-loader', 'true');
450
+ }, ${delay})` } }) : null]
451
+ });
452
+ };
453
+ const AppSkeleton = () => {
454
+ const isSSR = typeof window === "undefined";
455
+ const isHomeScreen = !isSSR && window.location.pathname === getBasePath();
456
+ return /* @__PURE__ */ jsxs("div", {
457
+ className: "flex h-screen",
458
+ children: [
459
+ /* @__PURE__ */ jsx(ConnectSidebar, {
460
+ className: "animate-pulse",
461
+ onLogin: void 0,
462
+ onDisconnect: void 0,
463
+ onClickSettings: void 0,
464
+ address: void 0
465
+ }),
466
+ /* @__PURE__ */ jsx(HomeScreen, {
467
+ containerClassName: isSSR || !isHomeScreen ? "hidden home-screen" : void 0,
468
+ children: null
469
+ }),
470
+ isSSR ? /* @__PURE__ */ jsx("script", { dangerouslySetInnerHTML: { __html: `
471
+ const baseEl = document.querySelector('base');
472
+ const href = baseEl?.getAttribute('href');
473
+ const basePath = href || '/';
474
+ if (window.location.pathname === basePath) {
475
+ document.querySelector('.home-screen')?.classList.remove('hidden')
476
+ }` } }) : null,
477
+ /* @__PURE__ */ jsx(Loader, {})
478
+ ]
479
+ });
480
+ };
481
+ //#endregion
482
+ //#region src/components/modal/modals-container.tsx
483
+ const AddDriveModal$1 = lazy(() => import("./AddDriveModal-CBK9gEWg.js").then((m) => ({ default: m.AddDriveModal })));
484
+ const ClearStorageModal = lazy(() => import("./ClearStorageModal-CyDsBTwL.js").then((m) => ({ default: m.ClearStorageModal })));
485
+ const CookiesPolicyModal = lazy(() => import("./CookiesPolicyModal-Gae1QuhA.js").then((m) => ({ default: m.CookiesPolicyModal })));
486
+ const CreateDocumentModal$1 = lazy(() => import("./CreateDocumentModal-5i6rmv3C.js").then((m) => ({ default: m.CreateDocumentModal })));
487
+ const DebugSettingsModal = lazy(() => import("./DebugSettingsModal-ZNWhlMQN.js").then((m) => ({ default: m.DebugSettingsModal })));
488
+ const DeleteDriveModal = lazy(() => import("./DeleteDriveModal-BbAx_yXt.js").then((m) => ({ default: m.DeleteDriveModal })));
489
+ const DeleteItemModal = lazy(() => import("./DeleteItemModal-CkWegLlh.js").then((m) => ({ default: m.DeleteItemModal })));
490
+ const DisclaimerModal = lazy(() => import("./DisclaimerModal-CCnvwoB5.js").then((m) => ({ default: m.DisclaimerModal })));
491
+ const DriveSettingsModal$1 = lazy(() => import("./DriveSettingsModal-DxMjOsLg.js").then((m) => ({ default: m.DriveSettingsModal })));
492
+ const ExportDocumentWithErrorsModal = lazy(() => import("./ExportDocumentWithErrorsModal-hgliF8Gy.js").then((m) => ({ default: m.ExportDocumentWithErrorsModal })));
493
+ const SettingsModal$1 = lazy(() => import("./SettingsModal-D_YLdjps.js").then((m) => ({ default: m.SettingsModal })));
494
+ const UpgradeDriveModal = lazy(() => import("./UpgradeDriveModal-DldcNCaT.js").then((m) => ({ default: m.UpgradeDriveModal })));
495
+ const modalComponents = {
496
+ addDrive: AddDriveModal$1,
497
+ clearStorage: ClearStorageModal,
498
+ cookiesPolicy: CookiesPolicyModal,
499
+ createDocument: CreateDocumentModal$1,
500
+ debugSettings: DebugSettingsModal,
501
+ deleteDrive: DeleteDriveModal,
502
+ deleteItem: DeleteItemModal,
503
+ disclaimer: DisclaimerModal,
504
+ driveSettings: DriveSettingsModal$1,
505
+ exportDocumentWithErrors: ExportDocumentWithErrorsModal,
506
+ inspector: lazy(() => import("./InspectorModal-C4rE0Y5E.js").then((m) => ({ default: m.InspectorModal }))),
507
+ settings: SettingsModal$1,
508
+ upgradeDrive: UpgradeDriveModal,
509
+ missingPackage: lazy(() => import("./MissingPackageModal-cr5tZDVw.js").then((m) => ({ default: m.ConnectMissingPackageModal })))
510
+ };
511
+ const ModalsContainer = lazy(async () => {
512
+ return { default: () => {
513
+ const phModal = usePHModal();
514
+ if (!phModal?.type) return null;
515
+ const ModalComponent = modalComponents[phModal.type];
516
+ return ModalComponent ? /* @__PURE__ */ jsx(ErrorBoundary$1, {
517
+ variant: "silent",
518
+ loggerContext: ["Connect", "Modals"],
519
+ children: /* @__PURE__ */ jsx(Suspense, {
520
+ fallback: null,
521
+ children: /* @__PURE__ */ jsx(ModalComponent, {})
522
+ })
523
+ }) : null;
524
+ } };
525
+ });
526
+ //#endregion
527
+ //#region src/components/app-loader.tsx
528
+ const AppLoader = (props) => {
529
+ const Load = lazy(() => import("./load-B7QROt_v.js").then((m) => m.loadComponent(props.localPackage)));
530
+ return /* @__PURE__ */ jsxs(StrictMode, { children: [
531
+ /* @__PURE__ */ jsx(Suspense, {
532
+ fallback: /* @__PURE__ */ jsx(AppSkeleton, {}),
533
+ name: "AppLoader",
534
+ children: /* @__PURE__ */ jsx(Load, {
535
+ ...props,
536
+ children: /* @__PURE__ */ jsx(App, {})
537
+ })
538
+ }),
539
+ /* @__PURE__ */ jsx(Suspense, {
540
+ name: "CookieBanner",
541
+ children: /* @__PURE__ */ jsx(CookieBanner$1, {})
542
+ }),
543
+ /* @__PURE__ */ jsx(Suspense, {
544
+ name: "ModalsContainer",
545
+ children: /* @__PURE__ */ jsx(ModalsContainer, {})
546
+ })
547
+ ] });
548
+ };
549
+ //#endregion
550
+ //#region src/context/sentry-provider.tsx
551
+ const SentryProvider = ({ children }) => {
552
+ useInitSentry();
553
+ return children;
554
+ };
555
+ //#endregion
556
+ //#region src/components/package-install-prompt.tsx
557
+ function PackageInstallPrompt() {
558
+ const pendingInstallations = usePendingInstallations();
559
+ const discoveryService = usePackageDiscoveryService();
560
+ if (!discoveryService || pendingInstallations.length === 0) return null;
561
+ return /* @__PURE__ */ jsx(PackageInstallModal, {
562
+ pendingInstallations: pendingInstallations.flatMap((p) => p.packageNames.map((packageName) => ({
563
+ documentType: p.documentType,
564
+ packageName
565
+ }))),
566
+ onInstall: (packageName) => discoveryService.approveInstallation(packageName),
567
+ onDismiss: (packageName) => discoveryService.dismissInstallation(packageName)
568
+ });
569
+ }
570
+ //#endregion
571
+ //#region src/components/app.tsx
572
+ const App = () => {
573
+ useEffect(() => {
574
+ const handlePreloadError = () => {
575
+ console.log("Outdated chunks detected, reloading page...");
576
+ window.location.reload();
577
+ };
578
+ window.addEventListener("vite:preloadError", handlePreloadError);
579
+ return () => {
580
+ window.removeEventListener("vite:preloadError", handlePreloadError);
581
+ };
582
+ }, []);
583
+ useEffect(() => {
584
+ if (import.meta.env.MODE === "development") window.documentEditorDebugTools = new DocumentEditorDebugTools();
585
+ else serviceWorkerManager.registerServiceWorker(false);
586
+ }, []);
587
+ return /* @__PURE__ */ jsx(SentryProvider, { children: /* @__PURE__ */ jsxs(WagmiContext, { children: [
588
+ /* @__PURE__ */ jsx(ToastContainer, {
589
+ position: "bottom-right",
590
+ containerId: "connect"
591
+ }),
592
+ /* @__PURE__ */ jsx(Router, {}),
593
+ /* @__PURE__ */ jsx(PackageInstallPrompt, {}),
594
+ /* @__PURE__ */ jsx(Analytics, {})
595
+ ] }) });
596
+ };
597
+ //#endregion
598
+ //#region src/components/cookie-banner.tsx
599
+ const isCookieAccepted = (cookies, id) => {
600
+ return cookies.some((cookie) => cookie.id === id && cookie.value);
601
+ };
602
+ const CookieBanner$1 = () => {
603
+ const { t } = useTranslation(void 0, {
604
+ useSuspense: true,
605
+ i18n
606
+ });
607
+ const [showBanner, setShowBanner] = useCookieBanner();
608
+ const [, setAcceptedCookies] = useAcceptedCookies();
609
+ const cookiesInput = [{
610
+ id: "analytics-cookie",
611
+ label: t("cookieBanner.cookies.analytics"),
612
+ value: true
613
+ }];
614
+ const handleAccept = (cookies) => {
615
+ setShowBanner(false);
616
+ if (isCookieAccepted(cookies, "analytics-cookie")) setAcceptedCookies((acceptedCookies) => ({
617
+ ...acceptedCookies,
618
+ analytics: true
619
+ }));
620
+ };
621
+ const handleReject = () => {
622
+ setShowBanner(false);
623
+ setAcceptedCookies(() => ({
624
+ analytics: false,
625
+ functional: false,
626
+ marketing: false
627
+ }));
628
+ };
629
+ if (!showBanner) return null;
630
+ return /* @__PURE__ */ jsxs("div", {
631
+ className: "absolute inset-0 z-[10000] backdrop-blur-sm",
632
+ children: [/* @__PURE__ */ jsx("div", { className: "absolute inset-0 bg-black opacity-15" }), /* @__PURE__ */ jsx("div", {
633
+ className: "absolute inset-x-0 bottom-0 flex justify-center bg-white px-10 pb-16 pt-10 shadow-lg",
634
+ children: /* @__PURE__ */ jsx(CookieBanner, {
635
+ className: "max-w-[1024px]",
636
+ cookies: cookiesInput,
637
+ onSubmit: handleAccept,
638
+ onReject: handleReject,
639
+ submitLabel: t("cookieBanner.accept"),
640
+ rejectLabel: t("cookieBanner.reject"),
641
+ children: /* @__PURE__ */ jsx("p", {
642
+ className: "font-semibold text-gray-500",
643
+ children: /* @__PURE__ */ jsx(Trans, {
644
+ i18nKey: "cookieBanner.message",
645
+ components: { a: /* @__PURE__ */ jsx("a", {
646
+ onClick: () => showPHModal({ type: "cookiesPolicy" }),
647
+ className: "cursor-pointer text-gray-900 hover:underline"
648
+ }, "cookieBanner.message-link") }
649
+ }, "cookieBanner.message")
650
+ })
651
+ })
652
+ })]
653
+ });
654
+ };
655
+ //#endregion
656
+ //#region src/components/drive-icon.tsx
657
+ function DriveIcon({ drive }) {
658
+ const remotes = useSyncList();
659
+ const isRemoteDrive = useMemo(() => {
660
+ if (!drive) return false;
661
+ return remotes.some((remote) => remote.collectionId === driveCollectionId("main", drive.header.id));
662
+ }, [remotes, drive]);
663
+ const driveIconSrc = drive?.state.global.icon;
664
+ if (driveIconSrc) return /* @__PURE__ */ jsx("img", {
665
+ src: driveIconSrc,
666
+ alt: drive.header.name,
667
+ height: 32,
668
+ width: 32
669
+ });
670
+ if (!isRemoteDrive) return /* @__PURE__ */ jsx(Icon, {
671
+ name: "Hdd",
672
+ size: 32
673
+ });
674
+ return /* @__PURE__ */ jsx(Icon, {
675
+ name: "Server",
676
+ size: 32
677
+ });
678
+ }
679
+ //#endregion
680
+ //#region src/components/editors.tsx
681
+ function EditorError({ message }) {
682
+ return /* @__PURE__ */ jsx("div", {
683
+ className: "flex size-full items-center justify-center",
684
+ children: /* @__PURE__ */ jsx("h3", {
685
+ className: "text-lg font-semibold",
686
+ children: message
687
+ })
688
+ });
689
+ }
690
+ const DocumentEditor = (props) => {
691
+ const { document: initialDocument, onClose, onExport, onOpenSwitchboardLink } = props;
692
+ const selectedTimelineItem = useSelectedTimelineItem();
693
+ const revisionHistoryVisible = useRevisionHistoryVisible();
694
+ const [document, dispatch] = useDocumentById(initialDocument.header.id);
695
+ const documentId = document?.header.id ?? void 0;
696
+ const documentName = document?.header.name ?? void 0;
697
+ const documentType = document?.header.documentType ?? void 0;
698
+ const preferredEditor = document?.header.meta?.preferredEditor ?? void 0;
699
+ const { globalOperations, localOperations, isLoading: isLoadingOperations, refetch: refetchOperations } = useDocumentOperations(documentId);
700
+ useEffect(() => {
701
+ if (revisionHistoryVisible) refetchOperations();
702
+ }, [revisionHistoryVisible, refetchOperations]);
703
+ const globalRevisionNumber = document?.header.revision.global ?? 0;
704
+ const localRevisionNumber = document?.header.revision.local ?? 0;
705
+ const documentModelModule = useDocumentModelModuleById(documentType);
706
+ const preferredEditorModule = useEditorModuleById(preferredEditor);
707
+ const fallbackEditorModule = useFallbackEditorModule(documentType);
708
+ const editorModule = preferredEditorModule ?? fallbackEditorModule;
709
+ const isLoadingDocument = !document;
710
+ const isLoadingEditor = editorModule && documentType && !editorModule.documentTypes.includes(documentType) && !editorModule.documentTypes.includes("*");
711
+ const canUndo = globalRevisionNumber > 0 || localRevisionNumber > 0;
712
+ const canRedo = !!document?.clipboard.length;
713
+ const addUndoAction = () => dispatch(undo());
714
+ const addRedoAction = () => dispatch(redo());
715
+ useUndoRedoShortcuts({
716
+ undo: addUndoAction,
717
+ redo: addRedoAction,
718
+ canUndo,
719
+ canRedo
720
+ });
721
+ useEffect(() => {
722
+ return () => {
723
+ window.documentEditorDebugTools?.clear();
724
+ };
725
+ }, []);
726
+ const [editorError, setEditorError] = useState(void 0);
727
+ useEffect(() => {
728
+ if (editorError && editorError.documentId !== documentId) setEditorError(void 0);
729
+ }, [editorError, documentId]);
730
+ const handleEditorError = (error, info) => {
731
+ setEditorError({
732
+ error,
733
+ documentId,
734
+ info
735
+ });
736
+ };
737
+ if (isLoadingEditor) return /* @__PURE__ */ jsx(EditorLoader, { message: "Loading editor" });
738
+ if (isLoadingDocument) return /* @__PURE__ */ jsx(EditorLoader, { message: "Loading document" });
739
+ if (!documentModelModule) return /* @__PURE__ */ jsx(EditorError, { message: /* @__PURE__ */ jsxs("div", {
740
+ className: "text-center leading-10",
741
+ children: [/* @__PURE__ */ jsxs("p", { children: [
742
+ "Unable to open the document because the document model \"",
743
+ documentType,
744
+ "\" is not supported."
745
+ ] }), /* @__PURE__ */ jsxs("p", { children: [
746
+ "Go to the",
747
+ " ",
748
+ /* @__PURE__ */ jsx("button", {
749
+ type: "button",
750
+ className: "cursor-pointer underline",
751
+ onClick: () => {
752
+ showPHModal({ type: "settings" });
753
+ },
754
+ children: "package manager"
755
+ }),
756
+ " ",
757
+ "to install this document model"
758
+ ] })]
759
+ }) });
760
+ if (!editorModule) return /* @__PURE__ */ jsx(EditorError, { message: /* @__PURE__ */ jsxs("div", {
761
+ className: "text-center leading-10",
762
+ children: [/* @__PURE__ */ jsx("p", { children: "Unable to open the document because no editor has been found" }), /* @__PURE__ */ jsxs("p", { children: [
763
+ "Go to the",
764
+ " ",
765
+ /* @__PURE__ */ jsx("button", {
766
+ type: "button",
767
+ className: "cursor-pointer underline",
768
+ onClick: () => {
769
+ showPHModal({ type: "settings" });
770
+ },
771
+ children: "package manager"
772
+ }),
773
+ " ",
774
+ "an editor for the \"$",
775
+ documentType,
776
+ "\" document type"
777
+ ] })]
778
+ }) });
779
+ const EditorComponent = editorModule.Component;
780
+ return /* @__PURE__ */ jsx("div", {
781
+ className: "relative h-full",
782
+ id: "document-editor-context",
783
+ "data-editor": editorModule.config.id,
784
+ "data-document-type": documentType,
785
+ children: revisionHistoryVisible ? isLoadingOperations ? /* @__PURE__ */ jsx(EditorLoader, { message: "Loading operations" }) : /* @__PURE__ */ jsx(RevisionHistory, {
786
+ documentTitle: documentName ?? "",
787
+ documentId: documentId ?? "",
788
+ globalOperations,
789
+ localOperations,
790
+ onClose: () => setRevisionHistoryVisible(false),
791
+ documentState: document.state,
792
+ onCopyState: () => {
793
+ toast$1("Copied document state to clipboard", { type: "success" });
794
+ },
795
+ onCopyDocId: () => {
796
+ toast$1("Copied document ID to clipboard", { type: "success" });
797
+ }
798
+ }, documentId) : /* @__PURE__ */ jsx(Suspense, {
799
+ fallback: /* @__PURE__ */ jsx(EditorLoader, { message: "Loading editor" }),
800
+ name: "EditorLoader",
801
+ children: /* @__PURE__ */ jsx(ErrorBoundary$1, {
802
+ fallbackRender: CenteredErrorMessage,
803
+ resetKeys: [documentId],
804
+ onError: handleEditorError,
805
+ loggerContext: ["Connect", "DocumentEditor"],
806
+ children: !editorError?.error && /* @__PURE__ */ jsx(EditorComponent, {
807
+ context: {
808
+ readMode: !!selectedTimelineItem,
809
+ selectedTimelineRevision: getRevisionFromDate(selectedTimelineItem?.startDate, selectedTimelineItem?.endDate, globalOperations)
810
+ },
811
+ documentId: document.header.id
812
+ }, documentId)
813
+ })
814
+ })
815
+ });
816
+ };
817
+ //#endregion
818
+ //#region src/components/root.tsx
819
+ function Root() {
820
+ return /* @__PURE__ */ jsx("div", {
821
+ className: "h-screen",
822
+ children: /* @__PURE__ */ jsx("div", {
823
+ className: `flex h-screen items-stretch overflow-auto`,
824
+ role: "presentation",
825
+ tabIndex: 0,
826
+ children: /* @__PURE__ */ jsxs(Suspense, {
827
+ name: "Root",
828
+ children: [/* @__PURE__ */ jsx(Sidebar, {}), /* @__PURE__ */ jsx("div", {
829
+ className: "relative flex-1 overflow-auto",
830
+ children: /* @__PURE__ */ jsx(Outlet, {})
831
+ })]
832
+ })
833
+ })
834
+ });
835
+ }
836
+ //#endregion
837
+ //#region src/pages/content.tsx
838
+ function Content() {
839
+ const [selectedDrive] = useSelectedDriveSafe();
840
+ const selectedFolder = useSelectedFolder();
841
+ const selectedDocumentId = useSelectedDocumentId();
842
+ useEffect(() => {
843
+ if (!selectedDocumentId) setPHDocumentEditorConfig(defaultPHDocumentEditorConfig);
844
+ }, [selectedDocumentId]);
845
+ useEffect(() => {
846
+ if (!selectedDrive) setPHAppConfig(defaultPHAppConfig);
847
+ }, [selectedDrive]);
848
+ return /* @__PURE__ */ jsx(ContentContainer, { children: !selectedDocumentId && !selectedDrive && !selectedFolder ? /* @__PURE__ */ jsx(HomeScreenContainer, {}) : /* @__PURE__ */ jsx(AppContainer, {}) });
849
+ }
850
+ function ContentContainer({ children }) {
851
+ return /* @__PURE__ */ jsx("div", {
852
+ className: "flex h-full flex-col overflow-auto",
853
+ id: "content-view",
854
+ children
855
+ });
856
+ }
857
+ function DriveItem({ drive }) {
858
+ const description = useAppModuleById(drive.header.meta?.preferredEditor)?.config.name || "Drive Explorer App";
859
+ return /* @__PURE__ */ jsx(HomeScreenItem, {
860
+ title: drive.state.global.name,
861
+ description,
862
+ icon: /* @__PURE__ */ jsx(DriveIcon, { drive }),
863
+ onClick: () => setSelectedDrive(drive)
864
+ }, drive.header.id);
865
+ }
866
+ function HomeScreenContainer() {
867
+ const drives = useDrives();
868
+ const config = connectConfig;
869
+ return /* @__PURE__ */ jsxs(HomeScreen, { children: [drives?.map((drive) => {
870
+ return /* @__PURE__ */ jsx(DriveItem, { drive }, drive.header.id);
871
+ }), config.drives.addDriveEnabled && /* @__PURE__ */ jsx(HomeScreenAddDriveItem, {})] });
872
+ }
873
+ //#endregion
874
+ //#region src/pages/demo/atlas-import.tsx
875
+ const REACTOR_URL = "https://apps.powerhouse.io/sky-atlas/staging/switchboard";
876
+ const MIN_LOADING_TIME = 2e3;
877
+ function useReactorUrl() {
878
+ const { search } = useLocation();
879
+ return useMemo(() => {
880
+ const url = new URLSearchParams(search).get("reactorUrl") ?? REACTOR_URL;
881
+ return url.endsWith("/") ? url : `${url}/`;
882
+ }, [search]);
883
+ }
884
+ async function forkAtlas(docId, reactorUrl) {
885
+ const document = gql`
886
+ mutation ForkAtlas($docId: PHID) {
887
+ ForkAtlas(docId: $docId)
888
+ }
889
+ `;
890
+ return await request(`${reactorUrl}graphql`, document, { docId });
891
+ }
892
+ function AtlasImport() {
893
+ const status = useRef("initial");
894
+ const reactor = useReactorClient();
895
+ const { documentId } = useParams();
896
+ const reactorUrl = useReactorUrl();
897
+ const navigate = useNavigate();
898
+ const [driveId, setDriveId] = useState(void 0);
899
+ const [error, setError] = useState(void 0);
900
+ const [loading, setLoading] = useState(true);
901
+ const hasError = status.current === "error";
902
+ useEffect(() => {
903
+ if (error) {
904
+ console.error("Error forking Atlas:", error);
905
+ toast$1("Error forking Atlas", { type: "error" });
906
+ }
907
+ }, [error]);
908
+ async function forkAtlasDocument(documentId) {
909
+ const driveId = (await forkAtlas(documentId, reactorUrl)).ForkAtlas;
910
+ status.current = "forked";
911
+ setDriveId(driveId);
912
+ }
913
+ const redirectToDrive = useCallback(() => {
914
+ if (driveId && !loading) navigate(`/d/${driveId}`, { replace: true });
915
+ }, [
916
+ driveId,
917
+ navigate,
918
+ loading
919
+ ]);
920
+ const addForkDrive = useCallback(async (driveId) => {
921
+ console.log("Adding remote drive:", driveId);
922
+ const driveUrl = `${reactorUrl}d/${driveId}`;
923
+ try {
924
+ const addedDrive = await addRemoteDrive(driveUrl);
925
+ status.current = "done";
926
+ console.log("Added remote drive:", addedDrive);
927
+ setTimeout(() => {
928
+ setLoading(false);
929
+ }, MIN_LOADING_TIME);
930
+ } catch (error) {
931
+ status.current = "error";
932
+ setLoading(false);
933
+ setError(error);
934
+ }
935
+ }, [
936
+ addRemoteDrive,
937
+ navigate,
938
+ reactorUrl
939
+ ]);
940
+ useEffect(() => {
941
+ if (!documentId || status.current !== "initial") return;
942
+ status.current = "forking";
943
+ forkAtlasDocument(documentId).catch((error) => {
944
+ status.current = "error";
945
+ setError(error);
946
+ });
947
+ }, [documentId, status]);
948
+ useEffect(() => {
949
+ if (!driveId || !reactor || status.current !== "forked") return;
950
+ status.current = "addingDrive";
951
+ new Promise((resolve) => {
952
+ setTimeout(resolve, 500);
953
+ }).then(() => addForkDrive(driveId)).catch((error) => {
954
+ status.current = "error";
955
+ setError(error);
956
+ });
957
+ }, [
958
+ driveId,
959
+ reactor,
960
+ status
961
+ ]);
962
+ return /* @__PURE__ */ jsx("div", {
963
+ className: "flex size-full justify-center gap-x-4 bg-gray-50",
964
+ children: /* @__PURE__ */ jsxs("div", {
965
+ className: "w-full max-w-[850px] rounded-2xl bg-white p-6 drop-shadow-sm",
966
+ children: [/* @__PURE__ */ jsx("h1", {
967
+ className: "text-lg font-medium text-gray-900",
968
+ children: "Welcome to the Atlas Explorer"
969
+ }), /* @__PURE__ */ jsx("div", {
970
+ className: "mt-4 rounded-xl border border-gray-200 bg-gray-50 p-6",
971
+ children: /* @__PURE__ */ jsxs("div", {
972
+ className: "flex min-h-80 flex-col items-center justify-center rounded-2xl bg-slate-50",
973
+ children: [
974
+ /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsxs("svg", {
975
+ width: "28",
976
+ height: "32",
977
+ viewBox: "0 0 28 32",
978
+ fill: "none",
979
+ xmlns: "http://www.w3.org/2000/svg",
980
+ children: [
981
+ /* @__PURE__ */ jsx("path", {
982
+ fillRule: "evenodd",
983
+ clipRule: "evenodd",
984
+ d: "M0.05092 23.7286L0.000163347 23.9993L0 23.9995L0.207853 24.067L27.6823 24.067L27.9995 23.9995L27.9161 23.6913L14.2182 0.209032L13.9998 0L13.749 0.246353L0.05092 23.7286ZM20.9994 11.9999L7.0003 11.9999L13.9998 23.999L20.9994 11.9999Z",
985
+ fill: "url(#paint0_radial_319_20865)"
986
+ }),
987
+ /* @__PURE__ */ jsx("path", {
988
+ d: "M14 0L0 23.9998V7.99993L14 0Z",
989
+ fill: "url(#paint1_linear_319_20865)"
990
+ }),
991
+ /* @__PURE__ */ jsx("path", {
992
+ d: "M28 24L7.82013e-05 24L14 31.9999L28 24Z",
993
+ fill: "url(#paint2_linear_319_20865)"
994
+ }),
995
+ /* @__PURE__ */ jsx("path", {
996
+ d: "M14 0L28 23.9998V7.99993L14 0Z",
997
+ fill: "url(#paint3_linear_319_20865)"
998
+ }),
999
+ /* @__PURE__ */ jsxs("defs", { children: [
1000
+ /* @__PURE__ */ jsxs("radialGradient", {
1001
+ id: "paint0_radial_319_20865",
1002
+ cx: "0",
1003
+ cy: "0",
1004
+ r: "1",
1005
+ gradientUnits: "userSpaceOnUse",
1006
+ gradientTransform: "translate(13.9994 16.0344) rotate(-89.9988) scale(16.0344 16.201)",
1007
+ children: [/* @__PURE__ */ jsx("stop", {
1008
+ offset: "0.181008",
1009
+ stopColor: "#FFCD6B"
1010
+ }), /* @__PURE__ */ jsx("stop", {
1011
+ offset: "1",
1012
+ stopColor: "#EB5EDF"
1013
+ })]
1014
+ }),
1015
+ /* @__PURE__ */ jsxs("linearGradient", {
1016
+ id: "paint1_linear_319_20865",
1017
+ x1: "-0.031454",
1018
+ y1: "24.041",
1019
+ x2: "13.801",
1020
+ y2: "-0.142908",
1021
+ gradientUnits: "userSpaceOnUse",
1022
+ children: [/* @__PURE__ */ jsx("stop", { stopColor: "#4331E9" }), /* @__PURE__ */ jsx("stop", {
1023
+ offset: "1",
1024
+ stopColor: "#A273FF"
1025
+ })]
1026
+ }),
1027
+ /* @__PURE__ */ jsxs("linearGradient", {
1028
+ id: "paint2_linear_319_20865",
1029
+ x1: "-0.0310093",
1030
+ y1: "24",
1031
+ x2: "28.0444",
1032
+ y2: "24",
1033
+ gradientUnits: "userSpaceOnUse",
1034
+ children: [/* @__PURE__ */ jsx("stop", { stopColor: "#A273FF" }), /* @__PURE__ */ jsx("stop", {
1035
+ offset: "1",
1036
+ stopColor: "#4331E9"
1037
+ })]
1038
+ }),
1039
+ /* @__PURE__ */ jsxs("linearGradient", {
1040
+ id: "paint3_linear_319_20865",
1041
+ x1: "28.0315",
1042
+ y1: "24.041",
1043
+ x2: "14.199",
1044
+ y2: "-0.142908",
1045
+ gradientUnits: "userSpaceOnUse",
1046
+ children: [/* @__PURE__ */ jsx("stop", { stopColor: "#A273FF" }), /* @__PURE__ */ jsx("stop", {
1047
+ offset: "1",
1048
+ stopColor: "#4331E9"
1049
+ })]
1050
+ })
1051
+ ] })
1052
+ ]
1053
+ }) }),
1054
+ hasError ? /* @__PURE__ */ jsx("div", {
1055
+ className: "mt-3 text-sm text-gray-800",
1056
+ children: "Error forking Atlas scope. Please try again."
1057
+ }) : /* @__PURE__ */ jsx("div", {
1058
+ className: "mt-3 text-sm text-gray-500",
1059
+ children: "Forking Atlas scope..."
1060
+ }),
1061
+ /* @__PURE__ */ jsx(PowerhouseButton, {
1062
+ onClick: hasError ? window.location.reload.bind(window.location) : redirectToDrive,
1063
+ size: "small",
1064
+ color: "light",
1065
+ className: "mt-4 h-9 border border-gray-200 bg-white px-3 text-gray-600",
1066
+ children: hasError ? "Retry" : loading ? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsxs("svg", {
1067
+ className: "animate-spin",
1068
+ width: "16",
1069
+ height: "16",
1070
+ viewBox: "0 0 16 16",
1071
+ fill: "none",
1072
+ xmlns: "http://www.w3.org/2000/svg",
1073
+ children: [/* @__PURE__ */ jsx("path", {
1074
+ d: "M15.6867 8.03333C15.4933 7.83999 15.1733 7.83999 14.98 8.03333L14.6733 8.34001V8C14.6733 4.32 11.68 1.32666 7.99999 1.32666C5.96666 1.32666 4.06666 2.23999 2.79333 3.82666C2.61999 4.03999 2.65332 4.35999 2.87332 4.52665C3.08666 4.69999 3.40666 4.66666 3.57332 4.44666C4.65999 3.09332 6.27332 2.31999 7.99999 2.31999C11.1267 2.31999 13.6733 4.86666 13.6733 7.99333V8.32666L13.3667 8.02002C13.1733 7.82669 12.8533 7.82669 12.66 8.02002C12.4667 8.21335 12.4667 8.53335 12.66 8.72668L13.82 9.88668C13.8667 9.93334 13.92 9.96666 13.98 9.99333C14.04 10.02 14.1067 10.0333 14.1733 10.0333C14.24 10.0333 14.3 10.02 14.3667 9.99333C14.4267 9.96666 14.48 9.93334 14.5267 9.88668L15.6867 8.72668C15.88 8.54668 15.88 8.22666 15.6867 8.03333Z",
1075
+ fill: "#6C7275"
1076
+ }), /* @__PURE__ */ jsx("path", {
1077
+ d: "M13.1267 11.4666C12.9133 11.2933 12.5933 11.3266 12.4267 11.5466C11.34 12.9 9.72665 13.6733 7.99998 13.6733C4.87332 13.6733 2.32665 11.1266 2.32665 7.99996V7.66663L2.63332 7.97331C2.73332 8.07331 2.85999 8.11996 2.98665 8.11996C3.11332 8.11996 3.23999 8.07331 3.33999 7.97331C3.53332 7.77998 3.53332 7.45998 3.33999 7.26664L2.17998 6.10661C2.13332 6.05994 2.07998 6.02663 2.01998 5.99996C1.89998 5.94663 1.75998 5.94663 1.63998 5.99996C1.57998 6.02663 1.52665 6.05994 1.47999 6.10661L0.319988 7.26664C0.126654 7.45998 0.126654 7.77998 0.319988 7.97331C0.513321 8.16664 0.833319 8.16664 1.02665 7.97331L1.33332 7.66663V7.99996C1.33332 11.68 4.32665 14.6733 8.00665 14.6733C10.04 14.6733 11.94 13.76 13.2133 12.1733C13.38 11.96 13.3467 11.64 13.1267 11.4666Z",
1078
+ fill: "#6C7275"
1079
+ })]
1080
+ }), "Loading"] }) : "Continue"
1081
+ })
1082
+ ]
1083
+ })
1084
+ })]
1085
+ })
1086
+ });
1087
+ }
1088
+ //#endregion
1089
+ //#region src/components/router.tsx
1090
+ function createRouter(routes) {
1091
+ const routerBasename = connectConfig.routerBasename;
1092
+ return createBrowserRouter(routes, {
1093
+ basename: routerBasename,
1094
+ future: {
1095
+ v7_fetcherPersist: true,
1096
+ v7_relativeSplatPath: true
1097
+ }
1098
+ });
1099
+ }
1100
+ function createRoutes() {
1101
+ return [{
1102
+ element: /* @__PURE__ */ jsx(Suspense, {
1103
+ name: "RouteRoot",
1104
+ children: /* @__PURE__ */ jsx(Root, {})
1105
+ }),
1106
+ children: [{
1107
+ index: true,
1108
+ path: "d?/:driveId?/*?",
1109
+ element: /* @__PURE__ */ jsx(Suspense, {
1110
+ name: "Drive",
1111
+ children: /* @__PURE__ */ jsx(Content, {})
1112
+ })
1113
+ }, {
1114
+ path: "import/:documentId",
1115
+ element: /* @__PURE__ */ jsx(Suspense, {
1116
+ name: "AtlasImport",
1117
+ children: /* @__PURE__ */ jsx(AtlasImport, {})
1118
+ })
1119
+ }]
1120
+ }];
1121
+ }
1122
+ const router = createRouter(createRoutes());
1123
+ const Router = () => {
1124
+ return /* @__PURE__ */ jsx(RouterProvider, { router });
1125
+ };
1126
+ //#endregion
1127
+ //#region src/components/sidebar.tsx
1128
+ function Sidebar() {
1129
+ const user = useUser();
1130
+ const drives = useDrives();
1131
+ const [selectedDrive] = useSelectedDriveSafe();
1132
+ const inspectorEnabled = useInspectorEnabled();
1133
+ const connectDebug = localStorage.getItem("CONNECT_DEBUG") === "true";
1134
+ const onClickSettings = () => {
1135
+ showPHModal({ type: "settings" });
1136
+ };
1137
+ const onAddDriveClick = () => {
1138
+ showPHModal({ type: "addDrive" });
1139
+ };
1140
+ const onInspectorClick = () => {
1141
+ showPHModal({ type: "inspector" });
1142
+ };
1143
+ const etherscanUrl = user?.address ? `https://etherscan.io/address/${user.address}` : "";
1144
+ return /* @__PURE__ */ jsx(ConnectTooltipProvider, { children: /* @__PURE__ */ jsx(ConnectSidebar, {
1145
+ id: "sidebar",
1146
+ onClick: () => setSelectedDrive(void 0),
1147
+ onClickSettings,
1148
+ onInspectorClick: inspectorEnabled ? onInspectorClick : void 0,
1149
+ address: user?.address,
1150
+ onLogin: openRenown,
1151
+ onDisconnect: logout,
1152
+ etherscanUrl,
1153
+ showDebug: connectDebug,
1154
+ onDebugClick: () => showPHModal({ type: "debugSettings" }),
1155
+ children: /* @__PURE__ */ jsxs(ErrorBoundary$1, {
1156
+ variant: "text",
1157
+ fallbackMessage: "There was an error loading drives",
1158
+ loggerContext: ["Connect", "Sidebar"],
1159
+ children: [drives?.map((drive, index) => /* @__PURE__ */ jsx(SidebarItem, {
1160
+ title: drive.header.name,
1161
+ onClick: () => setSelectedDrive(drive),
1162
+ active: selectedDrive?.header.id === drive.header.id,
1163
+ icon: /* @__PURE__ */ jsx(DriveIcon, { drive })
1164
+ }, index)), connectConfig.drives.addDriveEnabled && /* @__PURE__ */ jsx(SidebarAddDriveItem, { onClick: onAddDriveClick })]
1165
+ })
1166
+ }) });
1167
+ }
1168
+ //#endregion
1169
+ export { AppLoader as t };
1170
+
1171
+ //# sourceMappingURL=sidebar-BZKTsO1e.js.map