@powerhousedao/connect 4.0.0-staging.4 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/dist/assets/{AddDriveModal.CkAoSG6A.js → AddDriveModal.DTQmLkRW.js} +2 -2
  2. package/dist/assets/{AddDriveModal.CkAoSG6A.js.map → AddDriveModal.DTQmLkRW.js.map} +1 -1
  3. package/dist/assets/{AddLocalDriveModal.D96D5Bah.js → AddLocalDriveModal.DJ7OB4Yo.js} +2 -2
  4. package/dist/assets/{AddLocalDriveModal.D96D5Bah.js.map → AddLocalDriveModal.DJ7OB4Yo.js.map} +1 -1
  5. package/dist/assets/{AddRemoteDriveModal.BPvQppgL.js → AddRemoteDriveModal.IOAtDyOA.js} +2 -2
  6. package/dist/assets/{AddRemoteDriveModal.BPvQppgL.js.map → AddRemoteDriveModal.IOAtDyOA.js.map} +1 -1
  7. package/dist/assets/{ConfirmationModal.C6BEQwoI.js → ConfirmationModal.BLX_Fgxf.js} +2 -2
  8. package/dist/assets/{ConfirmationModal.C6BEQwoI.js.map → ConfirmationModal.BLX_Fgxf.js.map} +1 -1
  9. package/dist/assets/{CookiesPolicyModal.BEhaheOU.js → CookiesPolicyModal.CkS39vny.js} +2 -2
  10. package/dist/assets/{CookiesPolicyModal.BEhaheOU.js.map → CookiesPolicyModal.CkS39vny.js.map} +1 -1
  11. package/dist/assets/{CreateDocumentModal.Czgcpl-j.js → CreateDocumentModal.CL5_6y3O.js} +2 -2
  12. package/dist/assets/{CreateDocumentModal.Czgcpl-j.js.map → CreateDocumentModal.CL5_6y3O.js.map} +1 -1
  13. package/dist/assets/{DebugSettingsModal.B1hSJnrj.js → DebugSettingsModal.CvUCX6AI.js} +2 -2
  14. package/dist/assets/{DebugSettingsModal.B1hSJnrj.js.map → DebugSettingsModal.CvUCX6AI.js.map} +1 -1
  15. package/dist/assets/{DeleteDriveModal.B3SG8tZB.js → DeleteDriveModal.C8k99Qt3.js} +2 -2
  16. package/dist/assets/{DeleteDriveModal.B3SG8tZB.js.map → DeleteDriveModal.C8k99Qt3.js.map} +1 -1
  17. package/dist/assets/{DeleteItemModal.pMEEVzdV.js → DeleteItemModal.DYsVSZ5o.js} +2 -2
  18. package/dist/assets/{DeleteItemModal.pMEEVzdV.js.map → DeleteItemModal.DYsVSZ5o.js.map} +1 -1
  19. package/dist/assets/{DisclaimerModal.C2qfI8uK.js → DisclaimerModal.C40A4BZS.js} +2 -2
  20. package/dist/assets/{DisclaimerModal.C2qfI8uK.js.map → DisclaimerModal.C40A4BZS.js.map} +1 -1
  21. package/dist/assets/{DriveSettingsModal.C1ZtlJBT.js → DriveSettingsModal.YG4M4mId.js} +2 -2
  22. package/dist/assets/{DriveSettingsModal.C1ZtlJBT.js.map → DriveSettingsModal.YG4M4mId.js.map} +1 -1
  23. package/dist/assets/{SettingsModal.weUaW9r2.js → SettingsModal.A29jTwO1.js} +2 -2
  24. package/dist/assets/{SettingsModal.weUaW9r2.js.map → SettingsModal.A29jTwO1.js.map} +1 -1
  25. package/dist/assets/{Trans.BGcRaz_1.js → Trans.-pu2RC5T.js} +2 -2
  26. package/dist/assets/{Trans.BGcRaz_1.js.map → Trans.-pu2RC5T.js.map} +1 -1
  27. package/dist/assets/{UpgradeDriveModal.BdzKq7CR.js → UpgradeDriveModal.BVZNcfsQ.js} +2 -2
  28. package/dist/assets/{UpgradeDriveModal.BdzKq7CR.js.map → UpgradeDriveModal.BVZNcfsQ.js.map} +1 -1
  29. package/dist/assets/app-skeleton.js +1 -1
  30. package/dist/assets/{app.IGCDAOZy.js → app.BphhVPY9.js} +4 -4
  31. package/dist/assets/{app.IGCDAOZy.js.map → app.BphhVPY9.js.map} +1 -1
  32. package/dist/assets/{atlas-import.sl0ixljF.js → atlas-import.BVl4fbI6.js} +2 -2
  33. package/dist/assets/{atlas-import.sl0ixljF.js.map → atlas-import.BVl4fbI6.js.map} +1 -1
  34. package/dist/assets/connect.config.BAfiKr20.js +2 -0
  35. package/dist/assets/{connect.config.DXj_NcAD.js.map → connect.config.BAfiKr20.js.map} +1 -1
  36. package/dist/assets/{content.D0qyPh5w.js → content.CEwaGXuh.js} +3 -3
  37. package/dist/assets/{content.D0qyPh5w.js.map → content.CEwaGXuh.js.map} +1 -1
  38. package/dist/assets/{cookie-banner.CwExKJub.js → cookie-banner.p38g8xUo.js} +2 -2
  39. package/dist/assets/{cookie-banner.CwExKJub.js.map → cookie-banner.p38g8xUo.js.map} +1 -1
  40. package/dist/assets/{home.BdPuMONz.js → home.C4S42bTu.js} +2 -2
  41. package/dist/assets/{home.BdPuMONz.js.map → home.C4S42bTu.js.map} +1 -1
  42. package/dist/assets/{index.CjY5uEZi.js → index.-24VHt4X.js} +2 -2
  43. package/dist/assets/{index.CjY5uEZi.js.map → index.-24VHt4X.js.map} +1 -1
  44. package/dist/assets/{index.BMFeeSMw.js → index.0AiLbVU1.js} +2 -2
  45. package/dist/assets/{index.BMFeeSMw.js.map → index.0AiLbVU1.js.map} +1 -1
  46. package/dist/assets/{index.CcKlpSip.js → index.BeT7gpI8.js} +2 -2
  47. package/dist/assets/{index.CcKlpSip.js.map → index.BeT7gpI8.js.map} +1 -1
  48. package/dist/assets/{index.CEWm2x_k.js → index.CEKa8Fji.js} +2 -2
  49. package/dist/assets/{index.CEWm2x_k.js.map → index.CEKa8Fji.js.map} +1 -1
  50. package/dist/assets/{index.BugWqDXU.js → index.CJ6lG_Wb.js} +2 -2
  51. package/dist/assets/{index.BugWqDXU.js.map → index.CJ6lG_Wb.js.map} +1 -1
  52. package/dist/assets/{index.Bgc-eQUW.js → index.CZ7j2DZj.js} +3 -3
  53. package/dist/assets/{index.Bgc-eQUW.js.map → index.CZ7j2DZj.js.map} +1 -1
  54. package/dist/assets/{index.CjJMrKrN.js → index.Cll-QH04.js} +2 -2
  55. package/dist/assets/{index.CjJMrKrN.js.map → index.Cll-QH04.js.map} +1 -1
  56. package/dist/assets/{index.BapSoqiD.js → index.DFyMrewv.js} +4 -4
  57. package/dist/assets/{index.BapSoqiD.js.map → index.DFyMrewv.js.map} +1 -1
  58. package/dist/assets/{main.BSZldL3R.js → main.-mZWVdr-.js} +3 -3
  59. package/dist/assets/{main.BSZldL3R.js.map → main.-mZWVdr-.js.map} +1 -1
  60. package/dist/assets/{modal.CFXMMGqy.js → modal.D7XhYnZR.js} +3 -3
  61. package/dist/assets/{modal.CFXMMGqy.js.map → modal.D7XhYnZR.js.map} +1 -1
  62. package/dist/assets/{modals.BBmZcSn8.js → modals.CtBRZQUb.js} +2 -2
  63. package/dist/assets/{modals.BBmZcSn8.js.map → modals.CtBRZQUb.js.map} +1 -1
  64. package/dist/assets/{nodefs.BbkfN3E3.js → nodefs.Ckv3nYAO.js} +2 -2
  65. package/dist/assets/{nodefs.BbkfN3E3.js.map → nodefs.Ckv3nYAO.js.map} +1 -1
  66. package/dist/assets/{opfs-ahp.EtXrzCL2.js → opfs-ahp.js-oMwzH.js} +2 -2
  67. package/dist/assets/{opfs-ahp.EtXrzCL2.js.map → opfs-ahp.js-oMwzH.js.map} +1 -1
  68. package/dist/assets/{react-error-boundary.esm.CwMnLDyV.js → react-error-boundary.esm.BVdm9PKb.js} +2 -2
  69. package/dist/assets/{react-error-boundary.esm.CwMnLDyV.js.map → react-error-boundary.esm.BVdm9PKb.js.map} +1 -1
  70. package/dist/assets/{registerServiceWorker.D6Jhmty2.js → registerServiceWorker.CYN4Klg3.js} +2 -2
  71. package/dist/assets/{registerServiceWorker.D6Jhmty2.js.map → registerServiceWorker.CYN4Klg3.js.map} +1 -1
  72. package/dist/assets/{root.BEIAZMzg.js → root.Wi3khl8r.js} +2 -2
  73. package/dist/assets/{root.BEIAZMzg.js.map → root.Wi3khl8r.js.map} +1 -1
  74. package/dist/assets/{toast.C3qNDopK.js → toast.EfwsdSRg.js} +2 -2
  75. package/dist/assets/{toast.C3qNDopK.js.map → toast.EfwsdSRg.js.map} +1 -1
  76. package/dist/assets/{useAcceptedCookies.Ws9gc6Mz.js → useAcceptedCookies.DwxJsFr2.js} +2 -2
  77. package/dist/assets/{useAcceptedCookies.Ws9gc6Mz.js.map → useAcceptedCookies.DwxJsFr2.js.map} +1 -1
  78. package/dist/assets/useConnectConfig.JCoDhzuj.js +2 -0
  79. package/dist/assets/{useConnectConfig.BNPmyZ38.js.map → useConnectConfig.JCoDhzuj.js.map} +1 -1
  80. package/dist/assets/useDefaultDocumentModelEditor.B43PMqGl.js +2 -0
  81. package/dist/assets/{useDefaultDocumentModelEditor.ohnz8nUq.js.map → useDefaultDocumentModelEditor.B43PMqGl.js.map} +1 -1
  82. package/dist/assets/{useDocumentDriveServer.UnOYIa0q.js → useDocumentDriveServer.OThcLdfg.js} +2 -2
  83. package/dist/assets/{useDocumentDriveServer.UnOYIa0q.js.map → useDocumentDriveServer.OThcLdfg.js.map} +1 -1
  84. package/dist/assets/{useFeatureFlags.DTzTxTCq.js → useFeatureFlags.Cj7jQ21q.js} +2 -2
  85. package/dist/assets/{useFeatureFlags.DTzTxTCq.js.map → useFeatureFlags.Cj7jQ21q.js.map} +1 -1
  86. package/dist/assets/{user.CZolGXW4.js → user.DFdIcEeb.js} +4 -4
  87. package/dist/assets/{user.CZolGXW4.js.map → user.DFdIcEeb.js.map} +1 -1
  88. package/dist/index.html +1 -1
  89. package/dist/vite-envs.sh +1 -1
  90. package/package.json +9 -9
  91. package/dist/assets/connect.config.DXj_NcAD.js +0 -2
  92. package/dist/assets/useConnectConfig.BNPmyZ38.js +0 -2
  93. package/dist/assets/useDefaultDocumentModelEditor.ohnz8nUq.js +0 -2
