@powerhousedao/connect 4.1.0-dev.21 → 4.1.0-dev.22

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 (68) hide show
  1. package/dist/assets/{AddDriveModal.CD236M_f.js → AddDriveModal.DZSqTSES.js} +2 -2
  2. package/dist/assets/{AddDriveModal.CD236M_f.js.map → AddDriveModal.DZSqTSES.js.map} +1 -1
  3. package/dist/assets/{CookiesPolicyModal.FF1s7vxo.js → CookiesPolicyModal.CmngOQJ0.js} +2 -2
  4. package/dist/assets/{CookiesPolicyModal.FF1s7vxo.js.map → CookiesPolicyModal.CmngOQJ0.js.map} +1 -1
  5. package/dist/assets/{CreateDocumentModal.DFAJgJSa.js → CreateDocumentModal.D0aOUvud.js} +2 -2
  6. package/dist/assets/{CreateDocumentModal.DFAJgJSa.js.map → CreateDocumentModal.D0aOUvud.js.map} +1 -1
  7. package/dist/assets/{DebugSettingsModal.vXpnO3gf.js → DebugSettingsModal.DH8afF4N.js} +2 -2
  8. package/dist/assets/{DebugSettingsModal.vXpnO3gf.js.map → DebugSettingsModal.DH8afF4N.js.map} +1 -1
  9. package/dist/assets/{DeleteDriveModal.Bw5O7v4Z.js → DeleteDriveModal.Bc5WuBbs.js} +2 -2
  10. package/dist/assets/{DeleteDriveModal.Bw5O7v4Z.js.map → DeleteDriveModal.Bc5WuBbs.js.map} +1 -1
  11. package/dist/assets/{DeleteItemModal.qQ6d94st.js → DeleteItemModal.kbH21iIM.js} +2 -2
  12. package/dist/assets/{DeleteItemModal.qQ6d94st.js.map → DeleteItemModal.kbH21iIM.js.map} +1 -1
  13. package/dist/assets/{DisclaimerModal.C6PESA51.js → DisclaimerModal.ByWNCYte.js} +2 -2
  14. package/dist/assets/{DisclaimerModal.C6PESA51.js.map → DisclaimerModal.ByWNCYte.js.map} +1 -1
  15. package/dist/assets/{DriveSettingsModal.B6QFaHSI.js → DriveSettingsModal.Drle0eFP.js} +2 -2
  16. package/dist/assets/{DriveSettingsModal.B6QFaHSI.js.map → DriveSettingsModal.Drle0eFP.js.map} +1 -1
  17. package/dist/assets/{SettingsModal.DaNF8zOc.js → SettingsModal.Prg1bwnU.js} +2 -2
  18. package/dist/assets/{SettingsModal.DaNF8zOc.js.map → SettingsModal.Prg1bwnU.js.map} +1 -1
  19. package/dist/assets/{Trans.tT3J1skx.js → Trans.Cfj7Hl8U.js} +2 -2
  20. package/dist/assets/{Trans.tT3J1skx.js.map → Trans.Cfj7Hl8U.js.map} +1 -1
  21. package/dist/assets/{UpgradeDriveModal.BP5lDPFB.js → UpgradeDriveModal.CLTqE5v0.js} +2 -2
  22. package/dist/assets/{UpgradeDriveModal.BP5lDPFB.js.map → UpgradeDriveModal.CLTqE5v0.js.map} +1 -1
  23. package/dist/assets/{atlas-import.BP-BUgaz.js → atlas-import.CE1LkueM.js} +2 -2
  24. package/dist/assets/{atlas-import.BP-BUgaz.js.map → atlas-import.CE1LkueM.js.map} +1 -1
  25. package/dist/assets/{content.BfvrMr0V.js → content.Di1_TxLo.js} +2 -2
  26. package/dist/assets/{content.BfvrMr0V.js.map → content.Di1_TxLo.js.map} +1 -1
  27. package/dist/assets/{cookie-banner.H8ltpgLH.js → cookie-banner.CN8lvPw2.js} +2 -2
  28. package/dist/assets/{cookie-banner.H8ltpgLH.js.map → cookie-banner.CN8lvPw2.js.map} +1 -1
  29. package/dist/assets/{index.CyGg9uhs.js → index.B8YpY9RS.js} +2 -2
  30. package/dist/assets/{index.CyGg9uhs.js.map → index.B8YpY9RS.js.map} +1 -1
  31. package/dist/assets/{index.DnAVSnDb.js → index.BQUHyrbF.js} +2 -2
  32. package/dist/assets/{index.DnAVSnDb.js.map → index.BQUHyrbF.js.map} +1 -1
  33. package/dist/assets/{index.BaBR0A-H.js → index.BTT7iJxn.js} +2 -2
  34. package/dist/assets/{index.BaBR0A-H.js.map → index.BTT7iJxn.js.map} +1 -1
  35. package/dist/assets/{index.DkU3u_hY.js → index.CE0NtSpX.js} +2 -2
  36. package/dist/assets/{index.DkU3u_hY.js.map → index.CE0NtSpX.js.map} +1 -1
  37. package/dist/assets/{index.gD5wGEzl.js → index.CvVLiiFL.js} +2 -2
  38. package/dist/assets/{index.gD5wGEzl.js.map → index.CvVLiiFL.js.map} +1 -1
  39. package/dist/assets/{index.Cx09-3h-.js → index.D1VdJrbu.js} +5 -5
  40. package/dist/assets/{index.Cx09-3h-.js.map → index.D1VdJrbu.js.map} +1 -1
  41. package/dist/assets/{index.BDASdl6n.js → index.ZacG98dM.js} +2 -2
  42. package/dist/assets/{index.BDASdl6n.js.map → index.ZacG98dM.js.map} +1 -1
  43. package/dist/assets/{main.Cvb9h3xm.js → main.BMn2Koxc.js} +3 -3
  44. package/dist/assets/{main.Cvb9h3xm.js.map → main.BMn2Koxc.js.map} +1 -1
  45. package/dist/assets/{modal.Bqyzi2Hr.js → modal.rCKchklN.js} +3 -3
  46. package/dist/assets/{modal.Bqyzi2Hr.js.map → modal.rCKchklN.js.map} +1 -1
  47. package/dist/assets/{modals.C51Hau9T.js → modals.BND5VgGq.js} +2 -2
  48. package/dist/assets/{modals.C51Hau9T.js.map → modals.BND5VgGq.js.map} +1 -1
  49. package/dist/assets/{nodefs.nYhQAdIV.js → nodefs.Bo5ZNHrD.js} +2 -2
  50. package/dist/assets/{nodefs.nYhQAdIV.js.map → nodefs.Bo5ZNHrD.js.map} +1 -1
  51. package/dist/assets/{nodes.CNC9HfbA.js → nodes.Dm7Ct2Qu.js} +2 -2
  52. package/dist/assets/{nodes.CNC9HfbA.js.map → nodes.Dm7Ct2Qu.js.map} +1 -1
  53. package/dist/assets/{opfs-ahp.DEI4_OMV.js → opfs-ahp.FfypeTGM.js} +2 -2
  54. package/dist/assets/{opfs-ahp.DEI4_OMV.js.map → opfs-ahp.FfypeTGM.js.map} +1 -1
  55. package/dist/assets/{registerServiceWorker.D3pB6TTq.js → registerServiceWorker.BedDSXhk.js} +2 -2
  56. package/dist/assets/{registerServiceWorker.D3pB6TTq.js.map → registerServiceWorker.BedDSXhk.js.map} +1 -1
  57. package/dist/assets/{root.Cc0x0eTC.js → root.DGk8DJK0.js} +2 -2
  58. package/dist/assets/{root.Cc0x0eTC.js.map → root.DGk8DJK0.js.map} +1 -1
  59. package/dist/assets/{useAcceptedCookies.DHQO4jEL.js → useAcceptedCookies.D1uKoy1t.js} +2 -2
  60. package/dist/assets/{useAcceptedCookies.DHQO4jEL.js.map → useAcceptedCookies.D1uKoy1t.js.map} +1 -1
  61. package/dist/assets/useDefaultDocumentModelEditor.8vdl-Z1u.js +2 -0
  62. package/dist/assets/{useDefaultDocumentModelEditor.rOh8o4If.js.map → useDefaultDocumentModelEditor.8vdl-Z1u.js.map} +1 -1
  63. package/dist/assets/{useInitSentry.BXZzeAO4.js → useInitSentry.Bb28RsdX.js} +6 -6
  64. package/dist/assets/{useInitSentry.BXZzeAO4.js.map → useInitSentry.Bb28RsdX.js.map} +1 -1
  65. package/dist/index.html +1 -1
  66. package/dist/vite-envs.sh +1 -1
  67. package/package.json +10 -10
  68. package/dist/assets/useDefaultDocumentModelEditor.rOh8o4If.js +0 -2
