@powerhousedao/connect 4.1.0-dev.12 → 4.1.0-dev.121
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.
- package/{dist/.env → .env} +5 -7
- package/README.md +3 -4
- package/assets/icon.icns +0 -0
- package/assets/icon.ico +0 -0
- package/assets/icon.png +0 -0
- package/assets/icons/Atlas-Logomark.svg +24 -0
- package/assets/icons/BBP-logo-hover-dark.svg +14 -0
- package/assets/icons/BBP-logo-hover-light.svg +14 -0
- package/assets/icons/BBP-logo-main.svg +14 -0
- package/assets/icons/collapse.svg +7 -0
- package/assets/icons/connect-small.svg +3 -0
- package/assets/icons/connect.svg +16 -0
- package/assets/icons/cross.svg +4 -0
- package/assets/icons/dark.svg +5 -0
- package/assets/icons/draft.svg +3 -0
- package/assets/icons/file.svg +3 -0
- package/assets/icons/file2.svg +10 -0
- package/assets/icons/folder.svg +3 -0
- package/assets/icons/light.svg +20 -0
- package/assets/icons/logo.svg +11 -0
- package/assets/icons/plus-circle.svg +5 -0
- package/assets/icons/refresh.svg +4 -0
- package/assets/icons/renown.svg +27 -0
- package/assets/icons/settings.svg +6 -0
- package/assets/icons/template.svg +3 -0
- package/assets/info.plist +85 -0
- package/dist/assets/AddDriveModal-BGjSHEwA.js +1 -0
- package/dist/assets/ClearStorageModal-BF5lJm00.js +1 -0
- package/dist/assets/CookiesPolicyModal-ClJfoEFE.js +1 -0
- package/dist/assets/CreateDocumentModal-CINdPAWM.js +1 -0
- package/dist/assets/DebugSettingsModal-BSw4GAUY.js +1 -0
- package/dist/assets/DeleteDriveModal-CyrRSrU3.js +1 -0
- package/dist/assets/DeleteItemModal-DNgR8oR4.js +1 -0
- package/dist/assets/DisclaimerModal-C22l8p6B.js +1 -0
- package/dist/assets/DriveSettingsModal-Bu7mOsfl.js +1 -0
- package/dist/assets/ExportDocumentWithErrorsModal-C7_2noze.js +1 -0
- package/dist/assets/SettingsModal-D5_K3zgp.js +1 -0
- package/dist/assets/UpgradeDriveModal-FvbFnYDj.js +1 -0
- package/dist/assets/_virtual_ph_external-packages-CM1tCR4L.js +1 -0
- package/dist/assets/config-CU-aFfVJ.js +1 -0
- package/dist/assets/design_system-B5EYRfWk.js +45 -0
- package/dist/assets/design_system_connect-DQAs8BTp.js +45 -0
- package/dist/assets/design_system_ui-Du-J8JBV.js +1 -0
- package/dist/assets/document_drive-BEIKnuGM.js +305 -0
- package/dist/assets/document_engineering-DrnzMUM0.js +1 -0
- package/dist/assets/document_model-DXcLJEjZ.js +230 -0
- package/dist/assets/document_model_editor-BcXan_cV.js +23 -0
- package/dist/assets/drive_explorer-BzslFe1I.js +2 -0
- package/dist/assets/graphql-BS4Brs_E.js +75 -0
- package/dist/assets/graphql-editor-Das9y8pk.js +73 -0
- package/dist/assets/graphql_request-9RNJ00DB.js +3 -0
- package/dist/assets/hmr-LMNkvzP7.js +1 -0
- package/dist/assets/hooks-BD3XG6WA.js +12 -0
- package/dist/assets/index-Br7E7qjt.css +1 -0
- package/dist/assets/index-DV_EnTs_.js +18 -0
- package/dist/assets/json-editor-DaG0kFAq.js +1 -0
- package/dist/assets/react/jsx-runtime-DldvXD6N.js +1 -0
- package/dist/assets/react-DQSxOgtG.js +1 -0
- package/dist/assets/react-dom/client-BVPiT_FE.js +9 -0
- package/dist/assets/react-dom-D6zQJsh6.js +1 -0
- package/dist/assets/reactor_browser-AuZ2bhCI.js +25 -0
- package/dist/assets/sentry_browser-B4YoBIIG.js +498 -0
- package/dist/assets/sentry_react-cODD7zWc.js +3 -0
- package/dist/assets/state-schemas-CqgJ-aoJ.js +2 -0
- package/dist/assets/tailwind_merge-Dr4f9Rms.js +1 -0
- package/dist/assets/zod-C6yxFxyo.js +1 -0
- package/dist/index.html +51 -84
- package/heroku/Dockerfile +98 -0
- package/heroku/Procfile +1 -0
- package/heroku/config/nginx.conf.template +77 -0
- package/heroku/heroku-entrypoint.sh +38 -0
- package/lib/cypress/e2e/navigation.cy.d.ts +2 -0
- package/lib/cypress/e2e/navigation.cy.d.ts.map +1 -0
- package/lib/cypress/e2e/navigation.cy.js +221 -0
- package/lib/cypress/e2e/navigation.cy.js.map +1 -0
- package/lib/cypress/e2e/utils/index.d.ts +15 -0
- package/lib/cypress/e2e/utils/index.d.ts.map +1 -0
- package/lib/cypress/e2e/utils/index.js +121 -0
- package/lib/cypress/e2e/utils/index.js.map +1 -0
- package/lib/cypress/support/commands.d.ts +2 -0
- package/lib/cypress/support/commands.d.ts.map +1 -0
- package/lib/cypress/support/commands.js +29 -0
- package/lib/cypress/support/commands.js.map +1 -0
- package/lib/cypress/support/e2e.d.ts +2 -0
- package/lib/cypress/support/e2e.d.ts.map +1 -0
- package/lib/cypress/support/e2e.js +19 -0
- package/lib/cypress/support/e2e.js.map +1 -0
- package/lib/cypress.config.d.ts +3 -0
- package/lib/cypress.config.d.ts.map +1 -0
- package/lib/cypress.config.js +15 -0
- package/lib/cypress.config.js.map +1 -0
- package/lib/package.copy.json +168 -0
- package/lib/scripts/render-skeleton.d.ts +2 -0
- package/lib/scripts/render-skeleton.d.ts.map +1 -0
- package/lib/scripts/render-skeleton.js +11 -0
- package/lib/scripts/render-skeleton.js.map +1 -0
- package/lib/src/components/analytics.d.ts +8 -0
- package/lib/src/components/analytics.d.ts.map +1 -0
- package/lib/src/components/analytics.js +30 -0
- package/lib/src/components/analytics.js.map +1 -0
- package/lib/src/components/app-loader.d.ts +7 -0
- package/lib/src/components/app-loader.d.ts.map +1 -0
- package/lib/src/components/app-loader.js +20 -0
- package/lib/src/components/app-loader.js.map +1 -0
- package/lib/src/components/app-skeleton.d.ts +3 -0
- package/lib/src/components/app-skeleton.d.ts.map +1 -0
- package/lib/src/components/app-skeleton.js +38 -0
- package/lib/src/components/app-skeleton.js.map +1 -0
- package/lib/src/components/app.d.ts +2 -0
- package/lib/src/components/app.d.ts.map +1 -0
- package/lib/src/components/app.js +18 -0
- package/lib/src/components/app.js.map +1 -0
- package/lib/src/components/button.d.ts +3 -0
- package/lib/src/components/button.d.ts.map +1 -0
- package/lib/src/components/button.js +7 -0
- package/lib/src/components/button.js.map +1 -0
- package/lib/src/components/cookie-banner.d.ts +2 -0
- package/lib/src/components/cookie-banner.d.ts.map +1 -0
- package/lib/src/components/cookie-banner.js +48 -0
- package/lib/src/components/cookie-banner.js.map +1 -0
- package/lib/src/components/document-editor-container.d.ts +2 -0
- package/lib/src/components/document-editor-container.d.ts.map +1 -0
- package/lib/src/components/document-editor-container.js +62 -0
- package/lib/src/components/document-editor-container.js.map +1 -0
- package/lib/src/components/dots-loader.d.ts +2 -0
- package/lib/src/components/dots-loader.d.ts.map +1 -0
- package/lib/src/components/dots-loader.js +15 -0
- package/lib/src/components/dots-loader.js.map +1 -0
- package/lib/src/components/drive-editor-container.d.ts +2 -0
- package/lib/src/components/drive-editor-container.d.ts.map +1 -0
- package/lib/src/components/drive-editor-container.js +25 -0
- package/lib/src/components/drive-editor-container.js.map +1 -0
- package/lib/src/components/drive-icon.d.ts +5 -0
- package/lib/src/components/drive-icon.d.ts.map +1 -0
- package/lib/src/components/drive-icon.js +15 -0
- package/lib/src/components/drive-icon.js.map +1 -0
- package/lib/src/components/editor-loader.d.ts +9 -0
- package/lib/src/components/editor-loader.d.ts.map +1 -0
- package/lib/src/components/editor-loader.js +19 -0
- package/lib/src/components/editor-loader.js.map +1 -0
- package/lib/src/components/editors.d.ts +10 -0
- package/lib/src/components/editors.d.ts.map +1 -0
- package/lib/src/components/editors.js +93 -0
- package/lib/src/components/editors.js.map +1 -0
- package/lib/src/components/footer.d.ts +2 -0
- package/lib/src/components/footer.d.ts.map +1 -0
- package/lib/src/components/footer.js +16 -0
- package/lib/src/components/footer.js.map +1 -0
- package/lib/src/components/index.d.ts +22 -0
- package/lib/src/components/index.d.ts.map +1 -0
- package/lib/src/components/index.js +22 -0
- package/lib/src/components/index.js.map +1 -0
- package/lib/src/components/login.d.ts +2 -0
- package/lib/src/components/login.d.ts.map +1 -0
- package/lib/src/components/login.js +12 -0
- package/lib/src/components/login.js.map +1 -0
- package/lib/src/components/modal/index.d.ts +19 -0
- package/lib/src/components/modal/index.d.ts.map +1 -0
- package/lib/src/components/modal/index.js +19 -0
- package/lib/src/components/modal/index.js.map +1 -0
- package/lib/src/components/modal/modals/AddDriveModal.d.ts +2 -0
- package/lib/src/components/modal/modals/AddDriveModal.d.ts.map +1 -0
- package/lib/src/components/modal/modals/AddDriveModal.js +113 -0
- package/lib/src/components/modal/modals/AddDriveModal.js.map +1 -0
- package/lib/src/components/modal/modals/ClearStorageModal.d.ts +2 -0
- package/lib/src/components/modal/modals/ClearStorageModal.d.ts.map +1 -0
- package/lib/src/components/modal/modals/ClearStorageModal.js +35 -0
- package/lib/src/components/modal/modals/ClearStorageModal.js.map +1 -0
- package/lib/src/components/modal/modals/CookiesPolicyModal.d.ts +2 -0
- package/lib/src/components/modal/modals/CookiesPolicyModal.d.ts.map +1 -0
- package/lib/src/components/modal/modals/CookiesPolicyModal.js +16 -0
- package/lib/src/components/modal/modals/CookiesPolicyModal.js.map +1 -0
- package/lib/src/components/modal/modals/CreateDocumentModal.d.ts +2 -0
- package/lib/src/components/modal/modals/CreateDocumentModal.d.ts.map +1 -0
- package/lib/src/components/modal/modals/CreateDocumentModal.js +24 -0
- package/lib/src/components/modal/modals/CreateDocumentModal.js.map +1 -0
- package/lib/src/components/modal/modals/DebugSettingsModal.d.ts +2 -0
- package/lib/src/components/modal/modals/DebugSettingsModal.d.ts.map +1 -0
- package/lib/src/components/modal/modals/DebugSettingsModal.js +108 -0
- package/lib/src/components/modal/modals/DebugSettingsModal.js.map +1 -0
- package/lib/src/components/modal/modals/DeleteDriveModal.d.ts +2 -0
- package/lib/src/components/modal/modals/DeleteDriveModal.d.ts.map +1 -0
- package/lib/src/components/modal/modals/DeleteDriveModal.js +32 -0
- package/lib/src/components/modal/modals/DeleteDriveModal.js.map +1 -0
- package/lib/src/components/modal/modals/DeleteItemModal.d.ts +3 -0
- package/lib/src/components/modal/modals/DeleteItemModal.d.ts.map +1 -0
- package/lib/src/components/modal/modals/DeleteItemModal.js +33 -0
- package/lib/src/components/modal/modals/DeleteItemModal.js.map +1 -0
- package/lib/src/components/modal/modals/DisclaimerModal.d.ts +3 -0
- package/lib/src/components/modal/modals/DisclaimerModal.d.ts.map +1 -0
- package/lib/src/components/modal/modals/DisclaimerModal.js +12 -0
- package/lib/src/components/modal/modals/DisclaimerModal.js.map +1 -0
- package/lib/src/components/modal/modals/DriveSettingsModal.d.ts +2 -0
- package/lib/src/components/modal/modals/DriveSettingsModal.d.ts.map +1 -0
- package/lib/src/components/modal/modals/DriveSettingsModal.js +28 -0
- package/lib/src/components/modal/modals/DriveSettingsModal.js.map +1 -0
- package/lib/src/components/modal/modals/ExportDocumentWithErrorsModal.d.ts +2 -0
- package/lib/src/components/modal/modals/ExportDocumentWithErrorsModal.d.ts.map +1 -0
- package/lib/src/components/modal/modals/ExportDocumentWithErrorsModal.js +30 -0
- package/lib/src/components/modal/modals/ExportDocumentWithErrorsModal.js.map +1 -0
- package/lib/src/components/modal/modals/SettingsModal.d.ts +3 -0
- package/lib/src/components/modal/modals/SettingsModal.d.ts.map +1 -0
- package/lib/src/components/modal/modals/SettingsModal.js +45 -0
- package/lib/src/components/modal/modals/SettingsModal.js.map +1 -0
- package/lib/src/components/modal/modals/UpgradeDriveModal.d.ts +3 -0
- package/lib/src/components/modal/modals/UpgradeDriveModal.d.ts.map +1 -0
- package/lib/src/components/modal/modals/UpgradeDriveModal.js +21 -0
- package/lib/src/components/modal/modals/UpgradeDriveModal.js.map +1 -0
- package/lib/src/components/modal/modals/settings/about.d.ts +2 -0
- package/lib/src/components/modal/modals/settings/about.d.ts.map +1 -0
- package/lib/src/components/modal/modals/settings/about.js +10 -0
- package/lib/src/components/modal/modals/settings/about.js.map +1 -0
- package/lib/src/components/modal/modals/settings/danger-zone.d.ts +2 -0
- package/lib/src/components/modal/modals/settings/danger-zone.d.ts.map +1 -0
- package/lib/src/components/modal/modals/settings/danger-zone.js +15 -0
- package/lib/src/components/modal/modals/settings/danger-zone.js.map +1 -0
- package/lib/src/components/modal/modals/settings/default-editor.d.ts +2 -0
- package/lib/src/components/modal/modals/settings/default-editor.d.ts.map +1 -0
- package/lib/src/components/modal/modals/settings/default-editor.js +18 -0
- package/lib/src/components/modal/modals/settings/default-editor.js.map +1 -0
- package/lib/src/components/modal/modals/settings/package-manager.d.ts +3 -0
- package/lib/src/components/modal/modals/settings/package-manager.d.ts.map +1 -0
- package/lib/src/components/modal/modals/settings/package-manager.js +87 -0
- package/lib/src/components/modal/modals/settings/package-manager.js.map +1 -0
- package/lib/src/components/modal/modals-container.d.ts +2 -0
- package/lib/src/components/modal/modals-container.d.ts.map +1 -0
- package/lib/src/components/modal/modals-container.js +62 -0
- package/lib/src/components/modal/modals-container.js.map +1 -0
- package/lib/src/components/modal/modals-error-boundary.d.ts +18 -0
- package/lib/src/components/modal/modals-error-boundary.d.ts.map +1 -0
- package/lib/src/components/modal/modals-error-boundary.js +22 -0
- package/lib/src/components/modal/modals-error-boundary.js.map +1 -0
- package/lib/src/components/ph-logo.d.ts +2 -0
- package/lib/src/components/ph-logo.d.ts.map +1 -0
- package/lib/src/components/ph-logo.js +7 -0
- package/lib/src/components/ph-logo.js.map +1 -0
- package/lib/src/components/reload-connect-toast.d.ts +2 -0
- package/lib/src/components/reload-connect-toast.d.ts.map +1 -0
- package/lib/src/components/reload-connect-toast.js +7 -0
- package/lib/src/components/reload-connect-toast.js.map +1 -0
- package/lib/src/components/root.d.ts +2 -0
- package/lib/src/components/root.d.ts.map +1 -0
- package/lib/src/components/root.js +8 -0
- package/lib/src/components/root.js.map +1 -0
- package/lib/src/components/router.d.ts +2 -0
- package/lib/src/components/router.d.ts.map +1 -0
- package/lib/src/components/router.js +41 -0
- package/lib/src/components/router.js.map +1 -0
- package/lib/src/components/search-bar.d.ts +2 -0
- package/lib/src/components/search-bar.d.ts.map +1 -0
- package/lib/src/components/search-bar.js +36 -0
- package/lib/src/components/search-bar.js.map +1 -0
- package/lib/src/components/sidebar.d.ts +2 -0
- package/lib/src/components/sidebar.d.ts.map +1 -0
- package/lib/src/components/sidebar.js +27 -0
- package/lib/src/components/sidebar.js.map +1 -0
- package/lib/src/connect.config.d.ts +113 -0
- package/lib/src/connect.config.d.ts.map +1 -0
- package/lib/src/connect.config.js +147 -0
- package/lib/src/connect.config.js.map +1 -0
- package/lib/src/context/index.d.ts +4 -0
- package/lib/src/context/index.d.ts.map +1 -0
- package/lib/src/context/index.js +4 -0
- package/lib/src/context/index.js.map +1 -0
- package/lib/src/context/processor-manager.d.ts +3 -0
- package/lib/src/context/processor-manager.d.ts.map +1 -0
- package/lib/src/context/processor-manager.js +189 -0
- package/lib/src/context/processor-manager.js.map +1 -0
- package/lib/src/context/read-mode.d.ts +2 -0
- package/lib/src/context/read-mode.d.ts.map +1 -0
- package/lib/src/context/read-mode.js +219 -0
- package/lib/src/context/read-mode.js.map +1 -0
- package/lib/src/context/sentry-provider.d.ts +6 -0
- package/lib/src/context/sentry-provider.d.ts.map +1 -0
- package/lib/src/context/sentry-provider.js +6 -0
- package/lib/src/context/sentry-provider.js.map +1 -0
- package/lib/src/feature-flags.d.ts +34 -0
- package/lib/src/feature-flags.d.ts.map +1 -0
- package/lib/src/feature-flags.js +124 -0
- package/lib/src/feature-flags.js.map +1 -0
- package/lib/src/globals.d.ts +9 -0
- package/lib/src/globals.d.ts.map +1 -0
- package/lib/src/globals.js +2 -0
- package/lib/src/globals.js.map +1 -0
- package/lib/src/hmr.d.ts +3 -0
- package/lib/src/hmr.d.ts.map +1 -0
- package/lib/src/hmr.js +2 -0
- package/lib/src/hmr.js.map +1 -0
- package/lib/src/hooks/index.d.ts +10 -0
- package/lib/src/hooks/index.d.ts.map +1 -0
- package/lib/src/hooks/index.js +10 -0
- package/lib/src/hooks/index.js.map +1 -0
- package/lib/src/hooks/useAcceptedCookies.d.ts +9 -0
- package/lib/src/hooks/useAcceptedCookies.d.ts.map +1 -0
- package/lib/src/hooks/useAcceptedCookies.js +34 -0
- package/lib/src/hooks/useAcceptedCookies.js.map +1 -0
- package/lib/src/hooks/useCheckLatestVersion.d.ts +2 -0
- package/lib/src/hooks/useCheckLatestVersion.d.ts.map +1 -0
- package/lib/src/hooks/useCheckLatestVersion.js +33 -0
- package/lib/src/hooks/useCheckLatestVersion.js.map +1 -0
- package/lib/src/hooks/useClientErrorHandler.d.ts +6 -0
- package/lib/src/hooks/useClientErrorHandler.d.ts.map +1 -0
- package/lib/src/hooks/useClientErrorHandler.js +120 -0
- package/lib/src/hooks/useClientErrorHandler.js.map +1 -0
- package/lib/src/hooks/useCookieBanner.d.ts +5 -0
- package/lib/src/hooks/useCookieBanner.d.ts.map +1 -0
- package/lib/src/hooks/useCookieBanner.js +32 -0
- package/lib/src/hooks/useCookieBanner.js.map +1 -0
- package/lib/src/hooks/useInitSentry.d.ts +2 -0
- package/lib/src/hooks/useInitSentry.d.ts.map +1 -0
- package/lib/src/hooks/useInitSentry.js +80 -0
- package/lib/src/hooks/useInitSentry.js.map +1 -0
- package/lib/src/hooks/useNodeActions.d.ts +6 -0
- package/lib/src/hooks/useNodeActions.d.ts.map +1 -0
- package/lib/src/hooks/useNodeActions.js +35 -0
- package/lib/src/hooks/useNodeActions.js.map +1 -0
- package/lib/src/hooks/useUndoRedoShortcuts.d.ts +8 -0
- package/lib/src/hooks/useUndoRedoShortcuts.d.ts.map +1 -0
- package/lib/src/hooks/useUndoRedoShortcuts.js +26 -0
- package/lib/src/hooks/useUndoRedoShortcuts.js.map +1 -0
- package/lib/src/hooks/useWindowSize.d.ts +5 -0
- package/lib/src/hooks/useWindowSize.d.ts.map +1 -0
- package/lib/src/hooks/useWindowSize.js +21 -0
- package/lib/src/hooks/useWindowSize.js.map +1 -0
- package/lib/src/hooks/utils.d.ts +7 -0
- package/lib/src/hooks/utils.d.ts.map +1 -0
- package/lib/src/hooks/utils.js +46 -0
- package/lib/src/hooks/utils.js.map +1 -0
- package/lib/src/i18n/index.d.ts +4 -0
- package/lib/src/i18n/index.d.ts.map +1 -0
- package/lib/src/i18n/index.js +26 -0
- package/lib/src/i18n/index.js.map +1 -0
- package/lib/src/i18n/locales/en.json +114 -0
- package/lib/src/index.d.ts +2 -0
- package/lib/src/index.d.ts.map +1 -0
- package/lib/src/index.js +2 -0
- package/lib/src/index.js.map +1 -0
- package/lib/src/main.d.ts +2 -0
- package/lib/src/main.d.ts.map +1 -0
- package/lib/src/main.js +5 -0
- package/lib/src/main.js.map +1 -0
- package/lib/src/pages/content.d.ts +2 -0
- package/lib/src/pages/content.d.ts.map +1 -0
- package/lib/src/pages/content.js +39 -0
- package/lib/src/pages/content.js.map +1 -0
- package/lib/src/pages/demo/atlas-import.d.ts +2 -0
- package/lib/src/pages/demo/atlas-import.d.ts.map +1 -0
- package/lib/src/pages/demo/atlas-import.js +122 -0
- package/lib/src/pages/demo/atlas-import.js.map +1 -0
- package/lib/src/pages/index.d.ts +4 -0
- package/lib/src/pages/index.d.ts.map +1 -0
- package/lib/src/pages/index.js +4 -0
- package/lib/src/pages/index.js.map +1 -0
- package/lib/src/pages/settings.d.ts +4 -0
- package/lib/src/pages/settings.d.ts.map +1 -0
- package/lib/src/pages/settings.js +9 -0
- package/lib/src/pages/settings.js.map +1 -0
- package/lib/src/service-worker.d.ts +2 -0
- package/lib/src/service-worker.d.ts.map +1 -0
- package/lib/src/service-worker.js +58 -0
- package/lib/src/service-worker.js.map +1 -0
- package/lib/src/services/hmr.d.ts +13 -0
- package/lib/src/services/hmr.d.ts.map +1 -0
- package/lib/src/services/hmr.js +85 -0
- package/lib/src/services/hmr.js.map +1 -0
- package/lib/src/services/index.d.ts +10 -0
- package/lib/src/services/index.d.ts.map +1 -0
- package/lib/src/services/index.js +9 -0
- package/lib/src/services/index.js.map +1 -0
- package/lib/src/services/logger.d.ts +2 -0
- package/lib/src/services/logger.d.ts.map +1 -0
- package/lib/src/services/logger.js +28 -0
- package/lib/src/services/logger.js.map +1 -0
- package/lib/src/services/renown/browser.d.ts +2 -0
- package/lib/src/services/renown/browser.d.ts.map +1 -0
- package/lib/src/services/renown/browser.js +6 -0
- package/lib/src/services/renown/browser.js.map +1 -0
- package/lib/src/services/renown/constants.d.ts +130 -0
- package/lib/src/services/renown/constants.d.ts.map +1 -0
- package/lib/src/services/renown/constants.js +41 -0
- package/lib/src/services/renown/constants.js.map +1 -0
- package/lib/src/services/renown/utils.d.ts +7 -0
- package/lib/src/services/renown/utils.d.ts.map +1 -0
- package/lib/src/services/renown/utils.js +20 -0
- package/lib/src/services/renown/utils.js.map +1 -0
- package/lib/src/services/storage/base-storage.d.ts +9 -0
- package/lib/src/services/storage/base-storage.d.ts.map +1 -0
- package/lib/src/services/storage/base-storage.js +21 -0
- package/lib/src/services/storage/base-storage.js.map +1 -0
- package/lib/src/services/storage/browser.d.ts +5 -0
- package/lib/src/services/storage/browser.d.ts.map +1 -0
- package/lib/src/services/storage/browser.js +25 -0
- package/lib/src/services/storage/browser.js.map +1 -0
- package/lib/src/services/storage/types.d.ts +6 -0
- package/lib/src/services/storage/types.d.ts.map +1 -0
- package/lib/src/services/storage/types.js +2 -0
- package/lib/src/services/storage/types.js.map +1 -0
- package/lib/src/services/toast.d.ts +8 -0
- package/lib/src/services/toast.d.ts.map +1 -0
- package/lib/src/services/toast.js +11 -0
- package/lib/src/services/toast.js.map +1 -0
- package/lib/src/store/document-model.d.ts +3 -0
- package/lib/src/store/document-model.d.ts.map +1 -0
- package/lib/src/store/document-model.js +79 -0
- package/lib/src/store/document-model.js.map +1 -0
- package/lib/src/store/editor.d.ts +5 -0
- package/lib/src/store/editor.d.ts.map +1 -0
- package/lib/src/store/editor.js +31 -0
- package/lib/src/store/editor.js.map +1 -0
- package/lib/src/store/external-packages.d.ts +4 -0
- package/lib/src/store/external-packages.d.ts.map +1 -0
- package/lib/src/store/external-packages.js +36 -0
- package/lib/src/store/external-packages.js.map +1 -0
- package/lib/src/store/index.d.ts +7 -0
- package/lib/src/store/index.d.ts.map +1 -0
- package/lib/src/store/index.js +7 -0
- package/lib/src/store/index.js.map +1 -0
- package/lib/src/store/reactor.d.ts +3 -0
- package/lib/src/store/reactor.d.ts.map +1 -0
- package/lib/src/store/reactor.js +177 -0
- package/lib/src/store/reactor.js.map +1 -0
- package/lib/src/store/user.d.ts +2 -0
- package/lib/src/store/user.d.ts.map +1 -0
- package/lib/src/store/user.js +16 -0
- package/lib/src/store/user.js.map +1 -0
- package/lib/src/store/utils.d.ts +2 -0
- package/lib/src/store/utils.d.ts.map +1 -0
- package/lib/src/store/utils.js +59 -0
- package/lib/src/store/utils.js.map +1 -0
- package/lib/src/utils/browser.d.ts +2 -0
- package/lib/src/utils/browser.d.ts.map +1 -0
- package/lib/src/utils/browser.js +9 -0
- package/lib/src/utils/browser.js.map +1 -0
- package/lib/src/utils/document-editor-debug-tools.d.ts +17 -0
- package/lib/src/utils/document-editor-debug-tools.d.ts.map +1 -0
- package/lib/src/utils/document-editor-debug-tools.js +55 -0
- package/lib/src/utils/document-editor-debug-tools.js.map +1 -0
- package/lib/src/utils/drive-preservation.d.ts +19 -0
- package/lib/src/utils/drive-preservation.d.ts.map +1 -0
- package/lib/src/utils/drive-preservation.js +51 -0
- package/lib/src/utils/drive-preservation.js.map +1 -0
- package/lib/src/utils/drive-sections.d.ts +31 -0
- package/lib/src/utils/drive-sections.d.ts.map +1 -0
- package/lib/src/utils/drive-sections.js +63 -0
- package/lib/src/utils/drive-sections.js.map +1 -0
- package/lib/src/utils/index.d.ts +12 -0
- package/lib/src/utils/index.d.ts.map +1 -0
- package/lib/src/utils/index.js +12 -0
- package/lib/src/utils/index.js.map +1 -0
- package/lib/src/utils/join.d.ts +2 -0
- package/lib/src/utils/join.d.ts.map +1 -0
- package/lib/src/utils/join.js +11 -0
- package/lib/src/utils/join.js.map +1 -0
- package/lib/src/utils/openUrl.d.ts +2 -0
- package/lib/src/utils/openUrl.d.ts.map +1 -0
- package/lib/src/utils/openUrl.js +3 -0
- package/lib/src/utils/openUrl.js.map +1 -0
- package/lib/src/utils/path.d.ts +4 -0
- package/lib/src/utils/path.d.ts.map +1 -0
- package/lib/src/utils/path.js +17 -0
- package/lib/src/utils/path.js.map +1 -0
- package/lib/src/utils/reactor.d.ts +6 -0
- package/lib/src/utils/reactor.d.ts.map +1 -0
- package/lib/src/utils/reactor.js +57 -0
- package/lib/src/utils/reactor.js.map +1 -0
- package/lib/src/utils/registerServiceWorker.d.ts +12 -0
- package/lib/src/utils/registerServiceWorker.d.ts.map +1 -0
- package/lib/src/utils/registerServiceWorker.js +97 -0
- package/lib/src/utils/registerServiceWorker.js.map +1 -0
- package/lib/src/utils/signature.d.ts +4 -0
- package/lib/src/utils/signature.d.ts.map +1 -0
- package/lib/src/utils/signature.js +36 -0
- package/lib/src/utils/signature.js.map +1 -0
- package/lib/src/utils/slug.d.ts +2 -0
- package/lib/src/utils/slug.d.ts.map +1 -0
- package/lib/src/utils/slug.js +4 -0
- package/lib/src/utils/slug.js.map +1 -0
- package/lib/src/workers/pglite-worker.d.ts +2 -0
- package/lib/src/workers/pglite-worker.d.ts.map +1 -0
- package/lib/src/workers/pglite-worker.js +32 -0
- package/lib/src/workers/pglite-worker.js.map +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -0
- package/lib/vite.config.d.ts +3 -0
- package/lib/vite.config.d.ts.map +1 -0
- package/lib/vite.config.js +55 -0
- package/lib/vite.config.js.map +1 -0
- package/package.copy.json +168 -0
- package/package.json +132 -96
- package/public/icon.ico +0 -0
- package/public/robots.txt +3 -0
- package/public/settings.png +0 -0
- package/scripts/render-skeleton.ts +8 -10
- package/src/index.css +4 -0
- package/dist/assets/AddDriveModal.DJ-dAFOA.js +0 -2
- package/dist/assets/AddDriveModal.DJ-dAFOA.js.map +0 -1
- package/dist/assets/AddLocalDriveModal.De9JCy3U.js +0 -2
- package/dist/assets/AddLocalDriveModal.De9JCy3U.js.map +0 -1
- package/dist/assets/AddRemoteDriveModal.Bbso9zlA.js +0 -2
- package/dist/assets/AddRemoteDriveModal.Bbso9zlA.js.map +0 -1
- package/dist/assets/ConfirmationModal.vrZxNEXg.js +0 -2
- package/dist/assets/ConfirmationModal.vrZxNEXg.js.map +0 -1
- package/dist/assets/CookiesPolicyModal._TIEDwTl.js +0 -2
- package/dist/assets/CookiesPolicyModal._TIEDwTl.js.map +0 -1
- package/dist/assets/CreateDocumentModal.6coMTZ5K.js +0 -2
- package/dist/assets/CreateDocumentModal.6coMTZ5K.js.map +0 -1
- package/dist/assets/DebugSettingsModal.CC8h7-01.js +0 -2
- package/dist/assets/DebugSettingsModal.CC8h7-01.js.map +0 -1
- package/dist/assets/DeleteDriveModal.MOCpt-lE.js +0 -2
- package/dist/assets/DeleteDriveModal.MOCpt-lE.js.map +0 -1
- package/dist/assets/DeleteItemModal.D1JNJ3SD.js +0 -2
- package/dist/assets/DeleteItemModal.D1JNJ3SD.js.map +0 -1
- package/dist/assets/DisclaimerModal.CpWL_8dJ.js +0 -2
- package/dist/assets/DisclaimerModal.CpWL_8dJ.js.map +0 -1
- package/dist/assets/DriveSettingsModal.Cq31PlSd.js +0 -2
- package/dist/assets/DriveSettingsModal.Cq31PlSd.js.map +0 -1
- package/dist/assets/SettingsModal.DXSp8FUL.js +0 -2
- package/dist/assets/SettingsModal.DXSp8FUL.js.map +0 -1
- package/dist/assets/Trans.B_Bse39z.js +0 -2
- package/dist/assets/Trans.B_Bse39z.js.map +0 -1
- package/dist/assets/UpgradeDriveModal.Bcaqra-T.js +0 -2
- package/dist/assets/UpgradeDriveModal.Bcaqra-T.js.map +0 -1
- package/dist/assets/app-skeleton.js +0 -11
- package/dist/assets/app-skeleton.js.map +0 -1
- package/dist/assets/atlas-import.CrAV29KX.js +0 -6
- package/dist/assets/atlas-import.CrAV29KX.js.map +0 -1
- package/dist/assets/browser.BkwNmV2Z.js +0 -2
- package/dist/assets/browser.BkwNmV2Z.js.map +0 -1
- package/dist/assets/content.BVfObTK-.js +0 -3
- package/dist/assets/content.BVfObTK-.js.map +0 -1
- package/dist/assets/cookie-banner.CqSpDuL2.js +0 -2
- package/dist/assets/cookie-banner.CqSpDuL2.js.map +0 -1
- package/dist/assets/i18next.CqOP20KE.js +0 -2
- package/dist/assets/i18next.CqOP20KE.js.map +0 -1
- package/dist/assets/index-B7k827uL.css +0 -1
- package/dist/assets/index.Be3reTUB.js +0 -114
- package/dist/assets/index.Be3reTUB.js.map +0 -1
- package/dist/assets/index.C0tp--nk.js +0 -387
- package/dist/assets/index.C0tp--nk.js.map +0 -1
- package/dist/assets/index.CTYq_dOR.js +0 -16
- package/dist/assets/index.CTYq_dOR.js.map +0 -1
- package/dist/assets/index.CW6hXWch.js +0 -333
- package/dist/assets/index.CW6hXWch.js.map +0 -1
- package/dist/assets/index.DNX0QOJs.js +0 -2
- package/dist/assets/index.DNX0QOJs.js.map +0 -1
- package/dist/assets/index.MXCURbo4.js +0 -361
- package/dist/assets/index.MXCURbo4.js.map +0 -1
- package/dist/assets/index.TIUvoczv.js +0 -2
- package/dist/assets/index.TIUvoczv.js.map +0 -1
- package/dist/assets/index.hUDcoha1.js +0 -2
- package/dist/assets/index.hUDcoha1.js.map +0 -1
- package/dist/assets/index.ycvKRDCc.js +0 -2
- package/dist/assets/index.ycvKRDCc.js.map +0 -1
- package/dist/assets/main-CT4nIKNi.css +0 -1
- package/dist/assets/main.CpBKbYrC.js +0 -3
- package/dist/assets/main.CpBKbYrC.js.map +0 -1
- package/dist/assets/modal.B6AxZ1yB.js +0 -3
- package/dist/assets/modal.B6AxZ1yB.js.map +0 -1
- package/dist/assets/modals.jKUpbvJU.js +0 -2
- package/dist/assets/modals.jKUpbvJU.js.map +0 -1
- package/dist/assets/nodefs-CbgXeDrX.js +0 -2
- package/dist/assets/nodefs-CbgXeDrX.js.map +0 -1
- package/dist/assets/nodefs.rxvmn5tR.js +0 -2
- package/dist/assets/nodefs.rxvmn5tR.js.map +0 -1
- package/dist/assets/nodes.CkHD8Mis.js +0 -2
- package/dist/assets/nodes.CkHD8Mis.js.map +0 -1
- package/dist/assets/opfs-ahp-CvqFFNTs.js +0 -4
- package/dist/assets/opfs-ahp-CvqFFNTs.js.map +0 -1
- package/dist/assets/opfs-ahp.BE5Mymun.js +0 -4
- package/dist/assets/opfs-ahp.BE5Mymun.js.map +0 -1
- package/dist/assets/pglite-worker-CBI3hEVN.js +0 -144
- package/dist/assets/pglite-worker-CBI3hEVN.js.map +0 -1
- package/dist/assets/pglite-worker.dssW4LQw.js +0 -2
- package/dist/assets/pglite-worker.dssW4LQw.js.map +0 -1
- package/dist/assets/postgres-CkP7QCDB.data +0 -0
- package/dist/assets/postgres-CyuUVpXN.wasm +0 -0
- package/dist/assets/registerServiceWorker.3WXSlUUt.js +0 -2
- package/dist/assets/registerServiceWorker.3WXSlUUt.js.map +0 -1
- package/dist/assets/root.20yJwNI0.js +0 -6
- package/dist/assets/root.20yJwNI0.js.map +0 -1
- package/dist/assets/style-BkLV0sfQ.css +0 -1
- package/dist/assets/useAcceptedCookies.BEC0OUzL.js +0 -2
- package/dist/assets/useAcceptedCookies.BEC0OUzL.js.map +0 -1
- package/dist/assets/useDefaultDocumentModelEditor.oOnI3BO7.js +0 -2
- package/dist/assets/useDefaultDocumentModelEditor.oOnI3BO7.js.map +0 -1
- package/dist/assets/useInitSentry.DX0S8ltZ.js +0 -368
- package/dist/assets/useInitSentry.DX0S8ltZ.js.map +0 -1
- package/dist/external-packages.js +0 -1
- package/dist/fonts/Inter-Black.ttf +0 -0
- package/dist/fonts/Inter-Bold.ttf +0 -0
- package/dist/fonts/Inter-ExtraBold.ttf +0 -0
- package/dist/fonts/Inter-ExtraLight.ttf +0 -0
- package/dist/fonts/Inter-Light.ttf +0 -0
- package/dist/fonts/Inter-Medium.ttf +0 -0
- package/dist/fonts/Inter-Regular.ttf +0 -0
- package/dist/fonts/Inter-SemiBold.ttf +0 -0
- package/dist/fonts/Inter-Thin.ttf +0 -0
- package/dist/fonts/Inter-VariableFont_slnt,wght.ttf +0 -0
- package/dist/hmr.js +0 -2
- package/dist/hmr.js.map +0 -1
- package/dist/service-worker.js +0 -2
- package/dist/service-worker.js.map +0 -1
- package/dist/swEnv.js +0 -70
- package/dist/vite-envs.sh +0 -494
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var y=Object.defineProperty;var m=(r,t,e)=>t in r?y(r,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[t]=e;var g=(r,t,e)=>m(r,typeof t!="symbol"?t+"":t,e);import{A as d,D as $}from"./useInitSentry.DX0S8ltZ.js";import{c as S,q as v}from"./index.C0tp--nk.js";import"react/jsx-runtime";import"./index.CW6hXWch.js";import"react";import"react-dom";import"./useAcceptedCookies.BEC0OUzL.js";import"./registerServiceWorker.3WXSlUUt.js";import"react-dom/client";import"./browser.BkwNmV2Z.js";import"./app-skeleton.js";function w(r,t){const e=[],i=p(r,t,"state.global","global");e.push(...i);const o=e.filter(l=>l.type==="add").length,a=e.filter(l=>l.type==="remove").length,s={global:e.filter(l=>l.scope==="global")};return{totalChanges:e.length,additions:o,removals:a,changesByScope:s,changes:e}}function p(r,t,e,i){const o=[];if(Array.isArray(r)&&Array.isArray(t)){let n=0;for(;n<r.length;n++){const c=r[n];if(!t[n])o.push(...p(c,typeof c=="string"?"":null,`${e}[${n}]`,i));else{const f=p(c,t[n],`${e}[${n}]`,i);o.push(...f)}}for(;n<t.length;n++){const c=t[n];if(!r[n])o.push(...p(typeof c=="string"?"":null,c,`${e}[${n}]`,i));else{const f=p(r[n],c,`${e}[${n}]`,i);o.push(...f)}}return o}if(typeof r!="object"||typeof t!="object"||r===null||t===null){if(r!==t){if(typeof r=="string"&&typeof t=="string")return A(r,t,e,i);o.push({type:"remove",path:e,oldValue:r,scope:i}),o.push({type:"add",path:e,newValue:t,scope:i})}return o}const a=r,s=t,l=Object.keys(a),u=Object.keys(s);for(const n of l)n in s||o.push({type:"remove",path:`${e}.${n}`,oldValue:a[n],scope:i});for(const n of u)if(!(n in a))o.push({type:"add",path:`${e}.${n}`,newValue:s[n],scope:i});else if(a[n]!==s[n]){const c=p(a[n],s[n],`${e}.${n}`,i);o.push(...c)}return o}function A(r,t,e,i){const o=[],a=Math.max(r.length,t.length);for(let s=0;s<a;s++)s>=r.length?o.push({type:"add",path:`${e}[${s}]`,newValue:t[s],scope:i}):s>=t.length?o.push({type:"remove",path:`${e}[${s}]`,oldValue:r[s],scope:i}):r[s]!==t[s]&&(o.push({type:"remove",path:`${e}[${s}]`,oldValue:r[s],scope:i}),o.push({type:"add",path:`${e}[${s}]`,newValue:t[s],scope:i}));return o}class V{constructor(t,e=S(["processor","diff-analytics"])){g(this,"analyticsStore");g(this,"logger");this.analyticsStore=t,this.logger=e}async onStrands(t){if(t.length!==0)for(const e of t){if(e.operations.length===0)continue;const i=e.operations[0],o=d.fromString(`ph/diff/${e.driveId}/${e.documentId}/${e.branch}/${e.scope}`);i.index===0&&await this.clearSource(o);const a=50;for(let s=0;s<e.operations.length;s+=a){const l=e.operations.slice(s,s+a),u=[];for(const n of l){const f=(await v(async()=>w(n.previousState,n.state))).changes.map(h=>this.generateInput(e.driveId,e.documentId,e.branch,e.scope,n.index,h.type,1,o,n.timestamp,h.path));for(u.push(...f);u.length>=a;){const h=u.splice(0,a);await this.analyticsStore.addSeriesValues(h)}}u.length>0&&await this.analyticsStore.addSeriesValues(u)}}}async onDisconnect(){}async clearSource(t){try{await this.analyticsStore.clearSeriesBySource(t,!0)}catch(e){this.logger.error("Failed to clear source",e)}}generateInput(t,e,i,o,a,s,l,u,n,c){const f={},h=c.split("[")[0].replaceAll(".","/");return f.changes=d.fromString(`ph/diff/changes/${s}`),f.document=d.fromString(`ph/diff/document/${e}/${i}/${o}/${a}`),f.path=d.fromString(`ph/diff/path/${h}`),f.drive=d.fromString(`ph/diff/drive/${t}/${e}`),{dimensions:f,metric:"Count",start:$.fromISO(n),source:u,value:l}}}const T=r=>t=>[{processor:new V(r.analyticsStore),filter:{branch:["main"],documentId:["*"],scope:["*"],documentType:["*"]}}];export{T as processorFactory};
|
|
2
|
-
//# sourceMappingURL=index.TIUvoczv.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.TIUvoczv.js","sources":["../../../../node_modules/.pnpm/@powerhousedao+diff-analyzer@0.0.0-dev.10_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@powerhousedao/diff-analyzer/dist/lib/document-diff.js","../../../../node_modules/.pnpm/@powerhousedao+diff-analyzer@0.0.0-dev.10_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@powerhousedao/diff-analyzer/dist/processors/diff-analytics/index.js","../../../../node_modules/.pnpm/@powerhousedao+diff-analyzer@0.0.0-dev.10_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@powerhousedao/diff-analyzer/dist/processors/index.js"],"sourcesContent":["/**\n * Calculates the difference between two document states\n */\nexport function diffDocumentStates(doc1, doc2) {\n const changes = [];\n // Compare global state\n const globalChanges = diffStateObjects(doc1, doc2, \"state.global\", \"global\");\n changes.push(...globalChanges);\n // Count changes by type\n const additions = changes.filter((c) => c.type === \"add\").length;\n const removals = changes.filter((c) => c.type === \"remove\").length;\n // Group changes by scope\n const changesByScope = {\n global: changes.filter((c) => c.scope === \"global\"),\n };\n return {\n totalChanges: changes.length,\n additions,\n removals,\n changesByScope,\n changes,\n };\n}\n/**\n * Recursively compares two state objects and returns a list of changes\n */\nfunction diffStateObjects(obj1, obj2, path, scope) {\n const changes = [];\n // Handle arrays\n if (Array.isArray(obj1) && Array.isArray(obj2)) {\n let index = 0;\n for (; index < obj1.length; index++) {\n const element = obj1[index];\n if (!obj2[index]) {\n changes.push(...diffStateObjects(element, typeof element === \"string\" ? \"\" : null, `${path}[${index}]`, scope));\n }\n else {\n const elementChanges = diffStateObjects(element, obj2[index], `${path}[${index}]`, scope);\n changes.push(...elementChanges);\n }\n }\n for (; index < obj2.length; index++) {\n const element = obj2[index];\n if (!obj1[index]) {\n changes.push(...diffStateObjects(typeof element === \"string\" ? \"\" : null, element, `${path}[${index}]`, scope));\n }\n else {\n const elementChanges = diffStateObjects(obj1[index], element, `${path}[${index}]`, scope);\n changes.push(...elementChanges);\n }\n }\n return changes;\n }\n // Handle primitive values\n if (typeof obj1 !== \"object\" ||\n typeof obj2 !== \"object\" ||\n obj1 === null ||\n obj2 === null) {\n if (obj1 !== obj2) {\n // Special handling for strings to diff character by character\n if (typeof obj1 === \"string\" && typeof obj2 === \"string\") {\n return diffStateStrings(obj1, obj2, path, scope);\n }\n else {\n // For non-string primitives, treat a change as a remove + add\n changes.push({\n type: \"remove\",\n path,\n oldValue: obj1,\n scope,\n });\n changes.push({\n type: \"add\",\n path,\n newValue: obj2,\n scope,\n });\n }\n }\n return changes;\n }\n // Handle objects\n const obj1Record = obj1;\n const obj2Record = obj2;\n const obj1Keys = Object.keys(obj1Record);\n const obj2Keys = Object.keys(obj2Record);\n // First, check for removed keys\n for (const key of obj1Keys) {\n if (!(key in obj2Record)) {\n // Key was removed\n changes.push({\n type: \"remove\",\n path: `${path}.${key}`,\n oldValue: obj1Record[key],\n scope,\n });\n }\n }\n // Then, check for added keys and modified values\n for (const key of obj2Keys) {\n if (!(key in obj1Record)) {\n // Key was added\n changes.push({\n type: \"add\",\n path: `${path}.${key}`,\n newValue: obj2Record[key],\n scope,\n });\n }\n else if (obj1Record[key] !== obj2Record[key]) {\n // For object changes, recursively diff the objects\n const nestedChanges = diffStateObjects(obj1Record[key], obj2Record[key], `${path}.${key}`, scope);\n changes.push(...nestedChanges);\n }\n }\n return changes;\n}\n/**\n * Compares two strings character by character and returns a list of changes\n */\nfunction diffStateStrings(str1, str2, path, scope) {\n const changes = [];\n const maxLen = Math.max(str1.length, str2.length);\n for (let i = 0; i < maxLen; i++) {\n if (i >= str1.length) {\n // Addition of new character\n changes.push({\n type: \"add\",\n path: `${path}[${i}]`,\n newValue: str2[i],\n scope,\n });\n }\n else if (i >= str2.length) {\n // Removal of character\n changes.push({\n type: \"remove\",\n path: `${path}[${i}]`,\n oldValue: str1[i],\n scope,\n });\n }\n else if (str1[i] !== str2[i]) {\n // Character changed\n changes.push({\n type: \"remove\",\n path: `${path}[${i}]`,\n oldValue: str1[i],\n scope,\n });\n changes.push({\n type: \"add\",\n path: `${path}[${i}]`,\n newValue: str2[i],\n scope,\n });\n }\n }\n return changes;\n}\n/**\n * Generates analytics data from a state diff summary\n */\nexport function generateStateAnalyticsData(diff) {\n return {\n totalChanges: diff.totalChanges,\n changesByType: {\n add: diff.additions,\n remove: diff.removals,\n },\n changesByScope: {\n global: diff.changesByScope.global.length,\n },\n changePaths: diff.changes.map((c) => c.path),\n };\n}\n","import { AnalyticsPath, } from \"@powerhousedao/analytics-engine-core\";\nimport { DateTime } from \"luxon\";\nimport { diffDocumentStates } from \"../../lib/document-diff.js\";\nimport { childLogger } from \"document-drive\";\nimport { runAsapAsync } from \"document-drive/utils/misc\";\nexport class DiffAnalyticsProcessor {\n analyticsStore;\n logger;\n constructor(analyticsStore, logger = childLogger([\"processor\", \"diff-analytics\"])) {\n this.analyticsStore = analyticsStore;\n this.logger = logger;\n //\n }\n async onStrands(strands) {\n if (strands.length === 0) {\n return;\n }\n for (const strand of strands) {\n if (strand.operations.length === 0) {\n continue;\n }\n const firstOp = strand.operations[0];\n const source = AnalyticsPath.fromString(`ph/diff/${strand.driveId}/${strand.documentId}/${strand.branch}/${strand.scope}`);\n if (firstOp.index === 0) {\n await this.clearSource(source);\n }\n const CHUNK_SIZE = 50;\n for (let i = 0; i < strand.operations.length; i += CHUNK_SIZE) {\n const chunk = strand.operations.slice(i, i + CHUNK_SIZE);\n const buffer = [];\n for (const operation of chunk) {\n const diff = await runAsapAsync(async () => diffDocumentStates(operation.previousState, operation.state));\n const inputs = diff.changes.map((change) => this.generateInput(strand.driveId, strand.documentId, strand.branch, strand.scope, operation.index, change.type, 1, source, operation.timestamp, change.path));\n buffer.push(...inputs);\n while (buffer.length >= CHUNK_SIZE) {\n const batch = buffer.splice(0, CHUNK_SIZE);\n await this.analyticsStore.addSeriesValues(batch);\n }\n }\n // Flush any remaining inputs\n if (buffer.length > 0) {\n await this.analyticsStore.addSeriesValues(buffer);\n }\n }\n }\n }\n async onDisconnect() { }\n async clearSource(source) {\n try {\n await this.analyticsStore.clearSeriesBySource(source, true);\n }\n catch (e) {\n this.logger.error(\"Failed to clear source\", e);\n }\n }\n generateInput(driveId, documentId, branch, scope, revision, type, value, source, timestamp, path) {\n const dimensions = {};\n const changePath = path.split(\"[\")[0].replaceAll(\".\", \"/\");\n dimensions.changes = AnalyticsPath.fromString(`ph/diff/changes/${type}`);\n dimensions.document = AnalyticsPath.fromString(`ph/diff/document/${documentId}/${branch}/${scope}/${revision}`);\n dimensions.path = AnalyticsPath.fromString(`ph/diff/path/${changePath}`);\n dimensions.drive = AnalyticsPath.fromString(`ph/diff/drive/${driveId}/${documentId}`);\n return {\n dimensions,\n metric: \"Count\",\n start: DateTime.fromISO(timestamp),\n source,\n value,\n };\n }\n}\n","/**\n * This is a scaffold file meant for customization.\n * Delete the file and run the code generator again to have it reset\n */\nimport { DiffAnalyticsProcessor } from \"./diff-analytics/index.js\";\nexport const processorFactory = (module) => (driveId) => {\n return [\n {\n processor: new DiffAnalyticsProcessor(module.analyticsStore),\n filter: {\n branch: [\"main\"],\n documentId: [\"*\"],\n scope: [\"*\"],\n documentType: [\"*\"],\n },\n },\n ];\n};\n"],"names":["diffDocumentStates","doc1","doc2","changes","globalChanges","diffStateObjects","additions","c","removals","changesByScope","obj1","obj2","path","scope","index","element","elementChanges","diffStateStrings","obj1Record","obj2Record","obj1Keys","obj2Keys","key","nestedChanges","str1","str2","maxLen","i","DiffAnalyticsProcessor","analyticsStore","logger","childLogger","__publicField","strands","strand","firstOp","source","AnalyticsPath","CHUNK_SIZE","chunk","buffer","operation","inputs","runAsapAsync","change","batch","driveId","documentId","branch","revision","type","value","timestamp","dimensions","changePath","DateTime","processorFactory","module"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{z as j,R as i,x as h,C as O,h as e,T as r,N as F,u as A}from"./useInitSentry.DX0S8ltZ.js";import{e as le,P as oe,U as ce,j as de,a as we,b as pe}from"./useInitSentry.DX0S8ltZ.js";import"react/jsx-runtime";import"./index.CW6hXWch.js";import"react";import"react-dom";import"./index.C0tp--nk.js";import"react-dom/client";import"./browser.BkwNmV2Z.js";import"./app-skeleton.js";import"./useAcceptedCookies.BEC0OUzL.js";import"./registerServiceWorker.3WXSlUUt.js";A();var W,T,_,P,B,w,f,v,u,D,R,$,E,g,I,p,k,G,N,n,q,x,o,C,Q=class U extends j{constructor(t,s){super(),i(this,n),i(this,W),i(this,T,0),i(this,_,!1),i(this,P,!1),i(this,B,!1),i(this,w,new EventTarget),i(this,f),i(this,v,!1),i(this,u),i(this,D),i(this,R),i(this,$),i(this,E),i(this,g),i(this,I),i(this,p,new Map),i(this,k,new Set),i(this,G),i(this,N,[]),h(this,u,t),h(this,f,O()),h(this,G,(s==null?void 0:s.extensions)??{}),h(this,R,new Promise(a=>{e(this,u).addEventListener("message",c=>{if(c.data.type==="here")a();else throw new Error("Invalid message")},{once:!0})})),h(this,$,new Promise(a=>{let c=m=>{m.data.type==="ready"&&(h(this,D,m.data.id),e(this,u).removeEventListener("message",c),a())};e(this,u).addEventListener("message",c)})),h(this,W,r(this,n,q).call(this,s))}static async create(t,s){let a=new U(t,s);return await e(a,W),a}get waitReady(){return new Promise(t=>{e(this,W).then(()=>{e(this,v)?t():t(new Promise(s=>{e(this,w).addEventListener("connected",()=>{s()})}))})})}get debug(){return e(this,T)}get ready(){return e(this,_)}get closed(){return e(this,P)}get isLeader(){return e(this,B)}async close(){var s,a;var t;e(this,P)||(h(this,P,!0),(s=e(this,E))==null||s.close(),(a=e(this,g))==null||a.close(),(t=e(this,I))==null||t.call(this),e(this,u).terminate())}async[Symbol.asyncDispose](){await this.close()}async execProtocolRaw(t){return await r(this,n,o).call(this,"execProtocolRaw",t)}async execProtocol(t){return await r(this,n,o).call(this,"execProtocol",t)}async syncToFs(){await r(this,n,o).call(this,"syncToFs")}async listen(t,s){let a=F(t);return e(this,p).has(a)||e(this,p).set(a,new Set),e(this,p).get(a).add(s),await this.exec(`LISTEN ${t}`),async()=>{await this.unlisten(a,s)}}async unlisten(t,s){var a,c;await this.waitReady,s?(a=e(this,p).get(t))==null||a.delete(s):e(this,p).delete(t),((c=e(this,p).get(t))==null?void 0:c.size)===0&&await this.exec(`UNLISTEN ${t}`)}onNotification(t){return e(this,k).add(t),()=>{e(this,k).delete(t)}}offNotification(t){e(this,k).delete(t)}async dumpDataDir(){return await r(this,n,o).call(this,"dumpDataDir")}onLeaderChange(t){return e(this,w).addEventListener("leader-change",t),()=>{e(this,w).removeEventListener("leader-change",t)}}offLeaderChange(t){e(this,w).removeEventListener("leader-change",t)}async _handleBlob(t){await r(this,n,o).call(this,"_handleBlob",t)}async _getWrittenBlob(){return await r(this,n,o).call(this,"_getWrittenBlob")}async _cleanupBlob(){await r(this,n,o).call(this,"_cleanupBlob")}async _checkReady(){await this.waitReady}async _runExclusiveQuery(t){await r(this,n,o).call(this,"_acquireQueryLock");try{return await t()}finally{await r(this,n,o).call(this,"_releaseQueryLock")}}async _runExclusiveTransaction(t){await r(this,n,o).call(this,"_acquireTransactionLock");try{return await t()}finally{await r(this,n,o).call(this,"_releaseTransactionLock")}}};W=new WeakMap,T=new WeakMap,_=new WeakMap,P=new WeakMap,B=new WeakMap,w=new WeakMap,f=new WeakMap,v=new WeakMap,u=new WeakMap,D=new WeakMap,R=new WeakMap,$=new WeakMap,E=new WeakMap,g=new WeakMap,I=new WeakMap,p=new WeakMap,k=new WeakMap,G=new WeakMap,N=new WeakMap,n=new WeakSet,q=async function(y={}){for(let[l,L]of Object.entries(e(this,G))){if(L instanceof URL)throw new Error("URL extensions are not supported on the client side of a worker");{let d=await L.setup(this,{},!0);if(d.emscriptenOpts&&console.warn(`PGlite extension ${l} returned emscriptenOpts, these are not supported on the client side of a worker`),d.namespaceObj){let b=this;b[l]=d.namespaceObj}d.bundlePath&&console.warn(`PGlite extension ${l} returned bundlePath, this is not supported on the client side of a worker`),d.init&&await d.init(),d.close&&e(this,N).push(d.close)}}await e(this,R);let{extensions:t,...s}=y;e(this,u).postMessage({type:"init",options:s}),await e(this,$);let a=`pglite-tab-close:${e(this,f)}`;h(this,I,await H(a));let c=`pglite-broadcast:${e(this,D)}`;h(this,E,new BroadcastChannel(c));let m=`pglite-tab:${e(this,f)}`;h(this,g,new BroadcastChannel(m)),e(this,E).addEventListener("message",async l=>{l.data.type==="leader-here"?(h(this,v,!1),e(this,w).dispatchEvent(new Event("leader-change")),r(this,n,x).call(this)):l.data.type==="notify"&&r(this,n,C).call(this,l.data.channel,l.data.payload)}),e(this,g).addEventListener("message",async l=>{l.data.type==="connected"&&(h(this,v,!0),e(this,w).dispatchEvent(new Event("connected")),h(this,T,await r(this,n,o).call(this,"getDebugLevel")),h(this,_,!0))}),e(this,u).addEventListener("message",async l=>{l.data.type==="leader-now"&&(h(this,B,!0),e(this,w).dispatchEvent(new Event("leader-change")))}),r(this,n,x).call(this),this._initArrayTypes()},x=async function(){e(this,v)||(e(this,E).postMessage({type:"tab-here",id:e(this,f)}),setTimeout(()=>r(this,n,x).call(this),16))},o=async function(y,...t){let s=O(),a={type:"rpc-call",callId:s,method:y,args:t};return e(this,g).postMessage(a),await new Promise((c,m)=>{let l=b=>{if(b.data.callId!==s)return;d();let M=b.data;if(M.type==="rpc-return")c(M.result);else if(M.type==="rpc-error"){let S=new Error(M.error.message);Object.assign(S,M.error),m(S)}else m(new Error("Invalid message"))},L=()=>{d(),m(new z)},d=()=>{e(this,g).removeEventListener("message",l),e(this,w).removeEventListener("leader-change",L)};e(this,w).addEventListener("leader-change",L),e(this,g).addEventListener("message",l)})},C=function(y,t){let s=e(this,p).get(y);if(s)for(let a of s)queueMicrotask(()=>a(t));for(let a of e(this,k))queueMicrotask(()=>a(y,t))};var ne=Q,z=class extends Error{constructor(){super("Leader changed, pending operation in indeterminate state")}};async function H(y){let t;return await new Promise(s=>{navigator.locks.request(y,()=>new Promise(a=>{t=a,s()}))}),t}export{le as IdbFs,oe as PGLITE_UPDATE_EVENT,ce as PGlite,ne as PGliteWorker,de as live,we as usePGliteDB,pe as useSetPGliteDB};
|
|
2
|
-
//# sourceMappingURL=index.hUDcoha1.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.hUDcoha1.js","sources":["../../../../node_modules/.pnpm/@electric-sql+pglite@0.2.17/node_modules/@electric-sql/pglite/dist/worker/index.js"],"sourcesContent":["import{a as j}from\"../chunk-A7RFOIQ7.js\";import{u as N,x as z}from\"../chunk-EADU5A67.js\";import\"../chunk-STOZMFXW.js\";import{e as t,f as d,g as u,h as p,j as Q}from\"../chunk-BTBUZ646.js\";Q();var W,C,_,M,B,m,L,x,k,T,A,O,E,v,G,P,b,I,$,c,K,D,w,J,F=class F extends j{constructor(e,r){super();d(this,c);d(this,W);d(this,C,0);d(this,_,!1);d(this,M,!1);d(this,B,!1);d(this,m,new EventTarget);d(this,L);d(this,x,!1);d(this,k);d(this,T);d(this,A);d(this,O);d(this,E);d(this,v);d(this,G);d(this,P,new Map);d(this,b,new Set);d(this,I);d(this,$,[]);u(this,k,e),u(this,L,N()),u(this,I,r?.extensions??{}),u(this,A,new Promise(i=>{t(this,k).addEventListener(\"message\",s=>{if(s.data.type===\"here\")i();else throw new Error(\"Invalid message\")},{once:!0})})),u(this,O,new Promise(i=>{let s=o=>{o.data.type===\"ready\"&&(u(this,T,o.data.id),t(this,k).removeEventListener(\"message\",s),i())};t(this,k).addEventListener(\"message\",s)})),u(this,W,p(this,c,K).call(this,r))}static async create(e,r){let i=new F(e,r);return await t(i,W),i}get waitReady(){return new Promise(e=>{t(this,W).then(()=>{t(this,x)?e():e(new Promise(r=>{t(this,m).addEventListener(\"connected\",()=>{r()})}))})})}get debug(){return t(this,C)}get ready(){return t(this,_)}get closed(){return t(this,M)}get isLeader(){return t(this,B)}async close(){var e;t(this,M)||(u(this,M,!0),t(this,E)?.close(),t(this,v)?.close(),(e=t(this,G))==null||e.call(this),t(this,k).terminate())}async[Symbol.asyncDispose](){await this.close()}async execProtocolRaw(e){return await p(this,c,w).call(this,\"execProtocolRaw\",e)}async execProtocol(e){return await p(this,c,w).call(this,\"execProtocol\",e)}async syncToFs(){await p(this,c,w).call(this,\"syncToFs\")}async listen(e,r){let i=z(e);return t(this,P).has(i)||t(this,P).set(i,new Set),t(this,P).get(i).add(r),await this.exec(`LISTEN ${e}`),async()=>{await this.unlisten(i,r)}}async unlisten(e,r){await this.waitReady,r?t(this,P).get(e)?.delete(r):t(this,P).delete(e),t(this,P).get(e)?.size===0&&await this.exec(`UNLISTEN ${e}`)}onNotification(e){return t(this,b).add(e),()=>{t(this,b).delete(e)}}offNotification(e){t(this,b).delete(e)}async dumpDataDir(){return await p(this,c,w).call(this,\"dumpDataDir\")}onLeaderChange(e){return t(this,m).addEventListener(\"leader-change\",e),()=>{t(this,m).removeEventListener(\"leader-change\",e)}}offLeaderChange(e){t(this,m).removeEventListener(\"leader-change\",e)}async _handleBlob(e){await p(this,c,w).call(this,\"_handleBlob\",e)}async _getWrittenBlob(){return await p(this,c,w).call(this,\"_getWrittenBlob\")}async _cleanupBlob(){await p(this,c,w).call(this,\"_cleanupBlob\")}async _checkReady(){await this.waitReady}async _runExclusiveQuery(e){await p(this,c,w).call(this,\"_acquireQueryLock\");try{return await e()}finally{await p(this,c,w).call(this,\"_releaseQueryLock\")}}async _runExclusiveTransaction(e){await p(this,c,w).call(this,\"_acquireTransactionLock\");try{return await e()}finally{await p(this,c,w).call(this,\"_releaseTransactionLock\")}}};W=new WeakMap,C=new WeakMap,_=new WeakMap,M=new WeakMap,B=new WeakMap,m=new WeakMap,L=new WeakMap,x=new WeakMap,k=new WeakMap,T=new WeakMap,A=new WeakMap,O=new WeakMap,E=new WeakMap,v=new WeakMap,G=new WeakMap,P=new WeakMap,b=new WeakMap,I=new WeakMap,$=new WeakMap,c=new WeakSet,K=async function(e={}){for(let[a,y]of Object.entries(t(this,I))){if(y instanceof URL)throw new Error(\"URL extensions are not supported on the client side of a worker\");{let l=await y.setup(this,{},!0);if(l.emscriptenOpts&&console.warn(`PGlite extension ${a} returned emscriptenOpts, these are not supported on the client side of a worker`),l.namespaceObj){let R=this;R[a]=l.namespaceObj}l.bundlePath&&console.warn(`PGlite extension ${a} returned bundlePath, this is not supported on the client side of a worker`),l.init&&await l.init(),l.close&&t(this,$).push(l.close)}}await t(this,A);let{extensions:r,...i}=e;t(this,k).postMessage({type:\"init\",options:i}),await t(this,O);let s=`pglite-tab-close:${t(this,L)}`;u(this,G,await q(s));let o=`pglite-broadcast:${t(this,T)}`;u(this,E,new BroadcastChannel(o));let h=`pglite-tab:${t(this,L)}`;u(this,v,new BroadcastChannel(h)),t(this,E).addEventListener(\"message\",async a=>{a.data.type===\"leader-here\"?(u(this,x,!1),t(this,m).dispatchEvent(new Event(\"leader-change\")),p(this,c,D).call(this)):a.data.type===\"notify\"&&p(this,c,J).call(this,a.data.channel,a.data.payload)}),t(this,v).addEventListener(\"message\",async a=>{a.data.type===\"connected\"&&(u(this,x,!0),t(this,m).dispatchEvent(new Event(\"connected\")),u(this,C,await p(this,c,w).call(this,\"getDebugLevel\")),u(this,_,!0))}),t(this,k).addEventListener(\"message\",async a=>{a.data.type===\"leader-now\"&&(u(this,B,!0),t(this,m).dispatchEvent(new Event(\"leader-change\")))}),p(this,c,D).call(this),this._initArrayTypes()},D=async function(){t(this,x)||(t(this,E).postMessage({type:\"tab-here\",id:t(this,L)}),setTimeout(()=>p(this,c,D).call(this),16))},w=async function(e,...r){let i=N(),s={type:\"rpc-call\",callId:i,method:e,args:r};return t(this,v).postMessage(s),await new Promise((o,h)=>{let a=R=>{if(R.data.callId!==i)return;l();let f=R.data;if(f.type===\"rpc-return\")o(f.result);else if(f.type===\"rpc-error\"){let S=new Error(f.error.message);Object.assign(S,f.error),h(S)}else h(new Error(\"Invalid message\"))},y=()=>{l(),h(new U)},l=()=>{t(this,v).removeEventListener(\"message\",a),t(this,m).removeEventListener(\"leader-change\",y)};t(this,m).addEventListener(\"leader-change\",y),t(this,v).addEventListener(\"message\",a)})},J=function(e,r){let i=t(this,P).get(e);if(i)for(let s of i)queueMicrotask(()=>s(r));for(let s of t(this,b))queueMicrotask(()=>s(e,r))};var H=F;async function se({init:g}){postMessage({type:\"here\"});let n=await new Promise(y=>{addEventListener(\"message\",l=>{l.data.type===\"init\"&&y(l.data.options)},{once:!0})}),e=n.id??`${import.meta.url}:${n.dataDir??\"\"}`;postMessage({type:\"ready\",id:e});let r=`pglite-election-lock:${e}`,i=`pglite-broadcast:${e}`,s=new BroadcastChannel(i),o=new Set;await q(r);let h=g(n);s.onmessage=async y=>{let l=y.data;switch(l.type){case\"tab-here\":V(l.id,await h,o);break}},s.postMessage({type:\"leader-here\",id:e}),postMessage({type:\"leader-now\"}),(await h).onNotification((y,l)=>{s.postMessage({type:\"notify\",channel:y,payload:l})})}function V(g,n,e){if(e.has(g))return;e.add(g);let r=`pglite-tab:${g}`,i=`pglite-tab-close:${g}`,s=new BroadcastChannel(r);navigator.locks.request(i,()=>new Promise(h=>{s.close(),e.delete(g),h()}));let o=X(g,n);s.addEventListener(\"message\",async h=>{let a=h.data;switch(a.type){case\"rpc-call\":{await n.waitReady;let{callId:y,method:l,args:R}=a;try{let f=await o[l](...R);s.postMessage({type:\"rpc-return\",callId:y,result:f})}catch(f){console.error(f),s.postMessage({type:\"rpc-error\",callId:y,error:{message:f.message}})}break}}}),s.postMessage({type:\"connected\"})}function X(g,n){let e=null,r=null,i=`pglite-tab-close:${g}`;return q(i).then(()=>{r&&n.exec(\"ROLLBACK\"),e?.(),r?.()}),{async getDebugLevel(){return n.debug},async close(){await n.close()},async execProtocol(s){let{messages:o,data:h}=await n.execProtocol(s);if(h.byteLength!==h.buffer.byteLength){let a=new ArrayBuffer(h.byteLength),y=new Uint8Array(a);return y.set(h),{messages:o,data:y}}else return{messages:o,data:h}},async execProtocolRaw(s){let o=await n.execProtocolRaw(s);if(o.byteLength!==o.buffer.byteLength){let h=new ArrayBuffer(o.byteLength),a=new Uint8Array(h);return a.set(o),a}else return o},async dumpDataDir(){return await n.dumpDataDir()},async syncToFs(){return await n.syncToFs()},async _handleBlob(s){return await n._handleBlob(s)},async _getWrittenBlob(){return await n._getWrittenBlob()},async _cleanupBlob(){return await n._cleanupBlob()},async _checkReady(){return await n._checkReady()},async _acquireQueryLock(){return new Promise(s=>{n._runExclusiveQuery(()=>new Promise(o=>{e=o,s()}))})},async _releaseQueryLock(){e?.(),e=null},async _acquireTransactionLock(){return new Promise(s=>{n._runExclusiveTransaction(()=>new Promise(o=>{r=o,s()}))})},async _releaseTransactionLock(){r?.(),r=null}}}var U=class extends Error{constructor(){super(\"Leader changed, pending operation in indeterminate state\")}};async function q(g){let n;return await new Promise(e=>{navigator.locks.request(g,()=>new Promise(r=>{n=r,e()}))}),n}export{U as LeaderChangedError,H as PGliteWorker,se as worker};\n//# sourceMappingURL=index.js.map"],"names":["Q","C","M","m","L","x","k","T","A","O","v","G","P","b","I","$","c","K","D","w","J","F","j","e","r","d","u","N","i","t","s","o","p","z","a","y","l","R","q","h","f","U","H","g","n"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var v=Object.defineProperty;var _=(r,e,t)=>e in r?v(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var S=(r,e,t)=>_(r,typeof e!="symbol"?e+"":e,t);import{c as O}from"./index.C0tp--nk.js";import{A as n,D as I}from"./useInitSentry.DX0S8ltZ.js";import"react-dom/client";import"./index.CW6hXWch.js";import"react";import"react/jsx-runtime";import"react-dom";import"./browser.BkwNmV2Z.js";import"./app-skeleton.js";import"./useAcceptedCookies.BEC0OUzL.js";import"./registerServiceWorker.3WXSlUUt.js";class w{constructor(e,t=O(["processor","document-analytics"])){S(this,"analyticsStore");S(this,"logger");this.analyticsStore=e,this.logger=t}async onStrands(e){if(e.length!==0)for(const t of e){if(t.operations.length===0)continue;const D=t.operations[0],u=n.fromString(`ph/doc/${t.driveId}/${t.documentId}/${t.branch}/${t.scope}`);D.index===0&&await this.clearSource(u);const{driveId:s,documentId:f,branch:E,scope:a}=t,p=s===f?"DRIVE":"NODE",l=50;for(let o=0;o<t.operations.length;o+=l){const i=t.operations.slice(o,o+l),c=[];for(const d of i){const g=d.index,h={source:u,metric:"DocumentOperations",start:I.fromISO(d.timestamp),value:1,dimensions:{drive:n.fromString(`ph/doc/drive/${s}/${E}/${a}/${g}`),operation:n.fromString(`ph/doc/operation/${d.type}/${d.index}`),target:n.fromString(`ph/doc/target/${s}/${p}/${f}`)}};for(c.push(h);c.length>=l;){const y=c.splice(0,l);await this.analyticsStore.addSeriesValues(y)}}c.length>0&&await this.analyticsStore.addSeriesValues(c)}}}async onDisconnect(){}async clearSource(e){try{await this.analyticsStore.clearSeriesBySource(e,!0)}catch(t){this.logger.error("Failed to clear source",t)}}}const $=["ADD_FILE","ADD_FOLDER"],T=["COPY_NODE"],C=["UPDATE_FILE","UPDATE_NODE"],A=["MOVE_NODE"],N=["DELETE_NODE"],V=[...$,...T,...C,...A,...N];class b{constructor(e,t=O(["processor","drive-analytics"])){S(this,"analyticsStore");S(this,"logger");this.analyticsStore=e,this.logger=t}async onStrands(e){if(e.length!==0)for(const t of e){if(t.operations.length===0)continue;const D=t.operations[0],u=n.fromString(`ph/drive/${t.documentId}/${t.branch}/${t.scope}`);D.index===0&&await this.clearSource(u);const{documentId:s,branch:f,scope:E}=t,a=50;for(let p=0;p<t.operations.length;p+=a){const l=t.operations.slice(p,p+a),o=[];for(const i of l){const c=i.index,d=this.getActionType(i.type),g=V.includes(i.type)?"NODE":"DRIVE";let h=s;if(g==="NODE"){const m=i.input;h=m.id||m.targetId||m.srcFolder||s}const y={source:u,metric:"DriveOperations",start:I.fromISO(i.timestamp),value:1,dimensions:{drive:n.fromString(`ph/drive/${s}/${f}/${E}/${c}`),operation:n.fromString(`ph/drive/operation/${i.type}/${i.index}`),target:n.fromString(`ph/drive/target/${g}/${h}`),actionType:n.fromString(`ph/drive/actionType/${d}/${h}`)}};for(o.push(y);o.length>=a;){const m=o.splice(0,a);await this.analyticsStore.addSeriesValues(m)}}o.length>0&&await this.analyticsStore.addSeriesValues(o)}}}async onDisconnect(){}getActionType(e){return $.includes(e)?"CREATED":T.includes(e)?"DUPLICATED":N.includes(e)?"REMOVED":A.includes(e)?"MOVED":"UPDATED"}async clearSource(e){try{await this.analyticsStore.clearSeriesBySource(e,!0)}catch(t){this.logger.error("Failed to clear source",t)}}}const Y=r=>e=>[{processor:new b(r.analyticsStore),filter:{branch:["main"],documentId:["*"],scope:["*"],documentType:["powerhouse/document-drive"]}},{processor:new w(r.analyticsStore),filter:{branch:["main"],documentId:["*"],scope:["*"],documentType:["*"]}}];export{w as DocumentAnalyticsProcessor,b as DriveAnalyticsProcessor,Y as processorFactory};
|
|
2
|
-
//# sourceMappingURL=index.ycvKRDCc.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.ycvKRDCc.js","sources":["../../../../packages/common/dist/drive-analytics/processor/document-processor.js","../../../../packages/common/dist/drive-analytics/processor/drive-processor.js","../../../../packages/common/dist/drive-analytics/processor/index.js"],"sourcesContent":["import { AnalyticsPath, DateTime, } from \"@powerhousedao/reactor-browser/analytics\";\nimport { childLogger } from \"document-drive\";\nexport class DocumentAnalyticsProcessor {\n analyticsStore;\n logger;\n constructor(analyticsStore, logger = childLogger([\"processor\", \"document-analytics\"])) {\n this.analyticsStore = analyticsStore;\n this.logger = logger;\n //\n }\n async onStrands(strands) {\n if (strands.length === 0) {\n return;\n }\n for (const strand of strands) {\n // skip empty strands\n if (strand.operations.length === 0) {\n continue;\n }\n const firstOp = strand.operations[0];\n const source = AnalyticsPath.fromString(`ph/doc/${strand.driveId}/${strand.documentId}/${strand.branch}/${strand.scope}`);\n if (firstOp.index === 0) {\n await this.clearSource(source);\n }\n const { driveId, documentId, branch, scope } = strand;\n const target = driveId === documentId ? \"DRIVE\" : \"NODE\";\n const CHUNK_SIZE = 50;\n for (let i = 0; i < strand.operations.length; i += CHUNK_SIZE) {\n const chunk = strand.operations.slice(i, i + CHUNK_SIZE);\n const buffer = [];\n for (const operation of chunk) {\n const revision = operation.index;\n const seriesInput = {\n source,\n metric: \"DocumentOperations\",\n start: DateTime.fromISO(operation.timestamp),\n value: 1,\n dimensions: {\n drive: AnalyticsPath.fromString(`ph/doc/drive/${driveId}/${branch}/${scope}/${revision}`),\n operation: AnalyticsPath.fromString(`ph/doc/operation/${operation.type}/${operation.index}`),\n target: AnalyticsPath.fromString(`ph/doc/target/${driveId}/${target}/${documentId}`),\n },\n };\n buffer.push(seriesInput);\n while (buffer.length >= CHUNK_SIZE) {\n const batch = buffer.splice(0, CHUNK_SIZE);\n await this.analyticsStore.addSeriesValues(batch);\n }\n }\n if (buffer.length > 0) {\n await this.analyticsStore.addSeriesValues(buffer);\n }\n }\n }\n }\n async onDisconnect() { }\n async clearSource(source) {\n try {\n await this.analyticsStore.clearSeriesBySource(source, true);\n }\n catch (e) {\n this.logger.error(\"Failed to clear source\", e);\n }\n }\n}\n//# sourceMappingURL=document-processor.js.map","import { AnalyticsPath, DateTime, } from \"@powerhousedao/reactor-browser/analytics\";\nimport { childLogger } from \"document-drive\";\nconst CREATE_NODE_ACTIONS = [\"ADD_FILE\", \"ADD_FOLDER\"];\nconst DUPLICATE_NODE_ACTIONS = [\"COPY_NODE\"];\nconst UPDATE_NODE_ACTIONS = [\"UPDATE_FILE\", \"UPDATE_NODE\"];\nconst MOVE_NODE_ACTIONS = [\"MOVE_NODE\"];\nconst REMOVE_NODE_ACTIONS = [\"DELETE_NODE\"];\nconst NODE_ACTIONS = [\n ...CREATE_NODE_ACTIONS,\n ...DUPLICATE_NODE_ACTIONS,\n ...UPDATE_NODE_ACTIONS,\n ...MOVE_NODE_ACTIONS,\n ...REMOVE_NODE_ACTIONS,\n];\nexport class DriveAnalyticsProcessor {\n analyticsStore;\n logger;\n constructor(analyticsStore, logger = childLogger([\"processor\", \"drive-analytics\"])) {\n this.analyticsStore = analyticsStore;\n this.logger = logger;\n //\n }\n async onStrands(strands) {\n if (strands.length === 0) {\n return;\n }\n for (const strand of strands) {\n // skip empty strands\n if (strand.operations.length === 0) {\n continue;\n }\n const firstOp = strand.operations[0];\n const source = AnalyticsPath.fromString(`ph/drive/${strand.documentId}/${strand.branch}/${strand.scope}`);\n if (firstOp.index === 0) {\n await this.clearSource(source);\n }\n const { documentId: driveId, branch, scope } = strand;\n const CHUNK_SIZE = 50;\n for (let i = 0; i < strand.operations.length; i += CHUNK_SIZE) {\n const chunk = strand.operations.slice(i, i + CHUNK_SIZE);\n const buffer = [];\n for (const operation of chunk) {\n const revision = operation.index;\n const actionType = this.getActionType(operation.type);\n const target = NODE_ACTIONS.includes(operation.type)\n ? \"NODE\"\n : \"DRIVE\";\n let targetId = driveId;\n if (target === \"NODE\") {\n const operationInput = operation.input;\n targetId =\n operationInput.id ||\n operationInput.targetId ||\n operationInput.srcFolder ||\n driveId;\n }\n const seriesInput = {\n source,\n metric: \"DriveOperations\",\n start: DateTime.fromISO(operation.timestamp),\n value: 1,\n dimensions: {\n drive: AnalyticsPath.fromString(`ph/drive/${driveId}/${branch}/${scope}/${revision}`),\n operation: AnalyticsPath.fromString(`ph/drive/operation/${operation.type}/${operation.index}`),\n target: AnalyticsPath.fromString(`ph/drive/target/${target}/${targetId}`),\n actionType: AnalyticsPath.fromString(`ph/drive/actionType/${actionType}/${targetId}`),\n },\n };\n buffer.push(seriesInput);\n while (buffer.length >= CHUNK_SIZE) {\n const batch = buffer.splice(0, CHUNK_SIZE);\n await this.analyticsStore.addSeriesValues(batch);\n }\n }\n if (buffer.length > 0) {\n await this.analyticsStore.addSeriesValues(buffer);\n }\n }\n }\n }\n async onDisconnect() { }\n getActionType(action) {\n if (CREATE_NODE_ACTIONS.includes(action)) {\n return \"CREATED\";\n }\n if (DUPLICATE_NODE_ACTIONS.includes(action)) {\n return \"DUPLICATED\";\n }\n if (REMOVE_NODE_ACTIONS.includes(action)) {\n return \"REMOVED\";\n }\n if (MOVE_NODE_ACTIONS.includes(action)) {\n return \"MOVED\";\n }\n return \"UPDATED\";\n }\n async clearSource(source) {\n try {\n await this.analyticsStore.clearSeriesBySource(source, true);\n }\n catch (e) {\n this.logger.error(\"Failed to clear source\", e);\n }\n }\n}\n//# sourceMappingURL=drive-processor.js.map","import { DocumentAnalyticsProcessor } from \"./document-processor.js\";\nimport { DriveAnalyticsProcessor } from \"./drive-processor.js\";\nexport const processorFactory = (module) => (driveId) => {\n return [\n {\n processor: new DriveAnalyticsProcessor(module.analyticsStore),\n filter: {\n branch: [\"main\"],\n documentId: [\"*\"],\n scope: [\"*\"],\n documentType: [\"powerhouse/document-drive\"],\n },\n },\n {\n processor: new DocumentAnalyticsProcessor(module.analyticsStore),\n filter: {\n branch: [\"main\"],\n documentId: [\"*\"],\n scope: [\"*\"],\n documentType: [\"*\"],\n },\n },\n ];\n};\nexport * from \"./document-processor.js\";\nexport * from \"./drive-processor.js\";\n//# sourceMappingURL=index.js.map"],"names":["DocumentAnalyticsProcessor","analyticsStore","logger","childLogger","__publicField","strands","strand","firstOp","source","AnalyticsPath","driveId","documentId","branch","scope","target","CHUNK_SIZE","i","chunk","buffer","operation","revision","seriesInput","DateTime","batch","e","CREATE_NODE_ACTIONS","DUPLICATE_NODE_ACTIONS","UPDATE_NODE_ACTIONS","MOVE_NODE_ACTIONS","REMOVE_NODE_ACTIONS","NODE_ACTIONS","DriveAnalyticsProcessor","actionType","targetId","operationInput","action","processorFactory","module"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74c3c;--toastify-color-transparent:#ffffffb3;--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-toast-width:320px;--toastify-toast-offset:16px;--toastify-toast-top:max(var(--toastify-toast-offset),env(safe-area-inset-top));--toastify-toast-right:max(var(--toastify-toast-offset),env(safe-area-inset-right));--toastify-toast-left:max(var(--toastify-toast-offset),env(safe-area-inset-left));--toastify-toast-bottom:max(var(--toastify-toast-offset),env(safe-area-inset-bottom));--toastify-toast-background:#fff;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-toast-bd-radius:6px;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(to right,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error);--toastify-color-progress-bgo:.2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));width:var(--toastify-toast-width);box-sizing:border-box;color:#fff;padding:4px;position:fixed}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%)}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right)}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%)}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right)}@media only screen and (max-width:480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0;padding:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}}.Toastify__toast{--y:0;-ms-touch-action:none;touch-action:none;min-height:var(--toastify-toast-min-height);box-sizing:border-box;border-radius:var(--toastify-toast-bd-radius);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);cursor:default;z-index:0;direction:ltr;justify-content:space-between;margin-bottom:1rem;padding:8px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px #0000001a}.Toastify__toast--stacked{width:100%;transform:translate3d(0,var(--y),0)scale(var(--s));transition:transform .3s;position:absolute}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";height:calc(var(--g)*1px);position:absolute;bottom:100%;left:0;right:0}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";z-index:-1;height:100%;position:absolute;bottom:0;left:0;right:0;transform:scaleY(3)}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{flex:auto;align-items:center;margin:auto 0;padding:6px;display:flex}.Toastify__toast-body>div:last-child{word-break:break-word;flex:1}.Toastify__toast-icon{-webkit-margin-end:10px;flex-shrink:0;width:20px;margin-inline-end:10px;display:flex}.Toastify--animate{animation-duration:.5s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}@media only screen and (max-width:480px){.Toastify__toast{border-radius:0;margin-bottom:0}}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;cursor:pointer;opacity:.7;z-index:1;background:0 0;border:none;outline:none;align-self:flex-start;padding:0;transition:all .3s}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;width:14px;height:16px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{width:100%;height:100%;z-index:var(--toastify-z-index);opacity:.7;transform-origin:0;border-bottom-left-radius:var(--toastify-toast-bd-radius);position:absolute;bottom:0;left:0}.Toastify__progress-bar--animated{animation:linear forwards Toastify__trackProgress}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:100%;border-bottom-left-radius:initial;border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp{border-bottom-left-radius:var(--toastify-toast-bd-radius);width:100%;height:5px;position:absolute;bottom:0;left:0}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{box-sizing:border-box;border:2px solid;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);border-radius:100%;width:20px;height:20px;animation:.65s linear infinite Toastify__spin}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate(3000px)}60%{opacity:1;transform:translate(-25px)}75%{transform:translate(10px)}90%{transform:translate(-5px)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate(-3000px)}60%{opacity:1;transform:translate(25px)}75%{transform:translate(-10px)}90%{transform:translate(5px)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translateY(3000px)}60%{opacity:1;transform:translateY(-20px)}75%{transform:translateY(10px)}90%{transform:translateY(-5px)}to{transform:translate(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translateY(-2000px)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translateY(-3000px)}60%{opacity:1;transform:translateY(25px)}75%{transform:translateY(-10px)}90%{transform:translateY(5px)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translateY(2000px)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0)scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{opacity:0;animation-timing-function:ease-in;transform:perspective(400px)rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px)rotateX(-20deg)}60%{opacity:1;transform:perspective(400px)rotateX(10deg)}80%{transform:perspective(400px)rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0)perspective(400px)}30%{transform:translate3d(0,var(--y),0)perspective(400px)rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0)perspective(400px)rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{visibility:visible;transform:translate(110%)}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{visibility:visible;transform:translate(-110%)}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{visibility:visible;transform:translateY(110%)}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{visibility:visible;transform:translateY(-110%)}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translateY(500px)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translateY(-500px)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-duration:.3s;animation-timing-function:ease-in}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-duration:.3s;animation-timing-function:ease-in}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-duration:.3s;animation-timing-function:ease-in}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-duration:.3s;animation-timing-function:ease-in}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-100:#fdedec;--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-700:oklch(55.3% .195 38.402);--color-orange-800:oklch(47% .157 37.304);--color-orange-900:oklch(40.8% .123 38.172);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-900:oklch(42.1% .095 57.708);--color-green-100:oklch(96.2% .044 156.743);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-green-900:oklch(39.3% .095 152.535);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-purple-900:oklch(38.1% .176 304.987);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-extralight:200;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-charcoal-300:#9da6b9;--color-charcoal-700:#485265;--color-charcoal-800:#373e4e;--color-charcoal-900:#242933;--animate-fade-in:fadeIn .3s ease-in-out;--animate-fade-out:fadeOut .1s ease-in-out;--animate-zoom-in:zoomIn .3s ease-in-out;--animate-zoom-out:zoomOut .1s ease-in-out;--animate-slide-in-from-top:slideInFromTop .2s ease-in-out;--animate-slide-in-from-bottom:slideInFromBottom .2s ease-in-out;--animate-slide-in-from-left:slideInFromLeft .2s ease-in-out;--animate-slide-in-from-right:slideInFromRight .2s ease-in-out;--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--leading-normal:1.5;--leading-relaxed:1.625;--drop-shadow-sm:0 1px 2px #00000026;--blur-sm:8px;--spacing-app-height: calc(100vh - 32px) }}@layer base{@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}}h1,h2,h3,h4,h5,h6,p{color:var(--color-gray-900)}button{cursor:pointer}*{scrollbar-color:initial;scrollbar-width:initial}*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\!pointer-events-auto{pointer-events:auto!important}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sticky{position:sticky}.inset-8{inset:calc(var(--spacing)*8)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-3{top:calc(var(--spacing)*3)}.top-3\.5{top:calc(var(--spacing)*3.5)}.top-8{top:calc(var(--spacing)*8)}.top-10{top:calc(var(--spacing)*10)}.top-\[-2px\]{top:-2px}.top-\[-11px\]{top:-11px}.top-\[11px\]{top:11px}.right-0{right:calc(var(--spacing)*0)}.right-3{right:calc(var(--spacing)*3)}.right-5{right:calc(var(--spacing)*5)}.right-\[-2px\]{right:-2px}.right-\[0px\]{right:0}.bottom-5{bottom:calc(var(--spacing)*5)}.bottom-\[-2px\]{bottom:-2px}.bottom-\[-3px\]{bottom:-3px}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing)*2)}.left-8{left:calc(var(--spacing)*8)}.left-\[-2px\]{left:-2px}.left-\[0px\]{left:0}.z-0{z-index:0}.z-40{z-index:40}.z-50{z-index:50}.z-\[20\]{z-index:20}.m-6{margin:calc(var(--spacing)*6)}.m-8{margin:calc(var(--spacing)*8)}.mx-0\.5{margin-inline:calc(var(--spacing)*.5)}.mx-3{margin-inline:calc(var(--spacing)*3)}.my-0{margin-block:calc(var(--spacing)*0)}.my-1{margin-block:calc(var(--spacing)*1)}.my-3{margin-block:calc(var(--spacing)*3)}.my-4{margin-block:calc(var(--spacing)*4)}.my-6{margin-block:calc(var(--spacing)*6)}.my-8{margin-block:calc(var(--spacing)*8)}.my-40{margin-block:calc(var(--spacing)*40)}.-mt-12{margin-top:calc(var(--spacing)*-12)}.-mt-20{margin-top:calc(var(--spacing)*-20)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-\[-6px\]{margin-top:-6px}.mt-\[11px\]{margin-top:11px}.mr-1\.5{margin-right:calc(var(--spacing)*1.5)}.mr-3{margin-right:calc(var(--spacing)*3)}.mr-6{margin-right:calc(var(--spacing)*6)}.-mb-1{margin-bottom:calc(var(--spacing)*-1)}.mb-0{margin-bottom:calc(var(--spacing)*0)}.mb-0\.5{margin-bottom:calc(var(--spacing)*.5)}.mb-\[3px\]{margin-bottom:3px}.-ml-6{margin-left:calc(var(--spacing)*-6)}.ml-3{margin-left:calc(var(--spacing)*3)}.ml-\[234px\]{margin-left:234px}.ml-auto{margin-left:auto}.scrollbar-thin::-webkit-scrollbar-track{background-color:var(--scrollbar-track);border-radius:var(--scrollbar-track-radius)}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:var(--scrollbar-thumb-radius)}.scrollbar-thin::-webkit-scrollbar-corner{background-color:var(--scrollbar-corner);border-radius:var(--scrollbar-corner-radius)}.scrollbar-thin{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb,initial)var(--scrollbar-track,initial)}.scrollbar-thin::-webkit-scrollbar{width:8px;height:8px;display:block}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\!inline{display:inline!important}.contents{display:contents}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.size-2\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.size-3{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-\[3px\]{width:3px;height:3px}.size-\[calc\(100\%-32px\)\]{width:calc(100% - 32px);height:calc(100% - 32px)}.h-0\.5{height:calc(var(--spacing)*.5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-11{height:calc(var(--spacing)*11)}.h-12{height:calc(var(--spacing)*12)}.h-24{height:calc(var(--spacing)*24)}.h-48{height:calc(var(--spacing)*48)}.h-\[1px\]{height:1px}.h-\[3px\]{height:3px}.h-\[6px\]{height:6px}.h-\[9px\]{height:9px}.h-\[12px\]{height:12px}.h-\[17px\]{height:17px}.h-\[22px\]{height:22px}.h-\[25px\]{height:25px}.h-\[34px\]{height:34px}.h-\[36px\]{height:36px}.h-\[52px\]{height:52px}.h-\[244px\]{height:244px}.h-\[300px\]{height:300px}.h-\[420px\]{height:420px}.h-auto{height:auto}.h-dvh{height:100dvh}.h-max{height:max-content}.h-px{height:1px}.max-h-0{max-height:calc(var(--spacing)*0)}.max-h-6{max-height:calc(var(--spacing)*6)}.max-h-\[245px\]{max-height:245px}.max-h-\[300px\]{max-height:300px}.max-h-\[370px\]{max-height:370px}.max-h-screen{max-height:100vh}.min-h-4{min-height:calc(var(--spacing)*4)}.min-h-9{min-height:calc(var(--spacing)*9)}.min-h-11{min-height:calc(var(--spacing)*11)}.min-h-12{min-height:calc(var(--spacing)*12)}.min-h-\[48px\]{min-height:48px}.min-h-\[50px\]{min-height:50px}.min-h-full{min-height:100%}.w-\(--radix-popover-trigger-width\){width:var(--radix-popover-trigger-width)}.w-0\.5{width:calc(var(--spacing)*.5)}.w-1{width:calc(var(--spacing)*1)}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-4{width:calc(var(--spacing)*4)}.w-4\/5{width:80%}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-11{width:calc(var(--spacing)*11)}.w-32{width:calc(var(--spacing)*32)}.w-48{width:calc(var(--spacing)*48)}.w-52{width:calc(var(--spacing)*52)}.w-64{width:calc(var(--spacing)*64)}.w-96{width:calc(var(--spacing)*96)}.w-\[6px\]{width:6px}.w-\[50px\]{width:50px}.w-\[83px\]{width:83px}.w-\[200px\]{width:200px}.w-\[320px\]{width:320px}.w-\[408px\]{width:408px}.w-\[432px\]{width:432px}.w-\[450px\]{width:450px}.w-\[500px\]{width:500px}.w-max{width:max-content}.w-px{width:1px}.w-screen{width:100vw}.max-w-4xl{max-width:var(--container-4xl)}.max-w-36{max-width:calc(var(--spacing)*36)}.max-w-96{max-width:calc(var(--spacing)*96)}.max-w-\[408px\]{max-width:408px}.max-w-fit{max-width:fit-content}.max-w-full{max-width:100%}.max-w-none{max-width:none}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-8{min-width:calc(var(--spacing)*8)}.min-w-36{min-width:calc(var(--spacing)*36)}.min-w-64{min-width:calc(var(--spacing)*64)}.min-w-72{min-width:calc(var(--spacing)*72)}.min-w-\[142px\]{min-width:142px}.min-w-\[360px\]{min-width:360px}.min-w-\[408px\]{min-width:408px}.flex-none{flex:none}.border-separate{border-collapse:separate}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-scale-x-100{--tw-scale-x: -100% ;scale:var(--tw-scale-x)var(--tw-scale-y)}.-rotate-90{rotate:-90deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.rotate-\[270deg\]{rotate:270deg}.cursor-not-allowed{cursor:not-allowed}.cursor-wait{cursor:wait}.grid-cols-\[1fr\,auto\,1fr\]{grid-template-columns:1fr,auto,1fr}.grid-cols-\[208px\,380px\]{grid-template-columns:208px,380px}.grid-cols-\[auto\,auto\]{grid-template-columns:auto,auto}.grid-cols-\[minmax\(min-content\,1018px\)\]{grid-template-columns:minmax(min-content,1018px)}.grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.flex-row{flex-direction:row}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.gap-1{gap:calc(var(--spacing)*1)}.gap-3{gap:calc(var(--spacing)*3)}.gap-32{gap:calc(var(--spacing)*32)}.gap-\[-2px\]{gap:-2px}.gap-x-1{column-gap:calc(var(--spacing)*1)}.gap-x-2{column-gap:calc(var(--spacing)*2)}.gap-x-6{column-gap:calc(var(--spacing)*6)}.gap-x-8{column-gap:calc(var(--spacing)*8)}.gap-x-12{column-gap:calc(var(--spacing)*12)}.gap-x-16{column-gap:calc(var(--spacing)*16)}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.gap-y-1{row-gap:calc(var(--spacing)*1)}.gap-y-4{row-gap:calc(var(--spacing)*4)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-gray-200>:not(:last-child)){border-color:var(--color-gray-200)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\[2px\]{border-radius:2px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-full{border-top-left-radius:3.40282e38px;border-top-right-radius:3.40282e38px}.rounded-t-md{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-l-md{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-tl-md{border-top-left-radius:var(--radius-md)}.rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.rounded-tr-md{border-top-right-radius:var(--radius-md)}.rounded-b-full{border-bottom-right-radius:3.40282e38px;border-bottom-left-radius:3.40282e38px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-y-0{border-block-style:var(--tw-border-style);border-block-width:0}.border-y-2{border-block-style:var(--tw-border-style);border-block-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.border-blue-600{border-color:var(--color-blue-600)}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-400{border-color:var(--color-gray-400)}.border-gray-600{border-color:var(--color-gray-600)}.border-gray-700{border-color:var(--color-gray-700)}.border-gray-800{border-color:var(--color-gray-800)}.border-gray-900{border-color:var(--color-gray-900)}.border-red-700{border-color:var(--color-red-700)}.border-red-900{border-color:var(--color-red-900)}.border-slate-50{border-color:var(--color-slate-50)}.border-slate-100{border-color:var(--color-slate-100)}.border-white{border-color:var(--color-white)}.border-b-gray-300{border-bottom-color:var(--color-gray-300)}.bg-\[\#ffffff\]{background-color:#fff}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-200{background-color:var(--color-blue-200)}.bg-blue-300{background-color:var(--color-blue-300)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-900{background-color:var(--color-blue-900)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-600{background-color:var(--color-green-600)}.bg-green-600\/30{background-color:#63cf804d}@supports (color:color-mix(in lab,red,red)){.bg-green-600\/30{background-color:#00a5444d}@supports (color:color-mix(in lab,red,red)){.bg-green-600\/30{background-color:color-mix(in oklab,var(--color-green-600)30%,transparent)}}}.bg-inherit{background-color:inherit}.bg-orange-100{background-color:var(--color-orange-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-600{background-color:var(--color-red-600)}.bg-red-600\/30{background-color:#f28e874d}@supports (color:color-mix(in lab,red,red)){.bg-red-600\/30{background-color:#e400144d}@supports (color:color-mix(in lab,red,red)){.bg-red-600\/30{background-color:color-mix(in oklab,var(--color-red-600)30%,transparent)}}}.bg-red-900{background-color:var(--color-red-900)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-900\/50{background-color:#0e101080}@supports (color:color-mix(in lab,red,red)){.bg-slate-900\/50{background-color:#0f172b80}@supports (color:color-mix(in lab,red,red)){.bg-slate-900\/50{background-color:color-mix(in oklab,var(--color-slate-900)50%,transparent)}}}.bg-transparent{background-color:#0000}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-3{padding:calc(var(--spacing)*3)}.p-8{padding:calc(var(--spacing)*8)}.p-10{padding:calc(var(--spacing)*10)}.px-0\.5{padding-inline:calc(var(--spacing)*.5)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0{padding-block:calc(var(--spacing)*0)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-28{padding-block:calc(var(--spacing)*28)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-6{padding-top:calc(var(--spacing)*6)}.pt-12{padding-top:calc(var(--spacing)*12)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-2\.5{padding-right:calc(var(--spacing)*2.5)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-9{padding-right:calc(var(--spacing)*9)}.pb-0{padding-bottom:calc(var(--spacing)*0)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-1\.5{padding-left:calc(var(--spacing)*1.5)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-5{padding-left:calc(var(--spacing)*5)}.pl-8{padding-left:calc(var(--spacing)*8)}.text-right{text-align:right}.text-start{text-align:start}.font-sans{font-family:var(--font-sans)}.text-\[10px\]{font-size:10px}.text-\[14px\]{font-size:14px}.leading-3{--tw-leading:calc(var(--spacing)*3);line-height:calc(var(--spacing)*3)}.leading-4{--tw-leading:calc(var(--spacing)*4);line-height:calc(var(--spacing)*4)}.leading-5{--tw-leading:calc(var(--spacing)*5);line-height:calc(var(--spacing)*5)}.leading-\[18px\]{--tw-leading:18px;line-height:18px}.leading-\[22px\]{--tw-leading:22px;line-height:22px}.font-extralight{--tw-font-weight:var(--font-weight-extralight);font-weight:var(--font-weight-extralight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-nowrap{text-wrap:nowrap}.whitespace-nowrap{white-space:nowrap}.\!text-red-800{color:var(--color-red-800)!important}.\!text-red-900{color:var(--color-red-900)!important}.text-\[\#9DA6B9\]{color:#9da6b9}.text-black{color:var(--color-black)}.text-blue-600{color:var(--color-blue-600)}.text-blue-900{color:var(--color-blue-900)}.text-current{color:currentColor}.text-gray-50{color:var(--color-gray-50)}.text-gray-300{color:var(--color-gray-300)}.text-gray-700{color:var(--color-gray-700)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-green-900{color:var(--color-green-900)}.text-inherit{color:inherit}.text-orange-700{color:var(--color-orange-700)}.text-orange-800{color:var(--color-orange-800)}.text-orange-900{color:var(--color-orange-900)}.text-purple-900{color:var(--color-purple-900)}.text-red-400{color:var(--color-red-400)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-slate-100{color:var(--color-slate-100)}.text-slate-200{color:var(--color-slate-200)}.text-slate-300{color:var(--color-slate-300)}.text-slate-500{color:var(--color-slate-500)}.text-yellow-400{color:var(--color-yellow-400)}.text-yellow-900{color:var(--color-yellow-900)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.accent-gray-900{accent-color:var(--color-gray-900)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[1px_4px_15px_0px_rgba\(74\,88\,115\,0\.25\)\]{--tw-shadow:1px 4px 15px 0px var(--tw-shadow-color,#4a587340);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-button{--tw-shadow:0px -1px 1px 0px var(--tw-shadow-color,#0000000a)inset,0px 2px 0px 0px var(--tw-shadow-color,#ffffff40)inset,0px 4px 8px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-tooltip{--tw-shadow:0px 2px 8px 0px var(--tw-shadow-color,#0000000d),0px 44px 48px -12px var(--tw-shadow-color,#00000026),0px 0px 24px 4px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-black\/\[\.04\]{--tw-shadow-color:#0000000a}@supports (color:color-mix(in lab,red,red)){.shadow-black\/\[\.04\]{--tw-shadow-color:#0000000a}@supports (color:color-mix(in lab,red,red)){.shadow-black\/\[\.04\]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black)4%,transparent)var(--tw-shadow-alpha),transparent)}}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-red-900{outline-color:var(--color-red-900)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[border-radius\]{transition-property:border-radius;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[max-height\]{transition-property:max-height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.scrollbar-thumb-gray-300{--scrollbar-thumb:#d8d9da}.scrollbar-track-transparent{--scrollbar-track:transparent}.group-focus-within\:\!text-gray-900:is(:where(.group):focus-within *){color:var(--color-gray-900)!important}@media (hover:hover){.group-hover\:visible:is(:where(.group):hover *){visibility:visible}.group-hover\:mr-0:is(:where(.group):hover *){margin-right:calc(var(--spacing)*0)}.group-hover\:block:is(:where(.group):hover *){display:block}.group-hover\:cursor-pointer:is(:where(.group):hover *){cursor:pointer}.group-hover\:border-gray-900:is(:where(.group):hover *){border-color:var(--color-gray-900)}.group-hover\:\!text-red-900:is(:where(.group):hover *){color:var(--color-red-900)!important}.group-hover\:text-gray-700:is(:where(.group):hover *){color:var(--color-gray-700)}.group-hover\:text-gray-800:is(:where(.group):hover *){color:var(--color-gray-800)}.group-hover\:text-gray-900:is(:where(.group):hover *){color:var(--color-gray-900)}.group-hover\:text-inherit:is(:where(.group):hover *){color:inherit}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\/sidebar-footer\:block:is(:where(.group\/sidebar-footer):hover *){display:block}.group-hover\/sidebar-footer\:hidden:is(:where(.group\/sidebar-footer):hover *){display:none}}.peer-checked\:bg-blue-900:is(:where(.peer):checked~*){background-color:var(--color-blue-900)}@media (hover:hover){.peer-hover\:text-gray-900:is(:where(.peer):hover~*){color:var(--color-gray-900)}}.peer-focus\:outline-none:is(:where(.peer):focus~*){--tw-outline-style:none;outline-style:none}.placeholder\:text-gray-50::placeholder{color:var(--color-gray-50)}.placeholder\:text-gray-500::placeholder{color:var(--color-gray-500)}.placeholder\:text-red-800::placeholder{color:var(--color-red-800)}.group-focus-within\:placeholder\:\!text-gray-700:is(:where(.group):focus-within *)::placeholder{color:var(--color-gray-700)!important}@media (hover:hover){.group-hover\:placeholder\:text-gray-700:is(:where(.group):hover *)::placeholder{color:var(--color-gray-700)}}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:top-\[0\.4em\]:before{content:var(--tw-content);top:.4em}.before\:left-0:before{content:var(--tw-content);left:calc(var(--spacing)*0)}.before\:size-2:before{content:var(--tw-content);width:calc(var(--spacing)*2);height:calc(var(--spacing)*2)}.before\:rounded-full:before{content:var(--tw-content);border-radius:3.40282e38px}.before\:bg-blue-900:before{content:var(--tw-content);background-color:var(--color-blue-900)}.before\:bg-orange-900:before{content:var(--tw-content);background-color:var(--color-orange-900)}.before\:bg-red-900:before{content:var(--tw-content);background-color:var(--color-red-900)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:start-0\.5:after{content:var(--tw-content);inset-inline-start:calc(var(--spacing)*.5)}.after\:top-0\.5:after{content:var(--tw-content);top:calc(var(--spacing)*.5)}.after\:top-1\/2:after{content:var(--tw-content);top:50%}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:size-2\.5:after{content:var(--tw-content);width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.after\:size-5:after{content:var(--tw-content);width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.after\:-translate-y-1\/2:after{content:var(--tw-content);--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.after\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e38px}.after\:border:after{content:var(--tw-content);border-style:var(--tw-border-style);border-width:1px}.after\:border-none:after{content:var(--tw-content);--tw-border-style:none;border-style:none}.after\:bg-gray-50:after{content:var(--tw-content);background-color:var(--color-gray-50)}.after\:bg-gray-600:after{content:var(--tw-content);background-color:var(--color-gray-600)}.after\:bg-gray-800:after{content:var(--tw-content);background-color:var(--color-gray-800)}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}@media (hover:hover){.group-hover\:after\:bg-gray-900:is(:where(.group):hover *):after{content:var(--tw-content);background-color:var(--color-gray-900)}}.peer-checked\:after\:translate-x-full:is(:where(.peer):checked~*):after{content:var(--tw-content);--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.first\:border-l-0:first-child{border-left-style:var(--tw-border-style);border-left-width:0}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing)*0)}.last\:rounded-b-md:last-child{border-bottom-right-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.odd\:bg-white:nth-child(odd){background-color:var(--color-white)}.even\:bg-gray-50:nth-child(2n){background-color:var(--color-gray-50)}.first-of-type\:rounded-t-2xl:first-of-type{border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl)}.first-of-type\:pt-3:first-of-type{padding-top:calc(var(--spacing)*3)}.last-of-type\:mb-0:last-of-type{margin-bottom:calc(var(--spacing)*0)}.last-of-type\:rounded-b-2xl:last-of-type{border-bottom-right-radius:var(--radius-2xl);border-bottom-left-radius:var(--radius-2xl)}.last-of-type\:pb-3:last-of-type{padding-bottom:calc(var(--spacing)*3)}.last-of-type\:text-gray-800:last-of-type{color:var(--color-gray-800)}.focus-within\:border-b-gray-300:focus-within{border-bottom-color:var(--color-gray-300)}.focus-within\:bg-gray-100:focus-within{background-color:var(--color-gray-100)}@media (hover:hover){.hover\:scale-100:hover{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\:border-gray-500:hover{border-color:var(--color-gray-500)}.hover\:border-gray-600:hover{border-color:var(--color-gray-600)}.hover\:border-gray-900:hover{border-color:var(--color-gray-900)}.hover\:border-red-900:hover{border-color:var(--color-red-900)}.hover\:border-b-gray-300:hover{border-bottom-color:var(--color-gray-300)}.hover\:bg-blue-300:hover{background-color:var(--color-blue-300)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-gray-900:hover{background-color:var(--color-gray-900)}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-slate-800:hover{background-color:var(--color-slate-800)}.hover\:bg-transparent:hover{background-color:#0000}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:text-\[\#9896FF\]:hover{color:#9896ff}.hover\:text-gray-500:hover{color:var(--color-gray-500)}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:text-gray-800:hover{color:var(--color-gray-800)}.hover\:text-gray-900:hover{color:var(--color-gray-900)}.hover\:text-red-700:hover{color:var(--color-red-700)}.hover\:text-red-900:hover{color:var(--color-red-900)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:brightness-125:hover{--tw-brightness:brightness(125%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.hover\:scrollbar-thumb-gray-300:hover{--scrollbar-thumb:#d8d9da}}.focus\:bg-gray-50:focus{background-color:var(--color-gray-50)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-gray-900:focus{--tw-ring-color:var(--color-gray-900)}.focus\:ring-offset-0:focus{--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-gray-900:focus-visible{--tw-ring-color:var(--color-gray-900)}.focus-visible\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:ring-offset-white:focus-visible{--tw-ring-offset-color:var(--color-white)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:border-blue-800:active{border-color:var(--color-blue-800)}.active\:border-red-800:active{border-color:var(--color-red-800)}.active\:border-slate-100:active{border-color:var(--color-slate-100)}.active\:border-slate-700:active{border-color:var(--color-slate-700)}.active\:text-gray-600:active{color:var(--color-gray-600)}.active\:opacity-50:active{opacity:.5}.active\:opacity-70:active{opacity:.7}.active\:opacity-75:active{opacity:.75}.active\:opacity-80:active{opacity:.8}.active\:opacity-100:active{opacity:1}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:border-gray-300:disabled{border-color:var(--color-gray-300)}.disabled\:border-gray-700:disabled{border-color:var(--color-gray-700)}.disabled\:bg-gray-50:disabled{background-color:var(--color-gray-50)}.disabled\:bg-gray-300:disabled{background-color:var(--color-gray-300)}.disabled\:bg-transparent:disabled{background-color:#0000}.disabled\:p-0:disabled{padding:calc(var(--spacing)*0)}.disabled\:text-left:disabled{text-align:left}.disabled\:text-blue-400:disabled{color:var(--color-blue-400)}.disabled\:text-gray-400:disabled{color:var(--color-gray-400)}.disabled\:text-gray-500:disabled{color:var(--color-gray-500)}.disabled\:text-gray-700:disabled{color:var(--color-gray-700)}.disabled\:text-red-400:disabled{color:var(--color-red-400)}.disabled\:text-slate-100:disabled{color:var(--color-slate-100)}.disabled\:opacity-100:disabled{opacity:1}.data-disabled\:cursor-not-allowed[data-disabled]{cursor:not-allowed}.data-disabled\:text-gray-400[data-disabled]{color:var(--color-gray-400)}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}@media (hover:hover){.data-\[invalid\=true\]\:group-hover\:\!border-red-900[data-invalid=true]:is(:where(.group):hover *){border-color:var(--color-red-900)!important}}.data-\[selected\=true\]\:bg-gray-100[data-selected=true]{background-color:var(--color-gray-100)}.data-\[side\=bottom\]\:animate-slide-in-from-top[data-side=bottom]{animation:var(--animate-slide-in-from-top)}.data-\[side\=left\]\:animate-slide-in-from-right[data-side=left]{animation:var(--animate-slide-in-from-right)}.data-\[side\=right\]\:animate-slide-in-from-left[data-side=right]{animation:var(--animate-slide-in-from-left)}.data-\[side\=top\]\:animate-slide-in-from-bottom[data-side=top]{animation:var(--animate-slide-in-from-bottom)}.data-\[state\]\:border-gray-700[data-state]{border-color:var(--color-gray-700)}.data-\[invalid\=true\]\:data-\[state\]\:\!border-red-800[data-invalid=true][data-state]{border-color:var(--color-red-800)!important}.data-\[state\=\'active\'\]\:bg-gray-50[data-state=active]{background-color:var(--color-gray-50)}.data-\[state\=\'active\'\]\:text-gray-900[data-state=active]{color:var(--color-gray-900)}.data-\[state\=checked\]\:bg-gray-900[data-state=checked]{background-color:var(--color-gray-900)}.data-\[state\=checked\]\:text-slate-50[data-state=checked]{color:var(--color-slate-50)}@media (hover:hover){.data-\[state\=checked\]\:group-hover\:bg-gray-900[data-state=checked]:is(:where(.group):hover *){background-color:var(--color-gray-900)}}.disabled\:data-\[invalid\=false\]\:data-\[state\=checked\]\:bg-gray-700:disabled[data-invalid=false][data-state=checked]{background-color:var(--color-gray-700)}.data-\[invalid\=true\]\:data-\[state\=checked\]\:\!bg-red-800[data-invalid=true][data-state=checked]{background-color:var(--color-red-800)!important}@media (hover:hover){.data-\[invalid\=true\]\:data-\[state\=checked\]\:group-hover\:\!bg-red-900[data-invalid=true][data-state=checked]:is(:where(.group):hover *){background-color:var(--color-red-900)!important}}.data-\[state\=closed\]\:animate-fade-out[data-state=closed]{animation:var(--animate-fade-out)}.data-\[state\=closed\]\:animate-zoom-out[data-state=closed]{animation:var(--animate-zoom-out)}.data-\[state\=indeterminate\]\:bg-gray-900[data-state=indeterminate]{background-color:var(--color-gray-900)}.data-\[state\=indeterminate\]\:text-slate-50[data-state=indeterminate]{color:var(--color-slate-50)}@media (hover:hover){.data-\[state\=indeterminate\]\:group-hover\:bg-gray-900[data-state=indeterminate]:is(:where(.group):hover *){background-color:var(--color-gray-900)}}.disabled\:data-\[invalid\=false\]\:data-\[state\=indeterminate\]\:bg-gray-700:disabled[data-invalid=false][data-state=indeterminate]{background-color:var(--color-gray-700)}.data-\[invalid\=true\]\:data-\[state\=indeterminate\]\:\!bg-red-800[data-invalid=true][data-state=indeterminate]{background-color:var(--color-red-800)!important}@media (hover:hover){.data-\[invalid\=true\]\:data-\[state\=indeterminate\]\:group-hover\:\!bg-red-900[data-invalid=true][data-state=indeterminate]:is(:where(.group):hover *){background-color:var(--color-red-900)!important}}.data-\[state\=open\]\:animate-fade-in[data-state=open]{animation:var(--animate-fade-in)}.data-\[state\=open\]\:animate-zoom-in[data-state=open]{animation:var(--animate-zoom-in)}.dark\:border-charcoal-700:where(.dark,.dark *){border-color:var(--color-charcoal-700)}.dark\:border-gray-400:where(.dark,.dark *){border-color:var(--color-gray-400)}.dark\:border-gray-600:where(.dark,.dark *){border-color:var(--color-gray-600)}.dark\:border-gray-900:where(.dark,.dark *){border-color:var(--color-gray-900)}.dark\:border-red-700:where(.dark,.dark *){border-color:var(--color-red-700)}.dark\:border-slate-500:where(.dark,.dark *){border-color:var(--color-slate-500)}.dark\:border-slate-600:where(.dark,.dark *){border-color:var(--color-slate-600)}.dark\:border-b-gray-900:where(.dark,.dark *){border-bottom-color:var(--color-gray-900)}.dark\:bg-\[\#1c1e23\]:where(.dark,.dark *){background-color:#1c1e23}.dark\:bg-blue-600:where(.dark,.dark *){background-color:var(--color-blue-600)}.dark\:bg-charcoal-900:where(.dark,.dark *){background-color:var(--color-charcoal-900)}.dark\:bg-gray-400:where(.dark,.dark *){background-color:var(--color-gray-400)}.dark\:bg-slate-600:where(.dark,.dark *){background-color:var(--color-slate-600)}.dark\:bg-slate-900:where(.dark,.dark *){background-color:var(--color-slate-900)}.dark\:bg-transparent:where(.dark,.dark *){background-color:#0000}.dark\:text-\[\#7D3D37\]:where(.dark,.dark *){color:#7d3d37}.dark\:text-\[\#644E00\]:where(.dark,.dark *){color:#644e00}.dark\:text-black:where(.dark,.dark *){color:var(--color-black)}.dark\:text-blue-900:where(.dark,.dark *){color:var(--color-blue-900)}.dark\:text-gray-50:where(.dark,.dark *){color:var(--color-gray-50)}.dark\:text-gray-200:where(.dark,.dark *){color:var(--color-gray-200)}.dark\:text-gray-300:where(.dark,.dark *){color:var(--color-gray-300)}.dark\:text-gray-400:where(.dark,.dark *){color:var(--color-gray-400)}.dark\:text-gray-500:where(.dark,.dark *){color:var(--color-gray-500)}.dark\:text-gray-600:where(.dark,.dark *){color:var(--color-gray-600)}.dark\:text-gray-700:where(.dark,.dark *){color:var(--color-gray-700)}.dark\:text-red-800:where(.dark,.dark *){color:var(--color-red-800)}.dark\:text-red-900:where(.dark,.dark *){color:var(--color-red-900)}.dark\:text-white:where(.dark,.dark *){color:var(--color-white)}.dark\:text-yellow-900:where(.dark,.dark *){color:var(--color-yellow-900)}.dark\:shadow-\[1px_4px_15\.3px_0px_\#141921\]:where(.dark,.dark *){--tw-shadow:1px 4px 15.3px 0px var(--tw-shadow-color,#141921);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark\:scrollbar-thumb-charcoal-700:where(.dark,.dark *){--scrollbar-thumb:#485265}.dark\:group-focus-within\:\!text-gray-50:where(.dark,.dark *):is(:where(.group):focus-within *){color:var(--color-gray-50)!important}@media (hover:hover){.dark\:group-hover\:border-slate-50:where(.dark,.dark *):is(:where(.group):hover *){border-color:var(--color-slate-50)}.dark\:group-hover\:\!text-red-900:where(.dark,.dark *):is(:where(.group):hover *){color:var(--color-red-900)!important}.dark\:group-hover\:text-gray-500:where(.dark,.dark *):is(:where(.group):hover *){color:var(--color-gray-500)}.dark\:group-hover\:text-slate-50:where(.dark,.dark *):is(:where(.group):hover *){color:var(--color-slate-50)}.dark\:peer-hover\:text-gray-50:where(.dark,.dark *):is(:where(.peer):hover~*){color:var(--color-gray-50)}}.dark\:placeholder\:text-gray-600:where(.dark,.dark *)::placeholder{color:var(--color-gray-600)}.dark\:placeholder\:text-gray-700:where(.dark,.dark *)::placeholder{color:var(--color-gray-700)}.dark\:group-focus-within\:placeholder\:\!text-gray-300:where(.dark,.dark *):is(:where(.group):focus-within *)::placeholder{color:var(--color-gray-300)!important}@media (hover:hover){.dark\:group-hover\:placeholder\:text-gray-500:where(.dark,.dark *):is(:where(.group):hover *)::placeholder{color:var(--color-gray-500)}}.dark\:before\:bg-blue-900:where(.dark,.dark *):before{content:var(--tw-content);background-color:var(--color-blue-900)}.dark\:before\:bg-orange-900:where(.dark,.dark *):before{content:var(--tw-content);background-color:var(--color-orange-900)}.dark\:before\:bg-red-900:where(.dark,.dark *):before{content:var(--tw-content);background-color:var(--color-red-900)}.dark\:after\:bg-gray-400:where(.dark,.dark *):after{content:var(--tw-content);background-color:var(--color-gray-400)}.dark\:after\:bg-gray-600:where(.dark,.dark *):after{content:var(--tw-content);background-color:var(--color-gray-600)}@media (hover:hover){.dark\:group-hover\:after\:bg-gray-50:where(.dark,.dark *):is(:where(.group):hover *):after{content:var(--tw-content);background-color:var(--color-gray-50)}}.dark\:focus-within\:border-b-gray-800:where(.dark,.dark *):focus-within{border-bottom-color:var(--color-gray-800)}.dark\:focus-within\:bg-gray-900:where(.dark,.dark *):focus-within{background-color:var(--color-gray-900)}@media (hover:hover){.dark\:hover\:border-charcoal-700:where(.dark,.dark *):hover{border-color:var(--color-charcoal-700)}.dark\:hover\:border-gray-50:where(.dark,.dark *):hover{border-color:var(--color-gray-50)}.dark\:hover\:border-gray-600:where(.dark,.dark *):hover{border-color:var(--color-gray-600)}.dark\:hover\:border-red-900:where(.dark,.dark *):hover{border-color:var(--color-red-900)}.dark\:hover\:border-b-gray-800:where(.dark,.dark *):hover{border-bottom-color:var(--color-gray-800)}.dark\:hover\:bg-charcoal-800:where(.dark,.dark *):hover{background-color:var(--color-charcoal-800)}.dark\:hover\:bg-charcoal-900:where(.dark,.dark *):hover{background-color:var(--color-charcoal-900)}.dark\:hover\:bg-gray-900:where(.dark,.dark *):hover{background-color:var(--color-gray-900)}.dark\:hover\:bg-transparent:where(.dark,.dark *):hover{background-color:#0000}.dark\:hover\:text-gray-500:where(.dark,.dark *):hover{color:var(--color-gray-500)}.dark\:hover\:scrollbar-thumb-charcoal-700:where(.dark,.dark *):hover{--scrollbar-thumb:#485265}}.dark\:focus\:bg-charcoal-900:where(.dark,.dark *):focus{background-color:var(--color-charcoal-900)}.dark\:focus\:ring-charcoal-300:where(.dark,.dark *):focus,.dark\:focus-visible\:ring-charcoal-300:where(.dark,.dark *):focus-visible{--tw-ring-color:var(--color-charcoal-300)}.dark\:focus-visible\:ring-offset-charcoal-900:where(.dark,.dark *):focus-visible{--tw-ring-offset-color:var(--color-charcoal-900)}.disabled\:dark\:border-charcoal-800:disabled:where(.dark,.dark *){border-color:var(--color-charcoal-800)}.disabled\:dark\:bg-charcoal-900:disabled:where(.dark,.dark *){background-color:var(--color-charcoal-900)}.disabled\:dark\:text-gray-300:disabled:where(.dark,.dark *){color:var(--color-gray-300)}.dark\:data-\[selected\=true\]\:bg-gray-900:where(.dark,.dark *)[data-selected=true]{background-color:var(--color-gray-900)}.dark\:data-\[state\]\:border-gray-500:where(.dark,.dark *)[data-state]{border-color:var(--color-gray-500)}.dark\:data-\[invalid\=true\]\:data-\[state\]\:\!border-red-800:where(.dark,.dark *)[data-invalid=true][data-state]{border-color:var(--color-red-800)!important}.dark\:data-\[state\=checked\]\:bg-gray-400:where(.dark,.dark *)[data-state=checked]{background-color:var(--color-gray-400)}.dark\:data-\[state\=checked\]\:text-gray-900:where(.dark,.dark *)[data-state=checked]{color:var(--color-gray-900)}@media (hover:hover){.dark\:data-\[state\=checked\]\:group-hover\:bg-slate-50:where(.dark,.dark *)[data-state=checked]:is(:where(.group):hover *){background-color:var(--color-slate-50)}}.dark\:disabled\:data-\[invalid\=false\]\:data-\[state\=checked\]\:bg-gray-500:where(.dark,.dark *):disabled[data-invalid=false][data-state=checked]{background-color:var(--color-gray-500)}.dark\:data-\[invalid\=true\]\:data-\[state\=checked\]\:\!bg-red-800:where(.dark,.dark *)[data-invalid=true][data-state=checked]{background-color:var(--color-red-800)!important}.dark\:data-\[state\=indeterminate\]\:bg-gray-400:where(.dark,.dark *)[data-state=indeterminate]{background-color:var(--color-gray-400)}.dark\:data-\[state\=indeterminate\]\:text-gray-900:where(.dark,.dark *)[data-state=indeterminate]{color:var(--color-gray-900)}@media (hover:hover){.dark\:data-\[state\=indeterminate\]\:group-hover\:bg-slate-50:where(.dark,.dark *)[data-state=indeterminate]:is(:where(.group):hover *){background-color:var(--color-slate-50)}}.dark\:disabled\:data-\[invalid\=false\]\:data-\[state\=indeterminate\]\:bg-gray-500:where(.dark,.dark *):disabled[data-invalid=false][data-state=indeterminate]{background-color:var(--color-gray-500)}.dark\:data-\[invalid\=true\]\:data-\[state\=indeterminate\]\:\!bg-red-800:where(.dark,.dark *)[data-invalid=true][data-state=indeterminate]{background-color:var(--color-red-800)!important}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing)*1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-label\]\]\:hidden [cmdk-label]{display:none}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&\>span\]\:truncate>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.right-8{right:calc(var(--spacing)*8)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-8{bottom:calc(var(--spacing)*8)}.isolate{isolation:isolate}.z-10{z-index:10}.z-\[10000\]{z-index:10000}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-4{margin:calc(var(--spacing)*4)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-auto{margin-inline:auto}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mr-0\.5{margin-right:calc(var(--spacing)*.5)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-6{margin-left:calc(var(--spacing)*6)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.size-full{width:100%;height:100%}.\!h-\[30px\]{height:30px!important}.h-3{height:calc(var(--spacing)*3)}.h-5{height:calc(var(--spacing)*5)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-app-height{height:var(--spacing-app-height)}.h-full{height:100%}.h-screen{height:100vh}.min-h-14{min-height:calc(var(--spacing)*14)}.min-h-80{min-height:calc(var(--spacing)*80)}.min-h-\[400px\]{min-height:400px}.\!w-\[100px\]{width:100px!important}.w-5{width:calc(var(--spacing)*5)}.w-\[400px\]{width:400px}.w-\[700px\]{width:700px}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[80\%\]{max-width:80%}.max-w-\[850px\]{max-width:850px}.max-w-\[1024px\]{max-width:1024px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-2{gap:calc(var(--spacing)*2)}.gap-4{gap:calc(var(--spacing)*4)}.gap-10{gap:calc(var(--spacing)*10)}.gap-x-4{column-gap:calc(var(--spacing)*4)}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-blue-100{border-color:var(--color-blue-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-transparent{border-color:#0000}.bg-black{background-color:var(--color-black)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-500\/20{background-color:#6a728233}@supports (color:color-mix(in lab,red,red)){.bg-gray-500\/20{background-color:color-mix(in oklab,var(--color-gray-500)20%,transparent)}}.bg-slate-50{background-color:var(--color-slate-50)}.bg-white{background-color:var(--color-white)}.fill-current{fill:currentColor}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-7{padding-inline:calc(var(--spacing)*7)}.px-8{padding-inline:calc(var(--spacing)*8)}.px-10{padding-inline:calc(var(--spacing)*10)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-4{padding-block:calc(var(--spacing)*4)}.py-5{padding-block:calc(var(--spacing)*5)}.py-24{padding-block:calc(var(--spacing)*24)}.pt-10{padding-top:calc(var(--spacing)*10)}.pb-5{padding-bottom:calc(var(--spacing)*5)}.pb-16{padding-bottom:calc(var(--spacing)*16)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-6{padding-left:calc(var(--spacing)*6)}.text-center{text-align:center}.text-left{text-align:left}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.leading-10{--tw-leading:calc(var(--spacing)*10);line-height:calc(var(--spacing)*10)}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-red-900{color:var(--color-red-900)}.text-slate-50{color:var(--color-slate-50)}.text-slate-800{color:var(--color-slate-800)}.text-white{color:var(--color-white)}.lowercase{text-transform:lowercase}.underline{text-decoration-line:underline}.decoration-solid{text-decoration-style:solid}.underline-offset-2{text-underline-offset:2px}.opacity-15{opacity:.15}.opacity-45{opacity:.45}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.drop-shadow-sm{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-sm));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}@media (hover:hover){.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-none:hover{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}}:root{--toastify-toast-min-height:48px;--toastify-toast-bd-radius:8px;--toastify-text-color-light:var(--color-gray-800);--toastify-color-progress-info:var(--color-gray-300);--toastify-color-progress-success:var(--color-gray-300);--toastify-color-progress-warning:var(--color-gray-300);--toastify-color-progress-error:var(--color-gray-300);--toastify-color-progress-light:var(--color-gray-300)}html:has(dialog[open]){overflow:hidden}.checkbox-container input[type=checkbox]{accent-color:var(--color-gray-900)}.rmsc{--rmsc-main:var(--color-gray-300)!important;--rmsc-hover:var(--color-gray-100)!important;--rmsc-selected:var(--color-gray-300)!important}.Toastify__toast-body{margin:0;padding:0;font-size:14px;font-weight:600}.Toastify__toast{padding:12px 16px;box-shadow:0 8px 32px #00000052}.Toastify__progress-bar--wrp{height:2px}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes zoomIn{0%{transform:scale(.95)}to{transform:scale(1)}}@keyframes zoomOut{0%{transform:scale(1)}to{transform:scale(.95)}}@keyframes slideInFromTop{0%{transform:translateY(-.5rem)}to{transform:translateY(0)}}@keyframes slideInFromBottom{0%{transform:translateY(.5rem)}to{transform:translateY(0)}}@keyframes slideInFromLeft{0%{transform:translate(.5rem)}to{transform:translate(0)}}@keyframes slideInFromRight{0%{transform:translate(-.5rem)}to{transform:translate(0)}}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index.C0tp--nk.js","./index.CW6hXWch.js","./browser.BkwNmV2Z.js","./app-skeleton.js","./index-B7k827uL.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{_ as c}from"./index.CW6hXWch.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.C0tp--nk.js").then(i=>i.cY),__vite__mapDeps([0,1,2,3,4]),import.meta.url);
|
|
3
|
-
//# sourceMappingURL=main.CpBKbYrC.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"mappings":";8yBA8BA,OAAO,qBAAY,OAAAA,KAAA","names":["n"],"ignoreList":[],"sources":["../../src/renderer.ts"],"sourcesContent":["/**\n * This file will automatically be loaded by vite and run in the \"renderer\" context.\n * To learn more about the differences between the \"main\" and the \"renderer\" context in\n * Electron, visit:\n *\n * https://electronjs.org/docs/tutorial/application-architecture#main-and-renderer-processes\n *\n * By default, Node.js integration in this file is disabled. When enabling Node.js integration\n * in a renderer process, please be aware of potential security implications. You can read\n * more about security risks here:\n *\n * https://electronjs.org/docs/tutorial/security\n *\n * To enable Node.js integration in this file, open up `main.js` and enable the `nodeIntegration`\n * flag:\n *\n * ```\n * // Create the browser window.\n * mainWindow = new BrowserWindow({\n * width: 800,\n * height: 600,\n * webPreferences: {\n * nodeIntegration: true\n * }\n * });\n * ```\n */\n\n// splits app code into separate chunk to avoid circular dependencies\n// eslint-disable-next-line @typescript-eslint/no-floating-promises\nimport('./index.js');\n"],"file":"assets/main.CpBKbYrC.js"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DeleteItemModal.D1JNJ3SD.js","./index.C0tp--nk.js","./index.CW6hXWch.js","./browser.BkwNmV2Z.js","./app-skeleton.js","./index-B7k827uL.css","./nodes.CkHD8Mis.js","./UpgradeDriveModal.Bcaqra-T.js","./CreateDocumentModal.6coMTZ5K.js","./AddDriveModal.DJ-dAFOA.js","./AddLocalDriveModal.De9JCy3U.js","./AddRemoteDriveModal.Bbso9zlA.js","./DriveSettingsModal.Cq31PlSd.js","./SettingsModal.DXSp8FUL.js","./i18next.CqOP20KE.js","./useDefaultDocumentModelEditor.oOnI3BO7.js","./ConfirmationModal.vrZxNEXg.js","./DeleteDriveModal.MOCpt-lE.js","./DebugSettingsModal.CC8h7-01.js","./registerServiceWorker.3WXSlUUt.js","./DisclaimerModal.CpWL_8dJ.js","./CookiesPolicyModal._TIEDwTl.js","./Trans.B_Bse39z.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.CW6hXWch.js";import"react-dom";const L={deleteItem:t(()=>o(()=>import("./DeleteItemModal.D1JNJ3SD.js"),__vite__mapDeps([0,1,2,3,4,5,6]),import.meta.url).then(e=>({default:e.DeleteItemModal}))),upgradeDrive:t(()=>o(()=>import("./UpgradeDriveModal.Bcaqra-T.js"),__vite__mapDeps([7,1,2,3,4,5]),import.meta.url).then(e=>({default:e.UpgradeDriveModal}))),createDocument:t(()=>o(()=>import("./CreateDocumentModal.6coMTZ5K.js"),__vite__mapDeps([8,2,1,3,4,5,6]),import.meta.url).then(e=>({default:e.CreateDocumentModal}))),addDriveModal:t(()=>o(()=>import("./AddDriveModal.DJ-dAFOA.js"),__vite__mapDeps([9,2,1,3,4,5]),import.meta.url).then(e=>({default:e.AddDriveModal}))),addLocalDrive:t(()=>o(()=>import("./AddLocalDriveModal.De9JCy3U.js"),__vite__mapDeps([10,2]),import.meta.url).then(e=>({default:e.AddLocalDriveModal}))),addRemoteDrive:t(()=>o(()=>import("./AddRemoteDriveModal.Bbso9zlA.js"),__vite__mapDeps([11,2,1,3,4,5]),import.meta.url).then(e=>({default:e.AddRemoteDriveModal}))),driveSettings:t(()=>o(()=>import("./DriveSettingsModal.Cq31PlSd.js"),__vite__mapDeps([12,1,2,3,4,5]),import.meta.url).then(e=>({default:e.DriveSettingsModal}))),settingsModal:t(()=>o(()=>import("./SettingsModal.DXSp8FUL.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.vrZxNEXg.js"),__vite__mapDeps([16,2]),import.meta.url).then(e=>({default:e.ConfirmationModal}))),deleteDriveModal:t(()=>o(()=>import("./DeleteDriveModal.MOCpt-lE.js"),__vite__mapDeps([17,1,2,3,4,5]),import.meta.url).then(e=>({default:e.DeleteDriveModal}))),debugSettingsModal:t(()=>o(()=>import("./DebugSettingsModal.CC8h7-01.js"),__vite__mapDeps([18,1,2,3,4,5,19]),import.meta.url).then(e=>({default:e.DebugSettingsModal}))),disclaimerModal:t(()=>o(()=>import("./DisclaimerModal.CpWL_8dJ.js"),__vite__mapDeps([20,1,2,3,4,5]),import.meta.url).then(e=>({default:e.DisclaimerModal}))),cookiesPolicy:t(()=>o(()=>import("./CookiesPolicyModal._TIEDwTl.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.B6AxZ1yB.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"mappings":";sNAEO,MAAMA,EAAS,CAClB,WAAYC,EAAK,IAAAC,EAAA,IACb,OAAO,+BAAsB,oDAAE,KAAKC,IAAM,CACtC,QAASA,EAAE,iBACb,GAEN,aAAcF,EAAK,IAAAC,EAAA,IACf,OAAO,iCAAwB,kDAAE,KAAKC,IAAM,CACxC,QAASA,EAAE,mBACb,GAEN,eAAgBF,EAAK,IAAAC,EAAA,IACjB,OAAO,mCAA0B,oDAAE,KAAKC,IAAM,CAC1C,QAASA,EAAE,qBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,6BAAoB,kDAAE,KAAKC,IAAM,CACpC,QAASA,EAAE,eACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,kCAAyB,2CAAE,KAAKC,IAAM,CACzC,QAASA,EAAE,oBACb,GAEN,eAAgBF,EAAK,IAAAC,EAAA,IACjB,OAAO,mCAA0B,mDAAE,KAAKC,IAAM,CAC1C,QAASA,EAAE,qBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,kCAAyB,mDAAE,KAAKC,IAAM,CACzC,QAASA,EAAE,oBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,6BAAoB,2DAAE,KAAKC,IAAM,CACpC,QAASA,EAAE,eACb,GAEN,kBAAmBF,EAAK,IAAAC,EAAA,IACpB,OAAO,iCAAwB,2CAAE,KAAKC,IAAM,CACxC,QAASA,EAAE,mBACb,GAEN,iBAAkBF,EAAK,IAAAC,EAAA,IACnB,OAAO,gCAAuB,mDAAE,KAAKC,IAAM,CACvC,QAASA,EAAE,kBACb,GAEN,mBAAoBF,EAAK,IAAAC,EAAA,IACrB,OAAO,kCAAyB,sDAAE,KAAKC,IAAM,CACzC,QAASA,EAAE,oBACb,GAEN,gBAAiBF,EAAK,IAAAC,EAAA,IAClB,OAAO,+BAAsB,mDAAE,KAAKC,IAAM,CACtC,QAASA,EAAE,iBACb,GAEN,cAAeF,EAAK,IAAAC,EAAA,IAChB,OAAO,kCAAyB,sDAAE,KAAKC,IAAM,CACzC,QAASA,EAAE,oBACb,EAEV,ECzCaC,EAAeC,EAAM,cAAiC,CAC/D,UAAW,IAAM,GACjB,WAAY,IAAM,EACtB,CAAC,EAEYC,EAAW,IACJC,EAAWH,CAAY,EAI9BI,EAAyDC,GAAS,CAC3E,KAAM,CAAE,SAAAC,GAAaD,EAEf,CAACE,EAAYC,CAAa,EAC5BC,EAAA,EACE,CAACC,EAAWC,CAAY,EAAIF,EAAA,EAC5B,CAACG,EAAMC,CAAO,EAAIJ,EAAS,EAAK,EAEhCK,EAA4CC,EAC9C,CAACL,EAAWL,IAAU,CAClBQ,EAAQ,EAAI,EACZL,EAAcH,CAAK,EACnBM,EAAaD,CAAS,GAE1B,EAAC,EAGCM,EAA8CD,EAAY,IAAM,CAClEF,EAAQ,EAAK,GACd,EAAE,EAECI,EAAiBP,EAAYd,EAAOc,CAAS,EAAI,KAEjDQ,EAAQC,EACV,KAAO,CAAE,UAAAL,EAAW,WAAAE,IACpB,CAACA,EAAYF,CAAS,GAG1B,OACIM,EAACpB,EAAa,SAAb,CAAsB,MAAAkB,EAClB,UAAAZ,EACDe,EAACC,EAAA,CAAS,KAAK,eACV,SAAAL,GACGI,EAACJ,EAAA,CACI,GAAIV,EACL,KAAAK,EACA,QAASI,CAAA,EACb,CAER,GACJ,CAER","names":["modals","lazy","__vitePreload","m","ModalContext","React","useModal","useContext","ModalManager","props","children","modalProps","setModalProps","useState","modalType","setModalType","open","setOpen","showModal","useCallback","closeModal","ModalComponent","value","useMemo","jsxs","jsx","Suspense"],"ignoreList":[],"sources":["../../src/components/modal/modals/index.ts","../../src/components/modal/modal.tsx"],"sourcesContent":["import { lazy } from 'react';\n\nexport const modals = {\n deleteItem: lazy(() =>\n import('./DeleteItemModal.js').then(m => ({\n default: m.DeleteItemModal,\n })),\n ),\n upgradeDrive: lazy(() =>\n import('./UpgradeDriveModal.js').then(m => ({\n default: m.UpgradeDriveModal,\n })),\n ),\n createDocument: lazy(() =>\n import('./CreateDocumentModal.js').then(m => ({\n default: m.CreateDocumentModal,\n })),\n ),\n addDriveModal: lazy(() =>\n import('./AddDriveModal.js').then(m => ({\n default: m.AddDriveModal,\n })),\n ),\n addLocalDrive: lazy(() =>\n import('./AddLocalDriveModal.js').then(m => ({\n default: m.AddLocalDriveModal,\n })),\n ),\n addRemoteDrive: lazy(() =>\n import('./AddRemoteDriveModal.js').then(m => ({\n default: m.AddRemoteDriveModal,\n })),\n ),\n driveSettings: lazy(() =>\n import('./DriveSettingsModal.js').then(m => ({\n default: m.DriveSettingsModal,\n })),\n ),\n settingsModal: lazy(() =>\n import('./SettingsModal.js').then(m => ({\n default: m.SettingsModal,\n })),\n ),\n confirmationModal: lazy(() =>\n import('./ConfirmationModal.js').then(m => ({\n default: m.ConfirmationModal,\n })),\n ),\n deleteDriveModal: lazy(() =>\n import('./DeleteDriveModal.js').then(m => ({\n default: m.DeleteDriveModal,\n })),\n ),\n debugSettingsModal: lazy(() =>\n import('./DebugSettingsModal.js').then(m => ({\n default: m.DebugSettingsModal,\n })),\n ),\n disclaimerModal: lazy(() =>\n import('./DisclaimerModal.js').then(m => ({\n default: m.DisclaimerModal,\n })),\n ),\n cookiesPolicy: lazy(() =>\n import('./CookiesPolicyModal.js').then(m => ({\n default: m.CookiesPolicyModal,\n })),\n ),\n} as const;\n\nexport type Modals = typeof modals;\n\nexport type ModalType = keyof Modals;\n\nexport type ModalPropsMapping = {\n [K in ModalType]: React.ComponentProps<Modals[K]>;\n};\n","import React, {\n Suspense,\n useCallback,\n useContext,\n useMemo,\n useState,\n} from 'react';\nimport {\n type ModalPropsMapping,\n type ModalType,\n modals,\n} from './modals/index.js';\n\ntype MapModalProps<T> = {\n [K in keyof T]: Omit<T[K], 'open' | 'onClose'> & { onClose?: () => void };\n};\n\ntype ModalProps = MapModalProps<ModalPropsMapping>;\n\ninterface ModalContextValue {\n showModal: <T extends ModalType>(\n modalType: T,\n props: ModalProps[T],\n ) => void;\n closeModal: () => void;\n}\n\nexport const ModalContext = React.createContext<ModalContextValue>({\n showModal: () => {},\n closeModal: () => {},\n});\n\nexport const useModal = () => {\n const context = useContext(ModalContext);\n return context;\n};\n\nexport const ModalManager: React.FC<{ children?: React.ReactNode }> = props => {\n const { children } = props;\n\n const [modalProps, setModalProps] =\n useState<ModalProps[keyof ModalProps]>();\n const [modalType, setModalType] = useState<ModalType>();\n const [open, setOpen] = useState(false);\n\n const showModal: ModalContextValue['showModal'] = useCallback(\n (modalType, props) => {\n setOpen(true);\n setModalProps(props);\n setModalType(modalType);\n },\n [],\n );\n\n const closeModal: ModalContextValue['closeModal'] = useCallback(() => {\n setOpen(false);\n }, []);\n\n const ModalComponent = modalType ? modals[modalType] : null;\n\n const value = useMemo(\n () => ({ showModal, closeModal }),\n [closeModal, showModal],\n );\n\n return (\n <ModalContext.Provider value={value}>\n {children}\n <Suspense name=\"ModalManager\">\n {ModalComponent && (\n <ModalComponent\n {...(modalProps as any)}\n open={open}\n onClose={closeModal}\n />\n )}\n </Suspense>\n </ModalContext.Provider>\n );\n};\n"],"file":"assets/modal.B6AxZ1yB.js"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{Component as b,createElement as y,createContext as w,useCallback as u}from"react";import{jsx as h}from"react/jsx-runtime";import{z as E,J as v,V as C,_ as M,y as A}from"./index.C0tp--nk.js";import{au as g,S as m}from"./index.CW6hXWch.js";import{t as l}from"./i18next.CqOP20KE.js";import{useModal as S}from"./modal.B6AxZ1yB.js";import{h as B,d as T}from"./nodes.CkHD8Mis.js";const I=w(null),f={didCatch:!1,error:null};class R extends b{constructor(t){super(t),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=f}static getDerivedStateFromError(t){return{didCatch:!0,error:t}}resetErrorBoundary(){const{error:t}=this.state;if(t!==null){for(var e,r,n=arguments.length,i=new Array(n),o=0;o<n;o++)i[o]=arguments[o];(e=(r=this.props).onReset)===null||e===void 0||e.call(r,{args:i,reason:"imperative-api"}),this.setState(f)}}componentDidCatch(t,e){var r,n;(r=(n=this.props).onError)===null||r===void 0||r.call(n,t,e)}componentDidUpdate(t,e){const{didCatch:r}=this.state,{resetKeys:n}=this.props;if(r&&e.error!==null&&x(t.resetKeys,n)){var i,o;(i=(o=this.props).onReset)===null||i===void 0||i.call(o,{next:n,prev:t.resetKeys,reason:"keys"}),this.setState(f)}}render(){const{children:t,fallbackRender:e,FallbackComponent:r,fallback:n}=this.props,{didCatch:i,error:o}=this.state;let d=t;if(i){const a={error:o,resetErrorBoundary:this.resetErrorBoundary};if(typeof e=="function")d=e(a);else if(r)d=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 F({drive:s}){const t=E(s),e=s==null?void 0:s.state.global.icon;return e?h("img",{src:e,alt:s.header.name,height:32,width:32}):t==="LOCAL"?h(g,{name:"Hdd",size:32}):h(g,{name:"Server",size:32})}function H(){const{showModal:s}=S(),{addDrive:t,addRemoteDrive:e}=v(),r=C(),n=M(),i=u(async a=>{try{const c=n.find(D=>D.id===a.appId),p=await t({id:"",slug:"",global:{name:a.name,icon:null},local:{availableOffline:a.availableOffline,sharingType:a.sharingType.toLowerCase(),listeners:[],triggers:[]}},c==null?void 0:c.driveEditor);if(m(l("notifications.addDriveSuccess"),{type:"connect-success"}),!p)return;r(p.header.id)}catch(c){console.error(c)}},[t,r,l]),o=u(async a=>{try{const c=await e(a.url,{sharingType:a.sharingType,availableOffline:a.availableOffline,listeners:[{block:!0,callInfo:{data:a.url,name:"switchboard-push",transmitterType:"SwitchboardPush"},filter:{branch:["main"],documentId:["*"],documentType:["*"],scope:["global"]},label:"Switchboard Sync",listenerId:"1",system:!0}],triggers:[]});if(m(l("notifications.addDriveSuccess"),{type:"connect-success"}),!c)return;r(c.header.id)}catch(c){console.error(c)}},[e,r,l]);return u(()=>s("addDriveModal",{onAddLocalDrive:i,onAddRemoteDrive:o}),[i,o,s])}function J(){const{showModal:s}=S(),{deleteNode:t}=v(),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{F as D,R as E,H as a,J as u};
|
|
2
|
-
//# sourceMappingURL=modals.jKUpbvJU.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"modals.jKUpbvJU.js","sources":["../../../../node_modules/.pnpm/react-error-boundary@4.1.2_react@18.3.1/node_modules/react-error-boundary/dist/react-error-boundary.esm.js","../../src/components/drive-icon.tsx","../../src/hooks/modals.ts"],"sourcesContent":["'use client';\nimport { createContext, Component, createElement, useContext, useState, useMemo, forwardRef } from 'react';\n\nconst ErrorBoundaryContext = createContext(null);\n\nconst initialState = {\n didCatch: false,\n error: null\n};\nclass ErrorBoundary extends Component {\n constructor(props) {\n super(props);\n this.resetErrorBoundary = this.resetErrorBoundary.bind(this);\n this.state = initialState;\n }\n static getDerivedStateFromError(error) {\n return {\n didCatch: true,\n error\n };\n }\n resetErrorBoundary() {\n const {\n error\n } = this.state;\n if (error !== null) {\n var _this$props$onReset, _this$props;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n (_this$props$onReset = (_this$props = this.props).onReset) === null || _this$props$onReset === void 0 ? void 0 : _this$props$onReset.call(_this$props, {\n args,\n reason: \"imperative-api\"\n });\n this.setState(initialState);\n }\n }\n componentDidCatch(error, info) {\n var _this$props$onError, _this$props2;\n (_this$props$onError = (_this$props2 = this.props).onError) === null || _this$props$onError === void 0 ? void 0 : _this$props$onError.call(_this$props2, error, info);\n }\n componentDidUpdate(prevProps, prevState) {\n const {\n didCatch\n } = this.state;\n const {\n resetKeys\n } = this.props;\n\n // There's an edge case where if the thing that triggered the error happens to *also* be in the resetKeys array,\n // we'd end up resetting the error boundary immediately.\n // This would likely trigger a second error to be thrown.\n // So we make sure that we don't check the resetKeys on the first call of cDU after the error is set.\n\n if (didCatch && prevState.error !== null && hasArrayChanged(prevProps.resetKeys, resetKeys)) {\n var _this$props$onReset2, _this$props3;\n (_this$props$onReset2 = (_this$props3 = this.props).onReset) === null || _this$props$onReset2 === void 0 ? void 0 : _this$props$onReset2.call(_this$props3, {\n next: resetKeys,\n prev: prevProps.resetKeys,\n reason: \"keys\"\n });\n this.setState(initialState);\n }\n }\n render() {\n const {\n children,\n fallbackRender,\n FallbackComponent,\n fallback\n } = this.props;\n const {\n didCatch,\n error\n } = this.state;\n let childToRender = children;\n if (didCatch) {\n const props = {\n error,\n resetErrorBoundary: this.resetErrorBoundary\n };\n if (typeof fallbackRender === \"function\") {\n childToRender = fallbackRender(props);\n } else if (FallbackComponent) {\n childToRender = createElement(FallbackComponent, props);\n } else if (fallback !== undefined) {\n childToRender = fallback;\n } else {\n throw error;\n }\n }\n return createElement(ErrorBoundaryContext.Provider, {\n value: {\n didCatch,\n error,\n resetErrorBoundary: this.resetErrorBoundary\n }\n }, childToRender);\n }\n}\nfunction hasArrayChanged() {\n let a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n let b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n return a.length !== b.length || a.some((item, index) => !Object.is(item, b[index]));\n}\n\nfunction assertErrorBoundaryContext(value) {\n if (value == null || typeof value.didCatch !== \"boolean\" || typeof value.resetErrorBoundary !== \"function\") {\n throw new Error(\"ErrorBoundaryContext not found\");\n }\n}\n\nfunction useErrorBoundary() {\n const context = useContext(ErrorBoundaryContext);\n assertErrorBoundaryContext(context);\n const [state, setState] = useState({\n error: null,\n hasError: false\n });\n const memoized = useMemo(() => ({\n resetBoundary: () => {\n context.resetErrorBoundary();\n setState({\n error: null,\n hasError: false\n });\n },\n showBoundary: error => setState({\n error,\n hasError: true\n })\n }), [context.resetErrorBoundary]);\n if (state.hasError) {\n throw state.error;\n }\n return memoized;\n}\n\nfunction withErrorBoundary(component, errorBoundaryProps) {\n const Wrapped = forwardRef((props, ref) => createElement(ErrorBoundary, errorBoundaryProps, createElement(component, {\n ...props,\n ref\n })));\n\n // Format for display in DevTools\n const name = component.displayName || component.name || \"Unknown\";\n Wrapped.displayName = \"withErrorBoundary(\".concat(name, \")\");\n return Wrapped;\n}\n\nexport { ErrorBoundary, ErrorBoundaryContext, useErrorBoundary, withErrorBoundary };\n","import { Icon } from '@powerhousedao/design-system';\nimport { getDriveSharingType } from '@powerhousedao/state';\nimport { type DocumentDriveDocument } from 'document-drive';\n\nexport function DriveIcon({\n drive,\n}: {\n drive: DocumentDriveDocument | undefined;\n}) {\n const sharingType = getDriveSharingType(drive);\n const driveIconSrc = drive?.state.global.icon;\n\n if (driveIconSrc) {\n return (\n <img\n src={driveIconSrc}\n alt={drive.header.name}\n height={32}\n width={32}\n />\n );\n }\n\n if (sharingType === 'LOCAL') {\n return <Icon name=\"Hdd\" size={32} />;\n }\n\n return <Icon name=\"Server\" size={32} />;\n}\n","import { useModal } from '#components';\nimport { useApps } from '#store';\nimport {\n toast,\n type AddLocalDriveInput,\n type AddRemoteDriveInput,\n type SharingType,\n} from '@powerhousedao/design-system';\nimport {\n useDrives,\n useSelectedDrive,\n useSelectedParentFolder,\n useSetSelectedDrive,\n useSetSelectedNode,\n} from '@powerhousedao/state';\nimport { type DocumentDriveDocument, type Node } from 'document-drive';\nimport { t } from 'i18next';\nimport { useCallback } from 'react';\nimport { useDocumentDriveServer } from './useDocumentDriveServer';\n\nexport function useShowAddDriveModal() {\n const { showModal } = useModal();\n const { addDrive, addRemoteDrive } = useDocumentDriveServer();\n const setSelectedDrive = useSetSelectedDrive();\n const apps = useApps();\n const onAddLocalDrive = useCallback(\n async (data: AddLocalDriveInput) => {\n try {\n const app = apps.find(a => a.id === data.appId);\n const newDrive = await addDrive(\n {\n id: '',\n slug: '',\n global: {\n name: data.name,\n icon: null,\n },\n local: {\n availableOffline: data.availableOffline,\n sharingType: data.sharingType.toLowerCase(),\n listeners: [],\n triggers: [],\n },\n },\n app?.driveEditor,\n );\n\n toast(t('notifications.addDriveSuccess'), {\n type: 'connect-success',\n });\n\n if (!newDrive) {\n return;\n }\n\n setSelectedDrive(newDrive.header.id);\n } catch (e) {\n console.error(e);\n }\n },\n [addDrive, setSelectedDrive, t],\n );\n\n const onAddRemoteDrive = useCallback(\n async (data: AddRemoteDriveInput) => {\n try {\n const newDrive = await addRemoteDrive(data.url, {\n sharingType: data.sharingType,\n availableOffline: data.availableOffline,\n listeners: [\n {\n block: true,\n callInfo: {\n data: data.url,\n name: 'switchboard-push',\n transmitterType: 'SwitchboardPush',\n },\n filter: {\n branch: ['main'],\n documentId: ['*'],\n documentType: ['*'],\n scope: ['global'],\n },\n label: 'Switchboard Sync',\n listenerId: '1',\n system: true,\n },\n ],\n triggers: [],\n });\n\n toast(t('notifications.addDriveSuccess'), {\n type: 'connect-success',\n });\n\n if (!newDrive) {\n return;\n }\n\n setSelectedDrive(newDrive.header.id);\n } catch (e) {\n console.error(e);\n }\n },\n [addRemoteDrive, setSelectedDrive, t],\n );\n const showAddDriveModal = useCallback(\n () =>\n showModal('addDriveModal', {\n onAddLocalDrive,\n onAddRemoteDrive,\n }),\n [onAddLocalDrive, onAddRemoteDrive, showModal],\n );\n\n return showAddDriveModal;\n}\n\nexport function useShowDriveSettingsModal() {\n const { showModal } = useModal();\n const {\n renameDrive,\n setDriveAvailableOffline,\n setDriveSharingType,\n deleteDrive,\n } = useDocumentDriveServer();\n const drives = useDrives();\n const setSelectedDrive = useSetSelectedDrive();\n const onRenameDrive = useCallback(\n async (drive: DocumentDriveDocument, newName: string) => {\n await renameDrive(drive.header.id, newName);\n },\n [renameDrive],\n );\n\n const onChangeSharingType = useCallback(\n async (drive: DocumentDriveDocument, newSharingType: SharingType) => {\n await setDriveSharingType(drive.header.id, newSharingType);\n },\n [setDriveSharingType],\n );\n\n const onChangeAvailableOffline = useCallback(\n async (drive: DocumentDriveDocument, newAvailableOffline: boolean) => {\n await setDriveAvailableOffline(\n drive.header.id,\n newAvailableOffline,\n );\n },\n [setDriveAvailableOffline],\n );\n const onDeleteDrive = useCallback(\n (drive: DocumentDriveDocument) => {\n showModal('deleteDriveModal', {\n drive,\n onDelete: async closeModal => {\n closeModal();\n await deleteDrive(drive.header.id);\n\n setSelectedDrive(drives?.[0]?.header.id);\n\n toast(t('notifications.deleteDriveSuccess'), {\n type: 'connect-deleted',\n });\n },\n });\n },\n [deleteDrive, drives, setSelectedDrive, showModal, t],\n );\n const showDriveSettingsModal = useCallback(\n (drive: DocumentDriveDocument) => {\n showModal('driveSettings', {\n drive,\n onRenameDrive,\n onDeleteDrive,\n onChangeSharingType,\n onChangeAvailableOffline,\n });\n },\n [\n onChangeAvailableOffline,\n onChangeSharingType,\n onDeleteDrive,\n onRenameDrive,\n showModal,\n ],\n );\n\n return showDriveSettingsModal;\n}\n\nexport function useShowDeleteNodeModal() {\n const { showModal } = useModal();\n const { deleteNode } = useDocumentDriveServer();\n const selectedDrive = useSelectedDrive();\n const selectedParentFolder = useSelectedParentFolder();\n const setSelectedNode = useSetSelectedNode();\n const showDeleteNodeModal = useCallback(\n (node: Node) => {\n showModal('deleteItem', {\n id: node.id,\n onDelete: async closeModal => {\n if (!selectedDrive?.header.id) {\n return;\n }\n closeModal();\n\n const i18nKey =\n node.kind === 'folder'\n ? 'notifications.deleteFolderSuccess'\n : 'notifications.fileDeleteSuccess';\n\n await deleteNode(selectedDrive.header.id, node.id);\n\n setSelectedNode(selectedParentFolder?.id);\n\n toast(t(i18nKey), { type: 'connect-deleted' });\n },\n });\n },\n [\n deleteNode,\n selectedDrive?.header.id,\n selectedParentFolder?.id,\n setSelectedNode,\n showModal,\n t,\n ],\n );\n\n return showDeleteNodeModal;\n}\n"],"names":["ErrorBoundaryContext","createContext","initialState","ErrorBoundary","Component","props","error","_this$props$onReset","_this$props","_len","args","_key","info","_this$props$onError","_this$props2","prevProps","prevState","didCatch","resetKeys","hasArrayChanged","_this$props$onReset2","_this$props3","children","fallbackRender","FallbackComponent","fallback","childToRender","createElement","a","b","item","index","DriveIcon","drive","sharingType","getDriveSharingType","driveIconSrc","jsx","Icon","useShowAddDriveModal","showModal","useModal","addDrive","addRemoteDrive","useDocumentDriveServer","setSelectedDrive","useSetSelectedDrive","apps","useApps","onAddLocalDrive","useCallback","data","app","newDrive","toast","t","e","onAddRemoteDrive","useShowDeleteNodeModal","deleteNode","selectedDrive","useSelectedDrive","selectedParentFolder","useSelectedParentFolder","setSelectedNode","useSetSelectedNode","node","closeModal","i18nKey"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{u as o,C as i,a as n}from"./pglite-worker-CBI3hEVN.js";n();var d=class extends o{constructor(s){super(s),this.rootDir=(void 0)(s),(void 0)((void 0)(this.rootDir))||(void 0)(this.rootDir)}async init(s,e){return this.pg=s,{emscriptenOpts:{...e,preRun:[...e.preRun||[],t=>{let r=t.FS.filesystems.NODEFS;t.FS.mkdir(i),t.FS.mount(r,{root:this.rootDir},i)}]}}}async closeFs(){this.pg.Module.FS.quit()}};export{d as NodeFS};
|
|
2
|
-
//# sourceMappingURL=nodefs-CbgXeDrX.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nodefs-CbgXeDrX.js","sources":["../../../node_modules/.pnpm/@electric-sql+pglite@0.2.17/node_modules/@electric-sql/pglite/dist/fs/nodefs.js"],"sourcesContent":["import{d as i,e as p}from\"../chunk-WGR4JCLS.js\";import{j as n}from\"../chunk-BTBUZ646.js\";n();import*as s from\"fs\";import*as o from\"path\";var m=class extends p{constructor(t){super(t),this.rootDir=o.resolve(t),s.existsSync(o.join(this.rootDir))||s.mkdirSync(this.rootDir)}async init(t,e){return this.pg=t,{emscriptenOpts:{...e,preRun:[...e.preRun||[],r=>{let c=r.FS.filesystems.NODEFS;r.FS.mkdir(i),r.FS.mount(c,{root:this.rootDir},i)}]}}}async closeFs(){this.pg.Module.FS.quit()}};export{m as NodeFS};\n//# sourceMappingURL=nodefs.js.map"],"names":["n","m","p","t","o.resolve","s.existsSync","o.join","s.mkdirSync","r","c","i"],"mappings":"8DAAyFA,EAAC,EAAkD,IAACC,EAAE,cAAcC,CAAC,CAAC,YAAYC,EAAE,CAAC,MAAMA,CAAC,EAAE,KAAK,QAAQC,SAAUD,CAAC,EAAEE,SAAaC,SAAO,KAAK,OAAO,CAAC,GAAGC,SAAY,KAAK,OAAO,CAAC,CAAC,MAAM,KAAKJ,EAAE,EAAE,CAAC,OAAO,KAAK,GAAGA,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAA,EAAGK,GAAG,CAAC,IAAIC,EAAED,EAAE,GAAG,YAAY,OAAOA,EAAE,GAAG,MAAME,CAAC,EAAEF,EAAE,GAAG,MAAMC,EAAE,CAAC,KAAK,KAAK,OAAO,EAAEC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC","x_google_ignoreList":[0]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{m as e,n as o,u as n}from"./useInitSentry.DX0S8ltZ.js";import"react/jsx-runtime";import"./index.CW6hXWch.js";import"react";import"react-dom";import"./index.C0tp--nk.js";import"react-dom/client";import"./browser.BkwNmV2Z.js";import"./app-skeleton.js";import"./useAcceptedCookies.BEC0OUzL.js";import"./registerServiceWorker.3WXSlUUt.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.rxvmn5tR.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nodefs.rxvmn5tR.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 +0,0 @@
|
|
|
1
|
-
import{useCallback as p}from"react";import{a as i,bQ as F,bR as m,bS as h,bT as b,bU as c,bV as S,bW as v,y as D,bX as a,bY as I,T as A,A as w}from"./index.C0tp--nk.js";function l(){return i(F)}function L(){return i(m)}function s(){return i(S)}function T(){return p(n=>{h(n)},[])}function k(n){const e=s();return e==null?void 0:e.find(t=>t.id===n)}function C(n){const e=k(n);return(e==null?void 0:e.parentFolder)??void 0}function P(n){const e=C(n),t=s();return t==null?void 0:t.filter(o=>c(o)).find(o=>o.id===e)}function U(){const n=f(),e=l(),t=(e==null?void 0:e.header.id)??(n==null?void 0:n.id);return P(t)}function y(n){const e=s(),t=D();if(!e||!t)return[];const r=w(t),o=[];r&&o.unshift(r);let d=e.find(u=>u.id===n);for(;d&&(o.unshift(d),!!d.parentFolder);)d=e.find(u=>u.id===(d==null?void 0:d.parentFolder));return o.reverse()}function f(){return i(b)}function V(){return i(v)}function g(){const n=f(),e=l(),t=(e==null?void 0:e.header.id)??(n==null?void 0:n.id);return y(t)}function N(n){const e=s(),t=A();if(!e||!t)return[];const o=t.some(d=>d.header.id===n)?e:e.filter(d=>d.parentFolder===n);return a(o)}function j(n){const e=N(n);return a(e.filter(t=>c(t)))}function x(n){const e=N(n);return a(e.filter(t=>I(t)))}function E(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{x as a,f as b,g as c,T as d,l as e,C as f,P as g,U as h,V as i,L as j,E as k,Q as l,j as u};
|
|
2
|
-
//# sourceMappingURL=nodes.CkHD8Mis.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nodes.CkHD8Mis.js","sources":["../../../../packages/state/dist/hooks/documents.js","../../../../packages/state/dist/hooks/nodes.js"],"sourcesContent":["import { useAtomValue } from \"jotai\";\nimport { loadableDocumentsAtom, loadableSelectedDocumentAtom, unwrappedDocumentsAtom, unwrappedSelectedDocumentAtom, } from \"../internal/atoms.js\";\n/** Returns the documents for the selected drive. */\nexport function useDocuments() {\n return useAtomValue(unwrappedDocumentsAtom);\n}\n/** Returns a loadable of the documents for the selected drive. */\nexport function useLoadableDocuments() {\n return useAtomValue(loadableDocumentsAtom);\n}\n/** Returns the selected document. */\nexport function useSelectedDocument() {\n return useAtomValue(unwrappedSelectedDocumentAtom);\n}\n/** Returns a loadable of the selected document. */\nexport function useLoadableSelectedDocument() {\n return useAtomValue(loadableSelectedDocumentAtom);\n}\n/** Returns the document type of a document by id. */\nexport function useDocumentTypeById(id) {\n const document = useDocumentById(id);\n return document?.header.documentType;\n}\n/** Returns the document type of the selected document. */\nexport function useSelectedDocumentType() {\n const selectedDocument = useSelectedDocument();\n return selectedDocument?.header.documentType;\n}\n/** Returns a document by id. */\nexport function useDocumentById(id) {\n const documents = useDocuments();\n if (!id)\n return undefined;\n return documents?.find((d) => d.header.id === id);\n}\n/** Returns a loadable of a document by id. */\nexport function useLoadableDocumentById(id) {\n const loadableDocuments = useLoadableDocuments();\n if (loadableDocuments.state !== \"hasData\")\n return loadableDocuments;\n if (!id)\n return { state: \"hasData\", data: undefined };\n const document = loadableDocuments.data?.find((d) => d.header.id === id);\n return { state: \"hasData\", data: document };\n}\n//# sourceMappingURL=documents.js.map","import { useAtomValue } from \"jotai\";\nimport { useCallback } from \"react\";\nimport { loadableNodesAtom, loadableSelectedFolderAtom, unwrappedNodesAtom, unwrappedSelectedFolderAtom, } from \"../internal/atoms.js\";\nimport { dispatchSetNodeEvent } from \"../internal/events.js\";\nimport { makeFolderNodeFromDrive } from \"../utils/drives.js\";\nimport { isFileNodeKind, isFolderNodeKind, sortNodesByName, } from \"../utils/nodes.js\";\nimport { useSelectedDocument } from \"./documents.js\";\nimport { useDrives, useSelectedDrive } from \"./drives.js\";\n/** Returns the nodes for a drive. */\nexport function useNodes() {\n return useAtomValue(unwrappedNodesAtom);\n}\n/** Returns a loadable of the nodes for a drive. */\nexport function useLoadableNodes() {\n return useAtomValue(loadableNodesAtom);\n}\n/** Returns a function that sets the selected node (document or folder) with a node id. */\nexport function useSetSelectedNode() {\n return useCallback((nodeId) => {\n dispatchSetNodeEvent(nodeId);\n }, []);\n}\n/** Returns a node in the selected drive by id. */\nexport function useNodeById(id) {\n const nodes = useNodes();\n return nodes?.find((n) => n.id === id);\n}\n/** Returns the parent folder id of a node by id */\nexport function useParentFolderId(id) {\n const node = useNodeById(id);\n return node?.parentFolder ?? undefined;\n}\n/** Returns the parent folder of a node by id */\nexport function useParentFolder(id) {\n const parentFolderId = useParentFolderId(id);\n const nodes = useNodes();\n const parentFolder = nodes\n ?.filter((n) => isFolderNodeKind(n))\n .find((n) => n.id === parentFolderId);\n return parentFolder;\n}\n/** Returns the selected folder or document's parent folder. */\nexport function useSelectedParentFolder() {\n const selectedFolder = useSelectedFolder();\n const selectedDocument = useSelectedDocument();\n const selectedNodeId = selectedDocument?.header.id ?? selectedFolder?.id;\n return useParentFolder(selectedNodeId);\n}\n/** Returns the path to a node. */\nexport function useNodePath(id) {\n const nodes = useNodes();\n const selectedDrive = useSelectedDrive();\n if (!nodes || !selectedDrive)\n return [];\n const driveFolderNode = makeFolderNodeFromDrive(selectedDrive);\n const path = [];\n if (driveFolderNode) {\n path.unshift(driveFolderNode);\n }\n let current = nodes.find((n) => n.id === id);\n while (current) {\n path.unshift(current);\n if (!current.parentFolder)\n break;\n current = nodes.find((n) => n.id === current?.parentFolder);\n }\n return path.reverse();\n}\n/** Returns the selected folder. */\nexport function useSelectedFolder() {\n return useAtomValue(unwrappedSelectedFolderAtom);\n}\n/** Returns a loadable of the selected folder. */\nexport function useLoadableSelectedFolder() {\n return useAtomValue(loadableSelectedFolderAtom);\n}\n/** Returns the path to the selected node. */\nexport function useSelectedNodePath() {\n const selectedFolder = useSelectedFolder();\n const selectedDocument = useSelectedDocument();\n const selectedNodeId = selectedDocument?.header.id ?? selectedFolder?.id;\n return useNodePath(selectedNodeId);\n}\n/** Returns the child nodes for the selected drive or folder. */\nexport function useChildNodes() {\n const nodes = useNodes();\n const selectedFolder = useSelectedFolder();\n const selectedFolderId = selectedFolder?.id;\n if (!nodes)\n return [];\n if (!selectedFolderId)\n return sortNodesByName(nodes);\n return sortNodesByName(nodes.filter((n) => n.parentFolder === selectedFolderId));\n}\n/** Returns the folder child nodes for the selected drive or folder. */\nexport function useFolderChildNodes() {\n const childNodes = useChildNodes();\n return sortNodesByName(childNodes.filter((n) => isFolderNodeKind(n)));\n}\n/** Returns the file (document) child nodes for the selected drive or folder. */\nexport function useFileChildNodes() {\n const childNodes = useChildNodes();\n return sortNodesByName(childNodes.filter((n) => isFileNodeKind(n)));\n}\n/** Returns the child nodes for a drive or folder by id. */\nexport function useChildNodesForId(id) {\n const nodes = useNodes();\n const drives = useDrives();\n if (!nodes || !drives)\n return [];\n const isDrive = drives.some((d) => d.header.id === id);\n const childNodes = isDrive\n ? nodes\n : nodes.filter((n) => n.parentFolder === id);\n return sortNodesByName(childNodes);\n}\n/** Returns the folder child nodes for a drive or folder by id. */\nexport function useFolderChildNodesForId(id) {\n const childNodes = useChildNodesForId(id);\n return sortNodesByName(childNodes.filter((n) => isFolderNodeKind(n)));\n}\n/** Returns the file (document) child nodes for a drive or folder by id. */\nexport function useFileChildNodesForId(id) {\n const childNodes = useChildNodesForId(id);\n return sortNodesByName(childNodes.filter((n) => isFileNodeKind(n)));\n}\n/** Returns the name of a node. */\nexport function useNodeName(id) {\n const unwrappedNodes = useNodes();\n if (!unwrappedNodes)\n return undefined;\n const node = unwrappedNodes.find((n) => n.id === id);\n return node?.name;\n}\n/** Returns the kind of a node. */\nexport function useNodeKind(id) {\n const unwrappedNodes = useNodes();\n if (!unwrappedNodes)\n return undefined;\n const node = unwrappedNodes.find((n) => n.id === id);\n if (!node)\n return undefined;\n return node.kind.toUpperCase();\n}\n//# sourceMappingURL=nodes.js.map"],"names":["useSelectedDocument","useAtomValue","unwrappedSelectedDocumentAtom","useLoadableSelectedDocument","loadableSelectedDocumentAtom","useNodes","unwrappedNodesAtom","useSetSelectedNode","useCallback","nodeId","dispatchSetNodeEvent","useNodeById","id","nodes","n","useParentFolderId","node","useParentFolder","parentFolderId","isFolderNodeKind","useSelectedParentFolder","selectedFolder","useSelectedFolder","selectedDocument","selectedNodeId","useNodePath","selectedDrive","useSelectedDrive","driveFolderNode","makeFolderNodeFromDrive","path","current","unwrappedSelectedFolderAtom","useLoadableSelectedFolder","loadableSelectedFolderAtom","useSelectedNodePath","useChildNodesForId","drives","useDrives","childNodes","sortNodesByName","useFolderChildNodesForId","useFileChildNodesForId","isFileNodeKind","useNodeName","unwrappedNodes","useNodeKind"],"mappings":"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"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{c as H,R as m,T as o,h as s,p as A,a as C,x as P,U as R}from"./pglite-worker-CBI3hEVN.js";C();var B="state.txt",L="data",W={DIR:16384,FILE:32768},T,I,N,_,w,k,y,j,F,O,S,l,$,E,M,g,f,D,v,x,U=class extends H{constructor(t,{initialPoolSize:e=1e3,maintainedPoolSize:a=100,debug:i=!1}={}){super(t,{debug:i}),m(this,l),m(this,T),m(this,I),m(this,N),m(this,_),m(this,w),m(this,k,new Map),m(this,y,new Map),m(this,j,0),m(this,F,new Map),m(this,O,new Map),this.lastCheckpoint=0,this.checkpointInterval=1e3*60,this.poolCounter=0,m(this,S,new Set),this.initialPoolSize=e,this.maintainedPoolSize=a}async init(t,e){return await o(this,l,$).call(this),super.init(t,e)}async syncToFs(t=!1){await this.maybeCheckpointState(),await this.maintainPool(),t||this.flush()}async closeFs(){for(let t of s(this,y).values())t.close();s(this,w).flush(),s(this,w).close(),this.pg.Module.FS.quit()}async maintainPool(t){t=t||this.maintainedPoolSize;let e=t-this.state.pool.length,a=[];for(let i=0;i<e;i++)a.push(new Promise(async h=>{++this.poolCounter;let r=`${(Date.now()-1704063600).toString(16).padStart(8,"0")}-${this.poolCounter.toString(16).padStart(8,"0")}`,c=await s(this,N).getFileHandle(r,{create:!0}),d=await c.createSyncAccessHandle();s(this,k).set(r,c),s(this,y).set(r,d),o(this,l,M).call(this,{opp:"createPoolFile",args:[r]}),this.state.pool.push(r),h()}));for(let i=0;i>e;i--)a.push(new Promise(async h=>{var d;let r=this.state.pool.pop();o(this,l,M).call(this,{opp:"deletePoolFile",args:[r]});let c=s(this,k).get(r);(d=s(this,y).get(r))==null||d.close(),await s(this,N).removeEntry(c.name),s(this,k).delete(r),s(this,y).delete(r),h()}));await Promise.all(a)}_createPoolFileState(t){this.state.pool.push(t)}_deletePoolFileState(t){let e=this.state.pool.indexOf(t);e>-1&&this.state.pool.splice(e,1)}async maybeCheckpointState(){Date.now()-this.lastCheckpoint>this.checkpointInterval&&await this.checkpointState()}async checkpointState(){let t=new TextEncoder().encode(JSON.stringify(this.state));s(this,w).truncate(0),s(this,w).write(t,{at:0}),s(this,w).flush(),this.lastCheckpoint=Date.now()}flush(){for(let t of s(this,S))try{t.flush()}catch{}s(this,S).clear()}chmod(t,e){o(this,l,E).call(this,{opp:"chmod",args:[t,e]},()=>{this._chmodState(t,e)})}_chmodState(t,e){let a=o(this,l,f).call(this,t);a.mode=e}close(t){let e=o(this,l,D).call(this,t);s(this,F).delete(t),s(this,O).delete(e)}fstat(t){let e=o(this,l,D).call(this,t);return this.lstat(e)}lstat(t){let e=o(this,l,f).call(this,t),a=e.type==="file"?s(this,y).get(e.backingFilename).getSize():0,i=4096;return{dev:0,ino:0,mode:e.mode,nlink:1,uid:0,gid:0,rdev:0,size:a,blksize:i,blocks:Math.ceil(a/i),atime:e.lastModified,mtime:e.lastModified,ctime:e.lastModified}}mkdir(t,e){o(this,l,E).call(this,{opp:"mkdir",args:[t,e]},()=>{this._mkdirState(t,e)})}_mkdirState(t,e){let a=o(this,l,g).call(this,t),i=a.pop(),h=[],r=this.state.root;for(let d of a){if(h.push(t),!Object.prototype.hasOwnProperty.call(r.children,d))if(e!=null&&e.recursive)this.mkdir(h.join("/"));else throw new p("ENOENT","No such file or directory");if(r.children[d].type!=="directory")throw new p("ENOTDIR","Not a directory");r=r.children[d]}if(Object.prototype.hasOwnProperty.call(r.children,i))throw new p("EEXIST","File exists");let c={type:"directory",lastModified:Date.now(),mode:(e==null?void 0:e.mode)||W.DIR,children:{}};r.children[i]=c}open(t,e,a){if(o(this,l,f).call(this,t).type!=="file")throw new p("EISDIR","Is a directory");let i=o(this,l,v).call(this);return s(this,F).set(i,t),s(this,O).set(t,i),i}readdir(t){let e=o(this,l,f).call(this,t);if(e.type!=="directory")throw new p("ENOTDIR","Not a directory");return Object.keys(e.children)}read(t,e,a,i,h){let r=o(this,l,D).call(this,t),c=o(this,l,f).call(this,r);if(c.type!=="file")throw new p("EISDIR","Is a directory");return s(this,y).get(c.backingFilename).read(new Uint8Array(e.buffer,a,i),{at:h})}rename(t,e){o(this,l,E).call(this,{opp:"rename",args:[t,e]},()=>{this._renameState(t,e,!0)})}_renameState(t,e,a=!1){let i=o(this,l,g).call(this,t),h=i.pop(),r=o(this,l,f).call(this,i.join("/"));if(!Object.prototype.hasOwnProperty.call(r.children,h))throw new p("ENOENT","No such file or directory");let c=o(this,l,g).call(this,e),d=c.pop(),n=o(this,l,f).call(this,c.join("/"));if(a&&Object.prototype.hasOwnProperty.call(n.children,d)){let u=n.children[d];s(this,y).get(u.backingFilename).truncate(0),this.state.pool.push(u.backingFilename)}n.children[d]=r.children[h],delete r.children[h]}rmdir(t){o(this,l,E).call(this,{opp:"rmdir",args:[t]},()=>{this._rmdirState(t)})}_rmdirState(t){let e=o(this,l,g).call(this,t),a=e.pop(),i=o(this,l,f).call(this,e.join("/"));if(!Object.prototype.hasOwnProperty.call(i.children,a))throw new p("ENOENT","No such file or directory");let h=i.children[a];if(h.type!=="directory")throw new p("ENOTDIR","Not a directory");if(Object.keys(h.children).length>0)throw new p("ENOTEMPTY","Directory not empty");delete i.children[a]}truncate(t,e=0){let a=o(this,l,f).call(this,t);if(a.type!=="file")throw new p("EISDIR","Is a directory");let i=s(this,y).get(a.backingFilename);if(!i)throw new p("ENOENT","No such file or directory");i.truncate(e),s(this,S).add(i)}unlink(t){o(this,l,E).call(this,{opp:"unlink",args:[t]},()=>{this._unlinkState(t,!0)})}_unlinkState(t,e=!1){let a=o(this,l,g).call(this,t),i=a.pop(),h=o(this,l,f).call(this,a.join("/"));if(!Object.prototype.hasOwnProperty.call(h.children,i))throw new p("ENOENT","No such file or directory");let r=h.children[i];if(r.type!=="file")throw new p("EISDIR","Is a directory");if(delete h.children[i],e){let c=s(this,y).get(r.backingFilename);c==null||c.truncate(0),s(this,S).add(c),s(this,O).has(t)&&(s(this,F).delete(s(this,O).get(t)),s(this,O).delete(t))}this.state.pool.push(r.backingFilename)}utimes(t,e,a){o(this,l,E).call(this,{opp:"utimes",args:[t,e,a]},()=>{this._utimesState(t,e,a)})}_utimesState(t,e,a){let i=o(this,l,f).call(this,t);i.lastModified=a}writeFile(t,e,a){let i=o(this,l,g).call(this,t),h=i.pop(),r=o(this,l,f).call(this,i.join("/"));if(Object.prototype.hasOwnProperty.call(r.children,h)){let n=r.children[h];n.lastModified=Date.now(),o(this,l,M).call(this,{opp:"setLastModified",args:[t,n.lastModified]})}else{if(this.state.pool.length===0)throw new Error("No more file handles available in the pool");let n={type:"file",lastModified:Date.now(),mode:(a==null?void 0:a.mode)||W.FILE,backingFilename:this.state.pool.pop()};r.children[h]=n,o(this,l,M).call(this,{opp:"createFileNode",args:[t,n]})}let c=r.children[h],d=s(this,y).get(c.backingFilename);e.length>0&&(d.write(typeof e=="string"?new TextEncoder().encode(e):new Uint8Array(e),{at:0}),t.startsWith("/pg_wal")&&s(this,S).add(d))}_createFileNodeState(t,e){let a=o(this,l,g).call(this,t),i=a.pop(),h=o(this,l,f).call(this,a.join("/"));h.children[i]=e;let r=this.state.pool.indexOf(e.backingFilename);return r>-1&&this.state.pool.splice(r,1),e}_setLastModifiedState(t,e){let a=o(this,l,f).call(this,t);a.lastModified=e}write(t,e,a,i,h){let r=o(this,l,D).call(this,t),c=o(this,l,f).call(this,r);if(c.type!=="file")throw new p("EISDIR","Is a directory");let d=s(this,y).get(c.backingFilename);if(!d)throw new p("EBADF","Bad file descriptor");let n=d.write(new Uint8Array(e,a,i),{at:h});return r.startsWith("/pg_wal")&&s(this,S).add(d),n}};T=new WeakMap,I=new WeakMap,N=new WeakMap,_=new WeakMap,w=new WeakMap,k=new WeakMap,y=new WeakMap,j=new WeakMap,F=new WeakMap,O=new WeakMap,S=new WeakMap,l=new WeakSet,$=async function(){P(this,T,await navigator.storage.getDirectory()),P(this,I,await o(this,l,x).call(this,this.dataDir,{create:!0})),P(this,N,await o(this,l,x).call(this,L,{from:s(this,I),create:!0})),P(this,_,await s(this,I).getFileHandle(B,{create:!0})),P(this,w,await s(this,_).createSyncAccessHandle());let t=new ArrayBuffer(s(this,w).getSize());s(this,w).read(t,{at:0});let e,a=new TextDecoder().decode(t).split(`
|
|
2
|
-
`),i=!1;try{e=JSON.parse(a[0])}catch{e={root:{type:"directory",lastModified:Date.now(),mode:W.DIR,children:{}},pool:[]},s(this,w).truncate(0),s(this,w).write(new TextEncoder().encode(JSON.stringify(e)),{at:0}),i=!0}this.state=e;let h=a.slice(1).filter(Boolean).map(n=>JSON.parse(n));for(let n of h){let u=`_${n.opp}State`;if(typeof this[u]=="function")try{this[u].bind(this)(...n.args)}catch(b){console.warn("Error applying OPFS AHP WAL entry",n,b)}}let r=[],c=async n=>{if(n.type==="file")try{let u=await s(this,N).getFileHandle(n.backingFilename),b=await u.createSyncAccessHandle();s(this,k).set(n.backingFilename,u),s(this,y).set(n.backingFilename,b)}catch(u){console.error("Error opening file handle for node",n,u)}else for(let u of Object.values(n.children))r.push(c(u))};await c(this.state.root);let d=[];for(let n of this.state.pool)d.push(new Promise(async u=>{s(this,k).has(n)&&console.warn("File handle already exists for pool file",n);let b=await s(this,N).getFileHandle(n),z=await b.createSyncAccessHandle();s(this,k).set(n,b),s(this,y).set(n,z),u()}));await Promise.all([...r,...d]),await this.maintainPool(i?this.initialPoolSize:this.maintainedPoolSize)},E=function(t,e){let a=o(this,l,M).call(this,t);try{e()}catch(i){throw s(this,w).truncate(a),i}},M=function(t){let e=JSON.stringify(t),a=new TextEncoder().encode(`
|
|
3
|
-
${e}`),i=s(this,w).getSize();return s(this,w).write(a,{at:i}),s(this,S).add(s(this,w)),i},g=function(t){return t.split("/").filter(Boolean)},f=function(t,e){let a=o(this,l,g).call(this,t),i=e||this.state.root;for(let h of a){if(i.type!=="directory")throw new p("ENOTDIR","Not a directory");if(!Object.prototype.hasOwnProperty.call(i.children,h))throw new p("ENOENT","No such file or directory");i=i.children[h]}return i},D=function(t){let e=s(this,F).get(t);if(!e)throw new p("EBADF","Bad file descriptor");return e},v=function(){let t=++R(this,j)._;for(;s(this,F).has(t);)R(this,j)._++;return t},x=async function(t,e){let a=o(this,l,g).call(this,t),i=(e==null?void 0:e.from)||s(this,T);for(let h of a)i=await i.getDirectoryHandle(h,{create:e==null?void 0:e.create});return i};var p=class extends Error{constructor(t,e){super(e),typeof t=="number"?this.code=t:typeof t=="string"&&(this.code=A[t])}};export{U as OpfsAhpFS};
|
|
4
|
-
//# sourceMappingURL=opfs-ahp-CvqFFNTs.js.map
|