@@ -1,3 +1,3 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index.Bgc-eQUW.js","./index.BapSoqiD.js","./app-skeleton.js","./browser.BkwNmV2Z.js","./index-B7k827uL.css"])))=>i.map(i=>d[i]);
2
- import{_ as c}from"./index.BapSoqiD.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.Bgc-eQUW.js").then(i=>i.i),__vite__mapDeps([0,1,2,3,4]),import.meta.url);
3
- //# sourceMappingURL=main.BSZldL3R.js.map
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index.CZ7j2DZj.js","./index.DFyMrewv.js","./app-skeleton.js","./browser.BkwNmV2Z.js","./index-B7k827uL.css"])))=>i.map(i=>d[i]);
2
+ import{_ as c}from"./index.DFyMrewv.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.CZ7j2DZj.js").then(i=>i.i),__vite__mapDeps([0,1,2,3,4]),import.meta.url);
3
+ //# sourceMappingURL=main.-mZWVdr-.js.map
@@ -1 +1 @@
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.BSZldL3R.js"}
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.-mZWVdr-.js"}
@@ -1,3 +1,3 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DeleteItemModal.pMEEVzdV.js","./useTranslation.BpVv6XIW.js","./index.BapSoqiD.js","./UpgradeDriveModal.BdzKq7CR.js","./CreateDocumentModal.Czgcpl-j.js","./useDocumentDriveServer.UnOYIa0q.js","./user.CZolGXW4.js","./connect.config.DXj_NcAD.js","./browser.BkwNmV2Z.js","./index.Bgc-eQUW.js","./app-skeleton.js","./index-B7k827uL.css","./useFeatureFlags.DTzTxTCq.js","./slug.C6xW_7Wm.js","./AddDriveModal.CkAoSG6A.js","./AddLocalDriveModal.D96D5Bah.js","./AddRemoteDriveModal.BPvQppgL.js","./DriveSettingsModal.C1ZtlJBT.js","./SettingsModal.weUaW9r2.js","./i18next.CqOP20KE.js","./useConnectConfig.BNPmyZ38.js","./index.CAUjMUXb.js","./useDefaultDocumentModelEditor.ohnz8nUq.js","./ConfirmationModal.C6BEQwoI.js","./DeleteDriveModal.B3SG8tZB.js","./DebugSettingsModal.B1hSJnrj.js","./registerServiceWorker.D6Jhmty2.js","./DisclaimerModal.C2qfI8uK.js","./CookiesPolicyModal.BEhaheOU.js","./Trans.BGcRaz_1.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.BapSoqiD.js";import"react-dom";const L={deleteItem:t(()=>o(()=>import("./DeleteItemModal.pMEEVzdV.js"),__vite__mapDeps([0,1,2]),import.meta.url).then(e=>({default:e.DeleteItemModal}))),upgradeDrive:t(()=>o(()=>import("./UpgradeDriveModal.BdzKq7CR.js"),__vite__mapDeps([3,1,2]),import.meta.url).then(e=>({default:e.UpgradeDriveModal}))),createDocument:t(()=>o(()=>import("./CreateDocumentModal.Czgcpl-j.js"),__vite__mapDeps([4,2,5,6,7,8,9,10,11,12,13]),import.meta.url).then(e=>({default:e.CreateDocumentModal}))),addDriveModal:t(()=>o(()=>import("./AddDriveModal.CkAoSG6A.js"),__vite__mapDeps([14,2,6,7,8,9,10,11]),import.meta.url).then(e=>({default:e.AddDriveModal}))),addLocalDrive:t(()=>o(()=>import("./AddLocalDriveModal.D96D5Bah.js"),__vite__mapDeps([15,2]),import.meta.url).then(e=>({default:e.AddLocalDriveModal}))),addRemoteDrive:t(()=>o(()=>import("./AddRemoteDriveModal.BPvQppgL.js"),__vite__mapDeps([16,2]),import.meta.url).then(e=>({default:e.AddRemoteDriveModal}))),driveSettings:t(()=>o(()=>import("./DriveSettingsModal.C1ZtlJBT.js"),__vite__mapDeps([17,2]),import.meta.url).then(e=>({default:e.DriveSettingsModal}))),settingsModal:t(()=>o(()=>import("./SettingsModal.weUaW9r2.js"),__vite__mapDeps([18,19,7,2,8,20,1,21,5,6,9,10,11,12,22]),import.meta.url).then(e=>({default:e.SettingsModal}))),confirmationModal:t(()=>o(()=>import("./ConfirmationModal.C6BEQwoI.js"),__vite__mapDeps([23,2]),import.meta.url).then(e=>({default:e.ConfirmationModal}))),deleteDriveModal:t(()=>o(()=>import("./DeleteDriveModal.B3SG8tZB.js"),__vite__mapDeps([24,1,2]),import.meta.url).then(e=>({default:e.DeleteDriveModal}))),debugSettingsModal:t(()=>o(()=>import("./DebugSettingsModal.B1hSJnrj.js"),__vite__mapDeps([25,20,7,2,8,26,5,6,9,10,11,12]),import.meta.url).then(e=>({default:e.DebugSettingsModal}))),disclaimerModal:t(()=>o(()=>import("./DisclaimerModal.C2qfI8uK.js"),__vite__mapDeps([27,1,2]),import.meta.url).then(e=>({default:e.DisclaimerModal}))),cookiesPolicy:t(()=>o(()=>import("./CookiesPolicyModal.BEhaheOU.js"),__vite__mapDeps([28,1,29,2]),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.CFXMMGqy.js.map
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DeleteItemModal.DYsVSZ5o.js","./useTranslation.BpVv6XIW.js","./index.DFyMrewv.js","./UpgradeDriveModal.BVZNcfsQ.js","./CreateDocumentModal.CL5_6y3O.js","./useDocumentDriveServer.OThcLdfg.js","./user.DFdIcEeb.js","./connect.config.BAfiKr20.js","./browser.BkwNmV2Z.js","./index.CZ7j2DZj.js","./app-skeleton.js","./index-B7k827uL.css","./useFeatureFlags.Cj7jQ21q.js","./slug.C6xW_7Wm.js","./AddDriveModal.DTQmLkRW.js","./AddLocalDriveModal.DJ7OB4Yo.js","./AddRemoteDriveModal.IOAtDyOA.js","./DriveSettingsModal.YG4M4mId.js","./SettingsModal.A29jTwO1.js","./i18next.CqOP20KE.js","./useConnectConfig.JCoDhzuj.js","./index.CAUjMUXb.js","./useDefaultDocumentModelEditor.B43PMqGl.js","./ConfirmationModal.BLX_Fgxf.js","./DeleteDriveModal.C8k99Qt3.js","./DebugSettingsModal.CvUCX6AI.js","./registerServiceWorker.CYN4Klg3.js","./DisclaimerModal.C40A4BZS.js","./CookiesPolicyModal.CkS39vny.js","./Trans.-pu2RC5T.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.DFyMrewv.js";import"react-dom";const L={deleteItem:t(()=>o(()=>import("./DeleteItemModal.DYsVSZ5o.js"),__vite__mapDeps([0,1,2]),import.meta.url).then(e=>({default:e.DeleteItemModal}))),upgradeDrive:t(()=>o(()=>import("./UpgradeDriveModal.BVZNcfsQ.js"),__vite__mapDeps([3,1,2]),import.meta.url).then(e=>({default:e.UpgradeDriveModal}))),createDocument:t(()=>o(()=>import("./CreateDocumentModal.CL5_6y3O.js"),__vite__mapDeps([4,2,5,6,7,8,9,10,11,12,13]),import.meta.url).then(e=>({default:e.CreateDocumentModal}))),addDriveModal:t(()=>o(()=>import("./AddDriveModal.DTQmLkRW.js"),__vite__mapDeps([14,2,6,7,8,9,10,11]),import.meta.url).then(e=>({default:e.AddDriveModal}))),addLocalDrive:t(()=>o(()=>import("./AddLocalDriveModal.DJ7OB4Yo.js"),__vite__mapDeps([15,2]),import.meta.url).then(e=>({default:e.AddLocalDriveModal}))),addRemoteDrive:t(()=>o(()=>import("./AddRemoteDriveModal.IOAtDyOA.js"),__vite__mapDeps([16,2]),import.meta.url).then(e=>({default:e.AddRemoteDriveModal}))),driveSettings:t(()=>o(()=>import("./DriveSettingsModal.YG4M4mId.js"),__vite__mapDeps([17,2]),import.meta.url).then(e=>({default:e.DriveSettingsModal}))),settingsModal:t(()=>o(()=>import("./SettingsModal.A29jTwO1.js"),__vite__mapDeps([18,19,7,2,8,20,1,21,5,6,9,10,11,12,22]),import.meta.url).then(e=>({default:e.SettingsModal}))),confirmationModal:t(()=>o(()=>import("./ConfirmationModal.BLX_Fgxf.js"),__vite__mapDeps([23,2]),import.meta.url).then(e=>({default:e.ConfirmationModal}))),deleteDriveModal:t(()=>o(()=>import("./DeleteDriveModal.C8k99Qt3.js"),__vite__mapDeps([24,1,2]),import.meta.url).then(e=>({default:e.DeleteDriveModal}))),debugSettingsModal:t(()=>o(()=>import("./DebugSettingsModal.CvUCX6AI.js"),__vite__mapDeps([25,20,7,2,8,26,5,6,9,10,11,12]),import.meta.url).then(e=>({default:e.DebugSettingsModal}))),disclaimerModal:t(()=>o(()=>import("./DisclaimerModal.C40A4BZS.js"),__vite__mapDeps([27,1,2]),import.meta.url).then(e=>({default:e.DisclaimerModal}))),cookiesPolicy:t(()=>o(()=>import("./CookiesPolicyModal.CkS39vny.js"),__vite__mapDeps([28,1,29,2]),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.D7XhYnZR.js.map
@@ -1 +1 @@
1
- {"version":3,"mappings":";sNAEO,MAAMA,EAAS,CAClB,WAAYC,EAAK,IAAAC,EAAA,IACb,OAAO,+BAAsB,4CAAE,KAAKC,IAAM,CACtC,QAASA,EAAE,iBACb,GAEN,aAAcF,EAAK,IAAAC,EAAA,IACf,OAAO,iCAAwB,4CAAE,KAAKC,IAAM,CACxC,QAASA,EAAE,mBACb,GAEN,eAAgBF,EAAK,IAAAC,EAAA,IACjB,OAAO,mCAA0B,gEAAE,KAAKC,IAAM,CAC1C,QAASA,EAAE,qBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,6BAAoB,yDAAE,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,2CAAE,KAAKC,IAAM,CAC1C,QAASA,EAAE,qBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,kCAAyB,2CAAE,KAAKC,IAAM,CACzC,QAASA,EAAE,oBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,6BAAoB,4EAAE,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,6CAAE,KAAKC,IAAM,CACvC,QAASA,EAAE,kBACb,GAEN,mBAAoBF,EAAK,IAAAC,EAAA,IACrB,OAAO,kCAAyB,oEAAE,KAAKC,IAAM,CACzC,QAASA,EAAE,oBACb,GAEN,gBAAiBF,EAAK,IAAAC,EAAA,IAClB,OAAO,+BAAsB,6CAAE,KAAKC,IAAM,CACtC,QAASA,EAAE,iBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,kCAAyB,gDAAE,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.CFXMMGqy.js"}
1
+ {"version":3,"mappings":";sNAEO,MAAMA,EAAS,CAClB,WAAYC,EAAK,IAAAC,EAAA,IACb,OAAO,+BAAsB,4CAAE,KAAKC,IAAM,CACtC,QAASA,EAAE,iBACb,GAEN,aAAcF,EAAK,IAAAC,EAAA,IACf,OAAO,iCAAwB,4CAAE,KAAKC,IAAM,CACxC,QAASA,EAAE,mBACb,GAEN,eAAgBF,EAAK,IAAAC,EAAA,IACjB,OAAO,mCAA0B,gEAAE,KAAKC,IAAM,CAC1C,QAASA,EAAE,qBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,6BAAoB,yDAAE,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,2CAAE,KAAKC,IAAM,CAC1C,QAASA,EAAE,qBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,kCAAyB,2CAAE,KAAKC,IAAM,CACzC,QAASA,EAAE,oBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,6BAAoB,4EAAE,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,6CAAE,KAAKC,IAAM,CACvC,QAASA,EAAE,kBACb,GAEN,mBAAoBF,EAAK,IAAAC,EAAA,IACrB,OAAO,kCAAyB,oEAAE,KAAKC,IAAM,CACzC,QAASA,EAAE,oBACb,GAEN,gBAAiBF,EAAK,IAAAC,EAAA,IAClB,OAAO,+BAAsB,6CAAE,KAAKC,IAAM,CACtC,QAASA,EAAE,iBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,kCAAyB,gDAAE,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.D7XhYnZR.js"}
@@ -1,2 +1,2 @@
1
- import{t as m}from"./i18next.CqOP20KE.js";import{useCallback as v}from"react";import{u as b}from"./useDocumentDriveServer.UnOYIa0q.js";import{m as C}from"./slug.C6xW_7Wm.js";import{al as T,ag as A,ak as N,L as y,ah as M,x as U,am as I}from"./index.BapSoqiD.js";import{g as F}from"./user.CZolGXW4.js";import{useModal as L}from"./modal.CFXMMGqy.js";function E(){const{getSyncStatus:c}=b();return v(async a=>{const r="readContext"in a,{name:h,icon:d}=a.state.global,{id:t,slug:u}=a.header,{sharingType:f,availableOffline:o}=r?{sharingType:T,availableOffline:!1}:a.state.local,n=f==null?void 0:f.toUpperCase(),s=n==="PRIVATE"?A:n,l=r?void 0:await c(t,s),D=l==="INITIAL_SYNC"?"SYNCING":l,p={id:t,name:h,slug:u||null,kind:N,children:[],nodeMap:{},sharingType:s,syncStatus:D,availableOffline:o,icon:d,parentFolder:null,driveId:t},g=a.state.global.nodes.map(e=>{const i={...e,slug:C(e.name),driveId:t,parentFolder:e.parentFolder||t,kind:e.kind.toUpperCase(),syncStatus:D,sharingType:s};if(i.kind===N)throw new Error("Drive nodes should not be nested");return i.kind===y?i:{...i,children:[]}});for(const e of g)p.nodeMap[e.id]=e;for await(const e of g){if(e.kind===y){const w=r?void 0:await c(e.synchronizationUnits[0].syncId,s),k=w==="INITIAL_SYNC"?"SYNCING":w;e.syncStatus=k}if(e.parentFolder===t){p.children.push(e);continue}const i=p.nodeMap[e.parentFolder];if(i.kind===y)throw new Error(`Parent node ${e.parentFolder} is a file, not a folder`);i.children.push(e),e.syncStatus!==M&&(i.syncStatus=e.syncStatus)}return p},[c])}function G(){const{showModal:c}=L(),{addDrive:S,addRemoteDrive:a}=b(),{setSelectedNode:r}=U(),h=F(),d=E(),t=v(async o=>{try{const n=h.find(l=>l.id===o.appId),s=await S({id:"",slug:"",global:{name:o.name,icon:null},local:{availableOffline:o.availableOffline,sharingType:o.sharingType.toLowerCase(),listeners:[],triggers:[]}},n==null?void 0:n.driveEditor);if(I(m("notifications.addDriveSuccess"),{type:"connect-success"}),s){const l=await d(s);r(l)}}catch(n){console.error(n)}},[S,d,r,m]),u=v(async o=>{try{const n=await a(o.url,{sharingType:o.sharingType,availableOffline:o.availableOffline,listeners:[{block:!0,callInfo:{data:o.url,name:"switchboard-push",transmitterType:"SwitchboardPush"},filter:{branch:["main"],documentId:["*"],documentType:["*"],scope:["global"]},label:"Switchboard Sync",listenerId:"1",system:!0}],triggers:[]});if(I(m("notifications.addDriveSuccess"),{type:"connect-success"}),n){const s=await d(n);r(s)}}catch(n){console.error(n)}},[a,d,r,m]);return v(()=>c("addDriveModal",{onAddLocalDrive:t,onAddRemoteDrive:u}),[t,u,c])}export{E as a,G as u};
2
- //# sourceMappingURL=modals.BBmZcSn8.js.map
1
+ import{t as m}from"./i18next.CqOP20KE.js";import{useCallback as v}from"react";import{u as b}from"./useDocumentDriveServer.OThcLdfg.js";import{m as C}from"./slug.C6xW_7Wm.js";import{al as T,ag as A,ak as N,L as y,ah as M,x as U,am as I}from"./index.DFyMrewv.js";import{g as F}from"./user.DFdIcEeb.js";import{useModal as L}from"./modal.D7XhYnZR.js";function E(){const{getSyncStatus:c}=b();return v(async a=>{const r="readContext"in a,{name:h,icon:d}=a.state.global,{id:t,slug:u}=a.header,{sharingType:f,availableOffline:o}=r?{sharingType:T,availableOffline:!1}:a.state.local,n=f==null?void 0:f.toUpperCase(),s=n==="PRIVATE"?A:n,l=r?void 0:await c(t,s),D=l==="INITIAL_SYNC"?"SYNCING":l,p={id:t,name:h,slug:u||null,kind:N,children:[],nodeMap:{},sharingType:s,syncStatus:D,availableOffline:o,icon:d,parentFolder:null,driveId:t},g=a.state.global.nodes.map(e=>{const i={...e,slug:C(e.name),driveId:t,parentFolder:e.parentFolder||t,kind:e.kind.toUpperCase(),syncStatus:D,sharingType:s};if(i.kind===N)throw new Error("Drive nodes should not be nested");return i.kind===y?i:{...i,children:[]}});for(const e of g)p.nodeMap[e.id]=e;for await(const e of g){if(e.kind===y){const w=r?void 0:await c(e.synchronizationUnits[0].syncId,s),k=w==="INITIAL_SYNC"?"SYNCING":w;e.syncStatus=k}if(e.parentFolder===t){p.children.push(e);continue}const i=p.nodeMap[e.parentFolder];if(i.kind===y)throw new Error(`Parent node ${e.parentFolder} is a file, not a folder`);i.children.push(e),e.syncStatus!==M&&(i.syncStatus=e.syncStatus)}return p},[c])}function G(){const{showModal:c}=L(),{addDrive:S,addRemoteDrive:a}=b(),{setSelectedNode:r}=U(),h=F(),d=E(),t=v(async o=>{try{const n=h.find(l=>l.id===o.appId),s=await S({id:"",slug:"",global:{name:o.name,icon:null},local:{availableOffline:o.availableOffline,sharingType:o.sharingType.toLowerCase(),listeners:[],triggers:[]}},n==null?void 0:n.driveEditor);if(I(m("notifications.addDriveSuccess"),{type:"connect-success"}),s){const l=await d(s);r(l)}}catch(n){console.error(n)}},[S,d,r,m]),u=v(async o=>{try{const n=await a(o.url,{sharingType:o.sharingType,availableOffline:o.availableOffline,listeners:[{block:!0,callInfo:{data:o.url,name:"switchboard-push",transmitterType:"SwitchboardPush"},filter:{branch:["main"],documentId:["*"],documentType:["*"],scope:["global"]},label:"Switchboard Sync",listenerId:"1",system:!0}],triggers:[]});if(I(m("notifications.addDriveSuccess"),{type:"connect-success"}),n){const s=await d(n);r(s)}}catch(n){console.error(n)}},[a,d,r,m]);return v(()=>c("addDriveModal",{onAddLocalDrive:t,onAddRemoteDrive:u}),[t,u,c])}export{E as a,G as u};
2
+ //# sourceMappingURL=modals.CtBRZQUb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modals.BBmZcSn8.js","sources":["../../src/hooks/useUiNodes.ts","../../src/hooks/modals.ts"],"sourcesContent":["import { makeNodeSlugFromNodeName } from '#utils';\nimport {\n DRIVE,\n FILE,\n FOLDER,\n LOCAL,\n PUBLIC,\n type SharingType,\n SUCCESS,\n type UiDriveNode,\n type UiFileNode,\n type UiFolderNode,\n type UiNode,\n} from '@powerhousedao/design-system';\nimport { useUiNodesContext } from '@powerhousedao/reactor-browser/hooks/useUiNodesContext';\nimport { type DocumentDriveDocument, type ReadDrive } from 'document-drive';\nimport { useCallback, useMemo } from 'react';\nimport { useDocumentDriveServer } from './useDocumentDriveServer.js';\n\nexport function useMakeUiDriveNode() {\n const { getSyncStatus } = useDocumentDriveServer();\n const makeUiDriveNode = useCallback(\n async (drive: DocumentDriveDocument | ReadDrive) => {\n const isReadDrive = 'readContext' in drive;\n const { name, icon } = drive.state.global;\n const { id, slug } = drive.header;\n const { sharingType: _sharingType, availableOffline } = !isReadDrive\n ? drive.state.local\n : { sharingType: PUBLIC, availableOffline: false };\n const __sharingType = _sharingType?.toUpperCase();\n const sharingType = (\n __sharingType === 'PRIVATE' ? LOCAL : __sharingType\n ) as SharingType;\n const driveSyncStatus = !isReadDrive\n ? await getSyncStatus(id, sharingType)\n : undefined;\n\n // TODO: rempve this after integration in design-system\n const normalizedDriveSyncStatus =\n driveSyncStatus === 'INITIAL_SYNC'\n ? 'SYNCING'\n : driveSyncStatus;\n\n const driveNode: UiDriveNode = {\n id,\n name,\n slug: slug || null,\n kind: DRIVE,\n children: [],\n nodeMap: {},\n sharingType,\n syncStatus: normalizedDriveSyncStatus,\n availableOffline,\n icon,\n parentFolder: null,\n driveId: id,\n };\n\n const nodes = drive.state.global.nodes.map(n => {\n const node = {\n ...n,\n slug: makeNodeSlugFromNodeName(n.name),\n driveId: id,\n parentFolder: n.parentFolder || id,\n kind: n.kind.toUpperCase(),\n syncStatus: normalizedDriveSyncStatus,\n sharingType,\n };\n\n if (node.kind === DRIVE) {\n throw new Error('Drive nodes should not be nested');\n }\n\n if (node.kind === FILE) {\n return node as UiFileNode;\n }\n\n return {\n ...node,\n children: [],\n } as UiFolderNode;\n });\n\n for (const node of nodes) {\n driveNode.nodeMap[node.id] = node;\n }\n\n // eslint-disable-next-line @typescript-eslint/await-thenable\n for await (const node of nodes) {\n if (node.kind === FILE) {\n const fileSyncStatus = !isReadDrive\n ? await getSyncStatus(\n node.synchronizationUnits[0].syncId,\n sharingType,\n )\n : undefined;\n\n // TODO: rempve this after integration in design-system\n const normalizedFileSyncStatus =\n fileSyncStatus === 'INITIAL_SYNC'\n ? 'SYNCING'\n : fileSyncStatus;\n\n node.syncStatus = normalizedFileSyncStatus;\n }\n\n if (node.parentFolder === id) {\n driveNode.children.push(node);\n continue;\n }\n const parent = driveNode.nodeMap[node.parentFolder];\n\n if (parent.kind === FILE) {\n throw new Error(\n `Parent node ${node.parentFolder} is a file, not a folder`,\n );\n }\n\n parent.children.push(node);\n\n if (node.syncStatus !== SUCCESS) {\n parent.syncStatus = node.syncStatus;\n }\n }\n\n return driveNode;\n },\n [getSyncStatus],\n );\n\n return makeUiDriveNode;\n}\n\nexport function useDebugHandlers() {\n const { removeTrigger, addTrigger, registerNewPullResponderTrigger } =\n useDocumentDriveServer();\n\n const onAddTrigger = useCallback(\n async (uiNodeDriveId: string) => {\n const url = window.prompt('url') || '';\n\n const pullResponderTrigger = await registerNewPullResponderTrigger(\n uiNodeDriveId,\n url,\n { pullInterval: 6000 },\n );\n await addTrigger(uiNodeDriveId, pullResponderTrigger);\n },\n [addTrigger, registerNewPullResponderTrigger],\n );\n\n const onRemoveTrigger = useCallback(\n async (uiNodeDriveId: string) => {\n const triggerId = window.prompt('triggerId:');\n\n if (triggerId) {\n await removeTrigger(uiNodeDriveId, triggerId);\n }\n },\n [removeTrigger],\n );\n\n const onAddInvalidTrigger = useCallback(\n async (uiNodeDriveId: string) => {\n const url = window.prompt('url') || '';\n\n await addTrigger(uiNodeDriveId, {\n id: 'some-invalid-id',\n type: 'PullResponder',\n data: {\n interval: '3000',\n listenerId: 'invalid-listener-id',\n url,\n },\n });\n },\n [addTrigger],\n );\n\n return {\n onAddTrigger,\n onRemoveTrigger,\n onAddInvalidTrigger,\n };\n}\n\nexport function useUiNodes() {\n const { selectedParentNode, setSelectedNode } = useUiNodesContext();\n const { addFolder, addFile, renameNode, copyNode, moveNode } =\n useDocumentDriveServer();\n\n const onAddFile = useCallback(\n async (file: File, parentNode: UiNode | null) => {\n if (!parentNode) {\n throw new Error('Parent node is required');\n }\n if (parentNode.kind === FILE) {\n throw new Error('Cannot add file to a file');\n }\n\n const fileName = file.name.replace(/\\.zip$/gim, '');\n\n return await addFile(\n file,\n parentNode.driveId,\n fileName,\n parentNode.id,\n );\n },\n [addFile],\n );\n\n const onAddFolder = useCallback(\n async (name: string, parentNode: UiNode | null) => {\n if (!parentNode) {\n throw new Error('Parent node is required');\n }\n if (parentNode.kind === FILE) {\n throw new Error('Cannot add folder to a file');\n }\n return await addFolder(parentNode.driveId, name, parentNode.id);\n },\n [addFolder],\n );\n\n const onRenameNode = useCallback(\n async (name: string, uiNode: UiNode) => {\n if (uiNode.kind === DRIVE) {\n throw new Error(\n 'Drive can only be renamed from the drive settings modal',\n );\n }\n return await renameNode(uiNode.driveId, uiNode.id, name);\n },\n [renameNode],\n );\n\n const onCopyNode = useCallback(\n async (uiNode: UiNode, targetNode: UiNode) => {\n if (uiNode.kind === DRIVE) {\n throw new Error('Drive cannot be duplicated');\n }\n\n await copyNode(uiNode, targetNode);\n },\n [copyNode],\n );\n\n const onMoveNode = useCallback(\n async (uiNode: UiNode, targetNode: UiNode) => {\n if (uiNode.kind === DRIVE) {\n throw new Error('Drive cannot be moved');\n }\n\n await moveNode(uiNode, targetNode);\n },\n [moveNode],\n );\n\n const onDuplicateNode = useCallback(\n async (uiNode: UiNode) => {\n if (!selectedParentNode) return;\n\n if (uiNode.kind === DRIVE) {\n throw new Error('Drive cannot be duplicated');\n }\n\n await copyNode(uiNode, selectedParentNode);\n },\n [copyNode, selectedParentNode],\n );\n\n const onAddAndSelectNewFolder = useCallback(\n async (name: string) => {\n if (!name || !selectedParentNode) return;\n\n const newFolder = await onAddFolder(name, selectedParentNode);\n\n setSelectedNode({\n ...newFolder,\n kind: FOLDER,\n slug: makeNodeSlugFromNodeName(newFolder.name),\n parentFolder: selectedParentNode.id,\n syncStatus: selectedParentNode.syncStatus,\n driveId: selectedParentNode.driveId,\n sharingType: selectedParentNode.sharingType,\n children: [],\n });\n },\n [onAddFolder, selectedParentNode, setSelectedNode],\n );\n\n return useMemo(\n () => ({\n onAddFile,\n onAddFolder,\n onRenameNode,\n onCopyNode,\n onMoveNode,\n onDuplicateNode,\n onAddAndSelectNewFolder,\n }),\n [\n onAddFolder,\n onAddFile,\n onCopyNode,\n onMoveNode,\n onRenameNode,\n onDuplicateNode,\n onAddAndSelectNewFolder,\n ],\n );\n}\n\nexport type TUiNodes = ReturnType<typeof useUiNodes>;\n","import { useModal } from '#components';\nimport { useApps } from '#store';\nimport {\n toast,\n type AddLocalDriveInput,\n type AddRemoteDriveInput,\n} from '@powerhousedao/design-system';\nimport {\n FOLDER,\n useUiNodesContext,\n type SharingType,\n type UiDriveNode,\n type UiFileNode,\n type UiFolderNode,\n} from '@powerhousedao/reactor-browser';\nimport { t } from 'i18next';\nimport { useCallback } from 'react';\nimport { useDocumentDriveServer } from './useDocumentDriveServer';\nimport { useMakeUiDriveNode } from './useUiNodes';\n\nexport function useShowAddDriveModal() {\n const { showModal } = useModal();\n const { addDrive, addRemoteDrive } = useDocumentDriveServer();\n const { setSelectedNode } = useUiNodesContext();\n const apps = useApps();\n const makeUiDriveNode = useMakeUiDriveNode();\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 const newDriveNode = await makeUiDriveNode(newDrive);\n setSelectedNode(newDriveNode);\n }\n } catch (e) {\n console.error(e);\n }\n },\n [addDrive, makeUiDriveNode, setSelectedNode, 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 const newDriveNode = await makeUiDriveNode(newDrive);\n setSelectedNode(newDriveNode);\n }\n } catch (e) {\n console.error(e);\n }\n },\n [addRemoteDrive, makeUiDriveNode, setSelectedNode, 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 { driveNodes, setSelectedNode } = useUiNodesContext();\n const onRenameDrive = useCallback(\n async (uiDriveNode: UiDriveNode, newName: string) => {\n await renameDrive(uiDriveNode.id, newName);\n },\n [renameDrive],\n );\n\n const onChangeSharingType = useCallback(\n async (uiDriveNode: UiDriveNode, newSharingType: SharingType) => {\n await setDriveSharingType(uiDriveNode.id, newSharingType);\n },\n [setDriveSharingType],\n );\n\n const onChangeAvailableOffline = useCallback(\n async (uiDriveNode: UiDriveNode, newAvailableOffline: boolean) => {\n await setDriveAvailableOffline(uiDriveNode.id, newAvailableOffline);\n },\n [setDriveAvailableOffline],\n );\n const onDeleteDrive = useCallback(\n (uiDriveNode: UiDriveNode) => {\n showModal('deleteDriveModal', {\n uiDriveNode,\n onDelete: async closeModal => {\n closeModal();\n await deleteDrive(uiDriveNode.id);\n\n setSelectedNode(driveNodes[0]);\n\n toast(t('notifications.deleteDriveSuccess'), {\n type: 'connect-deleted',\n });\n },\n });\n },\n [deleteDrive, driveNodes, setSelectedNode, showModal, t],\n );\n const showDriveSettingsModal = useCallback(\n (uiDriveNode: UiDriveNode) => {\n showModal('driveSettings', {\n uiDriveNode,\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 { setSelectedNode, getParentNode } = useUiNodesContext();\n const { deleteNode } = useDocumentDriveServer();\n const showDeleteNodeModal = useCallback(\n (uiNode: UiFileNode | UiFolderNode) => {\n showModal('deleteItem', {\n uiNode,\n onDelete: async closeModal => {\n closeModal();\n\n const i18nKey =\n uiNode.kind === FOLDER\n ? 'notifications.deleteFolderSuccess'\n : 'notifications.fileDeleteSuccess';\n\n const parentNode = getParentNode(uiNode);\n\n await deleteNode(uiNode.driveId, uiNode.id);\n\n setSelectedNode(parentNode);\n\n toast(t(i18nKey), { type: 'connect-deleted' });\n },\n });\n },\n [deleteNode, getParentNode, setSelectedNode, showModal, t],\n );\n\n return showDeleteNodeModal;\n}\n"],"names":["useMakeUiDriveNode","getSyncStatus","useDocumentDriveServer","useCallback","drive","isReadDrive","name","icon","id","slug","_sharingType","availableOffline","PUBLIC","__sharingType","sharingType","LOCAL","driveSyncStatus","normalizedDriveSyncStatus","driveNode","DRIVE","nodes","n","node","makeNodeSlugFromNodeName","FILE","fileSyncStatus","normalizedFileSyncStatus","parent","SUCCESS","useShowAddDriveModal","showModal","useModal","addDrive","addRemoteDrive","setSelectedNode","useUiNodesContext","apps","useApps","makeUiDriveNode","onAddLocalDrive","data","app","a","newDrive","toast","t","newDriveNode","e","onAddRemoteDrive"],"mappings":"2VAmBO,SAASA,GAAqB,CACjC,KAAM,CAAE,cAAAC,CAAA,EAAkBC,EAAA,EA8G1B,OA7GwBC,EACpB,MAAOC,GAA6C,CAChD,MAAMC,EAAc,gBAAiBD,EAC/B,CAAE,KAAAE,EAAM,KAAAC,CAAA,EAASH,EAAM,MAAM,OAC7B,CAAE,GAAAI,EAAI,KAAAC,CAAA,EAASL,EAAM,OACrB,CAAE,YAAaM,EAAc,iBAAAC,CAAA,EAAsBN,EAEnD,CAAE,YAAaO,EAAQ,iBAAkB,EAAA,EADzCR,EAAM,MAAM,MAEZS,EAAgBH,GAAA,YAAAA,EAAc,cAC9BI,EACFD,IAAkB,UAAYE,EAAQF,EAEpCG,EAAmBX,EAEnB,OADA,MAAMJ,EAAcO,EAAIM,CAAW,EAInCG,EACFD,IAAoB,eACd,UACAA,EAEJE,EAAyB,CAC3B,GAAAV,EACA,KAAAF,EACA,KAAMG,GAAQ,KACd,KAAMU,EACN,SAAU,CAAA,EACV,QAAS,CAAA,EACT,YAAAL,EACA,WAAYG,EACZ,iBAAAN,EACA,KAAAJ,EACA,aAAc,KACd,QAASC,CAAA,EAGPY,EAAQhB,EAAM,MAAM,OAAO,MAAM,IAAIiB,GAAK,CAC5C,MAAMC,EAAO,CACT,GAAGD,EACH,KAAME,EAAyBF,EAAE,IAAI,EACrC,QAASb,EACT,aAAca,EAAE,cAAgBb,EAChC,KAAMa,EAAE,KAAK,YAAA,EACb,WAAYJ,EACZ,YAAAH,CAAA,EAGJ,GAAIQ,EAAK,OAASH,EACd,MAAM,IAAI,MAAM,kCAAkC,EAGtD,OAAIG,EAAK,OAASE,EACPF,EAGJ,CACH,GAAGA,EACH,SAAU,CAAA,CAAC,CACf,CACH,EAED,UAAWA,KAAQF,EACfF,EAAU,QAAQI,EAAK,EAAE,EAAIA,EAIjC,gBAAiBA,KAAQF,EAAO,CAC5B,GAAIE,EAAK,OAASE,EAAM,CACpB,MAAMC,EAAkBpB,EAKlB,OAJA,MAAMJ,EACFqB,EAAK,qBAAqB,CAAC,EAAE,OAC7BR,CAAA,EAKJY,EACFD,IAAmB,eACb,UACAA,EAEVH,EAAK,WAAaI,CAAA,CAGtB,GAAIJ,EAAK,eAAiBd,EAAI,CAC1BU,EAAU,SAAS,KAAKI,CAAI,EAC5B,QAAA,CAEJ,MAAMK,EAAST,EAAU,QAAQI,EAAK,YAAY,EAElD,GAAIK,EAAO,OAASH,EAChB,MAAM,IAAI,MACN,eAAeF,EAAK,YAAY,0BAAA,EAIxCK,EAAO,SAAS,KAAKL,CAAI,EAErBA,EAAK,aAAeM,IACpBD,EAAO,WAAaL,EAAK,WAC7B,CAGJ,OAAOJ,CAAA,EAEX,CAACjB,CAAa,CAAA,CAItB,CC/GO,SAAS4B,GAAuB,CACnC,KAAM,CAAE,UAAAC,CAAA,EAAcC,EAAA,EAChB,CAAE,SAAAC,EAAU,eAAAC,CAAA,EAAmB/B,EAAA,EAC/B,CAAE,gBAAAgC,CAAA,EAAoBC,EAAA,EACtBC,EAAOC,EAAA,EACPC,EAAkBtC,EAAA,EAClBuC,EAAkBpC,EACpB,MAAOqC,GAA6B,CAChC,GAAI,CACA,MAAMC,EAAML,EAAK,QAAUM,EAAE,KAAOF,EAAK,KAAK,EACxCG,EAAW,MAAMX,EACnB,CACI,GAAI,GACJ,KAAM,GACN,OAAQ,CACJ,KAAMQ,EAAK,KACX,KAAM,IAAA,EAEV,MAAO,CACH,iBAAkBA,EAAK,iBACvB,YAAaA,EAAK,YAAY,YAAA,EAC9B,UAAW,CAAA,EACX,SAAU,CAAA,CAAC,CACf,EAEJC,GAAA,YAAAA,EAAK,WAAA,EAOT,GAJAG,EAAMC,EAAE,+BAA+B,EAAG,CACtC,KAAM,iBAAA,CACT,EAEGF,EAAU,CACV,MAAMG,EAAe,MAAMR,EAAgBK,CAAQ,EACnDT,EAAgBY,CAAY,CAAA,CAChC,OACKC,EAAG,CACR,QAAQ,MAAMA,CAAC,CAAA,CACnB,EAEJ,CAACf,EAAUM,EAAiBJ,EAAiBW,CAAC,CAAA,EAG5CG,EAAmB7C,EACrB,MAAOqC,GAA8B,CACjC,GAAI,CACA,MAAMG,EAAW,MAAMV,EAAeO,EAAK,IAAK,CAC5C,YAAaA,EAAK,YAClB,iBAAkBA,EAAK,iBACvB,UAAW,CACP,CACI,MAAO,GACP,SAAU,CACN,KAAMA,EAAK,IACX,KAAM,mBACN,gBAAiB,iBAAA,EAErB,OAAQ,CACJ,OAAQ,CAAC,MAAM,EACf,WAAY,CAAC,GAAG,EAChB,aAAc,CAAC,GAAG,EAClB,MAAO,CAAC,QAAQ,CAAA,EAEpB,MAAO,mBACP,WAAY,IACZ,OAAQ,EAAA,CACZ,EAEJ,SAAU,CAAA,CAAC,CACd,EAMD,GAJAI,EAAMC,EAAE,+BAA+B,EAAG,CACtC,KAAM,iBAAA,CACT,EAEGF,EAAU,CACV,MAAMG,EAAe,MAAMR,EAAgBK,CAAQ,EACnDT,EAAgBY,CAAY,CAAA,CAChC,OACKC,EAAG,CACR,QAAQ,MAAMA,CAAC,CAAA,CACnB,EAEJ,CAACd,EAAgBK,EAAiBJ,EAAiBW,CAAC,CAAA,EAWxD,OAT0B1C,EACtB,IACI2B,EAAU,gBAAiB,CACvB,gBAAAS,EACA,iBAAAS,CAAA,CACH,EACL,CAACT,EAAiBS,EAAkBlB,CAAS,CAAA,CAIrD"}
1
+ {"version":3,"file":"modals.CtBRZQUb.js","sources":["../../src/hooks/useUiNodes.ts","../../src/hooks/modals.ts"],"sourcesContent":["import { makeNodeSlugFromNodeName } from '#utils';\nimport {\n DRIVE,\n FILE,\n FOLDER,\n LOCAL,\n PUBLIC,\n type SharingType,\n SUCCESS,\n type UiDriveNode,\n type UiFileNode,\n type UiFolderNode,\n type UiNode,\n} from '@powerhousedao/design-system';\nimport { useUiNodesContext } from '@powerhousedao/reactor-browser/hooks/useUiNodesContext';\nimport { type DocumentDriveDocument, type ReadDrive } from 'document-drive';\nimport { useCallback, useMemo } from 'react';\nimport { useDocumentDriveServer } from './useDocumentDriveServer.js';\n\nexport function useMakeUiDriveNode() {\n const { getSyncStatus } = useDocumentDriveServer();\n const makeUiDriveNode = useCallback(\n async (drive: DocumentDriveDocument | ReadDrive) => {\n const isReadDrive = 'readContext' in drive;\n const { name, icon } = drive.state.global;\n const { id, slug } = drive.header;\n const { sharingType: _sharingType, availableOffline } = !isReadDrive\n ? drive.state.local\n : { sharingType: PUBLIC, availableOffline: false };\n const __sharingType = _sharingType?.toUpperCase();\n const sharingType = (\n __sharingType === 'PRIVATE' ? LOCAL : __sharingType\n ) as SharingType;\n const driveSyncStatus = !isReadDrive\n ? await getSyncStatus(id, sharingType)\n : undefined;\n\n // TODO: rempve this after integration in design-system\n const normalizedDriveSyncStatus =\n driveSyncStatus === 'INITIAL_SYNC'\n ? 'SYNCING'\n : driveSyncStatus;\n\n const driveNode: UiDriveNode = {\n id,\n name,\n slug: slug || null,\n kind: DRIVE,\n children: [],\n nodeMap: {},\n sharingType,\n syncStatus: normalizedDriveSyncStatus,\n availableOffline,\n icon,\n parentFolder: null,\n driveId: id,\n };\n\n const nodes = drive.state.global.nodes.map(n => {\n const node = {\n ...n,\n slug: makeNodeSlugFromNodeName(n.name),\n driveId: id,\n parentFolder: n.parentFolder || id,\n kind: n.kind.toUpperCase(),\n syncStatus: normalizedDriveSyncStatus,\n sharingType,\n };\n\n if (node.kind === DRIVE) {\n throw new Error('Drive nodes should not be nested');\n }\n\n if (node.kind === FILE) {\n return node as UiFileNode;\n }\n\n return {\n ...node,\n children: [],\n } as UiFolderNode;\n });\n\n for (const node of nodes) {\n driveNode.nodeMap[node.id] = node;\n }\n\n // eslint-disable-next-line @typescript-eslint/await-thenable\n for await (const node of nodes) {\n if (node.kind === FILE) {\n const fileSyncStatus = !isReadDrive\n ? await getSyncStatus(\n node.synchronizationUnits[0].syncId,\n sharingType,\n )\n : undefined;\n\n // TODO: rempve this after integration in design-system\n const normalizedFileSyncStatus =\n fileSyncStatus === 'INITIAL_SYNC'\n ? 'SYNCING'\n : fileSyncStatus;\n\n node.syncStatus = normalizedFileSyncStatus;\n }\n\n if (node.parentFolder === id) {\n driveNode.children.push(node);\n continue;\n }\n const parent = driveNode.nodeMap[node.parentFolder];\n\n if (parent.kind === FILE) {\n throw new Error(\n `Parent node ${node.parentFolder} is a file, not a folder`,\n );\n }\n\n parent.children.push(node);\n\n if (node.syncStatus !== SUCCESS) {\n parent.syncStatus = node.syncStatus;\n }\n }\n\n return driveNode;\n },\n [getSyncStatus],\n );\n\n return makeUiDriveNode;\n}\n\nexport function useDebugHandlers() {\n const { removeTrigger, addTrigger, registerNewPullResponderTrigger } =\n useDocumentDriveServer();\n\n const onAddTrigger = useCallback(\n async (uiNodeDriveId: string) => {\n const url = window.prompt('url') || '';\n\n const pullResponderTrigger = await registerNewPullResponderTrigger(\n uiNodeDriveId,\n url,\n { pullInterval: 6000 },\n );\n await addTrigger(uiNodeDriveId, pullResponderTrigger);\n },\n [addTrigger, registerNewPullResponderTrigger],\n );\n\n const onRemoveTrigger = useCallback(\n async (uiNodeDriveId: string) => {\n const triggerId = window.prompt('triggerId:');\n\n if (triggerId) {\n await removeTrigger(uiNodeDriveId, triggerId);\n }\n },\n [removeTrigger],\n );\n\n const onAddInvalidTrigger = useCallback(\n async (uiNodeDriveId: string) => {\n const url = window.prompt('url') || '';\n\n await addTrigger(uiNodeDriveId, {\n id: 'some-invalid-id',\n type: 'PullResponder',\n data: {\n interval: '3000',\n listenerId: 'invalid-listener-id',\n url,\n },\n });\n },\n [addTrigger],\n );\n\n return {\n onAddTrigger,\n onRemoveTrigger,\n onAddInvalidTrigger,\n };\n}\n\nexport function useUiNodes() {\n const { selectedParentNode, setSelectedNode } = useUiNodesContext();\n const { addFolder, addFile, renameNode, copyNode, moveNode } =\n useDocumentDriveServer();\n\n const onAddFile = useCallback(\n async (file: File, parentNode: UiNode | null) => {\n if (!parentNode) {\n throw new Error('Parent node is required');\n }\n if (parentNode.kind === FILE) {\n throw new Error('Cannot add file to a file');\n }\n\n const fileName = file.name.replace(/\\.zip$/gim, '');\n\n return await addFile(\n file,\n parentNode.driveId,\n fileName,\n parentNode.id,\n );\n },\n [addFile],\n );\n\n const onAddFolder = useCallback(\n async (name: string, parentNode: UiNode | null) => {\n if (!parentNode) {\n throw new Error('Parent node is required');\n }\n if (parentNode.kind === FILE) {\n throw new Error('Cannot add folder to a file');\n }\n return await addFolder(parentNode.driveId, name, parentNode.id);\n },\n [addFolder],\n );\n\n const onRenameNode = useCallback(\n async (name: string, uiNode: UiNode) => {\n if (uiNode.kind === DRIVE) {\n throw new Error(\n 'Drive can only be renamed from the drive settings modal',\n );\n }\n return await renameNode(uiNode.driveId, uiNode.id, name);\n },\n [renameNode],\n );\n\n const onCopyNode = useCallback(\n async (uiNode: UiNode, targetNode: UiNode) => {\n if (uiNode.kind === DRIVE) {\n throw new Error('Drive cannot be duplicated');\n }\n\n await copyNode(uiNode, targetNode);\n },\n [copyNode],\n );\n\n const onMoveNode = useCallback(\n async (uiNode: UiNode, targetNode: UiNode) => {\n if (uiNode.kind === DRIVE) {\n throw new Error('Drive cannot be moved');\n }\n\n await moveNode(uiNode, targetNode);\n },\n [moveNode],\n );\n\n const onDuplicateNode = useCallback(\n async (uiNode: UiNode) => {\n if (!selectedParentNode) return;\n\n if (uiNode.kind === DRIVE) {\n throw new Error('Drive cannot be duplicated');\n }\n\n await copyNode(uiNode, selectedParentNode);\n },\n [copyNode, selectedParentNode],\n );\n\n const onAddAndSelectNewFolder = useCallback(\n async (name: string) => {\n if (!name || !selectedParentNode) return;\n\n const newFolder = await onAddFolder(name, selectedParentNode);\n\n setSelectedNode({\n ...newFolder,\n kind: FOLDER,\n slug: makeNodeSlugFromNodeName(newFolder.name),\n parentFolder: selectedParentNode.id,\n syncStatus: selectedParentNode.syncStatus,\n driveId: selectedParentNode.driveId,\n sharingType: selectedParentNode.sharingType,\n children: [],\n });\n },\n [onAddFolder, selectedParentNode, setSelectedNode],\n );\n\n return useMemo(\n () => ({\n onAddFile,\n onAddFolder,\n onRenameNode,\n onCopyNode,\n onMoveNode,\n onDuplicateNode,\n onAddAndSelectNewFolder,\n }),\n [\n onAddFolder,\n onAddFile,\n onCopyNode,\n onMoveNode,\n onRenameNode,\n onDuplicateNode,\n onAddAndSelectNewFolder,\n ],\n );\n}\n\nexport type TUiNodes = ReturnType<typeof useUiNodes>;\n","import { useModal } from '#components';\nimport { useApps } from '#store';\nimport {\n toast,\n type AddLocalDriveInput,\n type AddRemoteDriveInput,\n} from '@powerhousedao/design-system';\nimport {\n FOLDER,\n useUiNodesContext,\n type SharingType,\n type UiDriveNode,\n type UiFileNode,\n type UiFolderNode,\n} from '@powerhousedao/reactor-browser';\nimport { t } from 'i18next';\nimport { useCallback } from 'react';\nimport { useDocumentDriveServer } from './useDocumentDriveServer';\nimport { useMakeUiDriveNode } from './useUiNodes';\n\nexport function useShowAddDriveModal() {\n const { showModal } = useModal();\n const { addDrive, addRemoteDrive } = useDocumentDriveServer();\n const { setSelectedNode } = useUiNodesContext();\n const apps = useApps();\n const makeUiDriveNode = useMakeUiDriveNode();\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 const newDriveNode = await makeUiDriveNode(newDrive);\n setSelectedNode(newDriveNode);\n }\n } catch (e) {\n console.error(e);\n }\n },\n [addDrive, makeUiDriveNode, setSelectedNode, 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 const newDriveNode = await makeUiDriveNode(newDrive);\n setSelectedNode(newDriveNode);\n }\n } catch (e) {\n console.error(e);\n }\n },\n [addRemoteDrive, makeUiDriveNode, setSelectedNode, 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 { driveNodes, setSelectedNode } = useUiNodesContext();\n const onRenameDrive = useCallback(\n async (uiDriveNode: UiDriveNode, newName: string) => {\n await renameDrive(uiDriveNode.id, newName);\n },\n [renameDrive],\n );\n\n const onChangeSharingType = useCallback(\n async (uiDriveNode: UiDriveNode, newSharingType: SharingType) => {\n await setDriveSharingType(uiDriveNode.id, newSharingType);\n },\n [setDriveSharingType],\n );\n\n const onChangeAvailableOffline = useCallback(\n async (uiDriveNode: UiDriveNode, newAvailableOffline: boolean) => {\n await setDriveAvailableOffline(uiDriveNode.id, newAvailableOffline);\n },\n [setDriveAvailableOffline],\n );\n const onDeleteDrive = useCallback(\n (uiDriveNode: UiDriveNode) => {\n showModal('deleteDriveModal', {\n uiDriveNode,\n onDelete: async closeModal => {\n closeModal();\n await deleteDrive(uiDriveNode.id);\n\n setSelectedNode(driveNodes[0]);\n\n toast(t('notifications.deleteDriveSuccess'), {\n type: 'connect-deleted',\n });\n },\n });\n },\n [deleteDrive, driveNodes, setSelectedNode, showModal, t],\n );\n const showDriveSettingsModal = useCallback(\n (uiDriveNode: UiDriveNode) => {\n showModal('driveSettings', {\n uiDriveNode,\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 { setSelectedNode, getParentNode } = useUiNodesContext();\n const { deleteNode } = useDocumentDriveServer();\n const showDeleteNodeModal = useCallback(\n (uiNode: UiFileNode | UiFolderNode) => {\n showModal('deleteItem', {\n uiNode,\n onDelete: async closeModal => {\n closeModal();\n\n const i18nKey =\n uiNode.kind === FOLDER\n ? 'notifications.deleteFolderSuccess'\n : 'notifications.fileDeleteSuccess';\n\n const parentNode = getParentNode(uiNode);\n\n await deleteNode(uiNode.driveId, uiNode.id);\n\n setSelectedNode(parentNode);\n\n toast(t(i18nKey), { type: 'connect-deleted' });\n },\n });\n },\n [deleteNode, getParentNode, setSelectedNode, showModal, t],\n );\n\n return showDeleteNodeModal;\n}\n"],"names":["useMakeUiDriveNode","getSyncStatus","useDocumentDriveServer","useCallback","drive","isReadDrive","name","icon","id","slug","_sharingType","availableOffline","PUBLIC","__sharingType","sharingType","LOCAL","driveSyncStatus","normalizedDriveSyncStatus","driveNode","DRIVE","nodes","n","node","makeNodeSlugFromNodeName","FILE","fileSyncStatus","normalizedFileSyncStatus","parent","SUCCESS","useShowAddDriveModal","showModal","useModal","addDrive","addRemoteDrive","setSelectedNode","useUiNodesContext","apps","useApps","makeUiDriveNode","onAddLocalDrive","data","app","a","newDrive","toast","t","newDriveNode","e","onAddRemoteDrive"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{aE as o,aF as s,aG as n}from"./index.BapSoqiD.js";import"react";import"react/jsx-runtime";import"react-dom";n();var m=class extends o{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 e=i.FS.filesystems.NODEFS;i.FS.mkdir(s),i.FS.mount(e,{root:this.rootDir},s)}]}}}async closeFs(){this.pg.Module.FS.quit()}};export{m as NodeFS};
2
- //# sourceMappingURL=nodefs.BbkfN3E3.js.map
1
+ import{aE as o,aF as s,aG as n}from"./index.DFyMrewv.js";import"react";import"react/jsx-runtime";import"react-dom";n();var m=class extends o{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 e=i.FS.filesystems.NODEFS;i.FS.mkdir(s),i.FS.mount(e,{root:this.rootDir},s)}]}}}async closeFs(){this.pg.Module.FS.quit()}};export{m as NodeFS};
2
+ //# sourceMappingURL=nodefs.Ckv3nYAO.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nodefs.BbkfN3E3.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","p","o.resolve","s.existsSync","o.join","s.mkdirSync","e","r","c","i"],"mappings":"mHAAyFA,EAAC,EAAkD,IAAC,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
+ {"version":3,"file":"nodefs.Ckv3nYAO.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","p","o.resolve","s.existsSync","o.join","s.mkdirSync","e","r","c","i"],"mappings":"mHAAyFA,EAAC,EAAkD,IAAC,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,4 +1,4 @@
1
- import{aH as H,aI as m,aJ as o,aK as a,aL as A,aG as C,aM as P,aN as $}from"./index.BapSoqiD.js";import"react";import"react/jsx-runtime";import"react-dom";C();var B="state.txt",L="data",x={DIR:16384,FILE:32768},T,I,E,_,w,k,y,j,F,O,S,l,v,N,M,g,f,D,R,W,K=class extends H{constructor(t,{initialPoolSize:e=1e3,maintainedPoolSize:s=100,debug:i=!1}={}){super(t,{debug:i}),m(this,l),m(this,T),m(this,I),m(this,E),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=s}async init(t,e){return await o(this,l,v).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 a(this,y).values())t.close();a(this,w).flush(),a(this,w).close(),this.pg.Module.FS.quit()}async maintainPool(t){t=t||this.maintainedPoolSize;let e=t-this.state.pool.length,s=[];for(let i=0;i<e;i++)s.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 a(this,E).getFileHandle(r,{create:!0}),d=await c.createSyncAccessHandle();a(this,k).set(r,c),a(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--)s.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=a(this,k).get(r);(d=a(this,y).get(r))==null||d.close(),await a(this,E).removeEntry(c.name),a(this,k).delete(r),a(this,y).delete(r),h()}));await Promise.all(s)}_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));a(this,w).truncate(0),a(this,w).write(t,{at:0}),a(this,w).flush(),this.lastCheckpoint=Date.now()}flush(){for(let t of a(this,S))try{t.flush()}catch{}a(this,S).clear()}chmod(t,e){o(this,l,N).call(this,{opp:"chmod",args:[t,e]},()=>{this._chmodState(t,e)})}_chmodState(t,e){let s=o(this,l,f).call(this,t);s.mode=e}close(t){let e=o(this,l,D).call(this,t);a(this,F).delete(t),a(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),s=e.type==="file"?a(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:s,blksize:i,blocks:Math.ceil(s/i),atime:e.lastModified,mtime:e.lastModified,ctime:e.lastModified}}mkdir(t,e){o(this,l,N).call(this,{opp:"mkdir",args:[t,e]},()=>{this._mkdirState(t,e)})}_mkdirState(t,e){let s=o(this,l,g).call(this,t),i=s.pop(),h=[],r=this.state.root;for(let d of s){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)||x.DIR,children:{}};r.children[i]=c}open(t,e,s){if(o(this,l,f).call(this,t).type!=="file")throw new p("EISDIR","Is a directory");let i=o(this,l,R).call(this);return a(this,F).set(i,t),a(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,s,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 a(this,y).get(c.backingFilename).read(new Uint8Array(e.buffer,s,i),{at:h})}rename(t,e){o(this,l,N).call(this,{opp:"rename",args:[t,e]},()=>{this._renameState(t,e,!0)})}_renameState(t,e,s=!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(s&&Object.prototype.hasOwnProperty.call(n.children,d)){let u=n.children[d];a(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,N).call(this,{opp:"rmdir",args:[t]},()=>{this._rmdirState(t)})}_rmdirState(t){let e=o(this,l,g).call(this,t),s=e.pop(),i=o(this,l,f).call(this,e.join("/"));if(!Object.prototype.hasOwnProperty.call(i.children,s))throw new p("ENOENT","No such file or directory");let h=i.children[s];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[s]}truncate(t,e=0){let s=o(this,l,f).call(this,t);if(s.type!=="file")throw new p("EISDIR","Is a directory");let i=a(this,y).get(s.backingFilename);if(!i)throw new p("ENOENT","No such file or directory");i.truncate(e),a(this,S).add(i)}unlink(t){o(this,l,N).call(this,{opp:"unlink",args:[t]},()=>{this._unlinkState(t,!0)})}_unlinkState(t,e=!1){let s=o(this,l,g).call(this,t),i=s.pop(),h=o(this,l,f).call(this,s.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=a(this,y).get(r.backingFilename);c==null||c.truncate(0),a(this,S).add(c),a(this,O).has(t)&&(a(this,F).delete(a(this,O).get(t)),a(this,O).delete(t))}this.state.pool.push(r.backingFilename)}utimes(t,e,s){o(this,l,N).call(this,{opp:"utimes",args:[t,e,s]},()=>{this._utimesState(t,e,s)})}_utimesState(t,e,s){let i=o(this,l,f).call(this,t);i.lastModified=s}writeFile(t,e,s){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:(s==null?void 0:s.mode)||x.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=a(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")&&a(this,S).add(d))}_createFileNodeState(t,e){let s=o(this,l,g).call(this,t),i=s.pop(),h=o(this,l,f).call(this,s.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 s=o(this,l,f).call(this,t);s.lastModified=e}write(t,e,s,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=a(this,y).get(c.backingFilename);if(!d)throw new p("EBADF","Bad file descriptor");let n=d.write(new Uint8Array(e,s,i),{at:h});return r.startsWith("/pg_wal")&&a(this,S).add(d),n}};T=new WeakMap,I=new WeakMap,E=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,v=async function(){P(this,T,await navigator.storage.getDirectory()),P(this,I,await o(this,l,W).call(this,this.dataDir,{create:!0})),P(this,E,await o(this,l,W).call(this,L,{from:a(this,I),create:!0})),P(this,_,await a(this,I).getFileHandle(B,{create:!0})),P(this,w,await a(this,_).createSyncAccessHandle());let t=new ArrayBuffer(a(this,w).getSize());a(this,w).read(t,{at:0});let e,s=new TextDecoder().decode(t).split(`
1
+ import{aH as H,aI as m,aJ as o,aK as a,aL as A,aG as C,aM as P,aN as $}from"./index.DFyMrewv.js";import"react";import"react/jsx-runtime";import"react-dom";C();var B="state.txt",L="data",x={DIR:16384,FILE:32768},T,I,E,_,w,k,y,j,F,O,S,l,v,N,M,g,f,D,R,W,K=class extends H{constructor(t,{initialPoolSize:e=1e3,maintainedPoolSize:s=100,debug:i=!1}={}){super(t,{debug:i}),m(this,l),m(this,T),m(this,I),m(this,E),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=s}async init(t,e){return await o(this,l,v).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 a(this,y).values())t.close();a(this,w).flush(),a(this,w).close(),this.pg.Module.FS.quit()}async maintainPool(t){t=t||this.maintainedPoolSize;let e=t-this.state.pool.length,s=[];for(let i=0;i<e;i++)s.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 a(this,E).getFileHandle(r,{create:!0}),d=await c.createSyncAccessHandle();a(this,k).set(r,c),a(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--)s.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=a(this,k).get(r);(d=a(this,y).get(r))==null||d.close(),await a(this,E).removeEntry(c.name),a(this,k).delete(r),a(this,y).delete(r),h()}));await Promise.all(s)}_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));a(this,w).truncate(0),a(this,w).write(t,{at:0}),a(this,w).flush(),this.lastCheckpoint=Date.now()}flush(){for(let t of a(this,S))try{t.flush()}catch{}a(this,S).clear()}chmod(t,e){o(this,l,N).call(this,{opp:"chmod",args:[t,e]},()=>{this._chmodState(t,e)})}_chmodState(t,e){let s=o(this,l,f).call(this,t);s.mode=e}close(t){let e=o(this,l,D).call(this,t);a(this,F).delete(t),a(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),s=e.type==="file"?a(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:s,blksize:i,blocks:Math.ceil(s/i),atime:e.lastModified,mtime:e.lastModified,ctime:e.lastModified}}mkdir(t,e){o(this,l,N).call(this,{opp:"mkdir",args:[t,e]},()=>{this._mkdirState(t,e)})}_mkdirState(t,e){let s=o(this,l,g).call(this,t),i=s.pop(),h=[],r=this.state.root;for(let d of s){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)||x.DIR,children:{}};r.children[i]=c}open(t,e,s){if(o(this,l,f).call(this,t).type!=="file")throw new p("EISDIR","Is a directory");let i=o(this,l,R).call(this);return a(this,F).set(i,t),a(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,s,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 a(this,y).get(c.backingFilename).read(new Uint8Array(e.buffer,s,i),{at:h})}rename(t,e){o(this,l,N).call(this,{opp:"rename",args:[t,e]},()=>{this._renameState(t,e,!0)})}_renameState(t,e,s=!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(s&&Object.prototype.hasOwnProperty.call(n.children,d)){let u=n.children[d];a(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,N).call(this,{opp:"rmdir",args:[t]},()=>{this._rmdirState(t)})}_rmdirState(t){let e=o(this,l,g).call(this,t),s=e.pop(),i=o(this,l,f).call(this,e.join("/"));if(!Object.prototype.hasOwnProperty.call(i.children,s))throw new p("ENOENT","No such file or directory");let h=i.children[s];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[s]}truncate(t,e=0){let s=o(this,l,f).call(this,t);if(s.type!=="file")throw new p("EISDIR","Is a directory");let i=a(this,y).get(s.backingFilename);if(!i)throw new p("ENOENT","No such file or directory");i.truncate(e),a(this,S).add(i)}unlink(t){o(this,l,N).call(this,{opp:"unlink",args:[t]},()=>{this._unlinkState(t,!0)})}_unlinkState(t,e=!1){let s=o(this,l,g).call(this,t),i=s.pop(),h=o(this,l,f).call(this,s.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=a(this,y).get(r.backingFilename);c==null||c.truncate(0),a(this,S).add(c),a(this,O).has(t)&&(a(this,F).delete(a(this,O).get(t)),a(this,O).delete(t))}this.state.pool.push(r.backingFilename)}utimes(t,e,s){o(this,l,N).call(this,{opp:"utimes",args:[t,e,s]},()=>{this._utimesState(t,e,s)})}_utimesState(t,e,s){let i=o(this,l,f).call(this,t);i.lastModified=s}writeFile(t,e,s){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:(s==null?void 0:s.mode)||x.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=a(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")&&a(this,S).add(d))}_createFileNodeState(t,e){let s=o(this,l,g).call(this,t),i=s.pop(),h=o(this,l,f).call(this,s.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 s=o(this,l,f).call(this,t);s.lastModified=e}write(t,e,s,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=a(this,y).get(c.backingFilename);if(!d)throw new p("EBADF","Bad file descriptor");let n=d.write(new Uint8Array(e,s,i),{at:h});return r.startsWith("/pg_wal")&&a(this,S).add(d),n}};T=new WeakMap,I=new WeakMap,E=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,v=async function(){P(this,T,await navigator.storage.getDirectory()),P(this,I,await o(this,l,W).call(this,this.dataDir,{create:!0})),P(this,E,await o(this,l,W).call(this,L,{from:a(this,I),create:!0})),P(this,_,await a(this,I).getFileHandle(B,{create:!0})),P(this,w,await a(this,_).createSyncAccessHandle());let t=new ArrayBuffer(a(this,w).getSize());a(this,w).read(t,{at:0});let e,s=new TextDecoder().decode(t).split(`
2
2
  `),i=!1;try{e=JSON.parse(s[0])}catch{e={root:{type:"directory",lastModified:Date.now(),mode:x.DIR,children:{}},pool:[]},a(this,w).truncate(0),a(this,w).write(new TextEncoder().encode(JSON.stringify(e)),{at:0}),i=!0}this.state=e;let h=s.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 a(this,E).getFileHandle(n.backingFilename),b=await u.createSyncAccessHandle();a(this,k).set(n.backingFilename,u),a(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=>{a(this,k).has(n)&&console.warn("File handle already exists for pool file",n);let b=await a(this,E).getFileHandle(n),z=await b.createSyncAccessHandle();a(this,k).set(n,b),a(this,y).set(n,z),u()}));await Promise.all([...r,...d]),await this.maintainPool(i?this.initialPoolSize:this.maintainedPoolSize)},N=function(t,e){let s=o(this,l,M).call(this,t);try{e()}catch(i){throw a(this,w).truncate(s),i}},M=function(t){let e=JSON.stringify(t),s=new TextEncoder().encode(`
3
3
  ${e}`),i=a(this,w).getSize();return a(this,w).write(s,{at:i}),a(this,S).add(a(this,w)),i},g=function(t){return t.split("/").filter(Boolean)},f=function(t,e){let s=o(this,l,g).call(this,t),i=e||this.state.root;for(let h of s){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=a(this,F).get(t);if(!e)throw new p("EBADF","Bad file descriptor");return e},R=function(){let t=++$(this,j)._;for(;a(this,F).has(t);)$(this,j)._++;return t},W=async function(t,e){let s=o(this,l,g).call(this,t),i=(e==null?void 0:e.from)||a(this,T);for(let h of s)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{K as OpfsAhpFS};
4
- //# sourceMappingURL=opfs-ahp.EtXrzCL2.js.map
4
+ //# sourceMappingURL=opfs-ahp.js-oMwzH.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"opfs-ahp.EtXrzCL2.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":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"opfs-ahp.js-oMwzH.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":"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","x_google_ignoreList":[0]}
@@ -1,4 +1,4 @@
1
- import{an as c,ao as p,ap as g}from"./index.BapSoqiD.js";import{Component as h,createElement as l,createContext as m}from"react";async function C(n,r){if(!n)return;const t=n.split("/");t.pop(),t.pop(),t.push("drives");const e=t.join("/");return(await(await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:`
1
+ import{an as c,ao as p,ap as g}from"./index.DFyMrewv.js";import{Component as h,createElement as l,createContext as m}from"react";async function C(n,r){if(!n)return;const t=n.split("/");t.pop(),t.pop(),t.push("drives");const e=t.join("/");return(await(await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:`
2
2
  query getDriveIdBySlug($slug: String!) {
3
3
  driveIdBySlug(slug: $slug)
4
4
  }
@@ -16,4 +16,4 @@ import{an as c,ao as p,ap as g}from"./index.BapSoqiD.js";import{Component as h,c
16
16
  }
17
17
  }
18
18
  }`}function S(n,r,t){const e=y(n),o=v(t),s={documentId:r,driveId:e};return p.compressToEncodedURIComponent(JSON.stringify({document:o.trim(),variables:JSON.stringify(s,null,2)}))}function I(n,r,t){const e=f(n),o=c(t.name),s=S(n,r,t);return`${e}/${o}?explorerURLState=${s}`}const b=m(null),u={didCatch:!1,error:null};class w extends h{constructor(r){super(r),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=u}static getDerivedStateFromError(r){return{didCatch:!0,error:r}}resetErrorBoundary(){const{error:r}=this.state;if(r!==null){for(var t,e,o=arguments.length,s=new Array(o),a=0;a<o;a++)s[a]=arguments[a];(t=(e=this.props).onReset)===null||t===void 0||t.call(e,{args:s,reason:"imperative-api"}),this.setState(u)}}componentDidCatch(r,t){var e,o;(e=(o=this.props).onError)===null||e===void 0||e.call(o,r,t)}componentDidUpdate(r,t){const{didCatch:e}=this.state,{resetKeys:o}=this.props;if(e&&t.error!==null&&E(r.resetKeys,o)){var s,a;(s=(a=this.props).onReset)===null||s===void 0||s.call(a,{next:o,prev:r.resetKeys,reason:"keys"}),this.setState(u)}}render(){const{children:r,fallbackRender:t,FallbackComponent:e,fallback:o}=this.props,{didCatch:s,error:a}=this.state;let i=r;if(s){const d={error:a,resetErrorBoundary:this.resetErrorBoundary};if(typeof t=="function")i=t(d);else if(e)i=l(e,d);else if(o!==void 0)i=o;else throw a}return l(b.Provider,{value:{didCatch:s,error:a,resetErrorBoundary:this.resetErrorBoundary}},i)}}function E(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return n.length!==r.length||n.some((t,e)=>!Object.is(t,r[e]))}export{w as E,I as b,C as g};
19
- //# sourceMappingURL=react-error-boundary.esm.CwMnLDyV.js.map
19
+ //# sourceMappingURL=react-error-boundary.esm.BVdm9PKb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"react-error-boundary.esm.CwMnLDyV.js","sources":["../../../../packages/reactor-browser/dist/src/utils/switchboard.js","../../../../node_modules/.pnpm/react-error-boundary@4.1.2_react@18.3.1/node_modules/react-error-boundary/dist/react-error-boundary.esm.js"],"sourcesContent":["import { kebabCase } from \"change-case\";\nimport { generateDocumentStateQueryFields } from \"document-drive/utils/graphql\";\nimport { compressToEncodedURIComponent } from \"lz-string\";\nexport async function getDriveIdBySlug(driveUrl, slug) {\n if (!driveUrl) {\n return;\n }\n const urlParts = driveUrl.split(\"/\");\n urlParts.pop(); // remove id\n urlParts.pop(); // remove /d\n urlParts.push(\"drives\"); // add /drives\n const drivesUrl = urlParts.join(\"/\");\n const result = await fetch(drivesUrl, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n query: `\n query getDriveIdBySlug($slug: String!) {\n driveIdBySlug(slug: $slug)\n }\n `,\n variables: {\n slug,\n },\n }),\n });\n const data = (await result.json());\n return data.data.driveIdBySlug;\n}\nexport function getSlugFromDriveUrl(driveUrl) {\n const urlParts = driveUrl.split(\"/\");\n return urlParts.pop();\n}\nexport function getSwitchboardGatewayUrlFromDriveUrl(driveUrl) {\n const urlParts = driveUrl.split(\"/\");\n urlParts.pop(); // remove id\n urlParts.pop(); // remove /d\n urlParts.push(\"graphql\"); // add /graphql\n return urlParts.join(\"/\");\n}\nexport function getDocumentGraphqlQuery(documentModel) {\n const stateFields = generateDocumentStateQueryFields(documentModel, \"document\");\n return `query getDocument($documentId: PHID!, $driveId: String) {\n ${documentModel.name} {\n getDocument(docId: $documentId, driveId: $driveId) {\n id\n created\n lastModified\n name\n revision\n state {\n ${stateFields}\n }\n }\n }\n}`;\n}\nexport function buildDocumentSubgraphQuery(driveUrl, documentId, documentModel) {\n const driveSlug = getSlugFromDriveUrl(driveUrl);\n const query = getDocumentGraphqlQuery(documentModel);\n const variables = { documentId, driveId: driveSlug };\n return compressToEncodedURIComponent(JSON.stringify({\n document: query.trim(),\n variables: JSON.stringify(variables, null, 2),\n }));\n}\nexport function buildDocumentSubgraphUrl(driveUrl, documentId, documentModel) {\n const switchboardUrl = getSwitchboardGatewayUrlFromDriveUrl(driveUrl);\n const subgraph = kebabCase(documentModel.name);\n const encodedQuery = buildDocumentSubgraphQuery(driveUrl, documentId, documentModel);\n return `${switchboardUrl}/${subgraph}?explorerURLState=${encodedQuery}`;\n}\n//# sourceMappingURL=switchboard.js.map","'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"],"names":["getDriveIdBySlug","driveUrl","slug","urlParts","drivesUrl","getSlugFromDriveUrl","getSwitchboardGatewayUrlFromDriveUrl","getDocumentGraphqlQuery","documentModel","stateFields","generateDocumentStateQueryFields","buildDocumentSubgraphQuery","documentId","driveSlug","query","variables","compressToEncodedURIComponent","buildDocumentSubgraphUrl","switchboardUrl","subgraph","kebabCase","encodedQuery","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"],"mappings":"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","x_google_ignoreList":[1]}
1
+ {"version":3,"file":"react-error-boundary.esm.BVdm9PKb.js","sources":["../../../../packages/reactor-browser/dist/src/utils/switchboard.js","../../../../node_modules/.pnpm/react-error-boundary@4.1.2_react@18.3.1/node_modules/react-error-boundary/dist/react-error-boundary.esm.js"],"sourcesContent":["import { kebabCase } from \"change-case\";\nimport { generateDocumentStateQueryFields } from \"document-drive/utils/graphql\";\nimport { compressToEncodedURIComponent } from \"lz-string\";\nexport async function getDriveIdBySlug(driveUrl, slug) {\n if (!driveUrl) {\n return;\n }\n const urlParts = driveUrl.split(\"/\");\n urlParts.pop(); // remove id\n urlParts.pop(); // remove /d\n urlParts.push(\"drives\"); // add /drives\n const drivesUrl = urlParts.join(\"/\");\n const result = await fetch(drivesUrl, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n query: `\n query getDriveIdBySlug($slug: String!) {\n driveIdBySlug(slug: $slug)\n }\n `,\n variables: {\n slug,\n },\n }),\n });\n const data = (await result.json());\n return data.data.driveIdBySlug;\n}\nexport function getSlugFromDriveUrl(driveUrl) {\n const urlParts = driveUrl.split(\"/\");\n return urlParts.pop();\n}\nexport function getSwitchboardGatewayUrlFromDriveUrl(driveUrl) {\n const urlParts = driveUrl.split(\"/\");\n urlParts.pop(); // remove id\n urlParts.pop(); // remove /d\n urlParts.push(\"graphql\"); // add /graphql\n return urlParts.join(\"/\");\n}\nexport function getDocumentGraphqlQuery(documentModel) {\n const stateFields = generateDocumentStateQueryFields(documentModel, \"document\");\n return `query getDocument($documentId: PHID!, $driveId: String) {\n ${documentModel.name} {\n getDocument(docId: $documentId, driveId: $driveId) {\n id\n created\n lastModified\n name\n revision\n state {\n ${stateFields}\n }\n }\n }\n}`;\n}\nexport function buildDocumentSubgraphQuery(driveUrl, documentId, documentModel) {\n const driveSlug = getSlugFromDriveUrl(driveUrl);\n const query = getDocumentGraphqlQuery(documentModel);\n const variables = { documentId, driveId: driveSlug };\n return compressToEncodedURIComponent(JSON.stringify({\n document: query.trim(),\n variables: JSON.stringify(variables, null, 2),\n }));\n}\nexport function buildDocumentSubgraphUrl(driveUrl, documentId, documentModel) {\n const switchboardUrl = getSwitchboardGatewayUrlFromDriveUrl(driveUrl);\n const subgraph = kebabCase(documentModel.name);\n const encodedQuery = buildDocumentSubgraphQuery(driveUrl, documentId, documentModel);\n return `${switchboardUrl}/${subgraph}?explorerURLState=${encodedQuery}`;\n}\n//# sourceMappingURL=switchboard.js.map","'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"],"names":["getDriveIdBySlug","driveUrl","slug","urlParts","drivesUrl","getSlugFromDriveUrl","getSwitchboardGatewayUrlFromDriveUrl","getDocumentGraphqlQuery","documentModel","stateFields","generateDocumentStateQueryFields","buildDocumentSubgraphQuery","documentId","driveSlug","query","variables","compressToEncodedURIComponent","buildDocumentSubgraphUrl","switchboardUrl","subgraph","kebabCase","encodedQuery","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"],"mappings":"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","x_google_ignoreList":[1]}
@@ -1,2 +1,2 @@
1
- var h=Object.defineProperty;var c=i=>{throw TypeError(i)};var u=(i,e,r)=>e in i?h(i,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):i[e]=r;var o=(i,e,r)=>u(i,typeof e!="symbol"?e+"":e,r),k=(i,e,r)=>e.has(i)||c("Cannot "+r);var d=(i,e,r)=>e.has(i)?c("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(i):e.set(i,r);var s=(i,e,r)=>(k(i,e,"access private method"),r);import{c as g}from"./connect.config.DXj_NcAD.js";const f=parseInt(window.__VITE_ENVS.PH_CONNECT_VERSION_CHECK_INTERVAL)||60*60*1e3,w=g.routerBasename,W=[w,"service-worker.js"].join("/").replace(/\/{2,}/gm,"/");var a,l,n;class E{constructor(e=!1){d(this,a);o(this,"ready",!1);o(this,"debug",!1);o(this,"registration",null);this.debug=e}setDebug(e){this.debug=e}registerServiceWorker(e=!1){if(this.debug=e,!("serviceWorker"in navigator)){console.warn("Service Worker not available");return}window.addEventListener("load",async()=>{try{const r=await navigator.serviceWorker.getRegistration();if(r)await r.update(),s(this,a,n).call(this,r);else{const t=await navigator.serviceWorker.register(W);s(this,a,n).call(this,t),t.addEventListener("updatefound",()=>{s(this,a,n).call(this,t)})}const v=setInterval(async()=>{const t=await navigator.serviceWorker.getRegistration();t?await t.update():(clearInterval(v),this.registerServiceWorker())},f)}catch(r){console.error("ServiceWorker registration failed: ",r)}})}}a=new WeakSet,l=function(e){this.debug&&console.log("ServiceWorker message: ",e);const r="type"in e.data?e:null;switch(r==null?void 0:r.data.type){case"NEW_VERSION_AVAILABLE":{if(r.data.version===g.appVersion)return;r.data.requiresHardRefresh&&(this.debug&&console.log("New version available"),window.location.reload());break}default:{console.warn("Unhandled message:",r);break}}},n=function(e){this.debug&&console.log("ServiceWorker registered: ",e),navigator.serviceWorker.addEventListener("message",s(this,a,l).bind(this)),this.registration=e,this.ready=!0};const p=new E;export{p as s};
2
- //# sourceMappingURL=registerServiceWorker.D6Jhmty2.js.map
1
+ var h=Object.defineProperty;var c=i=>{throw TypeError(i)};var u=(i,e,r)=>e in i?h(i,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):i[e]=r;var o=(i,e,r)=>u(i,typeof e!="symbol"?e+"":e,r),k=(i,e,r)=>e.has(i)||c("Cannot "+r);var d=(i,e,r)=>e.has(i)?c("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(i):e.set(i,r);var s=(i,e,r)=>(k(i,e,"access private method"),r);import{c as g}from"./connect.config.BAfiKr20.js";const f=parseInt(window.__VITE_ENVS.PH_CONNECT_VERSION_CHECK_INTERVAL)||60*60*1e3,w=g.routerBasename,W=[w,"service-worker.js"].join("/").replace(/\/{2,}/gm,"/");var a,l,n;class E{constructor(e=!1){d(this,a);o(this,"ready",!1);o(this,"debug",!1);o(this,"registration",null);this.debug=e}setDebug(e){this.debug=e}registerServiceWorker(e=!1){if(this.debug=e,!("serviceWorker"in navigator)){console.warn("Service Worker not available");return}window.addEventListener("load",async()=>{try{const r=await navigator.serviceWorker.getRegistration();if(r)await r.update(),s(this,a,n).call(this,r);else{const t=await navigator.serviceWorker.register(W);s(this,a,n).call(this,t),t.addEventListener("updatefound",()=>{s(this,a,n).call(this,t)})}const v=setInterval(async()=>{const t=await navigator.serviceWorker.getRegistration();t?await t.update():(clearInterval(v),this.registerServiceWorker())},f)}catch(r){console.error("ServiceWorker registration failed: ",r)}})}}a=new WeakSet,l=function(e){this.debug&&console.log("ServiceWorker message: ",e);const r="type"in e.data?e:null;switch(r==null?void 0:r.data.type){case"NEW_VERSION_AVAILABLE":{if(r.data.version===g.appVersion)return;r.data.requiresHardRefresh&&(this.debug&&console.log("New version available"),window.location.reload());break}default:{console.warn("Unhandled message:",r);break}}},n=function(e){this.debug&&console.log("ServiceWorker registered: ",e),navigator.serviceWorker.addEventListener("message",s(this,a,l).bind(this)),this.registration=e,this.ready=!0};const p=new E;export{p as s};
2
+ //# sourceMappingURL=registerServiceWorker.CYN4Klg3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registerServiceWorker.D6Jhmty2.js","sources":["../../src/utils/registerServiceWorker.ts"],"sourcesContent":["import connectConfig from '../connect.config.js';\nimport { type ServiceWorkerMessage } from '../service-worker.js';\n\nconst VERSION_CHECK_INTERVAL =\n parseInt(import.meta.env.PH_CONNECT_VERSION_CHECK_INTERVAL) ||\n 60 * 60 * 1000; // 1 hour;\n\nconst basePath = connectConfig.routerBasename;\n\nconst serviceWorkerScriptPath = [basePath, 'service-worker.js']\n .join('/')\n .replace(/\\/{2,}/gm, '/');\n\nexport interface IServiceWorkerMessageData {\n type: string;\n}\n\nexport interface ServiceWorkerEvent<T extends IServiceWorkerMessageData>\n extends ExtendableMessageEvent {\n data: T;\n}\n\nclass ServiceWorkerManager {\n ready = false;\n debug = false;\n registration: ServiceWorkerRegistration | null = null;\n\n constructor(debug = false) {\n this.debug = debug;\n }\n\n setDebug(debug: boolean) {\n this.debug = debug;\n }\n\n #handleServiceWorkerMessage(event: MessageEvent | ServiceWorkerMessage) {\n if (this.debug) {\n console.log('ServiceWorker message: ', event);\n }\n const message =\n 'type' in event.data ? (event as ServiceWorkerMessage) : null;\n switch (message?.data.type) {\n case 'NEW_VERSION_AVAILABLE': {\n if (message.data.version === connectConfig.appVersion) {\n return;\n }\n if (message.data.requiresHardRefresh) {\n if (this.debug) {\n console.log('New version available');\n }\n\n window.location.reload(); // Reload the page to load the new version\n }\n break;\n }\n default: {\n console.warn('Unhandled message:', message);\n break;\n }\n }\n }\n\n #handleServiceWorker(registration: ServiceWorkerRegistration) {\n {\n // Listen for messages from the service worker\n if (this.debug) {\n console.log('ServiceWorker registered: ', registration);\n }\n\n navigator.serviceWorker.addEventListener(\n 'message',\n this.#handleServiceWorkerMessage.bind(this),\n );\n\n this.registration = registration;\n this.ready = true;\n }\n }\n\n registerServiceWorker(debug = false) {\n this.debug = debug;\n\n if (!('serviceWorker' in navigator)) {\n console.warn('Service Worker not available');\n return;\n }\n window.addEventListener('load', async () => {\n try {\n // checks if there is a service worker installed already and calls\n // its the update method to check if there is a new version available\n const existingRegistration =\n await navigator.serviceWorker.getRegistration();\n if (existingRegistration) {\n await existingRegistration.update();\n this.#handleServiceWorker(existingRegistration);\n }\n\n // if no service worker is installed then registers the service worker\n else {\n const registration = await navigator.serviceWorker.register(\n serviceWorkerScriptPath,\n );\n this.#handleServiceWorker(registration);\n\n registration.addEventListener('updatefound', () => {\n this.#handleServiceWorker(registration);\n });\n }\n\n // calls the update on an interval to force\n // the browser to check for a new version\n const intervalId = setInterval(async () => {\n const existingRegistration =\n await navigator.serviceWorker.getRegistration();\n if (existingRegistration) {\n await existingRegistration.update();\n } else {\n clearInterval(intervalId);\n this.registerServiceWorker();\n }\n }, VERSION_CHECK_INTERVAL);\n } catch (error) {\n console.error('ServiceWorker registration failed: ', error);\n }\n });\n }\n}\n\nexport const serviceWorkerManager = new ServiceWorkerManager();\n"],"names":["VERSION_CHECK_INTERVAL","basePath","connectConfig","serviceWorkerScriptPath","ServiceWorkerManager","debug","__privateAdd","_ServiceWorkerManager_instances","__publicField","existingRegistration","__privateMethod","handleServiceWorker_fn","registration","intervalId","error","handleServiceWorkerMessage_fn","event","message","serviceWorkerManager"],"mappings":"icAGA,MAAMA,EACF,SAAS,OAAA,YAAA,iCAAiD,GAC1D,GAAK,GAAK,IAERC,EAAWC,EAAc,eAEzBC,EAA0B,CAACF,EAAU,mBAAmB,EACzD,KAAK,GAAG,EACR,QAAQ,WAAY,GAAG,YAW5B,MAAMG,CAAqB,CAKvB,YAAYC,EAAQ,GAAO,CAL/BC,EAAA,KAAAC,GACIC,EAAA,aAAQ,IACRA,EAAA,aAAQ,IACRA,EAAA,oBAAiD,MAG7C,KAAK,MAAQH,CAAA,CAGjB,SAASA,EAAgB,CACrB,KAAK,MAAQA,CAAA,CA+CjB,sBAAsBA,EAAQ,GAAO,CAGjC,GAFA,KAAK,MAAQA,EAET,EAAE,kBAAmB,WAAY,CACjC,QAAQ,KAAK,8BAA8B,EAC3C,MAAA,CAEJ,OAAO,iBAAiB,OAAQ,SAAY,CACxC,GAAI,CAGA,MAAMI,EACF,MAAM,UAAU,cAAc,gBAAA,EAClC,GAAIA,EACA,MAAMA,EAAqB,OAAA,EAC3BC,EAAA,KAAKH,EAAAI,GAAL,UAA0BF,OAIzB,CACD,MAAMG,EAAe,MAAM,UAAU,cAAc,SAC/CT,CAAA,EAEJO,EAAA,KAAKH,EAAAI,GAAL,UAA0BC,GAE1BA,EAAa,iBAAiB,cAAe,IAAM,CAC/CF,EAAA,KAAKH,EAAAI,GAAL,UAA0BC,EAAY,CACzC,CAAA,CAKL,MAAMC,EAAa,YAAY,SAAY,CACvC,MAAMJ,EACF,MAAM,UAAU,cAAc,gBAAA,EAC9BA,EACA,MAAMA,EAAqB,OAAA,GAE3B,cAAcI,CAAU,EACxB,KAAK,sBAAA,EACT,EACDb,CAAsB,CAAA,OACpBc,EAAO,CACZ,QAAQ,MAAM,sCAAuCA,CAAK,CAAA,CAC9D,CACH,CAAA,CAET,CAxGAP,EAAA,YAaIQ,WAA4BC,EAA4C,CAChE,KAAK,OACL,QAAQ,IAAI,0BAA2BA,CAAK,EAEhD,MAAMC,EACF,SAAUD,EAAM,KAAQA,EAAiC,KAC7D,OAAQC,GAAA,YAAAA,EAAS,KAAK,KAAA,CAClB,IAAK,wBAAyB,CAC1B,GAAIA,EAAQ,KAAK,UAAYf,EAAc,WACvC,OAEAe,EAAQ,KAAK,sBACT,KAAK,OACL,QAAQ,IAAI,uBAAuB,EAGvC,OAAO,SAAS,OAAA,GAEpB,KAAA,CAEJ,QAAS,CACL,QAAQ,KAAK,qBAAsBA,CAAO,EAC1C,KAAA,CACJ,CACJ,EAGJN,WAAqBC,EAAyC,CAGlD,KAAK,OACL,QAAQ,IAAI,6BAA8BA,CAAY,EAG1D,UAAU,cAAc,iBACpB,UACAF,EAAA,KAAKH,EAAAQ,GAA4B,KAAK,IAAI,CAAA,EAG9C,KAAK,aAAeH,EACpB,KAAK,MAAQ,EACjB,EAoDD,MAAMM,EAAuB,IAAId"}
1
+ {"version":3,"file":"registerServiceWorker.CYN4Klg3.js","sources":["../../src/utils/registerServiceWorker.ts"],"sourcesContent":["import connectConfig from '../connect.config.js';\nimport { type ServiceWorkerMessage } from '../service-worker.js';\n\nconst VERSION_CHECK_INTERVAL =\n parseInt(import.meta.env.PH_CONNECT_VERSION_CHECK_INTERVAL) ||\n 60 * 60 * 1000; // 1 hour;\n\nconst basePath = connectConfig.routerBasename;\n\nconst serviceWorkerScriptPath = [basePath, 'service-worker.js']\n .join('/')\n .replace(/\\/{2,}/gm, '/');\n\nexport interface IServiceWorkerMessageData {\n type: string;\n}\n\nexport interface ServiceWorkerEvent<T extends IServiceWorkerMessageData>\n extends ExtendableMessageEvent {\n data: T;\n}\n\nclass ServiceWorkerManager {\n ready = false;\n debug = false;\n registration: ServiceWorkerRegistration | null = null;\n\n constructor(debug = false) {\n this.debug = debug;\n }\n\n setDebug(debug: boolean) {\n this.debug = debug;\n }\n\n #handleServiceWorkerMessage(event: MessageEvent | ServiceWorkerMessage) {\n if (this.debug) {\n console.log('ServiceWorker message: ', event);\n }\n const message =\n 'type' in event.data ? (event as ServiceWorkerMessage) : null;\n switch (message?.data.type) {\n case 'NEW_VERSION_AVAILABLE': {\n if (message.data.version === connectConfig.appVersion) {\n return;\n }\n if (message.data.requiresHardRefresh) {\n if (this.debug) {\n console.log('New version available');\n }\n\n window.location.reload(); // Reload the page to load the new version\n }\n break;\n }\n default: {\n console.warn('Unhandled message:', message);\n break;\n }\n }\n }\n\n #handleServiceWorker(registration: ServiceWorkerRegistration) {\n {\n // Listen for messages from the service worker\n if (this.debug) {\n console.log('ServiceWorker registered: ', registration);\n }\n\n navigator.serviceWorker.addEventListener(\n 'message',\n this.#handleServiceWorkerMessage.bind(this),\n );\n\n this.registration = registration;\n this.ready = true;\n }\n }\n\n registerServiceWorker(debug = false) {\n this.debug = debug;\n\n if (!('serviceWorker' in navigator)) {\n console.warn('Service Worker not available');\n return;\n }\n window.addEventListener('load', async () => {\n try {\n // checks if there is a service worker installed already and calls\n // its the update method to check if there is a new version available\n const existingRegistration =\n await navigator.serviceWorker.getRegistration();\n if (existingRegistration) {\n await existingRegistration.update();\n this.#handleServiceWorker(existingRegistration);\n }\n\n // if no service worker is installed then registers the service worker\n else {\n const registration = await navigator.serviceWorker.register(\n serviceWorkerScriptPath,\n );\n this.#handleServiceWorker(registration);\n\n registration.addEventListener('updatefound', () => {\n this.#handleServiceWorker(registration);\n });\n }\n\n // calls the update on an interval to force\n // the browser to check for a new version\n const intervalId = setInterval(async () => {\n const existingRegistration =\n await navigator.serviceWorker.getRegistration();\n if (existingRegistration) {\n await existingRegistration.update();\n } else {\n clearInterval(intervalId);\n this.registerServiceWorker();\n }\n }, VERSION_CHECK_INTERVAL);\n } catch (error) {\n console.error('ServiceWorker registration failed: ', error);\n }\n });\n }\n}\n\nexport const serviceWorkerManager = new ServiceWorkerManager();\n"],"names":["VERSION_CHECK_INTERVAL","basePath","connectConfig","serviceWorkerScriptPath","ServiceWorkerManager","debug","__privateAdd","_ServiceWorkerManager_instances","__publicField","existingRegistration","__privateMethod","handleServiceWorker_fn","registration","intervalId","error","handleServiceWorkerMessage_fn","event","message","serviceWorkerManager"],"mappings":"icAGA,MAAMA,EACF,SAAS,OAAA,YAAA,iCAAiD,GAC1D,GAAK,GAAK,IAERC,EAAWC,EAAc,eAEzBC,EAA0B,CAACF,EAAU,mBAAmB,EACzD,KAAK,GAAG,EACR,QAAQ,WAAY,GAAG,YAW5B,MAAMG,CAAqB,CAKvB,YAAYC,EAAQ,GAAO,CAL/BC,EAAA,KAAAC,GACIC,EAAA,aAAQ,IACRA,EAAA,aAAQ,IACRA,EAAA,oBAAiD,MAG7C,KAAK,MAAQH,CAAA,CAGjB,SAASA,EAAgB,CACrB,KAAK,MAAQA,CAAA,CA+CjB,sBAAsBA,EAAQ,GAAO,CAGjC,GAFA,KAAK,MAAQA,EAET,EAAE,kBAAmB,WAAY,CACjC,QAAQ,KAAK,8BAA8B,EAC3C,MAAA,CAEJ,OAAO,iBAAiB,OAAQ,SAAY,CACxC,GAAI,CAGA,MAAMI,EACF,MAAM,UAAU,cAAc,gBAAA,EAClC,GAAIA,EACA,MAAMA,EAAqB,OAAA,EAC3BC,EAAA,KAAKH,EAAAI,GAAL,UAA0BF,OAIzB,CACD,MAAMG,EAAe,MAAM,UAAU,cAAc,SAC/CT,CAAA,EAEJO,EAAA,KAAKH,EAAAI,GAAL,UAA0BC,GAE1BA,EAAa,iBAAiB,cAAe,IAAM,CAC/CF,EAAA,KAAKH,EAAAI,GAAL,UAA0BC,EAAY,CACzC,CAAA,CAKL,MAAMC,EAAa,YAAY,SAAY,CACvC,MAAMJ,EACF,MAAM,UAAU,cAAc,gBAAA,EAC9BA,EACA,MAAMA,EAAqB,OAAA,GAE3B,cAAcI,CAAU,EACxB,KAAK,sBAAA,EACT,EACDb,CAAsB,CAAA,OACpBc,EAAO,CACZ,QAAQ,MAAM,sCAAuCA,CAAK,CAAA,CAC9D,CACH,CAAA,CAET,CAxGAP,EAAA,YAaIQ,WAA4BC,EAA4C,CAChE,KAAK,OACL,QAAQ,IAAI,0BAA2BA,CAAK,EAEhD,MAAMC,EACF,SAAUD,EAAM,KAAQA,EAAiC,KAC7D,OAAQC,GAAA,YAAAA,EAAS,KAAK,KAAA,CAClB,IAAK,wBAAyB,CAC1B,GAAIA,EAAQ,KAAK,UAAYf,EAAc,WACvC,OAEAe,EAAQ,KAAK,sBACT,KAAK,OACL,QAAQ,IAAI,uBAAuB,EAGvC,OAAO,SAAS,OAAA,GAEpB,KAAA,CAEJ,QAAS,CACL,QAAQ,KAAK,qBAAsBA,CAAO,EAC1C,KAAA,CACJ,CACJ,EAGJN,WAAqBC,EAAyC,CAGlD,KAAK,OACL,QAAQ,IAAI,6BAA8BA,CAAY,EAG1D,UAAU,cAAc,iBACpB,UACAF,EAAA,KAAKH,EAAAQ,GAA4B,KAAK,IAAI,CAAA,EAG9C,KAAK,aAAeH,EACpB,KAAK,MAAQ,EACjB,EAoDD,MAAMM,EAAuB,IAAId"}