@powerhousedao/connect 4.1.0-dev.11 → 4.1.0-dev.110

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 (604) hide show
  1. package/{dist/.env → .env} +5 -7
  2. package/README.md +3 -4
  3. package/assets/icon.icns +0 -0
  4. package/assets/icon.ico +0 -0
  5. package/assets/icon.png +0 -0
  6. package/assets/icons/Atlas-Logomark.svg +24 -0
  7. package/assets/icons/BBP-logo-hover-dark.svg +14 -0
  8. package/assets/icons/BBP-logo-hover-light.svg +14 -0
  9. package/assets/icons/BBP-logo-main.svg +14 -0
  10. package/assets/icons/collapse.svg +7 -0
  11. package/assets/icons/connect-small.svg +3 -0
  12. package/assets/icons/connect.svg +16 -0
  13. package/assets/icons/cross.svg +4 -0
  14. package/assets/icons/dark.svg +5 -0
  15. package/assets/icons/draft.svg +3 -0
  16. package/assets/icons/file.svg +3 -0
  17. package/assets/icons/file2.svg +10 -0
  18. package/assets/icons/folder.svg +3 -0
  19. package/assets/icons/light.svg +20 -0
  20. package/assets/icons/logo.svg +11 -0
  21. package/assets/icons/plus-circle.svg +5 -0
  22. package/assets/icons/refresh.svg +4 -0
  23. package/assets/icons/renown.svg +27 -0
  24. package/assets/icons/settings.svg +6 -0
  25. package/assets/icons/template.svg +3 -0
  26. package/assets/info.plist +85 -0
  27. package/dist/assets/AddDriveModal-GtAcUXPf.js +1 -0
  28. package/dist/assets/ClearStorageModal-CakzAURV.js +1 -0
  29. package/dist/assets/CookiesPolicyModal-55pRf5LP.js +1 -0
  30. package/dist/assets/CreateDocumentModal-DQ_9OpMB.js +1 -0
  31. package/dist/assets/DebugSettingsModal-B5qKxNpB.js +1 -0
  32. package/dist/assets/DeleteDriveModal-CF__nLGk.js +1 -0
  33. package/dist/assets/DeleteItemModal-B8ytKgr5.js +1 -0
  34. package/dist/assets/DisclaimerModal-DhlboKHz.js +1 -0
  35. package/dist/assets/DriveSettingsModal-16QKab_H.js +1 -0
  36. package/dist/assets/ExportDocumentWithErrorsModal-7E4RTlRD.js +1 -0
  37. package/dist/assets/SettingsModal-Dg6xXx0_.js +1 -0
  38. package/dist/assets/UpgradeDriveModal-dyNo3JTB.js +1 -0
  39. package/dist/assets/_virtual_ph_external-packages-CM1tCR4L.js +1 -0
  40. package/dist/assets/config-CU-aFfVJ.js +1 -0
  41. package/dist/assets/design_system-DzDShHR8.js +45 -0
  42. package/dist/assets/design_system_connect-Bp19If9R.js +45 -0
  43. package/dist/assets/design_system_ui-PEVS1Y_s.js +1 -0
  44. package/dist/assets/document_drive-BEIKnuGM.js +305 -0
  45. package/dist/assets/document_engineering-DWx5hRGL.js +1 -0
  46. package/dist/assets/document_model-DXcLJEjZ.js +230 -0
  47. package/dist/assets/document_model_editor-hhDK55cy.js +23 -0
  48. package/dist/assets/drive_explorer-DRRO99zb.js +2 -0
  49. package/dist/assets/graphql-BS4Brs_E.js +75 -0
  50. package/dist/assets/graphql-editor-DEHNUhYc.js +73 -0
  51. package/dist/assets/graphql_request-9RNJ00DB.js +3 -0
  52. package/dist/assets/hmr-LMNkvzP7.js +1 -0
  53. package/dist/assets/hooks-C2Y-G872.js +12 -0
  54. package/dist/assets/index-BeXL_K-5.js +18 -0
  55. package/dist/assets/index-Br7E7qjt.css +1 -0
  56. package/dist/assets/json-editor-k72yFgOL.js +1 -0
  57. package/dist/assets/react/jsx-runtime-DldvXD6N.js +1 -0
  58. package/dist/assets/react-DQSxOgtG.js +1 -0
  59. package/dist/assets/react-dom/client-BVPiT_FE.js +9 -0
  60. package/dist/assets/react-dom-D6zQJsh6.js +1 -0
  61. package/dist/assets/reactor_browser-DBUrxP7P.js +25 -0
  62. package/dist/assets/sentry_browser-B4YoBIIG.js +498 -0
  63. package/dist/assets/sentry_react-cODD7zWc.js +3 -0
  64. package/dist/assets/state-schemas-DD7z-FcB.js +2 -0
  65. package/dist/assets/tailwind_merge-Dr4f9Rms.js +1 -0
  66. package/dist/assets/zod-C6yxFxyo.js +1 -0
  67. package/dist/index.html +51 -84
  68. package/heroku/Dockerfile +98 -0
  69. package/heroku/Procfile +1 -0
  70. package/heroku/config/nginx.conf.template +77 -0
  71. package/heroku/heroku-entrypoint.sh +38 -0
  72. package/lib/cypress/e2e/navigation.cy.d.ts +2 -0
  73. package/lib/cypress/e2e/navigation.cy.d.ts.map +1 -0
  74. package/lib/cypress/e2e/navigation.cy.js +221 -0
  75. package/lib/cypress/e2e/navigation.cy.js.map +1 -0
  76. package/lib/cypress/e2e/utils/index.d.ts +15 -0
  77. package/lib/cypress/e2e/utils/index.d.ts.map +1 -0
  78. package/lib/cypress/e2e/utils/index.js +121 -0
  79. package/lib/cypress/e2e/utils/index.js.map +1 -0
  80. package/lib/cypress/support/commands.d.ts +2 -0
  81. package/lib/cypress/support/commands.d.ts.map +1 -0
  82. package/lib/cypress/support/commands.js +29 -0
  83. package/lib/cypress/support/commands.js.map +1 -0
  84. package/lib/cypress/support/e2e.d.ts +2 -0
  85. package/lib/cypress/support/e2e.d.ts.map +1 -0
  86. package/lib/cypress/support/e2e.js +19 -0
  87. package/lib/cypress/support/e2e.js.map +1 -0
  88. package/lib/cypress.config.d.ts +3 -0
  89. package/lib/cypress.config.d.ts.map +1 -0
  90. package/lib/cypress.config.js +15 -0
  91. package/lib/cypress.config.js.map +1 -0
  92. package/lib/package.copy.json +165 -0
  93. package/lib/scripts/render-skeleton.d.ts +2 -0
  94. package/lib/scripts/render-skeleton.d.ts.map +1 -0
  95. package/lib/scripts/render-skeleton.js +11 -0
  96. package/lib/scripts/render-skeleton.js.map +1 -0
  97. package/lib/src/components/analytics.d.ts +8 -0
  98. package/lib/src/components/analytics.d.ts.map +1 -0
  99. package/lib/src/components/analytics.js +30 -0
  100. package/lib/src/components/analytics.js.map +1 -0
  101. package/lib/src/components/app-loader.d.ts +7 -0
  102. package/lib/src/components/app-loader.d.ts.map +1 -0
  103. package/lib/src/components/app-loader.js +20 -0
  104. package/lib/src/components/app-loader.js.map +1 -0
  105. package/lib/src/components/app-skeleton.d.ts +3 -0
  106. package/lib/src/components/app-skeleton.d.ts.map +1 -0
  107. package/lib/src/components/app-skeleton.js +38 -0
  108. package/lib/src/components/app-skeleton.js.map +1 -0
  109. package/lib/src/components/app.d.ts +2 -0
  110. package/lib/src/components/app.d.ts.map +1 -0
  111. package/lib/src/components/app.js +18 -0
  112. package/lib/src/components/app.js.map +1 -0
  113. package/lib/src/components/button.d.ts +3 -0
  114. package/lib/src/components/button.d.ts.map +1 -0
  115. package/lib/src/components/button.js +7 -0
  116. package/lib/src/components/button.js.map +1 -0
  117. package/lib/src/components/cookie-banner.d.ts +2 -0
  118. package/lib/src/components/cookie-banner.d.ts.map +1 -0
  119. package/lib/src/components/cookie-banner.js +48 -0
  120. package/lib/src/components/cookie-banner.js.map +1 -0
  121. package/lib/src/components/document-editor-container.d.ts +2 -0
  122. package/lib/src/components/document-editor-container.d.ts.map +1 -0
  123. package/lib/src/components/document-editor-container.js +62 -0
  124. package/lib/src/components/document-editor-container.js.map +1 -0
  125. package/lib/src/components/dots-loader.d.ts +2 -0
  126. package/lib/src/components/dots-loader.d.ts.map +1 -0
  127. package/lib/src/components/dots-loader.js +15 -0
  128. package/lib/src/components/dots-loader.js.map +1 -0
  129. package/lib/src/components/drive-editor-container.d.ts +2 -0
  130. package/lib/src/components/drive-editor-container.d.ts.map +1 -0
  131. package/lib/src/components/drive-editor-container.js +25 -0
  132. package/lib/src/components/drive-editor-container.js.map +1 -0
  133. package/lib/src/components/drive-icon.d.ts +5 -0
  134. package/lib/src/components/drive-icon.d.ts.map +1 -0
  135. package/lib/src/components/drive-icon.js +15 -0
  136. package/lib/src/components/drive-icon.js.map +1 -0
  137. package/lib/src/components/editor-loader.d.ts +9 -0
  138. package/lib/src/components/editor-loader.d.ts.map +1 -0
  139. package/lib/src/components/editor-loader.js +19 -0
  140. package/lib/src/components/editor-loader.js.map +1 -0
  141. package/lib/src/components/editors.d.ts +10 -0
  142. package/lib/src/components/editors.d.ts.map +1 -0
  143. package/lib/src/components/editors.js +93 -0
  144. package/lib/src/components/editors.js.map +1 -0
  145. package/lib/src/components/footer.d.ts +2 -0
  146. package/lib/src/components/footer.d.ts.map +1 -0
  147. package/lib/src/components/footer.js +16 -0
  148. package/lib/src/components/footer.js.map +1 -0
  149. package/lib/src/components/index.d.ts +22 -0
  150. package/lib/src/components/index.d.ts.map +1 -0
  151. package/lib/src/components/index.js +22 -0
  152. package/lib/src/components/index.js.map +1 -0
  153. package/lib/src/components/login.d.ts +2 -0
  154. package/lib/src/components/login.d.ts.map +1 -0
  155. package/lib/src/components/login.js +12 -0
  156. package/lib/src/components/login.js.map +1 -0
  157. package/lib/src/components/modal/index.d.ts +19 -0
  158. package/lib/src/components/modal/index.d.ts.map +1 -0
  159. package/lib/src/components/modal/index.js +19 -0
  160. package/lib/src/components/modal/index.js.map +1 -0
  161. package/lib/src/components/modal/modals/AddDriveModal.d.ts +2 -0
  162. package/lib/src/components/modal/modals/AddDriveModal.d.ts.map +1 -0
  163. package/lib/src/components/modal/modals/AddDriveModal.js +113 -0
  164. package/lib/src/components/modal/modals/AddDriveModal.js.map +1 -0
  165. package/lib/src/components/modal/modals/ClearStorageModal.d.ts +2 -0
  166. package/lib/src/components/modal/modals/ClearStorageModal.d.ts.map +1 -0
  167. package/lib/src/components/modal/modals/ClearStorageModal.js +35 -0
  168. package/lib/src/components/modal/modals/ClearStorageModal.js.map +1 -0
  169. package/lib/src/components/modal/modals/CookiesPolicyModal.d.ts +2 -0
  170. package/lib/src/components/modal/modals/CookiesPolicyModal.d.ts.map +1 -0
  171. package/lib/src/components/modal/modals/CookiesPolicyModal.js +16 -0
  172. package/lib/src/components/modal/modals/CookiesPolicyModal.js.map +1 -0
  173. package/lib/src/components/modal/modals/CreateDocumentModal.d.ts +2 -0
  174. package/lib/src/components/modal/modals/CreateDocumentModal.d.ts.map +1 -0
  175. package/lib/src/components/modal/modals/CreateDocumentModal.js +24 -0
  176. package/lib/src/components/modal/modals/CreateDocumentModal.js.map +1 -0
  177. package/lib/src/components/modal/modals/DebugSettingsModal.d.ts +2 -0
  178. package/lib/src/components/modal/modals/DebugSettingsModal.d.ts.map +1 -0
  179. package/lib/src/components/modal/modals/DebugSettingsModal.js +108 -0
  180. package/lib/src/components/modal/modals/DebugSettingsModal.js.map +1 -0
  181. package/lib/src/components/modal/modals/DeleteDriveModal.d.ts +2 -0
  182. package/lib/src/components/modal/modals/DeleteDriveModal.d.ts.map +1 -0
  183. package/lib/src/components/modal/modals/DeleteDriveModal.js +32 -0
  184. package/lib/src/components/modal/modals/DeleteDriveModal.js.map +1 -0
  185. package/lib/src/components/modal/modals/DeleteItemModal.d.ts +3 -0
  186. package/lib/src/components/modal/modals/DeleteItemModal.d.ts.map +1 -0
  187. package/lib/src/components/modal/modals/DeleteItemModal.js +33 -0
  188. package/lib/src/components/modal/modals/DeleteItemModal.js.map +1 -0
  189. package/lib/src/components/modal/modals/DisclaimerModal.d.ts +3 -0
  190. package/lib/src/components/modal/modals/DisclaimerModal.d.ts.map +1 -0
  191. package/lib/src/components/modal/modals/DisclaimerModal.js +12 -0
  192. package/lib/src/components/modal/modals/DisclaimerModal.js.map +1 -0
  193. package/lib/src/components/modal/modals/DriveSettingsModal.d.ts +2 -0
  194. package/lib/src/components/modal/modals/DriveSettingsModal.d.ts.map +1 -0
  195. package/lib/src/components/modal/modals/DriveSettingsModal.js +28 -0
  196. package/lib/src/components/modal/modals/DriveSettingsModal.js.map +1 -0
  197. package/lib/src/components/modal/modals/ExportDocumentWithErrorsModal.d.ts +2 -0
  198. package/lib/src/components/modal/modals/ExportDocumentWithErrorsModal.d.ts.map +1 -0
  199. package/lib/src/components/modal/modals/ExportDocumentWithErrorsModal.js +30 -0
  200. package/lib/src/components/modal/modals/ExportDocumentWithErrorsModal.js.map +1 -0
  201. package/lib/src/components/modal/modals/SettingsModal.d.ts +3 -0
  202. package/lib/src/components/modal/modals/SettingsModal.d.ts.map +1 -0
  203. package/lib/src/components/modal/modals/SettingsModal.js +45 -0
  204. package/lib/src/components/modal/modals/SettingsModal.js.map +1 -0
  205. package/lib/src/components/modal/modals/UpgradeDriveModal.d.ts +3 -0
  206. package/lib/src/components/modal/modals/UpgradeDriveModal.d.ts.map +1 -0
  207. package/lib/src/components/modal/modals/UpgradeDriveModal.js +21 -0
  208. package/lib/src/components/modal/modals/UpgradeDriveModal.js.map +1 -0
  209. package/lib/src/components/modal/modals/settings/about.d.ts +2 -0
  210. package/lib/src/components/modal/modals/settings/about.d.ts.map +1 -0
  211. package/lib/src/components/modal/modals/settings/about.js +10 -0
  212. package/lib/src/components/modal/modals/settings/about.js.map +1 -0
  213. package/lib/src/components/modal/modals/settings/danger-zone.d.ts +2 -0
  214. package/lib/src/components/modal/modals/settings/danger-zone.d.ts.map +1 -0
  215. package/lib/src/components/modal/modals/settings/danger-zone.js +15 -0
  216. package/lib/src/components/modal/modals/settings/danger-zone.js.map +1 -0
  217. package/lib/src/components/modal/modals/settings/default-editor.d.ts +2 -0
  218. package/lib/src/components/modal/modals/settings/default-editor.d.ts.map +1 -0
  219. package/lib/src/components/modal/modals/settings/default-editor.js +18 -0
  220. package/lib/src/components/modal/modals/settings/default-editor.js.map +1 -0
  221. package/lib/src/components/modal/modals/settings/package-manager.d.ts +3 -0
  222. package/lib/src/components/modal/modals/settings/package-manager.d.ts.map +1 -0
  223. package/lib/src/components/modal/modals/settings/package-manager.js +87 -0
  224. package/lib/src/components/modal/modals/settings/package-manager.js.map +1 -0
  225. package/lib/src/components/modal/modals-container.d.ts +2 -0
  226. package/lib/src/components/modal/modals-container.d.ts.map +1 -0
  227. package/lib/src/components/modal/modals-container.js +62 -0
  228. package/lib/src/components/modal/modals-container.js.map +1 -0
  229. package/lib/src/components/modal/modals-error-boundary.d.ts +18 -0
  230. package/lib/src/components/modal/modals-error-boundary.d.ts.map +1 -0
  231. package/lib/src/components/modal/modals-error-boundary.js +22 -0
  232. package/lib/src/components/modal/modals-error-boundary.js.map +1 -0
  233. package/lib/src/components/ph-logo.d.ts +2 -0
  234. package/lib/src/components/ph-logo.d.ts.map +1 -0
  235. package/lib/src/components/ph-logo.js +7 -0
  236. package/lib/src/components/ph-logo.js.map +1 -0
  237. package/lib/src/components/reload-connect-toast.d.ts +2 -0
  238. package/lib/src/components/reload-connect-toast.d.ts.map +1 -0
  239. package/lib/src/components/reload-connect-toast.js +7 -0
  240. package/lib/src/components/reload-connect-toast.js.map +1 -0
  241. package/lib/src/components/root.d.ts +2 -0
  242. package/lib/src/components/root.d.ts.map +1 -0
  243. package/lib/src/components/root.js +8 -0
  244. package/lib/src/components/root.js.map +1 -0
  245. package/lib/src/components/router.d.ts +2 -0
  246. package/lib/src/components/router.d.ts.map +1 -0
  247. package/lib/src/components/router.js +41 -0
  248. package/lib/src/components/router.js.map +1 -0
  249. package/lib/src/components/search-bar.d.ts +2 -0
  250. package/lib/src/components/search-bar.d.ts.map +1 -0
  251. package/lib/src/components/search-bar.js +36 -0
  252. package/lib/src/components/search-bar.js.map +1 -0
  253. package/lib/src/components/sidebar.d.ts +2 -0
  254. package/lib/src/components/sidebar.d.ts.map +1 -0
  255. package/lib/src/components/sidebar.js +27 -0
  256. package/lib/src/components/sidebar.js.map +1 -0
  257. package/lib/src/connect.config.d.ts +113 -0
  258. package/lib/src/connect.config.d.ts.map +1 -0
  259. package/lib/src/connect.config.js +147 -0
  260. package/lib/src/connect.config.js.map +1 -0
  261. package/lib/src/context/index.d.ts +4 -0
  262. package/lib/src/context/index.d.ts.map +1 -0
  263. package/lib/src/context/index.js +4 -0
  264. package/lib/src/context/index.js.map +1 -0
  265. package/lib/src/context/processor-manager.d.ts +3 -0
  266. package/lib/src/context/processor-manager.d.ts.map +1 -0
  267. package/lib/src/context/processor-manager.js +189 -0
  268. package/lib/src/context/processor-manager.js.map +1 -0
  269. package/lib/src/context/read-mode.d.ts +2 -0
  270. package/lib/src/context/read-mode.d.ts.map +1 -0
  271. package/lib/src/context/read-mode.js +219 -0
  272. package/lib/src/context/read-mode.js.map +1 -0
  273. package/lib/src/context/sentry-provider.d.ts +6 -0
  274. package/lib/src/context/sentry-provider.d.ts.map +1 -0
  275. package/lib/src/context/sentry-provider.js +6 -0
  276. package/lib/src/context/sentry-provider.js.map +1 -0
  277. package/lib/src/feature-flags.d.ts +34 -0
  278. package/lib/src/feature-flags.d.ts.map +1 -0
  279. package/lib/src/feature-flags.js +124 -0
  280. package/lib/src/feature-flags.js.map +1 -0
  281. package/lib/src/globals.d.ts +9 -0
  282. package/lib/src/globals.d.ts.map +1 -0
  283. package/lib/src/globals.js +2 -0
  284. package/lib/src/globals.js.map +1 -0
  285. package/lib/src/hmr.d.ts +3 -0
  286. package/lib/src/hmr.d.ts.map +1 -0
  287. package/lib/src/hmr.js +2 -0
  288. package/lib/src/hmr.js.map +1 -0
  289. package/lib/src/hooks/index.d.ts +10 -0
  290. package/lib/src/hooks/index.d.ts.map +1 -0
  291. package/lib/src/hooks/index.js +10 -0
  292. package/lib/src/hooks/index.js.map +1 -0
  293. package/lib/src/hooks/useAcceptedCookies.d.ts +9 -0
  294. package/lib/src/hooks/useAcceptedCookies.d.ts.map +1 -0
  295. package/lib/src/hooks/useAcceptedCookies.js +34 -0
  296. package/lib/src/hooks/useAcceptedCookies.js.map +1 -0
  297. package/lib/src/hooks/useCheckLatestVersion.d.ts +2 -0
  298. package/lib/src/hooks/useCheckLatestVersion.d.ts.map +1 -0
  299. package/lib/src/hooks/useCheckLatestVersion.js +33 -0
  300. package/lib/src/hooks/useCheckLatestVersion.js.map +1 -0
  301. package/lib/src/hooks/useClientErrorHandler.d.ts +6 -0
  302. package/lib/src/hooks/useClientErrorHandler.d.ts.map +1 -0
  303. package/lib/src/hooks/useClientErrorHandler.js +120 -0
  304. package/lib/src/hooks/useClientErrorHandler.js.map +1 -0
  305. package/lib/src/hooks/useCookieBanner.d.ts +5 -0
  306. package/lib/src/hooks/useCookieBanner.d.ts.map +1 -0
  307. package/lib/src/hooks/useCookieBanner.js +32 -0
  308. package/lib/src/hooks/useCookieBanner.js.map +1 -0
  309. package/lib/src/hooks/useInitSentry.d.ts +2 -0
  310. package/lib/src/hooks/useInitSentry.d.ts.map +1 -0
  311. package/lib/src/hooks/useInitSentry.js +80 -0
  312. package/lib/src/hooks/useInitSentry.js.map +1 -0
  313. package/lib/src/hooks/useNodeActions.d.ts +6 -0
  314. package/lib/src/hooks/useNodeActions.d.ts.map +1 -0
  315. package/lib/src/hooks/useNodeActions.js +35 -0
  316. package/lib/src/hooks/useNodeActions.js.map +1 -0
  317. package/lib/src/hooks/useUndoRedoShortcuts.d.ts +8 -0
  318. package/lib/src/hooks/useUndoRedoShortcuts.d.ts.map +1 -0
  319. package/lib/src/hooks/useUndoRedoShortcuts.js +26 -0
  320. package/lib/src/hooks/useUndoRedoShortcuts.js.map +1 -0
  321. package/lib/src/hooks/useWindowSize.d.ts +5 -0
  322. package/lib/src/hooks/useWindowSize.d.ts.map +1 -0
  323. package/lib/src/hooks/useWindowSize.js +21 -0
  324. package/lib/src/hooks/useWindowSize.js.map +1 -0
  325. package/lib/src/hooks/utils.d.ts +7 -0
  326. package/lib/src/hooks/utils.d.ts.map +1 -0
  327. package/lib/src/hooks/utils.js +46 -0
  328. package/lib/src/hooks/utils.js.map +1 -0
  329. package/lib/src/i18n/index.d.ts +4 -0
  330. package/lib/src/i18n/index.d.ts.map +1 -0
  331. package/lib/src/i18n/index.js +26 -0
  332. package/lib/src/i18n/index.js.map +1 -0
  333. package/lib/src/i18n/locales/en.json +114 -0
  334. package/lib/src/index.d.ts +2 -0
  335. package/lib/src/index.d.ts.map +1 -0
  336. package/lib/src/index.js +2 -0
  337. package/lib/src/index.js.map +1 -0
  338. package/lib/src/main.d.ts +2 -0
  339. package/lib/src/main.d.ts.map +1 -0
  340. package/lib/src/main.js +5 -0
  341. package/lib/src/main.js.map +1 -0
  342. package/lib/src/pages/content.d.ts +2 -0
  343. package/lib/src/pages/content.d.ts.map +1 -0
  344. package/lib/src/pages/content.js +39 -0
  345. package/lib/src/pages/content.js.map +1 -0
  346. package/lib/src/pages/demo/atlas-import.d.ts +2 -0
  347. package/lib/src/pages/demo/atlas-import.d.ts.map +1 -0
  348. package/lib/src/pages/demo/atlas-import.js +122 -0
  349. package/lib/src/pages/demo/atlas-import.js.map +1 -0
  350. package/lib/src/pages/index.d.ts +4 -0
  351. package/lib/src/pages/index.d.ts.map +1 -0
  352. package/lib/src/pages/index.js +4 -0
  353. package/lib/src/pages/index.js.map +1 -0
  354. package/lib/src/pages/settings.d.ts +4 -0
  355. package/lib/src/pages/settings.d.ts.map +1 -0
  356. package/lib/src/pages/settings.js +9 -0
  357. package/lib/src/pages/settings.js.map +1 -0
  358. package/lib/src/service-worker.d.ts +2 -0
  359. package/lib/src/service-worker.d.ts.map +1 -0
  360. package/lib/src/service-worker.js +58 -0
  361. package/lib/src/service-worker.js.map +1 -0
  362. package/lib/src/services/hmr.d.ts +13 -0
  363. package/lib/src/services/hmr.d.ts.map +1 -0
  364. package/lib/src/services/hmr.js +85 -0
  365. package/lib/src/services/hmr.js.map +1 -0
  366. package/lib/src/services/index.d.ts +10 -0
  367. package/lib/src/services/index.d.ts.map +1 -0
  368. package/lib/src/services/index.js +9 -0
  369. package/lib/src/services/index.js.map +1 -0
  370. package/lib/src/services/logger.d.ts +2 -0
  371. package/lib/src/services/logger.d.ts.map +1 -0
  372. package/lib/src/services/logger.js +28 -0
  373. package/lib/src/services/logger.js.map +1 -0
  374. package/lib/src/services/renown/browser.d.ts +2 -0
  375. package/lib/src/services/renown/browser.d.ts.map +1 -0
  376. package/lib/src/services/renown/browser.js +6 -0
  377. package/lib/src/services/renown/browser.js.map +1 -0
  378. package/lib/src/services/renown/constants.d.ts +130 -0
  379. package/lib/src/services/renown/constants.d.ts.map +1 -0
  380. package/lib/src/services/renown/constants.js +41 -0
  381. package/lib/src/services/renown/constants.js.map +1 -0
  382. package/lib/src/services/renown/utils.d.ts +7 -0
  383. package/lib/src/services/renown/utils.d.ts.map +1 -0
  384. package/lib/src/services/renown/utils.js +20 -0
  385. package/lib/src/services/renown/utils.js.map +1 -0
  386. package/lib/src/services/storage/base-storage.d.ts +9 -0
  387. package/lib/src/services/storage/base-storage.d.ts.map +1 -0
  388. package/lib/src/services/storage/base-storage.js +21 -0
  389. package/lib/src/services/storage/base-storage.js.map +1 -0
  390. package/lib/src/services/storage/browser.d.ts +5 -0
  391. package/lib/src/services/storage/browser.d.ts.map +1 -0
  392. package/lib/src/services/storage/browser.js +25 -0
  393. package/lib/src/services/storage/browser.js.map +1 -0
  394. package/lib/src/services/storage/types.d.ts +6 -0
  395. package/lib/src/services/storage/types.d.ts.map +1 -0
  396. package/lib/src/services/storage/types.js +2 -0
  397. package/lib/src/services/storage/types.js.map +1 -0
  398. package/lib/src/services/toast.d.ts +8 -0
  399. package/lib/src/services/toast.d.ts.map +1 -0
  400. package/lib/src/services/toast.js +11 -0
  401. package/lib/src/services/toast.js.map +1 -0
  402. package/lib/src/store/document-model.d.ts +3 -0
  403. package/lib/src/store/document-model.d.ts.map +1 -0
  404. package/lib/src/store/document-model.js +79 -0
  405. package/lib/src/store/document-model.js.map +1 -0
  406. package/lib/src/store/editor.d.ts +5 -0
  407. package/lib/src/store/editor.d.ts.map +1 -0
  408. package/lib/src/store/editor.js +31 -0
  409. package/lib/src/store/editor.js.map +1 -0
  410. package/lib/src/store/external-packages.d.ts +4 -0
  411. package/lib/src/store/external-packages.d.ts.map +1 -0
  412. package/lib/src/store/external-packages.js +36 -0
  413. package/lib/src/store/external-packages.js.map +1 -0
  414. package/lib/src/store/index.d.ts +7 -0
  415. package/lib/src/store/index.d.ts.map +1 -0
  416. package/lib/src/store/index.js +7 -0
  417. package/lib/src/store/index.js.map +1 -0
  418. package/lib/src/store/reactor.d.ts +3 -0
  419. package/lib/src/store/reactor.d.ts.map +1 -0
  420. package/lib/src/store/reactor.js +177 -0
  421. package/lib/src/store/reactor.js.map +1 -0
  422. package/lib/src/store/user.d.ts +2 -0
  423. package/lib/src/store/user.d.ts.map +1 -0
  424. package/lib/src/store/user.js +16 -0
  425. package/lib/src/store/user.js.map +1 -0
  426. package/lib/src/store/utils.d.ts +2 -0
  427. package/lib/src/store/utils.d.ts.map +1 -0
  428. package/lib/src/store/utils.js +59 -0
  429. package/lib/src/store/utils.js.map +1 -0
  430. package/lib/src/utils/browser.d.ts +2 -0
  431. package/lib/src/utils/browser.d.ts.map +1 -0
  432. package/lib/src/utils/browser.js +9 -0
  433. package/lib/src/utils/browser.js.map +1 -0
  434. package/lib/src/utils/document-editor-debug-tools.d.ts +17 -0
  435. package/lib/src/utils/document-editor-debug-tools.d.ts.map +1 -0
  436. package/lib/src/utils/document-editor-debug-tools.js +55 -0
  437. package/lib/src/utils/document-editor-debug-tools.js.map +1 -0
  438. package/lib/src/utils/drive-preservation.d.ts +19 -0
  439. package/lib/src/utils/drive-preservation.d.ts.map +1 -0
  440. package/lib/src/utils/drive-preservation.js +51 -0
  441. package/lib/src/utils/drive-preservation.js.map +1 -0
  442. package/lib/src/utils/drive-sections.d.ts +31 -0
  443. package/lib/src/utils/drive-sections.d.ts.map +1 -0
  444. package/lib/src/utils/drive-sections.js +63 -0
  445. package/lib/src/utils/drive-sections.js.map +1 -0
  446. package/lib/src/utils/index.d.ts +12 -0
  447. package/lib/src/utils/index.d.ts.map +1 -0
  448. package/lib/src/utils/index.js +12 -0
  449. package/lib/src/utils/index.js.map +1 -0
  450. package/lib/src/utils/join.d.ts +2 -0
  451. package/lib/src/utils/join.d.ts.map +1 -0
  452. package/lib/src/utils/join.js +11 -0
  453. package/lib/src/utils/join.js.map +1 -0
  454. package/lib/src/utils/openUrl.d.ts +2 -0
  455. package/lib/src/utils/openUrl.d.ts.map +1 -0
  456. package/lib/src/utils/openUrl.js +3 -0
  457. package/lib/src/utils/openUrl.js.map +1 -0
  458. package/lib/src/utils/path.d.ts +4 -0
  459. package/lib/src/utils/path.d.ts.map +1 -0
  460. package/lib/src/utils/path.js +17 -0
  461. package/lib/src/utils/path.js.map +1 -0
  462. package/lib/src/utils/reactor.d.ts +6 -0
  463. package/lib/src/utils/reactor.d.ts.map +1 -0
  464. package/lib/src/utils/reactor.js +57 -0
  465. package/lib/src/utils/reactor.js.map +1 -0
  466. package/lib/src/utils/registerServiceWorker.d.ts +12 -0
  467. package/lib/src/utils/registerServiceWorker.d.ts.map +1 -0
  468. package/lib/src/utils/registerServiceWorker.js +97 -0
  469. package/lib/src/utils/registerServiceWorker.js.map +1 -0
  470. package/lib/src/utils/signature.d.ts +4 -0
  471. package/lib/src/utils/signature.d.ts.map +1 -0
  472. package/lib/src/utils/signature.js +36 -0
  473. package/lib/src/utils/signature.js.map +1 -0
  474. package/lib/src/utils/slug.d.ts +2 -0
  475. package/lib/src/utils/slug.d.ts.map +1 -0
  476. package/lib/src/utils/slug.js +4 -0
  477. package/lib/src/utils/slug.js.map +1 -0
  478. package/lib/src/workers/pglite-worker.d.ts +2 -0
  479. package/lib/src/workers/pglite-worker.d.ts.map +1 -0
  480. package/lib/src/workers/pglite-worker.js +32 -0
  481. package/lib/src/workers/pglite-worker.js.map +1 -0
  482. package/lib/tsconfig.tsbuildinfo +1 -0
  483. package/lib/vite.config.d.ts +3 -0
  484. package/lib/vite.config.d.ts.map +1 -0
  485. package/lib/vite.config.js +55 -0
  486. package/lib/vite.config.js.map +1 -0
  487. package/package.copy.json +165 -0
  488. package/package.json +129 -96
  489. package/public/icon.ico +0 -0
  490. package/public/robots.txt +3 -0
  491. package/public/settings.png +0 -0
  492. package/scripts/render-skeleton.ts +8 -10
  493. package/src/index.css +4 -0
  494. package/dist/assets/AddDriveModal.CDgN-pun.js +0 -2
  495. package/dist/assets/AddDriveModal.CDgN-pun.js.map +0 -1
  496. package/dist/assets/AddLocalDriveModal.C9MD4Ysa.js +0 -2
  497. package/dist/assets/AddLocalDriveModal.C9MD4Ysa.js.map +0 -1
  498. package/dist/assets/AddRemoteDriveModal.xblpg2cW.js +0 -2
  499. package/dist/assets/AddRemoteDriveModal.xblpg2cW.js.map +0 -1
  500. package/dist/assets/ConfirmationModal.B8lr2E2g.js +0 -2
  501. package/dist/assets/ConfirmationModal.B8lr2E2g.js.map +0 -1
  502. package/dist/assets/CookiesPolicyModal.b_FmtWcR.js +0 -2
  503. package/dist/assets/CookiesPolicyModal.b_FmtWcR.js.map +0 -1
  504. package/dist/assets/CreateDocumentModal.B5Ztd78w.js +0 -2
  505. package/dist/assets/CreateDocumentModal.B5Ztd78w.js.map +0 -1
  506. package/dist/assets/DebugSettingsModal.BOzjtOHO.js +0 -2
  507. package/dist/assets/DebugSettingsModal.BOzjtOHO.js.map +0 -1
  508. package/dist/assets/DeleteDriveModal.BULot_P9.js +0 -2
  509. package/dist/assets/DeleteDriveModal.BULot_P9.js.map +0 -1
  510. package/dist/assets/DeleteItemModal.z8hCTkaW.js +0 -2
  511. package/dist/assets/DeleteItemModal.z8hCTkaW.js.map +0 -1
  512. package/dist/assets/DisclaimerModal.aDgJttL_.js +0 -2
  513. package/dist/assets/DisclaimerModal.aDgJttL_.js.map +0 -1
  514. package/dist/assets/DriveSettingsModal.DKoGnm3q.js +0 -2
  515. package/dist/assets/DriveSettingsModal.DKoGnm3q.js.map +0 -1
  516. package/dist/assets/SettingsModal.DpaP7xQq.js +0 -2
  517. package/dist/assets/SettingsModal.DpaP7xQq.js.map +0 -1
  518. package/dist/assets/Trans.BQm_oYqq.js +0 -2
  519. package/dist/assets/Trans.BQm_oYqq.js.map +0 -1
  520. package/dist/assets/UpgradeDriveModal.aU2KMg4z.js +0 -2
  521. package/dist/assets/UpgradeDriveModal.aU2KMg4z.js.map +0 -1
  522. package/dist/assets/app-skeleton.js +0 -11
  523. package/dist/assets/app-skeleton.js.map +0 -1
  524. package/dist/assets/atlas-import.CZSFwuj4.js +0 -6
  525. package/dist/assets/atlas-import.CZSFwuj4.js.map +0 -1
  526. package/dist/assets/browser.BkwNmV2Z.js +0 -2
  527. package/dist/assets/browser.BkwNmV2Z.js.map +0 -1
  528. package/dist/assets/content.7P2XZwjp.js +0 -3
  529. package/dist/assets/content.7P2XZwjp.js.map +0 -1
  530. package/dist/assets/cookie-banner.UvJrgFVN.js +0 -2
  531. package/dist/assets/cookie-banner.UvJrgFVN.js.map +0 -1
  532. package/dist/assets/i18next.CqOP20KE.js +0 -2
  533. package/dist/assets/i18next.CqOP20KE.js.map +0 -1
  534. package/dist/assets/index-B7k827uL.css +0 -1
  535. package/dist/assets/index.BDg-q7cb.js +0 -2
  536. package/dist/assets/index.BDg-q7cb.js.map +0 -1
  537. package/dist/assets/index.BTPk1US_.js +0 -16
  538. package/dist/assets/index.BTPk1US_.js.map +0 -1
  539. package/dist/assets/index.COdN5sTb.js +0 -445
  540. package/dist/assets/index.COdN5sTb.js.map +0 -1
  541. package/dist/assets/index.CdXCK5kR.js +0 -2
  542. package/dist/assets/index.CdXCK5kR.js.map +0 -1
  543. package/dist/assets/index.CvjHAqar.js +0 -361
  544. package/dist/assets/index.CvjHAqar.js.map +0 -1
  545. package/dist/assets/index.DAzo9kzY.js +0 -333
  546. package/dist/assets/index.DAzo9kzY.js.map +0 -1
  547. package/dist/assets/index.DH4RwKCZ.js +0 -2
  548. package/dist/assets/index.DH4RwKCZ.js.map +0 -1
  549. package/dist/assets/index.DhdwD1w0.js +0 -114
  550. package/dist/assets/index.DhdwD1w0.js.map +0 -1
  551. package/dist/assets/index.RKFvkVvX.js +0 -2
  552. package/dist/assets/index.RKFvkVvX.js.map +0 -1
  553. package/dist/assets/main-CT4nIKNi.css +0 -1
  554. package/dist/assets/main.C9SRxGTs.js +0 -3
  555. package/dist/assets/main.C9SRxGTs.js.map +0 -1
  556. package/dist/assets/modal.CqA_mJUN.js +0 -3
  557. package/dist/assets/modal.CqA_mJUN.js.map +0 -1
  558. package/dist/assets/modals.B2yWw4rS.js +0 -2
  559. package/dist/assets/modals.B2yWw4rS.js.map +0 -1
  560. package/dist/assets/nodefs-CbgXeDrX.js +0 -2
  561. package/dist/assets/nodefs-CbgXeDrX.js.map +0 -1
  562. package/dist/assets/nodefs.zW4Fwgrd.js +0 -2
  563. package/dist/assets/nodefs.zW4Fwgrd.js.map +0 -1
  564. package/dist/assets/nodes.POEKD5Qa.js +0 -2
  565. package/dist/assets/nodes.POEKD5Qa.js.map +0 -1
  566. package/dist/assets/opfs-ahp-CvqFFNTs.js +0 -4
  567. package/dist/assets/opfs-ahp-CvqFFNTs.js.map +0 -1
  568. package/dist/assets/opfs-ahp.Ct4DcoTP.js +0 -4
  569. package/dist/assets/opfs-ahp.Ct4DcoTP.js.map +0 -1
  570. package/dist/assets/pglite-worker-CBI3hEVN.js +0 -144
  571. package/dist/assets/pglite-worker-CBI3hEVN.js.map +0 -1
  572. package/dist/assets/pglite-worker.dssW4LQw.js +0 -2
  573. package/dist/assets/pglite-worker.dssW4LQw.js.map +0 -1
  574. package/dist/assets/postgres-CkP7QCDB.data +0 -0
  575. package/dist/assets/postgres-CyuUVpXN.wasm +0 -0
  576. package/dist/assets/registerServiceWorker.BeE0-hEw.js +0 -2
  577. package/dist/assets/registerServiceWorker.BeE0-hEw.js.map +0 -1
  578. package/dist/assets/root.kpAPoqo9.js +0 -6
  579. package/dist/assets/root.kpAPoqo9.js.map +0 -1
  580. package/dist/assets/style-BkLV0sfQ.css +0 -1
  581. package/dist/assets/style-CszWl8pU.css +0 -1
  582. package/dist/assets/useAcceptedCookies.BUsKgauT.js +0 -2
  583. package/dist/assets/useAcceptedCookies.BUsKgauT.js.map +0 -1
  584. package/dist/assets/useDefaultDocumentModelEditor.joSxCJtY.js +0 -2
  585. package/dist/assets/useDefaultDocumentModelEditor.joSxCJtY.js.map +0 -1
  586. package/dist/assets/useInitSentry.DBsKo0vo.js +0 -368
  587. package/dist/assets/useInitSentry.DBsKo0vo.js.map +0 -1
  588. package/dist/external-packages.js +0 -1
  589. package/dist/fonts/Inter-Black.ttf +0 -0
  590. package/dist/fonts/Inter-Bold.ttf +0 -0
  591. package/dist/fonts/Inter-ExtraBold.ttf +0 -0
  592. package/dist/fonts/Inter-ExtraLight.ttf +0 -0
  593. package/dist/fonts/Inter-Light.ttf +0 -0
  594. package/dist/fonts/Inter-Medium.ttf +0 -0
  595. package/dist/fonts/Inter-Regular.ttf +0 -0
  596. package/dist/fonts/Inter-SemiBold.ttf +0 -0
  597. package/dist/fonts/Inter-Thin.ttf +0 -0
  598. package/dist/fonts/Inter-VariableFont_slnt,wght.ttf +0 -0
  599. package/dist/hmr.js +0 -2
  600. package/dist/hmr.js.map +0 -1
  601. package/dist/service-worker.js +0 -2
  602. package/dist/service-worker.js.map +0 -1
  603. package/dist/swEnv.js +0 -70
  604. package/dist/vite-envs.sh +0 -494
