@edenapp/sdk 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/apps/com/eden/editor/dist/assets/css-DQU6DXDx.js +3 -0
- package/apps/com/eden/editor/dist/assets/editor-BRA9licV.css +1 -0
- package/apps/com/eden/editor/dist/assets/editor.main-DAsyVptA.js +677 -0
- package/apps/com/eden/editor/dist/assets/editor.worker-B4pQIWZD.js +12 -0
- package/apps/com/eden/editor/dist/assets/html-CTBLac3N.js +1 -0
- package/apps/com/eden/editor/dist/assets/index-B7GgDQ9I.css +1 -0
- package/apps/com/eden/editor/dist/assets/index-BWJI9cyM.js +2 -0
- package/apps/com/eden/editor/dist/assets/ini-BvajGCUy.js +1 -0
- package/apps/com/eden/editor/dist/assets/javascript-DJ6Ya8pi.js +1 -0
- package/apps/com/eden/editor/dist/assets/jsonMode-BA0kYRDI.js +10 -0
- package/apps/com/eden/editor/dist/assets/less-GGFNNJHn.js +2 -0
- package/apps/com/eden/editor/dist/assets/markdown-B811l8j2.js +1 -0
- package/apps/com/eden/editor/dist/assets/shell-CsDZo4DB.js +1 -0
- package/apps/com/eden/editor/dist/assets/typescript-C7BsmV0J.js +1 -0
- package/apps/com/eden/editor/dist/assets/yaml-QL02lm_B.js +1 -0
- package/apps/com/eden/editor/dist/index.html +13 -0
- package/apps/com/eden/editor/icon.svg +22 -0
- package/apps/com/eden/editor/index.html +12 -0
- package/apps/com/eden/editor/manifest.json +58 -0
- package/apps/com/eden/editor/node_modules/.bin/browserslist +21 -0
- package/apps/com/eden/editor/node_modules/.bin/tsc +21 -0
- package/apps/com/eden/editor/node_modules/.bin/tsserver +21 -0
- package/apps/com/eden/editor/node_modules/.bin/vite +21 -0
- package/apps/com/eden/editor/package.json +21 -0
- package/apps/com/eden/editor/src/App.tsx +212 -0
- package/apps/com/eden/editor/src/components/ErrorBanner.tsx +13 -0
- package/apps/com/eden/editor/src/components/LazyMonacoEditor.tsx +154 -0
- package/apps/com/eden/editor/src/components/TabBar.tsx +36 -0
- package/apps/com/eden/editor/src/components/Toolbar.tsx +39 -0
- package/apps/com/eden/editor/src/components/WelcomeScreen.tsx +49 -0
- package/apps/com/eden/editor/src/components/index.ts +11 -0
- package/apps/com/eden/editor/src/index.tsx +10 -0
- package/apps/com/eden/editor/src/styles.css +319 -0
- package/apps/com/eden/editor/src/types.ts +69 -0
- package/apps/com/eden/editor/tsconfig.json +24 -0
- package/apps/com/eden/editor/vite.config.mts +67 -0
- package/apps/com/eden/eveshell/assets/apps-grid-icon.svg +17 -0
- package/apps/com/eden/eveshell/assets/default-icon.svg +17 -0
- package/apps/com/eden/eveshell/dist/assets/index-BS2yCXxK.css +1 -0
- package/apps/com/eden/eveshell/dist/assets/index-De0NEh_d.js +1 -0
- package/apps/com/eden/eveshell/dist/index.html +13 -0
- package/apps/com/eden/eveshell/index.html +12 -0
- package/apps/com/eden/eveshell/manifest.json +28 -0
- package/apps/com/eden/eveshell/node_modules/.bin/tsc +21 -0
- package/apps/com/eden/eveshell/node_modules/.bin/tsserver +21 -0
- package/apps/com/eden/eveshell/node_modules/.bin/vite +21 -0
- package/apps/com/eden/eveshell/package.json +20 -0
- package/apps/com/eden/eveshell/src/components/AllApps.tsx +228 -0
- package/apps/com/eden/eveshell/src/components/AppContextMenu.tsx +125 -0
- package/apps/com/eden/eveshell/src/components/AppIcon.tsx +40 -0
- package/apps/com/eden/eveshell/src/components/Clock.tsx +35 -0
- package/apps/com/eden/eveshell/src/components/Dock.tsx +147 -0
- package/apps/com/eden/eveshell/src/components/ShellOverlay.tsx +343 -0
- package/apps/com/eden/eveshell/src/icon-cache.ts +38 -0
- package/apps/com/eden/eveshell/src/index.tsx +11 -0
- package/apps/com/eden/eveshell/src/styles.css +409 -0
- package/apps/com/eden/eveshell/src/types.ts +5 -0
- package/apps/com/eden/eveshell/tsconfig.json +37 -0
- package/apps/com/eden/eveshell/vite.config.mts +23 -0
- package/apps/com/eden/example/appbus/client-a/app.js +239 -0
- package/apps/com/eden/example/appbus/client-a/index.html +48 -0
- package/apps/com/eden/example/appbus/client-a/manifest.json +27 -0
- package/apps/com/eden/example/appbus/client-a/styles.css +52 -0
- package/apps/com/eden/example/appbus/client-b/app.js +130 -0
- package/apps/com/eden/example/appbus/client-b/index.html +35 -0
- package/apps/com/eden/example/appbus/client-b/manifest.json +27 -0
- package/apps/com/eden/example/appbus/client-b/styles.css +48 -0
- package/apps/com/eden/example/appbus/hub/README.md +18 -0
- package/apps/com/eden/example/appbus/hub/backend.js +121 -0
- package/apps/com/eden/example/appbus/hub/manifest.json +17 -0
- package/apps/com/eden/example/appbus/isolated/app.js +107 -0
- package/apps/com/eden/example/appbus/isolated/index.html +35 -0
- package/apps/com/eden/example/appbus/isolated/manifest.json +27 -0
- package/apps/com/eden/example/appbus/isolated/styles.css +52 -0
- package/apps/com/eden/example/calculator/.dev-manifest.json +5 -0
- package/apps/com/eden/example/calculator/app.js +95 -0
- package/apps/com/eden/example/calculator/icon.svg +19 -0
- package/apps/com/eden/example/calculator/index.html +39 -0
- package/apps/com/eden/example/calculator/manifest.json +30 -0
- package/apps/com/eden/example/calculator/styles.css +83 -0
- package/apps/com/eden/example/hello/README.md +3 -0
- package/apps/com/eden/example/hello/backend/dist/backend.js +47 -0
- package/apps/com/eden/example/hello/backend/node_modules/.bin/tsc +21 -0
- package/apps/com/eden/example/hello/backend/node_modules/.bin/tsserver +21 -0
- package/apps/com/eden/example/hello/backend/package.json +13 -0
- package/apps/com/eden/example/hello/backend/src/backend.ts +58 -0
- package/apps/com/eden/example/hello/backend/tsconfig.json +19 -0
- package/apps/com/eden/example/hello/frontend/dist/assets/index-D2WAwW3g.css +1 -0
- package/apps/com/eden/example/hello/frontend/dist/assets/index-D4bTq3-Q.js +1 -0
- package/apps/com/eden/example/hello/frontend/dist/index.html +59 -0
- package/apps/com/eden/example/hello/frontend/index.html +59 -0
- package/apps/com/eden/example/hello/frontend/node_modules/.bin/tsc +21 -0
- package/apps/com/eden/example/hello/frontend/node_modules/.bin/tsserver +21 -0
- package/apps/com/eden/example/hello/frontend/node_modules/.bin/vite +21 -0
- package/apps/com/eden/example/hello/frontend/package.json +15 -0
- package/apps/com/eden/example/hello/frontend/src/App.ts +191 -0
- package/apps/com/eden/example/hello/frontend/styles.css +96 -0
- package/apps/com/eden/example/hello/frontend/tsconfig.json +16 -0
- package/apps/com/eden/example/hello/frontend/vite.config.mts +21 -0
- package/apps/com/eden/example/hello/manifest.json +34 -0
- package/apps/com/eden/example/hello/shared/protocol.d.ts +38 -0
- package/apps/com/eden/example/showcase/app.js +186 -0
- package/apps/com/eden/example/showcase/index.html +637 -0
- package/apps/com/eden/example/showcase/manifest.json +24 -0
- package/apps/com/eden/example/showcase/styles.css +195 -0
- package/apps/com/eden/files/.dev-manifest.json +5 -0
- package/apps/com/eden/files/dist/assets/index-BOw4ESi3.js +1 -0
- package/apps/com/eden/files/dist/assets/index-BPH5FvSW.css +1 -0
- package/apps/com/eden/files/dist/index.html +13 -0
- package/apps/com/eden/files/icon.svg +15 -0
- package/apps/com/eden/files/index.html +12 -0
- package/apps/com/eden/files/manifest.json +28 -0
- package/apps/com/eden/files/node_modules/.bin/tsc +21 -0
- package/apps/com/eden/files/node_modules/.bin/tsserver +21 -0
- package/apps/com/eden/files/node_modules/.bin/vite +21 -0
- package/apps/com/eden/files/node_modules/.vite/deps/_metadata.json +46 -0
- package/apps/com/eden/files/node_modules/.vite/deps/chunk-5W77UGHT.js +1253 -0
- package/apps/com/eden/files/node_modules/.vite/deps/chunk-5W77UGHT.js.map +7 -0
- package/apps/com/eden/files/node_modules/.vite/deps/chunk-K4SCX2FD.js +1809 -0
- package/apps/com/eden/files/node_modules/.vite/deps/chunk-K4SCX2FD.js.map +7 -0
- package/apps/com/eden/files/node_modules/.vite/deps/package.json +3 -0
- package/apps/com/eden/files/node_modules/.vite/deps/solid-js.js +112 -0
- package/apps/com/eden/files/node_modules/.vite/deps/solid-js.js.map +7 -0
- package/apps/com/eden/files/node_modules/.vite/deps/solid-js_h.js +122 -0
- package/apps/com/eden/files/node_modules/.vite/deps/solid-js_h.js.map +7 -0
- package/apps/com/eden/files/node_modules/.vite/deps/solid-js_html.js +606 -0
- package/apps/com/eden/files/node_modules/.vite/deps/solid-js_html.js.map +7 -0
- package/apps/com/eden/files/node_modules/.vite/deps/solid-js_store.js +455 -0
- package/apps/com/eden/files/node_modules/.vite/deps/solid-js_store.js.map +7 -0
- package/apps/com/eden/files/node_modules/.vite/deps/solid-js_web.js +147 -0
- package/apps/com/eden/files/node_modules/.vite/deps/solid-js_web.js.map +7 -0
- package/apps/com/eden/files/package-lock.json +1754 -0
- package/apps/com/eden/files/package.json +20 -0
- package/apps/com/eden/files/src/App.tsx +387 -0
- package/apps/com/eden/files/src/components/FileExplorerHeader.tsx +90 -0
- package/apps/com/eden/files/src/components/FileItem.tsx +70 -0
- package/apps/com/eden/files/src/components/FileList.tsx +77 -0
- package/apps/com/eden/files/src/components/Modal.tsx +48 -0
- package/apps/com/eden/files/src/components/Omnibox.tsx +241 -0
- package/apps/com/eden/files/src/dialogs/CreateFileDialog.tsx +71 -0
- package/apps/com/eden/files/src/dialogs/CreateFolderDialog.tsx +68 -0
- package/apps/com/eden/files/src/dialogs/DeleteConfirmDialog.tsx +35 -0
- package/apps/com/eden/files/src/dialogs/DisplayOptionsModal.tsx +122 -0
- package/apps/com/eden/files/src/dialogs/ErrorDialog.tsx +28 -0
- package/apps/com/eden/files/src/index.tsx +9 -0
- package/apps/com/eden/files/src/styles.css +595 -0
- package/apps/com/eden/files/src/types.ts +20 -0
- package/apps/com/eden/files/src/utils.ts +44 -0
- package/apps/com/eden/files/tsconfig.json +27 -0
- package/apps/com/eden/files/vite.config.mts +23 -0
- package/apps/com/eden/settings/dist/assets/index-CTkJneTg.js +1 -0
- package/apps/com/eden/settings/dist/assets/index-GIMJANTM.css +1 -0
- package/apps/com/eden/settings/dist/index.html +13 -0
- package/apps/com/eden/settings/icon.svg +15 -0
- package/apps/com/eden/settings/index.html +12 -0
- package/apps/com/eden/settings/manifest.json +28 -0
- package/apps/com/eden/settings/node_modules/.bin/tsc +21 -0
- package/apps/com/eden/settings/node_modules/.bin/tsserver +21 -0
- package/apps/com/eden/settings/node_modules/.bin/vite +21 -0
- package/apps/com/eden/settings/package.json +21 -0
- package/apps/com/eden/settings/src/App.css +168 -0
- package/apps/com/eden/settings/src/App.tsx +301 -0
- package/apps/com/eden/settings/src/components/SettingInput.tsx +131 -0
- package/apps/com/eden/settings/src/index.tsx +9 -0
- package/apps/com/eden/settings/tsconfig.json +21 -0
- package/apps/com/eden/settings/vite.config.mts +22 -0
- package/apps/com/eden/toaster/README.md +89 -0
- package/apps/com/eden/toaster/dist/assets/index-8JMcmBCJ.css +1 -0
- package/apps/com/eden/toaster/dist/assets/index-C4cVyh7j.js +16 -0
- package/apps/com/eden/toaster/dist/index.html +16 -0
- package/apps/com/eden/toaster/index.html +16 -0
- package/apps/com/eden/toaster/manifest.json +28 -0
- package/apps/com/eden/toaster/node_modules/.bin/vite +21 -0
- package/apps/com/eden/toaster/package.json +15 -0
- package/apps/com/eden/toaster/src/styles.css +159 -0
- package/apps/com/eden/toaster/src/toaster.ts +470 -0
- package/apps/com/eden/toaster/tsconfig.json +28 -0
- package/apps/com/eden/toaster/vite.config.mts +18 -0
- package/apps/com/eden/webbrowser/.dev-manifest.json +5 -0
- package/apps/com/eden/webbrowser/icon.svg +20 -0
- package/apps/com/eden/webbrowser/index.html +141 -0
- package/apps/com/eden/webbrowser/manifest.json +23 -0
- package/apps/com/eden/webbrowser/node_modules/.bin/vite +21 -0
- package/apps/com/eden/webbrowser/node_modules/.vite/deps/_metadata.json +8 -0
- package/apps/com/eden/webbrowser/node_modules/.vite/deps/package.json +3 -0
- package/apps/com/eden/webbrowser/package.json +13 -0
- package/apps/com/eden/webbrowser/vite.config.mts +11 -0
- package/dist/Eden.d.ts +40 -0
- package/dist/Eden.d.ts.map +1 -0
- package/dist/Eden.js +186 -0
- package/dist/Eden.js.map +1 -0
- package/dist/SystemHandler.d.ts +11 -0
- package/dist/SystemHandler.d.ts.map +1 -0
- package/dist/SystemHandler.js +53 -0
- package/dist/SystemHandler.js.map +1 -0
- package/dist/app-frame/frame-injector.js +19 -0
- package/dist/app-frame/frame-injector.js.map +7 -0
- package/dist/app-frame/frame.css +186 -0
- package/dist/app-runtime/app-preload.js +2 -0
- package/dist/app-runtime/app-preload.js.map +7 -0
- package/dist/app-runtime/backend-preload.js +2 -0
- package/dist/app-runtime/backend-preload.js.map +7 -0
- package/dist/appbus/AppChannelHandler.d.ts +65 -0
- package/dist/appbus/AppChannelHandler.d.ts.map +1 -0
- package/dist/appbus/AppChannelHandler.js +120 -0
- package/dist/appbus/AppChannelHandler.js.map +1 -0
- package/dist/appbus/AppChannelManager.d.ts +80 -0
- package/dist/appbus/AppChannelManager.d.ts.map +1 -0
- package/dist/appbus/AppChannelManager.js +312 -0
- package/dist/appbus/AppChannelManager.js.map +1 -0
- package/dist/appbus/index.d.ts +2 -0
- package/dist/appbus/index.d.ts.map +1 -0
- package/dist/appbus/index.js +18 -0
- package/dist/appbus/index.js.map +1 -0
- package/dist/db/DbHandler.d.ts +119 -0
- package/dist/db/DbHandler.d.ts.map +1 -0
- package/dist/db/DbHandler.js +204 -0
- package/dist/db/DbHandler.js.map +1 -0
- package/dist/db/DbManager.d.ts +49 -0
- package/dist/db/DbManager.d.ts.map +1 -0
- package/dist/db/DbManager.js +172 -0
- package/dist/db/DbManager.js.map +1 -0
- package/dist/db/index.d.ts +3 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/db/index.js +8 -0
- package/dist/db/index.js.map +1 -0
- package/dist/edencss/eden-tokens.css +1 -0
- package/dist/edencss/eden.css +1 -0
- package/dist/file-open/FileOpenHandler.d.ts +59 -0
- package/dist/file-open/FileOpenHandler.d.ts.map +1 -0
- package/dist/file-open/FileOpenHandler.js +122 -0
- package/dist/file-open/FileOpenHandler.js.map +1 -0
- package/dist/file-open/FileOpenManager.d.ts +91 -0
- package/dist/file-open/FileOpenManager.d.ts.map +1 -0
- package/dist/file-open/FileOpenManager.js +411 -0
- package/dist/file-open/FileOpenManager.js.map +1 -0
- package/dist/file-open/index.d.ts +3 -0
- package/dist/file-open/index.d.ts.map +1 -0
- package/dist/file-open/index.js +8 -0
- package/dist/file-open/index.js.map +1 -0
- package/dist/filesystem/FilesystemHandler.d.ts +65 -0
- package/dist/filesystem/FilesystemHandler.d.ts.map +1 -0
- package/dist/filesystem/FilesystemHandler.js +134 -0
- package/dist/filesystem/FilesystemHandler.js.map +1 -0
- package/dist/filesystem/FilesystemManager.d.ts +70 -0
- package/dist/filesystem/FilesystemManager.d.ts.map +1 -0
- package/dist/filesystem/FilesystemManager.js +236 -0
- package/dist/filesystem/FilesystemManager.js.map +1 -0
- package/dist/filesystem/index.d.ts +3 -0
- package/dist/filesystem/index.d.ts.map +1 -0
- package/dist/filesystem/index.js +8 -0
- package/dist/filesystem/index.js.map +1 -0
- package/dist/foundation/foundation-preload.js +15 -0
- package/dist/foundation/foundation.css +40 -0
- package/dist/foundation/foundation.html +22 -0
- package/dist/foundation/foundation.js +69 -0
- package/dist/hotreload-config.d.ts +8 -0
- package/dist/hotreload-config.d.ts.map +1 -0
- package/dist/hotreload-config.js +73 -0
- package/dist/hotreload-config.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/ipc/CommandDecorators.d.ts +72 -0
- package/dist/ipc/CommandDecorators.d.ts.map +1 -0
- package/dist/ipc/CommandDecorators.js +49 -0
- package/dist/ipc/CommandDecorators.js.map +1 -0
- package/dist/ipc/CommandRegistry.d.ts +77 -0
- package/dist/ipc/CommandRegistry.d.ts.map +1 -0
- package/dist/ipc/CommandRegistry.js +175 -0
- package/dist/ipc/CommandRegistry.js.map +1 -0
- package/dist/ipc/EdenEmitter.d.ts +54 -0
- package/dist/ipc/EdenEmitter.d.ts.map +1 -0
- package/dist/ipc/EdenEmitter.js +81 -0
- package/dist/ipc/EdenEmitter.js.map +1 -0
- package/dist/ipc/EventHandler.d.ts +21 -0
- package/dist/ipc/EventHandler.d.ts.map +1 -0
- package/dist/ipc/EventHandler.js +87 -0
- package/dist/ipc/EventHandler.js.map +1 -0
- package/dist/ipc/EventSubscriberManager.d.ts +67 -0
- package/dist/ipc/EventSubscriberManager.d.ts.map +1 -0
- package/dist/ipc/EventSubscriberManager.js +204 -0
- package/dist/ipc/EventSubscriberManager.js.map +1 -0
- package/dist/ipc/IPCBridge.d.ts +60 -0
- package/dist/ipc/IPCBridge.d.ts.map +1 -0
- package/dist/ipc/IPCBridge.js +186 -0
- package/dist/ipc/IPCBridge.js.map +1 -0
- package/dist/ipc/PermissionRegistry.d.ts +52 -0
- package/dist/ipc/PermissionRegistry.d.ts.map +1 -0
- package/dist/ipc/PermissionRegistry.js +120 -0
- package/dist/ipc/PermissionRegistry.js.map +1 -0
- package/dist/ipc/index.d.ts +7 -0
- package/dist/ipc/index.d.ts.map +1 -0
- package/dist/ipc/index.js +23 -0
- package/dist/ipc/index.js.map +1 -0
- package/dist/main.d.ts +2 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +15 -0
- package/dist/main.js.map +1 -0
- package/dist/notification/NotificationHandler.d.ts +16 -0
- package/dist/notification/NotificationHandler.d.ts.map +1 -0
- package/dist/notification/NotificationHandler.js +39 -0
- package/dist/notification/NotificationHandler.js.map +1 -0
- package/dist/notification/NotificationManager.d.ts +32 -0
- package/dist/notification/NotificationManager.d.ts.map +1 -0
- package/dist/notification/NotificationManager.js +66 -0
- package/dist/notification/NotificationManager.js.map +1 -0
- package/dist/notification/index.d.ts +3 -0
- package/dist/notification/index.d.ts.map +1 -0
- package/dist/notification/index.js +19 -0
- package/dist/notification/index.js.map +1 -0
- package/dist/package-manager/PackageHandler.d.ts +50 -0
- package/dist/package-manager/PackageHandler.d.ts.map +1 -0
- package/dist/package-manager/PackageHandler.js +107 -0
- package/dist/package-manager/PackageHandler.js.map +1 -0
- package/dist/package-manager/PackageManager.d.ts +73 -0
- package/dist/package-manager/PackageManager.d.ts.map +1 -0
- package/dist/package-manager/PackageManager.js +373 -0
- package/dist/package-manager/PackageManager.js.map +1 -0
- package/dist/package-manager/index.d.ts +3 -0
- package/dist/package-manager/index.d.ts.map +1 -0
- package/dist/package-manager/index.js +8 -0
- package/dist/package-manager/index.js.map +1 -0
- package/dist/process-manager/AutostartManager.d.ts +15 -0
- package/dist/process-manager/AutostartManager.d.ts.map +1 -0
- package/dist/process-manager/AutostartManager.js +56 -0
- package/dist/process-manager/AutostartManager.js.map +1 -0
- package/dist/process-manager/BackendManager.d.ts +63 -0
- package/dist/process-manager/BackendManager.d.ts.map +1 -0
- package/dist/process-manager/BackendManager.js +272 -0
- package/dist/process-manager/BackendManager.js.map +1 -0
- package/dist/process-manager/ProcessHandler.d.ts +29 -0
- package/dist/process-manager/ProcessHandler.d.ts.map +1 -0
- package/dist/process-manager/ProcessHandler.js +66 -0
- package/dist/process-manager/ProcessHandler.js.map +1 -0
- package/dist/process-manager/ProcessManager.d.ts +94 -0
- package/dist/process-manager/ProcessManager.d.ts.map +1 -0
- package/dist/process-manager/ProcessManager.js +286 -0
- package/dist/process-manager/ProcessManager.js.map +1 -0
- package/dist/process-manager/index.d.ts +5 -0
- package/dist/process-manager/index.d.ts.map +1 -0
- package/dist/process-manager/index.js +12 -0
- package/dist/process-manager/index.js.map +1 -0
- package/dist/settings/EdenSettings.d.ts +8 -0
- package/dist/settings/EdenSettings.d.ts.map +1 -0
- package/dist/settings/EdenSettings.js +148 -0
- package/dist/settings/EdenSettings.js.map +1 -0
- package/dist/settings/SettingsHandler.d.ts +117 -0
- package/dist/settings/SettingsHandler.d.ts.map +1 -0
- package/dist/settings/SettingsHandler.js +199 -0
- package/dist/settings/SettingsHandler.js.map +1 -0
- package/dist/settings/SettingsManager.d.ts +64 -0
- package/dist/settings/SettingsManager.d.ts.map +1 -0
- package/dist/settings/SettingsManager.js +221 -0
- package/dist/settings/SettingsManager.js.map +1 -0
- package/dist/settings/index.d.ts +4 -0
- package/dist/settings/index.d.ts.map +1 -0
- package/dist/settings/index.js +11 -0
- package/dist/settings/index.js.map +1 -0
- package/dist/utils/cachedFileReader.d.ts +46 -0
- package/dist/utils/cachedFileReader.d.ts.map +1 -0
- package/dist/utils/cachedFileReader.js +100 -0
- package/dist/utils/cachedFileReader.js.map +1 -0
- package/dist/view-manager/DevToolsManager.d.ts +29 -0
- package/dist/view-manager/DevToolsManager.d.ts.map +1 -0
- package/dist/view-manager/DevToolsManager.js +88 -0
- package/dist/view-manager/DevToolsManager.js.map +1 -0
- package/dist/view-manager/FloatingWindowController.d.ts +44 -0
- package/dist/view-manager/FloatingWindowController.d.ts.map +1 -0
- package/dist/view-manager/FloatingWindowController.js +124 -0
- package/dist/view-manager/FloatingWindowController.js.map +1 -0
- package/dist/view-manager/LayoutCalculator.d.ts +49 -0
- package/dist/view-manager/LayoutCalculator.d.ts.map +1 -0
- package/dist/view-manager/LayoutCalculator.js +94 -0
- package/dist/view-manager/LayoutCalculator.js.map +1 -0
- package/dist/view-manager/MouseTracker.d.ts +65 -0
- package/dist/view-manager/MouseTracker.d.ts.map +1 -0
- package/dist/view-manager/MouseTracker.js +114 -0
- package/dist/view-manager/MouseTracker.js.map +1 -0
- package/dist/view-manager/TilingManager.d.ts +61 -0
- package/dist/view-manager/TilingManager.d.ts.map +1 -0
- package/dist/view-manager/TilingManager.js +142 -0
- package/dist/view-manager/TilingManager.js.map +1 -0
- package/dist/view-manager/ViewCreator.d.ts +72 -0
- package/dist/view-manager/ViewCreator.d.ts.map +1 -0
- package/dist/view-manager/ViewCreator.js +277 -0
- package/dist/view-manager/ViewCreator.js.map +1 -0
- package/dist/view-manager/ViewHandler.d.ts +112 -0
- package/dist/view-manager/ViewHandler.d.ts.map +1 -0
- package/dist/view-manager/ViewHandler.js +307 -0
- package/dist/view-manager/ViewHandler.js.map +1 -0
- package/dist/view-manager/ViewLifecycle.d.ts +66 -0
- package/dist/view-manager/ViewLifecycle.d.ts.map +1 -0
- package/dist/view-manager/ViewLifecycle.js +142 -0
- package/dist/view-manager/ViewLifecycle.js.map +1 -0
- package/dist/view-manager/ViewManager.d.ts +112 -0
- package/dist/view-manager/ViewManager.d.ts.map +1 -0
- package/dist/view-manager/ViewManager.js +422 -0
- package/dist/view-manager/ViewManager.js.map +1 -0
- package/dist/view-manager/index.d.ts +11 -0
- package/dist/view-manager/index.d.ts.map +1 -0
- package/dist/view-manager/index.js +23 -0
- package/dist/view-manager/index.js.map +1 -0
- package/dist/view-manager/types.d.ts +24 -0
- package/dist/view-manager/types.d.ts.map +1 -0
- package/dist/view-manager/types.js +11 -0
- package/dist/view-manager/types.js.map +1 -0
- package/edencss/README.md +214 -0
- package/edencss/components/badges.css +180 -0
- package/edencss/components/buttons.css +221 -0
- package/edencss/components/cards.css +201 -0
- package/edencss/components/inputs.css +424 -0
- package/edencss/components/lists.css +242 -0
- package/edencss/components/modals.css +207 -0
- package/edencss/components/progress.css +186 -0
- package/edencss/components/sidebar.css +232 -0
- package/edencss/components/tabs.css +189 -0
- package/edencss/eden.css +16 -0
- package/edencss/index.ts +11 -0
- package/edencss/style-dictionary.config.mjs +75 -0
- package/edencss/tokens-pink.json +163 -0
- package/edencss/tokens.css +121 -0
- package/edencss/tokens.d.ts +111 -0
- package/edencss/tokens.json +369 -0
- package/edencss/tokens.ts +125 -0
- package/edencss/utilities.css +423 -0
- package/foundation/foundation-preload.js +15 -0
- package/foundation/foundation.css +40 -0
- package/foundation/foundation.html +22 -0
- package/foundation/foundation.js +69 -0
- package/package.json +55 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:root{--eden-color-bg-primary:linear-gradient(135deg,#060b1a 0%,#111b33 45%,#1d2e57 100%);--eden-color-bg-secondary:linear-gradient(135deg,#1d2e57 0%,#354b86 50%,#6797f5 100%);--eden-color-bg-glass-light:#ffffff0a;--eden-color-bg-glass-medium:#ffffff14;--eden-color-bg-glass-strong:#12182a8c;--eden-color-bg-overlay:#080c189e;--eden-color-bg-dark:#0000000a;--eden-color-surface-primary:#1e1e2e;--eden-color-surface-secondary:#2d2d44;--eden-color-surface-tertiary:#3d3d5c;--eden-color-surface-elevated:#ffffff0f;--eden-color-surface-hover:#ffffff1f;--eden-color-surface-active:#ffffff2e;--eden-color-text-primary:#eff4fff5;--eden-color-text-secondary:#eaeaeaf2;--eden-color-text-tertiary:#bdbdbde6;--eden-color-text-muted:#fff9;--eden-color-text-inverse:#1a1a1a;--eden-color-text-on-dark:#fff;--eden-color-accent-primary:#4a9eff;--eden-color-accent-primary-hover:#5ca8ff;--eden-color-accent-primary-active:#3b8ee8;--eden-color-accent-blue:#52a3ff;--eden-color-accent-blue-dark:#367bff;--eden-color-accent-purple:#667eea;--eden-color-accent-purple-light:#7c92f0;--eden-color-success:#51cf66;--eden-color-success-hover:#69db7c;--eden-color-danger:#ff3b30;--eden-color-danger-hover:#ff6b6b;--eden-color-danger-bg:#ff3b301a;--eden-color-warning:#ffd93d;--eden-color-info:#4dabf7;--eden-color-border-light:#ffffff0f;--eden-color-border-medium:#ffffff1f;--eden-color-border-dark:#0000001a;--eden-color-border-separator:#ffffff2e;--eden-space-xs:4px;--eden-space-sm:8px;--eden-space-md:16px;--eden-space-lg:24px;--eden-space-xl:36px;--eden-space-2xl:48px;--eden-space-3xl:64px;--eden-radius-xs:6px;--eden-radius-sm:10px;--eden-radius-md:14px;--eden-radius-lg:18px;--eden-radius-xl:20px;--eden-radius-2xl:28px;--eden-radius-round:50%;--eden-shadow-xs:0 1px 3px #0000004d;--eden-shadow-sm:0 2px 6px #00000080;--eden-shadow-md:0 8px 20px #00000047;--eden-shadow-lg:0 10px 30px #0000004d;--eden-shadow-xl:0 20px 60px #0000004d;--eden-shadow-2xl:0 28px 80px #00000073;--eden-shadow-inner:inset 0 1px 3px #0003;--eden-glass-light:blur(10px)saturate(120%);--eden-glass-medium:blur(18px)saturate(140%);--eden-glass-strong:blur(26px)saturate(160%);--eden-glass-ultra:blur(34px)saturate(170%);--eden-font-family-base:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;--eden-font-family-mono:"SF Mono",Monaco,"Cascadia Code","Roboto Mono",Consolas,"Courier New",monospace;--eden-font-size-xs:10px;--eden-font-size-sm:11px;--eden-font-size-base:13px;--eden-font-size-md:14px;--eden-font-size-lg:16px;--eden-font-size-xl:18px;--eden-font-size-2xl:24px;--eden-font-size-3xl:32px;--eden-font-size-4xl:48px;--eden-font-weight-normal:400;--eden-font-weight-medium:500;--eden-font-weight-semibold:600;--eden-font-weight-bold:700;--eden-font-line-height-tight:1.2;--eden-font-line-height-normal:1.5;--eden-font-line-height-relaxed:1.75;--eden-font-letter-spacing-tight:-.6px;--eden-font-letter-spacing-normal:-.2px;--eden-font-letter-spacing-wide:.1px;--eden-transition-fast:.15s ease;--eden-transition-base:.2s cubic-bezier(.4,0,.2,1);--eden-transition-smooth:.3s cubic-bezier(.4,0,.2,1);--eden-transition-bounce:.5s cubic-bezier(.68,-.55,.265,1.55);--eden-transition-ease-in:cubic-bezier(.4,0,1,1);--eden-transition-ease-out:cubic-bezier(0,0,.2,1);--eden-transition-ease-in-out:cubic-bezier(.4,0,.2,1);--eden-z-base:0;--eden-z-dropdown:100;--eden-z-sticky:200;--eden-z-overlay:1000;--eden-z-modal:2000;--eden-z-popover:2001;--eden-z-tooltip:3000;--eden-layout-dock-height:72px;--eden-layout-icon-size-sm:24px;--eden-layout-icon-size-md:40px;--eden-layout-icon-size-lg:64px;--eden-layout-icon-size-xl:88px;--eden-duration-instant:.1s;--eden-duration-fast:.15s;--eden-duration-normal:.22s;--eden-duration-slow:.32s;--eden-duration-slower:.5s}.eden-glass-light{background:var(--eden-color-bg-glass-light);backdrop-filter:var(--eden-glass-light)}.eden-glass-medium{background:var(--eden-color-bg-glass-medium);backdrop-filter:var(--eden-glass-medium)}.eden-glass-strong{background:var(--eden-color-bg-glass-strong);backdrop-filter:var(--eden-glass-strong)}.eden-glass-ultra{backdrop-filter:var(--eden-glass-ultra)}.eden-shadow-xs{box-shadow:var(--eden-shadow-xs)}.eden-shadow-sm{box-shadow:var(--eden-shadow-sm)}.eden-shadow-md{box-shadow:var(--eden-shadow-md)}.eden-shadow-lg{box-shadow:var(--eden-shadow-lg)}.eden-shadow-xl{box-shadow:var(--eden-shadow-xl)}.eden-shadow-2xl{box-shadow:var(--eden-shadow-2xl)}.eden-shadow-inner{box-shadow:var(--eden-shadow-inner)}.eden-surface{background:var(--eden-surface-primary);color:var(--eden-text-primary)}.eden-surface-secondary{background:var(--eden-surface-secondary);color:var(--eden-text-primary)}.eden-surface-elevated{background:var(--eden-surface-elevated);color:var(--eden-text-primary)}.eden-text-primary{color:var(--eden-text-primary)}.eden-text-secondary{color:var(--eden-text-secondary)}.eden-text-tertiary{color:var(--eden-text-tertiary)}.eden-text-muted{color:var(--eden-text-muted)}.eden-text-xs{font-size:var(--eden-font-size-xs)}.eden-text-sm{font-size:var(--eden-font-size-sm)}.eden-text-base{font-size:var(--eden-font-size-base)}.eden-text-md{font-size:var(--eden-font-size-md)}.eden-text-lg{font-size:var(--eden-font-size-lg)}.eden-text-xl{font-size:var(--eden-font-size-xl)}.eden-text-2xl{font-size:var(--eden-font-size-2xl)}.eden-text-3xl{font-size:var(--eden-font-size-3xl)}.eden-font-medium{font-weight:var(--eden-font-weight-medium)}.eden-font-semibold{font-weight:var(--eden-font-weight-semibold)}.eden-font-bold{font-weight:var(--eden-font-weight-bold)}.eden-m-xs{margin:var(--eden-space-xs)}.eden-m-sm{margin:var(--eden-space-sm)}.eden-m-md{margin:var(--eden-space-md)}.eden-m-lg{margin:var(--eden-space-lg)}.eden-m-xl{margin:var(--eden-space-xl)}.eden-p-xs{padding:var(--eden-space-xs)}.eden-p-sm{padding:var(--eden-space-sm)}.eden-p-md{padding:var(--eden-space-md)}.eden-p-lg{padding:var(--eden-space-lg)}.eden-p-xl{padding:var(--eden-space-xl)}.eden-gap-xs{gap:var(--eden-space-xs)}.eden-gap-sm{gap:var(--eden-space-sm)}.eden-gap-md{gap:var(--eden-space-md)}.eden-gap-lg{gap:var(--eden-space-lg)}.eden-gap-xl{gap:var(--eden-space-xl)}.eden-flex{display:flex}.eden-flex-col{flex-direction:column;display:flex}.eden-flex-center{justify-content:center;align-items:center;display:flex}.eden-flex-between{justify-content:space-between;align-items:center;display:flex}.eden-grid{display:grid}.eden-grid-2{grid-template-columns:repeat(2,1fr)}.eden-grid-3{grid-template-columns:repeat(3,1fr)}.eden-grid-4{grid-template-columns:repeat(4,1fr)}.eden-rounded-xs{border-radius:var(--eden-radius-xs)}.eden-rounded-sm{border-radius:var(--eden-radius-sm)}.eden-rounded-md{border-radius:var(--eden-radius-md)}.eden-rounded-lg{border-radius:var(--eden-radius-lg)}.eden-rounded-xl{border-radius:var(--eden-radius-xl)}.eden-rounded-2xl{border-radius:var(--eden-radius-2xl)}.eden-rounded-full{border-radius:var(--eden-radius-round)}.eden-transition{transition:all var(--eden-transition-base)}.eden-transition-fast{transition:all var(--eden-transition-fast)}.eden-transition-smooth{transition:all var(--eden-transition-smooth)}.eden-interactive{cursor:pointer;transition:all var(--eden-transition-base)}.eden-interactive:hover{box-shadow:var(--eden-shadow-lg);transform:translateY(-2px)}.eden-interactive:active{box-shadow:var(--eden-shadow-md);transform:translateY(0)}.eden-scrollbar::-webkit-scrollbar{width:8px;height:8px}.eden-scrollbar::-webkit-scrollbar-track{background:var(--eden-color-bg-glass-light);border-radius:var(--eden-radius-xs)}.eden-scrollbar::-webkit-scrollbar-thumb{background:var(--eden-color-border-separator);border-radius:var(--eden-radius-xs)}.eden-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--eden-color-surface-hover)}*{scrollbar-width:thin;scrollbar-color:var(--eden-color-border-separator)var(--eden-color-bg-glass-light)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--eden-color-bg-glass-light);border-radius:var(--eden-radius-xs)}::-webkit-scrollbar-thumb{background:var(--eden-color-border-separator);border-radius:var(--eden-radius-xs)}::-webkit-scrollbar-thumb:hover{background:var(--eden-color-surface-hover)}.eden-overlay{background:var(--eden-bg-overlay);backdrop-filter:var(--eden-glass-strong);z-index:var(--eden-z-overlay);position:fixed;inset:0}@keyframes eden-fade-in{0%{opacity:0}to{opacity:1}}@keyframes eden-fade-out{0%{opacity:1}to{opacity:0}}@keyframes eden-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes eden-slide-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes eden-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes eden-scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}.eden-animate-fade-in{animation:eden-fade-in var(--eden-duration-normal)var(--eden-ease-out)}.eden-animate-slide-up{animation:eden-slide-up var(--eden-duration-slow)var(--eden-ease-out)}.eden-animate-scale-in{animation:eden-scale-in var(--eden-duration-normal)var(--eden-ease-out)}.eden-btn{font-family:var(--eden-font-family-base);font-size:var(--eden-font-size-md);font-weight:var(--eden-font-weight-medium);padding:var(--eden-space-md);border-radius:var(--eden-radius-md);border:1px solid var(--eden-color-border-light);cursor:pointer;transition:all var(--eden-transition-base);background:var(--eden-color-bg-glass-medium);-webkit-backdrop-filter:var(--eden-glass-medium);box-shadow:var(--eden-shadow-sm);color:var(--eden-color-text-primary);justify-content:center;align-items:center;gap:var(--eden-space-sm);user-select:none;outline:none;display:inline-flex}.eden-btn:hover{background:var(--eden-color-bg-glass-strong);-webkit-backdrop-filter:var(--eden-glass-strong);border-color:var(--eden-color-border-medium);box-shadow:var(--eden-shadow-md);transform:translateY(-1px)}.eden-btn:active{box-shadow:var(--eden-shadow-sm);transform:translateY(0)}.eden-btn:focus-visible{outline:2px solid var(--eden-color-accent-primary);outline-offset:2px}.eden-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.eden-btn-primary{background:linear-gradient(135deg,var(--eden-color-accent-blue),var(--eden-color-accent-blue-dark));color:#fff;box-shadow:var(--eden-shadow-md);font-weight:var(--eden-font-weight-semibold);border-color:#0000}.eden-btn-primary:hover{filter:brightness(1.15);box-shadow:var(--eden-shadow-lg);border-color:#0000}.eden-btn-secondary{background:var(--eden-color-surface-tertiary);border-color:var(--eden-color-border-medium)}.eden-btn-secondary:hover{background:var(--eden-color-surface-hover)}.eden-btn-success{background:var(--eden-color-success);color:#fff;font-weight:var(--eden-font-weight-semibold);border-color:#0000}.eden-btn-success:hover{background:var(--eden-color-success-hover);box-shadow:var(--eden-shadow-lg)}.eden-btn-danger{background:var(--eden-color-danger);color:#fff;font-weight:var(--eden-font-weight-semibold);border-color:#0000}.eden-btn-danger:hover{background:var(--eden-color-danger-hover);box-shadow:var(--eden-shadow-lg)}.eden-btn-ghost{box-shadow:none;background:0 0;border-color:#0000}.eden-btn-ghost:hover{background:var(--eden-color-bg-glass-light);border-color:var(--eden-color-border-light)}.eden-btn-outline{border-color:var(--eden-color-border-medium);background:0 0}.eden-btn-outline:hover{background:var(--eden-color-bg-glass-light);border-color:var(--eden-color-accent-primary)}.eden-btn-xs{font-size:var(--eden-font-size-xs);padding:var(--eden-space-xs);border-radius:var(--eden-radius-xs)}.eden-btn-sm{font-size:var(--eden-font-size-sm);padding:var(--eden-space-sm);border-radius:var(--eden-radius-sm)}.eden-btn-md{font-size:var(--eden-font-size-md);padding:var(--eden-space-md);border-radius:var(--eden-radius-md)}.eden-btn-lg{font-size:var(--eden-font-size-lg);padding:var(--eden-space-lg);border-radius:var(--eden-radius-lg)}.eden-btn-xl{font-size:var(--eden-font-size-xl);padding:var(--eden-space-xl);border-radius:var(--eden-radius-xl)}.eden-btn-square{aspect-ratio:1}.eden-btn-pill{border-radius:999px}.eden-btn-group{gap:0;display:inline-flex}.eden-btn-group .eden-btn{border-radius:0}.eden-btn-group .eden-btn:first-child{border-top-left-radius:var(--eden-radius-md);border-bottom-left-radius:var(--eden-radius-md)}.eden-btn-group .eden-btn:last-child{border-top-right-radius:var(--eden-radius-md);border-bottom-right-radius:var(--eden-radius-md)}.eden-btn-group .eden-btn:not(:last-child){border-right:none}.eden-fab{bottom:var(--eden-space-2xl);right:var(--eden-space-2xl);border-radius:var(--eden-radius-round);background:linear-gradient(135deg,var(--eden-color-accent-blue),var(--eden-color-accent-blue-dark));width:56px;height:56px;box-shadow:var(--eden-shadow-2xl);cursor:pointer;transition:all var(--eden-transition-base);z-index:var(--eden-z-sticky);border:none;justify-content:center;align-items:center;display:flex;position:fixed}.eden-fab:hover{box-shadow:var(--eden-shadow-xl);transform:scale(1.1)}.eden-fab:active{transform:scale(1)}.eden-input{font-family:var(--eden-font-family-base);font-size:var(--eden-font-size-md);padding:var(--eden-space-md)var(--eden-space-lg);border-radius:var(--eden-radius-md);border:1px solid var(--eden-color-border-light);background:var(--eden-color-bg-glass-medium);-webkit-backdrop-filter:var(--eden-glass-light);color:var(--eden-color-text-primary);transition:all var(--eden-transition-base);outline:none;width:100%}.eden-input::placeholder{color:var(--eden-color-text-muted)}.eden-input:hover{border-color:var(--eden-color-border-medium);background:var(--eden-color-bg-glass-strong)}.eden-input:focus{border-color:var(--eden-color-accent-primary);background:var(--eden-color-bg-glass-strong);box-shadow:0 0 0 3px #4a9eff26}.eden-input:disabled{opacity:.5;cursor:not-allowed}.eden-input-sm{font-size:var(--eden-font-size-sm);padding:var(--eden-space-sm)var(--eden-space-md);border-radius:var(--eden-radius-sm)}.eden-input-lg{font-size:var(--eden-font-size-lg);padding:var(--eden-space-lg)var(--eden-space-xl);border-radius:var(--eden-radius-lg)}.eden-textarea{font-family:var(--eden-font-family-base);font-size:var(--eden-font-size-md);padding:var(--eden-space-md)var(--eden-space-lg);border-radius:var(--eden-radius-md);border:1px solid var(--eden-color-border-light);background:var(--eden-color-bg-glass-medium);-webkit-backdrop-filter:var(--eden-glass-light);color:var(--eden-color-text-primary);transition:all var(--eden-transition-base);resize:vertical;outline:none;width:100%;min-height:100px}.eden-textarea::placeholder{color:var(--eden-color-text-muted)}.eden-textarea:hover{border-color:var(--eden-color-border-medium);background:var(--eden-color-bg-glass-strong)}.eden-textarea:focus{border-color:var(--eden-color-accent-primary);background:var(--eden-color-bg-glass-strong);box-shadow:0 0 0 3px #4a9eff26}.eden-select{font-family:var(--eden-font-family-base);font-size:var(--eden-font-size-md);padding:var(--eden-space-md)var(--eden-space-md);padding-right:var(--eden-space-2xl);border-radius:var(--eden-radius-md);border:1px solid var(--eden-color-border-light);background:var(--eden-color-bg-glass-medium);-webkit-backdrop-filter:var(--eden-glass-light);color:var(--eden-color-text-primary);transition:all var(--eden-transition-base);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23eff4ff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--eden-space-md)center;outline:none;width:100%}.eden-select:hover{border-color:var(--eden-color-border-medium);background-color:var(--eden-color-bg-glass-strong)}.eden-select:focus{border-color:var(--eden-color-accent-primary);box-shadow:0 0 0 3px #4a9eff26}.eden-checkbox{appearance:none;border-radius:var(--eden-radius-xs);border:2px solid var(--eden-color-border-medium);background:var(--eden-color-bg-glass-medium);width:20px;height:20px;-webkit-backdrop-filter:var(--eden-glass-light);cursor:pointer;transition:all var(--eden-transition-base);flex-shrink:0;position:relative}.eden-checkbox:hover{border-color:var(--eden-color-accent-primary);background:var(--eden-color-bg-glass-strong)}.eden-checkbox:checked{background:var(--eden-color-accent-primary);border-color:var(--eden-color-accent-primary)}.eden-checkbox:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.eden-checkbox:focus-visible{outline:2px solid var(--eden-color-accent-primary);outline-offset:2px}.eden-radio{appearance:none;border-radius:var(--eden-radius-round);border:2px solid var(--eden-color-border-medium);background:var(--eden-color-bg-glass-medium);width:20px;height:20px;-webkit-backdrop-filter:var(--eden-glass-light);cursor:pointer;transition:all var(--eden-transition-base);flex-shrink:0;position:relative}.eden-radio:hover{border-color:var(--eden-color-accent-primary);background:var(--eden-color-bg-glass-strong)}.eden-radio:checked{border-color:var(--eden-color-accent-primary);background:var(--eden-color-accent-primary)}.eden-radio:checked:after{content:"";background:#fff;border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.eden-radio:focus-visible{outline:2px solid var(--eden-color-accent-primary);outline-offset:2px}.eden-toggle{appearance:none;border:2px solid var(--eden-color-border-medium);background:var(--eden-color-bg-glass-medium);width:48px;height:24px;-webkit-backdrop-filter:var(--eden-glass-light);cursor:pointer;transition:all var(--eden-transition-base);border-radius:999px;flex-shrink:0;position:relative}.eden-toggle:after{content:"";background:var(--eden-color-text-secondary);width:16px;height:16px;transition:all var(--eden-transition-base);box-shadow:var(--eden-shadow-sm);border-radius:50%;position:absolute;top:2px;left:2px}.eden-toggle:hover{border-color:var(--eden-color-accent-primary)}.eden-toggle:checked{background:var(--eden-color-accent-primary);border-color:var(--eden-color-accent-primary)}.eden-toggle:checked:after{background:#fff;left:26px}.eden-toggle:focus-visible{outline:2px solid var(--eden-color-accent-primary);outline-offset:2px}.eden-slider{appearance:none;background:var(--eden-color-bg-glass-medium);width:100%;height:6px;-webkit-backdrop-filter:var(--eden-glass-light);cursor:pointer;border-radius:999px;outline:none}.eden-slider::-webkit-slider-thumb{appearance:none;background:var(--eden-color-accent-primary);width:20px;height:20px;box-shadow:var(--eden-shadow-md);cursor:pointer;transition:all var(--eden-transition-base);border-radius:50%}.eden-slider::-webkit-slider-thumb:hover{box-shadow:var(--eden-shadow-lg);transform:scale(1.15)}.eden-slider::-moz-range-thumb{background:var(--eden-color-accent-primary);width:20px;height:20px;box-shadow:var(--eden-shadow-md);cursor:pointer;transition:all var(--eden-transition-base);border:none;border-radius:50%}.eden-slider::-moz-range-thumb:hover{box-shadow:var(--eden-shadow-lg);transform:scale(1.15)}.eden-form-group{gap:var(--eden-space-sm);margin-bottom:var(--eden-space-lg);flex-direction:column;display:flex}.eden-form-label{font-size:var(--eden-font-size-sm);font-weight:var(--eden-font-weight-medium);color:var(--eden-color-text-secondary);letter-spacing:var(--eden-font-letter-spacing-wide);text-transform:uppercase}.eden-form-help{font-size:var(--eden-font-size-sm);color:var(--eden-color-text-muted)}.eden-form-error{font-size:var(--eden-font-size-sm);color:var(--eden-color-danger)}.eden-range{align-items:center;gap:var(--eden-space-sm);min-width:200px;display:flex}.eden-range input[type=range],.eden-range-input{background:var(--eden-color-bg-glass-medium);cursor:pointer;appearance:none;border-radius:2px;flex:1;height:4px}.eden-range input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--eden-color-accent-primary);cursor:pointer;width:16px;height:16px;transition:transform var(--eden-transition-base);border-radius:50%}.eden-range-input::-webkit-slider-thumb{appearance:none;background:var(--eden-color-accent-primary);cursor:pointer;width:16px;height:16px;transition:transform var(--eden-transition-base);border-radius:50%}.eden-range input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}.eden-range-input::-webkit-slider-thumb:hover{transform:scale(1.15)}.eden-range-value{font-size:var(--eden-font-size-sm);color:var(--eden-color-text-muted);text-align:right;min-width:40px;font-family:var(--eden-font-mono)}.eden-radio-group{gap:var(--eden-space-sm);flex-direction:column;display:flex}.eden-radio-group-horizontal{flex-flow:wrap}.eden-radio-option{align-items:center;gap:var(--eden-space-sm);cursor:pointer;display:flex}.eden-radio-option-label{font-size:var(--eden-font-size-sm);color:var(--eden-color-text-primary)}.eden-checkbox-group{gap:var(--eden-space-sm);flex-direction:column;display:flex}.eden-checkbox-option{align-items:center;gap:var(--eden-space-sm);cursor:pointer;display:flex}.eden-checkbox-option-label{font-size:var(--eden-font-size-sm);color:var(--eden-color-text-primary)}.eden-card{border-radius:var(--eden-radius-lg);padding:var(--eden-space-lg);background:var(--eden-color-bg-glass-medium);-webkit-backdrop-filter:var(--eden-glass-medium);border:1px solid var(--eden-color-border-light);box-shadow:var(--eden-shadow-md);color:var(--eden-color-text-primary);transition:all var(--eden-transition-base)}.eden-card:hover{box-shadow:var(--eden-shadow-lg);border-color:var(--eden-color-border-medium)}.eden-card-glass{border-radius:var(--eden-radius-2xl);padding:var(--eden-space-xl);background:var(--eden-color-bg-glass-strong);-webkit-backdrop-filter:var(--eden-glass-ultra);border:1px solid var(--eden-color-border-light);box-shadow:var(--eden-shadow-2xl);color:var(--eden-color-text-primary)}.eden-card-elevated{background:var(--eden-color-surface-elevated);box-shadow:var(--eden-shadow-xl)}.eden-card-elevated:hover{box-shadow:var(--eden-shadow-2xl);transform:translateY(-2px)}.eden-card-interactive{cursor:pointer;user-select:none}.eden-card-interactive:hover{border-color:var(--eden-color-accent-primary);transform:translateY(-2px)}.eden-card-interactive:active{box-shadow:var(--eden-shadow-md);transform:translateY(0)}.eden-card-header{padding:var(--eden-space-lg);padding-bottom:var(--eden-space-md);border-bottom:1px solid var(--eden-color-border-light)}.eden-card-title{font-size:var(--eden-font-size-xl);font-weight:var(--eden-font-weight-semibold);color:var(--eden-color-text-primary);margin:0}.eden-card-subtitle{font-size:var(--eden-font-size-md);color:var(--eden-color-text-secondary);margin:var(--eden-space-xs)0 0 0}.eden-card-body{padding:var(--eden-space-lg)}.eden-card-footer{padding:var(--eden-space-lg);padding-top:var(--eden-space-md);border-top:1px solid var(--eden-color-border-light);justify-content:flex-end;align-items:center;gap:var(--eden-space-md);display:flex}.eden-card-sm{padding:var(--eden-space-md);border-radius:var(--eden-radius-md)}.eden-card-lg{padding:var(--eden-space-2xl);border-radius:var(--eden-radius-2xl)}.eden-card-image{border-radius:var(--eden-radius-lg);width:100%;height:auto;margin-bottom:var(--eden-space-md);object-fit:cover}.eden-card-image-top{border-radius:var(--eden-radius-lg)var(--eden-radius-lg)0 0;margin-bottom:0}.eden-info-card{align-items:center;gap:var(--eden-space-md);padding:var(--eden-space-md);border-radius:var(--eden-radius-md);background:var(--eden-color-bg-glass-light);-webkit-backdrop-filter:var(--eden-glass-light);border:1px solid var(--eden-color-border-light);display:flex}.eden-info-card-icon{border-radius:var(--eden-radius-md);background:var(--eden-color-accent-primary);color:#fff;width:40px;height:40px;font-size:var(--eden-font-size-xl);flex-shrink:0;justify-content:center;align-items:center;display:flex}.eden-info-card-content{flex:1}.eden-info-card-title{font-weight:var(--eden-font-weight-semibold);color:var(--eden-color-text-primary);margin:0 0 var(--eden-space-xs)0}.eden-info-card-description{font-size:var(--eden-font-size-sm);color:var(--eden-color-text-secondary);margin:0}.eden-stats-card{text-align:center;padding:var(--eden-space-xl)}.eden-stats-value{font-size:var(--eden-font-size-4xl);font-weight:var(--eden-font-weight-bold);color:var(--eden-color-accent-primary);margin:0 0 var(--eden-space-sm)0;line-height:1}.eden-stats-label{font-size:var(--eden-font-size-md);color:var(--eden-color-text-secondary);text-transform:uppercase;letter-spacing:var(--eden-font-letter-spacing-wide)}.eden-card-grid{gap:var(--eden-space-lg);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.eden-modal-overlay{z-index:var(--eden-z-modal);background:var(--eden-color-bg-overlay);-webkit-backdrop-filter:var(--eden-glass-strong);padding:var(--eden-space-2xl);animation:eden-fade-in var(--eden-duration-normal)var(--eden-transition-ease-out);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.eden-modal{border-radius:var(--eden-radius-2xl);background:var(--eden-color-bg-glass-strong);width:100%;max-width:500px;max-height:90vh;-webkit-backdrop-filter:var(--eden-glass-ultra);border:1px solid var(--eden-color-border-medium);box-shadow:var(--eden-shadow-2xl);animation:eden-scale-in var(--eden-duration-normal)var(--eden-transition-ease-out);flex-direction:column;display:flex;position:relative;overflow:hidden}.eden-modal-lg{max-width:800px}.eden-modal-sm{max-width:400px}.eden-modal-full{max-width:95vw;max-height:95vh}.eden-modal-header{padding:var(--eden-space-xl);padding-bottom:var(--eden-space-lg);border-bottom:1px solid var(--eden-color-border-light);justify-content:space-between;align-items:center;gap:var(--eden-space-md);display:flex}.eden-modal-title{font-size:var(--eden-font-size-2xl);font-weight:var(--eden-font-weight-semibold);color:var(--eden-color-text-primary);margin:0}.eden-modal-close{border-radius:var(--eden-radius-md);background:var(--eden-color-bg-glass-light);width:32px;height:32px;color:var(--eden-color-text-secondary);cursor:pointer;transition:all var(--eden-transition-base);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.eden-modal-close:hover{background:var(--eden-color-surface-hover);color:var(--eden-color-text-primary)}.eden-modal-body{padding:var(--eden-space-xl);color:var(--eden-color-text-secondary);flex:1;overflow-y:auto}.eden-modal-footer{padding:var(--eden-space-xl);padding-top:var(--eden-space-lg);border-top:1px solid var(--eden-color-border-light);justify-content:flex-end;align-items:center;gap:var(--eden-space-md);display:flex}.eden-alert-modal{text-align:center;padding:var(--eden-space-2xl)}.eden-alert-icon{width:64px;height:64px;margin:0 auto var(--eden-space-lg)auto;border-radius:var(--eden-radius-round);font-size:var(--eden-font-size-3xl);justify-content:center;align-items:center;display:flex}.eden-alert-icon-info{color:var(--eden-color-info);background:#4dabf733}.eden-alert-icon-success{color:var(--eden-color-success);background:#51cf6633}.eden-alert-icon-warning{color:var(--eden-color-warning);background:#ffd93d33}.eden-alert-icon-danger{color:var(--eden-color-danger);background:#ff3b3033}.eden-tooltip{z-index:var(--eden-z-tooltip);padding:var(--eden-space-sm)var(--eden-space-md);border-radius:var(--eden-radius-sm);background:var(--eden-color-surface-secondary);-webkit-backdrop-filter:var(--eden-glass-strong);border:1px solid var(--eden-color-border-light);box-shadow:var(--eden-shadow-lg);font-size:var(--eden-font-size-sm);color:var(--eden-color-text-primary);white-space:nowrap;pointer-events:none;animation:eden-fade-in var(--eden-duration-fast)var(--eden-transition-ease-out);position:absolute}.eden-popover{z-index:var(--eden-z-popover);border-radius:var(--eden-radius-lg);min-width:200px;max-width:400px;padding:var(--eden-space-lg);background:var(--eden-color-bg-glass-strong);-webkit-backdrop-filter:var(--eden-glass-ultra);border:1px solid var(--eden-color-border-medium);box-shadow:var(--eden-shadow-xl);color:var(--eden-color-text-primary);animation:eden-scale-in var(--eden-duration-fast)var(--eden-transition-ease-out);position:absolute}.eden-popover-title{font-weight:var(--eden-font-weight-semibold);margin:0 0 var(--eden-space-sm)0}.eden-popover-content{font-size:var(--eden-font-size-sm);color:var(--eden-color-text-secondary)}.eden-badge{padding:var(--eden-space-xs)var(--eden-space-sm);border-radius:var(--eden-radius-sm);font-size:var(--eden-font-size-xs);font-weight:var(--eden-font-weight-semibold);text-transform:uppercase;letter-spacing:var(--eden-font-letter-spacing-wide);background:var(--eden-color-bg-glass-medium);-webkit-backdrop-filter:var(--eden-glass-light);border:1px solid var(--eden-color-border-light);color:var(--eden-color-text-secondary);justify-content:center;align-items:center;display:inline-flex}.eden-badge-primary{border-color:var(--eden-color-accent-primary);color:var(--eden-color-accent-primary);background:#4a9eff33}.eden-badge-success{border-color:var(--eden-color-success);color:var(--eden-color-success);background:#51cf6633}.eden-badge-danger{border-color:var(--eden-color-danger);color:var(--eden-color-danger);background:#ff3b3033}.eden-badge-warning{border-color:var(--eden-color-warning);color:var(--eden-color-warning);background:#ffd93d33}.eden-badge-info{border-color:var(--eden-color-info);color:var(--eden-color-info);background:#4dabf733}.eden-badge-sm{padding:2px var(--eden-space-xs);font-size:9px}.eden-badge-lg{font-size:var(--eden-font-size-sm);padding:var(--eden-space-sm)var(--eden-space-md)}.eden-badge-dot{border-radius:var(--eden-radius-round);border:none;width:8px;height:8px;padding:0}.eden-badge-dot-animated{animation:2s infinite eden-pulse}@keyframes eden-pulse{0%,to{opacity:1}50%{opacity:.5}}.eden-tag{align-items:center;gap:var(--eden-space-xs);padding:var(--eden-space-sm)var(--eden-space-md);border-radius:var(--eden-radius-md);font-size:var(--eden-font-size-sm);font-weight:var(--eden-font-weight-medium);background:var(--eden-color-bg-glass-medium);-webkit-backdrop-filter:var(--eden-glass-medium);border:1px solid var(--eden-color-border-light);color:var(--eden-color-text-primary);transition:all var(--eden-transition-base);display:inline-flex}.eden-tag:hover{border-color:var(--eden-color-border-medium);background:var(--eden-color-bg-glass-strong)}.eden-tag-close{border-radius:var(--eden-radius-xs);width:16px;height:16px;color:var(--eden-color-text-muted);cursor:pointer;transition:all var(--eden-transition-fast);margin-left:var(--eden-space-xs);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:12px;display:flex}.eden-tag-close:hover{background:var(--eden-color-surface-hover);color:var(--eden-color-text-primary)}.eden-tag-group{gap:var(--eden-space-sm);flex-wrap:wrap;display:flex}.eden-notification-badge{min-width:18px;height:18px;padding:0 var(--eden-space-xs);background:var(--eden-color-danger);border:2px solid var(--eden-color-surface-primary);font-size:10px;font-weight:var(--eden-font-weight-bold);color:#fff;animation:eden-badge-pop var(--eden-duration-normal)var(--eden-transition-ease-out);border-radius:999px;justify-content:center;align-items:center;display:flex;position:absolute;top:-4px;right:-4px}@keyframes eden-badge-pop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.eden-progress{background:var(--eden-color-bg-glass-medium);width:100%;height:8px;-webkit-backdrop-filter:var(--eden-glass-light);border:1px solid var(--eden-color-border-light);border-radius:999px;position:relative;overflow:hidden}.eden-progress-bar{background:linear-gradient(90deg,var(--eden-color-accent-blue),var(--eden-color-accent-blue-dark));height:100%;transition:width var(--eden-duration-slow)var(--eden-transition-ease-out);border-radius:999px;box-shadow:0 0 10px #52a3ff80}.eden-progress-bar-success{background:linear-gradient(90deg,var(--eden-color-success),var(--eden-color-success-hover));box-shadow:0 0 10px #51cf6680}.eden-progress-bar-danger{background:linear-gradient(90deg,var(--eden-color-danger),var(--eden-color-danger-hover));box-shadow:0 0 10px #ff3b3080}.eden-progress-bar-warning{background:var(--eden-color-warning);box-shadow:0 0 10px #ffd93d80}.eden-progress-animated .eden-progress-bar{background-size:200% 100%;animation:2s infinite eden-progress-shimmer}@keyframes eden-progress-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.eden-progress-sm{height:4px}.eden-progress-lg{height:12px}.eden-progress-xl{height:16px}.eden-progress-circle{justify-content:center;align-items:center;width:80px;height:80px;display:inline-flex;position:relative}.eden-progress-circle-svg{width:100%;height:100%;transform:rotate(-90deg)}.eden-progress-circle-bg{fill:none;stroke:var(--eden-color-bg-glass-medium);stroke-width:4px}.eden-progress-circle-bar{fill:none;stroke:var(--eden-color-accent-primary);stroke-width:4px;stroke-linecap:round;transition:stroke-dashoffset var(--eden-duration-slow)var(--eden-transition-ease-out)}.eden-progress-circle-text{font-size:var(--eden-font-size-lg);font-weight:var(--eden-font-weight-semibold);color:var(--eden-color-text-primary);position:absolute}.eden-spinner{border:3px solid var(--eden-color-bg-glass-medium);border-top-color:var(--eden-color-accent-primary);border-radius:var(--eden-radius-round);width:40px;height:40px;animation:.8s linear infinite eden-spin}@keyframes eden-spin{to{transform:rotate(360deg)}}.eden-spinner-sm{border-width:2px;width:20px;height:20px}.eden-spinner-lg{border-width:4px;width:60px;height:60px}.eden-skeleton{background:var(--eden-color-bg-glass-medium);border-radius:var(--eden-radius-md);position:relative;overflow:hidden}.eden-skeleton:after{content:"";background:linear-gradient(90deg,transparent,var(--eden-color-surface-hover),transparent);animation:1.5s infinite eden-skeleton-shimmer;position:absolute;inset:0}@keyframes eden-skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.eden-skeleton-text{width:100%;height:1em}.eden-skeleton-title{width:70%;height:2em}.eden-skeleton-avatar{border-radius:var(--eden-radius-round);width:40px;height:40px}.eden-skeleton-button{width:120px;height:40px}.eden-list{border-radius:var(--eden-radius-lg);background:var(--eden-color-bg-glass-medium);-webkit-backdrop-filter:var(--eden-glass-medium);border:1px solid var(--eden-color-border-light);box-shadow:var(--eden-shadow-md);margin:0;padding:0;list-style:none;overflow:hidden}.eden-list-item{padding:var(--eden-space-md)var(--eden-space-lg);border-bottom:1px solid var(--eden-color-border-light);transition:all var(--eden-transition-base);color:var(--eden-color-text-primary);align-items:center;gap:var(--eden-space-md);display:flex}.eden-list-item:last-child{border-bottom:none}.eden-list-item:hover{background:var(--eden-color-surface-hover)}.eden-list-item-active{background:var(--eden-color-surface-active);border-left:3px solid var(--eden-color-accent-primary);padding-left:calc(var(--eden-space-lg) - 3px)}.eden-list-item-interactive{cursor:pointer;user-select:none}.eden-list-item-disabled{opacity:.5;cursor:not-allowed}.eden-list-item-disabled:hover{background:0 0}.eden-list-item-icon{width:24px;height:24px;color:var(--eden-color-accent-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.eden-list-item-content{gap:var(--eden-space-xs);flex-direction:column;flex:1;display:flex}.eden-list-item-title{font-weight:var(--eden-font-weight-medium);color:var(--eden-color-text-primary)}.eden-list-item-description{font-size:var(--eden-font-size-sm);color:var(--eden-color-text-secondary)}.eden-list-item-meta{font-size:var(--eden-font-size-sm);color:var(--eden-color-text-muted);flex-shrink:0}.eden-menu{padding:var(--eden-space-sm);border-radius:var(--eden-radius-lg);background:var(--eden-color-bg-glass-strong);-webkit-backdrop-filter:var(--eden-glass-ultra);border:1px solid var(--eden-color-border-medium);box-shadow:var(--eden-shadow-xl);min-width:200px;margin:0;list-style:none}.eden-menu-item{padding:var(--eden-space-sm)var(--eden-space-md);border-radius:var(--eden-radius-sm);cursor:pointer;transition:all var(--eden-transition-fast);color:var(--eden-color-text-primary);align-items:center;gap:var(--eden-space-sm);font-size:var(--eden-font-size-md);user-select:none;display:flex}.eden-menu-item:hover{background:var(--eden-color-surface-hover)}.eden-menu-item-active{background:var(--eden-color-surface-active);color:var(--eden-color-accent-primary)}.eden-menu-divider{background:var(--eden-color-border-light);height:1px;margin:var(--eden-space-sm)0}.eden-menu-title{padding:var(--eden-space-sm)var(--eden-space-md);font-size:var(--eden-font-size-xs);font-weight:var(--eden-font-weight-semibold);color:var(--eden-color-text-muted);text-transform:uppercase;letter-spacing:var(--eden-font-letter-spacing-wide)}.eden-dropdown{display:inline-block;position:relative}.eden-dropdown-menu{top:calc(100% + var(--eden-space-sm));z-index:var(--eden-z-dropdown);animation:eden-fade-in var(--eden-duration-fast)var(--eden-transition-ease-out);position:absolute;left:0}.eden-dropdown-menu-right{left:auto;right:0}.eden-steps{align-items:center;gap:var(--eden-space-md);padding:var(--eden-space-lg);background:var(--eden-color-bg-glass-medium);-webkit-backdrop-filter:var(--eden-glass-medium);border-radius:var(--eden-radius-lg);border:1px solid var(--eden-color-border-light);display:flex}.eden-step{align-items:center;gap:var(--eden-space-sm);flex:1;display:flex;position:relative}.eden-step:after{content:"";left:calc(100% + var(--eden-space-sm));width:var(--eden-space-md);background:var(--eden-color-border-light);height:2px;position:absolute}.eden-step:last-child:after{display:none}.eden-step-number{border-radius:var(--eden-radius-round);background:var(--eden-color-bg-glass-light);border:2px solid var(--eden-color-border-medium);width:32px;height:32px;font-weight:var(--eden-font-weight-semibold);color:var(--eden-color-text-muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.eden-step-active .eden-step-number{background:var(--eden-color-accent-primary);border-color:var(--eden-color-accent-primary);color:#fff}.eden-step-completed .eden-step-number{background:var(--eden-color-success);border-color:var(--eden-color-success);color:#fff}.eden-step-label{font-size:var(--eden-font-size-sm);color:var(--eden-color-text-secondary)}.eden-step-active .eden-step-label{color:var(--eden-color-text-primary);font-weight:var(--eden-font-weight-medium)}.eden-tabs{width:100%}.eden-tab-list{gap:var(--eden-space-xs);padding:var(--eden-space-xs);background:var(--eden-color-bg-glass-medium);-webkit-backdrop-filter:var(--eden-glass-medium);border-radius:var(--eden-radius-lg);border:1px solid var(--eden-color-border-light);scrollbar-width:none;display:flex;overflow-x:auto}.eden-tab-list::-webkit-scrollbar{display:none}.eden-tab{padding:var(--eden-space-sm)var(--eden-space-lg);border-radius:var(--eden-radius-md);color:var(--eden-color-text-secondary);font-size:var(--eden-font-size-md);font-weight:var(--eden-font-weight-medium);cursor:pointer;transition:all var(--eden-transition-base);user-select:none;white-space:nowrap;background:0 0;border:none;outline:none;flex-shrink:0}.eden-tab:hover{background:var(--eden-color-bg-glass-light);color:var(--eden-color-text-primary)}.eden-tab-active{background:var(--eden-color-surface-elevated);color:var(--eden-color-text-primary);box-shadow:var(--eden-shadow-sm)}.eden-tab:focus-visible{outline:2px solid var(--eden-color-accent-primary);outline-offset:2px}.eden-tab:disabled{opacity:.5;cursor:not-allowed}.eden-tab-panels{padding:var(--eden-space-lg)}.eden-tab-panel{animation:eden-fade-in var(--eden-duration-normal)var(--eden-transition-ease-out);display:none}.eden-tab-panel-active{display:block}.eden-tab-list-underline{border:none;border-bottom:1px solid var(--eden-color-border-light);gap:var(--eden-space-lg);background:0 0;border-radius:0;padding:0}.eden-tab-underline{padding:var(--eden-space-md)0;border-radius:0;position:relative}.eden-tab-underline:after{content:"";height:2px;transition:background var(--eden-transition-base);background:0 0;position:absolute;bottom:-1px;left:0;right:0}.eden-tab-underline:hover:after{background:var(--eden-color-border-medium)}.eden-tab-underline.eden-tab-active:after{background:var(--eden-color-accent-primary)}.eden-tab-list-pills{gap:var(--eden-space-sm);background:0 0;border:none;padding:0}.eden-tab-pill{border-radius:var(--eden-radius-lg);background:var(--eden-color-bg-glass-medium);-webkit-backdrop-filter:var(--eden-glass-light);border:1px solid var(--eden-color-border-light)}.eden-tab-pill:hover{background:var(--eden-color-bg-glass-strong);border-color:var(--eden-color-border-medium)}.eden-tab-pill.eden-tab-active{background:linear-gradient(135deg,var(--eden-color-accent-blue),var(--eden-color-accent-blue-dark));color:#fff;border-color:#0000}.eden-tabs-vertical{gap:var(--eden-space-lg);display:flex}.eden-tab-list-vertical{flex-direction:column;flex-shrink:0;width:200px}.eden-tab-list-vertical .eden-tab{text-align:left;justify-content:flex-start;width:100%}.eden-tab-with-icon{align-items:center;gap:var(--eden-space-sm);display:flex}.eden-tab-icon{justify-content:center;align-items:center;width:18px;height:18px;display:flex}.eden-tab-badge{margin-left:var(--eden-space-xs);padding:2px var(--eden-space-xs);border-radius:var(--eden-radius-xs);background:var(--eden-color-danger);color:#fff;font-size:10px;font-weight:var(--eden-font-weight-bold)}.eden-sidebar{background:var(--eden-color-bg-glass-strong);width:280px;min-width:280px;max-height:100%;-webkit-backdrop-filter:var(--eden-glass-strong);border:1px solid var(--eden-color-border-light);border-radius:var(--eden-radius-xl);box-shadow:var(--eden-shadow-lg);flex-direction:column;display:flex;overflow:hidden}.eden-sidebar-compact{width:240px;min-width:240px}.eden-sidebar-wide{width:320px;min-width:320px}.eden-sidebar-header{padding:var(--eden-space-lg);border-bottom:1px solid var(--eden-color-border-light)}.eden-sidebar-header h2,.eden-sidebar-header-title{font-size:var(--eden-font-size-lg);font-weight:var(--eden-font-weight-semibold);color:var(--eden-color-text-primary);margin:0 0 var(--eden-space-sm)0}.eden-sidebar-header-subtitle{font-size:var(--eden-font-size-sm);color:var(--eden-color-text-muted);margin-top:var(--eden-space-xs)}.eden-sidebar-section{padding:var(--eden-space-md)}.eden-sidebar-section-scrollable{flex-direction:column;flex:1;display:flex;overflow:hidden}.eden-sidebar-section-title{font-size:var(--eden-font-size-xs);font-weight:var(--eden-font-weight-semibold);color:var(--eden-color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--eden-space-sm);padding:0 var(--eden-space-sm)}.eden-sidebar-divider{background:var(--eden-color-border-light);height:1px;margin:0 var(--eden-space-md)}.eden-sidebar-items{gap:var(--eden-space-xs);flex-direction:column;display:flex}.eden-sidebar-items-scrollable{flex:1;overflow-y:auto}.eden-sidebar-item{align-items:center;gap:var(--eden-space-md);padding:var(--eden-space-md);border-radius:var(--eden-radius-md);cursor:pointer;transition:all var(--eden-transition-base);color:var(--eden-color-text-secondary);user-select:none;display:flex}.eden-sidebar-item:hover{background:var(--eden-color-bg-glass-medium);color:var(--eden-color-text-primary)}.eden-sidebar-item-selected{background:var(--eden-color-surface-active);border:1px solid var(--eden-color-accent-primary);color:var(--eden-color-text-primary)}.eden-sidebar-item-disabled{opacity:.5;cursor:default}.eden-sidebar-item-disabled:hover{color:var(--eden-color-text-secondary);background:0 0}.eden-sidebar-item-icon{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:16px;display:flex}.eden-sidebar-item-icon img{border-radius:var(--eden-radius-sm);object-fit:contain;width:24px;height:24px}.eden-sidebar-item-icon-lg{width:32px;height:32px;font-size:20px}.eden-sidebar-item-icon-lg img{width:32px;height:32px}.eden-sidebar-item-text{font-size:var(--eden-font-size-sm);font-weight:var(--eden-font-weight-medium);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.eden-sidebar-item-meta{font-size:var(--eden-font-size-xs);color:var(--eden-color-text-muted);background:var(--eden-color-bg-glass-medium);padding:var(--eden-space-xs)var(--eden-space-sm);border-radius:var(--eden-radius-full);flex-shrink:0}.eden-sidebar-item-details{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.eden-sidebar-item-title{font-size:var(--eden-font-size-sm);font-weight:var(--eden-font-weight-medium);color:var(--eden-color-text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.eden-sidebar-item-subtitle{font-size:var(--eden-font-size-xs);color:var(--eden-color-text-muted);font-family:var(--eden-font-mono);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.eden-sidebar-search{width:100%;padding:var(--eden-space-sm)var(--eden-space-md);background:var(--eden-color-bg-glass-medium);border:1px solid var(--eden-color-border-light);border-radius:var(--eden-radius-md);color:var(--eden-color-text-primary);font-size:var(--eden-font-size-sm);transition:all var(--eden-transition-base);outline:none}.eden-sidebar-search:focus{border-color:var(--eden-color-accent-primary);box-shadow:0 0 0 2px #6366f11a}.eden-sidebar-search::placeholder{color:var(--eden-color-text-muted)}.eden-sidebar-footer{padding:var(--eden-space-md);border-top:1px solid var(--eden-color-border-light)}.eden-sidebar-item{animation:.2s ease-out eden-fade-in}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { FileOpenManager } from "./FileOpenManager";
|
|
2
|
+
import type { FileOpenResult, FileHandlerInfo } from "@edenapp/types";
|
|
3
|
+
/**
|
|
4
|
+
* FileOpenHandler
|
|
5
|
+
*
|
|
6
|
+
* Command endpoints for file opening functionality.
|
|
7
|
+
*/
|
|
8
|
+
export declare class FileOpenHandler {
|
|
9
|
+
private manager;
|
|
10
|
+
constructor(manager: FileOpenManager);
|
|
11
|
+
/**
|
|
12
|
+
* Open a file with its default handler
|
|
13
|
+
*/
|
|
14
|
+
handleOpen(args: {
|
|
15
|
+
path: string;
|
|
16
|
+
}): Promise<FileOpenResult>;
|
|
17
|
+
/**
|
|
18
|
+
* Open a file with a specific app
|
|
19
|
+
*/
|
|
20
|
+
handleOpenWith(args: {
|
|
21
|
+
path: string;
|
|
22
|
+
appId: string;
|
|
23
|
+
}): Promise<FileOpenResult>;
|
|
24
|
+
/**
|
|
25
|
+
* Get the default handler app for a file extension
|
|
26
|
+
*/
|
|
27
|
+
handleGetHandler(args: {
|
|
28
|
+
extension: string;
|
|
29
|
+
}): Promise<{
|
|
30
|
+
appId: string | undefined;
|
|
31
|
+
}>;
|
|
32
|
+
/**
|
|
33
|
+
* Set user preference for a file extension's default handler
|
|
34
|
+
*/
|
|
35
|
+
handleSetDefaultHandler(args: {
|
|
36
|
+
extension: string;
|
|
37
|
+
appId: string;
|
|
38
|
+
}): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Remove user preference for a file extension (revert to default)
|
|
41
|
+
*/
|
|
42
|
+
handleRemoveDefaultHandler(args: {
|
|
43
|
+
extension: string;
|
|
44
|
+
}): Promise<void>;
|
|
45
|
+
/**
|
|
46
|
+
* Get all apps that can handle a specific file extension
|
|
47
|
+
*/
|
|
48
|
+
handleGetSupportedHandlers(args: {
|
|
49
|
+
extension: string;
|
|
50
|
+
}): Promise<FileHandlerInfo[]>;
|
|
51
|
+
/**
|
|
52
|
+
* Get all file type associations
|
|
53
|
+
*/
|
|
54
|
+
handleGetAssociations(args: Record<string, never>): Promise<Record<string, {
|
|
55
|
+
default: string | undefined;
|
|
56
|
+
userOverride: string | undefined;
|
|
57
|
+
}>>;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=FileOpenHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileOpenHandler.d.ts","sourceRoot":"","sources":["../../src/file-open/FileOpenHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtE;;;;GAIG;AACH,qBACa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAkB;gBAErB,OAAO,EAAE,eAAe;IAIpC;;OAEG;IAEG,UAAU,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAKjE;;OAEG;IAEG,cAAc,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAKpF;;OAEG;IAEG,gBAAgB,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IAM3F;;OAEG;IAEG,uBAAuB,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxF;;OAEG;IAEG,0BAA0B,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5E;;OAEG;IAEG,0BAA0B,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAKzF;;OAEG;IAEG,qBAAqB,CACzB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAC1B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC,CAAC;CAG9F"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.FileOpenHandler = void 0;
|
|
13
|
+
const ipc_1 = require("../ipc");
|
|
14
|
+
const FileOpenManager_1 = require("./FileOpenManager");
|
|
15
|
+
/**
|
|
16
|
+
* FileOpenHandler
|
|
17
|
+
*
|
|
18
|
+
* Command endpoints for file opening functionality.
|
|
19
|
+
*/
|
|
20
|
+
let FileOpenHandler = class FileOpenHandler {
|
|
21
|
+
manager;
|
|
22
|
+
constructor(manager) {
|
|
23
|
+
this.manager = manager;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Open a file with its default handler
|
|
27
|
+
*/
|
|
28
|
+
async handleOpen(args) {
|
|
29
|
+
const { path } = args;
|
|
30
|
+
return this.manager.openFile(path);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Open a file with a specific app
|
|
34
|
+
*/
|
|
35
|
+
async handleOpenWith(args) {
|
|
36
|
+
const { path, appId } = args;
|
|
37
|
+
return this.manager.openFileWith(path, appId);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Get the default handler app for a file extension
|
|
41
|
+
*/
|
|
42
|
+
async handleGetHandler(args) {
|
|
43
|
+
const { extension } = args;
|
|
44
|
+
const appId = this.manager.getHandlerForExtension(extension);
|
|
45
|
+
return { appId };
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Set user preference for a file extension's default handler
|
|
49
|
+
*/
|
|
50
|
+
async handleSetDefaultHandler(args) {
|
|
51
|
+
const { extension, appId } = args;
|
|
52
|
+
await this.manager.setDefaultHandler(extension, appId);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Remove user preference for a file extension (revert to default)
|
|
56
|
+
*/
|
|
57
|
+
async handleRemoveDefaultHandler(args) {
|
|
58
|
+
const { extension } = args;
|
|
59
|
+
await this.manager.removeDefaultHandler(extension);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Get all apps that can handle a specific file extension
|
|
63
|
+
*/
|
|
64
|
+
async handleGetSupportedHandlers(args) {
|
|
65
|
+
const { extension } = args;
|
|
66
|
+
return this.manager.getSupportedHandlers(extension);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Get all file type associations
|
|
70
|
+
*/
|
|
71
|
+
async handleGetAssociations(args) {
|
|
72
|
+
return this.manager.getAllAssociations();
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
exports.FileOpenHandler = FileOpenHandler;
|
|
76
|
+
__decorate([
|
|
77
|
+
(0, ipc_1.EdenHandler)("open"),
|
|
78
|
+
__metadata("design:type", Function),
|
|
79
|
+
__metadata("design:paramtypes", [Object]),
|
|
80
|
+
__metadata("design:returntype", Promise)
|
|
81
|
+
], FileOpenHandler.prototype, "handleOpen", null);
|
|
82
|
+
__decorate([
|
|
83
|
+
(0, ipc_1.EdenHandler)("open-with"),
|
|
84
|
+
__metadata("design:type", Function),
|
|
85
|
+
__metadata("design:paramtypes", [Object]),
|
|
86
|
+
__metadata("design:returntype", Promise)
|
|
87
|
+
], FileOpenHandler.prototype, "handleOpenWith", null);
|
|
88
|
+
__decorate([
|
|
89
|
+
(0, ipc_1.EdenHandler)("get-handler"),
|
|
90
|
+
__metadata("design:type", Function),
|
|
91
|
+
__metadata("design:paramtypes", [Object]),
|
|
92
|
+
__metadata("design:returntype", Promise)
|
|
93
|
+
], FileOpenHandler.prototype, "handleGetHandler", null);
|
|
94
|
+
__decorate([
|
|
95
|
+
(0, ipc_1.EdenHandler)("set-default-handler"),
|
|
96
|
+
__metadata("design:type", Function),
|
|
97
|
+
__metadata("design:paramtypes", [Object]),
|
|
98
|
+
__metadata("design:returntype", Promise)
|
|
99
|
+
], FileOpenHandler.prototype, "handleSetDefaultHandler", null);
|
|
100
|
+
__decorate([
|
|
101
|
+
(0, ipc_1.EdenHandler)("remove-default-handler"),
|
|
102
|
+
__metadata("design:type", Function),
|
|
103
|
+
__metadata("design:paramtypes", [Object]),
|
|
104
|
+
__metadata("design:returntype", Promise)
|
|
105
|
+
], FileOpenHandler.prototype, "handleRemoveDefaultHandler", null);
|
|
106
|
+
__decorate([
|
|
107
|
+
(0, ipc_1.EdenHandler)("get-supported-handlers"),
|
|
108
|
+
__metadata("design:type", Function),
|
|
109
|
+
__metadata("design:paramtypes", [Object]),
|
|
110
|
+
__metadata("design:returntype", Promise)
|
|
111
|
+
], FileOpenHandler.prototype, "handleGetSupportedHandlers", null);
|
|
112
|
+
__decorate([
|
|
113
|
+
(0, ipc_1.EdenHandler)("get-associations"),
|
|
114
|
+
__metadata("design:type", Function),
|
|
115
|
+
__metadata("design:paramtypes", [Object]),
|
|
116
|
+
__metadata("design:returntype", Promise)
|
|
117
|
+
], FileOpenHandler.prototype, "handleGetAssociations", null);
|
|
118
|
+
exports.FileOpenHandler = FileOpenHandler = __decorate([
|
|
119
|
+
(0, ipc_1.EdenNamespace)("file"),
|
|
120
|
+
__metadata("design:paramtypes", [FileOpenManager_1.FileOpenManager])
|
|
121
|
+
], FileOpenHandler);
|
|
122
|
+
//# sourceMappingURL=FileOpenHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileOpenHandler.js","sourceRoot":"","sources":["../../src/file-open/FileOpenHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gCAAoD;AACpD,uDAAoD;AAGpD;;;;GAIG;AAEI,IAAM,eAAe,GAArB,MAAM,eAAe;IAClB,OAAO,CAAkB;IAEjC,YAAY,OAAwB;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;OAEG;IAEG,AAAN,KAAK,CAAC,UAAU,CAAC,IAAsB;QACrC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IAEG,AAAN,KAAK,CAAC,cAAc,CAAC,IAAqC;QACxD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IAEG,AAAN,KAAK,CAAC,gBAAgB,CAAC,IAA2B;QAChD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QAC7D,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC;IAED;;OAEG;IAEG,AAAN,KAAK,CAAC,uBAAuB,CAAC,IAA0C;QACtE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAClC,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IAEG,AAAN,KAAK,CAAC,0BAA0B,CAAC,IAA2B;QAC1D,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAC3B,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IAEG,AAAN,KAAK,CAAC,0BAA0B,CAAC,IAA2B;QAC1D,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IAEG,AAAN,KAAK,CAAC,qBAAqB,CACzB,IAA2B;QAE3B,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAC3C,CAAC;CACF,CAAA;AAvEY,0CAAe;AAWpB;IADL,IAAA,iBAAW,EAAC,MAAM,CAAC;;;;iDAInB;AAMK;IADL,IAAA,iBAAW,EAAC,WAAW,CAAC;;;;qDAIxB;AAMK;IADL,IAAA,iBAAW,EAAC,aAAa,CAAC;;;;uDAK1B;AAMK;IADL,IAAA,iBAAW,EAAC,qBAAqB,CAAC;;;;8DAIlC;AAMK;IADL,IAAA,iBAAW,EAAC,wBAAwB,CAAC;;;;iEAIrC;AAMK;IADL,IAAA,iBAAW,EAAC,wBAAwB,CAAC;;;;iEAIrC;AAMK;IADL,IAAA,iBAAW,EAAC,kBAAkB,CAAC;;;;4DAK/B;0BAtEU,eAAe;IAD3B,IAAA,mBAAa,EAAC,MAAM,CAAC;qCAIC,iCAAe;GAHzB,eAAe,CAuE3B"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { PackageManager } from "../package-manager";
|
|
2
|
+
import { ProcessManager } from "../process-manager";
|
|
3
|
+
import { ViewManager } from "../view-manager";
|
|
4
|
+
import { FilesystemManager } from "../filesystem";
|
|
5
|
+
import { IPCBridge, CommandRegistry, EdenEmitter } from "../ipc";
|
|
6
|
+
import type { FileOpenResult, FileHandlerInfo } from "@edenapp/types";
|
|
7
|
+
/**
|
|
8
|
+
* Events emitted by the FileOpenManager
|
|
9
|
+
*/
|
|
10
|
+
interface FileNamespaceEvents {
|
|
11
|
+
opened: {
|
|
12
|
+
path: string;
|
|
13
|
+
isDirectory: boolean;
|
|
14
|
+
appId: string;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* FileOpenManager
|
|
19
|
+
*
|
|
20
|
+
* Manages file type associations and handles opening files with appropriate applications.
|
|
21
|
+
*/
|
|
22
|
+
export declare class FileOpenManager extends EdenEmitter<FileNamespaceEvents> {
|
|
23
|
+
private packageManager;
|
|
24
|
+
private processManager;
|
|
25
|
+
private viewManager;
|
|
26
|
+
private fsManager;
|
|
27
|
+
private userDirectory;
|
|
28
|
+
private preferencesPath;
|
|
29
|
+
private fileOpenHandler;
|
|
30
|
+
private defaultRegistry;
|
|
31
|
+
private userPreferences;
|
|
32
|
+
private static readonly DIRECTORY_KEY;
|
|
33
|
+
constructor(userDirectory: string, packageManager: PackageManager, processManager: ProcessManager, viewManager: ViewManager, fsManager: FilesystemManager, ipcBridge: IPCBridge, commandRegistry: CommandRegistry);
|
|
34
|
+
/**
|
|
35
|
+
* Initialize with user preferences loaded from disk
|
|
36
|
+
*/
|
|
37
|
+
initialize(): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Set up built-in default handlers
|
|
40
|
+
*/
|
|
41
|
+
private initializeDefaultRegistry;
|
|
42
|
+
/**
|
|
43
|
+
* Load user preferences from disk
|
|
44
|
+
*/
|
|
45
|
+
private loadUserPreferences;
|
|
46
|
+
/**
|
|
47
|
+
* Save user preferences to disk
|
|
48
|
+
*/
|
|
49
|
+
private saveUserPreferences;
|
|
50
|
+
/**
|
|
51
|
+
* Get the file extension from a path (lowercase, without dot)
|
|
52
|
+
*/
|
|
53
|
+
private getExtension;
|
|
54
|
+
/**
|
|
55
|
+
* Get the handler app ID for a file path
|
|
56
|
+
*/
|
|
57
|
+
getHandler(filePath: string, isDirectory?: boolean): string | undefined;
|
|
58
|
+
/**
|
|
59
|
+
* Get handler for a specific extension
|
|
60
|
+
*/
|
|
61
|
+
getHandlerForExtension(extension: string): string | undefined;
|
|
62
|
+
/**
|
|
63
|
+
* Set user preference for a file extension
|
|
64
|
+
*/
|
|
65
|
+
setDefaultHandler(extension: string, appId: string): Promise<void>;
|
|
66
|
+
/**
|
|
67
|
+
* Remove user preference for a file extension (revert to default)
|
|
68
|
+
*/
|
|
69
|
+
removeDefaultHandler(extension: string): Promise<void>;
|
|
70
|
+
/**
|
|
71
|
+
* Get all apps that can handle a specific extension
|
|
72
|
+
*/
|
|
73
|
+
getSupportedHandlers(extension: string): FileHandlerInfo[];
|
|
74
|
+
/**
|
|
75
|
+
* Get all file type associations
|
|
76
|
+
*/
|
|
77
|
+
getAllAssociations(): Record<string, {
|
|
78
|
+
default: string | undefined;
|
|
79
|
+
userOverride: string | undefined;
|
|
80
|
+
}>;
|
|
81
|
+
/**
|
|
82
|
+
* Open a file with its default handler
|
|
83
|
+
*/
|
|
84
|
+
openFile(filePath: string): Promise<FileOpenResult>;
|
|
85
|
+
/**
|
|
86
|
+
* Open a file with a specific app
|
|
87
|
+
*/
|
|
88
|
+
openFileWith(filePath: string, appId: string): Promise<FileOpenResult>;
|
|
89
|
+
}
|
|
90
|
+
export {};
|
|
91
|
+
//# sourceMappingURL=FileOpenManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileOpenManager.d.ts","sourceRoot":"","sources":["../../src/file-open/FileOpenManager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAiB,WAAW,EAAE,MAAM,QAAQ,CAAC;AAEhF,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtE;;GAEG;AACH,UAAU,mBAAmB;IAC3B,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/D;AAED;;;;GAIG;AACH,qBAGa,eAAgB,SAAQ,WAAW,CAAC,mBAAmB,CAAC;IAgBzC,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,cAAc;IACzB,OAAO,CAAC,WAAW;IACb,OAAO,CAAC,SAAS;IAlB9C,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,eAAe,CAAkB;IAGzC,OAAO,CAAC,eAAe,CAAkC;IAGzD,OAAO,CAAC,eAAe,CAAkC;IAGzD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAmB;gBAG7B,aAAa,EAAE,MAAM,EACd,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EACjC,WAAW,EAAE,WAAW,EAClB,SAAS,EAAE,iBAAiB,EAC5C,SAAS,EAAE,SAAS,EACd,eAAe,EAAE,eAAe;IAa3D;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAOjC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAqEjC;;OAEG;YACW,mBAAmB;IAWjC;;OAEG;YACW,mBAAmB;IAMjC;;OAEG;IACH,OAAO,CAAC,YAAY;IAKpB;;OAEG;IACH,UAAU,CACR,QAAQ,EAAE,MAAM,EAChB,WAAW,GAAE,OAAe,GAC3B,MAAM,GAAG,SAAS;IAcrB;;OAEG;IACH,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAY7D;;OAEG;IACG,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMxE;;OAEG;IACG,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5D;;OAEG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,EAAE;IAqC1D;;OAEG;IACH,kBAAkB,IAAI,MAAM,CAC1B,MAAM,EACN;QAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAClE;IA2BD;;OAEG;IACG,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IA6DzD;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;CA8C7E"}
|