@@ -1,3 +1,3 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index.Cx09-3h-.js","./index.Xt1GtJTP.js","./browser.BkwNmV2Z.js","./app-skeleton.js","./index-B7k827uL.css"])))=>i.map(i=>d[i]);
2
- import{_ as c}from"./index.Xt1GtJTP.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.Cx09-3h-.js").then(i=>i.bX),__vite__mapDeps([0,1,2,3,4]),import.meta.url);
3
- //# sourceMappingURL=main.Cvb9h3xm.js.map
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index.D1VdJrbu.js","./index.Xt1GtJTP.js","./browser.BkwNmV2Z.js","./app-skeleton.js","./index-B7k827uL.css"])))=>i.map(i=>d[i]);
2
+ import{_ as c}from"./index.Xt1GtJTP.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.D1VdJrbu.js").then(i=>i.bX),__vite__mapDeps([0,1,2,3,4]),import.meta.url);
3
+ //# sourceMappingURL=main.BMn2Koxc.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.Cvb9h3xm.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.BMn2Koxc.js"}
@@ -1,3 +1,3 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DeleteItemModal.qQ6d94st.js","./index.Cx09-3h-.js","./index.Xt1GtJTP.js","./browser.BkwNmV2Z.js","./app-skeleton.js","./index-B7k827uL.css","./nodes.CNC9HfbA.js","./UpgradeDriveModal.BP5lDPFB.js","./CreateDocumentModal.DFAJgJSa.js","./AddDriveModal.CD236M_f.js","./AddLocalDriveModal.B_QurIsO.js","./AddRemoteDriveModal.Bs2xPNds.js","./DriveSettingsModal.B6QFaHSI.js","./SettingsModal.DaNF8zOc.js","./i18next.CqOP20KE.js","./useDefaultDocumentModelEditor.rOh8o4If.js","./ConfirmationModal.CtQZrIOA.js","./DeleteDriveModal.Bw5O7v4Z.js","./DebugSettingsModal.vXpnO3gf.js","./registerServiceWorker.D3pB6TTq.js","./DisclaimerModal.C6PESA51.js","./CookiesPolicyModal.FF1s7vxo.js","./Trans.tT3J1skx.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.Xt1GtJTP.js";import"react-dom";const L={deleteItem:t(()=>o(()=>import("./DeleteItemModal.qQ6d94st.js"),__vite__mapDeps([0,1,2,3,4,5,6]),import.meta.url).then(e=>({default:e.DeleteItemModal}))),upgradeDrive:t(()=>o(()=>import("./UpgradeDriveModal.BP5lDPFB.js"),__vite__mapDeps([7,1,2,3,4,5]),import.meta.url).then(e=>({default:e.UpgradeDriveModal}))),createDocument:t(()=>o(()=>import("./CreateDocumentModal.DFAJgJSa.js"),__vite__mapDeps([8,2,1,3,4,5,6]),import.meta.url).then(e=>({default:e.CreateDocumentModal}))),addDriveModal:t(()=>o(()=>import("./AddDriveModal.CD236M_f.js"),__vite__mapDeps([9,2,1,3,4,5]),import.meta.url).then(e=>({default:e.AddDriveModal}))),addLocalDrive:t(()=>o(()=>import("./AddLocalDriveModal.B_QurIsO.js"),__vite__mapDeps([10,2]),import.meta.url).then(e=>({default:e.AddLocalDriveModal}))),addRemoteDrive:t(()=>o(()=>import("./AddRemoteDriveModal.Bs2xPNds.js"),__vite__mapDeps([11,2]),import.meta.url).then(e=>({default:e.AddRemoteDriveModal}))),driveSettings:t(()=>o(()=>import("./DriveSettingsModal.B6QFaHSI.js"),__vite__mapDeps([12,1,2,3,4,5]),import.meta.url).then(e=>({default:e.DriveSettingsModal}))),settingsModal:t(()=>o(()=>import("./SettingsModal.DaNF8zOc.js"),__vite__mapDeps([13,14,1,2,3,4,5,6,15]),import.meta.url).then(e=>({default:e.SettingsModal}))),confirmationModal:t(()=>o(()=>import("./ConfirmationModal.CtQZrIOA.js"),__vite__mapDeps([16,2]),import.meta.url).then(e=>({default:e.ConfirmationModal}))),deleteDriveModal:t(()=>o(()=>import("./DeleteDriveModal.Bw5O7v4Z.js"),__vite__mapDeps([17,1,2,3,4,5]),import.meta.url).then(e=>({default:e.DeleteDriveModal}))),debugSettingsModal:t(()=>o(()=>import("./DebugSettingsModal.vXpnO3gf.js"),__vite__mapDeps([18,1,2,3,4,5,19]),import.meta.url).then(e=>({default:e.DebugSettingsModal}))),disclaimerModal:t(()=>o(()=>import("./DisclaimerModal.C6PESA51.js"),__vite__mapDeps([20,1,2,3,4,5]),import.meta.url).then(e=>({default:e.DisclaimerModal}))),cookiesPolicy:t(()=>o(()=>import("./CookiesPolicyModal.FF1s7vxo.js"),__vite__mapDeps([21,1,2,3,4,5,22]),import.meta.url).then(e=>({default:e.CookiesPolicyModal})))},u=h.createContext({showModal:()=>{},closeModal:()=>{}}),C=()=>A(u),x=e=>{const{children:s}=e,[p,c]=a(),[l,M]=a(),[D,d]=a(!1),i=n((E,f)=>{d(!0),c(f),M(E)},[]),r=n(()=>{d(!1)},[]),_=l?L[l]:null,v=R(()=>({showModal:i,closeModal:r}),[r,i]);return P(u.Provider,{value:v,children:[s,m(I,{name:"ModalManager",children:_&&m(_,{...p,open:D,onClose:r})})]})};export{u as ModalContext,x as ModalManager,C as useModal};
3
- //# sourceMappingURL=modal.Bqyzi2Hr.js.map
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DeleteItemModal.kbH21iIM.js","./index.D1VdJrbu.js","./index.Xt1GtJTP.js","./browser.BkwNmV2Z.js","./app-skeleton.js","./index-B7k827uL.css","./nodes.Dm7Ct2Qu.js","./UpgradeDriveModal.CLTqE5v0.js","./CreateDocumentModal.D0aOUvud.js","./AddDriveModal.DZSqTSES.js","./AddLocalDriveModal.B_QurIsO.js","./AddRemoteDriveModal.Bs2xPNds.js","./DriveSettingsModal.Drle0eFP.js","./SettingsModal.Prg1bwnU.js","./i18next.CqOP20KE.js","./useDefaultDocumentModelEditor.8vdl-Z1u.js","./ConfirmationModal.CtQZrIOA.js","./DeleteDriveModal.Bc5WuBbs.js","./DebugSettingsModal.DH8afF4N.js","./registerServiceWorker.BedDSXhk.js","./DisclaimerModal.ByWNCYte.js","./CookiesPolicyModal.CmngOQJ0.js","./Trans.Cfj7Hl8U.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.Xt1GtJTP.js";import"react-dom";const L={deleteItem:t(()=>o(()=>import("./DeleteItemModal.kbH21iIM.js"),__vite__mapDeps([0,1,2,3,4,5,6]),import.meta.url).then(e=>({default:e.DeleteItemModal}))),upgradeDrive:t(()=>o(()=>import("./UpgradeDriveModal.CLTqE5v0.js"),__vite__mapDeps([7,1,2,3,4,5]),import.meta.url).then(e=>({default:e.UpgradeDriveModal}))),createDocument:t(()=>o(()=>import("./CreateDocumentModal.D0aOUvud.js"),__vite__mapDeps([8,2,1,3,4,5,6]),import.meta.url).then(e=>({default:e.CreateDocumentModal}))),addDriveModal:t(()=>o(()=>import("./AddDriveModal.DZSqTSES.js"),__vite__mapDeps([9,2,1,3,4,5]),import.meta.url).then(e=>({default:e.AddDriveModal}))),addLocalDrive:t(()=>o(()=>import("./AddLocalDriveModal.B_QurIsO.js"),__vite__mapDeps([10,2]),import.meta.url).then(e=>({default:e.AddLocalDriveModal}))),addRemoteDrive:t(()=>o(()=>import("./AddRemoteDriveModal.Bs2xPNds.js"),__vite__mapDeps([11,2]),import.meta.url).then(e=>({default:e.AddRemoteDriveModal}))),driveSettings:t(()=>o(()=>import("./DriveSettingsModal.Drle0eFP.js"),__vite__mapDeps([12,1,2,3,4,5]),import.meta.url).then(e=>({default:e.DriveSettingsModal}))),settingsModal:t(()=>o(()=>import("./SettingsModal.Prg1bwnU.js"),__vite__mapDeps([13,14,1,2,3,4,5,6,15]),import.meta.url).then(e=>({default:e.SettingsModal}))),confirmationModal:t(()=>o(()=>import("./ConfirmationModal.CtQZrIOA.js"),__vite__mapDeps([16,2]),import.meta.url).then(e=>({default:e.ConfirmationModal}))),deleteDriveModal:t(()=>o(()=>import("./DeleteDriveModal.Bc5WuBbs.js"),__vite__mapDeps([17,1,2,3,4,5]),import.meta.url).then(e=>({default:e.DeleteDriveModal}))),debugSettingsModal:t(()=>o(()=>import("./DebugSettingsModal.DH8afF4N.js"),__vite__mapDeps([18,1,2,3,4,5,19]),import.meta.url).then(e=>({default:e.DebugSettingsModal}))),disclaimerModal:t(()=>o(()=>import("./DisclaimerModal.ByWNCYte.js"),__vite__mapDeps([20,1,2,3,4,5]),import.meta.url).then(e=>({default:e.DisclaimerModal}))),cookiesPolicy:t(()=>o(()=>import("./CookiesPolicyModal.CmngOQJ0.js"),__vite__mapDeps([21,1,2,3,4,5,22]),import.meta.url).then(e=>({default:e.CookiesPolicyModal})))},u=h.createContext({showModal:()=>{},closeModal:()=>{}}),C=()=>A(u),x=e=>{const{children:s}=e,[p,c]=a(),[l,M]=a(),[D,d]=a(!1),i=n((E,f)=>{d(!0),c(f),M(E)},[]),r=n(()=>{d(!1)},[]),_=l?L[l]:null,v=R(()=>({showModal:i,closeModal:r}),[r,i]);return P(u.Provider,{value:v,children:[s,m(I,{name:"ModalManager",children:_&&m(_,{...p,open:D,onClose:r})})]})};export{u as ModalContext,x as ModalManager,C as useModal};
3
+ //# sourceMappingURL=modal.rCKchklN.js.map
@@ -1 +1 @@
1
- {"version":3,"mappings":";sNAEO,MAAMA,EAAS,CAClB,WAAYC,EAAK,IAAAC,EAAA,IACb,OAAO,+BAAsB,oDAAE,KAAKC,IAAM,CACtC,QAASA,EAAE,iBACb,GAEN,aAAcF,EAAK,IAAAC,EAAA,IACf,OAAO,iCAAwB,kDAAE,KAAKC,IAAM,CACxC,QAASA,EAAE,mBACb,GAEN,eAAgBF,EAAK,IAAAC,EAAA,IACjB,OAAO,mCAA0B,oDAAE,KAAKC,IAAM,CAC1C,QAASA,EAAE,qBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,6BAAoB,kDAAE,KAAKC,IAAM,CACpC,QAASA,EAAE,eACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,kCAAyB,2CAAE,KAAKC,IAAM,CACzC,QAASA,EAAE,oBACb,GAEN,eAAgBF,EAAK,IAAAC,EAAA,IACjB,OAAO,mCAA0B,2CAAE,KAAKC,IAAM,CAC1C,QAASA,EAAE,qBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,kCAAyB,mDAAE,KAAKC,IAAM,CACzC,QAASA,EAAE,oBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,6BAAoB,2DAAE,KAAKC,IAAM,CACpC,QAASA,EAAE,eACb,GAEN,kBAAmBF,EAAK,IAAAC,EAAA,IACpB,OAAO,iCAAwB,2CAAE,KAAKC,IAAM,CACxC,QAASA,EAAE,mBACb,GAEN,iBAAkBF,EAAK,IAAAC,EAAA,IACnB,OAAO,gCAAuB,mDAAE,KAAKC,IAAM,CACvC,QAASA,EAAE,kBACb,GAEN,mBAAoBF,EAAK,IAAAC,EAAA,IACrB,OAAO,kCAAyB,sDAAE,KAAKC,IAAM,CACzC,QAASA,EAAE,oBACb,GAEN,gBAAiBF,EAAK,IAAAC,EAAA,IAClB,OAAO,+BAAsB,mDAAE,KAAKC,IAAM,CACtC,QAASA,EAAE,iBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,kCAAyB,sDAAE,KAAKC,IAAM,CACzC,QAASA,EAAE,oBACb,EAEV,ECzCaC,EAAeC,EAAM,cAAiC,CAC/D,UAAW,IAAM,GACjB,WAAY,IAAM,EACtB,CAAC,EAEYC,EAAW,IACJC,EAAWH,CAAY,EAI9BI,EAAyDC,GAAS,CAC3E,KAAM,CAAE,SAAAC,GAAaD,EAEf,CAACE,EAAYC,CAAa,EAC5BC,EAAA,EACE,CAACC,EAAWC,CAAY,EAAIF,EAAA,EAC5B,CAACG,EAAMC,CAAO,EAAIJ,EAAS,EAAK,EAEhCK,EAA4CC,EAC9C,CAACL,EAAWL,IAAU,CAClBQ,EAAQ,EAAI,EACZL,EAAcH,CAAK,EACnBM,EAAaD,CAAS,GAE1B,EAAC,EAGCM,EAA8CD,EAAY,IAAM,CAClEF,EAAQ,EAAK,GACd,EAAE,EAECI,EAAiBP,EAAYd,EAAOc,CAAS,EAAI,KAEjDQ,EAAQC,EACV,KAAO,CAAE,UAAAL,EAAW,WAAAE,IACpB,CAACA,EAAYF,CAAS,GAG1B,OACIM,EAACpB,EAAa,SAAb,CAAsB,MAAAkB,EAClB,UAAAZ,EACDe,EAACC,EAAA,CAAS,KAAK,eACV,SAAAL,GACGI,EAACJ,EAAA,CACI,GAAIV,EACL,KAAAK,EACA,QAASI,CAAA,EACb,CAER,GACJ,CAER","names":["modals","lazy","__vitePreload","m","ModalContext","React","useModal","useContext","ModalManager","props","children","modalProps","setModalProps","useState","modalType","setModalType","open","setOpen","showModal","useCallback","closeModal","ModalComponent","value","useMemo","jsxs","jsx","Suspense"],"ignoreList":[],"sources":["../../src/components/modal/modals/index.ts","../../src/components/modal/modal.tsx"],"sourcesContent":["import { lazy } from 'react';\n\nexport const modals = {\n deleteItem: lazy(() =>\n import('./DeleteItemModal.js').then(m => ({\n default: m.DeleteItemModal,\n })),\n ),\n upgradeDrive: lazy(() =>\n import('./UpgradeDriveModal.js').then(m => ({\n default: m.UpgradeDriveModal,\n })),\n ),\n createDocument: lazy(() =>\n import('./CreateDocumentModal.js').then(m => ({\n default: m.CreateDocumentModal,\n })),\n ),\n addDriveModal: lazy(() =>\n import('./AddDriveModal.js').then(m => ({\n default: m.AddDriveModal,\n })),\n ),\n addLocalDrive: lazy(() =>\n import('./AddLocalDriveModal.js').then(m => ({\n default: m.AddLocalDriveModal,\n })),\n ),\n addRemoteDrive: lazy(() =>\n import('./AddRemoteDriveModal.js').then(m => ({\n default: m.AddRemoteDriveModal,\n })),\n ),\n driveSettings: lazy(() =>\n import('./DriveSettingsModal.js').then(m => ({\n default: m.DriveSettingsModal,\n })),\n ),\n settingsModal: lazy(() =>\n import('./SettingsModal.js').then(m => ({\n default: m.SettingsModal,\n })),\n ),\n confirmationModal: lazy(() =>\n import('./ConfirmationModal.js').then(m => ({\n default: m.ConfirmationModal,\n })),\n ),\n deleteDriveModal: lazy(() =>\n import('./DeleteDriveModal.js').then(m => ({\n default: m.DeleteDriveModal,\n })),\n ),\n debugSettingsModal: lazy(() =>\n import('./DebugSettingsModal.js').then(m => ({\n default: m.DebugSettingsModal,\n })),\n ),\n disclaimerModal: lazy(() =>\n import('./DisclaimerModal.js').then(m => ({\n default: m.DisclaimerModal,\n })),\n ),\n cookiesPolicy: lazy(() =>\n import('./CookiesPolicyModal.js').then(m => ({\n default: m.CookiesPolicyModal,\n })),\n ),\n} as const;\n\nexport type Modals = typeof modals;\n\nexport type ModalType = keyof Modals;\n\nexport type ModalPropsMapping = {\n [K in ModalType]: React.ComponentProps<Modals[K]>;\n};\n","import React, {\n Suspense,\n useCallback,\n useContext,\n useMemo,\n useState,\n} from 'react';\nimport {\n type ModalPropsMapping,\n type ModalType,\n modals,\n} from './modals/index.js';\n\ntype MapModalProps<T> = {\n [K in keyof T]: Omit<T[K], 'open' | 'onClose'> & { onClose?: () => void };\n};\n\ntype ModalProps = MapModalProps<ModalPropsMapping>;\n\ninterface ModalContextValue {\n showModal: <T extends ModalType>(\n modalType: T,\n props: ModalProps[T],\n ) => void;\n closeModal: () => void;\n}\n\nexport const ModalContext = React.createContext<ModalContextValue>({\n showModal: () => {},\n closeModal: () => {},\n});\n\nexport const useModal = () => {\n const context = useContext(ModalContext);\n return context;\n};\n\nexport const ModalManager: React.FC<{ children?: React.ReactNode }> = props => {\n const { children } = props;\n\n const [modalProps, setModalProps] =\n useState<ModalProps[keyof ModalProps]>();\n const [modalType, setModalType] = useState<ModalType>();\n const [open, setOpen] = useState(false);\n\n const showModal: ModalContextValue['showModal'] = useCallback(\n (modalType, props) => {\n setOpen(true);\n setModalProps(props);\n setModalType(modalType);\n },\n [],\n );\n\n const closeModal: ModalContextValue['closeModal'] = useCallback(() => {\n setOpen(false);\n }, []);\n\n const ModalComponent = modalType ? modals[modalType] : null;\n\n const value = useMemo(\n () => ({ showModal, closeModal }),\n [closeModal, showModal],\n );\n\n return (\n <ModalContext.Provider value={value}>\n {children}\n <Suspense name=\"ModalManager\">\n {ModalComponent && (\n <ModalComponent\n {...(modalProps as any)}\n open={open}\n onClose={closeModal}\n />\n )}\n </Suspense>\n </ModalContext.Provider>\n );\n};\n"],"file":"assets/modal.Bqyzi2Hr.js"}
1
+ {"version":3,"mappings":";sNAEO,MAAMA,EAAS,CAClB,WAAYC,EAAK,IAAAC,EAAA,IACb,OAAO,+BAAsB,oDAAE,KAAKC,IAAM,CACtC,QAASA,EAAE,iBACb,GAEN,aAAcF,EAAK,IAAAC,EAAA,IACf,OAAO,iCAAwB,kDAAE,KAAKC,IAAM,CACxC,QAASA,EAAE,mBACb,GAEN,eAAgBF,EAAK,IAAAC,EAAA,IACjB,OAAO,mCAA0B,oDAAE,KAAKC,IAAM,CAC1C,QAASA,EAAE,qBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,6BAAoB,kDAAE,KAAKC,IAAM,CACpC,QAASA,EAAE,eACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,kCAAyB,2CAAE,KAAKC,IAAM,CACzC,QAASA,EAAE,oBACb,GAEN,eAAgBF,EAAK,IAAAC,EAAA,IACjB,OAAO,mCAA0B,2CAAE,KAAKC,IAAM,CAC1C,QAASA,EAAE,qBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,kCAAyB,mDAAE,KAAKC,IAAM,CACzC,QAASA,EAAE,oBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,6BAAoB,2DAAE,KAAKC,IAAM,CACpC,QAASA,EAAE,eACb,GAEN,kBAAmBF,EAAK,IAAAC,EAAA,IACpB,OAAO,iCAAwB,2CAAE,KAAKC,IAAM,CACxC,QAASA,EAAE,mBACb,GAEN,iBAAkBF,EAAK,IAAAC,EAAA,IACnB,OAAO,gCAAuB,mDAAE,KAAKC,IAAM,CACvC,QAASA,EAAE,kBACb,GAEN,mBAAoBF,EAAK,IAAAC,EAAA,IACrB,OAAO,kCAAyB,sDAAE,KAAKC,IAAM,CACzC,QAASA,EAAE,oBACb,GAEN,gBAAiBF,EAAK,IAAAC,EAAA,IAClB,OAAO,+BAAsB,mDAAE,KAAKC,IAAM,CACtC,QAASA,EAAE,iBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,kCAAyB,sDAAE,KAAKC,IAAM,CACzC,QAASA,EAAE,oBACb,EAEV,ECzCaC,EAAeC,EAAM,cAAiC,CAC/D,UAAW,IAAM,GACjB,WAAY,IAAM,EACtB,CAAC,EAEYC,EAAW,IACJC,EAAWH,CAAY,EAI9BI,EAAyDC,GAAS,CAC3E,KAAM,CAAE,SAAAC,GAAaD,EAEf,CAACE,EAAYC,CAAa,EAC5BC,EAAA,EACE,CAACC,EAAWC,CAAY,EAAIF,EAAA,EAC5B,CAACG,EAAMC,CAAO,EAAIJ,EAAS,EAAK,EAEhCK,EAA4CC,EAC9C,CAACL,EAAWL,IAAU,CAClBQ,EAAQ,EAAI,EACZL,EAAcH,CAAK,EACnBM,EAAaD,CAAS,GAE1B,EAAC,EAGCM,EAA8CD,EAAY,IAAM,CAClEF,EAAQ,EAAK,GACd,EAAE,EAECI,EAAiBP,EAAYd,EAAOc,CAAS,EAAI,KAEjDQ,EAAQC,EACV,KAAO,CAAE,UAAAL,EAAW,WAAAE,IACpB,CAACA,EAAYF,CAAS,GAG1B,OACIM,EAACpB,EAAa,SAAb,CAAsB,MAAAkB,EAClB,UAAAZ,EACDe,EAACC,EAAA,CAAS,KAAK,eACV,SAAAL,GACGI,EAACJ,EAAA,CACI,GAAIV,EACL,KAAAK,EACA,QAASI,CAAA,EACb,CAER,GACJ,CAER","names":["modals","lazy","__vitePreload","m","ModalContext","React","useModal","useContext","ModalManager","props","children","modalProps","setModalProps","useState","modalType","setModalType","open","setOpen","showModal","useCallback","closeModal","ModalComponent","value","useMemo","jsxs","jsx","Suspense"],"ignoreList":[],"sources":["../../src/components/modal/modals/index.ts","../../src/components/modal/modal.tsx"],"sourcesContent":["import { lazy } from 'react';\n\nexport const modals = {\n deleteItem: lazy(() =>\n import('./DeleteItemModal.js').then(m => ({\n default: m.DeleteItemModal,\n })),\n ),\n upgradeDrive: lazy(() =>\n import('./UpgradeDriveModal.js').then(m => ({\n default: m.UpgradeDriveModal,\n })),\n ),\n createDocument: lazy(() =>\n import('./CreateDocumentModal.js').then(m => ({\n default: m.CreateDocumentModal,\n })),\n ),\n addDriveModal: lazy(() =>\n import('./AddDriveModal.js').then(m => ({\n default: m.AddDriveModal,\n })),\n ),\n addLocalDrive: lazy(() =>\n import('./AddLocalDriveModal.js').then(m => ({\n default: m.AddLocalDriveModal,\n })),\n ),\n addRemoteDrive: lazy(() =>\n import('./AddRemoteDriveModal.js').then(m => ({\n default: m.AddRemoteDriveModal,\n })),\n ),\n driveSettings: lazy(() =>\n import('./DriveSettingsModal.js').then(m => ({\n default: m.DriveSettingsModal,\n })),\n ),\n settingsModal: lazy(() =>\n import('./SettingsModal.js').then(m => ({\n default: m.SettingsModal,\n })),\n ),\n confirmationModal: lazy(() =>\n import('./ConfirmationModal.js').then(m => ({\n default: m.ConfirmationModal,\n })),\n ),\n deleteDriveModal: lazy(() =>\n import('./DeleteDriveModal.js').then(m => ({\n default: m.DeleteDriveModal,\n })),\n ),\n debugSettingsModal: lazy(() =>\n import('./DebugSettingsModal.js').then(m => ({\n default: m.DebugSettingsModal,\n })),\n ),\n disclaimerModal: lazy(() =>\n import('./DisclaimerModal.js').then(m => ({\n default: m.DisclaimerModal,\n })),\n ),\n cookiesPolicy: lazy(() =>\n import('./CookiesPolicyModal.js').then(m => ({\n default: m.CookiesPolicyModal,\n })),\n ),\n} as const;\n\nexport type Modals = typeof modals;\n\nexport type ModalType = keyof Modals;\n\nexport type ModalPropsMapping = {\n [K in ModalType]: React.ComponentProps<Modals[K]>;\n};\n","import React, {\n Suspense,\n useCallback,\n useContext,\n useMemo,\n useState,\n} from 'react';\nimport {\n type ModalPropsMapping,\n type ModalType,\n modals,\n} from './modals/index.js';\n\ntype MapModalProps<T> = {\n [K in keyof T]: Omit<T[K], 'open' | 'onClose'> & { onClose?: () => void };\n};\n\ntype ModalProps = MapModalProps<ModalPropsMapping>;\n\ninterface ModalContextValue {\n showModal: <T extends ModalType>(\n modalType: T,\n props: ModalProps[T],\n ) => void;\n closeModal: () => void;\n}\n\nexport const ModalContext = React.createContext<ModalContextValue>({\n showModal: () => {},\n closeModal: () => {},\n});\n\nexport const useModal = () => {\n const context = useContext(ModalContext);\n return context;\n};\n\nexport const ModalManager: React.FC<{ children?: React.ReactNode }> = props => {\n const { children } = props;\n\n const [modalProps, setModalProps] =\n useState<ModalProps[keyof ModalProps]>();\n const [modalType, setModalType] = useState<ModalType>();\n const [open, setOpen] = useState(false);\n\n const showModal: ModalContextValue['showModal'] = useCallback(\n (modalType, props) => {\n setOpen(true);\n setModalProps(props);\n setModalType(modalType);\n },\n [],\n );\n\n const closeModal: ModalContextValue['closeModal'] = useCallback(() => {\n setOpen(false);\n }, []);\n\n const ModalComponent = modalType ? modals[modalType] : null;\n\n const value = useMemo(\n () => ({ showModal, closeModal }),\n [closeModal, showModal],\n );\n\n return (\n <ModalContext.Provider value={value}>\n {children}\n <Suspense name=\"ModalManager\">\n {ModalComponent && (\n <ModalComponent\n {...(modalProps as any)}\n open={open}\n onClose={closeModal}\n />\n )}\n </Suspense>\n </ModalContext.Provider>\n );\n};\n"],"file":"assets/modal.rCKchklN.js"}
@@ -1,2 +1,2 @@
1
- import{Component as w,createElement as y,createContext as b,useCallback as u}from"react";import{jsx as h}from"react/jsx-runtime";import{w as E,G as g,Q as C,W as M,v as A}from"./index.Cx09-3h-.js";import{aH as v,y as m}from"./index.Xt1GtJTP.js";import{t as l}from"./i18next.CqOP20KE.js";import{useModal as D}from"./modal.Bqyzi2Hr.js";import{h as B,d as T}from"./nodes.CNC9HfbA.js";const I=b(null),f={didCatch:!1,error:null};class H extends w{constructor(t){super(t),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=f}static getDerivedStateFromError(t){return{didCatch:!0,error:t}}resetErrorBoundary(){const{error:t}=this.state;if(t!==null){for(var e,r,n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];(e=(r=this.props).onReset)===null||e===void 0||e.call(r,{args:i,reason:"imperative-api"}),this.setState(f)}}componentDidCatch(t,e){var r,n;(r=(n=this.props).onError)===null||r===void 0||r.call(n,t,e)}componentDidUpdate(t,e){const{didCatch:r}=this.state,{resetKeys:n}=this.props;if(r&&e.error!==null&&x(t.resetKeys,n)){var i,o;(i=(o=this.props).onReset)===null||i===void 0||i.call(o,{next:n,prev:t.resetKeys,reason:"keys"}),this.setState(f)}}render(){const{children:t,fallbackRender:e,FallbackComponent:r,fallback:n}=this.props,{didCatch:i,error:o}=this.state;let d=t;if(i){const a={error:o,resetErrorBoundary:this.resetErrorBoundary};if(typeof e=="function")d=e(a);else if(r)d=y(r,a);else if(n!==void 0)d=n;else throw o}return y(I.Provider,{value:{didCatch:i,error:o,resetErrorBoundary:this.resetErrorBoundary}},d)}}function x(){let s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return s.length!==t.length||s.some((e,r)=>!Object.is(e,t[r]))}function R({drive:s}){const t=E(s),e=s==null?void 0:s.state.global.icon;return e?h("img",{src:e,alt:s.header.name,height:32,width:32}):t==="LOCAL"?h(v,{name:"Hdd",size:32}):h(v,{name:"Server",size:32})}function F(){const{showModal:s}=D(),{addDrive:t,addRemoteDrive:e}=g(),r=C(),n=M(),i=u(async a=>{try{const c=n.find(S=>S.id===a.appId),p=await t({id:"",slug:"",global:{name:a.name,icon:null},local:{availableOffline:a.availableOffline,sharingType:a.sharingType.toLowerCase(),listeners:[],triggers:[]}},c==null?void 0:c.driveEditor);if(m(l("notifications.addDriveSuccess"),{type:"connect-success"}),!p)return;r(p.header.id)}catch(c){console.error(c)}},[t,r,l]),o=u(async a=>{try{const c=await e(a.url,{sharingType:a.sharingType,availableOffline:a.availableOffline,listeners:[{block:!0,callInfo:{data:a.url,name:"switchboard-push",transmitterType:"SwitchboardPush"},filter:{branch:["main"],documentId:["*"],documentType:["*"],scope:["global"]},label:"Switchboard Sync",listenerId:"1",system:!0}],triggers:[]});if(m(l("notifications.addDriveSuccess"),{type:"connect-success"}),!c)return;r(c.header.id)}catch(c){console.error(c)}},[e,r,l]);return u(()=>s("addDriveModal",{onAddLocalDrive:i,onAddRemoteDrive:o}),[i,o,s])}function G(){const{showModal:s}=D(),{deleteNode:t}=g(),e=A(),r=B(),n=T();return u(o=>{s("deleteItem",{id:o.id,onDelete:async d=>{if(!(e!=null&&e.header.id))return;d();const a=o.kind==="folder"?"notifications.deleteFolderSuccess":"notifications.fileDeleteSuccess";await t(e.header.id,o.id),n(r==null?void 0:r.id),m(l(a),{type:"connect-deleted"})}})},[t,e==null?void 0:e.header.id,r==null?void 0:r.id,n,s,l])}export{R as D,H as E,F as a,G as u};
2
- //# sourceMappingURL=modals.C51Hau9T.js.map
1
+ import{Component as w,createElement as y,createContext as b,useCallback as u}from"react";import{jsx as h}from"react/jsx-runtime";import{w as E,G as g,Q as C,W as M,v as A}from"./index.D1VdJrbu.js";import{aH as v,y as m}from"./index.Xt1GtJTP.js";import{t as l}from"./i18next.CqOP20KE.js";import{useModal as D}from"./modal.rCKchklN.js";import{h as B,d as T}from"./nodes.Dm7Ct2Qu.js";const I=b(null),f={didCatch:!1,error:null};class H extends w{constructor(t){super(t),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=f}static getDerivedStateFromError(t){return{didCatch:!0,error:t}}resetErrorBoundary(){const{error:t}=this.state;if(t!==null){for(var e,r,n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];(e=(r=this.props).onReset)===null||e===void 0||e.call(r,{args:i,reason:"imperative-api"}),this.setState(f)}}componentDidCatch(t,e){var r,n;(r=(n=this.props).onError)===null||r===void 0||r.call(n,t,e)}componentDidUpdate(t,e){const{didCatch:r}=this.state,{resetKeys:n}=this.props;if(r&&e.error!==null&&x(t.resetKeys,n)){var i,o;(i=(o=this.props).onReset)===null||i===void 0||i.call(o,{next:n,prev:t.resetKeys,reason:"keys"}),this.setState(f)}}render(){const{children:t,fallbackRender:e,FallbackComponent:r,fallback:n}=this.props,{didCatch:i,error:o}=this.state;let d=t;if(i){const a={error:o,resetErrorBoundary:this.resetErrorBoundary};if(typeof e=="function")d=e(a);else if(r)d=y(r,a);else if(n!==void 0)d=n;else throw o}return y(I.Provider,{value:{didCatch:i,error:o,resetErrorBoundary:this.resetErrorBoundary}},d)}}function x(){let s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return s.length!==t.length||s.some((e,r)=>!Object.is(e,t[r]))}function R({drive:s}){const t=E(s),e=s==null?void 0:s.state.global.icon;return e?h("img",{src:e,alt:s.header.name,height:32,width:32}):t==="LOCAL"?h(v,{name:"Hdd",size:32}):h(v,{name:"Server",size:32})}function F(){const{showModal:s}=D(),{addDrive:t,addRemoteDrive:e}=g(),r=C(),n=M(),i=u(async a=>{try{const c=n.find(S=>S.id===a.appId),p=await t({id:"",slug:"",global:{name:a.name,icon:null},local:{availableOffline:a.availableOffline,sharingType:a.sharingType.toLowerCase(),listeners:[],triggers:[]}},c==null?void 0:c.driveEditor);if(m(l("notifications.addDriveSuccess"),{type:"connect-success"}),!p)return;r(p.header.id)}catch(c){console.error(c)}},[t,r,l]),o=u(async a=>{try{const c=await e(a.url,{sharingType:a.sharingType,availableOffline:a.availableOffline,listeners:[{block:!0,callInfo:{data:a.url,name:"switchboard-push",transmitterType:"SwitchboardPush"},filter:{branch:["main"],documentId:["*"],documentType:["*"],scope:["global"]},label:"Switchboard Sync",listenerId:"1",system:!0}],triggers:[]});if(m(l("notifications.addDriveSuccess"),{type:"connect-success"}),!c)return;r(c.header.id)}catch(c){console.error(c)}},[e,r,l]);return u(()=>s("addDriveModal",{onAddLocalDrive:i,onAddRemoteDrive:o}),[i,o,s])}function G(){const{showModal:s}=D(),{deleteNode:t}=g(),e=A(),r=B(),n=T();return u(o=>{s("deleteItem",{id:o.id,onDelete:async d=>{if(!(e!=null&&e.header.id))return;d();const a=o.kind==="folder"?"notifications.deleteFolderSuccess":"notifications.fileDeleteSuccess";await t(e.header.id,o.id),n(r==null?void 0:r.id),m(l(a),{type:"connect-deleted"})}})},[t,e==null?void 0:e.header.id,r==null?void 0:r.id,n,s,l])}export{R as D,H as E,F as a,G as u};
2
+ //# sourceMappingURL=modals.BND5VgGq.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modals.C51Hau9T.js","sources":["../../../../node_modules/.pnpm/react-error-boundary@4.1.2_react@18.3.1/node_modules/react-error-boundary/dist/react-error-boundary.esm.js","../../src/components/drive-icon.tsx","../../src/hooks/modals.ts"],"sourcesContent":["'use client';\nimport { createContext, Component, createElement, useContext, useState, useMemo, forwardRef } from 'react';\n\nconst ErrorBoundaryContext = createContext(null);\n\nconst initialState = {\n didCatch: false,\n error: null\n};\nclass ErrorBoundary extends Component {\n constructor(props) {\n super(props);\n this.resetErrorBoundary = this.resetErrorBoundary.bind(this);\n this.state = initialState;\n }\n static getDerivedStateFromError(error) {\n return {\n didCatch: true,\n error\n };\n }\n resetErrorBoundary() {\n const {\n error\n } = this.state;\n if (error !== null) {\n var _this$props$onReset, _this$props;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n (_this$props$onReset = (_this$props = this.props).onReset) === null || _this$props$onReset === void 0 ? void 0 : _this$props$onReset.call(_this$props, {\n args,\n reason: \"imperative-api\"\n });\n this.setState(initialState);\n }\n }\n componentDidCatch(error, info) {\n var _this$props$onError, _this$props2;\n (_this$props$onError = (_this$props2 = this.props).onError) === null || _this$props$onError === void 0 ? void 0 : _this$props$onError.call(_this$props2, error, info);\n }\n componentDidUpdate(prevProps, prevState) {\n const {\n didCatch\n } = this.state;\n const {\n resetKeys\n } = this.props;\n\n // There's an edge case where if the thing that triggered the error happens to *also* be in the resetKeys array,\n // we'd end up resetting the error boundary immediately.\n // This would likely trigger a second error to be thrown.\n // So we make sure that we don't check the resetKeys on the first call of cDU after the error is set.\n\n if (didCatch && prevState.error !== null && hasArrayChanged(prevProps.resetKeys, resetKeys)) {\n var _this$props$onReset2, _this$props3;\n (_this$props$onReset2 = (_this$props3 = this.props).onReset) === null || _this$props$onReset2 === void 0 ? void 0 : _this$props$onReset2.call(_this$props3, {\n next: resetKeys,\n prev: prevProps.resetKeys,\n reason: \"keys\"\n });\n this.setState(initialState);\n }\n }\n render() {\n const {\n children,\n fallbackRender,\n FallbackComponent,\n fallback\n } = this.props;\n const {\n didCatch,\n error\n } = this.state;\n let childToRender = children;\n if (didCatch) {\n const props = {\n error,\n resetErrorBoundary: this.resetErrorBoundary\n };\n if (typeof fallbackRender === \"function\") {\n childToRender = fallbackRender(props);\n } else if (FallbackComponent) {\n childToRender = createElement(FallbackComponent, props);\n } else if (fallback !== undefined) {\n childToRender = fallback;\n } else {\n throw error;\n }\n }\n return createElement(ErrorBoundaryContext.Provider, {\n value: {\n didCatch,\n error,\n resetErrorBoundary: this.resetErrorBoundary\n }\n }, childToRender);\n }\n}\nfunction hasArrayChanged() {\n let a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n let b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n return a.length !== b.length || a.some((item, index) => !Object.is(item, b[index]));\n}\n\nfunction assertErrorBoundaryContext(value) {\n if (value == null || typeof value.didCatch !== \"boolean\" || typeof value.resetErrorBoundary !== \"function\") {\n throw new Error(\"ErrorBoundaryContext not found\");\n }\n}\n\nfunction useErrorBoundary() {\n const context = useContext(ErrorBoundaryContext);\n assertErrorBoundaryContext(context);\n const [state, setState] = useState({\n error: null,\n hasError: false\n });\n const memoized = useMemo(() => ({\n resetBoundary: () => {\n context.resetErrorBoundary();\n setState({\n error: null,\n hasError: false\n });\n },\n showBoundary: error => setState({\n error,\n hasError: true\n })\n }), [context.resetErrorBoundary]);\n if (state.hasError) {\n throw state.error;\n }\n return memoized;\n}\n\nfunction withErrorBoundary(component, errorBoundaryProps) {\n const Wrapped = forwardRef((props, ref) => createElement(ErrorBoundary, errorBoundaryProps, createElement(component, {\n ...props,\n ref\n })));\n\n // Format for display in DevTools\n const name = component.displayName || component.name || \"Unknown\";\n Wrapped.displayName = \"withErrorBoundary(\".concat(name, \")\");\n return Wrapped;\n}\n\nexport { ErrorBoundary, ErrorBoundaryContext, useErrorBoundary, withErrorBoundary };\n","import { Icon } from '@powerhousedao/design-system';\nimport { getDriveSharingType } from '@powerhousedao/state';\nimport { type DocumentDriveDocument } from 'document-drive';\n\nexport function DriveIcon({\n drive,\n}: {\n drive: DocumentDriveDocument | undefined;\n}) {\n const sharingType = getDriveSharingType(drive);\n const driveIconSrc = drive?.state.global.icon;\n\n if (driveIconSrc) {\n return (\n <img\n src={driveIconSrc}\n alt={drive.header.name}\n height={32}\n width={32}\n />\n );\n }\n\n if (sharingType === 'LOCAL') {\n return <Icon name=\"Hdd\" size={32} />;\n }\n\n return <Icon name=\"Server\" size={32} />;\n}\n","import { useModal } from '#components';\nimport { useApps } from '#store';\nimport {\n toast,\n type AddLocalDriveInput,\n type AddRemoteDriveInput,\n type SharingType,\n} from '@powerhousedao/design-system';\nimport {\n useDrives,\n useSelectedDrive,\n useSelectedParentFolder,\n useSetSelectedDrive,\n useSetSelectedNode,\n} from '@powerhousedao/state';\nimport { type DocumentDriveDocument, type Node } from 'document-drive';\nimport { t } from 'i18next';\nimport { useCallback } from 'react';\nimport { useDocumentDriveServer } from './useDocumentDriveServer';\n\nexport function useShowAddDriveModal() {\n const { showModal } = useModal();\n const { addDrive, addRemoteDrive } = useDocumentDriveServer();\n const setSelectedDrive = useSetSelectedDrive();\n const apps = useApps();\n const onAddLocalDrive = useCallback(\n async (data: AddLocalDriveInput) => {\n try {\n const app = apps.find(a => a.id === data.appId);\n const newDrive = await addDrive(\n {\n id: '',\n slug: '',\n global: {\n name: data.name,\n icon: null,\n },\n local: {\n availableOffline: data.availableOffline,\n sharingType: data.sharingType.toLowerCase(),\n listeners: [],\n triggers: [],\n },\n },\n app?.driveEditor,\n );\n\n toast(t('notifications.addDriveSuccess'), {\n type: 'connect-success',\n });\n\n if (!newDrive) {\n return;\n }\n\n setSelectedDrive(newDrive.header.id);\n } catch (e) {\n console.error(e);\n }\n },\n [addDrive, setSelectedDrive, t],\n );\n\n const onAddRemoteDrive = useCallback(\n async (data: AddRemoteDriveInput) => {\n try {\n const newDrive = await addRemoteDrive(data.url, {\n sharingType: data.sharingType,\n availableOffline: data.availableOffline,\n listeners: [\n {\n block: true,\n callInfo: {\n data: data.url,\n name: 'switchboard-push',\n transmitterType: 'SwitchboardPush',\n },\n filter: {\n branch: ['main'],\n documentId: ['*'],\n documentType: ['*'],\n scope: ['global'],\n },\n label: 'Switchboard Sync',\n listenerId: '1',\n system: true,\n },\n ],\n triggers: [],\n });\n\n toast(t('notifications.addDriveSuccess'), {\n type: 'connect-success',\n });\n\n if (!newDrive) {\n return;\n }\n\n setSelectedDrive(newDrive.header.id);\n } catch (e) {\n console.error(e);\n }\n },\n [addRemoteDrive, setSelectedDrive, t],\n );\n const showAddDriveModal = useCallback(\n () =>\n showModal('addDriveModal', {\n onAddLocalDrive,\n onAddRemoteDrive,\n }),\n [onAddLocalDrive, onAddRemoteDrive, showModal],\n );\n\n return showAddDriveModal;\n}\n\nexport function useShowDriveSettingsModal() {\n const { showModal } = useModal();\n const {\n renameDrive,\n setDriveAvailableOffline,\n setDriveSharingType,\n deleteDrive,\n } = useDocumentDriveServer();\n const drives = useDrives();\n const setSelectedDrive = useSetSelectedDrive();\n const onRenameDrive = useCallback(\n async (drive: DocumentDriveDocument, newName: string) => {\n await renameDrive(drive.header.id, newName);\n },\n [renameDrive],\n );\n\n const onChangeSharingType = useCallback(\n async (drive: DocumentDriveDocument, newSharingType: SharingType) => {\n await setDriveSharingType(drive.header.id, newSharingType);\n },\n [setDriveSharingType],\n );\n\n const onChangeAvailableOffline = useCallback(\n async (drive: DocumentDriveDocument, newAvailableOffline: boolean) => {\n await setDriveAvailableOffline(\n drive.header.id,\n newAvailableOffline,\n );\n },\n [setDriveAvailableOffline],\n );\n const onDeleteDrive = useCallback(\n (drive: DocumentDriveDocument) => {\n showModal('deleteDriveModal', {\n drive,\n onDelete: async closeModal => {\n closeModal();\n await deleteDrive(drive.header.id);\n\n setSelectedDrive(drives?.[0]?.header.id);\n\n toast(t('notifications.deleteDriveSuccess'), {\n type: 'connect-deleted',\n });\n },\n });\n },\n [deleteDrive, drives, setSelectedDrive, showModal, t],\n );\n const showDriveSettingsModal = useCallback(\n (drive: DocumentDriveDocument) => {\n showModal('driveSettings', {\n drive,\n onRenameDrive,\n onDeleteDrive,\n onChangeSharingType,\n onChangeAvailableOffline,\n });\n },\n [\n onChangeAvailableOffline,\n onChangeSharingType,\n onDeleteDrive,\n onRenameDrive,\n showModal,\n ],\n );\n\n return showDriveSettingsModal;\n}\n\nexport function useShowDeleteNodeModal() {\n const { showModal } = useModal();\n const { deleteNode } = useDocumentDriveServer();\n const selectedDrive = useSelectedDrive();\n const selectedParentFolder = useSelectedParentFolder();\n const setSelectedNode = useSetSelectedNode();\n const showDeleteNodeModal = useCallback(\n (node: Node) => {\n showModal('deleteItem', {\n id: node.id,\n onDelete: async closeModal => {\n if (!selectedDrive?.header.id) {\n return;\n }\n closeModal();\n\n const i18nKey =\n node.kind === 'folder'\n ? 'notifications.deleteFolderSuccess'\n : 'notifications.fileDeleteSuccess';\n\n await deleteNode(selectedDrive.header.id, node.id);\n\n setSelectedNode(selectedParentFolder?.id);\n\n toast(t(i18nKey), { type: 'connect-deleted' });\n },\n });\n },\n [\n deleteNode,\n selectedDrive?.header.id,\n selectedParentFolder?.id,\n setSelectedNode,\n showModal,\n t,\n ],\n );\n\n return showDeleteNodeModal;\n}\n"],"names":["ErrorBoundaryContext","createContext","initialState","ErrorBoundary","Component","props","error","_this$props$onReset","_this$props","_len","args","_key","info","_this$props$onError","_this$props2","prevProps","prevState","didCatch","resetKeys","hasArrayChanged","_this$props$onReset2","_this$props3","children","fallbackRender","FallbackComponent","fallback","childToRender","createElement","a","b","item","index","DriveIcon","drive","sharingType","getDriveSharingType","driveIconSrc","jsx","Icon","useShowAddDriveModal","showModal","useModal","addDrive","addRemoteDrive","useDocumentDriveServer","setSelectedDrive","useSetSelectedDrive","apps","useApps","onAddLocalDrive","useCallback","data","app","newDrive","toast","t","e","onAddRemoteDrive","useShowDeleteNodeModal","deleteNode","selectedDrive","useSelectedDrive","selectedParentFolder","useSelectedParentFolder","setSelectedNode","useSetSelectedNode","node","closeModal","i18nKey"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"modals.BND5VgGq.js","sources":["../../../../node_modules/.pnpm/react-error-boundary@4.1.2_react@18.3.1/node_modules/react-error-boundary/dist/react-error-boundary.esm.js","../../src/components/drive-icon.tsx","../../src/hooks/modals.ts"],"sourcesContent":["'use client';\nimport { createContext, Component, createElement, useContext, useState, useMemo, forwardRef } from 'react';\n\nconst ErrorBoundaryContext = createContext(null);\n\nconst initialState = {\n didCatch: false,\n error: null\n};\nclass ErrorBoundary extends Component {\n constructor(props) {\n super(props);\n this.resetErrorBoundary = this.resetErrorBoundary.bind(this);\n this.state = initialState;\n }\n static getDerivedStateFromError(error) {\n return {\n didCatch: true,\n error\n };\n }\n resetErrorBoundary() {\n const {\n error\n } = this.state;\n if (error !== null) {\n var _this$props$onReset, _this$props;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n (_this$props$onReset = (_this$props = this.props).onReset) === null || _this$props$onReset === void 0 ? void 0 : _this$props$onReset.call(_this$props, {\n args,\n reason: \"imperative-api\"\n });\n this.setState(initialState);\n }\n }\n componentDidCatch(error, info) {\n var _this$props$onError, _this$props2;\n (_this$props$onError = (_this$props2 = this.props).onError) === null || _this$props$onError === void 0 ? void 0 : _this$props$onError.call(_this$props2, error, info);\n }\n componentDidUpdate(prevProps, prevState) {\n const {\n didCatch\n } = this.state;\n const {\n resetKeys\n } = this.props;\n\n // There's an edge case where if the thing that triggered the error happens to *also* be in the resetKeys array,\n // we'd end up resetting the error boundary immediately.\n // This would likely trigger a second error to be thrown.\n // So we make sure that we don't check the resetKeys on the first call of cDU after the error is set.\n\n if (didCatch && prevState.error !== null && hasArrayChanged(prevProps.resetKeys, resetKeys)) {\n var _this$props$onReset2, _this$props3;\n (_this$props$onReset2 = (_this$props3 = this.props).onReset) === null || _this$props$onReset2 === void 0 ? void 0 : _this$props$onReset2.call(_this$props3, {\n next: resetKeys,\n prev: prevProps.resetKeys,\n reason: \"keys\"\n });\n this.setState(initialState);\n }\n }\n render() {\n const {\n children,\n fallbackRender,\n FallbackComponent,\n fallback\n } = this.props;\n const {\n didCatch,\n error\n } = this.state;\n let childToRender = children;\n if (didCatch) {\n const props = {\n error,\n resetErrorBoundary: this.resetErrorBoundary\n };\n if (typeof fallbackRender === \"function\") {\n childToRender = fallbackRender(props);\n } else if (FallbackComponent) {\n childToRender = createElement(FallbackComponent, props);\n } else if (fallback !== undefined) {\n childToRender = fallback;\n } else {\n throw error;\n }\n }\n return createElement(ErrorBoundaryContext.Provider, {\n value: {\n didCatch,\n error,\n resetErrorBoundary: this.resetErrorBoundary\n }\n }, childToRender);\n }\n}\nfunction hasArrayChanged() {\n let a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n let b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n return a.length !== b.length || a.some((item, index) => !Object.is(item, b[index]));\n}\n\nfunction assertErrorBoundaryContext(value) {\n if (value == null || typeof value.didCatch !== \"boolean\" || typeof value.resetErrorBoundary !== \"function\") {\n throw new Error(\"ErrorBoundaryContext not found\");\n }\n}\n\nfunction useErrorBoundary() {\n const context = useContext(ErrorBoundaryContext);\n assertErrorBoundaryContext(context);\n const [state, setState] = useState({\n error: null,\n hasError: false\n });\n const memoized = useMemo(() => ({\n resetBoundary: () => {\n context.resetErrorBoundary();\n setState({\n error: null,\n hasError: false\n });\n },\n showBoundary: error => setState({\n error,\n hasError: true\n })\n }), [context.resetErrorBoundary]);\n if (state.hasError) {\n throw state.error;\n }\n return memoized;\n}\n\nfunction withErrorBoundary(component, errorBoundaryProps) {\n const Wrapped = forwardRef((props, ref) => createElement(ErrorBoundary, errorBoundaryProps, createElement(component, {\n ...props,\n ref\n })));\n\n // Format for display in DevTools\n const name = component.displayName || component.name || \"Unknown\";\n Wrapped.displayName = \"withErrorBoundary(\".concat(name, \")\");\n return Wrapped;\n}\n\nexport { ErrorBoundary, ErrorBoundaryContext, useErrorBoundary, withErrorBoundary };\n","import { Icon } from '@powerhousedao/design-system';\nimport { getDriveSharingType } from '@powerhousedao/state';\nimport { type DocumentDriveDocument } from 'document-drive';\n\nexport function DriveIcon({\n drive,\n}: {\n drive: DocumentDriveDocument | undefined;\n}) {\n const sharingType = getDriveSharingType(drive);\n const driveIconSrc = drive?.state.global.icon;\n\n if (driveIconSrc) {\n return (\n <img\n src={driveIconSrc}\n alt={drive.header.name}\n height={32}\n width={32}\n />\n );\n }\n\n if (sharingType === 'LOCAL') {\n return <Icon name=\"Hdd\" size={32} />;\n }\n\n return <Icon name=\"Server\" size={32} />;\n}\n","import { useModal } from '#components';\nimport { useApps } from '#store';\nimport {\n toast,\n type AddLocalDriveInput,\n type AddRemoteDriveInput,\n type SharingType,\n} from '@powerhousedao/design-system';\nimport {\n useDrives,\n useSelectedDrive,\n useSelectedParentFolder,\n useSetSelectedDrive,\n useSetSelectedNode,\n} from '@powerhousedao/state';\nimport { type DocumentDriveDocument, type Node } from 'document-drive';\nimport { t } from 'i18next';\nimport { useCallback } from 'react';\nimport { useDocumentDriveServer } from './useDocumentDriveServer';\n\nexport function useShowAddDriveModal() {\n const { showModal } = useModal();\n const { addDrive, addRemoteDrive } = useDocumentDriveServer();\n const setSelectedDrive = useSetSelectedDrive();\n const apps = useApps();\n const onAddLocalDrive = useCallback(\n async (data: AddLocalDriveInput) => {\n try {\n const app = apps.find(a => a.id === data.appId);\n const newDrive = await addDrive(\n {\n id: '',\n slug: '',\n global: {\n name: data.name,\n icon: null,\n },\n local: {\n availableOffline: data.availableOffline,\n sharingType: data.sharingType.toLowerCase(),\n listeners: [],\n triggers: [],\n },\n },\n app?.driveEditor,\n );\n\n toast(t('notifications.addDriveSuccess'), {\n type: 'connect-success',\n });\n\n if (!newDrive) {\n return;\n }\n\n setSelectedDrive(newDrive.header.id);\n } catch (e) {\n console.error(e);\n }\n },\n [addDrive, setSelectedDrive, t],\n );\n\n const onAddRemoteDrive = useCallback(\n async (data: AddRemoteDriveInput) => {\n try {\n const newDrive = await addRemoteDrive(data.url, {\n sharingType: data.sharingType,\n availableOffline: data.availableOffline,\n listeners: [\n {\n block: true,\n callInfo: {\n data: data.url,\n name: 'switchboard-push',\n transmitterType: 'SwitchboardPush',\n },\n filter: {\n branch: ['main'],\n documentId: ['*'],\n documentType: ['*'],\n scope: ['global'],\n },\n label: 'Switchboard Sync',\n listenerId: '1',\n system: true,\n },\n ],\n triggers: [],\n });\n\n toast(t('notifications.addDriveSuccess'), {\n type: 'connect-success',\n });\n\n if (!newDrive) {\n return;\n }\n\n setSelectedDrive(newDrive.header.id);\n } catch (e) {\n console.error(e);\n }\n },\n [addRemoteDrive, setSelectedDrive, t],\n );\n const showAddDriveModal = useCallback(\n () =>\n showModal('addDriveModal', {\n onAddLocalDrive,\n onAddRemoteDrive,\n }),\n [onAddLocalDrive, onAddRemoteDrive, showModal],\n );\n\n return showAddDriveModal;\n}\n\nexport function useShowDriveSettingsModal() {\n const { showModal } = useModal();\n const {\n renameDrive,\n setDriveAvailableOffline,\n setDriveSharingType,\n deleteDrive,\n } = useDocumentDriveServer();\n const drives = useDrives();\n const setSelectedDrive = useSetSelectedDrive();\n const onRenameDrive = useCallback(\n async (drive: DocumentDriveDocument, newName: string) => {\n await renameDrive(drive.header.id, newName);\n },\n [renameDrive],\n );\n\n const onChangeSharingType = useCallback(\n async (drive: DocumentDriveDocument, newSharingType: SharingType) => {\n await setDriveSharingType(drive.header.id, newSharingType);\n },\n [setDriveSharingType],\n );\n\n const onChangeAvailableOffline = useCallback(\n async (drive: DocumentDriveDocument, newAvailableOffline: boolean) => {\n await setDriveAvailableOffline(\n drive.header.id,\n newAvailableOffline,\n );\n },\n [setDriveAvailableOffline],\n );\n const onDeleteDrive = useCallback(\n (drive: DocumentDriveDocument) => {\n showModal('deleteDriveModal', {\n drive,\n onDelete: async closeModal => {\n closeModal();\n await deleteDrive(drive.header.id);\n\n setSelectedDrive(drives?.[0]?.header.id);\n\n toast(t('notifications.deleteDriveSuccess'), {\n type: 'connect-deleted',\n });\n },\n });\n },\n [deleteDrive, drives, setSelectedDrive, showModal, t],\n );\n const showDriveSettingsModal = useCallback(\n (drive: DocumentDriveDocument) => {\n showModal('driveSettings', {\n drive,\n onRenameDrive,\n onDeleteDrive,\n onChangeSharingType,\n onChangeAvailableOffline,\n });\n },\n [\n onChangeAvailableOffline,\n onChangeSharingType,\n onDeleteDrive,\n onRenameDrive,\n showModal,\n ],\n );\n\n return showDriveSettingsModal;\n}\n\nexport function useShowDeleteNodeModal() {\n const { showModal } = useModal();\n const { deleteNode } = useDocumentDriveServer();\n const selectedDrive = useSelectedDrive();\n const selectedParentFolder = useSelectedParentFolder();\n const setSelectedNode = useSetSelectedNode();\n const showDeleteNodeModal = useCallback(\n (node: Node) => {\n showModal('deleteItem', {\n id: node.id,\n onDelete: async closeModal => {\n if (!selectedDrive?.header.id) {\n return;\n }\n closeModal();\n\n const i18nKey =\n node.kind === 'folder'\n ? 'notifications.deleteFolderSuccess'\n : 'notifications.fileDeleteSuccess';\n\n await deleteNode(selectedDrive.header.id, node.id);\n\n setSelectedNode(selectedParentFolder?.id);\n\n toast(t(i18nKey), { type: 'connect-deleted' });\n },\n });\n },\n [\n deleteNode,\n selectedDrive?.header.id,\n selectedParentFolder?.id,\n setSelectedNode,\n showModal,\n t,\n ],\n );\n\n return showDeleteNodeModal;\n}\n"],"names":["ErrorBoundaryContext","createContext","initialState","ErrorBoundary","Component","props","error","_this$props$onReset","_this$props","_len","args","_key","info","_this$props$onError","_this$props2","prevProps","prevState","didCatch","resetKeys","hasArrayChanged","_this$props$onReset2","_this$props3","children","fallbackRender","FallbackComponent","fallback","childToRender","createElement","a","b","item","index","DriveIcon","drive","sharingType","getDriveSharingType","driveIconSrc","jsx","Icon","useShowAddDriveModal","showModal","useModal","addDrive","addRemoteDrive","useDocumentDriveServer","setSelectedDrive","useSetSelectedDrive","apps","useApps","onAddLocalDrive","useCallback","data","app","newDrive","toast","t","e","onAddRemoteDrive","useShowDeleteNodeModal","deleteNode","selectedDrive","useSelectedDrive","selectedParentFolder","useSelectedParentFolder","setSelectedNode","useSetSelectedNode","node","closeModal","i18nKey"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- import{m as e,n as o,u as n}from"./useInitSentry.BXZzeAO4.js";import"react/jsx-runtime";import"./index.Xt1GtJTP.js";import"react";import"react-dom";import"./index.Cx09-3h-.js";import"react-dom/client";import"./browser.BkwNmV2Z.js";import"./app-skeleton.js";import"./useAcceptedCookies.DHQO4jEL.js";import"./registerServiceWorker.D3pB6TTq.js";n();var D=class extends e{constructor(t){super(t),this.rootDir=(void 0)(t),(void 0)((void 0)(this.rootDir))||(void 0)(this.rootDir)}async init(t,r){return this.pg=t,{emscriptenOpts:{...r,preRun:[...r.preRun||[],i=>{let s=i.FS.filesystems.NODEFS;i.FS.mkdir(o),i.FS.mount(s,{root:this.rootDir},o)}]}}}async closeFs(){this.pg.Module.FS.quit()}};export{D as NodeFS};
2
- //# sourceMappingURL=nodefs.nYhQAdIV.js.map
1
+ import{m as e,n as o,u as n}from"./useInitSentry.Bb28RsdX.js";import"react/jsx-runtime";import"./index.Xt1GtJTP.js";import"react";import"react-dom";import"./index.D1VdJrbu.js";import"react-dom/client";import"./browser.BkwNmV2Z.js";import"./app-skeleton.js";import"./useAcceptedCookies.D1uKoy1t.js";import"./registerServiceWorker.BedDSXhk.js";n();var D=class extends e{constructor(t){super(t),this.rootDir=(void 0)(t),(void 0)((void 0)(this.rootDir))||(void 0)(this.rootDir)}async init(t,r){return this.pg=t,{emscriptenOpts:{...r,preRun:[...r.preRun||[],i=>{let s=i.FS.filesystems.NODEFS;i.FS.mkdir(o),i.FS.mount(s,{root:this.rootDir},o)}]}}}async closeFs(){this.pg.Module.FS.quit()}};export{D as NodeFS};
2
+ //# sourceMappingURL=nodefs.Bo5ZNHrD.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nodefs.nYhQAdIV.js","sources":["../../../../node_modules/.pnpm/@electric-sql+pglite@0.2.17/node_modules/@electric-sql/pglite/dist/fs/nodefs.js"],"sourcesContent":["import{d as i,e as p}from\"../chunk-WGR4JCLS.js\";import{j as n}from\"../chunk-BTBUZ646.js\";n();import*as s from\"fs\";import*as o from\"path\";var m=class extends p{constructor(t){super(t),this.rootDir=o.resolve(t),s.existsSync(o.join(this.rootDir))||s.mkdirSync(this.rootDir)}async init(t,e){return this.pg=t,{emscriptenOpts:{...e,preRun:[...e.preRun||[],r=>{let c=r.FS.filesystems.NODEFS;r.FS.mkdir(i),r.FS.mount(c,{root:this.rootDir},i)}]}}}async closeFs(){this.pg.Module.FS.quit()}};export{m as NodeFS};\n//# sourceMappingURL=nodefs.js.map"],"names":["n","m","p","o.resolve","s.existsSync","o.join","s.mkdirSync","e","r","c","i"],"mappings":"sVAAyFA,EAAC,EAAkD,IAACC,EAAE,cAAcC,CAAC,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQC,SAAU,CAAC,EAAEC,SAAaC,SAAO,KAAK,OAAO,CAAC,GAAGC,SAAY,KAAK,OAAO,CAAC,CAAC,MAAM,KAAK,EAAEC,EAAE,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC,eAAe,CAAC,GAAGA,EAAE,OAAO,CAAC,GAAGA,EAAE,QAAQ,CAAA,EAAGC,GAAG,CAAC,IAAIC,EAAED,EAAE,GAAG,YAAY,OAAOA,EAAE,GAAG,MAAME,CAAC,EAAEF,EAAE,GAAG,MAAMC,EAAE,CAAC,KAAK,KAAK,OAAO,EAAEC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"nodefs.Bo5ZNHrD.js","sources":["../../../../node_modules/.pnpm/@electric-sql+pglite@0.2.17/node_modules/@electric-sql/pglite/dist/fs/nodefs.js"],"sourcesContent":["import{d as i,e as p}from\"../chunk-WGR4JCLS.js\";import{j as n}from\"../chunk-BTBUZ646.js\";n();import*as s from\"fs\";import*as o from\"path\";var m=class extends p{constructor(t){super(t),this.rootDir=o.resolve(t),s.existsSync(o.join(this.rootDir))||s.mkdirSync(this.rootDir)}async init(t,e){return this.pg=t,{emscriptenOpts:{...e,preRun:[...e.preRun||[],r=>{let c=r.FS.filesystems.NODEFS;r.FS.mkdir(i),r.FS.mount(c,{root:this.rootDir},i)}]}}}async closeFs(){this.pg.Module.FS.quit()}};export{m as NodeFS};\n//# sourceMappingURL=nodefs.js.map"],"names":["n","m","p","o.resolve","s.existsSync","o.join","s.mkdirSync","e","r","c","i"],"mappings":"sVAAyFA,EAAC,EAAkD,IAACC,EAAE,cAAcC,CAAC,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQC,SAAU,CAAC,EAAEC,SAAaC,SAAO,KAAK,OAAO,CAAC,GAAGC,SAAY,KAAK,OAAO,CAAC,CAAC,MAAM,KAAK,EAAEC,EAAE,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC,eAAe,CAAC,GAAGA,EAAE,OAAO,CAAC,GAAGA,EAAE,QAAQ,CAAA,EAAGC,GAAG,CAAC,IAAIC,EAAED,EAAE,GAAG,YAAY,OAAOA,EAAE,GAAG,MAAME,CAAC,EAAEF,EAAE,GAAG,MAAMC,EAAE,CAAC,KAAK,KAAK,OAAO,EAAEC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- import{useCallback as p}from"react";import{a as i,bJ as F,bK as m,bL as h,bM as b,bN as c,bO as S,bP as v,v as D,bQ as a,bR as I,O as w,x as A}from"./index.Cx09-3h-.js";function l(){return i(F)}function y(){return i(m)}function s(){return i(S)}function B(){return p(n=>{h(n)},[])}function P(n){const e=s();return e==null?void 0:e.find(t=>t.id===n)}function k(n){const e=P(n);return(e==null?void 0:e.parentFolder)??void 0}function C(n){const e=k(n),t=s();return t==null?void 0:t.filter(o=>c(o)).find(o=>o.id===e)}function O(){const n=f(),e=l(),t=(e==null?void 0:e.header.id)??(n==null?void 0:n.id);return C(t)}function K(n){const e=s(),t=D();if(!e||!t)return[];const r=A(t),o=[];r&&o.unshift(r);let d=e.find(u=>u.id===n);for(;d&&(o.unshift(d),!!d.parentFolder);)d=e.find(u=>u.id===(d==null?void 0:d.parentFolder));return o.reverse()}function f(){return i(b)}function g(){return i(v)}function j(){const n=f(),e=l(),t=(e==null?void 0:e.header.id)??(n==null?void 0:n.id);return K(t)}function N(n){const e=s(),t=w();if(!e||!t)return[];const o=t.some(d=>d.header.id===n)?e:e.filter(d=>d.parentFolder===n);return a(o)}function E(n){const e=N(n);return a(e.filter(t=>c(t)))}function J(n){const e=N(n);return a(e.filter(t=>I(t)))}function M(n){const e=s();if(!e)return;const t=e.find(r=>r.id===n);return t==null?void 0:t.name}function Q(n){const e=s();if(!e)return;const t=e.find(r=>r.id===n);if(t)return t.kind.toUpperCase()}export{J as a,f as b,j as c,B as d,l as e,k as f,C as g,O as h,g as i,y as j,M as k,Q as l,E as u};
2
- //# sourceMappingURL=nodes.CNC9HfbA.js.map
1
+ import{useCallback as p}from"react";import{a as i,bJ as F,bK as m,bL as h,bM as b,bN as c,bO as S,bP as v,v as D,bQ as a,bR as I,O as w,x as A}from"./index.D1VdJrbu.js";function l(){return i(F)}function y(){return i(m)}function s(){return i(S)}function B(){return p(n=>{h(n)},[])}function P(n){const e=s();return e==null?void 0:e.find(t=>t.id===n)}function k(n){const e=P(n);return(e==null?void 0:e.parentFolder)??void 0}function C(n){const e=k(n),t=s();return t==null?void 0:t.filter(o=>c(o)).find(o=>o.id===e)}function O(){const n=f(),e=l(),t=(e==null?void 0:e.header.id)??(n==null?void 0:n.id);return C(t)}function K(n){const e=s(),t=D();if(!e||!t)return[];const r=A(t),o=[];r&&o.unshift(r);let d=e.find(u=>u.id===n);for(;d&&(o.unshift(d),!!d.parentFolder);)d=e.find(u=>u.id===(d==null?void 0:d.parentFolder));return o.reverse()}function f(){return i(b)}function g(){return i(v)}function j(){const n=f(),e=l(),t=(e==null?void 0:e.header.id)??(n==null?void 0:n.id);return K(t)}function N(n){const e=s(),t=w();if(!e||!t)return[];const o=t.some(d=>d.header.id===n)?e:e.filter(d=>d.parentFolder===n);return a(o)}function E(n){const e=N(n);return a(e.filter(t=>c(t)))}function J(n){const e=N(n);return a(e.filter(t=>I(t)))}function M(n){const e=s();if(!e)return;const t=e.find(r=>r.id===n);return t==null?void 0:t.name}function Q(n){const e=s();if(!e)return;const t=e.find(r=>r.id===n);if(t)return t.kind.toUpperCase()}export{J as a,f as b,j as c,B as d,l as e,k as f,C as g,O as h,g as i,y as j,M as k,Q as l,E as u};
2
+ //# sourceMappingURL=nodes.Dm7Ct2Qu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nodes.CNC9HfbA.js","sources":["../../../../packages/state/dist/hooks/documents.js","../../../../packages/state/dist/hooks/nodes.js"],"sourcesContent":["import { useAtomValue } from \"jotai\";\nimport { loadableDocumentsAtom, loadableSelectedDocumentAtom, unwrappedDocumentsAtom, unwrappedSelectedDocumentAtom, } from \"../internal/atoms.js\";\n/** Returns the documents for the selected drive. */\nexport function useDocuments() {\n return useAtomValue(unwrappedDocumentsAtom);\n}\n/** Returns a loadable of the documents for the selected drive. */\nexport function useLoadableDocuments() {\n return useAtomValue(loadableDocumentsAtom);\n}\n/** Returns the selected document. */\nexport function useSelectedDocument() {\n return useAtomValue(unwrappedSelectedDocumentAtom);\n}\n/** Returns a loadable of the selected document. */\nexport function useLoadableSelectedDocument() {\n return useAtomValue(loadableSelectedDocumentAtom);\n}\n/** Returns the document type of a document by id. */\nexport function useDocumentTypeById(id) {\n const document = useDocumentById(id);\n return document?.header.documentType;\n}\n/** Returns the document type of the selected document. */\nexport function useSelectedDocumentType() {\n const selectedDocument = useSelectedDocument();\n return selectedDocument?.header.documentType;\n}\n/** Returns a document by id. */\nexport function useDocumentById(id) {\n const documents = useDocuments();\n if (!id)\n return undefined;\n return documents?.find((d) => d.header.id === id);\n}\n/** Returns a loadable of a document by id. */\nexport function useLoadableDocumentById(id) {\n const loadableDocuments = useLoadableDocuments();\n if (loadableDocuments.state !== \"hasData\")\n return loadableDocuments;\n if (!id)\n return { state: \"hasData\", data: undefined };\n const document = loadableDocuments.data?.find((d) => d.header.id === id);\n return { state: \"hasData\", data: document };\n}\n//# sourceMappingURL=documents.js.map","import { useAtomValue } from \"jotai\";\nimport { useCallback } from \"react\";\nimport { loadableNodesAtom, loadableSelectedFolderAtom, unwrappedNodesAtom, unwrappedSelectedFolderAtom, } from \"../internal/atoms.js\";\nimport { dispatchSetNodeEvent } from \"../internal/events.js\";\nimport { makeFolderNodeFromDrive } from \"../utils/drives.js\";\nimport { isFileNodeKind, isFolderNodeKind, sortNodesByName, } from \"../utils/nodes.js\";\nimport { useSelectedDocument } from \"./documents.js\";\nimport { useDrives, useSelectedDrive } from \"./drives.js\";\n/** Returns the nodes for a drive. */\nexport function useNodes() {\n return useAtomValue(unwrappedNodesAtom);\n}\n/** Returns a loadable of the nodes for a drive. */\nexport function useLoadableNodes() {\n return useAtomValue(loadableNodesAtom);\n}\n/** Returns a function that sets the selected node (document or folder) with a node id. */\nexport function useSetSelectedNode() {\n return useCallback((nodeId) => {\n dispatchSetNodeEvent(nodeId);\n }, []);\n}\n/** Returns a node in the selected drive by id. */\nexport function useNodeById(id) {\n const nodes = useNodes();\n return nodes?.find((n) => n.id === id);\n}\n/** Returns the parent folder id of a node by id */\nexport function useParentFolderId(id) {\n const node = useNodeById(id);\n return node?.parentFolder ?? undefined;\n}\n/** Returns the parent folder of a node by id */\nexport function useParentFolder(id) {\n const parentFolderId = useParentFolderId(id);\n const nodes = useNodes();\n const parentFolder = nodes\n ?.filter((n) => isFolderNodeKind(n))\n .find((n) => n.id === parentFolderId);\n return parentFolder;\n}\n/** Returns the selected folder or document's parent folder. */\nexport function useSelectedParentFolder() {\n const selectedFolder = useSelectedFolder();\n const selectedDocument = useSelectedDocument();\n const selectedNodeId = selectedDocument?.header.id ?? selectedFolder?.id;\n return useParentFolder(selectedNodeId);\n}\n/** Returns the path to a node. */\nexport function useNodePath(id) {\n const nodes = useNodes();\n const selectedDrive = useSelectedDrive();\n if (!nodes || !selectedDrive)\n return [];\n const driveFolderNode = makeFolderNodeFromDrive(selectedDrive);\n const path = [];\n if (driveFolderNode) {\n path.unshift(driveFolderNode);\n }\n let current = nodes.find((n) => n.id === id);\n while (current) {\n path.unshift(current);\n if (!current.parentFolder)\n break;\n current = nodes.find((n) => n.id === current?.parentFolder);\n }\n return path.reverse();\n}\n/** Returns the selected folder. */\nexport function useSelectedFolder() {\n return useAtomValue(unwrappedSelectedFolderAtom);\n}\n/** Returns a loadable of the selected folder. */\nexport function useLoadableSelectedFolder() {\n return useAtomValue(loadableSelectedFolderAtom);\n}\n/** Returns the path to the selected node. */\nexport function useSelectedNodePath() {\n const selectedFolder = useSelectedFolder();\n const selectedDocument = useSelectedDocument();\n const selectedNodeId = selectedDocument?.header.id ?? selectedFolder?.id;\n return useNodePath(selectedNodeId);\n}\n/** Returns the child nodes for the selected drive or folder. */\nexport function useChildNodes() {\n const nodes = useNodes();\n const selectedFolder = useSelectedFolder();\n const selectedFolderId = selectedFolder?.id;\n if (!nodes)\n return [];\n if (!selectedFolderId)\n return sortNodesByName(nodes);\n return sortNodesByName(nodes.filter((n) => n.parentFolder === selectedFolderId));\n}\n/** Returns the folder child nodes for the selected drive or folder. */\nexport function useFolderChildNodes() {\n const childNodes = useChildNodes();\n return sortNodesByName(childNodes.filter((n) => isFolderNodeKind(n)));\n}\n/** Returns the file (document) child nodes for the selected drive or folder. */\nexport function useFileChildNodes() {\n const childNodes = useChildNodes();\n return sortNodesByName(childNodes.filter((n) => isFileNodeKind(n)));\n}\n/** Returns the child nodes for a drive or folder by id. */\nexport function useChildNodesForId(id) {\n const nodes = useNodes();\n const drives = useDrives();\n if (!nodes || !drives)\n return [];\n const isDrive = drives.some((d) => d.header.id === id);\n const childNodes = isDrive\n ? nodes\n : nodes.filter((n) => n.parentFolder === id);\n return sortNodesByName(childNodes);\n}\n/** Returns the folder child nodes for a drive or folder by id. */\nexport function useFolderChildNodesForId(id) {\n const childNodes = useChildNodesForId(id);\n return sortNodesByName(childNodes.filter((n) => isFolderNodeKind(n)));\n}\n/** Returns the file (document) child nodes for a drive or folder by id. */\nexport function useFileChildNodesForId(id) {\n const childNodes = useChildNodesForId(id);\n return sortNodesByName(childNodes.filter((n) => isFileNodeKind(n)));\n}\n/** Returns the name of a node. */\nexport function useNodeName(id) {\n const unwrappedNodes = useNodes();\n if (!unwrappedNodes)\n return undefined;\n const node = unwrappedNodes.find((n) => n.id === id);\n return node?.name;\n}\n/** Returns the kind of a node. */\nexport function useNodeKind(id) {\n const unwrappedNodes = useNodes();\n if (!unwrappedNodes)\n return undefined;\n const node = unwrappedNodes.find((n) => n.id === id);\n if (!node)\n return undefined;\n return node.kind.toUpperCase();\n}\n//# sourceMappingURL=nodes.js.map"],"names":["useSelectedDocument","useAtomValue","unwrappedSelectedDocumentAtom","useLoadableSelectedDocument","loadableSelectedDocumentAtom","useNodes","unwrappedNodesAtom","useSetSelectedNode","useCallback","nodeId","dispatchSetNodeEvent","useNodeById","id","nodes","n","useParentFolderId","node","useParentFolder","parentFolderId","isFolderNodeKind","useSelectedParentFolder","selectedFolder","useSelectedFolder","selectedDocument","selectedNodeId","useNodePath","selectedDrive","useSelectedDrive","driveFolderNode","makeFolderNodeFromDrive","path","current","unwrappedSelectedFolderAtom","useLoadableSelectedFolder","loadableSelectedFolderAtom","useSelectedNodePath","useChildNodesForId","drives","useDrives","childNodes","sortNodesByName","useFolderChildNodesForId","useFileChildNodesForId","isFileNodeKind","useNodeName","unwrappedNodes","useNodeKind"],"mappings":"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"}
1
+ {"version":3,"file":"nodes.Dm7Ct2Qu.js","sources":["../../../../packages/state/dist/hooks/documents.js","../../../../packages/state/dist/hooks/nodes.js"],"sourcesContent":["import { useAtomValue } from \"jotai\";\nimport { loadableDocumentsAtom, loadableSelectedDocumentAtom, unwrappedDocumentsAtom, unwrappedSelectedDocumentAtom, } from \"../internal/atoms.js\";\n/** Returns the documents for the selected drive. */\nexport function useDocuments() {\n return useAtomValue(unwrappedDocumentsAtom);\n}\n/** Returns a loadable of the documents for the selected drive. */\nexport function useLoadableDocuments() {\n return useAtomValue(loadableDocumentsAtom);\n}\n/** Returns the selected document. */\nexport function useSelectedDocument() {\n return useAtomValue(unwrappedSelectedDocumentAtom);\n}\n/** Returns a loadable of the selected document. */\nexport function useLoadableSelectedDocument() {\n return useAtomValue(loadableSelectedDocumentAtom);\n}\n/** Returns the document type of a document by id. */\nexport function useDocumentTypeById(id) {\n const document = useDocumentById(id);\n return document?.header.documentType;\n}\n/** Returns the document type of the selected document. */\nexport function useSelectedDocumentType() {\n const selectedDocument = useSelectedDocument();\n return selectedDocument?.header.documentType;\n}\n/** Returns a document by id. */\nexport function useDocumentById(id) {\n const documents = useDocuments();\n if (!id)\n return undefined;\n return documents?.find((d) => d.header.id === id);\n}\n/** Returns a loadable of a document by id. */\nexport function useLoadableDocumentById(id) {\n const loadableDocuments = useLoadableDocuments();\n if (loadableDocuments.state !== \"hasData\")\n return loadableDocuments;\n if (!id)\n return { state: \"hasData\", data: undefined };\n const document = loadableDocuments.data?.find((d) => d.header.id === id);\n return { state: \"hasData\", data: document };\n}\n//# sourceMappingURL=documents.js.map","import { useAtomValue } from \"jotai\";\nimport { useCallback } from \"react\";\nimport { loadableNodesAtom, loadableSelectedFolderAtom, unwrappedNodesAtom, unwrappedSelectedFolderAtom, } from \"../internal/atoms.js\";\nimport { dispatchSetNodeEvent } from \"../internal/events.js\";\nimport { makeFolderNodeFromDrive } from \"../utils/drives.js\";\nimport { isFileNodeKind, isFolderNodeKind, sortNodesByName, } from \"../utils/nodes.js\";\nimport { useSelectedDocument } from \"./documents.js\";\nimport { useDrives, useSelectedDrive } from \"./drives.js\";\n/** Returns the nodes for a drive. */\nexport function useNodes() {\n return useAtomValue(unwrappedNodesAtom);\n}\n/** Returns a loadable of the nodes for a drive. */\nexport function useLoadableNodes() {\n return useAtomValue(loadableNodesAtom);\n}\n/** Returns a function that sets the selected node (document or folder) with a node id. */\nexport function useSetSelectedNode() {\n return useCallback((nodeId) => {\n dispatchSetNodeEvent(nodeId);\n }, []);\n}\n/** Returns a node in the selected drive by id. */\nexport function useNodeById(id) {\n const nodes = useNodes();\n return nodes?.find((n) => n.id === id);\n}\n/** Returns the parent folder id of a node by id */\nexport function useParentFolderId(id) {\n const node = useNodeById(id);\n return node?.parentFolder ?? undefined;\n}\n/** Returns the parent folder of a node by id */\nexport function useParentFolder(id) {\n const parentFolderId = useParentFolderId(id);\n const nodes = useNodes();\n const parentFolder = nodes\n ?.filter((n) => isFolderNodeKind(n))\n .find((n) => n.id === parentFolderId);\n return parentFolder;\n}\n/** Returns the selected folder or document's parent folder. */\nexport function useSelectedParentFolder() {\n const selectedFolder = useSelectedFolder();\n const selectedDocument = useSelectedDocument();\n const selectedNodeId = selectedDocument?.header.id ?? selectedFolder?.id;\n return useParentFolder(selectedNodeId);\n}\n/** Returns the path to a node. */\nexport function useNodePath(id) {\n const nodes = useNodes();\n const selectedDrive = useSelectedDrive();\n if (!nodes || !selectedDrive)\n return [];\n const driveFolderNode = makeFolderNodeFromDrive(selectedDrive);\n const path = [];\n if (driveFolderNode) {\n path.unshift(driveFolderNode);\n }\n let current = nodes.find((n) => n.id === id);\n while (current) {\n path.unshift(current);\n if (!current.parentFolder)\n break;\n current = nodes.find((n) => n.id === current?.parentFolder);\n }\n return path.reverse();\n}\n/** Returns the selected folder. */\nexport function useSelectedFolder() {\n return useAtomValue(unwrappedSelectedFolderAtom);\n}\n/** Returns a loadable of the selected folder. */\nexport function useLoadableSelectedFolder() {\n return useAtomValue(loadableSelectedFolderAtom);\n}\n/** Returns the path to the selected node. */\nexport function useSelectedNodePath() {\n const selectedFolder = useSelectedFolder();\n const selectedDocument = useSelectedDocument();\n const selectedNodeId = selectedDocument?.header.id ?? selectedFolder?.id;\n return useNodePath(selectedNodeId);\n}\n/** Returns the child nodes for the selected drive or folder. */\nexport function useChildNodes() {\n const nodes = useNodes();\n const selectedFolder = useSelectedFolder();\n const selectedFolderId = selectedFolder?.id;\n if (!nodes)\n return [];\n if (!selectedFolderId)\n return sortNodesByName(nodes);\n return sortNodesByName(nodes.filter((n) => n.parentFolder === selectedFolderId));\n}\n/** Returns the folder child nodes for the selected drive or folder. */\nexport function useFolderChildNodes() {\n const childNodes = useChildNodes();\n return sortNodesByName(childNodes.filter((n) => isFolderNodeKind(n)));\n}\n/** Returns the file (document) child nodes for the selected drive or folder. */\nexport function useFileChildNodes() {\n const childNodes = useChildNodes();\n return sortNodesByName(childNodes.filter((n) => isFileNodeKind(n)));\n}\n/** Returns the child nodes for a drive or folder by id. */\nexport function useChildNodesForId(id) {\n const nodes = useNodes();\n const drives = useDrives();\n if (!nodes || !drives)\n return [];\n const isDrive = drives.some((d) => d.header.id === id);\n const childNodes = isDrive\n ? nodes\n : nodes.filter((n) => n.parentFolder === id);\n return sortNodesByName(childNodes);\n}\n/** Returns the folder child nodes for a drive or folder by id. */\nexport function useFolderChildNodesForId(id) {\n const childNodes = useChildNodesForId(id);\n return sortNodesByName(childNodes.filter((n) => isFolderNodeKind(n)));\n}\n/** Returns the file (document) child nodes for a drive or folder by id. */\nexport function useFileChildNodesForId(id) {\n const childNodes = useChildNodesForId(id);\n return sortNodesByName(childNodes.filter((n) => isFileNodeKind(n)));\n}\n/** Returns the name of a node. */\nexport function useNodeName(id) {\n const unwrappedNodes = useNodes();\n if (!unwrappedNodes)\n return undefined;\n const node = unwrappedNodes.find((n) => n.id === id);\n return node?.name;\n}\n/** Returns the kind of a node. */\nexport function useNodeKind(id) {\n const unwrappedNodes = useNodes();\n if (!unwrappedNodes)\n return undefined;\n const node = unwrappedNodes.find((n) => n.id === id);\n if (!node)\n return undefined;\n return node.kind.toUpperCase();\n}\n//# sourceMappingURL=nodes.js.map"],"names":["useSelectedDocument","useAtomValue","unwrappedSelectedDocumentAtom","useLoadableSelectedDocument","loadableSelectedDocumentAtom","useNodes","unwrappedNodesAtom","useSetSelectedNode","useCallback","nodeId","dispatchSetNodeEvent","useNodeById","id","nodes","n","useParentFolderId","node","useParentFolder","parentFolderId","isFolderNodeKind","useSelectedParentFolder","selectedFolder","useSelectedFolder","selectedDocument","selectedNodeId","useNodePath","selectedDrive","useSelectedDrive","driveFolderNode","makeFolderNodeFromDrive","path","current","unwrappedSelectedFolderAtom","useLoadableSelectedFolder","loadableSelectedFolderAtom","useSelectedNodePath","useChildNodesForId","drives","useDrives","childNodes","sortNodesByName","useFolderChildNodesForId","useFileChildNodesForId","isFileNodeKind","useNodeName","unwrappedNodes","useNodeKind"],"mappings":"yKAWO,SAASA,GAAsB,CAClC,OAAOC,EAAaC,CAA6B,CACrD,CAEO,SAASC,GAA8B,CAC1C,OAAOF,EAAaG,CAA4B,CACpD,CCRO,SAASC,GAAW,CACvB,OAAOJ,EAAaK,CAAkB,CAC1C,CAMO,SAASC,GAAqB,CACjC,OAAOC,EAAaC,GAAW,CAC3BC,EAAqBD,CAAM,CACnC,EAAO,EAAE,CACT,CAEO,SAASE,EAAYC,EAAI,CAC5B,MAAMC,EAAQR,EAAQ,EACtB,OAAOQ,GAAA,YAAAA,EAAO,KAAMC,GAAMA,EAAE,KAAOF,EACvC,CAEO,SAASG,EAAkBH,EAAI,CAClC,MAAMI,EAAOL,EAAYC,CAAE,EAC3B,OAAOI,GAAA,YAAAA,EAAM,eAAgB,MACjC,CAEO,SAASC,EAAgBL,EAAI,CAChC,MAAMM,EAAiBH,EAAkBH,CAAE,EACrCC,EAAQR,EAAQ,EAItB,OAHqBQ,GAAA,YAAAA,EACf,OAAQC,GAAMK,EAAiBL,CAAC,GACjC,KAAMA,GAAMA,EAAE,KAAOI,EAE9B,CAEO,SAASE,GAA0B,CACtC,MAAMC,EAAiBC,EAAiB,EAClCC,EAAmBvB,EAAmB,EACtCwB,GAAiBD,GAAA,YAAAA,EAAkB,OAAO,MAAMF,GAAA,YAAAA,EAAgB,IACtE,OAAOJ,EAAgBO,CAAc,CACzC,CAEO,SAASC,EAAYb,EAAI,CAC5B,MAAMC,EAAQR,EAAQ,EAChBqB,EAAgBC,EAAgB,EACtC,GAAI,CAACd,GAAS,CAACa,EACX,MAAO,CAAA,EACX,MAAME,EAAkBC,EAAwBH,CAAa,EACvDI,EAAO,CAAA,EACTF,GACAE,EAAK,QAAQF,CAAe,EAEhC,IAAIG,EAAUlB,EAAM,KAAMC,GAAMA,EAAE,KAAOF,CAAE,EAC3C,KAAOmB,IACHD,EAAK,QAAQC,CAAO,EAChB,EAACA,EAAQ,eAEbA,EAAUlB,EAAM,KAAMC,GAAMA,EAAE,MAAOiB,GAAA,YAAAA,EAAS,aAAY,EAE9D,OAAOD,EAAK,QAAO,CACvB,CAEO,SAASR,GAAoB,CAChC,OAAOrB,EAAa+B,CAA2B,CACnD,CAEO,SAASC,GAA4B,CACxC,OAAOhC,EAAaiC,CAA0B,CAClD,CAEO,SAASC,GAAsB,CAClC,MAAMd,EAAiBC,EAAiB,EAClCC,EAAmBvB,EAAmB,EACtCwB,GAAiBD,GAAA,YAAAA,EAAkB,OAAO,MAAMF,GAAA,YAAAA,EAAgB,IACtE,OAAOI,EAAYD,CAAc,CACrC,CAuBO,SAASY,EAAmBxB,EAAI,CACnC,MAAMC,EAAQR,EAAQ,EAChBgC,EAASC,EAAS,EACxB,GAAI,CAACzB,GAAS,CAACwB,EACX,MAAO,CAAA,EAEX,MAAME,EADUF,EAAO,KAAM,GAAM,EAAE,OAAO,KAAOzB,CAAE,EAE/CC,EACAA,EAAM,OAAQC,GAAMA,EAAE,eAAiBF,CAAE,EAC/C,OAAO4B,EAAgBD,CAAU,CACrC,CAEO,SAASE,EAAyB7B,EAAI,CACzC,MAAM2B,EAAaH,EAAmBxB,CAAE,EACxC,OAAO4B,EAAgBD,EAAW,OAAQzB,GAAMK,EAAiBL,CAAC,CAAC,CAAC,CACxE,CAEO,SAAS4B,EAAuB9B,EAAI,CACvC,MAAM2B,EAAaH,EAAmBxB,CAAE,EACxC,OAAO4B,EAAgBD,EAAW,OAAQzB,GAAM6B,EAAe7B,CAAC,CAAC,CAAC,CACtE,CAEO,SAAS8B,EAAYhC,EAAI,CAC5B,MAAMiC,EAAiBxC,EAAQ,EAC/B,GAAI,CAACwC,EACD,OACJ,MAAM7B,EAAO6B,EAAe,KAAM/B,GAAMA,EAAE,KAAOF,CAAE,EACnD,OAAOI,GAAA,YAAAA,EAAM,IACjB,CAEO,SAAS8B,EAAYlC,EAAI,CAC5B,MAAMiC,EAAiBxC,EAAQ,EAC/B,GAAI,CAACwC,EACD,OACJ,MAAM7B,EAAO6B,EAAe,KAAM/B,GAAMA,EAAE,KAAOF,CAAE,EACnD,GAAKI,EAEL,OAAOA,EAAK,KAAK,YAAW,CAChC"}
@@ -1,4 +1,4 @@
1
- import{o as H,R as m,T as o,h as s,p as A,u as C,x as P,q as R}from"./useInitSentry.BXZzeAO4.js";import"react/jsx-runtime";import"./index.Xt1GtJTP.js";import"react";import"react-dom";import"./index.Cx09-3h-.js";import"react-dom/client";import"./browser.BkwNmV2Z.js";import"./app-skeleton.js";import"./useAcceptedCookies.DHQO4jEL.js";import"./registerServiceWorker.D3pB6TTq.js";C();var B="state.txt",L="data",W={DIR:16384,FILE:32768},T,I,N,_,w,k,y,j,F,O,S,l,$,E,M,g,f,D,v,x,et=class extends H{constructor(t,{initialPoolSize:e=1e3,maintainedPoolSize:a=100,debug:i=!1}={}){super(t,{debug:i}),m(this,l),m(this,T),m(this,I),m(this,N),m(this,_),m(this,w),m(this,k,new Map),m(this,y,new Map),m(this,j,0),m(this,F,new Map),m(this,O,new Map),this.lastCheckpoint=0,this.checkpointInterval=1e3*60,this.poolCounter=0,m(this,S,new Set),this.initialPoolSize=e,this.maintainedPoolSize=a}async init(t,e){return await o(this,l,$).call(this),super.init(t,e)}async syncToFs(t=!1){await this.maybeCheckpointState(),await this.maintainPool(),t||this.flush()}async closeFs(){for(let t of s(this,y).values())t.close();s(this,w).flush(),s(this,w).close(),this.pg.Module.FS.quit()}async maintainPool(t){t=t||this.maintainedPoolSize;let e=t-this.state.pool.length,a=[];for(let i=0;i<e;i++)a.push(new Promise(async h=>{++this.poolCounter;let r=`${(Date.now()-1704063600).toString(16).padStart(8,"0")}-${this.poolCounter.toString(16).padStart(8,"0")}`,c=await s(this,N).getFileHandle(r,{create:!0}),d=await c.createSyncAccessHandle();s(this,k).set(r,c),s(this,y).set(r,d),o(this,l,M).call(this,{opp:"createPoolFile",args:[r]}),this.state.pool.push(r),h()}));for(let i=0;i>e;i--)a.push(new Promise(async h=>{var d;let r=this.state.pool.pop();o(this,l,M).call(this,{opp:"deletePoolFile",args:[r]});let c=s(this,k).get(r);(d=s(this,y).get(r))==null||d.close(),await s(this,N).removeEntry(c.name),s(this,k).delete(r),s(this,y).delete(r),h()}));await Promise.all(a)}_createPoolFileState(t){this.state.pool.push(t)}_deletePoolFileState(t){let e=this.state.pool.indexOf(t);e>-1&&this.state.pool.splice(e,1)}async maybeCheckpointState(){Date.now()-this.lastCheckpoint>this.checkpointInterval&&await this.checkpointState()}async checkpointState(){let t=new TextEncoder().encode(JSON.stringify(this.state));s(this,w).truncate(0),s(this,w).write(t,{at:0}),s(this,w).flush(),this.lastCheckpoint=Date.now()}flush(){for(let t of s(this,S))try{t.flush()}catch{}s(this,S).clear()}chmod(t,e){o(this,l,E).call(this,{opp:"chmod",args:[t,e]},()=>{this._chmodState(t,e)})}_chmodState(t,e){let a=o(this,l,f).call(this,t);a.mode=e}close(t){let e=o(this,l,D).call(this,t);s(this,F).delete(t),s(this,O).delete(e)}fstat(t){let e=o(this,l,D).call(this,t);return this.lstat(e)}lstat(t){let e=o(this,l,f).call(this,t),a=e.type==="file"?s(this,y).get(e.backingFilename).getSize():0,i=4096;return{dev:0,ino:0,mode:e.mode,nlink:1,uid:0,gid:0,rdev:0,size:a,blksize:i,blocks:Math.ceil(a/i),atime:e.lastModified,mtime:e.lastModified,ctime:e.lastModified}}mkdir(t,e){o(this,l,E).call(this,{opp:"mkdir",args:[t,e]},()=>{this._mkdirState(t,e)})}_mkdirState(t,e){let a=o(this,l,g).call(this,t),i=a.pop(),h=[],r=this.state.root;for(let d of a){if(h.push(t),!Object.prototype.hasOwnProperty.call(r.children,d))if(e!=null&&e.recursive)this.mkdir(h.join("/"));else throw new p("ENOENT","No such file or directory");if(r.children[d].type!=="directory")throw new p("ENOTDIR","Not a directory");r=r.children[d]}if(Object.prototype.hasOwnProperty.call(r.children,i))throw new p("EEXIST","File exists");let c={type:"directory",lastModified:Date.now(),mode:(e==null?void 0:e.mode)||W.DIR,children:{}};r.children[i]=c}open(t,e,a){if(o(this,l,f).call(this,t).type!=="file")throw new p("EISDIR","Is a directory");let i=o(this,l,v).call(this);return s(this,F).set(i,t),s(this,O).set(t,i),i}readdir(t){let e=o(this,l,f).call(this,t);if(e.type!=="directory")throw new p("ENOTDIR","Not a directory");return Object.keys(e.children)}read(t,e,a,i,h){let r=o(this,l,D).call(this,t),c=o(this,l,f).call(this,r);if(c.type!=="file")throw new p("EISDIR","Is a directory");return s(this,y).get(c.backingFilename).read(new Uint8Array(e.buffer,a,i),{at:h})}rename(t,e){o(this,l,E).call(this,{opp:"rename",args:[t,e]},()=>{this._renameState(t,e,!0)})}_renameState(t,e,a=!1){let i=o(this,l,g).call(this,t),h=i.pop(),r=o(this,l,f).call(this,i.join("/"));if(!Object.prototype.hasOwnProperty.call(r.children,h))throw new p("ENOENT","No such file or directory");let c=o(this,l,g).call(this,e),d=c.pop(),n=o(this,l,f).call(this,c.join("/"));if(a&&Object.prototype.hasOwnProperty.call(n.children,d)){let u=n.children[d];s(this,y).get(u.backingFilename).truncate(0),this.state.pool.push(u.backingFilename)}n.children[d]=r.children[h],delete r.children[h]}rmdir(t){o(this,l,E).call(this,{opp:"rmdir",args:[t]},()=>{this._rmdirState(t)})}_rmdirState(t){let e=o(this,l,g).call(this,t),a=e.pop(),i=o(this,l,f).call(this,e.join("/"));if(!Object.prototype.hasOwnProperty.call(i.children,a))throw new p("ENOENT","No such file or directory");let h=i.children[a];if(h.type!=="directory")throw new p("ENOTDIR","Not a directory");if(Object.keys(h.children).length>0)throw new p("ENOTEMPTY","Directory not empty");delete i.children[a]}truncate(t,e=0){let a=o(this,l,f).call(this,t);if(a.type!=="file")throw new p("EISDIR","Is a directory");let i=s(this,y).get(a.backingFilename);if(!i)throw new p("ENOENT","No such file or directory");i.truncate(e),s(this,S).add(i)}unlink(t){o(this,l,E).call(this,{opp:"unlink",args:[t]},()=>{this._unlinkState(t,!0)})}_unlinkState(t,e=!1){let a=o(this,l,g).call(this,t),i=a.pop(),h=o(this,l,f).call(this,a.join("/"));if(!Object.prototype.hasOwnProperty.call(h.children,i))throw new p("ENOENT","No such file or directory");let r=h.children[i];if(r.type!=="file")throw new p("EISDIR","Is a directory");if(delete h.children[i],e){let c=s(this,y).get(r.backingFilename);c==null||c.truncate(0),s(this,S).add(c),s(this,O).has(t)&&(s(this,F).delete(s(this,O).get(t)),s(this,O).delete(t))}this.state.pool.push(r.backingFilename)}utimes(t,e,a){o(this,l,E).call(this,{opp:"utimes",args:[t,e,a]},()=>{this._utimesState(t,e,a)})}_utimesState(t,e,a){let i=o(this,l,f).call(this,t);i.lastModified=a}writeFile(t,e,a){let i=o(this,l,g).call(this,t),h=i.pop(),r=o(this,l,f).call(this,i.join("/"));if(Object.prototype.hasOwnProperty.call(r.children,h)){let n=r.children[h];n.lastModified=Date.now(),o(this,l,M).call(this,{opp:"setLastModified",args:[t,n.lastModified]})}else{if(this.state.pool.length===0)throw new Error("No more file handles available in the pool");let n={type:"file",lastModified:Date.now(),mode:(a==null?void 0:a.mode)||W.FILE,backingFilename:this.state.pool.pop()};r.children[h]=n,o(this,l,M).call(this,{opp:"createFileNode",args:[t,n]})}let c=r.children[h],d=s(this,y).get(c.backingFilename);e.length>0&&(d.write(typeof e=="string"?new TextEncoder().encode(e):new Uint8Array(e),{at:0}),t.startsWith("/pg_wal")&&s(this,S).add(d))}_createFileNodeState(t,e){let a=o(this,l,g).call(this,t),i=a.pop(),h=o(this,l,f).call(this,a.join("/"));h.children[i]=e;let r=this.state.pool.indexOf(e.backingFilename);return r>-1&&this.state.pool.splice(r,1),e}_setLastModifiedState(t,e){let a=o(this,l,f).call(this,t);a.lastModified=e}write(t,e,a,i,h){let r=o(this,l,D).call(this,t),c=o(this,l,f).call(this,r);if(c.type!=="file")throw new p("EISDIR","Is a directory");let d=s(this,y).get(c.backingFilename);if(!d)throw new p("EBADF","Bad file descriptor");let n=d.write(new Uint8Array(e,a,i),{at:h});return r.startsWith("/pg_wal")&&s(this,S).add(d),n}};T=new WeakMap,I=new WeakMap,N=new WeakMap,_=new WeakMap,w=new WeakMap,k=new WeakMap,y=new WeakMap,j=new WeakMap,F=new WeakMap,O=new WeakMap,S=new WeakMap,l=new WeakSet,$=async function(){P(this,T,await navigator.storage.getDirectory()),P(this,I,await o(this,l,x).call(this,this.dataDir,{create:!0})),P(this,N,await o(this,l,x).call(this,L,{from:s(this,I),create:!0})),P(this,_,await s(this,I).getFileHandle(B,{create:!0})),P(this,w,await s(this,_).createSyncAccessHandle());let t=new ArrayBuffer(s(this,w).getSize());s(this,w).read(t,{at:0});let e,a=new TextDecoder().decode(t).split(`
1
+ import{o as H,R as m,T as o,h as s,p as A,u as C,x as P,q as R}from"./useInitSentry.Bb28RsdX.js";import"react/jsx-runtime";import"./index.Xt1GtJTP.js";import"react";import"react-dom";import"./index.D1VdJrbu.js";import"react-dom/client";import"./browser.BkwNmV2Z.js";import"./app-skeleton.js";import"./useAcceptedCookies.D1uKoy1t.js";import"./registerServiceWorker.BedDSXhk.js";C();var B="state.txt",L="data",W={DIR:16384,FILE:32768},T,I,N,_,w,k,y,j,F,O,S,l,$,E,M,g,f,D,v,x,et=class extends H{constructor(t,{initialPoolSize:e=1e3,maintainedPoolSize:a=100,debug:i=!1}={}){super(t,{debug:i}),m(this,l),m(this,T),m(this,I),m(this,N),m(this,_),m(this,w),m(this,k,new Map),m(this,y,new Map),m(this,j,0),m(this,F,new Map),m(this,O,new Map),this.lastCheckpoint=0,this.checkpointInterval=1e3*60,this.poolCounter=0,m(this,S,new Set),this.initialPoolSize=e,this.maintainedPoolSize=a}async init(t,e){return await o(this,l,$).call(this),super.init(t,e)}async syncToFs(t=!1){await this.maybeCheckpointState(),await this.maintainPool(),t||this.flush()}async closeFs(){for(let t of s(this,y).values())t.close();s(this,w).flush(),s(this,w).close(),this.pg.Module.FS.quit()}async maintainPool(t){t=t||this.maintainedPoolSize;let e=t-this.state.pool.length,a=[];for(let i=0;i<e;i++)a.push(new Promise(async h=>{++this.poolCounter;let r=`${(Date.now()-1704063600).toString(16).padStart(8,"0")}-${this.poolCounter.toString(16).padStart(8,"0")}`,c=await s(this,N).getFileHandle(r,{create:!0}),d=await c.createSyncAccessHandle();s(this,k).set(r,c),s(this,y).set(r,d),o(this,l,M).call(this,{opp:"createPoolFile",args:[r]}),this.state.pool.push(r),h()}));for(let i=0;i>e;i--)a.push(new Promise(async h=>{var d;let r=this.state.pool.pop();o(this,l,M).call(this,{opp:"deletePoolFile",args:[r]});let c=s(this,k).get(r);(d=s(this,y).get(r))==null||d.close(),await s(this,N).removeEntry(c.name),s(this,k).delete(r),s(this,y).delete(r),h()}));await Promise.all(a)}_createPoolFileState(t){this.state.pool.push(t)}_deletePoolFileState(t){let e=this.state.pool.indexOf(t);e>-1&&this.state.pool.splice(e,1)}async maybeCheckpointState(){Date.now()-this.lastCheckpoint>this.checkpointInterval&&await this.checkpointState()}async checkpointState(){let t=new TextEncoder().encode(JSON.stringify(this.state));s(this,w).truncate(0),s(this,w).write(t,{at:0}),s(this,w).flush(),this.lastCheckpoint=Date.now()}flush(){for(let t of s(this,S))try{t.flush()}catch{}s(this,S).clear()}chmod(t,e){o(this,l,E).call(this,{opp:"chmod",args:[t,e]},()=>{this._chmodState(t,e)})}_chmodState(t,e){let a=o(this,l,f).call(this,t);a.mode=e}close(t){let e=o(this,l,D).call(this,t);s(this,F).delete(t),s(this,O).delete(e)}fstat(t){let e=o(this,l,D).call(this,t);return this.lstat(e)}lstat(t){let e=o(this,l,f).call(this,t),a=e.type==="file"?s(this,y).get(e.backingFilename).getSize():0,i=4096;return{dev:0,ino:0,mode:e.mode,nlink:1,uid:0,gid:0,rdev:0,size:a,blksize:i,blocks:Math.ceil(a/i),atime:e.lastModified,mtime:e.lastModified,ctime:e.lastModified}}mkdir(t,e){o(this,l,E).call(this,{opp:"mkdir",args:[t,e]},()=>{this._mkdirState(t,e)})}_mkdirState(t,e){let a=o(this,l,g).call(this,t),i=a.pop(),h=[],r=this.state.root;for(let d of a){if(h.push(t),!Object.prototype.hasOwnProperty.call(r.children,d))if(e!=null&&e.recursive)this.mkdir(h.join("/"));else throw new p("ENOENT","No such file or directory");if(r.children[d].type!=="directory")throw new p("ENOTDIR","Not a directory");r=r.children[d]}if(Object.prototype.hasOwnProperty.call(r.children,i))throw new p("EEXIST","File exists");let c={type:"directory",lastModified:Date.now(),mode:(e==null?void 0:e.mode)||W.DIR,children:{}};r.children[i]=c}open(t,e,a){if(o(this,l,f).call(this,t).type!=="file")throw new p("EISDIR","Is a directory");let i=o(this,l,v).call(this);return s(this,F).set(i,t),s(this,O).set(t,i),i}readdir(t){let e=o(this,l,f).call(this,t);if(e.type!=="directory")throw new p("ENOTDIR","Not a directory");return Object.keys(e.children)}read(t,e,a,i,h){let r=o(this,l,D).call(this,t),c=o(this,l,f).call(this,r);if(c.type!=="file")throw new p("EISDIR","Is a directory");return s(this,y).get(c.backingFilename).read(new Uint8Array(e.buffer,a,i),{at:h})}rename(t,e){o(this,l,E).call(this,{opp:"rename",args:[t,e]},()=>{this._renameState(t,e,!0)})}_renameState(t,e,a=!1){let i=o(this,l,g).call(this,t),h=i.pop(),r=o(this,l,f).call(this,i.join("/"));if(!Object.prototype.hasOwnProperty.call(r.children,h))throw new p("ENOENT","No such file or directory");let c=o(this,l,g).call(this,e),d=c.pop(),n=o(this,l,f).call(this,c.join("/"));if(a&&Object.prototype.hasOwnProperty.call(n.children,d)){let u=n.children[d];s(this,y).get(u.backingFilename).truncate(0),this.state.pool.push(u.backingFilename)}n.children[d]=r.children[h],delete r.children[h]}rmdir(t){o(this,l,E).call(this,{opp:"rmdir",args:[t]},()=>{this._rmdirState(t)})}_rmdirState(t){let e=o(this,l,g).call(this,t),a=e.pop(),i=o(this,l,f).call(this,e.join("/"));if(!Object.prototype.hasOwnProperty.call(i.children,a))throw new p("ENOENT","No such file or directory");let h=i.children[a];if(h.type!=="directory")throw new p("ENOTDIR","Not a directory");if(Object.keys(h.children).length>0)throw new p("ENOTEMPTY","Directory not empty");delete i.children[a]}truncate(t,e=0){let a=o(this,l,f).call(this,t);if(a.type!=="file")throw new p("EISDIR","Is a directory");let i=s(this,y).get(a.backingFilename);if(!i)throw new p("ENOENT","No such file or directory");i.truncate(e),s(this,S).add(i)}unlink(t){o(this,l,E).call(this,{opp:"unlink",args:[t]},()=>{this._unlinkState(t,!0)})}_unlinkState(t,e=!1){let a=o(this,l,g).call(this,t),i=a.pop(),h=o(this,l,f).call(this,a.join("/"));if(!Object.prototype.hasOwnProperty.call(h.children,i))throw new p("ENOENT","No such file or directory");let r=h.children[i];if(r.type!=="file")throw new p("EISDIR","Is a directory");if(delete h.children[i],e){let c=s(this,y).get(r.backingFilename);c==null||c.truncate(0),s(this,S).add(c),s(this,O).has(t)&&(s(this,F).delete(s(this,O).get(t)),s(this,O).delete(t))}this.state.pool.push(r.backingFilename)}utimes(t,e,a){o(this,l,E).call(this,{opp:"utimes",args:[t,e,a]},()=>{this._utimesState(t,e,a)})}_utimesState(t,e,a){let i=o(this,l,f).call(this,t);i.lastModified=a}writeFile(t,e,a){let i=o(this,l,g).call(this,t),h=i.pop(),r=o(this,l,f).call(this,i.join("/"));if(Object.prototype.hasOwnProperty.call(r.children,h)){let n=r.children[h];n.lastModified=Date.now(),o(this,l,M).call(this,{opp:"setLastModified",args:[t,n.lastModified]})}else{if(this.state.pool.length===0)throw new Error("No more file handles available in the pool");let n={type:"file",lastModified:Date.now(),mode:(a==null?void 0:a.mode)||W.FILE,backingFilename:this.state.pool.pop()};r.children[h]=n,o(this,l,M).call(this,{opp:"createFileNode",args:[t,n]})}let c=r.children[h],d=s(this,y).get(c.backingFilename);e.length>0&&(d.write(typeof e=="string"?new TextEncoder().encode(e):new Uint8Array(e),{at:0}),t.startsWith("/pg_wal")&&s(this,S).add(d))}_createFileNodeState(t,e){let a=o(this,l,g).call(this,t),i=a.pop(),h=o(this,l,f).call(this,a.join("/"));h.children[i]=e;let r=this.state.pool.indexOf(e.backingFilename);return r>-1&&this.state.pool.splice(r,1),e}_setLastModifiedState(t,e){let a=o(this,l,f).call(this,t);a.lastModified=e}write(t,e,a,i,h){let r=o(this,l,D).call(this,t),c=o(this,l,f).call(this,r);if(c.type!=="file")throw new p("EISDIR","Is a directory");let d=s(this,y).get(c.backingFilename);if(!d)throw new p("EBADF","Bad file descriptor");let n=d.write(new Uint8Array(e,a,i),{at:h});return r.startsWith("/pg_wal")&&s(this,S).add(d),n}};T=new WeakMap,I=new WeakMap,N=new WeakMap,_=new WeakMap,w=new WeakMap,k=new WeakMap,y=new WeakMap,j=new WeakMap,F=new WeakMap,O=new WeakMap,S=new WeakMap,l=new WeakSet,$=async function(){P(this,T,await navigator.storage.getDirectory()),P(this,I,await o(this,l,x).call(this,this.dataDir,{create:!0})),P(this,N,await o(this,l,x).call(this,L,{from:s(this,I),create:!0})),P(this,_,await s(this,I).getFileHandle(B,{create:!0})),P(this,w,await s(this,_).createSyncAccessHandle());let t=new ArrayBuffer(s(this,w).getSize());s(this,w).read(t,{at:0});let e,a=new TextDecoder().decode(t).split(`
2
2
  `),i=!1;try{e=JSON.parse(a[0])}catch{e={root:{type:"directory",lastModified:Date.now(),mode:W.DIR,children:{}},pool:[]},s(this,w).truncate(0),s(this,w).write(new TextEncoder().encode(JSON.stringify(e)),{at:0}),i=!0}this.state=e;let h=a.slice(1).filter(Boolean).map(n=>JSON.parse(n));for(let n of h){let u=`_${n.opp}State`;if(typeof this[u]=="function")try{this[u].bind(this)(...n.args)}catch(b){console.warn("Error applying OPFS AHP WAL entry",n,b)}}let r=[],c=async n=>{if(n.type==="file")try{let u=await s(this,N).getFileHandle(n.backingFilename),b=await u.createSyncAccessHandle();s(this,k).set(n.backingFilename,u),s(this,y).set(n.backingFilename,b)}catch(u){console.error("Error opening file handle for node",n,u)}else for(let u of Object.values(n.children))r.push(c(u))};await c(this.state.root);let d=[];for(let n of this.state.pool)d.push(new Promise(async u=>{s(this,k).has(n)&&console.warn("File handle already exists for pool file",n);let b=await s(this,N).getFileHandle(n),z=await b.createSyncAccessHandle();s(this,k).set(n,b),s(this,y).set(n,z),u()}));await Promise.all([...r,...d]),await this.maintainPool(i?this.initialPoolSize:this.maintainedPoolSize)},E=function(t,e){let a=o(this,l,M).call(this,t);try{e()}catch(i){throw s(this,w).truncate(a),i}},M=function(t){let e=JSON.stringify(t),a=new TextEncoder().encode(`
3
3
  ${e}`),i=s(this,w).getSize();return s(this,w).write(a,{at:i}),s(this,S).add(s(this,w)),i},g=function(t){return t.split("/").filter(Boolean)},f=function(t,e){let a=o(this,l,g).call(this,t),i=e||this.state.root;for(let h of a){if(i.type!=="directory")throw new p("ENOTDIR","Not a directory");if(!Object.prototype.hasOwnProperty.call(i.children,h))throw new p("ENOENT","No such file or directory");i=i.children[h]}return i},D=function(t){let e=s(this,F).get(t);if(!e)throw new p("EBADF","Bad file descriptor");return e},v=function(){let t=++R(this,j)._;for(;s(this,F).has(t);)R(this,j)._++;return t},x=async function(t,e){let a=o(this,l,g).call(this,t),i=(e==null?void 0:e.from)||s(this,T);for(let h of a)i=await i.getDirectoryHandle(h,{create:e==null?void 0:e.create});return i};var p=class extends Error{constructor(t,e){super(e),typeof t=="number"?this.code=t:typeof t=="string"&&(this.code=A[t])}};export{et as OpfsAhpFS};
4
- //# sourceMappingURL=opfs-ahp.DEI4_OMV.js.map
4
+ //# sourceMappingURL=opfs-ahp.FfypeTGM.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"opfs-ahp.DEI4_OMV.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.FfypeTGM.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,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 g=(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{g as d}from"./index.Cx09-3h-.js";const f=parseInt(window.__VITE_ENVS.PH_CONNECT_VERSION_CHECK_INTERVAL)||60*60*1e3,w=d.routerBasename,W=[w,"service-worker.js"].join("/").replace(/\/{2,}/gm,"/");var a,l,n;class E{constructor(e=!1){g(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===d.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.D3pB6TTq.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 g=(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{g as d}from"./index.D1VdJrbu.js";const f=parseInt(window.__VITE_ENVS.PH_CONNECT_VERSION_CHECK_INTERVAL)||60*60*1e3,w=d.routerBasename,W=[w,"service-worker.js"].join("/").replace(/\/{2,}/gm,"/");var a,l,n;class E{constructor(e=!1){g(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===d.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.BedDSXhk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registerServiceWorker.D3pB6TTq.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":"wbAGA,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.BedDSXhk.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":"wbAGA,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"}