@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,319 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Text Editor - Styles
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
* {
|
|
6
|
+
margin: 0;
|
|
7
|
+
padding: 0;
|
|
8
|
+
box-sizing: border-box;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
html, body, #root {
|
|
12
|
+
height: 100%;
|
|
13
|
+
width: 100%;
|
|
14
|
+
overflow: hidden;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
body {
|
|
18
|
+
background: var(--eden-color-bg-secondary);
|
|
19
|
+
backdrop-filter: var(--eden-glass-medium);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/* ===== Main Layout ===== */
|
|
23
|
+
.editor-app {
|
|
24
|
+
display: flex;
|
|
25
|
+
flex-direction: column;
|
|
26
|
+
height: 100%;
|
|
27
|
+
color: var(--eden-color-text-primary);
|
|
28
|
+
font-family: var(--eden-font-family-base);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/* ===== Tab Bar (VSCode-style) ===== */
|
|
32
|
+
.editor-tabs {
|
|
33
|
+
display: flex;
|
|
34
|
+
align-items: center;
|
|
35
|
+
border-bottom: 1px solid var(--eden-color-border-light);
|
|
36
|
+
min-height: 36px;
|
|
37
|
+
overflow-x: auto;
|
|
38
|
+
scrollbar-width: none;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.editor-tabs::-webkit-scrollbar {
|
|
42
|
+
display: none;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.editor-tab {
|
|
46
|
+
display: flex;
|
|
47
|
+
align-items: center;
|
|
48
|
+
gap: var(--eden-space-sm);
|
|
49
|
+
padding: var(--eden-space-sm) var(--eden-space-md);
|
|
50
|
+
border-right: 1px solid var(--eden-color-border-light);
|
|
51
|
+
background: transparent;
|
|
52
|
+
color: var(--eden-color-text-secondary);
|
|
53
|
+
font-size: var(--eden-font-size-sm);
|
|
54
|
+
font-weight: var(--eden-font-weight-medium);
|
|
55
|
+
cursor: pointer;
|
|
56
|
+
transition: all var(--eden-transition-base);
|
|
57
|
+
white-space: nowrap;
|
|
58
|
+
max-width: 200px;
|
|
59
|
+
min-width: 100px;
|
|
60
|
+
border: none;
|
|
61
|
+
outline: none;
|
|
62
|
+
font-family: var(--eden-font-family-base);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.editor-tab:hover {
|
|
66
|
+
background: var(--eden-color-bg-glass-light);
|
|
67
|
+
color: var(--eden-color-text-primary);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.editor-tab.active {
|
|
71
|
+
background: var(--eden-color-bg-primary);
|
|
72
|
+
color: var(--eden-color-text-primary);
|
|
73
|
+
border-bottom: 2px solid var(--eden-color-accent-primary);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.editor-tab.modified::after {
|
|
77
|
+
content: '';
|
|
78
|
+
width: 8px;
|
|
79
|
+
height: 8px;
|
|
80
|
+
border-radius: 50%;
|
|
81
|
+
background: var(--eden-color-warning);
|
|
82
|
+
flex-shrink: 0;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.tab-name {
|
|
86
|
+
flex: 1;
|
|
87
|
+
overflow: hidden;
|
|
88
|
+
text-overflow: ellipsis;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.tab-close {
|
|
92
|
+
display: flex;
|
|
93
|
+
align-items: center;
|
|
94
|
+
justify-content: center;
|
|
95
|
+
width: 16px;
|
|
96
|
+
height: 16px;
|
|
97
|
+
border-radius: var(--eden-radius-xs);
|
|
98
|
+
background: transparent;
|
|
99
|
+
border: none;
|
|
100
|
+
color: var(--eden-color-text-muted);
|
|
101
|
+
font-size: var(--eden-font-size-sm);
|
|
102
|
+
cursor: pointer;
|
|
103
|
+
opacity: 0;
|
|
104
|
+
transition: all var(--eden-transition-base);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.editor-tab:hover .tab-close {
|
|
108
|
+
opacity: 1;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.tab-close:hover {
|
|
112
|
+
background: var(--eden-color-danger);
|
|
113
|
+
color: white;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/* ===== Toolbar ===== */
|
|
117
|
+
.editor-toolbar {
|
|
118
|
+
display: flex;
|
|
119
|
+
justify-content: space-between;
|
|
120
|
+
align-items: center;
|
|
121
|
+
padding: var(--eden-space-xs) var(--eden-space-md);
|
|
122
|
+
background: var(--eden-color-bg-glass-light);
|
|
123
|
+
border-bottom: 1px solid var(--eden-color-border-light);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.toolbar-info {
|
|
127
|
+
display: flex;
|
|
128
|
+
align-items: center;
|
|
129
|
+
gap: var(--eden-space-md);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.file-path {
|
|
133
|
+
font-size: var(--eden-font-size-xs);
|
|
134
|
+
color: var(--eden-color-text-muted);
|
|
135
|
+
font-family: var(--eden-font-mono);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.file-language {
|
|
139
|
+
font-size: var(--eden-font-size-xs);
|
|
140
|
+
color: var(--eden-color-text-secondary);
|
|
141
|
+
padding: var(--eden-space-xs) var(--eden-space-sm);
|
|
142
|
+
background: var(--eden-color-bg-glass-medium);
|
|
143
|
+
border-radius: var(--eden-radius-sm);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.toolbar-actions {
|
|
147
|
+
display: flex;
|
|
148
|
+
gap: var(--eden-space-sm);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/* ===== Error Banner ===== */
|
|
152
|
+
.error-banner {
|
|
153
|
+
display: flex;
|
|
154
|
+
justify-content: space-between;
|
|
155
|
+
align-items: center;
|
|
156
|
+
padding: var(--eden-space-sm) var(--eden-space-md);
|
|
157
|
+
background: var(--eden-color-danger);
|
|
158
|
+
color: white;
|
|
159
|
+
font-size: var(--eden-font-size-sm);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
.error-banner button {
|
|
163
|
+
background: rgba(255, 255, 255, 0.2);
|
|
164
|
+
border: none;
|
|
165
|
+
color: white;
|
|
166
|
+
width: 20px;
|
|
167
|
+
height: 20px;
|
|
168
|
+
border-radius: var(--eden-radius-xs);
|
|
169
|
+
cursor: pointer;
|
|
170
|
+
display: flex;
|
|
171
|
+
align-items: center;
|
|
172
|
+
justify-content: center;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
.error-banner button:hover {
|
|
176
|
+
background: rgba(255, 255, 255, 0.3);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/* ===== Empty State ===== */
|
|
180
|
+
.empty-state {
|
|
181
|
+
display: flex;
|
|
182
|
+
flex-direction: column;
|
|
183
|
+
align-items: center;
|
|
184
|
+
justify-content: center;
|
|
185
|
+
flex: 1;
|
|
186
|
+
gap: var(--eden-space-lg);
|
|
187
|
+
padding: var(--eden-space-4xl);
|
|
188
|
+
text-align: center;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
.empty-state h2 {
|
|
192
|
+
font-size: var(--eden-font-size-xl);
|
|
193
|
+
font-weight: var(--eden-font-weight-semibold);
|
|
194
|
+
color: var(--eden-color-text-primary);
|
|
195
|
+
margin: 0;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
.empty-state p {
|
|
199
|
+
font-size: var(--eden-font-size-sm);
|
|
200
|
+
color: var(--eden-color-text-muted);
|
|
201
|
+
max-width: 300px;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
.empty-state-icon {
|
|
205
|
+
width: 64px;
|
|
206
|
+
height: 64px;
|
|
207
|
+
border-radius: var(--eden-radius-xl);
|
|
208
|
+
background: var(--eden-color-bg-glass-medium);
|
|
209
|
+
display: flex;
|
|
210
|
+
align-items: center;
|
|
211
|
+
justify-content: center;
|
|
212
|
+
font-size: var(--eden-font-size-3xl);
|
|
213
|
+
color: var(--eden-color-text-muted);
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
/* ===== Editor Container ===== */
|
|
217
|
+
.editor-container {
|
|
218
|
+
flex: 1;
|
|
219
|
+
overflow: hidden;
|
|
220
|
+
position: relative;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
/* ===== Welcome Tab ===== */
|
|
224
|
+
.welcome-content {
|
|
225
|
+
flex: 1;
|
|
226
|
+
display: flex;
|
|
227
|
+
flex-direction: column;
|
|
228
|
+
align-items: center;
|
|
229
|
+
justify-content: center;
|
|
230
|
+
gap: var(--eden-space-xl);
|
|
231
|
+
padding: var(--eden-space-4xl);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
.welcome-content h1 {
|
|
235
|
+
font-size: var(--eden-font-size-2xl);
|
|
236
|
+
font-weight: var(--eden-font-weight-semibold);
|
|
237
|
+
color: var(--eden-color-text-primary);
|
|
238
|
+
margin: 0;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
.welcome-content p {
|
|
242
|
+
font-size: var(--eden-font-size-md);
|
|
243
|
+
color: var(--eden-color-text-secondary);
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
.welcome-shortcuts {
|
|
247
|
+
display: flex;
|
|
248
|
+
flex-direction: column;
|
|
249
|
+
gap: var(--eden-space-sm);
|
|
250
|
+
margin-top: var(--eden-space-lg);
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
.shortcut-item {
|
|
254
|
+
display: flex;
|
|
255
|
+
align-items: center;
|
|
256
|
+
gap: var(--eden-space-md);
|
|
257
|
+
font-size: var(--eden-font-size-sm);
|
|
258
|
+
color: var(--eden-color-text-secondary);
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
.shortcut-key {
|
|
262
|
+
padding: var(--eden-space-xs) var(--eden-space-sm);
|
|
263
|
+
background: var(--eden-color-bg-glass-strong);
|
|
264
|
+
border: 1px solid var(--eden-color-border-light);
|
|
265
|
+
border-radius: var(--eden-radius-sm);
|
|
266
|
+
font-family: var(--eden-font-mono);
|
|
267
|
+
font-size: var(--eden-font-size-xs);
|
|
268
|
+
color: var(--eden-color-text-primary);
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
/* ===== Monaco Lazy Loading ===== */
|
|
272
|
+
.monaco-loading {
|
|
273
|
+
position: absolute;
|
|
274
|
+
top: 0;
|
|
275
|
+
left: 0;
|
|
276
|
+
right: 0;
|
|
277
|
+
bottom: 0;
|
|
278
|
+
display: flex;
|
|
279
|
+
flex-direction: column;
|
|
280
|
+
align-items: center;
|
|
281
|
+
justify-content: center;
|
|
282
|
+
gap: var(--eden-space-md);
|
|
283
|
+
background: var(--eden-color-bg-primary);
|
|
284
|
+
color: var(--eden-color-text-secondary);
|
|
285
|
+
font-size: var(--eden-font-size-sm);
|
|
286
|
+
z-index: 10;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
.monaco-loading-spinner {
|
|
290
|
+
width: 32px;
|
|
291
|
+
height: 32px;
|
|
292
|
+
border: 3px solid var(--eden-color-border-light);
|
|
293
|
+
border-top-color: var(--eden-color-accent-primary);
|
|
294
|
+
border-radius: 50%;
|
|
295
|
+
animation: monaco-spin 0.8s linear infinite;
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
@keyframes monaco-spin {
|
|
299
|
+
to {
|
|
300
|
+
transform: rotate(360deg);
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
.monaco-error {
|
|
305
|
+
position: absolute;
|
|
306
|
+
top: 0;
|
|
307
|
+
left: 0;
|
|
308
|
+
right: 0;
|
|
309
|
+
bottom: 0;
|
|
310
|
+
display: flex;
|
|
311
|
+
align-items: center;
|
|
312
|
+
justify-content: center;
|
|
313
|
+
background: var(--eden-color-bg-primary);
|
|
314
|
+
color: var(--eden-color-danger);
|
|
315
|
+
font-size: var(--eden-font-size-sm);
|
|
316
|
+
padding: var(--eden-space-lg);
|
|
317
|
+
text-align: center;
|
|
318
|
+
}
|
|
319
|
+
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
// Tab interface for managing multiple open files
|
|
2
|
+
export interface EditorTab {
|
|
3
|
+
id: string;
|
|
4
|
+
path: string;
|
|
5
|
+
name: string;
|
|
6
|
+
content: string;
|
|
7
|
+
originalContent: string;
|
|
8
|
+
isModified: boolean;
|
|
9
|
+
language: string;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
// File opened event type
|
|
13
|
+
export interface FileOpenedEvent {
|
|
14
|
+
path: string;
|
|
15
|
+
isDirectory: boolean;
|
|
16
|
+
appId: string;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// Extension to Monaco language mapping
|
|
20
|
+
export const extensionToLanguage: Record<string, string> = {
|
|
21
|
+
// Text
|
|
22
|
+
txt: "plaintext",
|
|
23
|
+
md: "markdown",
|
|
24
|
+
markdown: "markdown",
|
|
25
|
+
log: "plaintext",
|
|
26
|
+
|
|
27
|
+
// JavaScript/TypeScript
|
|
28
|
+
js: "javascript",
|
|
29
|
+
jsx: "javascript",
|
|
30
|
+
mjs: "javascript",
|
|
31
|
+
cjs: "javascript",
|
|
32
|
+
ts: "typescript",
|
|
33
|
+
tsx: "typescript",
|
|
34
|
+
mts: "typescript",
|
|
35
|
+
cts: "typescript",
|
|
36
|
+
|
|
37
|
+
// Web
|
|
38
|
+
html: "html",
|
|
39
|
+
htm: "html",
|
|
40
|
+
css: "css",
|
|
41
|
+
less: "less",
|
|
42
|
+
|
|
43
|
+
// Data
|
|
44
|
+
json: "json",
|
|
45
|
+
yaml: "yaml",
|
|
46
|
+
yml: "yaml",
|
|
47
|
+
toml: "ini",
|
|
48
|
+
|
|
49
|
+
// Config
|
|
50
|
+
ini: "ini",
|
|
51
|
+
cfg: "ini",
|
|
52
|
+
conf: "ini",
|
|
53
|
+
env: "shell",
|
|
54
|
+
|
|
55
|
+
// Shell scripts
|
|
56
|
+
sh: "shell",
|
|
57
|
+
bash: "shell",
|
|
58
|
+
zsh: "shell",
|
|
59
|
+
fish: "shell",
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
export function getLanguageFromPath(filePath: string): string {
|
|
63
|
+
const ext = filePath.split(".").pop()?.toLowerCase() || "";
|
|
64
|
+
return extensionToLanguage[ext] || "plaintext";
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export function getFileName(filePath: string): string {
|
|
68
|
+
return filePath.split("/").pop() || "Untitled";
|
|
69
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2020",
|
|
4
|
+
"useDefineForClassFields": true,
|
|
5
|
+
"module": "ESNext",
|
|
6
|
+
"lib": ["ES2020", "DOM", "DOM.Iterable"],
|
|
7
|
+
"skipLibCheck": true,
|
|
8
|
+
"moduleResolution": "bundler",
|
|
9
|
+
"allowImportingTsExtensions": true,
|
|
10
|
+
"resolveJsonModule": true,
|
|
11
|
+
"isolatedModules": true,
|
|
12
|
+
"noEmit": true,
|
|
13
|
+
"jsx": "preserve",
|
|
14
|
+
"jsxImportSource": "solid-js",
|
|
15
|
+
"strict": true,
|
|
16
|
+
"noUnusedLocals": true,
|
|
17
|
+
"noUnusedParameters": true,
|
|
18
|
+
"noFallthroughCasesInSwitch": true,
|
|
19
|
+
"types": [
|
|
20
|
+
"@edenapp/types/global"
|
|
21
|
+
]
|
|
22
|
+
},
|
|
23
|
+
"include": ["src"]
|
|
24
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { defineConfig } from "vite";
|
|
2
|
+
import solidPlugin from "vite-plugin-solid";
|
|
3
|
+
import { monaco } from "@bithero/monaco-editor-vite-plugin";
|
|
4
|
+
import { fileURLToPath } from "url";
|
|
5
|
+
import { dirname, resolve } from "path";
|
|
6
|
+
|
|
7
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
8
|
+
const __dirname = dirname(__filename);
|
|
9
|
+
|
|
10
|
+
export default defineConfig({
|
|
11
|
+
plugins: [
|
|
12
|
+
solidPlugin(),
|
|
13
|
+
// Configure Monaco for syntax highlighting only (no language servers)
|
|
14
|
+
// Syntax highlighting still works via Monarch tokenizers
|
|
15
|
+
monaco({
|
|
16
|
+
// Only include features we need for a text editor (not an IDE)
|
|
17
|
+
features: [
|
|
18
|
+
"bracketMatching",
|
|
19
|
+
"clipboard",
|
|
20
|
+
"find",
|
|
21
|
+
"folding",
|
|
22
|
+
"fontZoom",
|
|
23
|
+
"indentation",
|
|
24
|
+
"lineSelection",
|
|
25
|
+
"links",
|
|
26
|
+
"multicursor",
|
|
27
|
+
"wordHighlighter",
|
|
28
|
+
"wordOperations",
|
|
29
|
+
"wordPartOperations",
|
|
30
|
+
],
|
|
31
|
+
// Don't use built-in languages (they include heavy language service workers)
|
|
32
|
+
languages: [],
|
|
33
|
+
// Use customLanguages to include ONLY the basic syntax highlighting
|
|
34
|
+
// without the language service workers (IntelliSense, error checking, etc.)
|
|
35
|
+
customLanguages: [
|
|
36
|
+
// TypeScript/JavaScript - only basic syntax highlighting, no tsserver
|
|
37
|
+
{ label: "typescript", entry: "vs/basic-languages/typescript/typescript.contribution" },
|
|
38
|
+
{ label: "javascript", entry: "vs/basic-languages/javascript/javascript.contribution" },
|
|
39
|
+
// Web languages - only syntax highlighting, no workers
|
|
40
|
+
{ label: "html", entry: "vs/basic-languages/html/html.contribution" },
|
|
41
|
+
{ label: "css", entry: "vs/basic-languages/css/css.contribution" },
|
|
42
|
+
{ label: "less", entry: "vs/basic-languages/less/less.contribution" },
|
|
43
|
+
// Data formats
|
|
44
|
+
{ label: "json", entry: "vs/language/json/monaco.contribution" }, // JSON doesn't have basic-languages, use the lightweight contribution
|
|
45
|
+
{ label: "yaml", entry: "vs/basic-languages/yaml/yaml.contribution" },
|
|
46
|
+
// Config files
|
|
47
|
+
{ label: "ini", entry: "vs/basic-languages/ini/ini.contribution" },
|
|
48
|
+
{ label: "shell", entry: "vs/basic-languages/shell/shell.contribution" },
|
|
49
|
+
// Markdown
|
|
50
|
+
{ label: "markdown", entry: "vs/basic-languages/markdown/markdown.contribution" },
|
|
51
|
+
],
|
|
52
|
+
globalAPI: false,
|
|
53
|
+
}),
|
|
54
|
+
],
|
|
55
|
+
base: "./",
|
|
56
|
+
root: __dirname,
|
|
57
|
+
build: {
|
|
58
|
+
outDir: "./dist",
|
|
59
|
+
emptyOutDir: true,
|
|
60
|
+
rollupOptions: {
|
|
61
|
+
input: resolve(__dirname, "index.html"),
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
resolve: {
|
|
65
|
+
conditions: ["development", "browser"],
|
|
66
|
+
},
|
|
67
|
+
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<svg width="64" height="64" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<defs>
|
|
3
|
+
<linearGradient id="bg" x1="32" y1="4" x2="32" y2="60" gradientUnits="userSpaceOnUse">
|
|
4
|
+
<stop stop-color="#4a4a4a"/>
|
|
5
|
+
<stop offset="1" stop-color="#3a3a3a"/>
|
|
6
|
+
</linearGradient>
|
|
7
|
+
</defs>
|
|
8
|
+
<!-- Squircle background with gradient -->
|
|
9
|
+
<rect x="4" y="4" width="56" height="56" rx="14" fill="url(#bg)"/>
|
|
10
|
+
<!-- Grid of 4 squares icon centered -->
|
|
11
|
+
<g transform="translate(16, 16)" fill="#e0e0e0">
|
|
12
|
+
<rect x="2" y="2" width="12" height="12" rx="2"/>
|
|
13
|
+
<rect x="18" y="2" width="12" height="12" rx="2"/>
|
|
14
|
+
<rect x="2" y="18" width="12" height="12" rx="2"/>
|
|
15
|
+
<rect x="18" y="18" width="12" height="12" rx="2"/>
|
|
16
|
+
</g>
|
|
17
|
+
</svg>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<svg width="64" height="64" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<defs>
|
|
3
|
+
<linearGradient id="bg" x1="32" y1="4" x2="32" y2="60" gradientUnits="userSpaceOnUse">
|
|
4
|
+
<stop stop-color="#4a4a4a"/>
|
|
5
|
+
<stop offset="1" stop-color="#3a3a3a"/>
|
|
6
|
+
</linearGradient>
|
|
7
|
+
</defs>
|
|
8
|
+
<!-- Squircle background with gradient -->
|
|
9
|
+
<rect x="4" y="4" width="56" height="56" rx="14" fill="url(#bg)"/>
|
|
10
|
+
<!-- Document lines icon centered -->
|
|
11
|
+
<g transform="translate(16, 16)" fill="#e0e0e0">
|
|
12
|
+
<rect x="5" y="6" width="22" height="3" rx="1.5"/>
|
|
13
|
+
<rect x="5" y="13" width="22" height="3" rx="1.5"/>
|
|
14
|
+
<rect x="5" y="20" width="15" height="3" rx="1.5"/>
|
|
15
|
+
<rect x="5" y="27" width="22" height="3" rx="1.5"/>
|
|
16
|
+
</g>
|
|
17
|
+
</svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--eden-font-family-base);background:transparent;color:var(--eden-color-text-primary);overflow:hidden;height:100vh;width:100vw}#root{width:100%;height:100%}.shell-overlay{display:flex;flex-direction:column;width:100%;height:100%;transition:height .3s cubic-bezier(.22,1,.36,1)}.shell-overlay[data-mode=dock]{height:var(--eden-layout-dock-height);max-height:var(--eden-layout-dock-height);overflow:hidden}.shell-overlay[data-mode=fullscreen]{height:100vh;max-height:100vh}.shell-overlay[data-mode=fullscreen] .dock{position:absolute;bottom:0;left:0;right:0}.dock{height:var(--eden-layout-dock-height);background:transparent;display:flex;justify-content:center;align-items:center;padding:var(--eden-space-sm);position:relative;overflow:visible}.dock.dock-initial{animation:dockSlideIn .3s cubic-bezier(.22,1,.36,1) forwards}@keyframes dockSlideIn{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.dock:before{content:"";position:absolute;left:var(--eden-space-sm);right:var(--eden-space-sm);bottom:var(--eden-space-sm);height:calc(var(--eden-layout-dock-height) - var(--eden-space-md));border-radius:var(--eden-radius-xl);background:var(--eden-color-bg-glass-medium);backdrop-filter:var(--eden-glass-medium);-webkit-backdrop-filter:var(--eden-glass-medium);box-shadow:var(--eden-shadow-lg);border:1px solid var(--eden-color-border-light);pointer-events:none;z-index:0}.dock-left{display:flex;align-items:center;justify-content:center;flex:1;z-index:1}.dock-right{position:absolute;right:var(--eden-space-sm);display:flex;align-items:center;padding:var(--eden-space-sm) var(--eden-space-md);border-radius:var(--eden-radius-lg);background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:none;box-shadow:none;z-index:1}.dock-right,.dock-right *{color:var(--eden-color-text-primary)}.dock-right .clock .time{color:var(--eden-color-text-primary);font-size:var(--eden-font-size-lg);line-height:var(--eden-font-line-height-tight)}.dock-right .clock .date{color:var(--eden-color-text-secondary)}.dock-right .separator{background:linear-gradient(to bottom,transparent,var(--eden-color-border-medium) 20%,var(--eden-color-border-medium) 80%,transparent)}.app-icons{display:flex;align-items:center;gap:var(--eden-space-sm);padding:var(--eden-space-sm) var(--eden-space-md);border-radius:var(--eden-radius-md);background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:none;box-shadow:none;overflow:visible;z-index:1}.app-icons.magnify .app-icon:hover{transform:none}.app-icons.magnify .icon-container{transform-origin:bottom center}.app-icons.magnify.magnify-active .icon-container{filter:brightness(1.05)}.dock-left,.dock-left *{color:var(--eden-color-text-primary)}.dock-left .app-name{color:var(--eden-color-text-secondary)}.dock-left .separator{background:linear-gradient(to bottom,transparent,var(--eden-color-border-medium) 20%,var(--eden-color-border-medium) 80%,transparent)}.separator{width:1px;height:32px;background:linear-gradient(to bottom,transparent,var(--eden-color-border-medium) 20%,var(--eden-color-border-medium) 80%,transparent);margin:0 var(--eden-space-xs)}.app-icon{display:flex;flex-direction:column;align-items:center;gap:0px;padding:2px 4px;cursor:pointer;border-radius:var(--eden-radius-sm);transition:all var(--eden-transition-base);position:relative;min-width:44px}.app-icon:hover{transform:none}.app-icon:hover .icon-container{filter:brightness(1.1)}.app-icon:active{transform:translateY(-2px) scale(1.05)}.app-icon.running{background:var(--eden-color-bg-dark)}.icon-container{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--eden-radius-sm);position:relative;background:transparent;box-shadow:none;transition:transform .16s ease-out,filter .2s ease}.icon-container img{width:100%;height:100%;object-fit:contain}.app-name{font-size:var(--eden-font-size-sm);color:var(--eden-color-text-primary);text-align:center;max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--eden-font-weight-medium);position:absolute;left:50%;top:calc(100% + 2px);transform:translate(-50%);opacity:0;pointer-events:none;transition:opacity .2s ease}.app-icon:hover .app-name{opacity:1}.running-indicator{position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:4px;height:4px;background:var(--eden-color-text-primary);border-radius:50%;box-shadow:none}.clock{display:flex;flex-direction:column;align-items:flex-end;gap:1px;-webkit-user-select:none;user-select:none}.clock .time{font-size:var(--eden-font-size-md);font-weight:var(--eden-font-weight-semibold);color:var(--eden-color-text-primary);font-variant-numeric:tabular-nums;letter-spacing:var(--eden-font-letter-spacing-normal)}.clock .date{font-size:var(--eden-font-size-xs);color:var(--eden-color-text-secondary);font-weight:var(--eden-font-weight-medium);letter-spacing:var(--eden-font-letter-spacing-tight)}.eden-modal-body .eden-card-grid{grid-template-columns:repeat(4,1fr)}.all-apps-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--eden-space-md);border-radius:var(--eden-radius-lg);aspect-ratio:1 / 1}.all-apps-tile.running{background:var(--eden-color-surface-active)}.all-apps-tile .app-icon{min-width:auto;width:auto}.all-apps-tile .icon-container{width:64px;height:64px;border-radius:var(--eden-radius-lg)}.all-apps-tile .icon-container img{width:100%;height:100%}.all-apps-tile .app-name{position:static;transform:none;left:auto;top:auto;opacity:1;margin-top:var(--eden-space-sm);font-size:var(--eden-font-size-sm);font-weight:var(--eden-font-weight-medium);color:var(--eden-color-text-primary);text-align:center;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eden-icon{font-size:var(--eden-font-size-lg);width:20px;text-align:center;flex-shrink:0;font-family:var(--eden-font-family-base);font-weight:var(--eden-font-weight-semibold);line-height:1;display:flex;align-items:center;justify-content:center}.context-menu-overlay{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.context-menu-title{border-bottom:1px solid var(--eden-color-border-light);padding-bottom:var(--eden-space-xs);margin-bottom:var(--eden-space-xs)}.context-menu-btn{justify-content:flex-start;width:100%}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))s(o);new MutationObserver(o=>{for(const r of o)if(r.type==="childList")for(const l of r.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&s(l)}).observe(document,{childList:!0,subtree:!0});function n(o){const r={};return o.integrity&&(r.integrity=o.integrity),o.referrerPolicy&&(r.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?r.credentials="include":o.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function s(o){if(o.ep)return;o.ep=!0;const r=n(o);fetch(o.href,r)}})();const qe=!0,Xe=(e,t)=>e===t,oe=Symbol("solid-proxy"),Oe=typeof Proxy=="function",Ke=Symbol("solid-track"),ze=Symbol("solid-dev-component"),re={equals:Xe};let De=Fe;const H=1,le=2,Ge={},we={};var b=null;let ye=null,Ye=null,k=null,D=null,j=null,he=0;function ne(e,t){const n=k,s=b,o=e.length===0,r=t===void 0?s:t,l=o?{owned:null,cleanups:null,context:null,owner:null}:{owned:null,cleanups:null,context:r?r.context:null,owner:r},i=o?()=>e(()=>{throw new Error("Dispose method must be an explicit argument to createRoot function")}):()=>e(()=>U(()=>Q(l)));b=l,k=null;try{return X(i,!0)}finally{k=n,b=s}}function _(e,t){t=t?Object.assign({},re,t):re;const n={value:e,observers:null,observerSlots:null,comparator:t.equals||void 0};t.name&&(n.name=t.name),t.internal?n.internal=!0:tt(n);const s=o=>(typeof o=="function"&&(o=o(n.value)),Ne(n,o));return[Re.bind(n),s]}function Qe(e,t,n){const s=J(e,t,!0,H,n);z(s)}function B(e,t,n){const s=J(e,t,!1,H,n);z(s)}function Me(e,t,n){De=ot;const s=J(e,t,!1,H,n);s.user=!0,j?j.push(s):z(s)}function q(e,t,n){n=n?Object.assign({},re,n):re;const s=J(e,t,!0,0,n);return s.observers=null,s.observerSlots=null,s.comparator=n.equals||void 0,z(s),Re.bind(s)}function We(e){return e&&typeof e=="object"&&"then"in e}function Je(e,t,n){let s,o,r;typeof t=="function"?(s=e,o=t,r={}):(s=!0,o=e,r=t||{});let l=null,i=we,a=!1,d="initialValue"in r,h=typeof s=="function"&&q(s);const c=new Set,[p,m]=(r.storage||_)(r.initialValue),[w,E]=_(void 0),[F,M]=_(void 0,{equals:!1}),[x,S]=_(d?"ready":"unresolved");function P(v,$,L,u){return l===v&&(l=null,u!==void 0&&(d=!0),(v===i||$===i)&&r.onHydrated&&queueMicrotask(()=>r.onHydrated(u,{value:$})),i=we,g($,L)),$}function g(v,$){X(()=>{$===void 0&&m(()=>v),S($!==void 0?"errored":d?"ready":"unresolved"),E($);for(const L of c.keys())L.decrement();c.clear()},!1)}function I(){const v=nt,$=p(),L=w();if(L!==void 0&&!l)throw L;return k&&k.user,$}function T(v=!0){if(v!==!1&&a)return;a=!1;const $=h?h():s;if($==null||$===!1){P(l,U(p));return}let L;const u=i!==we?i:U(()=>{try{return o($,{value:p(),refetching:v})}catch(f){L=f}});if(L!==void 0){P(l,void 0,ie(L),$);return}else if(!We(u))return P(l,u,void 0,$),u;return l=u,"v"in u?(u.s===1?P(l,u.v,void 0,$):P(l,void 0,ie(u.v),$),u):(a=!0,queueMicrotask(()=>a=!1),X(()=>{S(d?"refreshing":"pending"),M()},!1),u.then(f=>P(u,f,void 0,$),f=>P(u,void 0,ie(f),$)))}Object.defineProperties(I,{state:{get:()=>x()},error:{get:()=>w()},loading:{get(){const v=x();return v==="pending"||v==="refreshing"}},latest:{get(){if(!d)return I();const v=w();if(v&&!l)throw v;return p()}}});let R=b;return h?Qe(()=>(R=b,T(!1))):T(!1),[I,{refetch:v=>Ze(R,()=>T(v)),mutate:m}]}function U(e){if(k===null)return e();const t=k;k=null;try{return e()}finally{k=t}}function ge(e){Me(()=>U(e))}function W(e){return b===null?console.warn("cleanups created outside a `createRoot` or `render` will never be run"):b.cleanups===null?b.cleanups=[e]:b.cleanups.push(e),e}function Ze(e,t){const n=b,s=k;b=e,k=null;try{return X(t,!0)}catch(o){$e(o)}finally{b=n,k=s}}const[Wt,Jt]=_(!1);function et(e,t){const n=J(()=>U(()=>(Object.assign(e,{[ze]:!0}),e(t))),void 0,!0,0);return n.props=t,n.observers=null,n.observerSlots=null,n.name=e.name,n.component=e,z(n),n.tValue!==void 0?n.tValue:n.value}function tt(e){b&&(b.sourceMap?b.sourceMap.push(e):b.sourceMap=[e],e.graph=b)}let nt;function Re(){if(this.sources&&this.state)if(this.state===H)z(this);else{const e=D;D=null,X(()=>ae(this),!1),D=e}if(k){const e=this.observers?this.observers.length:0;k.sources?(k.sources.push(this),k.sourceSlots.push(e)):(k.sources=[this],k.sourceSlots=[e]),this.observers?(this.observers.push(k),this.observerSlots.push(k.sources.length-1)):(this.observers=[k],this.observerSlots=[k.sources.length-1])}return this.value}function Ne(e,t,n){let s=e.value;return(!e.comparator||!e.comparator(s,t))&&(e.value=t,e.observers&&e.observers.length&&X(()=>{for(let o=0;o<e.observers.length;o+=1){const r=e.observers[o],l=ye&&ye.running;l&&ye.disposed.has(r),(l?!r.tState:!r.state)&&(r.pure?D.push(r):j.push(r),r.observers&&Be(r)),l||(r.state=H)}if(D.length>1e6)throw D=[],qe?new Error("Potential Infinite Loop Detected."):new Error},!1)),t}function z(e){if(!e.fn)return;Q(e);const t=he;it(e,e.value,t)}function it(e,t,n){let s;const o=b,r=k;k=b=e;try{s=e.fn(t)}catch(l){return e.pure&&(e.state=H,e.owned&&e.owned.forEach(Q),e.owned=null),e.updatedAt=n+1,$e(l)}finally{k=r,b=o}(!e.updatedAt||e.updatedAt<=n)&&(e.updatedAt!=null&&"observers"in e?Ne(e,s):e.value=s,e.updatedAt=n)}function J(e,t,n,s=H,o){const r={fn:e,state:s,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:t,owner:b,context:b?b.context:null,pure:n};return b===null?console.warn("computations created outside a `createRoot` or `render` will never be disposed"):b!==Ge&&(b.owned?b.owned.push(r):b.owned=[r]),o&&o.name&&(r.name=o.name),r}function ce(e){if(e.state===0)return;if(e.state===le)return ae(e);if(e.suspense&&U(e.suspense.inFallback))return e.suspense.effects.push(e);const t=[e];for(;(e=e.owner)&&(!e.updatedAt||e.updatedAt<he);)e.state&&t.push(e);for(let n=t.length-1;n>=0;n--)if(e=t[n],e.state===H)z(e);else if(e.state===le){const s=D;D=null,X(()=>ae(e,t[0]),!1),D=s}}function X(e,t){if(D)return e();let n=!1;t||(D=[]),j?n=!0:j=[],he++;try{const s=e();return st(n),s}catch(s){n||(j=null),D=null,$e(s)}}function st(e){if(D&&(Fe(D),D=null),e)return;const t=j;j=null,t.length&&X(()=>De(t),!1)}function Fe(e){for(let t=0;t<e.length;t++)ce(e[t])}function ot(e){let t,n=0;for(t=0;t<e.length;t++){const s=e[t];s.user?e[n++]=s:ce(s)}for(t=0;t<n;t++)ce(e[t])}function ae(e,t){e.state=0;for(let n=0;n<e.sources.length;n+=1){const s=e.sources[n];if(s.sources){const o=s.state;o===H?s!==t&&(!s.updatedAt||s.updatedAt<he)&&ce(s):o===le&&ae(s,t)}}}function Be(e){for(let t=0;t<e.observers.length;t+=1){const n=e.observers[t];n.state||(n.state=le,n.pure?D.push(n):j.push(n),n.observers&&Be(n))}}function Q(e){let t;if(e.sources)for(;e.sources.length;){const n=e.sources.pop(),s=e.sourceSlots.pop(),o=n.observers;if(o&&o.length){const r=o.pop(),l=n.observerSlots.pop();s<o.length&&(r.sourceSlots[l]=s,o[s]=r,n.observerSlots[s]=l)}}if(e.tOwned){for(t=e.tOwned.length-1;t>=0;t--)Q(e.tOwned[t]);delete e.tOwned}if(e.owned){for(t=e.owned.length-1;t>=0;t--)Q(e.owned[t]);e.owned=null}if(e.cleanups){for(t=e.cleanups.length-1;t>=0;t--)e.cleanups[t]();e.cleanups=null}e.state=0,delete e.sourceMap}function ie(e){return e instanceof Error?e:new Error(typeof e=="string"?e:"Unknown error",{cause:e})}function $e(e,t=b){throw ie(e)}const rt=Symbol("fallback");function Ce(e){for(let t=0;t<e.length;t++)e[t]()}function lt(e,t,n={}){let s=[],o=[],r=[],l=0,i=t.length>1?[]:null;return W(()=>Ce(r)),()=>{let a=e()||[],d=a.length,h,c;return a[Ke],U(()=>{let m,w,E,F,M,x,S,P,g;if(d===0)l!==0&&(Ce(r),r=[],s=[],o=[],l=0,i&&(i=[])),n.fallback&&(s=[rt],o[0]=ne(I=>(r[0]=I,n.fallback())),l=1);else if(l===0){for(o=new Array(d),c=0;c<d;c++)s[c]=a[c],o[c]=ne(p);l=d}else{for(E=new Array(d),F=new Array(d),i&&(M=new Array(d)),x=0,S=Math.min(l,d);x<S&&s[x]===a[x];x++);for(S=l-1,P=d-1;S>=x&&P>=x&&s[S]===a[P];S--,P--)E[P]=o[S],F[P]=r[S],i&&(M[P]=i[S]);for(m=new Map,w=new Array(P+1),c=P;c>=x;c--)g=a[c],h=m.get(g),w[c]=h===void 0?-1:h,m.set(g,c);for(h=x;h<=S;h++)g=s[h],c=m.get(g),c!==void 0&&c!==-1?(E[c]=o[h],F[c]=r[h],i&&(M[c]=i[h]),c=w[c],m.set(g,c)):r[h]();for(c=x;c<d;c++)c in E?(o[c]=E[c],r[c]=F[c],i&&(i[c]=M[c],i[c](c))):o[c]=ne(p);o=o.slice(0,l=d),s=a.slice(0)}return o});function p(m){if(r[c]=m,i){const[w,E]=_(c,{name:"index"});return i[c]=E,t(a[c],w)}return t(a[c])}}}function A(e,t){return et(e,t||{})}function ee(){return!0}const be={get(e,t,n){return t===oe?n:e.get(t)},has(e,t){return t===oe?!0:e.has(t)},set:ee,deleteProperty:ee,getOwnPropertyDescriptor(e,t){return{configurable:!0,enumerable:!0,get(){return e.get(t)},set:ee,deleteProperty:ee}},ownKeys(e){return e.keys()}};function pe(e){return(e=typeof e=="function"?e():e)?e:{}}function ct(){for(let e=0,t=this.length;e<t;++e){const n=this[e]();if(n!==void 0)return n}}function ke(...e){let t=!1;for(let l=0;l<e.length;l++){const i=e[l];t=t||!!i&&oe in i,e[l]=typeof i=="function"?(t=!0,q(i)):i}if(Oe&&t)return new Proxy({get(l){for(let i=e.length-1;i>=0;i--){const a=pe(e[i])[l];if(a!==void 0)return a}},has(l){for(let i=e.length-1;i>=0;i--)if(l in pe(e[i]))return!0;return!1},keys(){const l=[];for(let i=0;i<e.length;i++)l.push(...Object.keys(pe(e[i])));return[...new Set(l)]}},be);const n={},s=Object.create(null);for(let l=e.length-1;l>=0;l--){const i=e[l];if(!i)continue;const a=Object.getOwnPropertyNames(i);for(let d=a.length-1;d>=0;d--){const h=a[d];if(h==="__proto__"||h==="constructor")continue;const c=Object.getOwnPropertyDescriptor(i,h);if(!s[h])s[h]=c.get?{enumerable:!0,configurable:!0,get:ct.bind(n[h]=[c.get.bind(i)])}:c.value!==void 0?c:void 0;else{const p=n[h];p&&(c.get?p.push(c.get.bind(i)):c.value!==void 0&&p.push(()=>c.value))}}}const o={},r=Object.keys(s);for(let l=r.length-1;l>=0;l--){const i=r[l],a=s[i];a&&a.get?Object.defineProperty(o,i,a):o[i]=a?a.value:void 0}return o}function at(e,...t){const n=t.length;if(Oe&&oe in e){const o=n>1?t.flat():t[0],r=t.map(l=>new Proxy({get(i){return l.includes(i)?e[i]:void 0},has(i){return l.includes(i)&&i in e},keys(){return l.filter(i=>i in e)}},be));return r.push(new Proxy({get(l){return o.includes(l)?void 0:e[l]},has(l){return o.includes(l)?!1:l in e},keys(){return Object.keys(e).filter(l=>!o.includes(l))}},be)),r}const s=[];for(let o=0;o<=n;o++)s[o]={};for(const o of Object.getOwnPropertyNames(e)){let r=n;for(let a=0;a<t.length;a++)if(t[a].includes(o)){r=a;break}const l=Object.getOwnPropertyDescriptor(e,o);!l.get&&!l.set&&l.enumerable&&l.writable&&l.configurable?s[r][o]=l.value:Object.defineProperty(s[r],o,l)}return s}const ut=e=>`Attempting to access a stale value from <${e}> that could possibly be undefined. This may occur because you are reading the accessor returned from the component at a time where it has already been unmounted. We recommend cleaning up any stale timers or async, or reading from the initial condition.`;function ve(e){const t="fallback"in e&&{fallback:()=>e.fallback};return q(lt(()=>e.each,e.children,t||void 0),void 0,{name:"value"})}function K(e){const t=e.keyed,n=q(()=>e.when,void 0,{name:"condition value"}),s=t?n:q(n,void 0,{equals:(o,r)=>!o==!r,name:"condition"});return q(()=>{const o=s();if(o){const r=e.children;return typeof r=="function"&&r.length>0?U(()=>r(t?o:()=>{if(!U(s))throw ut("Show");return n()})):r}return e.fallback},void 0,{name:"value"})}globalThis&&(globalThis.Solid$$?console.warn("You appear to have multiple instances of Solid. This can lead to unexpected behavior."):globalThis.Solid$$=!0);const dt=new Set(["innerHTML","textContent","innerText","children"]),ft=Object.assign(Object.create(null),{className:"class",htmlFor:"for"}),ht=new Set(["beforeinput","click","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"]),gt={xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace"},Ae=e=>q(()=>e());function mt(e,t,n){let s=n.length,o=t.length,r=s,l=0,i=0,a=t[o-1].nextSibling,d=null;for(;l<o||i<r;){if(t[l]===n[i]){l++,i++;continue}for(;t[o-1]===n[r-1];)o--,r--;if(o===l){const h=r<s?i?n[i-1].nextSibling:n[r-i]:a;for(;i<r;)e.insertBefore(n[i++],h)}else if(r===i)for(;l<o;)(!d||!d.has(t[l]))&&t[l].remove(),l++;else if(t[l]===n[r-1]&&n[i]===t[o-1]){const h=t[--o].nextSibling;e.insertBefore(n[i++],t[l++].nextSibling),e.insertBefore(n[--r],h),t[o]=n[r]}else{if(!d){d=new Map;let c=i;for(;c<r;)d.set(n[c],c++)}const h=d.get(t[l]);if(h!=null)if(i<h&&h<r){let c=l,p=1,m;for(;++c<o&&c<r&&!((m=d.get(t[c]))==null||m!==h+p);)p++;if(p>h-i){const w=t[l];for(;i<h;)e.insertBefore(n[i++],w)}else e.replaceChild(n[i++],t[l++])}else l++;else t[l++].remove()}}}const Se="_$DX_DELEGATE";function wt(e,t,n,s={}){if(!t)throw new Error("The `element` passed to `render(..., element)` doesn't exist. Make sure `element` exists in the document.");let o;return ne(r=>{o=r,t===document?e():C(t,e(),t.firstChild?null:void 0,n)},s.owner),()=>{o(),t.textContent=""}}function N(e,t,n,s){let o;const r=()=>{const i=document.createElement("template");return i.innerHTML=e,i.content.firstChild},l=()=>(o||(o=r())).cloneNode(!0);return l.cloneNode=l,l}function Z(e,t=window.document){const n=t[Se]||(t[Se]=new Set);for(let s=0,o=e.length;s<o;s++){const r=e[s];n.has(r)||(n.add(r),t.addEventListener(r,Ct))}}function V(e,t,n){n==null?e.removeAttribute(t):e.setAttribute(t,n)}function yt(e,t,n,s){s==null?e.removeAttributeNS(t,n):e.setAttributeNS(t,n,s)}function pt(e,t,n){n?e.setAttribute(t,""):e.removeAttribute(t)}function bt(e,t){t==null?e.removeAttribute("class"):e.className=t}function ue(e,t,n,s){if(s)Array.isArray(n)?(e[`$$${t}`]=n[0],e[`$$${t}Data`]=n[1]):e[`$$${t}`]=n;else if(Array.isArray(n)){const o=n[0];e.addEventListener(t,n[0]=r=>o.call(e,n[1],r))}else e.addEventListener(t,n,typeof n!="function"&&n)}function vt(e,t,n={}){const s=Object.keys(t||{}),o=Object.keys(n);let r,l;for(r=0,l=o.length;r<l;r++){const i=o[r];!i||i==="undefined"||t[i]||(Pe(e,i,!1),delete n[i])}for(r=0,l=s.length;r<l;r++){const i=s[r],a=!!t[i];!i||i==="undefined"||n[i]===a||!a||(Pe(e,i,!0),n[i]=a)}return n}function Ue(e,t,n){if(!t)return n?V(e,"style"):t;const s=e.style;if(typeof t=="string")return s.cssText=t;typeof n=="string"&&(s.cssText=n=void 0),n||(n={}),t||(t={});let o,r;for(r in n)t[r]==null&&s.removeProperty(r),delete n[r];for(r in t)o=t[r],o!==n[r]&&(s.setProperty(r,o),n[r]=o);return n}function At(e,t={},n,s){const o={};return B(()=>typeof t.ref=="function"&&de(t.ref,e)),B(()=>xt(e,t,n,!0,o,!0)),o}function de(e,t,n){return U(()=>e(t,n))}function C(e,t,n,s){if(n!==void 0&&!s&&(s=[]),typeof t!="function")return fe(e,t,s,n);B(o=>fe(e,t(),o,n),s)}function xt(e,t,n,s,o={},r=!1){t||(t={});for(const l in o)if(!(l in t)){if(l==="children")continue;o[l]=Ie(e,l,null,o[l],n,r,t)}for(const l in t){if(l==="children")continue;const i=t[l];o[l]=Ie(e,l,i,o[l],n,r,t)}}function $t(e){return e.toLowerCase().replace(/-([a-z])/g,(t,n)=>n.toUpperCase())}function Pe(e,t,n){const s=t.trim().split(/\s+/);for(let o=0,r=s.length;o<r;o++)e.classList.toggle(s[o],n)}function Ie(e,t,n,s,o,r,l){let i,a,d,h;if(t==="style")return Ue(e,n,s);if(t==="classList")return vt(e,n,s);if(n===s)return s;if(t==="ref")r||n(e);else if(t.slice(0,3)==="on:"){const c=t.slice(3);s&&e.removeEventListener(c,s,typeof s!="function"&&s),n&&e.addEventListener(c,n,typeof n!="function"&&n)}else if(t.slice(0,10)==="oncapture:"){const c=t.slice(10);s&&e.removeEventListener(c,s,!0),n&&e.addEventListener(c,n,!0)}else if(t.slice(0,2)==="on"){const c=t.slice(2).toLowerCase(),p=ht.has(c);if(!p&&s){const m=Array.isArray(s)?s[0]:s;e.removeEventListener(c,m)}(p||n)&&(ue(e,c,n,p),p&&Z([c]))}else if(t.slice(0,5)==="attr:")V(e,t.slice(5),n);else if(t.slice(0,5)==="bool:")pt(e,t.slice(5),n);else if((h=t.slice(0,5)==="prop:")||(d=dt.has(t))||(i=e.nodeName.includes("-")||"is"in l))h&&(t=t.slice(5),a=!0),t==="class"||t==="className"?bt(e,n):i&&!a&&!d?e[$t(t)]=n:e[t]=n;else{const c=t.indexOf(":")>-1&>[t.split(":")[0]];c?yt(e,c,t,n):V(e,ft[t]||t,n)}return n}function Ct(e){let t=e.target;const n=`$$${e.type}`,s=e.target,o=e.currentTarget,r=a=>Object.defineProperty(e,"target",{configurable:!0,value:a}),l=()=>{const a=t[n];if(a&&!t.disabled){const d=t[`${n}Data`];if(d!==void 0?a.call(t,d,e):a.call(t,e),e.cancelBubble)return}return t.host&&typeof t.host!="string"&&!t.host._$host&&t.contains(e.target)&&r(t.host),!0},i=()=>{for(;l()&&(t=t._$host||t.parentNode||t.host););};if(Object.defineProperty(e,"currentTarget",{configurable:!0,get(){return t||document}}),e.composedPath){const a=e.composedPath();r(a[0]);for(let d=0;d<a.length-2&&(t=a[d],!!l());d++){if(t._$host){t=t._$host,i();break}if(t.parentNode===o)break}}else i();r(s)}function fe(e,t,n,s,o){for(;typeof n=="function";)n=n();if(t===n)return n;const r=typeof t,l=s!==void 0;if(e=l&&n[0]&&n[0].parentNode||e,r==="string"||r==="number"){if(r==="number"&&(t=t.toString(),t===n))return n;if(l){let i=n[0];i&&i.nodeType===3?i.data!==t&&(i.data=t):i=document.createTextNode(t),n=G(e,n,s,i)}else n!==""&&typeof n=="string"?n=e.firstChild.data=t:n=e.textContent=t}else if(t==null||r==="boolean")n=G(e,n,s);else{if(r==="function")return B(()=>{let i=t();for(;typeof i=="function";)i=i();n=fe(e,i,n,s)}),()=>n;if(Array.isArray(t)){const i=[],a=n&&Array.isArray(n);if(xe(i,t,n,o))return B(()=>n=fe(e,i,n,s,!0)),()=>n;if(i.length===0){if(n=G(e,n,s),l)return n}else a?n.length===0?Te(e,i,s):mt(e,n,i):(n&&G(e),Te(e,i));n=i}else if(t.nodeType){if(Array.isArray(n)){if(l)return n=G(e,n,s,t);G(e,n,null,t)}else n==null||n===""||!e.firstChild?e.appendChild(t):e.replaceChild(t,e.firstChild);n=t}else console.warn("Unrecognized value. Skipped inserting",t)}return n}function xe(e,t,n,s){let o=!1;for(let r=0,l=t.length;r<l;r++){let i=t[r],a=n&&n[e.length],d;if(!(i==null||i===!0||i===!1))if((d=typeof i)=="object"&&i.nodeType)e.push(i);else if(Array.isArray(i))o=xe(e,i,a)||o;else if(d==="function")if(s){for(;typeof i=="function";)i=i();o=xe(e,Array.isArray(i)?i:[i],Array.isArray(a)?a:[a])||o}else e.push(i),o=!0;else{const h=String(i);a&&a.nodeType===3&&a.data===h?e.push(a):e.push(document.createTextNode(h))}}return o}function Te(e,t,n=null){for(let s=0,o=t.length;s<o;s++)e.insertBefore(t[s],n)}function G(e,t,n,s){if(n===void 0)return e.textContent="";const o=s||document.createTextNode("");if(t.length){let r=!1;for(let l=t.length-1;l>=0;l--){const i=t[l];if(o!==i){const a=i.parentNode===e;!r&&!l?a?e.replaceChild(o,i):e.insertBefore(o,n):a&&i.remove()}else r=!0}}else e.insertBefore(o,n);return[o]}const kt=!1,te=new Map;async function St(e){if(te.has(e))return te.get(e);try{const t=await window.edenAPI.shellCommand("package/get-icon",{appId:e});return te.set(e,t.icon),t.icon}catch(t){console.warn(`Failed to fetch icon for ${e}:`,t),te.set(e,void 0);return}}const Pt="data:image/svg+xml,%3csvg%20width='64'%20height='64'%20viewBox='0%200%2064%2064'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cdefs%3e%3clinearGradient%20id='bg'%20x1='32'%20y1='4'%20x2='32'%20y2='60'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%234a4a4a'/%3e%3cstop%20offset='1'%20stop-color='%233a3a3a'/%3e%3c/linearGradient%3e%3c/defs%3e%3c!--%20Squircle%20background%20with%20gradient%20--%3e%3crect%20x='4'%20y='4'%20width='56'%20height='56'%20rx='14'%20fill='url(%23bg)'/%3e%3c!--%20Document%20lines%20icon%20centered%20--%3e%3cg%20transform='translate(16,%2016)'%20fill='%23e0e0e0'%3e%3crect%20x='5'%20y='6'%20width='22'%20height='3'%20rx='1.5'/%3e%3crect%20x='5'%20y='13'%20width='22'%20height='3'%20rx='1.5'/%3e%3crect%20x='5'%20y='20'%20width='15'%20height='3'%20rx='1.5'/%3e%3crect%20x='5'%20y='27'%20width='22'%20height='3'%20rx='1.5'/%3e%3c/g%3e%3c/svg%3e";var It=N("<div class=running-indicator>"),Tt=N("<div class=app-icon><div class=icon-container><img></div><div class=app-name>");function se(e){const[t]=Je(()=>e.icon?null:e.appId,s=>s?St(s):Promise.resolve(void 0)),n=()=>e.icon||t()||Pt;return(()=>{var s=Tt(),o=s.firstChild,r=o.firstChild,l=o.nextSibling;return ue(s,"contextmenu",e.onContextMenu,!0),ue(s,"click",e.onClick,!0),V(r,"draggable",!1),C(o,A(K,{get when(){return e.isRunning},get children(){return It()}}),null),C(l,()=>e.appName),B(i=>{var a=e.appName,d=n(),h=e.appName;return a!==i.e&&V(s,"title",i.e=a),d!==i.t&&V(r,"src",i.t=d),h!==i.a&&V(r,"alt",i.a=h),i},{e:void 0,t:void 0,a:void 0}),s})()}Z(["click","contextmenu"]);var _t=N("<div class=clock><div class=time></div><div class=date>");function Et(){const[e,t]=_(new Date),n=setInterval(()=>{t(new Date)},1e3);W(()=>clearInterval(n));const s=()=>e().toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit"}),o=()=>e().toLocaleDateString("en-US",{weekday:"short",month:"short",day:"numeric"});return(()=>{var r=_t(),l=r.firstChild,i=l.nextSibling;return C(l,s),C(i,o),r})()}const Lt="data:image/svg+xml,%3csvg%20width='64'%20height='64'%20viewBox='0%200%2064%2064'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cdefs%3e%3clinearGradient%20id='bg'%20x1='32'%20y1='4'%20x2='32'%20y2='60'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%234a4a4a'/%3e%3cstop%20offset='1'%20stop-color='%233a3a3a'/%3e%3c/linearGradient%3e%3c/defs%3e%3c!--%20Squircle%20background%20with%20gradient%20--%3e%3crect%20x='4'%20y='4'%20width='56'%20height='56'%20rx='14'%20fill='url(%23bg)'/%3e%3c!--%20Grid%20of%204%20squares%20icon%20centered%20--%3e%3cg%20transform='translate(16,%2016)'%20fill='%23e0e0e0'%3e%3crect%20x='2'%20y='2'%20width='12'%20height='12'%20rx='2'/%3e%3crect%20x='18'%20y='2'%20width='12'%20height='12'%20rx='2'/%3e%3crect%20x='2'%20y='18'%20width='12'%20height='12'%20rx='2'/%3e%3crect%20x='18'%20y='18'%20width='12'%20height='12'%20rx='2'/%3e%3c/g%3e%3c/svg%3e";var _e=N("<div class=separator>"),Ot=N('<div class=dock><div class=dock-left><div class="app-icons magnify"></div></div><div class=dock-right>');function Dt(e){let t,n;const[s,o]=_(!0);ge(()=>{setTimeout(()=>{o(!1)},300)});function r(i){if(!t)return;t.getBoundingClientRect();const a=i.clientX,d=70,h=1.25;t.classList.add("magnify-active"),t.querySelectorAll(".app-icon").forEach(p=>{const m=p.querySelector(".icon-container");if(!m)return;const w=p.getBoundingClientRect(),E=w.left+w.width/2,F=Math.abs(a-E),M=Math.exp(-(F*F)/(2*d*d)),x=1+(h-1)*M;p.style.setProperty("--influence",M.toFixed(3));const S=-8*M;p.style.transform=`translateY(${S.toFixed(1)}px)`,p.style.zIndex=`${Math.round(x*100)}`,m.style.transform=`scale(${x.toFixed(3)})`})}function l(){if(!t)return;t.classList.remove("magnify-active"),t.querySelectorAll(".app-icon").forEach(a=>{const d=a.querySelector(".icon-container");d&&(d.style.transform=""),a.style.transform="",a.style.zIndex=""})}return(()=>{var i=Ot(),a=i.firstChild,d=a.firstChild,h=a.nextSibling,c=n;typeof c=="function"?de(c,i):n=i,d.addEventListener("mouseleave",l),d.$$mousemove=r;var p=t;return typeof p=="function"?de(p,d):t=d,C(d,A(ve,{get each(){return e.runningApps},children:m=>A(se,{get appId(){return m.id},get appName(){return m.name},get isRunning(){return m.isRunning},onClick:()=>e.onAppClick(m.id),onContextMenu:w=>{w.preventDefault(),e.onContextMenu({appId:m.id,appName:m.name,isRunning:m.isRunning,left:w.clientX,bottom:72})}})}),null),C(d,A(K,{get when(){return Ae(()=>e.runningApps.length>0)()&&e.pinnedApps.length>0},get children(){return _e()}}),null),C(d,A(ve,{get each(){return e.pinnedApps},children:m=>A(se,{get appId(){return m.id},get appName(){return m.name},get isRunning(){return m.isRunning},onClick:()=>e.onAppClick(m.id),onContextMenu:w=>{w.preventDefault(),console.log(w.clientX,w.clientY),e.onContextMenu({appId:m.id,appName:m.name,isRunning:m.isRunning,left:w.clientX,bottom:72})}})}),null),C(d,A(K,{get when(){return e.runningApps.length>0||e.pinnedApps.length>0},get children(){return _e()}}),null),C(d,A(se,{appId:"apps-view",appName:"All Apps",icon:Lt,get onClick(){return e.onShowAllApps}}),null),C(h,A(Et,{})),B(()=>i.classList.toggle("dock-initial",!!s())),i})()}Z(["mousemove"]);var Mt=N("<svg stroke-width=0>");function Y(e,t){const n=ke(e.a,t),[s,o]=at(n,["src"]),[r,l]=_(""),i=q(()=>t.title?`${e.c}<title>${t.title}</title>`:e.c);return Me(()=>l(i())),W(()=>{l("")}),(()=>{var a=Mt();return At(a,ke({get stroke(){return e.a?.stroke},get color(){return t.color||"currentColor"},get fill(){return t.color||"currentColor"},get style(){return{...t.style,overflow:"visible"}}},o,{get height(){return t.size||"1em"},get width(){return t.size||"1em"},xmlns:"http://www.w3.org/2000/svg",get innerHTML(){return r()}}),!0),C(a,()=>kt),a})()}function Rt(e){return Y({a:{viewBox:"0 0 448 512"},c:'<path d="M349.4 44.6c5.9-13.7 1.5-29.7-10.6-38.5s-28.6-8-39.9 1.8l-256 224c-10 8.8-13.6 22.9-8.9 35.3S50.7 288 64 288h111.5L98.6 467.4c-5.9 13.7-1.5 29.7 10.6 38.5s28.6 8 39.9-1.8l256-224c10-8.8 13.6-22.9 8.9-35.3s-16.6-20.7-30-20.7H272.5l76.9-179.5z"/>'},e)}function Nt(e){return Y({a:{viewBox:"0 0 448 512"},c:'<path d="M159.3 5.4c7.8-7.3 19.9-7.2 27.7.1 27.6 25.9 53.5 53.8 77.7 84 11-14.4 23.5-30.1 37-42.9 7.9-7.4 20.1-7.4 28 .1 34.6 33 63.9 76.6 84.5 118 20.3 40.8 33.8 82.5 33.8 111.9C448 404.2 348.2 512 224 512 98.4 512 0 404.1 0 276.5c0-38.4 17.8-85.3 45.4-131.7C73.3 97.7 112.7 48.6 159.3 5.4zM225.7 416c25.3 0 47.7-7 68.8-21 42.1-29.4 53.4-88.2 28.1-134.4-4.5-9-16-9.6-22.5-2l-25.2 29.3c-6.6 7.6-18.5 7.4-24.7-.5-16.5-21-46-58.5-62.8-79.8-6.3-8-18.3-8.1-24.7-.1-33.8 42.5-50.8 69.3-50.8 99.4.1 68.5 50.7 109.1 113.8 109.1z"/>'},e)}function Ft(e){return Y({a:{viewBox:"0 0 448 512"},c:'<path d="M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32v144H48c-17.7 0-32 14.3-32 32s14.3 32 32 32h144v144c0 17.7 14.3 32 32 32s32-14.3 32-32V288h144c17.7 0 32-14.3 32-32s-14.3-32-32-32H256V80z"/>'},e)}function Bt(e){return Y({a:{viewBox:"0 0 384 512"},c:'<path d="M0 128c0-35.3 28.7-64 64-64h256c35.3 0 64 28.7 64 64v256c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z"/>'},e)}function Ut(e){return Y({a:{viewBox:"0 0 384 512"},c:'<path d="M32 32C32 14.3 46.3 0 64 0h256c17.7 0 32 14.3 32 32s-14.3 32-32 32h-29.5l11.4 148.2c36.7 19.9 65.7 53.2 79.5 94.7l1 3c3.3 9.8 1.6 20.5-4.4 28.8S362.3 352 352 352H32c-10.3 0-19.9-4.9-26-13.3s-7.7-19.1-4.4-28.8l1-3c13.8-41.5 42.8-74.8 79.5-94.7L93.5 64H64c-17.7 0-32-14.3-32-32zm128 352h64v96c0 17.7-14.3 32-32 32s-32-14.3-32-32v-96z"/>'},e)}function jt(e){return Y({a:{viewBox:"0 0 448 512"},c:'<path d="M135.2 17.7 128 32H32C14.3 32 0 46.3 0 64s14.3 32 32 32h384c17.7 0 32-14.3 32-32s-14.3-32-32-32h-96l-7.2-14.3C307.4 6.8 296.3 0 284.2 0H163.8c-12.1 0-23.2 6.8-28.6 17.7zM416 128H32l21.2 339c1.6 25.3 22.6 45 47.9 45h245.8c25.3 0 46.3-19.7 47.9-45L416 128z"/>'},e)}var Ht=N('<div class="eden-modal-overlay context-menu-overlay">'),Vt=N('<button class="eden-btn eden-btn-ghost eden-btn-sm context-menu-btn">Stop App'),qt=N('<div class=eden-popover><div class="eden-popover-title context-menu-title"></div><button class="eden-btn eden-btn-ghost eden-btn-sm context-menu-btn"> Hot Reload</button><button class="eden-btn eden-btn-ghost eden-btn-sm context-menu-btn"></button><button class="eden-btn eden-btn-ghost eden-btn-sm eden-btn-danger context-menu-btn">Uninstall');function je(e){const[t,n]=_(!1);ge(async()=>{try{(await window.edenAPI.shellCommand("package/is-hot-reload-enabled",{appId:e.menu.appId})).enabled&&n(!0)}catch(i){console.error("Failed to check hot reload status:",i)}});const s=async()=>{try{const i=await window.edenAPI.shellCommand("package/toggle-hot-reload",{appId:e.menu.appId});n(i.enabled)}catch(i){console.error("Failed to toggle hot reload:",i)}e.onClose()},o=async()=>{e.isAppPinned(e.menu.appId)?await e.onRemoveFromDock(e.menu.appId):await e.onAddToDock(e.menu.appId),e.onClose()},r=async()=>{await e.onStopApp(e.menu.appId),e.onClose()},l=async()=>{await e.onUninstallApp(e.menu.appId),e.onClose()};return[(()=>{var i=Ht();return ue(i,"click",e.onClose,!0),i})(),(()=>{var i=qt(),a=i.firstChild,d=a.nextSibling,h=d.firstChild,c=d.nextSibling,p=c.nextSibling,m=p.firstChild;return C(a,()=>e.menu.appName),C(i,A(K,{get when(){return e.menu.isRunning},get children(){var w=Vt(),E=w.firstChild;return w.$$click=r,C(w,A(Bt,{}),E),w}}),d),d.$$click=s,C(d,(()=>{var w=Ae(()=>!!t());return()=>w()?A(Nt,{}):A(Rt,{})})(),h),C(d,()=>t()?"Disable":"Enable",h),c.$$click=o,C(c,(()=>{var w=Ae(()=>!!e.isAppPinned(e.menu.appId));return()=>w()?A(Ut,{}):A(Ft,{})})(),null),C(c,()=>e.isAppPinned(e.menu.appId)?"Remove from Dock":"Add to Dock",null),p.$$click=l,C(p,A(jt,{}),m),B(w=>Ue(i,{...e.menu.left!==void 0&&{left:`${e.menu.left}px`},...e.menu.right!==void 0&&{right:`${e.menu.right}px`},...e.menu.top!==void 0&&{top:`${e.menu.top}px`},...e.menu.bottom!==void 0&&{bottom:`${e.menu.bottom}px`}},w)),i})()]}Z(["click"]);var Xt=N('<div class="eden-text-tertiary eden-text-md"style="grid-column:1 / -1;text-align:center;padding:var(--eden-space-2xl)">No apps found'),Kt=N('<div class=eden-modal-overlay style=background:rgba(0,0,0,0.4);backdrop-filter:none><div class="eden-modal eden-modal-lg"style=max-height:70vh;background:var(--eden-color-surface-primary)><div class=eden-modal-header><div class="eden-flex eden-gap-sm"style=flex:1><input type=text class=eden-input placeholder="Search apps..."></div></div><div class="eden-modal-body eden-scrollbar"><div class=eden-card-grid style=gap:var(--eden-space-lg)>'),zt=N('<div class="all-apps-tile eden-interactive">');function Gt(e){const[t,n]=_(""),[s,o]=_(null),[r,l]=_(null),[i,a]=_(!1),d=280;let h,c;const p=()=>{const g=t().toLowerCase().trim();return g?e.apps.filter(I=>I.name.toLowerCase().includes(g)||I.id.toLowerCase().includes(g)):e.apps};ge(()=>{c?.focus()}),W(()=>{const g=r();g&&clearTimeout(g),h&&clearTimeout(h)});function m(){const g=r();g&&(clearTimeout(g),l(null))}function w(){i()||(o(null),a(!0),h=window.setTimeout(()=>{e.onClose(),h=void 0},d))}function E(){i()||w()}async function F(g){i()||w();const I=e.apps.filter(T=>T.isRunning).map(T=>T.id);for(const T of I)try{await window.edenAPI.shellCommand("view/set-view-visibility",{appId:T,visible:!0})}catch(R){console.error(`Failed to set visibility for ${T}:`,R)}await e.onAppClick(g)}function M(g,I,T,R){i()||(g.preventDefault(),g.stopPropagation(),o({appId:I,appName:T,isRunning:R,left:g.clientX,top:g.clientY}))}function x(g,I,T,R){if(i())return;const v=window.setTimeout(()=>{const $="touches"in g?g.touches[0].clientX:g.clientX,L="touches"in g?g.touches[0].clientY:g.clientY;o({appId:I,appName:T,isRunning:R,left:$,top:L})},500);l(v)}function S(){m()}function P(g){g.key==="Escape"&&w()}return[(()=>{var g=Kt(),I=g.firstChild,T=I.firstChild,R=T.firstChild,v=R.firstChild,$=T.nextSibling,L=$.firstChild;g.$$keydown=P,g.$$click=E,I.$$click=f=>f.stopPropagation(),v.$$input=f=>n(f.currentTarget.value);var u=c;return typeof u=="function"?de(u,v):c=v,C(L,A(ve,{get each(){return p()},children:f=>(()=>{var y=zt();return y.addEventListener("touchcancel",S),y.$$touchend=S,y.$$touchstart=O=>x(O,f.id,f.name,f.isRunning),y.addEventListener("mouseleave",S),y.$$mouseup=S,y.$$mousedown=O=>{O.button===0&&x(O,f.id,f.name,f.isRunning)},y.$$contextmenu=O=>M(O,f.id,f.name,f.isRunning),y.$$click=async()=>{s()||i()||await F(f.id)},C(y,A(se,{get appId(){return f.id},get appName(){return f.name},get isRunning(){return f.isRunning}})),B(()=>y.classList.toggle("running",!!f.isRunning)),y})()}),null),C(L,A(K,{get when(){return p().length===0},get children(){return Xt()}}),null),B(f=>{var y=!!i(),O=!!i();return y!==f.e&&g.classList.toggle("closing",f.e=y),O!==f.t&&I.classList.toggle("closing",f.t=O),f},{e:void 0,t:void 0}),B(()=>v.value=t()),g})(),A(K,{get when(){return s()},children:g=>A(je,{get menu(){return g()},get isAppPinned(){return e.isAppPinned},get onStopApp(){return e.onStopApp},get onAddToDock(){return e.onAddToDock},get onRemoveFromDock(){return e.onRemoveFromDock},get onUninstallApp(){return e.onUninstallApp},onClose:()=>o(null)})})]}Z(["click","keydown","input","contextmenu","mousedown","mouseup","touchstart","touchend"]);var Yt=N("<div class=shell-overlay>");const Ee=72,Le="pinned-dock-apps";function Qt(){const[e,t]=_([]),[n,s]=_([]),[o,r]=_([]),[l,i]=_(!1),[a,d]=_(null),h=async()=>{try{const u=await window.edenAPI.shellCommand("db/get",{key:Le});if(u.value){const f=JSON.parse(u.value);Array.isArray(f)&&r(f)}}catch(u){console.error("Failed to load pinned dock apps:",u)}},c=async u=>{try{await window.edenAPI.shellCommand("db/set",{key:Le,value:JSON.stringify(u)})}catch(f){console.error("Failed to save pinned dock apps:",f)}},p=async u=>{const f=o();if(!f.includes(u)){const y=[...f,u];r(y),await c(y)}},m=async u=>{const y=o().filter(O=>O!==u);r(y),await c(y)},w=u=>o().includes(u),E=()=>e().filter(u=>!o().includes(u.manifest.id)).map(u=>({id:u.manifest.id,name:u.manifest.name,isRunning:!0})),F=()=>{const u=new Set(e().map(y=>y.manifest.id)),f=n();return o().map(y=>{const O=f.find(me=>me.id===y);return O?{id:y,name:O.name,isRunning:u.has(y)}:null}).filter(y=>y!==null)},M=()=>{const u=new Set(e().map(f=>f.manifest.id));return n().map(f=>({id:f.id,name:f.name,isRunning:u.has(f.id)}))},x=async()=>{try{const u=await window.edenAPI.shellCommand("package/list",{});Array.isArray(u)&&s(u);const f=await window.edenAPI.shellCommand("process/list",{});Array.isArray(f)&&t(f)}catch(u){console.error("Failed to load system info:",u)}},S=(u,f)=>u==="fullscreen"?{x:0,y:0,width:f.width,height:f.height}:{x:0,y:f.height-Ee,width:f.width,height:Ee},P=async u=>{try{await window.edenAPI.shellCommand("view/update-view-bounds",{appId:"com.eden.eveshell",bounds:u})}catch(f){console.error("Failed to update overlay bounds:",f)}},g=async u=>{try{const f=await window.edenAPI.shellCommand("view/window-size",{}),y=S(u,f);await P(y)}catch(f){console.error("Failed to resize overlay:",f)}},I=async u=>{if(e().some(y=>y.manifest.id===u))try{await window.edenAPI.shellCommand("view/focus-app",{appId:u})}catch(y){console.error("Failed to focus app:",y)}else try{await window.edenAPI.shellCommand("process/launch",{appId:u}),setTimeout(()=>{x()},500)}catch(y){console.error("Failed to launch app:",y)}},T=async()=>{const u=!l();i(u),await g(u?"fullscreen":"dock"),u&&x()},R=async u=>{try{await window.edenAPI.shellCommand("process/stop",{appId:u}),setTimeout(()=>{x()},300)}catch(f){console.error("Failed to stop app:",f)}},v=async u=>{try{confirm("Are you sure you want to uninstall this app?")&&(await window.edenAPI.shellCommand("package/uninstall",{appId:u}),await x())}catch(f){console.error("Failed to uninstall app:",f)}},$=async u=>{await g("fullscreen"),d(u)},L=async()=>{d(null),l()||await g("dock")};return ge(()=>{const u=()=>x(),f=y=>{const{windowSize:O}=y,me=l()?"fullscreen":"dock",Ve=S(me,O);P(Ve)};W(()=>{window.edenAPI.unsubscribe("process/launched",u),window.edenAPI.unsubscribe("process/stopped",u),window.edenAPI.unsubscribe("view/global-bounds-changed",f)}),(async()=>{x(),h(),await g("dock");try{await window.edenAPI.subscribe("process/launched",u),await window.edenAPI.subscribe("process/stopped",u),await window.edenAPI.subscribe("view/global-bounds-changed",f)}catch(y){console.error("Failed to subscribe to events:",y)}})()}),(()=>{var u=Yt();return C(u,A(K,{get when(){return l()},get children(){return A(Gt,{get apps(){return M()},onClose:T,onAppClick:I,onStopApp:R,onUninstallApp:v,isAppPinned:w,onAddToDock:p,onRemoveFromDock:m})}}),null),C(u,A(Dt,{get runningApps(){return E()},get pinnedApps(){return F()},onAppClick:I,onShowAllApps:T,onContextMenu:$}),null),C(u,A(K,{get when(){return a()},children:f=>A(je,{get menu(){return f()},isAppPinned:w,onStopApp:R,onAddToDock:p,onRemoveFromDock:m,onUninstallApp:v,onClose:L})}),null),B(()=>V(u,"data-mode",l()||a()?"fullscreen":"dock")),u})()}const He=document.getElementById("root");if(!He)throw new Error("Root element not found");wt(()=>A(Qt,{}),He);
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<title>Eden</title>
|
|
7
|
+
<script type="module" crossorigin src="./assets/index-De0NEh_d.js"></script>
|
|
8
|
+
<link rel="stylesheet" crossorigin href="./assets/index-BS2yCXxK.css">
|
|
9
|
+
</head>
|
|
10
|
+
<body>
|
|
11
|
+
<div id="root"></div>
|
|
12
|
+
</body>
|
|
13
|
+
</html>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<title>Eden</title>
|
|
7
|
+
</head>
|
|
8
|
+
<body>
|
|
9
|
+
<div id="root"></div>
|
|
10
|
+
<script type="module" src="/src/index.tsx"></script>
|
|
11
|
+
</body>
|
|
12
|
+
</html>
|