@@ -1,2 +0,0 @@
1
- var b=r=>{throw TypeError(r)};var R=(r,t,e)=>t.has(r)||b("Cannot "+e);var a=(r,t,e)=>(R(r,t,"read from private field"),e?e.call(r):t.get(r)),c=(r,t,e)=>t.has(r)?b("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(r):t.set(r,e),d=(r,t,e,s)=>(R(r,t,"write to private field"),s?s.call(r,e):t.set(r,e),e),i=(r,t,e)=>(R(r,t,"access private method"),e);import{a8 as L,a9 as B,aa as C,ab as U,ac as k,ad as x,ae as T,af as j,ag as D,ah as _}from"./index.DAzo9kzY.js";import{h as P,R as $,p as S,n as A,o as J}from"./index.COdN5sTb.js";const K=[U,k,x,T,j,D];function z(r){return K.find(t=>t.id===r)}let E=C({chain:U,batch:{multicall:!0},transport:_()});function F(r){var e;if(((e=E.chain)==null?void 0:e.id)===r)return;const t=z(r);if(!t)throw new Error(`Invalid chain id: ${r}`);E=C({chain:t,batch:{multicall:!0},transport:_()})}const G=async(r,t)=>{const e={};try{F(t);const s=await L(E,{address:r});if(s){e.name=s;const n=await B(E,{name:s});n&&(e.avatarUrl=n)}}catch(s){console.error(s)}return e};function O(r){const t=r.split(":");if(!r.startsWith("did:pkh:")||t.length!==5)throw new Error("Invalid pkh did");const[,,e,s,n]=t;if(!n.startsWith("0x"))throw new Error(`Invalid address: ${n}`);const h=Number(s);if(isNaN(h))throw new Error(`Invalid chain id: ${s}`);return{chainId:h,networkId:e,address:n}}var u,I,f,v;class H{constructor(t,e){c(this,f);c(this,u);c(this,I);d(this,u,t),d(this,I,e)}get(t){return a(this,u).get(i(this,f,v).call(this,t))}set(t,e){return a(this,u).set(i(this,f,v).call(this,t),e)}delete(t){return a(this,u).delete(i(this,f,v).call(this,t))}}u=new WeakMap,I=new WeakMap,f=new WeakSet,v=function(t){return`${a(this,I)}:${t.toString()}`};const M={get:function(r){const t=localStorage.getItem(r);if(t)return JSON.parse(t)},set:function(r,t){return t?localStorage.setItem(r,JSON.stringify(t)):localStorage.removeItem(r)},delete:function(r){return localStorage.removeItem(r)}};class q extends H{constructor(t){super(M,`${P.routerBasename}:${t}`)}}function Q(r){return new y(new q("renown"),r)}var w,g,m,p,o,l,W;class y{constructor(t,e,s=$){c(this,o);c(this,w);c(this,g);c(this,m);c(this,p,new EventTarget);d(this,g,t),d(this,m,e),d(this,w,s),this.user&&this.login(this.user.did).catch(()=>{})}get user(){return a(this,g).get("user")}set connectId(t){d(this,m,t);const e=this.user;i(this,o,l).call(this,void 0),e&&this.login(e.did).catch(s=>{console.log("User no longer authenticated:",s)})}async login(t){try{const e=O(t),s=await i(this,o,W).call(this,e.address,e.chainId,a(this,m));if(!s)throw i(this,o,l).call(this,void 0),new Error("Credential not found");const n={...e,did:t,credential:s};return G(n.address,n.chainId).then(h=>{var N;((N=this.user)==null?void 0:N.address)===n.address&&this.user.chainId===n.chainId&&i(this,o,l).call(this,{...this.user,ens:h})}).catch(S.error),i(this,o,l).call(this,n),n}catch(e){throw S.error(e),i(this,o,l).call(this,void 0),e}}logout(){i(this,o,l).call(this,void 0)}on(t,e){const s=n=>{e(n.detail)};return a(this,p).addEventListener(t,s),()=>{a(this,p).removeEventListener(t,s)}}}w=new WeakMap,g=new WeakMap,m=new WeakMap,p=new WeakMap,o=new WeakSet,l=function(t){t?a(this,g).set("user",t):a(this,g).delete("user"),a(this,p).dispatchEvent(new CustomEvent("user",{detail:t}))},W=async function(t,e,s){if(!a(this,w))throw new Error("RENOWN_URL is not set");const n=new URL(`/api/auth/credential?address=${encodeURIComponent(t)}&chainId=${encodeURIComponent(e)}&connectId=${encodeURIComponent(s)}`,a(this,w)),h=await fetch(n,{method:"GET"});if(h.ok)return(await h.json()).credential;throw new Error("Failed to get credential")};const Z=Object.freeze(Object.defineProperty({__proto__:null,RENOWN_CHAIN_ID:J,RENOWN_NETWORK_ID:A,RENOWN_URL:$,Renown:y,initRenownBrowser:Q,parsePkhDid:O},Symbol.toStringTag,{value:"Module"}));export{H as B,y as R,G as a,Z as b,z as g,Q as i,O as p};
2
- //# sourceMappingURL=index.RKFvkVvX.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.RKFvkVvX.js","sources":["../../src/services/viem.ts","../../src/services/renown/utils.ts","../../src/services/storage/index.ts","../../src/services/storage/browser.ts","../../src/services/renown/browser.ts","../../src/services/renown/index.ts"],"sourcesContent":["import { createPublicClient, http, type PublicClient } from 'viem';\nimport { getEnsAvatar, getEnsName } from 'viem/actions';\nimport {\n arbitrum,\n base,\n type Chain,\n goerli,\n mainnet,\n optimism,\n sepolia,\n} from 'viem/chains';\n\nconst defaultChains = [mainnet, sepolia, goerli, arbitrum, base, optimism];\n\nexport function getChain(id: number): Chain | undefined {\n return defaultChains.find(chain => chain.id === id);\n // TODO: allow loading extra chains at build time\n // const chains = await import('viem/chains');\n // return Object.values(chains).find(\n // x =>\n // typeof x === 'object' &&\n // x !== null &&\n // 'id' in x &&\n // (x as Chain).id === id,\n // ) as Chain | undefined;\n}\n\nlet client: PublicClient = createPublicClient({\n chain: mainnet,\n batch: {\n multicall: true,\n },\n transport: http(),\n});\n\nfunction updateChain(chainId: number) {\n if (client.chain?.id === chainId) {\n return;\n }\n\n const chain = getChain(chainId);\n if (!chain) {\n throw new Error(`Invalid chain id: ${chainId}`);\n }\n\n client = createPublicClient({\n chain,\n batch: {\n multicall: true,\n },\n transport: http(),\n });\n}\n\nexport type ENSInfo = {\n name?: string;\n avatarUrl?: string;\n};\n\nexport const getEnsInfo = async (\n address: `0x${string}`,\n chainId: number,\n): Promise<ENSInfo> => {\n const result: ENSInfo = {};\n try {\n updateChain(chainId);\n const name = await getEnsName(client, { address });\n if (name) {\n result.name = name;\n\n const avatarUrl = await getEnsAvatar(client, { name });\n if (avatarUrl) {\n result.avatarUrl = avatarUrl;\n }\n }\n } catch (e) {\n console.error(e);\n }\n return result;\n};\n","export type PKHDid = {\n networkId: string;\n chainId: number;\n address: `0x${string}`;\n};\n\nexport function parsePkhDid(did: string): PKHDid {\n const parts = did.split(':');\n if (!did.startsWith('did:pkh:') || parts.length !== 5) {\n throw new Error('Invalid pkh did');\n }\n const [, , networkId, chainIdStr, address] = parts;\n\n if (!address.startsWith('0x')) {\n throw new Error(`Invalid address: ${address}`);\n }\n\n const chainId = Number(chainIdStr);\n if (isNaN(chainId)) {\n throw new Error(`Invalid chain id: ${chainIdStr}`);\n }\n\n return {\n chainId,\n networkId,\n address: address as PKHDid['address'],\n };\n}\n","export interface IStorage<\n T extends Record<string, unknown> = Record<string, unknown>,\n> {\n get<Key extends keyof T>(key: Key): T[Key];\n set<Key extends keyof T>(key: Key, value?: T[Key]): void;\n delete<Key extends keyof T>(key: Key): void;\n}\n\nexport class BaseStorage<\n T extends Record<string, unknown> = Record<string, unknown>,\n> implements IStorage<T>\n{\n #store: IStorage<T>;\n #namespace: string;\n\n protected constructor(store: IStorage<T>, namespace: string) {\n this.#store = store;\n this.#namespace = namespace;\n }\n\n #buildKey<Key extends keyof T>(key: Key): Key {\n return `${this.#namespace}:${key.toString()}` as Key;\n }\n\n get<Key extends keyof T>(key: Key): T[Key] {\n return this.#store.get(this.#buildKey(key));\n }\n set<Key extends keyof T>(key: Key, value?: T[Key] | undefined): void {\n return this.#store.set(this.#buildKey(key), value);\n }\n delete<Key extends keyof T>(key: Key): void {\n return this.#store.delete(this.#buildKey(key));\n }\n}\n","import connectConfig from '#connect-config';\nimport { BaseStorage, type IStorage } from './index.js';\n\nconst store: IStorage = {\n get: function <Key extends string>(key: Key): unknown {\n const value = localStorage.getItem(key);\n if (value) {\n return JSON.parse(value);\n }\n return undefined;\n },\n set: function <Key extends string>(key: Key, value?: unknown): void {\n return value\n ? localStorage.setItem(key, JSON.stringify(value))\n : localStorage.removeItem(key);\n },\n delete: function <Key extends string>(key: Key): void {\n return localStorage.removeItem(key);\n },\n};\n\nexport class BrowserStorage<\n T extends Record<string, unknown> = Record<string, unknown>,\n> extends BaseStorage<T> {\n constructor(namespace: string) {\n super(\n store as IStorage<T>,\n `${connectConfig.routerBasename}:${namespace}`,\n );\n }\n}\n","import { Renown } from './index.js';\nimport { BrowserStorage } from '../storage/browser.js';\n\nexport function initRenownBrowser(connectId: string) {\n return new Renown(new BrowserStorage('renown'), connectId);\n}\n","import { logger } from 'document-drive';\nimport type { IStorage } from '../storage/index.js';\nimport { getEnsInfo } from '../viem.js';\nimport { RENOWN_URL } from './constants.js';\nimport {\n type PowerhouseVerifiableCredential,\n type RenownStorage,\n type User,\n} from './types.js';\nimport { parsePkhDid } from './utils.js';\n\nexport * from './browser.js';\nexport * from './constants.js';\nexport * from './types.js';\nexport type {\n PowerhouseVerifiableCredential,\n Unsubscribe,\n User,\n} from './types.js';\nexport * from './utils.js';\n\nexport class Renown {\n #baseUrl: string;\n #store: RenownStorage;\n #connectId: string;\n #eventEmitter = new EventTarget();\n\n constructor(store: IStorage, connectId: string, baseUrl = RENOWN_URL) {\n this.#store = store as RenownStorage;\n this.#connectId = connectId;\n this.#baseUrl = baseUrl;\n\n if (this.user) {\n this.login(this.user.did).catch(() => void 0);\n }\n }\n\n get user() {\n return this.#store.get('user');\n }\n\n #updateUser(user: User | undefined) {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n user ? this.#store.set('user', user) : this.#store.delete('user');\n this.#eventEmitter.dispatchEvent(\n new CustomEvent('user', { detail: user }),\n );\n }\n\n set connectId(connectId: string) {\n this.#connectId = connectId;\n const user = this.user;\n\n this.#updateUser(undefined);\n\n // tries to login with new connectId\n if (user) {\n this.login(user.did).catch(e => {\n console.log('User no longer authenticated:', e);\n });\n }\n }\n\n async login(did: string): Promise<User> {\n try {\n const result = parsePkhDid(did);\n\n const credential = await this.#getCredential(\n result.address,\n result.chainId,\n this.#connectId,\n );\n if (!credential) {\n this.#updateUser(undefined);\n throw new Error('Credential not found');\n }\n const user: User = {\n ...result,\n did,\n credential,\n };\n\n getEnsInfo(user.address, user.chainId)\n .then(ens => {\n if (\n this.user?.address === user.address &&\n this.user.chainId === user.chainId\n ) {\n this.#updateUser({ ...this.user, ens });\n }\n })\n .catch(logger.error);\n\n this.#updateUser(user);\n return user;\n } catch (error) {\n logger.error(error);\n this.#updateUser(undefined);\n throw error;\n }\n }\n\n logout() {\n this.#updateUser(undefined);\n }\n\n on(event: 'user', listener: (user: User) => void) {\n const eventListener = ((e: CustomEvent<User>) => {\n listener(e.detail);\n }) as EventListener;\n\n this.#eventEmitter.addEventListener(event, eventListener);\n return () => {\n this.#eventEmitter.removeEventListener(event, eventListener);\n };\n }\n\n async #getCredential(\n address: string,\n chainId: number,\n connectId: string,\n ): Promise<PowerhouseVerifiableCredential | undefined> {\n if (!this.#baseUrl) {\n throw new Error('RENOWN_URL is not set');\n }\n const url = new URL(\n `/api/auth/credential?address=${encodeURIComponent(address)}&chainId=${encodeURIComponent(chainId)}&connectId=${encodeURIComponent(connectId)}`,\n this.#baseUrl,\n );\n const response = await fetch(url, {\n method: 'GET',\n });\n if (response.ok) {\n const result = (await response.json()) as {\n credential: PowerhouseVerifiableCredential;\n };\n return result.credential;\n } else {\n throw new Error('Failed to get credential');\n }\n }\n}\n"],"names":["defaultChains","mainnet","sepolia","goerli","arbitrum","base","optimism","getChain","id","chain","client","createPublicClient","http","updateChain","chainId","_a","getEnsInfo","address","result","name","getEnsName","avatarUrl","getEnsAvatar","e","parsePkhDid","did","parts","networkId","chainIdStr","BaseStorage","store","namespace","__privateAdd","_BaseStorage_instances","_store","_namespace","__privateSet","key","__privateGet","__privateMethod","buildKey_fn","value","BrowserStorage","connectConfig","initRenownBrowser","connectId","Renown","baseUrl","RENOWN_URL","_Renown_instances","_baseUrl","_connectId","_eventEmitter","user","updateUser_fn","credential","getCredential_fn","ens","logger","error","event","listener","eventListener","url","response"],"mappings":"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"}
@@ -1 +0,0 @@
1
- @import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74c3c;--toastify-color-transparent:#ffffffb3;--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-toast-width:320px;--toastify-toast-offset:16px;--toastify-toast-top:max(var(--toastify-toast-offset),env(safe-area-inset-top));--toastify-toast-right:max(var(--toastify-toast-offset),env(safe-area-inset-right));--toastify-toast-left:max(var(--toastify-toast-offset),env(safe-area-inset-left));--toastify-toast-bottom:max(var(--toastify-toast-offset),env(safe-area-inset-bottom));--toastify-toast-background:#fff;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-toast-bd-radius:6px;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(to right,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error);--toastify-color-progress-bgo:.2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));width:var(--toastify-toast-width);box-sizing:border-box;color:#fff;padding:4px;position:fixed}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%)}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right)}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%)}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right)}@media only screen and (max-width:480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0;padding:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}}.Toastify__toast{--y:0;-ms-touch-action:none;touch-action:none;min-height:var(--toastify-toast-min-height);box-sizing:border-box;border-radius:var(--toastify-toast-bd-radius);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);cursor:default;z-index:0;direction:ltr;justify-content:space-between;margin-bottom:1rem;padding:8px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px #0000001a}.Toastify__toast--stacked{width:100%;transform:translate3d(0,var(--y),0)scale(var(--s));transition:transform .3s;position:absolute}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";height:calc(var(--g)*1px);position:absolute;bottom:100%;left:0;right:0}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";z-index:-1;height:100%;position:absolute;bottom:0;left:0;right:0;transform:scaleY(3)}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{flex:auto;align-items:center;margin:auto 0;padding:6px;display:flex}.Toastify__toast-body>div:last-child{word-break:break-word;flex:1}.Toastify__toast-icon{-webkit-margin-end:10px;flex-shrink:0;width:20px;margin-inline-end:10px;display:flex}.Toastify--animate{animation-duration:.5s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}@media only screen and (max-width:480px){.Toastify__toast{border-radius:0;margin-bottom:0}}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;cursor:pointer;opacity:.7;z-index:1;background:0 0;border:none;outline:none;align-self:flex-start;padding:0;transition:all .3s}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;width:14px;height:16px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{width:100%;height:100%;z-index:var(--toastify-z-index);opacity:.7;transform-origin:0;border-bottom-left-radius:var(--toastify-toast-bd-radius);position:absolute;bottom:0;left:0}.Toastify__progress-bar--animated{animation:linear forwards Toastify__trackProgress}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:100%;border-bottom-left-radius:initial;border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp{border-bottom-left-radius:var(--toastify-toast-bd-radius);width:100%;height:5px;position:absolute;bottom:0;left:0}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{box-sizing:border-box;border:2px solid;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);border-radius:100%;width:20px;height:20px;animation:.65s linear infinite Toastify__spin}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate(3000px)}60%{opacity:1;transform:translate(-25px)}75%{transform:translate(10px)}90%{transform:translate(-5px)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate(-3000px)}60%{opacity:1;transform:translate(25px)}75%{transform:translate(-10px)}90%{transform:translate(5px)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translateY(3000px)}60%{opacity:1;transform:translateY(-20px)}75%{transform:translateY(10px)}90%{transform:translateY(-5px)}to{transform:translate(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translateY(-2000px)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translateY(-3000px)}60%{opacity:1;transform:translateY(25px)}75%{transform:translateY(-10px)}90%{transform:translateY(5px)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translateY(2000px)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0)scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{opacity:0;animation-timing-function:ease-in;transform:perspective(400px)rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px)rotateX(-20deg)}60%{opacity:1;transform:perspective(400px)rotateX(10deg)}80%{transform:perspective(400px)rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0)perspective(400px)}30%{transform:translate3d(0,var(--y),0)perspective(400px)rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0)perspective(400px)rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{visibility:visible;transform:translate(110%)}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{visibility:visible;transform:translate(-110%)}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{visibility:visible;transform:translateY(110%)}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{visibility:visible;transform:translateY(-110%)}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translateY(500px)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translateY(-500px)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-duration:.3s;animation-timing-function:ease-in}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-duration:.3s;animation-timing-function:ease-in}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-duration:.3s;animation-timing-function:ease-in}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-duration:.3s;animation-timing-function:ease-in}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-100:#fdedec;--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-700:oklch(55.3% .195 38.402);--color-orange-800:oklch(47% .157 37.304);--color-orange-900:oklch(40.8% .123 38.172);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-900:oklch(42.1% .095 57.708);--color-green-100:oklch(96.2% .044 156.743);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-green-900:oklch(39.3% .095 152.535);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-purple-900:oklch(38.1% .176 304.987);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-extralight:200;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-charcoal-300:#9da6b9;--color-charcoal-700:#485265;--color-charcoal-800:#373e4e;--color-charcoal-900:#242933;--animate-fade-in:fadeIn .3s ease-in-out;--animate-fade-out:fadeOut .1s ease-in-out;--animate-zoom-in:zoomIn .3s ease-in-out;--animate-zoom-out:zoomOut .1s ease-in-out;--animate-slide-in-from-top:slideInFromTop .2s ease-in-out;--animate-slide-in-from-bottom:slideInFromBottom .2s ease-in-out;--animate-slide-in-from-left:slideInFromLeft .2s ease-in-out;--animate-slide-in-from-right:slideInFromRight .2s ease-in-out;--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--leading-normal:1.5;--leading-relaxed:1.625;--drop-shadow-sm:0 1px 2px #00000026;--blur-sm:8px;--spacing-app-height: calc(100vh - 32px) }}@layer base{@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}}h1,h2,h3,h4,h5,h6,p{color:var(--color-gray-900)}button{cursor:pointer}*{scrollbar-color:initial;scrollbar-width:initial}*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\!pointer-events-auto{pointer-events:auto!important}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sticky{position:sticky}.inset-8{inset:calc(var(--spacing)*8)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-3{top:calc(var(--spacing)*3)}.top-3\.5{top:calc(var(--spacing)*3.5)}.top-8{top:calc(var(--spacing)*8)}.top-10{top:calc(var(--spacing)*10)}.top-\[-2px\]{top:-2px}.top-\[-11px\]{top:-11px}.top-\[11px\]{top:11px}.right-0{right:calc(var(--spacing)*0)}.right-3{right:calc(var(--spacing)*3)}.right-5{right:calc(var(--spacing)*5)}.right-\[-2px\]{right:-2px}.right-\[0px\]{right:0}.bottom-5{bottom:calc(var(--spacing)*5)}.bottom-\[-2px\]{bottom:-2px}.bottom-\[-3px\]{bottom:-3px}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing)*2)}.left-8{left:calc(var(--spacing)*8)}.left-\[-2px\]{left:-2px}.left-\[0px\]{left:0}.z-0{z-index:0}.z-40{z-index:40}.z-50{z-index:50}.z-\[20\]{z-index:20}.m-6{margin:calc(var(--spacing)*6)}.m-8{margin:calc(var(--spacing)*8)}.mx-0\.5{margin-inline:calc(var(--spacing)*.5)}.mx-3{margin-inline:calc(var(--spacing)*3)}.my-0{margin-block:calc(var(--spacing)*0)}.my-1{margin-block:calc(var(--spacing)*1)}.my-3{margin-block:calc(var(--spacing)*3)}.my-4{margin-block:calc(var(--spacing)*4)}.my-6{margin-block:calc(var(--spacing)*6)}.my-8{margin-block:calc(var(--spacing)*8)}.my-40{margin-block:calc(var(--spacing)*40)}.-mt-12{margin-top:calc(var(--spacing)*-12)}.-mt-20{margin-top:calc(var(--spacing)*-20)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-\[-6px\]{margin-top:-6px}.mt-\[11px\]{margin-top:11px}.mr-1\.5{margin-right:calc(var(--spacing)*1.5)}.mr-3{margin-right:calc(var(--spacing)*3)}.mr-6{margin-right:calc(var(--spacing)*6)}.-mb-1{margin-bottom:calc(var(--spacing)*-1)}.mb-0{margin-bottom:calc(var(--spacing)*0)}.mb-0\.5{margin-bottom:calc(var(--spacing)*.5)}.mb-\[3px\]{margin-bottom:3px}.-ml-6{margin-left:calc(var(--spacing)*-6)}.ml-3{margin-left:calc(var(--spacing)*3)}.ml-\[234px\]{margin-left:234px}.ml-auto{margin-left:auto}.scrollbar-thin::-webkit-scrollbar-track{background-color:var(--scrollbar-track);border-radius:var(--scrollbar-track-radius)}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:var(--scrollbar-thumb-radius)}.scrollbar-thin::-webkit-scrollbar-corner{background-color:var(--scrollbar-corner);border-radius:var(--scrollbar-corner-radius)}.scrollbar-thin{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb,initial)var(--scrollbar-track,initial)}.scrollbar-thin::-webkit-scrollbar{width:8px;height:8px;display:block}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\!inline{display:inline!important}.contents{display:contents}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.size-2\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.size-3{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-\[3px\]{width:3px;height:3px}.size-\[calc\(100\%-32px\)\]{width:calc(100% - 32px);height:calc(100% - 32px)}.h-0\.5{height:calc(var(--spacing)*.5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-11{height:calc(var(--spacing)*11)}.h-12{height:calc(var(--spacing)*12)}.h-24{height:calc(var(--spacing)*24)}.h-48{height:calc(var(--spacing)*48)}.h-\[1px\]{height:1px}.h-\[3px\]{height:3px}.h-\[6px\]{height:6px}.h-\[9px\]{height:9px}.h-\[12px\]{height:12px}.h-\[17px\]{height:17px}.h-\[22px\]{height:22px}.h-\[25px\]{height:25px}.h-\[34px\]{height:34px}.h-\[36px\]{height:36px}.h-\[52px\]{height:52px}.h-\[244px\]{height:244px}.h-\[300px\]{height:300px}.h-\[420px\]{height:420px}.h-auto{height:auto}.h-dvh{height:100dvh}.h-max{height:max-content}.h-px{height:1px}.max-h-0{max-height:calc(var(--spacing)*0)}.max-h-6{max-height:calc(var(--spacing)*6)}.max-h-\[245px\]{max-height:245px}.max-h-\[300px\]{max-height:300px}.max-h-\[370px\]{max-height:370px}.max-h-screen{max-height:100vh}.min-h-4{min-height:calc(var(--spacing)*4)}.min-h-9{min-height:calc(var(--spacing)*9)}.min-h-11{min-height:calc(var(--spacing)*11)}.min-h-12{min-height:calc(var(--spacing)*12)}.min-h-\[48px\]{min-height:48px}.min-h-\[50px\]{min-height:50px}.min-h-full{min-height:100%}.w-\(--radix-popover-trigger-width\){width:var(--radix-popover-trigger-width)}.w-0\.5{width:calc(var(--spacing)*.5)}.w-1{width:calc(var(--spacing)*1)}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-4{width:calc(var(--spacing)*4)}.w-4\/5{width:80%}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-11{width:calc(var(--spacing)*11)}.w-32{width:calc(var(--spacing)*32)}.w-48{width:calc(var(--spacing)*48)}.w-52{width:calc(var(--spacing)*52)}.w-64{width:calc(var(--spacing)*64)}.w-96{width:calc(var(--spacing)*96)}.w-\[6px\]{width:6px}.w-\[50px\]{width:50px}.w-\[83px\]{width:83px}.w-\[200px\]{width:200px}.w-\[320px\]{width:320px}.w-\[408px\]{width:408px}.w-\[432px\]{width:432px}.w-\[450px\]{width:450px}.w-\[500px\]{width:500px}.w-max{width:max-content}.w-px{width:1px}.w-screen{width:100vw}.max-w-4xl{max-width:var(--container-4xl)}.max-w-36{max-width:calc(var(--spacing)*36)}.max-w-96{max-width:calc(var(--spacing)*96)}.max-w-\[408px\]{max-width:408px}.max-w-fit{max-width:fit-content}.max-w-full{max-width:100%}.max-w-none{max-width:none}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-8{min-width:calc(var(--spacing)*8)}.min-w-36{min-width:calc(var(--spacing)*36)}.min-w-64{min-width:calc(var(--spacing)*64)}.min-w-72{min-width:calc(var(--spacing)*72)}.min-w-\[142px\]{min-width:142px}.min-w-\[360px\]{min-width:360px}.min-w-\[408px\]{min-width:408px}.flex-none{flex:none}.border-separate{border-collapse:separate}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-scale-x-100{--tw-scale-x: -100% ;scale:var(--tw-scale-x)var(--tw-scale-y)}.-rotate-90{rotate:-90deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.rotate-\[270deg\]{rotate:270deg}.cursor-not-allowed{cursor:not-allowed}.cursor-wait{cursor:wait}.grid-cols-\[1fr\,auto\,1fr\]{grid-template-columns:1fr,auto,1fr}.grid-cols-\[208px\,380px\]{grid-template-columns:208px,380px}.grid-cols-\[auto\,auto\]{grid-template-columns:auto,auto}.grid-cols-\[minmax\(min-content\,1018px\)\]{grid-template-columns:minmax(min-content,1018px)}.grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.flex-row{flex-direction:row}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.gap-1{gap:calc(var(--spacing)*1)}.gap-3{gap:calc(var(--spacing)*3)}.gap-32{gap:calc(var(--spacing)*32)}.gap-\[-2px\]{gap:-2px}.gap-x-1{column-gap:calc(var(--spacing)*1)}.gap-x-2{column-gap:calc(var(--spacing)*2)}.gap-x-6{column-gap:calc(var(--spacing)*6)}.gap-x-8{column-gap:calc(var(--spacing)*8)}.gap-x-12{column-gap:calc(var(--spacing)*12)}.gap-x-16{column-gap:calc(var(--spacing)*16)}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.gap-y-1{row-gap:calc(var(--spacing)*1)}.gap-y-4{row-gap:calc(var(--spacing)*4)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-gray-200>:not(:last-child)){border-color:var(--color-gray-200)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\[2px\]{border-radius:2px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-full{border-top-left-radius:3.40282e38px;border-top-right-radius:3.40282e38px}.rounded-t-md{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-l-md{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-tl-md{border-top-left-radius:var(--radius-md)}.rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.rounded-tr-md{border-top-right-radius:var(--radius-md)}.rounded-b-full{border-bottom-right-radius:3.40282e38px;border-bottom-left-radius:3.40282e38px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-y-0{border-block-style:var(--tw-border-style);border-block-width:0}.border-y-2{border-block-style:var(--tw-border-style);border-block-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.border-blue-600{border-color:var(--color-blue-600)}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-400{border-color:var(--color-gray-400)}.border-gray-600{border-color:var(--color-gray-600)}.border-gray-700{border-color:var(--color-gray-700)}.border-gray-800{border-color:var(--color-gray-800)}.border-gray-900{border-color:var(--color-gray-900)}.border-red-700{border-color:var(--color-red-700)}.border-red-900{border-color:var(--color-red-900)}.border-slate-50{border-color:var(--color-slate-50)}.border-slate-100{border-color:var(--color-slate-100)}.border-white{border-color:var(--color-white)}.border-b-gray-300{border-bottom-color:var(--color-gray-300)}.bg-\[\#ffffff\]{background-color:#fff}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-200{background-color:var(--color-blue-200)}.bg-blue-300{background-color:var(--color-blue-300)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-900{background-color:var(--color-blue-900)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-600{background-color:var(--color-green-600)}.bg-green-600\/30{background-color:#63cf804d}@supports (color:color-mix(in lab,red,red)){.bg-green-600\/30{background-color:#00a5444d}@supports (color:color-mix(in lab,red,red)){.bg-green-600\/30{background-color:color-mix(in oklab,var(--color-green-600)30%,transparent)}}}.bg-inherit{background-color:inherit}.bg-orange-100{background-color:var(--color-orange-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-600{background-color:var(--color-red-600)}.bg-red-600\/30{background-color:#f28e874d}@supports (color:color-mix(in lab,red,red)){.bg-red-600\/30{background-color:#e400144d}@supports (color:color-mix(in lab,red,red)){.bg-red-600\/30{background-color:color-mix(in oklab,var(--color-red-600)30%,transparent)}}}.bg-red-900{background-color:var(--color-red-900)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-900\/50{background-color:#0e101080}@supports (color:color-mix(in lab,red,red)){.bg-slate-900\/50{background-color:#0f172b80}@supports (color:color-mix(in lab,red,red)){.bg-slate-900\/50{background-color:color-mix(in oklab,var(--color-slate-900)50%,transparent)}}}.bg-transparent{background-color:#0000}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-3{padding:calc(var(--spacing)*3)}.p-8{padding:calc(var(--spacing)*8)}.p-10{padding:calc(var(--spacing)*10)}.px-0\.5{padding-inline:calc(var(--spacing)*.5)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0{padding-block:calc(var(--spacing)*0)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-28{padding-block:calc(var(--spacing)*28)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-6{padding-top:calc(var(--spacing)*6)}.pt-12{padding-top:calc(var(--spacing)*12)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-2\.5{padding-right:calc(var(--spacing)*2.5)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-9{padding-right:calc(var(--spacing)*9)}.pb-0{padding-bottom:calc(var(--spacing)*0)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-1\.5{padding-left:calc(var(--spacing)*1.5)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-5{padding-left:calc(var(--spacing)*5)}.pl-8{padding-left:calc(var(--spacing)*8)}.text-right{text-align:right}.text-start{text-align:start}.font-sans{font-family:var(--font-sans)}.text-\[10px\]{font-size:10px}.text-\[14px\]{font-size:14px}.leading-3{--tw-leading:calc(var(--spacing)*3);line-height:calc(var(--spacing)*3)}.leading-4{--tw-leading:calc(var(--spacing)*4);line-height:calc(var(--spacing)*4)}.leading-5{--tw-leading:calc(var(--spacing)*5);line-height:calc(var(--spacing)*5)}.leading-\[18px\]{--tw-leading:18px;line-height:18px}.leading-\[22px\]{--tw-leading:22px;line-height:22px}.font-extralight{--tw-font-weight:var(--font-weight-extralight);font-weight:var(--font-weight-extralight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-nowrap{text-wrap:nowrap}.whitespace-nowrap{white-space:nowrap}.\!text-red-800{color:var(--color-red-800)!important}.\!text-red-900{color:var(--color-red-900)!important}.text-\[\#9DA6B9\]{color:#9da6b9}.text-black{color:var(--color-black)}.text-blue-600{color:var(--color-blue-600)}.text-blue-900{color:var(--color-blue-900)}.text-current{color:currentColor}.text-gray-50{color:var(--color-gray-50)}.text-gray-300{color:var(--color-gray-300)}.text-gray-700{color:var(--color-gray-700)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-green-900{color:var(--color-green-900)}.text-inherit{color:inherit}.text-orange-700{color:var(--color-orange-700)}.text-orange-800{color:var(--color-orange-800)}.text-orange-900{color:var(--color-orange-900)}.text-purple-900{color:var(--color-purple-900)}.text-red-400{color:var(--color-red-400)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-slate-100{color:var(--color-slate-100)}.text-slate-200{color:var(--color-slate-200)}.text-slate-300{color:var(--color-slate-300)}.text-slate-500{color:var(--color-slate-500)}.text-yellow-400{color:var(--color-yellow-400)}.text-yellow-900{color:var(--color-yellow-900)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.accent-gray-900{accent-color:var(--color-gray-900)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[1px_4px_15px_0px_rgba\(74\,88\,115\,0\.25\)\]{--tw-shadow:1px 4px 15px 0px var(--tw-shadow-color,#4a587340);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-button{--tw-shadow:0px -1px 1px 0px var(--tw-shadow-color,#0000000a)inset,0px 2px 0px 0px var(--tw-shadow-color,#ffffff40)inset,0px 4px 8px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-tooltip{--tw-shadow:0px 2px 8px 0px var(--tw-shadow-color,#0000000d),0px 44px 48px -12px var(--tw-shadow-color,#00000026),0px 0px 24px 4px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-black\/\[\.04\]{--tw-shadow-color:#0000000a}@supports (color:color-mix(in lab,red,red)){.shadow-black\/\[\.04\]{--tw-shadow-color:#0000000a}@supports (color:color-mix(in lab,red,red)){.shadow-black\/\[\.04\]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black)4%,transparent)var(--tw-shadow-alpha),transparent)}}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-red-900{outline-color:var(--color-red-900)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[border-radius\]{transition-property:border-radius;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[max-height\]{transition-property:max-height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.scrollbar-thumb-gray-300{--scrollbar-thumb:#d8d9da}.scrollbar-track-transparent{--scrollbar-track:transparent}.group-focus-within\:\!text-gray-900:is(:where(.group):focus-within *){color:var(--color-gray-900)!important}@media (hover:hover){.group-hover\:visible:is(:where(.group):hover *){visibility:visible}.group-hover\:mr-0:is(:where(.group):hover *){margin-right:calc(var(--spacing)*0)}.group-hover\:block:is(:where(.group):hover *){display:block}.group-hover\:cursor-pointer:is(:where(.group):hover *){cursor:pointer}.group-hover\:border-gray-900:is(:where(.group):hover *){border-color:var(--color-gray-900)}.group-hover\:\!text-red-900:is(:where(.group):hover *){color:var(--color-red-900)!important}.group-hover\:text-gray-700:is(:where(.group):hover *){color:var(--color-gray-700)}.group-hover\:text-gray-800:is(:where(.group):hover *){color:var(--color-gray-800)}.group-hover\:text-gray-900:is(:where(.group):hover *){color:var(--color-gray-900)}.group-hover\:text-inherit:is(:where(.group):hover *){color:inherit}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\/sidebar-footer\:block:is(:where(.group\/sidebar-footer):hover *){display:block}.group-hover\/sidebar-footer\:hidden:is(:where(.group\/sidebar-footer):hover *){display:none}}.peer-checked\:bg-blue-900:is(:where(.peer):checked~*){background-color:var(--color-blue-900)}@media (hover:hover){.peer-hover\:text-gray-900:is(:where(.peer):hover~*){color:var(--color-gray-900)}}.peer-focus\:outline-none:is(:where(.peer):focus~*){--tw-outline-style:none;outline-style:none}.placeholder\:text-gray-50::placeholder{color:var(--color-gray-50)}.placeholder\:text-gray-500::placeholder{color:var(--color-gray-500)}.placeholder\:text-red-800::placeholder{color:var(--color-red-800)}.group-focus-within\:placeholder\:\!text-gray-700:is(:where(.group):focus-within *)::placeholder{color:var(--color-gray-700)!important}@media (hover:hover){.group-hover\:placeholder\:text-gray-700:is(:where(.group):hover *)::placeholder{color:var(--color-gray-700)}}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:top-\[0\.4em\]:before{content:var(--tw-content);top:.4em}.before\:left-0:before{content:var(--tw-content);left:calc(var(--spacing)*0)}.before\:size-2:before{content:var(--tw-content);width:calc(var(--spacing)*2);height:calc(var(--spacing)*2)}.before\:rounded-full:before{content:var(--tw-content);border-radius:3.40282e38px}.before\:bg-blue-900:before{content:var(--tw-content);background-color:var(--color-blue-900)}.before\:bg-orange-900:before{content:var(--tw-content);background-color:var(--color-orange-900)}.before\:bg-red-900:before{content:var(--tw-content);background-color:var(--color-red-900)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:start-0\.5:after{content:var(--tw-content);inset-inline-start:calc(var(--spacing)*.5)}.after\:top-0\.5:after{content:var(--tw-content);top:calc(var(--spacing)*.5)}.after\:top-1\/2:after{content:var(--tw-content);top:50%}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:size-2\.5:after{content:var(--tw-content);width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.after\:size-5:after{content:var(--tw-content);width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.after\:-translate-y-1\/2:after{content:var(--tw-content);--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.after\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e38px}.after\:border:after{content:var(--tw-content);border-style:var(--tw-border-style);border-width:1px}.after\:border-none:after{content:var(--tw-content);--tw-border-style:none;border-style:none}.after\:bg-gray-50:after{content:var(--tw-content);background-color:var(--color-gray-50)}.after\:bg-gray-600:after{content:var(--tw-content);background-color:var(--color-gray-600)}.after\:bg-gray-800:after{content:var(--tw-content);background-color:var(--color-gray-800)}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}@media (hover:hover){.group-hover\:after\:bg-gray-900:is(:where(.group):hover *):after{content:var(--tw-content);background-color:var(--color-gray-900)}}.peer-checked\:after\:translate-x-full:is(:where(.peer):checked~*):after{content:var(--tw-content);--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.first\:border-l-0:first-child{border-left-style:var(--tw-border-style);border-left-width:0}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing)*0)}.last\:rounded-b-md:last-child{border-bottom-right-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.odd\:bg-white:nth-child(odd){background-color:var(--color-white)}.even\:bg-gray-50:nth-child(2n){background-color:var(--color-gray-50)}.first-of-type\:rounded-t-2xl:first-of-type{border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl)}.first-of-type\:pt-3:first-of-type{padding-top:calc(var(--spacing)*3)}.last-of-type\:mb-0:last-of-type{margin-bottom:calc(var(--spacing)*0)}.last-of-type\:rounded-b-2xl:last-of-type{border-bottom-right-radius:var(--radius-2xl);border-bottom-left-radius:var(--radius-2xl)}.last-of-type\:pb-3:last-of-type{padding-bottom:calc(var(--spacing)*3)}.last-of-type\:text-gray-800:last-of-type{color:var(--color-gray-800)}.focus-within\:border-b-gray-300:focus-within{border-bottom-color:var(--color-gray-300)}.focus-within\:bg-gray-100:focus-within{background-color:var(--color-gray-100)}@media (hover:hover){.hover\:scale-100:hover{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\:border-gray-500:hover{border-color:var(--color-gray-500)}.hover\:border-gray-600:hover{border-color:var(--color-gray-600)}.hover\:border-gray-900:hover{border-color:var(--color-gray-900)}.hover\:border-red-900:hover{border-color:var(--color-red-900)}.hover\:border-b-gray-300:hover{border-bottom-color:var(--color-gray-300)}.hover\:bg-blue-300:hover{background-color:var(--color-blue-300)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-gray-900:hover{background-color:var(--color-gray-900)}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-slate-800:hover{background-color:var(--color-slate-800)}.hover\:bg-transparent:hover{background-color:#0000}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:text-\[\#9896FF\]:hover{color:#9896ff}.hover\:text-gray-500:hover{color:var(--color-gray-500)}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:text-gray-800:hover{color:var(--color-gray-800)}.hover\:text-gray-900:hover{color:var(--color-gray-900)}.hover\:text-red-700:hover{color:var(--color-red-700)}.hover\:text-red-900:hover{color:var(--color-red-900)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:brightness-125:hover{--tw-brightness:brightness(125%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.hover\:scrollbar-thumb-gray-300:hover{--scrollbar-thumb:#d8d9da}}.focus\:bg-gray-50:focus{background-color:var(--color-gray-50)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-gray-900:focus{--tw-ring-color:var(--color-gray-900)}.focus\:ring-offset-0:focus{--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-gray-900:focus-visible{--tw-ring-color:var(--color-gray-900)}.focus-visible\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:ring-offset-white:focus-visible{--tw-ring-offset-color:var(--color-white)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:border-blue-800:active{border-color:var(--color-blue-800)}.active\:border-red-800:active{border-color:var(--color-red-800)}.active\:border-slate-100:active{border-color:var(--color-slate-100)}.active\:border-slate-700:active{border-color:var(--color-slate-700)}.active\:text-gray-600:active{color:var(--color-gray-600)}.active\:opacity-50:active{opacity:.5}.active\:opacity-70:active{opacity:.7}.active\:opacity-75:active{opacity:.75}.active\:opacity-80:active{opacity:.8}.active\:opacity-100:active{opacity:1}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:border-gray-300:disabled{border-color:var(--color-gray-300)}.disabled\:border-gray-700:disabled{border-color:var(--color-gray-700)}.disabled\:bg-gray-50:disabled{background-color:var(--color-gray-50)}.disabled\:bg-gray-300:disabled{background-color:var(--color-gray-300)}.disabled\:bg-transparent:disabled{background-color:#0000}.disabled\:p-0:disabled{padding:calc(var(--spacing)*0)}.disabled\:text-left:disabled{text-align:left}.disabled\:text-blue-400:disabled{color:var(--color-blue-400)}.disabled\:text-gray-400:disabled{color:var(--color-gray-400)}.disabled\:text-gray-500:disabled{color:var(--color-gray-500)}.disabled\:text-gray-700:disabled{color:var(--color-gray-700)}.disabled\:text-red-400:disabled{color:var(--color-red-400)}.disabled\:text-slate-100:disabled{color:var(--color-slate-100)}.disabled\:opacity-100:disabled{opacity:1}.data-disabled\:cursor-not-allowed[data-disabled]{cursor:not-allowed}.data-disabled\:text-gray-400[data-disabled]{color:var(--color-gray-400)}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}@media (hover:hover){.data-\[invalid\=true\]\:group-hover\:\!border-red-900[data-invalid=true]:is(:where(.group):hover *){border-color:var(--color-red-900)!important}}.data-\[selected\=true\]\:bg-gray-100[data-selected=true]{background-color:var(--color-gray-100)}.data-\[side\=bottom\]\:animate-slide-in-from-top[data-side=bottom]{animation:var(--animate-slide-in-from-top)}.data-\[side\=left\]\:animate-slide-in-from-right[data-side=left]{animation:var(--animate-slide-in-from-right)}.data-\[side\=right\]\:animate-slide-in-from-left[data-side=right]{animation:var(--animate-slide-in-from-left)}.data-\[side\=top\]\:animate-slide-in-from-bottom[data-side=top]{animation:var(--animate-slide-in-from-bottom)}.data-\[state\]\:border-gray-700[data-state]{border-color:var(--color-gray-700)}.data-\[invalid\=true\]\:data-\[state\]\:\!border-red-800[data-invalid=true][data-state]{border-color:var(--color-red-800)!important}.data-\[state\=\'active\'\]\:bg-gray-50[data-state=active]{background-color:var(--color-gray-50)}.data-\[state\=\'active\'\]\:text-gray-900[data-state=active]{color:var(--color-gray-900)}.data-\[state\=checked\]\:bg-gray-900[data-state=checked]{background-color:var(--color-gray-900)}.data-\[state\=checked\]\:text-slate-50[data-state=checked]{color:var(--color-slate-50)}@media (hover:hover){.data-\[state\=checked\]\:group-hover\:bg-gray-900[data-state=checked]:is(:where(.group):hover *){background-color:var(--color-gray-900)}}.disabled\:data-\[invalid\=false\]\:data-\[state\=checked\]\:bg-gray-700:disabled[data-invalid=false][data-state=checked]{background-color:var(--color-gray-700)}.data-\[invalid\=true\]\:data-\[state\=checked\]\:\!bg-red-800[data-invalid=true][data-state=checked]{background-color:var(--color-red-800)!important}@media (hover:hover){.data-\[invalid\=true\]\:data-\[state\=checked\]\:group-hover\:\!bg-red-900[data-invalid=true][data-state=checked]:is(:where(.group):hover *){background-color:var(--color-red-900)!important}}.data-\[state\=closed\]\:animate-fade-out[data-state=closed]{animation:var(--animate-fade-out)}.data-\[state\=closed\]\:animate-zoom-out[data-state=closed]{animation:var(--animate-zoom-out)}.data-\[state\=indeterminate\]\:bg-gray-900[data-state=indeterminate]{background-color:var(--color-gray-900)}.data-\[state\=indeterminate\]\:text-slate-50[data-state=indeterminate]{color:var(--color-slate-50)}@media (hover:hover){.data-\[state\=indeterminate\]\:group-hover\:bg-gray-900[data-state=indeterminate]:is(:where(.group):hover *){background-color:var(--color-gray-900)}}.disabled\:data-\[invalid\=false\]\:data-\[state\=indeterminate\]\:bg-gray-700:disabled[data-invalid=false][data-state=indeterminate]{background-color:var(--color-gray-700)}.data-\[invalid\=true\]\:data-\[state\=indeterminate\]\:\!bg-red-800[data-invalid=true][data-state=indeterminate]{background-color:var(--color-red-800)!important}@media (hover:hover){.data-\[invalid\=true\]\:data-\[state\=indeterminate\]\:group-hover\:\!bg-red-900[data-invalid=true][data-state=indeterminate]:is(:where(.group):hover *){background-color:var(--color-red-900)!important}}.data-\[state\=open\]\:animate-fade-in[data-state=open]{animation:var(--animate-fade-in)}.data-\[state\=open\]\:animate-zoom-in[data-state=open]{animation:var(--animate-zoom-in)}.dark\:border-charcoal-700:where(.dark,.dark *){border-color:var(--color-charcoal-700)}.dark\:border-gray-400:where(.dark,.dark *){border-color:var(--color-gray-400)}.dark\:border-gray-600:where(.dark,.dark *){border-color:var(--color-gray-600)}.dark\:border-gray-900:where(.dark,.dark *){border-color:var(--color-gray-900)}.dark\:border-red-700:where(.dark,.dark *){border-color:var(--color-red-700)}.dark\:border-slate-500:where(.dark,.dark *){border-color:var(--color-slate-500)}.dark\:border-slate-600:where(.dark,.dark *){border-color:var(--color-slate-600)}.dark\:border-b-gray-900:where(.dark,.dark *){border-bottom-color:var(--color-gray-900)}.dark\:bg-\[\#1c1e23\]:where(.dark,.dark *){background-color:#1c1e23}.dark\:bg-blue-600:where(.dark,.dark *){background-color:var(--color-blue-600)}.dark\:bg-charcoal-900:where(.dark,.dark *){background-color:var(--color-charcoal-900)}.dark\:bg-gray-400:where(.dark,.dark *){background-color:var(--color-gray-400)}.dark\:bg-slate-600:where(.dark,.dark *){background-color:var(--color-slate-600)}.dark\:bg-slate-900:where(.dark,.dark *){background-color:var(--color-slate-900)}.dark\:bg-transparent:where(.dark,.dark *){background-color:#0000}.dark\:text-\[\#7D3D37\]:where(.dark,.dark *){color:#7d3d37}.dark\:text-\[\#644E00\]:where(.dark,.dark *){color:#644e00}.dark\:text-black:where(.dark,.dark *){color:var(--color-black)}.dark\:text-blue-900:where(.dark,.dark *){color:var(--color-blue-900)}.dark\:text-gray-50:where(.dark,.dark *){color:var(--color-gray-50)}.dark\:text-gray-200:where(.dark,.dark *){color:var(--color-gray-200)}.dark\:text-gray-300:where(.dark,.dark *){color:var(--color-gray-300)}.dark\:text-gray-400:where(.dark,.dark *){color:var(--color-gray-400)}.dark\:text-gray-500:where(.dark,.dark *){color:var(--color-gray-500)}.dark\:text-gray-600:where(.dark,.dark *){color:var(--color-gray-600)}.dark\:text-gray-700:where(.dark,.dark *){color:var(--color-gray-700)}.dark\:text-red-800:where(.dark,.dark *){color:var(--color-red-800)}.dark\:text-red-900:where(.dark,.dark *){color:var(--color-red-900)}.dark\:text-white:where(.dark,.dark *){color:var(--color-white)}.dark\:text-yellow-900:where(.dark,.dark *){color:var(--color-yellow-900)}.dark\:shadow-\[1px_4px_15\.3px_0px_\#141921\]:where(.dark,.dark *){--tw-shadow:1px 4px 15.3px 0px var(--tw-shadow-color,#141921);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark\:scrollbar-thumb-charcoal-700:where(.dark,.dark *){--scrollbar-thumb:#485265}.dark\:group-focus-within\:\!text-gray-50:where(.dark,.dark *):is(:where(.group):focus-within *){color:var(--color-gray-50)!important}@media (hover:hover){.dark\:group-hover\:border-slate-50:where(.dark,.dark *):is(:where(.group):hover *){border-color:var(--color-slate-50)}.dark\:group-hover\:\!text-red-900:where(.dark,.dark *):is(:where(.group):hover *){color:var(--color-red-900)!important}.dark\:group-hover\:text-gray-500:where(.dark,.dark *):is(:where(.group):hover *){color:var(--color-gray-500)}.dark\:group-hover\:text-slate-50:where(.dark,.dark *):is(:where(.group):hover *){color:var(--color-slate-50)}.dark\:peer-hover\:text-gray-50:where(.dark,.dark *):is(:where(.peer):hover~*){color:var(--color-gray-50)}}.dark\:placeholder\:text-gray-600:where(.dark,.dark *)::placeholder{color:var(--color-gray-600)}.dark\:placeholder\:text-gray-700:where(.dark,.dark *)::placeholder{color:var(--color-gray-700)}.dark\:group-focus-within\:placeholder\:\!text-gray-300:where(.dark,.dark *):is(:where(.group):focus-within *)::placeholder{color:var(--color-gray-300)!important}@media (hover:hover){.dark\:group-hover\:placeholder\:text-gray-500:where(.dark,.dark *):is(:where(.group):hover *)::placeholder{color:var(--color-gray-500)}}.dark\:before\:bg-blue-900:where(.dark,.dark *):before{content:var(--tw-content);background-color:var(--color-blue-900)}.dark\:before\:bg-orange-900:where(.dark,.dark *):before{content:var(--tw-content);background-color:var(--color-orange-900)}.dark\:before\:bg-red-900:where(.dark,.dark *):before{content:var(--tw-content);background-color:var(--color-red-900)}.dark\:after\:bg-gray-400:where(.dark,.dark *):after{content:var(--tw-content);background-color:var(--color-gray-400)}.dark\:after\:bg-gray-600:where(.dark,.dark *):after{content:var(--tw-content);background-color:var(--color-gray-600)}@media (hover:hover){.dark\:group-hover\:after\:bg-gray-50:where(.dark,.dark *):is(:where(.group):hover *):after{content:var(--tw-content);background-color:var(--color-gray-50)}}.dark\:focus-within\:border-b-gray-800:where(.dark,.dark *):focus-within{border-bottom-color:var(--color-gray-800)}.dark\:focus-within\:bg-gray-900:where(.dark,.dark *):focus-within{background-color:var(--color-gray-900)}@media (hover:hover){.dark\:hover\:border-charcoal-700:where(.dark,.dark *):hover{border-color:var(--color-charcoal-700)}.dark\:hover\:border-gray-50:where(.dark,.dark *):hover{border-color:var(--color-gray-50)}.dark\:hover\:border-gray-600:where(.dark,.dark *):hover{border-color:var(--color-gray-600)}.dark\:hover\:border-red-900:where(.dark,.dark *):hover{border-color:var(--color-red-900)}.dark\:hover\:border-b-gray-800:where(.dark,.dark *):hover{border-bottom-color:var(--color-gray-800)}.dark\:hover\:bg-charcoal-800:where(.dark,.dark *):hover{background-color:var(--color-charcoal-800)}.dark\:hover\:bg-charcoal-900:where(.dark,.dark *):hover{background-color:var(--color-charcoal-900)}.dark\:hover\:bg-gray-900:where(.dark,.dark *):hover{background-color:var(--color-gray-900)}.dark\:hover\:bg-transparent:where(.dark,.dark *):hover{background-color:#0000}.dark\:hover\:text-gray-500:where(.dark,.dark *):hover{color:var(--color-gray-500)}.dark\:hover\:scrollbar-thumb-charcoal-700:where(.dark,.dark *):hover{--scrollbar-thumb:#485265}}.dark\:focus\:bg-charcoal-900:where(.dark,.dark *):focus{background-color:var(--color-charcoal-900)}.dark\:focus\:ring-charcoal-300:where(.dark,.dark *):focus,.dark\:focus-visible\:ring-charcoal-300:where(.dark,.dark *):focus-visible{--tw-ring-color:var(--color-charcoal-300)}.dark\:focus-visible\:ring-offset-charcoal-900:where(.dark,.dark *):focus-visible{--tw-ring-offset-color:var(--color-charcoal-900)}.disabled\:dark\:border-charcoal-800:disabled:where(.dark,.dark *){border-color:var(--color-charcoal-800)}.disabled\:dark\:bg-charcoal-900:disabled:where(.dark,.dark *){background-color:var(--color-charcoal-900)}.disabled\:dark\:text-gray-300:disabled:where(.dark,.dark *){color:var(--color-gray-300)}.dark\:data-\[selected\=true\]\:bg-gray-900:where(.dark,.dark *)[data-selected=true]{background-color:var(--color-gray-900)}.dark\:data-\[state\]\:border-gray-500:where(.dark,.dark *)[data-state]{border-color:var(--color-gray-500)}.dark\:data-\[invalid\=true\]\:data-\[state\]\:\!border-red-800:where(.dark,.dark *)[data-invalid=true][data-state]{border-color:var(--color-red-800)!important}.dark\:data-\[state\=checked\]\:bg-gray-400:where(.dark,.dark *)[data-state=checked]{background-color:var(--color-gray-400)}.dark\:data-\[state\=checked\]\:text-gray-900:where(.dark,.dark *)[data-state=checked]{color:var(--color-gray-900)}@media (hover:hover){.dark\:data-\[state\=checked\]\:group-hover\:bg-slate-50:where(.dark,.dark *)[data-state=checked]:is(:where(.group):hover *){background-color:var(--color-slate-50)}}.dark\:disabled\:data-\[invalid\=false\]\:data-\[state\=checked\]\:bg-gray-500:where(.dark,.dark *):disabled[data-invalid=false][data-state=checked]{background-color:var(--color-gray-500)}.dark\:data-\[invalid\=true\]\:data-\[state\=checked\]\:\!bg-red-800:where(.dark,.dark *)[data-invalid=true][data-state=checked]{background-color:var(--color-red-800)!important}.dark\:data-\[state\=indeterminate\]\:bg-gray-400:where(.dark,.dark *)[data-state=indeterminate]{background-color:var(--color-gray-400)}.dark\:data-\[state\=indeterminate\]\:text-gray-900:where(.dark,.dark *)[data-state=indeterminate]{color:var(--color-gray-900)}@media (hover:hover){.dark\:data-\[state\=indeterminate\]\:group-hover\:bg-slate-50:where(.dark,.dark *)[data-state=indeterminate]:is(:where(.group):hover *){background-color:var(--color-slate-50)}}.dark\:disabled\:data-\[invalid\=false\]\:data-\[state\=indeterminate\]\:bg-gray-500:where(.dark,.dark *):disabled[data-invalid=false][data-state=indeterminate]{background-color:var(--color-gray-500)}.dark\:data-\[invalid\=true\]\:data-\[state\=indeterminate\]\:\!bg-red-800:where(.dark,.dark *)[data-invalid=true][data-state=indeterminate]{background-color:var(--color-red-800)!important}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing)*1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-label\]\]\:hidden [cmdk-label]{display:none}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&\>span\]\:truncate>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.right-8{right:calc(var(--spacing)*8)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-8{bottom:calc(var(--spacing)*8)}.isolate{isolation:isolate}.z-10{z-index:10}.z-\[10000\]{z-index:10000}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-4{margin:calc(var(--spacing)*4)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-auto{margin-inline:auto}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mr-0\.5{margin-right:calc(var(--spacing)*.5)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-6{margin-left:calc(var(--spacing)*6)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.size-full{width:100%;height:100%}.\!h-\[30px\]{height:30px!important}.h-3{height:calc(var(--spacing)*3)}.h-5{height:calc(var(--spacing)*5)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-app-height{height:var(--spacing-app-height)}.h-full{height:100%}.h-screen{height:100vh}.min-h-14{min-height:calc(var(--spacing)*14)}.min-h-80{min-height:calc(var(--spacing)*80)}.min-h-\[400px\]{min-height:400px}.\!w-\[100px\]{width:100px!important}.w-5{width:calc(var(--spacing)*5)}.w-\[400px\]{width:400px}.w-\[700px\]{width:700px}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[80\%\]{max-width:80%}.max-w-\[850px\]{max-width:850px}.max-w-\[1024px\]{max-width:1024px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-2{gap:calc(var(--spacing)*2)}.gap-4{gap:calc(var(--spacing)*4)}.gap-10{gap:calc(var(--spacing)*10)}.gap-x-4{column-gap:calc(var(--spacing)*4)}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-blue-100{border-color:var(--color-blue-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-transparent{border-color:#0000}.bg-black{background-color:var(--color-black)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-500\/20{background-color:#6a728233}@supports (color:color-mix(in lab,red,red)){.bg-gray-500\/20{background-color:color-mix(in oklab,var(--color-gray-500)20%,transparent)}}.bg-slate-50{background-color:var(--color-slate-50)}.bg-white{background-color:var(--color-white)}.fill-current{fill:currentColor}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-7{padding-inline:calc(var(--spacing)*7)}.px-8{padding-inline:calc(var(--spacing)*8)}.px-10{padding-inline:calc(var(--spacing)*10)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-4{padding-block:calc(var(--spacing)*4)}.py-5{padding-block:calc(var(--spacing)*5)}.py-24{padding-block:calc(var(--spacing)*24)}.pt-10{padding-top:calc(var(--spacing)*10)}.pb-5{padding-bottom:calc(var(--spacing)*5)}.pb-16{padding-bottom:calc(var(--spacing)*16)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-6{padding-left:calc(var(--spacing)*6)}.text-center{text-align:center}.text-left{text-align:left}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.leading-10{--tw-leading:calc(var(--spacing)*10);line-height:calc(var(--spacing)*10)}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-red-900{color:var(--color-red-900)}.text-slate-50{color:var(--color-slate-50)}.text-slate-800{color:var(--color-slate-800)}.text-white{color:var(--color-white)}.lowercase{text-transform:lowercase}.underline{text-decoration-line:underline}.decoration-solid{text-decoration-style:solid}.underline-offset-2{text-underline-offset:2px}.opacity-15{opacity:.15}.opacity-45{opacity:.45}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.drop-shadow-sm{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-sm));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}@media (hover:hover){.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-none:hover{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}}:root{--toastify-toast-min-height:48px;--toastify-toast-bd-radius:8px;--toastify-text-color-light:var(--color-gray-800);--toastify-color-progress-info:var(--color-gray-300);--toastify-color-progress-success:var(--color-gray-300);--toastify-color-progress-warning:var(--color-gray-300);--toastify-color-progress-error:var(--color-gray-300);--toastify-color-progress-light:var(--color-gray-300)}html:has(dialog[open]){overflow:hidden}.checkbox-container input[type=checkbox]{accent-color:var(--color-gray-900)}.rmsc{--rmsc-main:var(--color-gray-300)!important;--rmsc-hover:var(--color-gray-100)!important;--rmsc-selected:var(--color-gray-300)!important}.Toastify__toast-body{margin:0;padding:0;font-size:14px;font-weight:600}.Toastify__toast{padding:12px 16px;box-shadow:0 8px 32px #00000052}.Toastify__progress-bar--wrp{height:2px}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes zoomIn{0%{transform:scale(.95)}to{transform:scale(1)}}@keyframes zoomOut{0%{transform:scale(1)}to{transform:scale(.95)}}@keyframes slideInFromTop{0%{transform:translateY(-.5rem)}to{transform:translateY(0)}}@keyframes slideInFromBottom{0%{transform:translateY(.5rem)}to{transform:translateY(0)}}@keyframes slideInFromLeft{0%{transform:translate(.5rem)}to{transform:translate(0)}}@keyframes slideInFromRight{0%{transform:translate(-.5rem)}to{transform:translate(0)}}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}
@@ -1,3 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index.COdN5sTb.js","./index.DAzo9kzY.js","./browser.BkwNmV2Z.js","./app-skeleton.js","./index-B7k827uL.css"])))=>i.map(i=>d[i]);
2
- import{_ as c}from"./index.DAzo9kzY.js";import"react";import"react/jsx-runtime";import"react-dom";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const e of document.querySelectorAll('link[rel="modulepreload"]'))s(e);new MutationObserver(e=>{for(const r of e)if(r.type==="childList")for(const o of r.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&s(o)}).observe(document,{childList:!0,subtree:!0});function n(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),e.crossOrigin==="use-credentials"?r.credentials="include":e.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function s(e){if(e.ep)return;e.ep=!0;const r=n(e);fetch(e.href,r)}})();c(()=>import("./index.COdN5sTb.js").then(i=>i.c_),__vite__mapDeps([0,1,2,3,4]),import.meta.url);
3
- //# sourceMappingURL=main.C9SRxGTs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"mappings":";8yBA8BA,OAAO,qBAAY,OAAAA,KAAA","names":["n"],"ignoreList":[],"sources":["../../src/renderer.ts"],"sourcesContent":["/**\n * This file will automatically be loaded by vite and run in the \"renderer\" context.\n * To learn more about the differences between the \"main\" and the \"renderer\" context in\n * Electron, visit:\n *\n * https://electronjs.org/docs/tutorial/application-architecture#main-and-renderer-processes\n *\n * By default, Node.js integration in this file is disabled. When enabling Node.js integration\n * in a renderer process, please be aware of potential security implications. You can read\n * more about security risks here:\n *\n * https://electronjs.org/docs/tutorial/security\n *\n * To enable Node.js integration in this file, open up `main.js` and enable the `nodeIntegration`\n * flag:\n *\n * ```\n * // Create the browser window.\n * mainWindow = new BrowserWindow({\n * width: 800,\n * height: 600,\n * webPreferences: {\n * nodeIntegration: true\n * }\n * });\n * ```\n */\n\n// splits app code into separate chunk to avoid circular dependencies\n// eslint-disable-next-line @typescript-eslint/no-floating-promises\nimport('./index.js');\n"],"file":"assets/main.C9SRxGTs.js"}
@@ -1,3 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DeleteItemModal.z8hCTkaW.js","./index.COdN5sTb.js","./index.DAzo9kzY.js","./browser.BkwNmV2Z.js","./app-skeleton.js","./index-B7k827uL.css","./nodes.POEKD5Qa.js","./UpgradeDriveModal.aU2KMg4z.js","./CreateDocumentModal.B5Ztd78w.js","./AddDriveModal.CDgN-pun.js","./AddLocalDriveModal.C9MD4Ysa.js","./AddRemoteDriveModal.xblpg2cW.js","./DriveSettingsModal.DKoGnm3q.js","./SettingsModal.DpaP7xQq.js","./i18next.CqOP20KE.js","./useDefaultDocumentModelEditor.joSxCJtY.js","./ConfirmationModal.B8lr2E2g.js","./DeleteDriveModal.BULot_P9.js","./DebugSettingsModal.BOzjtOHO.js","./registerServiceWorker.BeE0-hEw.js","./DisclaimerModal.aDgJttL_.js","./CookiesPolicyModal.b_FmtWcR.js","./Trans.BQm_oYqq.js"])))=>i.map(i=>d[i]);
2
- import{jsxs as P,jsx as m}from"react/jsx-runtime";import h,{lazy as t,useContext as A,useState as a,useCallback as n,useMemo as R,Suspense as I}from"react";import{_ as o}from"./index.DAzo9kzY.js";import"react-dom";const L={deleteItem:t(()=>o(()=>import("./DeleteItemModal.z8hCTkaW.js"),__vite__mapDeps([0,1,2,3,4,5,6]),import.meta.url).then(e=>({default:e.DeleteItemModal}))),upgradeDrive:t(()=>o(()=>import("./UpgradeDriveModal.aU2KMg4z.js"),__vite__mapDeps([7,1,2,3,4,5]),import.meta.url).then(e=>({default:e.UpgradeDriveModal}))),createDocument:t(()=>o(()=>import("./CreateDocumentModal.B5Ztd78w.js"),__vite__mapDeps([8,2,1,3,4,5,6]),import.meta.url).then(e=>({default:e.CreateDocumentModal}))),addDriveModal:t(()=>o(()=>import("./AddDriveModal.CDgN-pun.js"),__vite__mapDeps([9,2,1,3,4,5]),import.meta.url).then(e=>({default:e.AddDriveModal}))),addLocalDrive:t(()=>o(()=>import("./AddLocalDriveModal.C9MD4Ysa.js"),__vite__mapDeps([10,2]),import.meta.url).then(e=>({default:e.AddLocalDriveModal}))),addRemoteDrive:t(()=>o(()=>import("./AddRemoteDriveModal.xblpg2cW.js"),__vite__mapDeps([11,2,1,3,4,5]),import.meta.url).then(e=>({default:e.AddRemoteDriveModal}))),driveSettings:t(()=>o(()=>import("./DriveSettingsModal.DKoGnm3q.js"),__vite__mapDeps([12,1,2,3,4,5]),import.meta.url).then(e=>({default:e.DriveSettingsModal}))),settingsModal:t(()=>o(()=>import("./SettingsModal.DpaP7xQq.js"),__vite__mapDeps([13,14,1,2,3,4,5,6,15]),import.meta.url).then(e=>({default:e.SettingsModal}))),confirmationModal:t(()=>o(()=>import("./ConfirmationModal.B8lr2E2g.js"),__vite__mapDeps([16,2]),import.meta.url).then(e=>({default:e.ConfirmationModal}))),deleteDriveModal:t(()=>o(()=>import("./DeleteDriveModal.BULot_P9.js"),__vite__mapDeps([17,1,2,3,4,5]),import.meta.url).then(e=>({default:e.DeleteDriveModal}))),debugSettingsModal:t(()=>o(()=>import("./DebugSettingsModal.BOzjtOHO.js"),__vite__mapDeps([18,1,2,3,4,5,19]),import.meta.url).then(e=>({default:e.DebugSettingsModal}))),disclaimerModal:t(()=>o(()=>import("./DisclaimerModal.aDgJttL_.js"),__vite__mapDeps([20,1,2,3,4,5]),import.meta.url).then(e=>({default:e.DisclaimerModal}))),cookiesPolicy:t(()=>o(()=>import("./CookiesPolicyModal.b_FmtWcR.js"),__vite__mapDeps([21,1,2,3,4,5,22]),import.meta.url).then(e=>({default:e.CookiesPolicyModal})))},u=h.createContext({showModal:()=>{},closeModal:()=>{}}),C=()=>A(u),x=e=>{const{children:s}=e,[p,c]=a(),[l,M]=a(),[D,d]=a(!1),i=n((E,f)=>{d(!0),c(f),M(E)},[]),r=n(()=>{d(!1)},[]),_=l?L[l]:null,v=R(()=>({showModal:i,closeModal:r}),[r,i]);return P(u.Provider,{value:v,children:[s,m(I,{name:"ModalManager",children:_&&m(_,{...p,open:D,onClose:r})})]})};export{u as ModalContext,x as ModalManager,C as useModal};
3
- //# sourceMappingURL=modal.CqA_mJUN.js.map
@@ -1 +0,0 @@
1
- {"version":3,"mappings":";sNAEO,MAAMA,EAAS,CAClB,WAAYC,EAAK,IAAAC,EAAA,IACb,OAAO,+BAAsB,oDAAE,KAAKC,IAAM,CACtC,QAASA,EAAE,iBACb,GAEN,aAAcF,EAAK,IAAAC,EAAA,IACf,OAAO,iCAAwB,kDAAE,KAAKC,IAAM,CACxC,QAASA,EAAE,mBACb,GAEN,eAAgBF,EAAK,IAAAC,EAAA,IACjB,OAAO,mCAA0B,oDAAE,KAAKC,IAAM,CAC1C,QAASA,EAAE,qBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,6BAAoB,kDAAE,KAAKC,IAAM,CACpC,QAASA,EAAE,eACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,kCAAyB,2CAAE,KAAKC,IAAM,CACzC,QAASA,EAAE,oBACb,GAEN,eAAgBF,EAAK,IAAAC,EAAA,IACjB,OAAO,mCAA0B,mDAAE,KAAKC,IAAM,CAC1C,QAASA,EAAE,qBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,kCAAyB,mDAAE,KAAKC,IAAM,CACzC,QAASA,EAAE,oBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,6BAAoB,2DAAE,KAAKC,IAAM,CACpC,QAASA,EAAE,eACb,GAEN,kBAAmBF,EAAK,IAAAC,EAAA,IACpB,OAAO,iCAAwB,2CAAE,KAAKC,IAAM,CACxC,QAASA,EAAE,mBACb,GAEN,iBAAkBF,EAAK,IAAAC,EAAA,IACnB,OAAO,gCAAuB,mDAAE,KAAKC,IAAM,CACvC,QAASA,EAAE,kBACb,GAEN,mBAAoBF,EAAK,IAAAC,EAAA,IACrB,OAAO,kCAAyB,sDAAE,KAAKC,IAAM,CACzC,QAASA,EAAE,oBACb,GAEN,gBAAiBF,EAAK,IAAAC,EAAA,IAClB,OAAO,+BAAsB,mDAAE,KAAKC,IAAM,CACtC,QAASA,EAAE,iBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,kCAAyB,sDAAE,KAAKC,IAAM,CACzC,QAASA,EAAE,oBACb,EAEV,ECzCaC,EAAeC,EAAM,cAAiC,CAC/D,UAAW,IAAM,GACjB,WAAY,IAAM,EACtB,CAAC,EAEYC,EAAW,IACJC,EAAWH,CAAY,EAI9BI,EAAyDC,GAAS,CAC3E,KAAM,CAAE,SAAAC,GAAaD,EAEf,CAACE,EAAYC,CAAa,EAC5BC,EAAA,EACE,CAACC,EAAWC,CAAY,EAAIF,EAAA,EAC5B,CAACG,EAAMC,CAAO,EAAIJ,EAAS,EAAK,EAEhCK,EAA4CC,EAC9C,CAACL,EAAWL,IAAU,CAClBQ,EAAQ,EAAI,EACZL,EAAcH,CAAK,EACnBM,EAAaD,CAAS,GAE1B,EAAC,EAGCM,EAA8CD,EAAY,IAAM,CAClEF,EAAQ,EAAK,GACd,EAAE,EAECI,EAAiBP,EAAYd,EAAOc,CAAS,EAAI,KAEjDQ,EAAQC,EACV,KAAO,CAAE,UAAAL,EAAW,WAAAE,IACpB,CAACA,EAAYF,CAAS,GAG1B,OACIM,EAACpB,EAAa,SAAb,CAAsB,MAAAkB,EAClB,UAAAZ,EACDe,EAACC,EAAA,CAAS,KAAK,eACV,SAAAL,GACGI,EAACJ,EAAA,CACI,GAAIV,EACL,KAAAK,EACA,QAASI,CAAA,EACb,CAER,GACJ,CAER","names":["modals","lazy","__vitePreload","m","ModalContext","React","useModal","useContext","ModalManager","props","children","modalProps","setModalProps","useState","modalType","setModalType","open","setOpen","showModal","useCallback","closeModal","ModalComponent","value","useMemo","jsxs","jsx","Suspense"],"ignoreList":[],"sources":["../../src/components/modal/modals/index.ts","../../src/components/modal/modal.tsx"],"sourcesContent":["import { lazy } from 'react';\n\nexport const modals = {\n deleteItem: lazy(() =>\n import('./DeleteItemModal.js').then(m => ({\n default: m.DeleteItemModal,\n })),\n ),\n upgradeDrive: lazy(() =>\n import('./UpgradeDriveModal.js').then(m => ({\n default: m.UpgradeDriveModal,\n })),\n ),\n createDocument: lazy(() =>\n import('./CreateDocumentModal.js').then(m => ({\n default: m.CreateDocumentModal,\n })),\n ),\n addDriveModal: lazy(() =>\n import('./AddDriveModal.js').then(m => ({\n default: m.AddDriveModal,\n })),\n ),\n addLocalDrive: lazy(() =>\n import('./AddLocalDriveModal.js').then(m => ({\n default: m.AddLocalDriveModal,\n })),\n ),\n addRemoteDrive: lazy(() =>\n import('./AddRemoteDriveModal.js').then(m => ({\n default: m.AddRemoteDriveModal,\n })),\n ),\n driveSettings: lazy(() =>\n import('./DriveSettingsModal.js').then(m => ({\n default: m.DriveSettingsModal,\n })),\n ),\n settingsModal: lazy(() =>\n import('./SettingsModal.js').then(m => ({\n default: m.SettingsModal,\n })),\n ),\n confirmationModal: lazy(() =>\n import('./ConfirmationModal.js').then(m => ({\n default: m.ConfirmationModal,\n })),\n ),\n deleteDriveModal: lazy(() =>\n import('./DeleteDriveModal.js').then(m => ({\n default: m.DeleteDriveModal,\n })),\n ),\n debugSettingsModal: lazy(() =>\n import('./DebugSettingsModal.js').then(m => ({\n default: m.DebugSettingsModal,\n })),\n ),\n disclaimerModal: lazy(() =>\n import('./DisclaimerModal.js').then(m => ({\n default: m.DisclaimerModal,\n })),\n ),\n cookiesPolicy: lazy(() =>\n import('./CookiesPolicyModal.js').then(m => ({\n default: m.CookiesPolicyModal,\n })),\n ),\n} as const;\n\nexport type Modals = typeof modals;\n\nexport type ModalType = keyof Modals;\n\nexport type ModalPropsMapping = {\n [K in ModalType]: React.ComponentProps<Modals[K]>;\n};\n","import React, {\n Suspense,\n useCallback,\n useContext,\n useMemo,\n useState,\n} from 'react';\nimport {\n type ModalPropsMapping,\n type ModalType,\n modals,\n} from './modals/index.js';\n\ntype MapModalProps<T> = {\n [K in keyof T]: Omit<T[K], 'open' | 'onClose'> & { onClose?: () => void };\n};\n\ntype ModalProps = MapModalProps<ModalPropsMapping>;\n\ninterface ModalContextValue {\n showModal: <T extends ModalType>(\n modalType: T,\n props: ModalProps[T],\n ) => void;\n closeModal: () => void;\n}\n\nexport const ModalContext = React.createContext<ModalContextValue>({\n showModal: () => {},\n closeModal: () => {},\n});\n\nexport const useModal = () => {\n const context = useContext(ModalContext);\n return context;\n};\n\nexport const ModalManager: React.FC<{ children?: React.ReactNode }> = props => {\n const { children } = props;\n\n const [modalProps, setModalProps] =\n useState<ModalProps[keyof ModalProps]>();\n const [modalType, setModalType] = useState<ModalType>();\n const [open, setOpen] = useState(false);\n\n const showModal: ModalContextValue['showModal'] = useCallback(\n (modalType, props) => {\n setOpen(true);\n setModalProps(props);\n setModalType(modalType);\n },\n [],\n );\n\n const closeModal: ModalContextValue['closeModal'] = useCallback(() => {\n setOpen(false);\n }, []);\n\n const ModalComponent = modalType ? modals[modalType] : null;\n\n const value = useMemo(\n () => ({ showModal, closeModal }),\n [closeModal, showModal],\n );\n\n return (\n <ModalContext.Provider value={value}>\n {children}\n <Suspense name=\"ModalManager\">\n {ModalComponent && (\n <ModalComponent\n {...(modalProps as any)}\n open={open}\n onClose={closeModal}\n />\n )}\n </Suspense>\n </ModalContext.Provider>\n );\n};\n"],"file":"assets/modal.CqA_mJUN.js"}
@@ -1,2 +0,0 @@
1
- import{Component as b,createElement as v,createContext as w,useCallback as u}from"react";import{jsx as h}from"react/jsx-runtime";import{B as E,L as g,X as C,a0 as A,A as B}from"./index.COdN5sTb.js";import{av as y,S as m}from"./index.DAzo9kzY.js";import{t as l}from"./i18next.CqOP20KE.js";import{useModal as S}from"./modal.CqA_mJUN.js";import{h as M,d as T}from"./nodes.POEKD5Qa.js";const I=w(null),f={didCatch:!1,error:null};class R extends b{constructor(t){super(t),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=f}static getDerivedStateFromError(t){return{didCatch:!0,error:t}}resetErrorBoundary(){const{error:t}=this.state;if(t!==null){for(var e,r,n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];(e=(r=this.props).onReset)===null||e===void 0||e.call(r,{args:i,reason:"imperative-api"}),this.setState(f)}}componentDidCatch(t,e){var r,n;(r=(n=this.props).onError)===null||r===void 0||r.call(n,t,e)}componentDidUpdate(t,e){const{didCatch:r}=this.state,{resetKeys:n}=this.props;if(r&&e.error!==null&&x(t.resetKeys,n)){var i,o;(i=(o=this.props).onReset)===null||i===void 0||i.call(o,{next:n,prev:t.resetKeys,reason:"keys"}),this.setState(f)}}render(){const{children:t,fallbackRender:e,FallbackComponent:r,fallback:n}=this.props,{didCatch:i,error:o}=this.state;let d=t;if(i){const a={error:o,resetErrorBoundary:this.resetErrorBoundary};if(typeof e=="function")d=e(a);else if(r)d=v(r,a);else if(n!==void 0)d=n;else throw o}return v(I.Provider,{value:{didCatch:i,error:o,resetErrorBoundary:this.resetErrorBoundary}},d)}}function x(){let s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return s.length!==t.length||s.some((e,r)=>!Object.is(e,t[r]))}function F({drive:s}){const t=E(s),e=s==null?void 0:s.state.global.icon;return e?h("img",{src:e,alt:s.header.name,height:32,width:32}):t==="LOCAL"?h(y,{name:"Hdd",size:32}):h(y,{name:"Server",size:32})}function H(){const{showModal:s}=S(),{addDrive:t,addRemoteDrive:e}=g(),r=C(),n=A(),i=u(async a=>{try{const c=n.find(D=>D.id===a.appId),p=await t({id:"",slug:"",global:{name:a.name,icon:null},local:{availableOffline:a.availableOffline,sharingType:a.sharingType.toLowerCase(),listeners:[],triggers:[]}},c==null?void 0:c.driveEditor);if(m(l("notifications.addDriveSuccess"),{type:"connect-success"}),!p)return;r(p.header.id)}catch(c){console.error(c)}},[t,r,l]),o=u(async a=>{try{const c=await e(a.url,{sharingType:a.sharingType,availableOffline:a.availableOffline,listeners:[{block:!0,callInfo:{data:a.url,name:"switchboard-push",transmitterType:"SwitchboardPush"},filter:{branch:["main"],documentId:["*"],documentType:["*"],scope:["global"]},label:"Switchboard Sync",listenerId:"1",system:!0}],triggers:[]});if(m(l("notifications.addDriveSuccess"),{type:"connect-success"}),!c)return;r(c.header.id)}catch(c){console.error(c)}},[e,r,l]);return u(()=>s("addDriveModal",{onAddLocalDrive:i,onAddRemoteDrive:o}),[i,o,s])}function U(){const{showModal:s}=S(),{deleteNode:t}=g(),e=B(),r=M(),n=T();return u(o=>{s("deleteItem",{id:o.id,onDelete:async d=>{if(!(e!=null&&e.header.id))return;d();const a=o.kind==="folder"?"notifications.deleteFolderSuccess":"notifications.fileDeleteSuccess";await t(e.header.id,o.id),n(r==null?void 0:r.id),m(l(a),{type:"connect-deleted"})}})},[t,e==null?void 0:e.header.id,r==null?void 0:r.id,n,s,l])}export{F as D,R as E,H as a,U as u};
2
- //# sourceMappingURL=modals.B2yWw4rS.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"modals.B2yWw4rS.js","sources":["../../../../node_modules/.pnpm/react-error-boundary@4.1.2_react@18.3.1/node_modules/react-error-boundary/dist/react-error-boundary.esm.js","../../src/components/drive-icon.tsx","../../src/hooks/modals.ts"],"sourcesContent":["'use client';\nimport { createContext, Component, createElement, useContext, useState, useMemo, forwardRef } from 'react';\n\nconst ErrorBoundaryContext = createContext(null);\n\nconst initialState = {\n didCatch: false,\n error: null\n};\nclass ErrorBoundary extends Component {\n constructor(props) {\n super(props);\n this.resetErrorBoundary = this.resetErrorBoundary.bind(this);\n this.state = initialState;\n }\n static getDerivedStateFromError(error) {\n return {\n didCatch: true,\n error\n };\n }\n resetErrorBoundary() {\n const {\n error\n } = this.state;\n if (error !== null) {\n var _this$props$onReset, _this$props;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n (_this$props$onReset = (_this$props = this.props).onReset) === null || _this$props$onReset === void 0 ? void 0 : _this$props$onReset.call(_this$props, {\n args,\n reason: \"imperative-api\"\n });\n this.setState(initialState);\n }\n }\n componentDidCatch(error, info) {\n var _this$props$onError, _this$props2;\n (_this$props$onError = (_this$props2 = this.props).onError) === null || _this$props$onError === void 0 ? void 0 : _this$props$onError.call(_this$props2, error, info);\n }\n componentDidUpdate(prevProps, prevState) {\n const {\n didCatch\n } = this.state;\n const {\n resetKeys\n } = this.props;\n\n // There's an edge case where if the thing that triggered the error happens to *also* be in the resetKeys array,\n // we'd end up resetting the error boundary immediately.\n // This would likely trigger a second error to be thrown.\n // So we make sure that we don't check the resetKeys on the first call of cDU after the error is set.\n\n if (didCatch && prevState.error !== null && hasArrayChanged(prevProps.resetKeys, resetKeys)) {\n var _this$props$onReset2, _this$props3;\n (_this$props$onReset2 = (_this$props3 = this.props).onReset) === null || _this$props$onReset2 === void 0 ? void 0 : _this$props$onReset2.call(_this$props3, {\n next: resetKeys,\n prev: prevProps.resetKeys,\n reason: \"keys\"\n });\n this.setState(initialState);\n }\n }\n render() {\n const {\n children,\n fallbackRender,\n FallbackComponent,\n fallback\n } = this.props;\n const {\n didCatch,\n error\n } = this.state;\n let childToRender = children;\n if (didCatch) {\n const props = {\n error,\n resetErrorBoundary: this.resetErrorBoundary\n };\n if (typeof fallbackRender === \"function\") {\n childToRender = fallbackRender(props);\n } else if (FallbackComponent) {\n childToRender = createElement(FallbackComponent, props);\n } else if (fallback !== undefined) {\n childToRender = fallback;\n } else {\n throw error;\n }\n }\n return createElement(ErrorBoundaryContext.Provider, {\n value: {\n didCatch,\n error,\n resetErrorBoundary: this.resetErrorBoundary\n }\n }, childToRender);\n }\n}\nfunction hasArrayChanged() {\n let a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n let b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n return a.length !== b.length || a.some((item, index) => !Object.is(item, b[index]));\n}\n\nfunction assertErrorBoundaryContext(value) {\n if (value == null || typeof value.didCatch !== \"boolean\" || typeof value.resetErrorBoundary !== \"function\") {\n throw new Error(\"ErrorBoundaryContext not found\");\n }\n}\n\nfunction useErrorBoundary() {\n const context = useContext(ErrorBoundaryContext);\n assertErrorBoundaryContext(context);\n const [state, setState] = useState({\n error: null,\n hasError: false\n });\n const memoized = useMemo(() => ({\n resetBoundary: () => {\n context.resetErrorBoundary();\n setState({\n error: null,\n hasError: false\n });\n },\n showBoundary: error => setState({\n error,\n hasError: true\n })\n }), [context.resetErrorBoundary]);\n if (state.hasError) {\n throw state.error;\n }\n return memoized;\n}\n\nfunction withErrorBoundary(component, errorBoundaryProps) {\n const Wrapped = forwardRef((props, ref) => createElement(ErrorBoundary, errorBoundaryProps, createElement(component, {\n ...props,\n ref\n })));\n\n // Format for display in DevTools\n const name = component.displayName || component.name || \"Unknown\";\n Wrapped.displayName = \"withErrorBoundary(\".concat(name, \")\");\n return Wrapped;\n}\n\nexport { ErrorBoundary, ErrorBoundaryContext, useErrorBoundary, withErrorBoundary };\n","import { Icon } from '@powerhousedao/design-system';\nimport { getDriveSharingType } from '@powerhousedao/state';\nimport { type DocumentDriveDocument } from 'document-drive';\n\nexport function DriveIcon({\n drive,\n}: {\n drive: DocumentDriveDocument | undefined;\n}) {\n const sharingType = getDriveSharingType(drive);\n const driveIconSrc = drive?.state.global.icon;\n\n if (driveIconSrc) {\n return (\n <img\n src={driveIconSrc}\n alt={drive.header.name}\n height={32}\n width={32}\n />\n );\n }\n\n if (sharingType === 'LOCAL') {\n return <Icon name=\"Hdd\" size={32} />;\n }\n\n return <Icon name=\"Server\" size={32} />;\n}\n","import { useModal } from '#components';\nimport { useApps } from '#store';\nimport {\n toast,\n type AddLocalDriveInput,\n type AddRemoteDriveInput,\n type SharingType,\n} from '@powerhousedao/design-system';\nimport {\n useDrives,\n useSelectedDrive,\n useSelectedParentFolder,\n useSetSelectedDrive,\n useSetSelectedNode,\n} from '@powerhousedao/state';\nimport { type DocumentDriveDocument, type Node } from 'document-drive';\nimport { t } from 'i18next';\nimport { useCallback } from 'react';\nimport { useDocumentDriveServer } from './useDocumentDriveServer';\n\nexport function useShowAddDriveModal() {\n const { showModal } = useModal();\n const { addDrive, addRemoteDrive } = useDocumentDriveServer();\n const setSelectedDrive = useSetSelectedDrive();\n const apps = useApps();\n const onAddLocalDrive = useCallback(\n async (data: AddLocalDriveInput) => {\n try {\n const app = apps.find(a => a.id === data.appId);\n const newDrive = await addDrive(\n {\n id: '',\n slug: '',\n global: {\n name: data.name,\n icon: null,\n },\n local: {\n availableOffline: data.availableOffline,\n sharingType: data.sharingType.toLowerCase(),\n listeners: [],\n triggers: [],\n },\n },\n app?.driveEditor,\n );\n\n toast(t('notifications.addDriveSuccess'), {\n type: 'connect-success',\n });\n\n if (!newDrive) {\n return;\n }\n\n setSelectedDrive(newDrive.header.id);\n } catch (e) {\n console.error(e);\n }\n },\n [addDrive, setSelectedDrive, t],\n );\n\n const onAddRemoteDrive = useCallback(\n async (data: AddRemoteDriveInput) => {\n try {\n const newDrive = await addRemoteDrive(data.url, {\n sharingType: data.sharingType,\n availableOffline: data.availableOffline,\n listeners: [\n {\n block: true,\n callInfo: {\n data: data.url,\n name: 'switchboard-push',\n transmitterType: 'SwitchboardPush',\n },\n filter: {\n branch: ['main'],\n documentId: ['*'],\n documentType: ['*'],\n scope: ['global'],\n },\n label: 'Switchboard Sync',\n listenerId: '1',\n system: true,\n },\n ],\n triggers: [],\n });\n\n toast(t('notifications.addDriveSuccess'), {\n type: 'connect-success',\n });\n\n if (!newDrive) {\n return;\n }\n\n setSelectedDrive(newDrive.header.id);\n } catch (e) {\n console.error(e);\n }\n },\n [addRemoteDrive, setSelectedDrive, t],\n );\n const showAddDriveModal = useCallback(\n () =>\n showModal('addDriveModal', {\n onAddLocalDrive,\n onAddRemoteDrive,\n }),\n [onAddLocalDrive, onAddRemoteDrive, showModal],\n );\n\n return showAddDriveModal;\n}\n\nexport function useShowDriveSettingsModal() {\n const { showModal } = useModal();\n const {\n renameDrive,\n setDriveAvailableOffline,\n setDriveSharingType,\n deleteDrive,\n } = useDocumentDriveServer();\n const drives = useDrives();\n const setSelectedDrive = useSetSelectedDrive();\n const onRenameDrive = useCallback(\n async (drive: DocumentDriveDocument, newName: string) => {\n await renameDrive(drive.header.id, newName);\n },\n [renameDrive],\n );\n\n const onChangeSharingType = useCallback(\n async (drive: DocumentDriveDocument, newSharingType: SharingType) => {\n await setDriveSharingType(drive.header.id, newSharingType);\n },\n [setDriveSharingType],\n );\n\n const onChangeAvailableOffline = useCallback(\n async (drive: DocumentDriveDocument, newAvailableOffline: boolean) => {\n await setDriveAvailableOffline(\n drive.header.id,\n newAvailableOffline,\n );\n },\n [setDriveAvailableOffline],\n );\n const onDeleteDrive = useCallback(\n (drive: DocumentDriveDocument) => {\n showModal('deleteDriveModal', {\n drive,\n onDelete: async closeModal => {\n closeModal();\n await deleteDrive(drive.header.id);\n\n setSelectedDrive(drives?.[0]?.header.id);\n\n toast(t('notifications.deleteDriveSuccess'), {\n type: 'connect-deleted',\n });\n },\n });\n },\n [deleteDrive, drives, setSelectedDrive, showModal, t],\n );\n const showDriveSettingsModal = useCallback(\n (drive: DocumentDriveDocument) => {\n showModal('driveSettings', {\n drive,\n onRenameDrive,\n onDeleteDrive,\n onChangeSharingType,\n onChangeAvailableOffline,\n });\n },\n [\n onChangeAvailableOffline,\n onChangeSharingType,\n onDeleteDrive,\n onRenameDrive,\n showModal,\n ],\n );\n\n return showDriveSettingsModal;\n}\n\nexport function useShowDeleteNodeModal() {\n const { showModal } = useModal();\n const { deleteNode } = useDocumentDriveServer();\n const selectedDrive = useSelectedDrive();\n const selectedParentFolder = useSelectedParentFolder();\n const setSelectedNode = useSetSelectedNode();\n const showDeleteNodeModal = useCallback(\n (node: Node) => {\n showModal('deleteItem', {\n id: node.id,\n onDelete: async closeModal => {\n if (!selectedDrive?.header.id) {\n return;\n }\n closeModal();\n\n const i18nKey =\n node.kind === 'folder'\n ? 'notifications.deleteFolderSuccess'\n : 'notifications.fileDeleteSuccess';\n\n await deleteNode(selectedDrive.header.id, node.id);\n\n setSelectedNode(selectedParentFolder?.id);\n\n toast(t(i18nKey), { type: 'connect-deleted' });\n },\n });\n },\n [\n deleteNode,\n selectedDrive?.header.id,\n selectedParentFolder?.id,\n setSelectedNode,\n showModal,\n t,\n ],\n );\n\n return showDeleteNodeModal;\n}\n"],"names":["ErrorBoundaryContext","createContext","initialState","ErrorBoundary","Component","props","error","_this$props$onReset","_this$props","_len","args","_key","info","_this$props$onError","_this$props2","prevProps","prevState","didCatch","resetKeys","hasArrayChanged","_this$props$onReset2","_this$props3","children","fallbackRender","FallbackComponent","fallback","childToRender","createElement","a","b","item","index","DriveIcon","drive","sharingType","getDriveSharingType","driveIconSrc","jsx","Icon","useShowAddDriveModal","showModal","useModal","addDrive","addRemoteDrive","useDocumentDriveServer","setSelectedDrive","useSetSelectedDrive","apps","useApps","onAddLocalDrive","useCallback","data","app","newDrive","toast","t","e","onAddRemoteDrive","useShowDeleteNodeModal","deleteNode","selectedDrive","useSelectedDrive","selectedParentFolder","useSelectedParentFolder","setSelectedNode","useSetSelectedNode","node","closeModal","i18nKey"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,2 +0,0 @@
1
- import{u as o,C as i,a as n}from"./pglite-worker-CBI3hEVN.js";n();var d=class extends o{constructor(s){super(s),this.rootDir=(void 0)(s),(void 0)((void 0)(this.rootDir))||(void 0)(this.rootDir)}async init(s,e){return this.pg=s,{emscriptenOpts:{...e,preRun:[...e.preRun||[],t=>{let r=t.FS.filesystems.NODEFS;t.FS.mkdir(i),t.FS.mount(r,{root:this.rootDir},i)}]}}}async closeFs(){this.pg.Module.FS.quit()}};export{d as NodeFS};
2
- //# sourceMappingURL=nodefs-CbgXeDrX.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nodefs-CbgXeDrX.js","sources":["../../../node_modules/.pnpm/@electric-sql+pglite@0.2.17/node_modules/@electric-sql/pglite/dist/fs/nodefs.js"],"sourcesContent":["import{d as i,e as p}from\"../chunk-WGR4JCLS.js\";import{j as n}from\"../chunk-BTBUZ646.js\";n();import*as s from\"fs\";import*as o from\"path\";var m=class extends p{constructor(t){super(t),this.rootDir=o.resolve(t),s.existsSync(o.join(this.rootDir))||s.mkdirSync(this.rootDir)}async init(t,e){return this.pg=t,{emscriptenOpts:{...e,preRun:[...e.preRun||[],r=>{let c=r.FS.filesystems.NODEFS;r.FS.mkdir(i),r.FS.mount(c,{root:this.rootDir},i)}]}}}async closeFs(){this.pg.Module.FS.quit()}};export{m as NodeFS};\n//# sourceMappingURL=nodefs.js.map"],"names":["n","m","p","t","o.resolve","s.existsSync","o.join","s.mkdirSync","r","c","i"],"mappings":"8DAAyFA,EAAC,EAAkD,IAACC,EAAE,cAAcC,CAAC,CAAC,YAAYC,EAAE,CAAC,MAAMA,CAAC,EAAE,KAAK,QAAQC,SAAUD,CAAC,EAAEE,SAAaC,SAAO,KAAK,OAAO,CAAC,GAAGC,SAAY,KAAK,OAAO,CAAC,CAAC,MAAM,KAAKJ,EAAE,EAAE,CAAC,OAAO,KAAK,GAAGA,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAA,EAAGK,GAAG,CAAC,IAAIC,EAAED,EAAE,GAAG,YAAY,OAAOA,EAAE,GAAG,MAAME,CAAC,EAAEF,EAAE,GAAG,MAAMC,EAAE,CAAC,KAAK,KAAK,OAAO,EAAEC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC","x_google_ignoreList":[0]}
@@ -1,2 +0,0 @@
1
- import{n as e,o,u as n}from"./useInitSentry.DBsKo0vo.js";import"react/jsx-runtime";import"./index.DAzo9kzY.js";import"react";import"react-dom";import"./index.COdN5sTb.js";import"react-dom/client";import"./browser.BkwNmV2Z.js";import"./app-skeleton.js";import"./useAcceptedCookies.BUsKgauT.js";import"./registerServiceWorker.BeE0-hEw.js";n();var D=class extends e{constructor(t){super(t),this.rootDir=(void 0)(t),(void 0)((void 0)(this.rootDir))||(void 0)(this.rootDir)}async init(t,r){return this.pg=t,{emscriptenOpts:{...r,preRun:[...r.preRun||[],i=>{let s=i.FS.filesystems.NODEFS;i.FS.mkdir(o),i.FS.mount(s,{root:this.rootDir},o)}]}}}async closeFs(){this.pg.Module.FS.quit()}};export{D as NodeFS};
2
- //# sourceMappingURL=nodefs.zW4Fwgrd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nodefs.zW4Fwgrd.js","sources":["../../../../node_modules/.pnpm/@electric-sql+pglite@0.2.17/node_modules/@electric-sql/pglite/dist/fs/nodefs.js"],"sourcesContent":["import{d as i,e as p}from\"../chunk-WGR4JCLS.js\";import{j as n}from\"../chunk-BTBUZ646.js\";n();import*as s from\"fs\";import*as o from\"path\";var m=class extends p{constructor(t){super(t),this.rootDir=o.resolve(t),s.existsSync(o.join(this.rootDir))||s.mkdirSync(this.rootDir)}async init(t,e){return this.pg=t,{emscriptenOpts:{...e,preRun:[...e.preRun||[],r=>{let c=r.FS.filesystems.NODEFS;r.FS.mkdir(i),r.FS.mount(c,{root:this.rootDir},i)}]}}}async closeFs(){this.pg.Module.FS.quit()}};export{m as NodeFS};\n//# sourceMappingURL=nodefs.js.map"],"names":["n","m","p","o.resolve","s.existsSync","o.join","s.mkdirSync","e","r","c","i"],"mappings":"iVAAyFA,EAAC,EAAkD,IAACC,EAAE,cAAcC,CAAC,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQC,SAAU,CAAC,EAAEC,SAAaC,SAAO,KAAK,OAAO,CAAC,GAAGC,SAAY,KAAK,OAAO,CAAC,CAAC,MAAM,KAAK,EAAEC,EAAE,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC,eAAe,CAAC,GAAGA,EAAE,OAAO,CAAC,GAAGA,EAAE,QAAQ,CAAA,EAAGC,GAAG,CAAC,IAAIC,EAAED,EAAE,GAAG,YAAY,OAAOA,EAAE,GAAG,MAAME,CAAC,EAAEF,EAAE,GAAG,MAAMC,EAAE,CAAC,KAAK,KAAK,OAAO,EAAEC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC","x_google_ignoreList":[0]}
@@ -1,2 +0,0 @@
1
- import{useCallback as p}from"react";import{a as i,bS as F,bT as m,bU as h,bV as b,bW as c,bX as S,bY as v,A as D,bZ as a,b_ as I,V as A,C as w}from"./index.COdN5sTb.js";function l(){return i(F)}function B(){return i(m)}function s(){return i(S)}function L(){return p(n=>{h(n)},[])}function C(n){const e=s();return e==null?void 0:e.find(t=>t.id===n)}function k(n){const e=C(n);return(e==null?void 0:e.parentFolder)??void 0}function P(n){const e=k(n),t=s();return t==null?void 0:t.filter(o=>c(o)).find(o=>o.id===e)}function U(){const n=f(),e=l(),t=(e==null?void 0:e.header.id)??(n==null?void 0:n.id);return P(t)}function K(n){const e=s(),t=D();if(!e||!t)return[];const r=w(t),o=[];r&&o.unshift(r);let d=e.find(u=>u.id===n);for(;d&&(o.unshift(d),!!d.parentFolder);)d=e.find(u=>u.id===(d==null?void 0:d.parentFolder));return o.reverse()}function f(){return i(b)}function g(){return i(v)}function j(){const n=f(),e=l(),t=(e==null?void 0:e.header.id)??(n==null?void 0:n.id);return K(t)}function N(n){const e=s(),t=A();if(!e||!t)return[];const o=t.some(d=>d.header.id===n)?e:e.filter(d=>d.parentFolder===n);return a(o)}function x(n){const e=N(n);return a(e.filter(t=>c(t)))}function E(n){const e=N(n);return a(e.filter(t=>I(t)))}function T(n){const e=s();if(!e)return;const t=e.find(r=>r.id===n);return t==null?void 0:t.name}function W(n){const e=s();if(!e)return;const t=e.find(r=>r.id===n);if(t)return t.kind.toUpperCase()}export{E as a,f as b,j as c,L as d,l as e,k as f,P as g,U as h,g as i,B as j,T as k,W as l,x as u};
2
- //# sourceMappingURL=nodes.POEKD5Qa.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nodes.POEKD5Qa.js","sources":["../../../../packages/state/dist/hooks/documents.js","../../../../packages/state/dist/hooks/nodes.js"],"sourcesContent":["import { useAtomValue } from \"jotai\";\nimport { loadableDocumentsAtom, loadableSelectedDocumentAtom, unwrappedDocumentsAtom, unwrappedSelectedDocumentAtom, } from \"../internal/atoms.js\";\n/** Returns the documents for the selected drive. */\nexport function useDocuments() {\n return useAtomValue(unwrappedDocumentsAtom);\n}\n/** Returns a loadable of the documents for the selected drive. */\nexport function useLoadableDocuments() {\n return useAtomValue(loadableDocumentsAtom);\n}\n/** Returns the selected document. */\nexport function useSelectedDocument() {\n return useAtomValue(unwrappedSelectedDocumentAtom);\n}\n/** Returns a loadable of the selected document. */\nexport function useLoadableSelectedDocument() {\n return useAtomValue(loadableSelectedDocumentAtom);\n}\n/** Returns the document type of a document by id. */\nexport function useDocumentTypeById(id) {\n const document = useDocumentById(id);\n return document?.header.documentType;\n}\n/** Returns the document type of the selected document. */\nexport function useSelectedDocumentType() {\n const selectedDocument = useSelectedDocument();\n return selectedDocument?.header.documentType;\n}\n/** Returns a document by id. */\nexport function useDocumentById(id) {\n const documents = useDocuments();\n if (!id)\n return undefined;\n return documents?.find((d) => d.header.id === id);\n}\n/** Returns a loadable of a document by id. */\nexport function useLoadableDocumentById(id) {\n const loadableDocuments = useLoadableDocuments();\n if (loadableDocuments.state !== \"hasData\")\n return loadableDocuments;\n if (!id)\n return { state: \"hasData\", data: undefined };\n const document = loadableDocuments.data?.find((d) => d.header.id === id);\n return { state: \"hasData\", data: document };\n}\n//# sourceMappingURL=documents.js.map","import { useAtomValue } from \"jotai\";\nimport { useCallback } from \"react\";\nimport { loadableNodesAtom, loadableSelectedFolderAtom, unwrappedNodesAtom, unwrappedSelectedFolderAtom, } from \"../internal/atoms.js\";\nimport { dispatchSetNodeEvent } from \"../internal/events.js\";\nimport { makeFolderNodeFromDrive } from \"../utils/drives.js\";\nimport { isFileNodeKind, isFolderNodeKind, sortNodesByName, } from \"../utils/nodes.js\";\nimport { useSelectedDocument } from \"./documents.js\";\nimport { useDrives, useSelectedDrive } from \"./drives.js\";\n/** Returns the nodes for a drive. */\nexport function useNodes() {\n return useAtomValue(unwrappedNodesAtom);\n}\n/** Returns a loadable of the nodes for a drive. */\nexport function useLoadableNodes() {\n return useAtomValue(loadableNodesAtom);\n}\n/** Returns a function that sets the selected node (document or folder) with a node id. */\nexport function useSetSelectedNode() {\n return useCallback((nodeId) => {\n dispatchSetNodeEvent(nodeId);\n }, []);\n}\n/** Returns a node in the selected drive by id. */\nexport function useNodeById(id) {\n const nodes = useNodes();\n return nodes?.find((n) => n.id === id);\n}\n/** Returns the parent folder id of a node by id */\nexport function useParentFolderId(id) {\n const node = useNodeById(id);\n return node?.parentFolder ?? undefined;\n}\n/** Returns the parent folder of a node by id */\nexport function useParentFolder(id) {\n const parentFolderId = useParentFolderId(id);\n const nodes = useNodes();\n const parentFolder = nodes\n ?.filter((n) => isFolderNodeKind(n))\n .find((n) => n.id === parentFolderId);\n return parentFolder;\n}\n/** Returns the selected folder or document's parent folder. */\nexport function useSelectedParentFolder() {\n const selectedFolder = useSelectedFolder();\n const selectedDocument = useSelectedDocument();\n const selectedNodeId = selectedDocument?.header.id ?? selectedFolder?.id;\n return useParentFolder(selectedNodeId);\n}\n/** Returns the path to a node. */\nexport function useNodePath(id) {\n const nodes = useNodes();\n const selectedDrive = useSelectedDrive();\n if (!nodes || !selectedDrive)\n return [];\n const driveFolderNode = makeFolderNodeFromDrive(selectedDrive);\n const path = [];\n if (driveFolderNode) {\n path.unshift(driveFolderNode);\n }\n let current = nodes.find((n) => n.id === id);\n while (current) {\n path.unshift(current);\n if (!current.parentFolder)\n break;\n current = nodes.find((n) => n.id === current?.parentFolder);\n }\n return path.reverse();\n}\n/** Returns the selected folder. */\nexport function useSelectedFolder() {\n return useAtomValue(unwrappedSelectedFolderAtom);\n}\n/** Returns a loadable of the selected folder. */\nexport function useLoadableSelectedFolder() {\n return useAtomValue(loadableSelectedFolderAtom);\n}\n/** Returns the path to the selected node. */\nexport function useSelectedNodePath() {\n const selectedFolder = useSelectedFolder();\n const selectedDocument = useSelectedDocument();\n const selectedNodeId = selectedDocument?.header.id ?? selectedFolder?.id;\n return useNodePath(selectedNodeId);\n}\n/** Returns the child nodes for the selected drive or folder. */\nexport function useChildNodes() {\n const nodes = useNodes();\n const selectedFolder = useSelectedFolder();\n const selectedFolderId = selectedFolder?.id;\n if (!nodes)\n return [];\n if (!selectedFolderId)\n return sortNodesByName(nodes);\n return sortNodesByName(nodes.filter((n) => n.parentFolder === selectedFolderId));\n}\n/** Returns the folder child nodes for the selected drive or folder. */\nexport function useFolderChildNodes() {\n const childNodes = useChildNodes();\n return sortNodesByName(childNodes.filter((n) => isFolderNodeKind(n)));\n}\n/** Returns the file (document) child nodes for the selected drive or folder. */\nexport function useFileChildNodes() {\n const childNodes = useChildNodes();\n return sortNodesByName(childNodes.filter((n) => isFileNodeKind(n)));\n}\n/** Returns the child nodes for a drive or folder by id. */\nexport function useChildNodesForId(id) {\n const nodes = useNodes();\n const drives = useDrives();\n if (!nodes || !drives)\n return [];\n const isDrive = drives.some((d) => d.header.id === id);\n const childNodes = isDrive\n ? nodes\n : nodes.filter((n) => n.parentFolder === id);\n return sortNodesByName(childNodes);\n}\n/** Returns the folder child nodes for a drive or folder by id. */\nexport function useFolderChildNodesForId(id) {\n const childNodes = useChildNodesForId(id);\n return sortNodesByName(childNodes.filter((n) => isFolderNodeKind(n)));\n}\n/** Returns the file (document) child nodes for a drive or folder by id. */\nexport function useFileChildNodesForId(id) {\n const childNodes = useChildNodesForId(id);\n return sortNodesByName(childNodes.filter((n) => isFileNodeKind(n)));\n}\n/** Returns the name of a node. */\nexport function useNodeName(id) {\n const unwrappedNodes = useNodes();\n if (!unwrappedNodes)\n return undefined;\n const node = unwrappedNodes.find((n) => n.id === id);\n return node?.name;\n}\n/** Returns the kind of a node. */\nexport function useNodeKind(id) {\n const unwrappedNodes = useNodes();\n if (!unwrappedNodes)\n return undefined;\n const node = unwrappedNodes.find((n) => n.id === id);\n if (!node)\n return undefined;\n return node.kind.toUpperCase();\n}\n//# sourceMappingURL=nodes.js.map"],"names":["useSelectedDocument","useAtomValue","unwrappedSelectedDocumentAtom","useLoadableSelectedDocument","loadableSelectedDocumentAtom","useNodes","unwrappedNodesAtom","useSetSelectedNode","useCallback","nodeId","dispatchSetNodeEvent","useNodeById","id","nodes","n","useParentFolderId","node","useParentFolder","parentFolderId","isFolderNodeKind","useSelectedParentFolder","selectedFolder","useSelectedFolder","selectedDocument","selectedNodeId","useNodePath","selectedDrive","useSelectedDrive","driveFolderNode","makeFolderNodeFromDrive","path","current","unwrappedSelectedFolderAtom","useLoadableSelectedFolder","loadableSelectedFolderAtom","useSelectedNodePath","useChildNodesForId","drives","useDrives","childNodes","sortNodesByName","useFolderChildNodesForId","useFileChildNodesForId","isFileNodeKind","useNodeName","unwrappedNodes","useNodeKind"],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import{c as H,R as m,T as o,h as s,p as A,a as C,x as P,U as R}from"./pglite-worker-CBI3hEVN.js";C();var B="state.txt",L="data",W={DIR:16384,FILE:32768},T,I,N,_,w,k,y,j,F,O,S,l,$,E,M,g,f,D,v,x,U=class extends H{constructor(t,{initialPoolSize:e=1e3,maintainedPoolSize:a=100,debug:i=!1}={}){super(t,{debug:i}),m(this,l),m(this,T),m(this,I),m(this,N),m(this,_),m(this,w),m(this,k,new Map),m(this,y,new Map),m(this,j,0),m(this,F,new Map),m(this,O,new Map),this.lastCheckpoint=0,this.checkpointInterval=1e3*60,this.poolCounter=0,m(this,S,new Set),this.initialPoolSize=e,this.maintainedPoolSize=a}async init(t,e){return await o(this,l,$).call(this),super.init(t,e)}async syncToFs(t=!1){await this.maybeCheckpointState(),await this.maintainPool(),t||this.flush()}async closeFs(){for(let t of s(this,y).values())t.close();s(this,w).flush(),s(this,w).close(),this.pg.Module.FS.quit()}async maintainPool(t){t=t||this.maintainedPoolSize;let e=t-this.state.pool.length,a=[];for(let i=0;i<e;i++)a.push(new Promise(async h=>{++this.poolCounter;let r=`${(Date.now()-1704063600).toString(16).padStart(8,"0")}-${this.poolCounter.toString(16).padStart(8,"0")}`,c=await s(this,N).getFileHandle(r,{create:!0}),d=await c.createSyncAccessHandle();s(this,k).set(r,c),s(this,y).set(r,d),o(this,l,M).call(this,{opp:"createPoolFile",args:[r]}),this.state.pool.push(r),h()}));for(let i=0;i>e;i--)a.push(new Promise(async h=>{var d;let r=this.state.pool.pop();o(this,l,M).call(this,{opp:"deletePoolFile",args:[r]});let c=s(this,k).get(r);(d=s(this,y).get(r))==null||d.close(),await s(this,N).removeEntry(c.name),s(this,k).delete(r),s(this,y).delete(r),h()}));await Promise.all(a)}_createPoolFileState(t){this.state.pool.push(t)}_deletePoolFileState(t){let e=this.state.pool.indexOf(t);e>-1&&this.state.pool.splice(e,1)}async maybeCheckpointState(){Date.now()-this.lastCheckpoint>this.checkpointInterval&&await this.checkpointState()}async checkpointState(){let t=new TextEncoder().encode(JSON.stringify(this.state));s(this,w).truncate(0),s(this,w).write(t,{at:0}),s(this,w).flush(),this.lastCheckpoint=Date.now()}flush(){for(let t of s(this,S))try{t.flush()}catch{}s(this,S).clear()}chmod(t,e){o(this,l,E).call(this,{opp:"chmod",args:[t,e]},()=>{this._chmodState(t,e)})}_chmodState(t,e){let a=o(this,l,f).call(this,t);a.mode=e}close(t){let e=o(this,l,D).call(this,t);s(this,F).delete(t),s(this,O).delete(e)}fstat(t){let e=o(this,l,D).call(this,t);return this.lstat(e)}lstat(t){let e=o(this,l,f).call(this,t),a=e.type==="file"?s(this,y).get(e.backingFilename).getSize():0,i=4096;return{dev:0,ino:0,mode:e.mode,nlink:1,uid:0,gid:0,rdev:0,size:a,blksize:i,blocks:Math.ceil(a/i),atime:e.lastModified,mtime:e.lastModified,ctime:e.lastModified}}mkdir(t,e){o(this,l,E).call(this,{opp:"mkdir",args:[t,e]},()=>{this._mkdirState(t,e)})}_mkdirState(t,e){let a=o(this,l,g).call(this,t),i=a.pop(),h=[],r=this.state.root;for(let d of a){if(h.push(t),!Object.prototype.hasOwnProperty.call(r.children,d))if(e!=null&&e.recursive)this.mkdir(h.join("/"));else throw new p("ENOENT","No such file or directory");if(r.children[d].type!=="directory")throw new p("ENOTDIR","Not a directory");r=r.children[d]}if(Object.prototype.hasOwnProperty.call(r.children,i))throw new p("EEXIST","File exists");let c={type:"directory",lastModified:Date.now(),mode:(e==null?void 0:e.mode)||W.DIR,children:{}};r.children[i]=c}open(t,e,a){if(o(this,l,f).call(this,t).type!=="file")throw new p("EISDIR","Is a directory");let i=o(this,l,v).call(this);return s(this,F).set(i,t),s(this,O).set(t,i),i}readdir(t){let e=o(this,l,f).call(this,t);if(e.type!=="directory")throw new p("ENOTDIR","Not a directory");return Object.keys(e.children)}read(t,e,a,i,h){let r=o(this,l,D).call(this,t),c=o(this,l,f).call(this,r);if(c.type!=="file")throw new p("EISDIR","Is a directory");return s(this,y).get(c.backingFilename).read(new Uint8Array(e.buffer,a,i),{at:h})}rename(t,e){o(this,l,E).call(this,{opp:"rename",args:[t,e]},()=>{this._renameState(t,e,!0)})}_renameState(t,e,a=!1){let i=o(this,l,g).call(this,t),h=i.pop(),r=o(this,l,f).call(this,i.join("/"));if(!Object.prototype.hasOwnProperty.call(r.children,h))throw new p("ENOENT","No such file or directory");let c=o(this,l,g).call(this,e),d=c.pop(),n=o(this,l,f).call(this,c.join("/"));if(a&&Object.prototype.hasOwnProperty.call(n.children,d)){let u=n.children[d];s(this,y).get(u.backingFilename).truncate(0),this.state.pool.push(u.backingFilename)}n.children[d]=r.children[h],delete r.children[h]}rmdir(t){o(this,l,E).call(this,{opp:"rmdir",args:[t]},()=>{this._rmdirState(t)})}_rmdirState(t){let e=o(this,l,g).call(this,t),a=e.pop(),i=o(this,l,f).call(this,e.join("/"));if(!Object.prototype.hasOwnProperty.call(i.children,a))throw new p("ENOENT","No such file or directory");let h=i.children[a];if(h.type!=="directory")throw new p("ENOTDIR","Not a directory");if(Object.keys(h.children).length>0)throw new p("ENOTEMPTY","Directory not empty");delete i.children[a]}truncate(t,e=0){let a=o(this,l,f).call(this,t);if(a.type!=="file")throw new p("EISDIR","Is a directory");let i=s(this,y).get(a.backingFilename);if(!i)throw new p("ENOENT","No such file or directory");i.truncate(e),s(this,S).add(i)}unlink(t){o(this,l,E).call(this,{opp:"unlink",args:[t]},()=>{this._unlinkState(t,!0)})}_unlinkState(t,e=!1){let a=o(this,l,g).call(this,t),i=a.pop(),h=o(this,l,f).call(this,a.join("/"));if(!Object.prototype.hasOwnProperty.call(h.children,i))throw new p("ENOENT","No such file or directory");let r=h.children[i];if(r.type!=="file")throw new p("EISDIR","Is a directory");if(delete h.children[i],e){let c=s(this,y).get(r.backingFilename);c==null||c.truncate(0),s(this,S).add(c),s(this,O).has(t)&&(s(this,F).delete(s(this,O).get(t)),s(this,O).delete(t))}this.state.pool.push(r.backingFilename)}utimes(t,e,a){o(this,l,E).call(this,{opp:"utimes",args:[t,e,a]},()=>{this._utimesState(t,e,a)})}_utimesState(t,e,a){let i=o(this,l,f).call(this,t);i.lastModified=a}writeFile(t,e,a){let i=o(this,l,g).call(this,t),h=i.pop(),r=o(this,l,f).call(this,i.join("/"));if(Object.prototype.hasOwnProperty.call(r.children,h)){let n=r.children[h];n.lastModified=Date.now(),o(this,l,M).call(this,{opp:"setLastModified",args:[t,n.lastModified]})}else{if(this.state.pool.length===0)throw new Error("No more file handles available in the pool");let n={type:"file",lastModified:Date.now(),mode:(a==null?void 0:a.mode)||W.FILE,backingFilename:this.state.pool.pop()};r.children[h]=n,o(this,l,M).call(this,{opp:"createFileNode",args:[t,n]})}let c=r.children[h],d=s(this,y).get(c.backingFilename);e.length>0&&(d.write(typeof e=="string"?new TextEncoder().encode(e):new Uint8Array(e),{at:0}),t.startsWith("/pg_wal")&&s(this,S).add(d))}_createFileNodeState(t,e){let a=o(this,l,g).call(this,t),i=a.pop(),h=o(this,l,f).call(this,a.join("/"));h.children[i]=e;let r=this.state.pool.indexOf(e.backingFilename);return r>-1&&this.state.pool.splice(r,1),e}_setLastModifiedState(t,e){let a=o(this,l,f).call(this,t);a.lastModified=e}write(t,e,a,i,h){let r=o(this,l,D).call(this,t),c=o(this,l,f).call(this,r);if(c.type!=="file")throw new p("EISDIR","Is a directory");let d=s(this,y).get(c.backingFilename);if(!d)throw new p("EBADF","Bad file descriptor");let n=d.write(new Uint8Array(e,a,i),{at:h});return r.startsWith("/pg_wal")&&s(this,S).add(d),n}};T=new WeakMap,I=new WeakMap,N=new WeakMap,_=new WeakMap,w=new WeakMap,k=new WeakMap,y=new WeakMap,j=new WeakMap,F=new WeakMap,O=new WeakMap,S=new WeakMap,l=new WeakSet,$=async function(){P(this,T,await navigator.storage.getDirectory()),P(this,I,await o(this,l,x).call(this,this.dataDir,{create:!0})),P(this,N,await o(this,l,x).call(this,L,{from:s(this,I),create:!0})),P(this,_,await s(this,I).getFileHandle(B,{create:!0})),P(this,w,await s(this,_).createSyncAccessHandle());let t=new ArrayBuffer(s(this,w).getSize());s(this,w).read(t,{at:0});let e,a=new TextDecoder().decode(t).split(`
2
- `),i=!1;try{e=JSON.parse(a[0])}catch{e={root:{type:"directory",lastModified:Date.now(),mode:W.DIR,children:{}},pool:[]},s(this,w).truncate(0),s(this,w).write(new TextEncoder().encode(JSON.stringify(e)),{at:0}),i=!0}this.state=e;let h=a.slice(1).filter(Boolean).map(n=>JSON.parse(n));for(let n of h){let u=`_${n.opp}State`;if(typeof this[u]=="function")try{this[u].bind(this)(...n.args)}catch(b){console.warn("Error applying OPFS AHP WAL entry",n,b)}}let r=[],c=async n=>{if(n.type==="file")try{let u=await s(this,N).getFileHandle(n.backingFilename),b=await u.createSyncAccessHandle();s(this,k).set(n.backingFilename,u),s(this,y).set(n.backingFilename,b)}catch(u){console.error("Error opening file handle for node",n,u)}else for(let u of Object.values(n.children))r.push(c(u))};await c(this.state.root);let d=[];for(let n of this.state.pool)d.push(new Promise(async u=>{s(this,k).has(n)&&console.warn("File handle already exists for pool file",n);let b=await s(this,N).getFileHandle(n),z=await b.createSyncAccessHandle();s(this,k).set(n,b),s(this,y).set(n,z),u()}));await Promise.all([...r,...d]),await this.maintainPool(i?this.initialPoolSize:this.maintainedPoolSize)},E=function(t,e){let a=o(this,l,M).call(this,t);try{e()}catch(i){throw s(this,w).truncate(a),i}},M=function(t){let e=JSON.stringify(t),a=new TextEncoder().encode(`
3
- ${e}`),i=s(this,w).getSize();return s(this,w).write(a,{at:i}),s(this,S).add(s(this,w)),i},g=function(t){return t.split("/").filter(Boolean)},f=function(t,e){let a=o(this,l,g).call(this,t),i=e||this.state.root;for(let h of a){if(i.type!=="directory")throw new p("ENOTDIR","Not a directory");if(!Object.prototype.hasOwnProperty.call(i.children,h))throw new p("ENOENT","No such file or directory");i=i.children[h]}return i},D=function(t){let e=s(this,F).get(t);if(!e)throw new p("EBADF","Bad file descriptor");return e},v=function(){let t=++R(this,j)._;for(;s(this,F).has(t);)R(this,j)._++;return t},x=async function(t,e){let a=o(this,l,g).call(this,t),i=(e==null?void 0:e.from)||s(this,T);for(let h of a)i=await i.getDirectoryHandle(h,{create:e==null?void 0:e.create});return i};var p=class extends Error{constructor(t,e){super(e),typeof t=="number"?this.code=t:typeof t=="string"&&(this.code=A[t])}};export{U as OpfsAhpFS};
4
- //# sourceMappingURL=opfs-ahp-CvqFFNTs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"opfs-ahp-CvqFFNTs.js","sources":["../../../node_modules/.pnpm/@electric-sql+pglite@0.2.17/node_modules/@electric-sql/pglite/dist/fs/opfs-ahp.js"],"sourcesContent":["import{f as B,g as z}from\"../chunk-WGR4JCLS.js\";import{e as s,f as g,g as E,h as r,i as _,j as R}from\"../chunk-BTBUZ646.js\";R();var $=\"state.txt\",G=\"data\",T={DIR:16384,FILE:32768},H,v,F,M,y,b,m,x,P,D,S,n,C,O,k,w,f,I,W,j,L=class extends B{constructor(e,{initialPoolSize:t=1e3,maintainedPoolSize:o=100,debug:i=!1}={}){super(e,{debug:i});g(this,n);g(this,H);g(this,v);g(this,F);g(this,M);g(this,y);g(this,b,new Map);g(this,m,new Map);g(this,x,0);g(this,P,new Map);g(this,D,new Map);this.lastCheckpoint=0;this.checkpointInterval=1e3*60;this.poolCounter=0;g(this,S,new Set);this.initialPoolSize=t,this.maintainedPoolSize=o}async init(e,t){return await r(this,n,C).call(this),super.init(e,t)}async syncToFs(e=!1){await this.maybeCheckpointState(),await this.maintainPool(),e||this.flush()}async closeFs(){for(let e of s(this,m).values())e.close();s(this,y).flush(),s(this,y).close(),this.pg.Module.FS.quit()}async maintainPool(e){e=e||this.maintainedPoolSize;let t=e-this.state.pool.length,o=[];for(let i=0;i<t;i++)o.push(new Promise(async c=>{++this.poolCounter;let a=`${(Date.now()-1704063600).toString(16).padStart(8,\"0\")}-${this.poolCounter.toString(16).padStart(8,\"0\")}`,h=await s(this,F).getFileHandle(a,{create:!0}),d=await h.createSyncAccessHandle();s(this,b).set(a,h),s(this,m).set(a,d),r(this,n,k).call(this,{opp:\"createPoolFile\",args:[a]}),this.state.pool.push(a),c()}));for(let i=0;i>t;i--)o.push(new Promise(async c=>{let a=this.state.pool.pop();r(this,n,k).call(this,{opp:\"deletePoolFile\",args:[a]});let h=s(this,b).get(a);s(this,m).get(a)?.close(),await s(this,F).removeEntry(h.name),s(this,b).delete(a),s(this,m).delete(a),c()}));await Promise.all(o)}_createPoolFileState(e){this.state.pool.push(e)}_deletePoolFileState(e){let t=this.state.pool.indexOf(e);t>-1&&this.state.pool.splice(t,1)}async maybeCheckpointState(){Date.now()-this.lastCheckpoint>this.checkpointInterval&&await this.checkpointState()}async checkpointState(){let e=new TextEncoder().encode(JSON.stringify(this.state));s(this,y).truncate(0),s(this,y).write(e,{at:0}),s(this,y).flush(),this.lastCheckpoint=Date.now()}flush(){for(let e of s(this,S))try{e.flush()}catch{}s(this,S).clear()}chmod(e,t){r(this,n,O).call(this,{opp:\"chmod\",args:[e,t]},()=>{this._chmodState(e,t)})}_chmodState(e,t){let o=r(this,n,f).call(this,e);o.mode=t}close(e){let t=r(this,n,I).call(this,e);s(this,P).delete(e),s(this,D).delete(t)}fstat(e){let t=r(this,n,I).call(this,e);return this.lstat(t)}lstat(e){let t=r(this,n,f).call(this,e),o=t.type===\"file\"?s(this,m).get(t.backingFilename).getSize():0,i=4096;return{dev:0,ino:0,mode:t.mode,nlink:1,uid:0,gid:0,rdev:0,size:o,blksize:i,blocks:Math.ceil(o/i),atime:t.lastModified,mtime:t.lastModified,ctime:t.lastModified}}mkdir(e,t){r(this,n,O).call(this,{opp:\"mkdir\",args:[e,t]},()=>{this._mkdirState(e,t)})}_mkdirState(e,t){let o=r(this,n,w).call(this,e),i=o.pop(),c=[],a=this.state.root;for(let d of o){if(c.push(e),!Object.prototype.hasOwnProperty.call(a.children,d))if(t?.recursive)this.mkdir(c.join(\"/\"));else throw new p(\"ENOENT\",\"No such file or directory\");if(a.children[d].type!==\"directory\")throw new p(\"ENOTDIR\",\"Not a directory\");a=a.children[d]}if(Object.prototype.hasOwnProperty.call(a.children,i))throw new p(\"EEXIST\",\"File exists\");let h={type:\"directory\",lastModified:Date.now(),mode:t?.mode||T.DIR,children:{}};a.children[i]=h}open(e,t,o){if(r(this,n,f).call(this,e).type!==\"file\")throw new p(\"EISDIR\",\"Is a directory\");let c=r(this,n,W).call(this);return s(this,P).set(c,e),s(this,D).set(e,c),c}readdir(e){let t=r(this,n,f).call(this,e);if(t.type!==\"directory\")throw new p(\"ENOTDIR\",\"Not a directory\");return Object.keys(t.children)}read(e,t,o,i,c){let a=r(this,n,I).call(this,e),h=r(this,n,f).call(this,a);if(h.type!==\"file\")throw new p(\"EISDIR\",\"Is a directory\");return s(this,m).get(h.backingFilename).read(new Uint8Array(t.buffer,o,i),{at:c})}rename(e,t){r(this,n,O).call(this,{opp:\"rename\",args:[e,t]},()=>{this._renameState(e,t,!0)})}_renameState(e,t,o=!1){let i=r(this,n,w).call(this,e),c=i.pop(),a=r(this,n,f).call(this,i.join(\"/\"));if(!Object.prototype.hasOwnProperty.call(a.children,c))throw new p(\"ENOENT\",\"No such file or directory\");let h=r(this,n,w).call(this,t),d=h.pop(),l=r(this,n,f).call(this,h.join(\"/\"));if(o&&Object.prototype.hasOwnProperty.call(l.children,d)){let u=l.children[d];s(this,m).get(u.backingFilename).truncate(0),this.state.pool.push(u.backingFilename)}l.children[d]=a.children[c],delete a.children[c]}rmdir(e){r(this,n,O).call(this,{opp:\"rmdir\",args:[e]},()=>{this._rmdirState(e)})}_rmdirState(e){let t=r(this,n,w).call(this,e),o=t.pop(),i=r(this,n,f).call(this,t.join(\"/\"));if(!Object.prototype.hasOwnProperty.call(i.children,o))throw new p(\"ENOENT\",\"No such file or directory\");let c=i.children[o];if(c.type!==\"directory\")throw new p(\"ENOTDIR\",\"Not a directory\");if(Object.keys(c.children).length>0)throw new p(\"ENOTEMPTY\",\"Directory not empty\");delete i.children[o]}truncate(e,t=0){let o=r(this,n,f).call(this,e);if(o.type!==\"file\")throw new p(\"EISDIR\",\"Is a directory\");let i=s(this,m).get(o.backingFilename);if(!i)throw new p(\"ENOENT\",\"No such file or directory\");i.truncate(t),s(this,S).add(i)}unlink(e){r(this,n,O).call(this,{opp:\"unlink\",args:[e]},()=>{this._unlinkState(e,!0)})}_unlinkState(e,t=!1){let o=r(this,n,w).call(this,e),i=o.pop(),c=r(this,n,f).call(this,o.join(\"/\"));if(!Object.prototype.hasOwnProperty.call(c.children,i))throw new p(\"ENOENT\",\"No such file or directory\");let a=c.children[i];if(a.type!==\"file\")throw new p(\"EISDIR\",\"Is a directory\");if(delete c.children[i],t){let h=s(this,m).get(a.backingFilename);h?.truncate(0),s(this,S).add(h),s(this,D).has(e)&&(s(this,P).delete(s(this,D).get(e)),s(this,D).delete(e))}this.state.pool.push(a.backingFilename)}utimes(e,t,o){r(this,n,O).call(this,{opp:\"utimes\",args:[e,t,o]},()=>{this._utimesState(e,t,o)})}_utimesState(e,t,o){let i=r(this,n,f).call(this,e);i.lastModified=o}writeFile(e,t,o){let i=r(this,n,w).call(this,e),c=i.pop(),a=r(this,n,f).call(this,i.join(\"/\"));if(Object.prototype.hasOwnProperty.call(a.children,c)){let l=a.children[c];l.lastModified=Date.now(),r(this,n,k).call(this,{opp:\"setLastModified\",args:[e,l.lastModified]})}else{if(this.state.pool.length===0)throw new Error(\"No more file handles available in the pool\");let l={type:\"file\",lastModified:Date.now(),mode:o?.mode||T.FILE,backingFilename:this.state.pool.pop()};a.children[c]=l,r(this,n,k).call(this,{opp:\"createFileNode\",args:[e,l]})}let h=a.children[c],d=s(this,m).get(h.backingFilename);t.length>0&&(d.write(typeof t==\"string\"?new TextEncoder().encode(t):new Uint8Array(t),{at:0}),e.startsWith(\"/pg_wal\")&&s(this,S).add(d))}_createFileNodeState(e,t){let o=r(this,n,w).call(this,e),i=o.pop(),c=r(this,n,f).call(this,o.join(\"/\"));c.children[i]=t;let a=this.state.pool.indexOf(t.backingFilename);return a>-1&&this.state.pool.splice(a,1),t}_setLastModifiedState(e,t){let o=r(this,n,f).call(this,e);o.lastModified=t}write(e,t,o,i,c){let a=r(this,n,I).call(this,e),h=r(this,n,f).call(this,a);if(h.type!==\"file\")throw new p(\"EISDIR\",\"Is a directory\");let d=s(this,m).get(h.backingFilename);if(!d)throw new p(\"EBADF\",\"Bad file descriptor\");let l=d.write(new Uint8Array(t,o,i),{at:c});return a.startsWith(\"/pg_wal\")&&s(this,S).add(d),l}};H=new WeakMap,v=new WeakMap,F=new WeakMap,M=new WeakMap,y=new WeakMap,b=new WeakMap,m=new WeakMap,x=new WeakMap,P=new WeakMap,D=new WeakMap,S=new WeakMap,n=new WeakSet,C=async function(){E(this,H,await navigator.storage.getDirectory()),E(this,v,await r(this,n,j).call(this,this.dataDir,{create:!0})),E(this,F,await r(this,n,j).call(this,G,{from:s(this,v),create:!0})),E(this,M,await s(this,v).getFileHandle($,{create:!0})),E(this,y,await s(this,M).createSyncAccessHandle());let e=new ArrayBuffer(s(this,y).getSize());s(this,y).read(e,{at:0});let t,o=new TextDecoder().decode(e).split(`\n`),i=!1;try{t=JSON.parse(o[0])}catch{t={root:{type:\"directory\",lastModified:Date.now(),mode:T.DIR,children:{}},pool:[]},s(this,y).truncate(0),s(this,y).write(new TextEncoder().encode(JSON.stringify(t)),{at:0}),i=!0}this.state=t;let c=o.slice(1).filter(Boolean).map(l=>JSON.parse(l));for(let l of c){let u=`_${l.opp}State`;if(typeof this[u]==\"function\")try{this[u].bind(this)(...l.args)}catch(N){console.warn(\"Error applying OPFS AHP WAL entry\",l,N)}}let a=[],h=async l=>{if(l.type===\"file\")try{let u=await s(this,F).getFileHandle(l.backingFilename),N=await u.createSyncAccessHandle();s(this,b).set(l.backingFilename,u),s(this,m).set(l.backingFilename,N)}catch(u){console.error(\"Error opening file handle for node\",l,u)}else for(let u of Object.values(l.children))a.push(h(u))};await h(this.state.root);let d=[];for(let l of this.state.pool)d.push(new Promise(async u=>{s(this,b).has(l)&&console.warn(\"File handle already exists for pool file\",l);let N=await s(this,F).getFileHandle(l),U=await N.createSyncAccessHandle();s(this,b).set(l,N),s(this,m).set(l,U),u()}));await Promise.all([...a,...d]),await this.maintainPool(i?this.initialPoolSize:this.maintainedPoolSize)},O=function(e,t){let o=r(this,n,k).call(this,e);try{t()}catch(i){throw s(this,y).truncate(o),i}},k=function(e){let t=JSON.stringify(e),o=new TextEncoder().encode(`\n${t}`),i=s(this,y).getSize();return s(this,y).write(o,{at:i}),s(this,S).add(s(this,y)),i},w=function(e){return e.split(\"/\").filter(Boolean)},f=function(e,t){let o=r(this,n,w).call(this,e),i=t||this.state.root;for(let c of o){if(i.type!==\"directory\")throw new p(\"ENOTDIR\",\"Not a directory\");if(!Object.prototype.hasOwnProperty.call(i.children,c))throw new p(\"ENOENT\",\"No such file or directory\");i=i.children[c]}return i},I=function(e){let t=s(this,P).get(e);if(!t)throw new p(\"EBADF\",\"Bad file descriptor\");return t},W=function(){let e=++_(this,x)._;for(;s(this,P).has(e);)_(this,x)._++;return e},j=async function(e,t){let o=r(this,n,w).call(this,e),i=t?.from||s(this,H);for(let c of o)i=await i.getDirectoryHandle(c,{create:t?.create});return i};var p=class extends Error{constructor(A,e){super(e),typeof A==\"number\"?this.code=A:typeof A==\"string\"&&(this.code=z[A])}};export{L as OpfsAhpFS};\n//# sourceMappingURL=opfs-ahp.js.map"],"names":["R","$","G","T","H","v","F","M","y","b","m","x","P","D","n","C","O","k","w","I","W","j","L","B","e","t","o","g","r","s","c","a","h","l","E","N","U","_","A","z"],"mappings":"iGAA4HA,EAAC,EAAM,IAACC,EAAE,YAAYC,EAAE,OAAOC,EAAE,CAAC,IAAI,MAAM,KAAK,KAAK,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,EAAE,EAAEC,EAAEC,EAAEC,EAAEC,EAAEC,EAAE,EAAEC,EAAEC,EAAEC,EAAEC,EAAE,cAAcC,CAAC,CAAC,YAAYC,EAAE,CAAC,gBAAgBC,EAAE,IAAI,mBAAmBC,EAAE,IAAI,MAAM,EAAE,EAAE,EAAE,CAAA,EAAG,CAAC,MAAMF,EAAE,CAAC,MAAM,CAAC,CAAC,EAAEG,EAAE,KAAKb,CAAC,EAAEa,EAAE,KAAKvB,CAAC,EAAEuB,EAAE,KAAKtB,CAAC,EAAEsB,EAAE,KAAKrB,CAAC,EAAEqB,EAAE,KAAKpB,CAAC,EAAEoB,EAAE,KAAKnB,CAAC,EAAEmB,EAAE,KAAKlB,EAAE,IAAI,GAAG,EAAEkB,EAAE,KAAKjB,EAAE,IAAI,GAAG,EAAEiB,EAAE,KAAKhB,EAAE,CAAC,EAAEgB,EAAE,KAAKf,EAAE,IAAI,GAAG,EAAEe,EAAE,KAAKd,EAAE,IAAI,GAAG,EAAE,KAAK,eAAe,EAAE,KAAK,mBAAmB,IAAI,GAAG,KAAK,YAAY,EAAEc,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,KAAK,gBAAgBF,EAAE,KAAK,mBAAmBC,CAAC,CAAC,MAAM,KAAKF,EAAEC,EAAE,CAAC,OAAO,MAAMG,EAAE,KAAKd,EAAEC,CAAC,EAAE,KAAK,IAAI,EAAE,MAAM,KAAKS,EAAEC,CAAC,CAAC,CAAC,MAAM,SAASD,EAAE,GAAG,CAAC,MAAM,KAAK,qBAAoB,EAAG,MAAM,KAAK,aAAY,EAAGA,GAAG,KAAK,MAAK,CAAE,CAAC,MAAM,SAAS,CAAC,QAAQA,KAAKK,EAAE,KAAKnB,CAAC,EAAE,OAAM,EAAGc,EAAE,MAAK,EAAGK,EAAE,KAAKrB,CAAC,EAAE,MAAK,EAAGqB,EAAE,KAAKrB,CAAC,EAAE,MAAK,EAAG,KAAK,GAAG,OAAO,GAAG,KAAI,CAAE,CAAC,MAAM,aAAagB,EAAE,CAACA,EAAEA,GAAG,KAAK,mBAAmB,IAAIC,EAAED,EAAE,KAAK,MAAM,KAAK,OAAOE,EAAE,CAAA,EAAG,QAAQ,EAAE,EAAE,EAAED,EAAE,IAAIC,EAAE,KAAK,IAAI,QAAQ,MAAMI,GAAG,CAAC,EAAE,KAAK,YAAY,IAAIC,EAAE,IAAI,KAAK,IAAG,EAAG,YAAY,SAAS,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,KAAK,YAAY,SAAS,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,GAAGC,EAAE,MAAMH,EAAE,KAAKvB,CAAC,EAAE,cAAcyB,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,MAAMC,EAAE,uBAAsB,EAAGH,EAAE,KAAKpB,CAAC,EAAE,IAAIsB,EAAEC,CAAC,EAAEH,EAAE,KAAKnB,CAAC,EAAE,IAAIqB,EAAE,CAAC,EAAEH,EAAE,KAAKd,EAAEG,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,iBAAiB,KAAK,CAACc,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,KAAK,KAAKA,CAAC,EAAED,EAAC,CAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAEL,EAAE,IAAIC,EAAE,KAAK,IAAI,QAAQ,MAAMI,GAAG,OAAC,IAAIC,EAAE,KAAK,MAAM,KAAK,IAAG,EAAGH,EAAE,KAAKd,EAAEG,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,iBAAiB,KAAK,CAACc,CAAC,CAAC,CAAC,EAAE,IAAIC,EAAEH,EAAE,KAAKpB,CAAC,EAAE,IAAIsB,CAAC,GAAEF,EAAAA,EAAE,KAAKnB,CAAC,EAAE,IAAIqB,CAAC,IAAfF,MAAAA,EAAkB,QAAQ,MAAMA,EAAE,KAAKvB,CAAC,EAAE,YAAY0B,EAAE,IAAI,EAAEH,EAAE,KAAKpB,CAAC,EAAE,OAAOsB,CAAC,EAAEF,EAAE,KAAKnB,CAAC,EAAE,OAAOqB,CAAC,EAAED,EAAC,CAAE,CAAC,CAAC,EAAE,MAAM,QAAQ,IAAIJ,CAAC,CAAC,CAAC,qBAAqBF,EAAE,CAAC,KAAK,MAAM,KAAK,KAAKA,CAAC,CAAC,CAAC,qBAAqBA,EAAE,CAAC,IAAIC,EAAE,KAAK,MAAM,KAAK,QAAQD,CAAC,EAAEC,EAAE,IAAI,KAAK,MAAM,KAAK,OAAOA,EAAE,CAAC,CAAC,CAAC,MAAM,sBAAsB,CAAC,KAAK,MAAM,KAAK,eAAe,KAAK,oBAAoB,MAAM,KAAK,gBAAe,CAAE,CAAC,MAAM,iBAAiB,CAAC,IAAID,EAAE,IAAI,YAAW,EAAG,OAAO,KAAK,UAAU,KAAK,KAAK,CAAC,EAAEK,EAAE,KAAKrB,CAAC,EAAE,SAAS,CAAC,EAAEqB,EAAE,KAAKrB,CAAC,EAAE,MAAMgB,EAAE,CAAC,GAAG,CAAC,CAAC,EAAEK,EAAE,KAAKrB,CAAC,EAAE,MAAK,EAAG,KAAK,eAAe,KAAK,IAAG,CAAE,CAAC,OAAO,CAAC,QAAQgB,KAAKK,EAAE,KAAK,CAAC,EAAE,GAAG,CAACL,EAAE,MAAK,CAAE,MAAM,CAAA,CAAEK,EAAE,KAAK,CAAC,EAAE,MAAK,CAAE,CAAC,MAAML,EAAEC,EAAE,CAACG,EAAE,KAAKd,EAAEE,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,QAAQ,KAAK,CAACQ,EAAEC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,YAAYD,EAAEC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAYD,EAAEC,EAAE,CAAC,IAAIC,EAAEE,EAAE,KAAKd,EAAE,CAAC,EAAE,KAAK,KAAKU,CAAC,EAAEE,EAAE,KAAKD,CAAC,CAAC,MAAMD,EAAE,CAAC,IAAIC,EAAEG,EAAE,KAAKd,EAAEK,CAAC,EAAE,KAAK,KAAKK,CAAC,EAAEK,EAAE,KAAKjB,CAAC,EAAE,OAAOY,CAAC,EAAEK,EAAE,KAAKhB,CAAC,EAAE,OAAOY,CAAC,CAAC,CAAC,MAAMD,EAAE,CAAC,IAAIC,EAAEG,EAAE,KAAKd,EAAEK,CAAC,EAAE,KAAK,KAAKK,CAAC,EAAE,OAAO,KAAK,MAAMC,CAAC,CAAC,CAAC,MAAMD,EAAE,CAAC,IAAIC,EAAEG,EAAE,KAAKd,EAAE,CAAC,EAAE,KAAK,KAAKU,CAAC,EAAEE,EAAED,EAAE,OAAO,OAAOI,EAAE,KAAKnB,CAAC,EAAE,IAAIe,EAAE,eAAe,EAAE,QAAO,EAAG,EAAE,EAAE,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,KAAKA,EAAE,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAKC,EAAE,QAAQ,EAAE,OAAO,KAAK,KAAKA,EAAE,CAAC,EAAE,MAAMD,EAAE,aAAa,MAAMA,EAAE,aAAa,MAAMA,EAAE,YAAY,CAAC,CAAC,MAAMD,EAAEC,EAAE,CAACG,EAAE,KAAKd,EAAEE,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,QAAQ,KAAK,CAACQ,EAAEC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,YAAYD,EAAEC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAYD,EAAEC,EAAE,CAAC,IAAIC,EAAEE,EAAE,KAAKd,EAAEI,CAAC,EAAE,KAAK,KAAKM,CAAC,EAAE,EAAEE,EAAE,IAAG,EAAGI,EAAE,CAAA,EAAGC,EAAE,KAAK,MAAM,KAAK,QAAQ,KAAKL,EAAE,CAAC,GAAGI,EAAE,KAAKN,CAAC,EAAE,CAAC,OAAO,UAAU,eAAe,KAAKO,EAAE,SAAS,CAAC,EAAE,GAAGN,GAAA,MAAAA,EAAG,UAAU,KAAK,MAAMK,EAAE,KAAK,GAAG,CAAC,MAAO,OAAM,IAAI,EAAE,SAAS,2BAA2B,EAAE,GAAGC,EAAE,SAAS,CAAC,EAAE,OAAO,YAAY,MAAM,IAAI,EAAE,UAAU,iBAAiB,EAAEA,EAAEA,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,UAAU,eAAe,KAAKA,EAAE,SAAS,CAAC,EAAE,MAAM,IAAI,EAAE,SAAS,aAAa,EAAE,IAAIC,EAAE,CAAC,KAAK,YAAY,aAAa,KAAK,IAAG,EAAG,MAAKP,GAAA,YAAAA,EAAG,OAAMtB,EAAE,IAAI,SAAS,CAAA,CAAE,EAAE4B,EAAE,SAAS,CAAC,EAAEC,CAAC,CAAC,KAAKR,EAAEC,EAAEC,EAAE,CAAC,GAAGE,EAAE,KAAKd,EAAE,CAAC,EAAE,KAAK,KAAKU,CAAC,EAAE,OAAO,OAAO,MAAM,IAAI,EAAE,SAAS,gBAAgB,EAAE,IAAIM,EAAEF,EAAE,KAAKd,EAAEM,CAAC,EAAE,KAAK,IAAI,EAAE,OAAOS,EAAE,KAAKjB,CAAC,EAAE,IAAIkB,EAAEN,CAAC,EAAEK,EAAE,KAAKhB,CAAC,EAAE,IAAIW,EAAEM,CAAC,EAAEA,CAAC,CAAC,QAAQN,EAAE,CAAC,IAAIC,EAAEG,EAAE,KAAKd,EAAE,CAAC,EAAE,KAAK,KAAKU,CAAC,EAAE,GAAGC,EAAE,OAAO,YAAY,MAAM,IAAI,EAAE,UAAU,iBAAiB,EAAE,OAAO,OAAO,KAAKA,EAAE,QAAQ,CAAC,CAAC,KAAKD,EAAEC,EAAEC,EAAE,EAAEI,EAAE,CAAC,IAAIC,EAAEH,EAAE,KAAKd,EAAEK,CAAC,EAAE,KAAK,KAAKK,CAAC,EAAEQ,EAAEJ,EAAE,KAAKd,EAAE,CAAC,EAAE,KAAK,KAAKiB,CAAC,EAAE,GAAGC,EAAE,OAAO,OAAO,MAAM,IAAI,EAAE,SAAS,gBAAgB,EAAE,OAAOH,EAAE,KAAKnB,CAAC,EAAE,IAAIsB,EAAE,eAAe,EAAE,KAAK,IAAI,WAAWP,EAAE,OAAOC,EAAE,CAAC,EAAE,CAAC,GAAGI,CAAC,CAAC,CAAC,CAAC,OAAON,EAAEC,EAAE,CAACG,EAAE,KAAKd,EAAEE,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,SAAS,KAAK,CAACQ,EAAEC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,aAAaD,EAAEC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,aAAaD,EAAEC,EAAEC,EAAE,GAAG,CAAC,IAAI,EAAEE,EAAE,KAAKd,EAAEI,CAAC,EAAE,KAAK,KAAKM,CAAC,EAAEM,EAAE,EAAE,IAAG,EAAGC,EAAEH,EAAE,KAAKd,EAAE,CAAC,EAAE,KAAK,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,OAAO,UAAU,eAAe,KAAKiB,EAAE,SAASD,CAAC,EAAE,MAAM,IAAI,EAAE,SAAS,2BAA2B,EAAE,IAAIE,EAAEJ,EAAE,KAAKd,EAAEI,CAAC,EAAE,KAAK,KAAKO,CAAC,EAAE,EAAEO,EAAE,MAAMC,EAAEL,EAAE,KAAKd,EAAE,CAAC,EAAE,KAAK,KAAKkB,EAAE,KAAK,GAAG,CAAC,EAAE,GAAGN,GAAG,OAAO,UAAU,eAAe,KAAKO,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAEA,EAAE,SAAS,CAAC,EAAEJ,EAAE,KAAKnB,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,CAAC,EAAE,KAAK,MAAM,KAAK,KAAK,EAAE,eAAe,CAAC,CAACuB,EAAE,SAAS,CAAC,EAAEF,EAAE,SAASD,CAAC,EAAE,OAAOC,EAAE,SAASD,CAAC,CAAC,CAAC,MAAMN,EAAE,CAACI,EAAE,KAAKd,EAAEE,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,QAAQ,KAAK,CAACQ,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,YAAYA,CAAC,CAAC,CAAC,CAAC,CAAC,YAAYA,EAAE,CAAC,IAAIC,EAAEG,EAAE,KAAKd,EAAEI,CAAC,EAAE,KAAK,KAAKM,CAAC,EAAEE,EAAED,EAAE,IAAG,EAAG,EAAEG,EAAE,KAAKd,EAAE,CAAC,EAAE,KAAK,KAAKW,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,OAAO,UAAU,eAAe,KAAK,EAAE,SAASC,CAAC,EAAE,MAAM,IAAI,EAAE,SAAS,2BAA2B,EAAE,IAAII,EAAE,EAAE,SAASJ,CAAC,EAAE,GAAGI,EAAE,OAAO,YAAY,MAAM,IAAI,EAAE,UAAU,iBAAiB,EAAE,GAAG,OAAO,KAAKA,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,IAAI,EAAE,YAAY,qBAAqB,EAAE,OAAO,EAAE,SAASJ,CAAC,CAAC,CAAC,SAASF,EAAEC,EAAE,EAAE,CAAC,IAAIC,EAAEE,EAAE,KAAKd,EAAE,CAAC,EAAE,KAAK,KAAKU,CAAC,EAAE,GAAGE,EAAE,OAAO,OAAO,MAAM,IAAI,EAAE,SAAS,gBAAgB,EAAE,IAAI,EAAEG,EAAE,KAAKnB,CAAC,EAAE,IAAIgB,EAAE,eAAe,EAAE,GAAG,CAAC,EAAE,MAAM,IAAI,EAAE,SAAS,2BAA2B,EAAE,EAAE,SAASD,CAAC,EAAEI,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,OAAOL,EAAE,CAACI,EAAE,KAAKd,EAAEE,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,SAAS,KAAK,CAACQ,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,aAAaA,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,aAAaA,EAAEC,EAAE,GAAG,CAAC,IAAIC,EAAEE,EAAE,KAAKd,EAAEI,CAAC,EAAE,KAAK,KAAKM,CAAC,EAAE,EAAEE,EAAE,IAAG,EAAGI,EAAEF,EAAE,KAAKd,EAAE,CAAC,EAAE,KAAK,KAAKY,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,OAAO,UAAU,eAAe,KAAKI,EAAE,SAAS,CAAC,EAAE,MAAM,IAAI,EAAE,SAAS,2BAA2B,EAAE,IAAIC,EAAED,EAAE,SAAS,CAAC,EAAE,GAAGC,EAAE,OAAO,OAAO,MAAM,IAAI,EAAE,SAAS,gBAAgB,EAAE,GAAG,OAAOD,EAAE,SAAS,CAAC,EAAEL,EAAE,CAAC,IAAIO,EAAEH,EAAE,KAAKnB,CAAC,EAAE,IAAIqB,EAAE,eAAe,EAAEC,GAAAA,MAAAA,EAAG,SAAS,GAAGH,EAAE,KAAK,CAAC,EAAE,IAAIG,CAAC,EAAEH,EAAE,KAAKhB,CAAC,EAAE,IAAIW,CAAC,IAAIK,EAAE,KAAKjB,CAAC,EAAE,OAAOiB,EAAE,KAAKhB,CAAC,EAAE,IAAIW,CAAC,CAAC,EAAEK,EAAE,KAAKhB,CAAC,EAAE,OAAOW,CAAC,EAAE,CAAC,KAAK,MAAM,KAAK,KAAKO,EAAE,eAAe,CAAC,CAAC,OAAOP,EAAEC,EAAEC,EAAE,CAACE,EAAE,KAAKd,EAAEE,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,SAAS,KAAK,CAACQ,EAAEC,EAAEC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,aAAaF,EAAEC,EAAEC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAaF,EAAEC,EAAEC,EAAE,CAAC,IAAI,EAAEE,EAAE,KAAKd,EAAE,CAAC,EAAE,KAAK,KAAKU,CAAC,EAAE,EAAE,aAAaE,CAAC,CAAC,UAAUF,EAAEC,EAAEC,EAAE,CAAC,IAAI,EAAEE,EAAE,KAAKd,EAAEI,CAAC,EAAE,KAAK,KAAKM,CAAC,EAAEM,EAAE,EAAE,IAAG,EAAGC,EAAEH,EAAE,KAAKd,EAAE,CAAC,EAAE,KAAK,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,OAAO,UAAU,eAAe,KAAKiB,EAAE,SAASD,CAAC,EAAE,CAAC,IAAIG,EAAEF,EAAE,SAASD,CAAC,EAAEG,EAAE,aAAa,KAAK,IAAG,EAAGL,EAAE,KAAKd,EAAEG,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,kBAAkB,KAAK,CAACO,EAAES,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,MAAM,KAAK,SAAS,EAAE,MAAM,IAAI,MAAM,4CAA4C,EAAE,IAAIA,EAAE,CAAC,KAAK,OAAO,aAAa,KAAK,IAAG,EAAG,MAAKP,GAAA,YAAAA,EAAG,OAAMvB,EAAE,KAAK,gBAAgB,KAAK,MAAM,KAAK,KAAK,EAAE4B,EAAE,SAASD,CAAC,EAAEG,EAAEL,EAAE,KAAKd,EAAEG,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,iBAAiB,KAAK,CAACO,EAAES,CAAC,CAAC,CAAC,CAAC,CAAC,IAAID,EAAED,EAAE,SAASD,CAAC,EAAE,EAAED,EAAE,KAAKnB,CAAC,EAAE,IAAIsB,EAAE,eAAe,EAAEP,EAAE,OAAO,IAAI,EAAE,MAAM,OAAOA,GAAG,SAAS,IAAI,YAAW,EAAG,OAAOA,CAAC,EAAE,IAAI,WAAWA,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAED,EAAE,WAAW,SAAS,GAAGK,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,qBAAqBL,EAAEC,EAAE,CAAC,IAAIC,EAAEE,EAAE,KAAKd,EAAEI,CAAC,EAAE,KAAK,KAAKM,CAAC,EAAE,EAAEE,EAAE,IAAG,EAAGI,EAAEF,EAAE,KAAKd,EAAE,CAAC,EAAE,KAAK,KAAKY,EAAE,KAAK,GAAG,CAAC,EAAEI,EAAE,SAAS,CAAC,EAAEL,EAAE,IAAIM,EAAE,KAAK,MAAM,KAAK,QAAQN,EAAE,eAAe,EAAE,OAAOM,EAAE,IAAI,KAAK,MAAM,KAAK,OAAOA,EAAE,CAAC,EAAEN,CAAC,CAAC,sBAAsBD,EAAEC,EAAE,CAAC,IAAIC,EAAEE,EAAE,KAAKd,EAAE,CAAC,EAAE,KAAK,KAAKU,CAAC,EAAEE,EAAE,aAAaD,CAAC,CAAC,MAAMD,EAAEC,EAAEC,EAAE,EAAEI,EAAE,CAAC,IAAIC,EAAEH,EAAE,KAAKd,EAAEK,CAAC,EAAE,KAAK,KAAKK,CAAC,EAAEQ,EAAEJ,EAAE,KAAKd,EAAE,CAAC,EAAE,KAAK,KAAKiB,CAAC,EAAE,GAAGC,EAAE,OAAO,OAAO,MAAM,IAAI,EAAE,SAAS,gBAAgB,EAAE,IAAI,EAAEH,EAAE,KAAKnB,CAAC,EAAE,IAAIsB,EAAE,eAAe,EAAE,GAAG,CAAC,EAAE,MAAM,IAAI,EAAE,QAAQ,qBAAqB,EAAE,IAAIC,EAAE,EAAE,MAAM,IAAI,WAAWR,EAAEC,EAAE,CAAC,EAAE,CAAC,GAAGI,CAAC,CAAC,EAAE,OAAOC,EAAE,WAAW,SAAS,GAAGF,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,EAAEI,CAAC,CAAC,EAAE7B,EAAE,IAAI,QAAQC,EAAE,IAAI,QAAQC,EAAE,IAAI,QAAQC,EAAE,IAAI,QAAQC,EAAE,IAAI,QAAQC,EAAE,IAAI,QAAQC,EAAE,IAAI,QAAQC,EAAE,IAAI,QAAQC,EAAE,IAAI,QAAQC,EAAE,IAAI,QAAQ,EAAE,IAAI,QAAQC,EAAE,IAAI,QAAQC,EAAE,gBAAgB,CAACmB,EAAE,KAAK9B,EAAE,MAAM,UAAU,QAAQ,aAAY,CAAE,EAAE8B,EAAE,KAAK7B,EAAE,MAAMuB,EAAE,KAAKd,EAAEO,CAAC,EAAE,KAAK,KAAK,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,EAAEa,EAAE,KAAK5B,EAAE,MAAMsB,EAAE,KAAKd,EAAEO,CAAC,EAAE,KAAK,KAAKnB,EAAE,CAAC,KAAK2B,EAAE,KAAKxB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE6B,EAAE,KAAK3B,EAAE,MAAMsB,EAAE,KAAKxB,CAAC,EAAE,cAAcJ,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAEiC,EAAE,KAAK1B,EAAE,MAAMqB,EAAE,KAAKtB,CAAC,EAAE,uBAAsB,CAAE,EAAE,IAAIiB,EAAE,IAAI,YAAYK,EAAE,KAAKrB,CAAC,EAAE,QAAO,CAAE,EAAEqB,EAAE,KAAKrB,CAAC,EAAE,KAAKgB,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,IAAIC,EAAEC,EAAE,IAAI,YAAW,EAAG,OAAOF,CAAC,EAAE,MAAM;AAAA,CAC3oP,EAAE,EAAE,GAAG,GAAG,CAACC,EAAE,KAAK,MAAMC,EAAE,CAAC,CAAC,CAAC,MAAM,CAACD,EAAE,CAAC,KAAK,CAAC,KAAK,YAAY,aAAa,KAAK,IAAG,EAAG,KAAKtB,EAAE,IAAI,SAAS,CAAA,CAAE,EAAE,KAAK,CAAA,CAAE,EAAE0B,EAAE,KAAKrB,CAAC,EAAE,SAAS,CAAC,EAAEqB,EAAE,KAAKrB,CAAC,EAAE,MAAM,IAAI,YAAW,EAAG,OAAO,KAAK,UAAUiB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,MAAMA,EAAE,IAAIK,EAAEJ,EAAE,MAAM,CAAC,EAAE,OAAO,OAAO,EAAE,IAAIO,GAAG,KAAK,MAAMA,CAAC,CAAC,EAAE,QAAQA,KAAKH,EAAE,CAAC,IAAI,EAAE,IAAIG,EAAE,GAAG,QAAQ,GAAG,OAAO,KAAK,CAAC,GAAG,WAAW,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,EAAE,GAAGA,EAAE,IAAI,CAAC,OAAOE,EAAE,CAAC,QAAQ,KAAK,oCAAoCF,EAAEE,CAAC,CAAC,CAAC,CAAC,IAAIJ,EAAE,CAAA,EAAGC,EAAE,MAAMC,GAAG,CAAC,GAAGA,EAAE,OAAO,OAAO,GAAG,CAAC,IAAI,EAAE,MAAMJ,EAAE,KAAKvB,CAAC,EAAE,cAAc2B,EAAE,eAAe,EAAEE,EAAE,MAAM,EAAE,uBAAsB,EAAGN,EAAE,KAAKpB,CAAC,EAAE,IAAIwB,EAAE,gBAAgB,CAAC,EAAEJ,EAAE,KAAKnB,CAAC,EAAE,IAAIuB,EAAE,gBAAgBE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,MAAM,qCAAqCF,EAAE,CAAC,CAAC,KAAM,SAAQ,KAAK,OAAO,OAAOA,EAAE,QAAQ,EAAEF,EAAE,KAAKC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAMA,EAAE,KAAK,MAAM,IAAI,EAAE,IAAI,EAAE,CAAA,EAAG,QAAQC,KAAK,KAAK,MAAM,KAAK,EAAE,KAAK,IAAI,QAAQ,MAAM,GAAG,CAACJ,EAAE,KAAKpB,CAAC,EAAE,IAAIwB,CAAC,GAAG,QAAQ,KAAK,2CAA2CA,CAAC,EAAE,IAAIE,EAAE,MAAMN,EAAE,KAAKvB,CAAC,EAAE,cAAc2B,CAAC,EAAEG,EAAE,MAAMD,EAAE,uBAAsB,EAAGN,EAAE,KAAKpB,CAAC,EAAE,IAAIwB,EAAEE,CAAC,EAAEN,EAAE,KAAKnB,CAAC,EAAE,IAAIuB,EAAEG,CAAC,EAAE,EAAC,CAAE,CAAC,CAAC,EAAE,MAAM,QAAQ,IAAI,CAAC,GAAGL,EAAE,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,aAAa,EAAE,KAAK,gBAAgB,KAAK,kBAAkB,CAAC,EAAEf,EAAE,SAASQ,EAAEC,EAAE,CAAC,IAAIC,EAAEE,EAAE,KAAKd,EAAEG,CAAC,EAAE,KAAK,KAAKO,CAAC,EAAE,GAAG,CAACC,EAAC,CAAE,OAAO,EAAE,CAAC,MAAMI,EAAE,KAAKrB,CAAC,EAAE,SAASkB,CAAC,EAAE,CAAC,CAAC,EAAET,EAAE,SAASO,EAAE,CAAC,IAAIC,EAAE,KAAK,UAAUD,CAAC,EAAEE,EAAE,IAAI,YAAW,EAAG,OAAO;AAAA,EAChzCD,CAAC,EAAE,EAAE,EAAEI,EAAE,KAAKrB,CAAC,EAAE,UAAU,OAAOqB,EAAE,KAAKrB,CAAC,EAAE,MAAMkB,EAAE,CAAC,GAAG,CAAC,CAAC,EAAEG,EAAE,KAAK,CAAC,EAAE,IAAIA,EAAE,KAAKrB,CAAC,CAAC,EAAE,CAAC,EAAEU,EAAE,SAASM,EAAE,CAAC,OAAOA,EAAE,MAAM,GAAG,EAAE,OAAO,OAAO,CAAC,EAAE,EAAE,SAASA,EAAEC,EAAE,CAAC,IAAIC,EAAEE,EAAE,KAAKd,EAAEI,CAAC,EAAE,KAAK,KAAKM,CAAC,EAAE,EAAEC,GAAG,KAAK,MAAM,KAAK,QAAQK,KAAKJ,EAAE,CAAC,GAAG,EAAE,OAAO,YAAY,MAAM,IAAI,EAAE,UAAU,iBAAiB,EAAE,GAAG,CAAC,OAAO,UAAU,eAAe,KAAK,EAAE,SAASI,CAAC,EAAE,MAAM,IAAI,EAAE,SAAS,2BAA2B,EAAE,EAAE,EAAE,SAASA,CAAC,CAAC,CAAC,OAAO,CAAC,EAAEX,EAAE,SAASK,EAAE,CAAC,IAAIC,EAAEI,EAAE,KAAKjB,CAAC,EAAE,IAAIY,CAAC,EAAE,GAAG,CAACC,EAAE,MAAM,IAAI,EAAE,QAAQ,qBAAqB,EAAE,OAAOA,CAAC,EAAEL,EAAE,UAAU,CAAC,IAAII,EAAE,EAAEa,EAAE,KAAK1B,CAAC,EAAE,EAAE,KAAKkB,EAAE,KAAKjB,CAAC,EAAE,IAAIY,CAAC,GAAGa,EAAE,KAAK1B,CAAC,EAAE,IAAI,OAAOa,CAAC,EAAEH,EAAE,eAAeG,EAAEC,EAAE,CAAC,IAAIC,EAAEE,EAAE,KAAKd,EAAEI,CAAC,EAAE,KAAK,KAAKM,CAAC,EAAE,GAAEC,GAAA,YAAAA,EAAG,OAAMI,EAAE,KAAKzB,CAAC,EAAE,QAAQ0B,KAAKJ,EAAE,EAAE,MAAM,EAAE,mBAAmBI,EAAE,CAAC,OAAOL,GAAA,YAAAA,EAAG,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,cAAc,KAAK,CAAC,YAAYa,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,OAAOA,GAAG,SAAS,KAAK,KAAKA,EAAE,OAAOA,GAAG,WAAW,KAAK,KAAKC,EAAED,CAAC,EAAE,CAAC","x_google_ignoreList":[0]}
@@ -1,4 +0,0 @@
1
- import{p as H,R as m,T as o,h as s,q as A,u as C,x as P,r as R}from"./useInitSentry.DBsKo0vo.js";import"react/jsx-runtime";import"./index.DAzo9kzY.js";import"react";import"react-dom";import"./index.COdN5sTb.js";import"react-dom/client";import"./browser.BkwNmV2Z.js";import"./app-skeleton.js";import"./useAcceptedCookies.BUsKgauT.js";import"./registerServiceWorker.BeE0-hEw.js";C();var B="state.txt",L="data",W={DIR:16384,FILE:32768},T,I,N,_,w,k,y,j,F,O,S,l,$,E,M,g,f,D,v,x,et=class extends H{constructor(t,{initialPoolSize:e=1e3,maintainedPoolSize:a=100,debug:i=!1}={}){super(t,{debug:i}),m(this,l),m(this,T),m(this,I),m(this,N),m(this,_),m(this,w),m(this,k,new Map),m(this,y,new Map),m(this,j,0),m(this,F,new Map),m(this,O,new Map),this.lastCheckpoint=0,this.checkpointInterval=1e3*60,this.poolCounter=0,m(this,S,new Set),this.initialPoolSize=e,this.maintainedPoolSize=a}async init(t,e){return await o(this,l,$).call(this),super.init(t,e)}async syncToFs(t=!1){await this.maybeCheckpointState(),await this.maintainPool(),t||this.flush()}async closeFs(){for(let t of s(this,y).values())t.close();s(this,w).flush(),s(this,w).close(),this.pg.Module.FS.quit()}async maintainPool(t){t=t||this.maintainedPoolSize;let e=t-this.state.pool.length,a=[];for(let i=0;i<e;i++)a.push(new Promise(async h=>{++this.poolCounter;let r=`${(Date.now()-1704063600).toString(16).padStart(8,"0")}-${this.poolCounter.toString(16).padStart(8,"0")}`,c=await s(this,N).getFileHandle(r,{create:!0}),d=await c.createSyncAccessHandle();s(this,k).set(r,c),s(this,y).set(r,d),o(this,l,M).call(this,{opp:"createPoolFile",args:[r]}),this.state.pool.push(r),h()}));for(let i=0;i>e;i--)a.push(new Promise(async h=>{var d;let r=this.state.pool.pop();o(this,l,M).call(this,{opp:"deletePoolFile",args:[r]});let c=s(this,k).get(r);(d=s(this,y).get(r))==null||d.close(),await s(this,N).removeEntry(c.name),s(this,k).delete(r),s(this,y).delete(r),h()}));await Promise.all(a)}_createPoolFileState(t){this.state.pool.push(t)}_deletePoolFileState(t){let e=this.state.pool.indexOf(t);e>-1&&this.state.pool.splice(e,1)}async maybeCheckpointState(){Date.now()-this.lastCheckpoint>this.checkpointInterval&&await this.checkpointState()}async checkpointState(){let t=new TextEncoder().encode(JSON.stringify(this.state));s(this,w).truncate(0),s(this,w).write(t,{at:0}),s(this,w).flush(),this.lastCheckpoint=Date.now()}flush(){for(let t of s(this,S))try{t.flush()}catch{}s(this,S).clear()}chmod(t,e){o(this,l,E).call(this,{opp:"chmod",args:[t,e]},()=>{this._chmodState(t,e)})}_chmodState(t,e){let a=o(this,l,f).call(this,t);a.mode=e}close(t){let e=o(this,l,D).call(this,t);s(this,F).delete(t),s(this,O).delete(e)}fstat(t){let e=o(this,l,D).call(this,t);return this.lstat(e)}lstat(t){let e=o(this,l,f).call(this,t),a=e.type==="file"?s(this,y).get(e.backingFilename).getSize():0,i=4096;return{dev:0,ino:0,mode:e.mode,nlink:1,uid:0,gid:0,rdev:0,size:a,blksize:i,blocks:Math.ceil(a/i),atime:e.lastModified,mtime:e.lastModified,ctime:e.lastModified}}mkdir(t,e){o(this,l,E).call(this,{opp:"mkdir",args:[t,e]},()=>{this._mkdirState(t,e)})}_mkdirState(t,e){let a=o(this,l,g).call(this,t),i=a.pop(),h=[],r=this.state.root;for(let d of a){if(h.push(t),!Object.prototype.hasOwnProperty.call(r.children,d))if(e!=null&&e.recursive)this.mkdir(h.join("/"));else throw new p("ENOENT","No such file or directory");if(r.children[d].type!=="directory")throw new p("ENOTDIR","Not a directory");r=r.children[d]}if(Object.prototype.hasOwnProperty.call(r.children,i))throw new p("EEXIST","File exists");let c={type:"directory",lastModified:Date.now(),mode:(e==null?void 0:e.mode)||W.DIR,children:{}};r.children[i]=c}open(t,e,a){if(o(this,l,f).call(this,t).type!=="file")throw new p("EISDIR","Is a directory");let i=o(this,l,v).call(this);return s(this,F).set(i,t),s(this,O).set(t,i),i}readdir(t){let e=o(this,l,f).call(this,t);if(e.type!=="directory")throw new p("ENOTDIR","Not a directory");return Object.keys(e.children)}read(t,e,a,i,h){let r=o(this,l,D).call(this,t),c=o(this,l,f).call(this,r);if(c.type!=="file")throw new p("EISDIR","Is a directory");return s(this,y).get(c.backingFilename).read(new Uint8Array(e.buffer,a,i),{at:h})}rename(t,e){o(this,l,E).call(this,{opp:"rename",args:[t,e]},()=>{this._renameState(t,e,!0)})}_renameState(t,e,a=!1){let i=o(this,l,g).call(this,t),h=i.pop(),r=o(this,l,f).call(this,i.join("/"));if(!Object.prototype.hasOwnProperty.call(r.children,h))throw new p("ENOENT","No such file or directory");let c=o(this,l,g).call(this,e),d=c.pop(),n=o(this,l,f).call(this,c.join("/"));if(a&&Object.prototype.hasOwnProperty.call(n.children,d)){let u=n.children[d];s(this,y).get(u.backingFilename).truncate(0),this.state.pool.push(u.backingFilename)}n.children[d]=r.children[h],delete r.children[h]}rmdir(t){o(this,l,E).call(this,{opp:"rmdir",args:[t]},()=>{this._rmdirState(t)})}_rmdirState(t){let e=o(this,l,g).call(this,t),a=e.pop(),i=o(this,l,f).call(this,e.join("/"));if(!Object.prototype.hasOwnProperty.call(i.children,a))throw new p("ENOENT","No such file or directory");let h=i.children[a];if(h.type!=="directory")throw new p("ENOTDIR","Not a directory");if(Object.keys(h.children).length>0)throw new p("ENOTEMPTY","Directory not empty");delete i.children[a]}truncate(t,e=0){let a=o(this,l,f).call(this,t);if(a.type!=="file")throw new p("EISDIR","Is a directory");let i=s(this,y).get(a.backingFilename);if(!i)throw new p("ENOENT","No such file or directory");i.truncate(e),s(this,S).add(i)}unlink(t){o(this,l,E).call(this,{opp:"unlink",args:[t]},()=>{this._unlinkState(t,!0)})}_unlinkState(t,e=!1){let a=o(this,l,g).call(this,t),i=a.pop(),h=o(this,l,f).call(this,a.join("/"));if(!Object.prototype.hasOwnProperty.call(h.children,i))throw new p("ENOENT","No such file or directory");let r=h.children[i];if(r.type!=="file")throw new p("EISDIR","Is a directory");if(delete h.children[i],e){let c=s(this,y).get(r.backingFilename);c==null||c.truncate(0),s(this,S).add(c),s(this,O).has(t)&&(s(this,F).delete(s(this,O).get(t)),s(this,O).delete(t))}this.state.pool.push(r.backingFilename)}utimes(t,e,a){o(this,l,E).call(this,{opp:"utimes",args:[t,e,a]},()=>{this._utimesState(t,e,a)})}_utimesState(t,e,a){let i=o(this,l,f).call(this,t);i.lastModified=a}writeFile(t,e,a){let i=o(this,l,g).call(this,t),h=i.pop(),r=o(this,l,f).call(this,i.join("/"));if(Object.prototype.hasOwnProperty.call(r.children,h)){let n=r.children[h];n.lastModified=Date.now(),o(this,l,M).call(this,{opp:"setLastModified",args:[t,n.lastModified]})}else{if(this.state.pool.length===0)throw new Error("No more file handles available in the pool");let n={type:"file",lastModified:Date.now(),mode:(a==null?void 0:a.mode)||W.FILE,backingFilename:this.state.pool.pop()};r.children[h]=n,o(this,l,M).call(this,{opp:"createFileNode",args:[t,n]})}let c=r.children[h],d=s(this,y).get(c.backingFilename);e.length>0&&(d.write(typeof e=="string"?new TextEncoder().encode(e):new Uint8Array(e),{at:0}),t.startsWith("/pg_wal")&&s(this,S).add(d))}_createFileNodeState(t,e){let a=o(this,l,g).call(this,t),i=a.pop(),h=o(this,l,f).call(this,a.join("/"));h.children[i]=e;let r=this.state.pool.indexOf(e.backingFilename);return r>-1&&this.state.pool.splice(r,1),e}_setLastModifiedState(t,e){let a=o(this,l,f).call(this,t);a.lastModified=e}write(t,e,a,i,h){let r=o(this,l,D).call(this,t),c=o(this,l,f).call(this,r);if(c.type!=="file")throw new p("EISDIR","Is a directory");let d=s(this,y).get(c.backingFilename);if(!d)throw new p("EBADF","Bad file descriptor");let n=d.write(new Uint8Array(e,a,i),{at:h});return r.startsWith("/pg_wal")&&s(this,S).add(d),n}};T=new WeakMap,I=new WeakMap,N=new WeakMap,_=new WeakMap,w=new WeakMap,k=new WeakMap,y=new WeakMap,j=new WeakMap,F=new WeakMap,O=new WeakMap,S=new WeakMap,l=new WeakSet,$=async function(){P(this,T,await navigator.storage.getDirectory()),P(this,I,await o(this,l,x).call(this,this.dataDir,{create:!0})),P(this,N,await o(this,l,x).call(this,L,{from:s(this,I),create:!0})),P(this,_,await s(this,I).getFileHandle(B,{create:!0})),P(this,w,await s(this,_).createSyncAccessHandle());let t=new ArrayBuffer(s(this,w).getSize());s(this,w).read(t,{at:0});let e,a=new TextDecoder().decode(t).split(`
2
- `),i=!1;try{e=JSON.parse(a[0])}catch{e={root:{type:"directory",lastModified:Date.now(),mode:W.DIR,children:{}},pool:[]},s(this,w).truncate(0),s(this,w).write(new TextEncoder().encode(JSON.stringify(e)),{at:0}),i=!0}this.state=e;let h=a.slice(1).filter(Boolean).map(n=>JSON.parse(n));for(let n of h){let u=`_${n.opp}State`;if(typeof this[u]=="function")try{this[u].bind(this)(...n.args)}catch(b){console.warn("Error applying OPFS AHP WAL entry",n,b)}}let r=[],c=async n=>{if(n.type==="file")try{let u=await s(this,N).getFileHandle(n.backingFilename),b=await u.createSyncAccessHandle();s(this,k).set(n.backingFilename,u),s(this,y).set(n.backingFilename,b)}catch(u){console.error("Error opening file handle for node",n,u)}else for(let u of Object.values(n.children))r.push(c(u))};await c(this.state.root);let d=[];for(let n of this.state.pool)d.push(new Promise(async u=>{s(this,k).has(n)&&console.warn("File handle already exists for pool file",n);let b=await s(this,N).getFileHandle(n),z=await b.createSyncAccessHandle();s(this,k).set(n,b),s(this,y).set(n,z),u()}));await Promise.all([...r,...d]),await this.maintainPool(i?this.initialPoolSize:this.maintainedPoolSize)},E=function(t,e){let a=o(this,l,M).call(this,t);try{e()}catch(i){throw s(this,w).truncate(a),i}},M=function(t){let e=JSON.stringify(t),a=new TextEncoder().encode(`
3
- ${e}`),i=s(this,w).getSize();return s(this,w).write(a,{at:i}),s(this,S).add(s(this,w)),i},g=function(t){return t.split("/").filter(Boolean)},f=function(t,e){let a=o(this,l,g).call(this,t),i=e||this.state.root;for(let h of a){if(i.type!=="directory")throw new p("ENOTDIR","Not a directory");if(!Object.prototype.hasOwnProperty.call(i.children,h))throw new p("ENOENT","No such file or directory");i=i.children[h]}return i},D=function(t){let e=s(this,F).get(t);if(!e)throw new p("EBADF","Bad file descriptor");return e},v=function(){let t=++R(this,j)._;for(;s(this,F).has(t);)R(this,j)._++;return t},x=async function(t,e){let a=o(this,l,g).call(this,t),i=(e==null?void 0:e.from)||s(this,T);for(let h of a)i=await i.getDirectoryHandle(h,{create:e==null?void 0:e.create});return i};var p=class extends Error{constructor(t,e){super(e),typeof t=="number"?this.code=t:typeof t=="string"&&(this.code=A[t])}};export{et as OpfsAhpFS};
4
- //# sourceMappingURL=opfs-ahp.Ct4DcoTP.js.map