@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,59 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="UTF-8">
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
7
|
+
<title>Hello World - Eden App</title>
|
|
8
|
+
<link rel="stylesheet" href="styles.css">
|
|
9
|
+
</head>
|
|
10
|
+
|
|
11
|
+
<body>
|
|
12
|
+
<div class="container">
|
|
13
|
+
<h1>👋 Hello Eden!</h1>
|
|
14
|
+
<p>
|
|
15
|
+
This is an example Eden app demonstrating the modular architecture.
|
|
16
|
+
The frontend (this page) and backend (worker thread) communicate seamlessly.
|
|
17
|
+
</p>
|
|
18
|
+
|
|
19
|
+
<div class="controls">
|
|
20
|
+
<button id="ping-btn" class="eden-btn">Ping Backend</button>
|
|
21
|
+
<button id="status-btn" class="eden-btn">Get Backend Status</button>
|
|
22
|
+
<button id="hello-btn" class="eden-btn eden-btn-primary">Say Hello to Backend</button>
|
|
23
|
+
</div>
|
|
24
|
+
|
|
25
|
+
<div id="status">
|
|
26
|
+
<p>Ready. Click a button to interact with the backend.</p>
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
29
|
+
|
|
30
|
+
<!-- Input Dialog Modal -->
|
|
31
|
+
<div id="input-dialog" class="eden-modal-overlay" style="display: none;">
|
|
32
|
+
<div class="eden-modal eden-modal-sm">
|
|
33
|
+
<div class="eden-modal-header">
|
|
34
|
+
<h3 class="eden-modal-title" id="input-dialog-title">Input</h3>
|
|
35
|
+
<button class="eden-modal-close" id="input-dialog-close" aria-label="Close">
|
|
36
|
+
✕
|
|
37
|
+
</button>
|
|
38
|
+
</div>
|
|
39
|
+
<div class="eden-modal-body">
|
|
40
|
+
<div class="eden-form-group">
|
|
41
|
+
<input
|
|
42
|
+
type="text"
|
|
43
|
+
id="input-dialog-input"
|
|
44
|
+
class="eden-input"
|
|
45
|
+
placeholder="Enter value..."
|
|
46
|
+
/>
|
|
47
|
+
</div>
|
|
48
|
+
</div>
|
|
49
|
+
<div class="eden-modal-footer">
|
|
50
|
+
<button class="eden-btn" id="input-dialog-cancel">Cancel</button>
|
|
51
|
+
<button class="eden-btn eden-btn-primary" id="input-dialog-confirm">OK</button>
|
|
52
|
+
</div>
|
|
53
|
+
</div>
|
|
54
|
+
</div>
|
|
55
|
+
|
|
56
|
+
<script type="module" src="./src/App.ts"></script>
|
|
57
|
+
</body>
|
|
58
|
+
|
|
59
|
+
</html>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
|
13
|
+
export NODE_PATH="/home/dariusz/Desktop/eden/node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/bin/node_modules:/home/dariusz/Desktop/eden/node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/node_modules:/home/dariusz/Desktop/eden/node_modules/.pnpm/typescript@5.6.3/node_modules:/home/dariusz/Desktop/eden/node_modules/.pnpm/node_modules"
|
|
14
|
+
else
|
|
15
|
+
export NODE_PATH="/home/dariusz/Desktop/eden/node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/bin/node_modules:/home/dariusz/Desktop/eden/node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/node_modules:/home/dariusz/Desktop/eden/node_modules/.pnpm/typescript@5.6.3/node_modules:/home/dariusz/Desktop/eden/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
+
fi
|
|
17
|
+
if [ -x "$basedir/node" ]; then
|
|
18
|
+
exec "$basedir/node" "$basedir/../typescript/bin/tsc" "$@"
|
|
19
|
+
else
|
|
20
|
+
exec node "$basedir/../typescript/bin/tsc" "$@"
|
|
21
|
+
fi
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
|
13
|
+
export NODE_PATH="/home/dariusz/Desktop/eden/node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/bin/node_modules:/home/dariusz/Desktop/eden/node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/node_modules:/home/dariusz/Desktop/eden/node_modules/.pnpm/typescript@5.6.3/node_modules:/home/dariusz/Desktop/eden/node_modules/.pnpm/node_modules"
|
|
14
|
+
else
|
|
15
|
+
export NODE_PATH="/home/dariusz/Desktop/eden/node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/bin/node_modules:/home/dariusz/Desktop/eden/node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/node_modules:/home/dariusz/Desktop/eden/node_modules/.pnpm/typescript@5.6.3/node_modules:/home/dariusz/Desktop/eden/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
+
fi
|
|
17
|
+
if [ -x "$basedir/node" ]; then
|
|
18
|
+
exec "$basedir/node" "$basedir/../typescript/bin/tsserver" "$@"
|
|
19
|
+
else
|
|
20
|
+
exec node "$basedir/../typescript/bin/tsserver" "$@"
|
|
21
|
+
fi
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
|
13
|
+
export NODE_PATH="/home/dariusz/Desktop/eden/node_modules/.pnpm/vite@7.2.6_@types+node@22.19.1/node_modules/vite/bin/node_modules:/home/dariusz/Desktop/eden/node_modules/.pnpm/vite@7.2.6_@types+node@22.19.1/node_modules/vite/node_modules:/home/dariusz/Desktop/eden/node_modules/.pnpm/vite@7.2.6_@types+node@22.19.1/node_modules:/home/dariusz/Desktop/eden/node_modules/.pnpm/node_modules"
|
|
14
|
+
else
|
|
15
|
+
export NODE_PATH="/home/dariusz/Desktop/eden/node_modules/.pnpm/vite@7.2.6_@types+node@22.19.1/node_modules/vite/bin/node_modules:/home/dariusz/Desktop/eden/node_modules/.pnpm/vite@7.2.6_@types+node@22.19.1/node_modules/vite/node_modules:/home/dariusz/Desktop/eden/node_modules/.pnpm/vite@7.2.6_@types+node@22.19.1/node_modules:/home/dariusz/Desktop/eden/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
+
fi
|
|
17
|
+
if [ -x "$basedir/node" ]; then
|
|
18
|
+
exec "$basedir/node" "$basedir/../vite/bin/vite.js" "$@"
|
|
19
|
+
else
|
|
20
|
+
exec node "$basedir/../vite/bin/vite.js" "$@"
|
|
21
|
+
fi
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "com.eden.example.hello-frontend",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"scripts": {
|
|
6
|
+
"dev": "vite",
|
|
7
|
+
"build": "vite build",
|
|
8
|
+
"preview": "vite preview"
|
|
9
|
+
},
|
|
10
|
+
"devDependencies": {
|
|
11
|
+
"@edenapp/types": "workspace:*",
|
|
12
|
+
"typescript": "^5.3.0",
|
|
13
|
+
"vite": "^7.2.4"
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hello World Frontend
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import type { PeerConnection } from "@edenapp/types/ipc";
|
|
6
|
+
import type { HelloProtocol } from "../../shared/protocol";
|
|
7
|
+
|
|
8
|
+
class HelloApp {
|
|
9
|
+
private statusDiv: HTMLElement | null;
|
|
10
|
+
|
|
11
|
+
constructor() {
|
|
12
|
+
this.statusDiv = document.getElementById("status");
|
|
13
|
+
this.setupEventListeners();
|
|
14
|
+
this.setupMessageListeners();
|
|
15
|
+
this.log("App initialized");
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
private getAppAPI(): PeerConnection<HelloProtocol> {
|
|
19
|
+
return window.getAppAPI() as PeerConnection<HelloProtocol>;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
private setupEventListeners(): void {
|
|
23
|
+
document.getElementById("ping-btn")?.addEventListener("click", () => {
|
|
24
|
+
this.pingBackend();
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
document.getElementById("status-btn")?.addEventListener("click", () => {
|
|
28
|
+
this.getBackendStatus();
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
document.getElementById("hello-btn")?.addEventListener("click", () => {
|
|
32
|
+
this.sayHello();
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
private setupMessageListeners(): void {
|
|
37
|
+
const appAPI = this.getAppAPI();
|
|
38
|
+
|
|
39
|
+
// Listen for messages from backend - fully typed!
|
|
40
|
+
appAPI.on("backend-ready", (payload) => {
|
|
41
|
+
// payload.message is typed as string
|
|
42
|
+
this.log(`✓ ${payload.message}`);
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
appAPI.on("heartbeat", (payload) => {
|
|
46
|
+
// payload is typed as { timestamp: number; messageCount: number }
|
|
47
|
+
console.log("Heartbeat from backend:", payload);
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
private async pingBackend(): Promise<void> {
|
|
52
|
+
this.log("Sending ping to backend...");
|
|
53
|
+
|
|
54
|
+
try {
|
|
55
|
+
// response is typed as { timestamp: number; messageCount: number }
|
|
56
|
+
const response = await this.getAppAPI().request("ping", {});
|
|
57
|
+
this.log(`Pong received! Message count: ${response.messageCount}`);
|
|
58
|
+
} catch (error) {
|
|
59
|
+
this.log(`Error: ${(error as Error).message}`);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
private async getBackendStatus(): Promise<void> {
|
|
64
|
+
this.log("Requesting backend status...");
|
|
65
|
+
|
|
66
|
+
try {
|
|
67
|
+
// response is typed as { status: string; uptime: number; messageCount: number }
|
|
68
|
+
const response = await this.getAppAPI().request("get-status", {});
|
|
69
|
+
this.log(`Status: ${response.status}`);
|
|
70
|
+
this.log(`Uptime: ${response.uptime.toFixed(2)}s`);
|
|
71
|
+
this.log(`Messages: ${response.messageCount}`);
|
|
72
|
+
} catch (error) {
|
|
73
|
+
this.log(`Error: ${(error as Error).message}`);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
private async sayHello(): Promise<void> {
|
|
78
|
+
const userMessage = await this.showInputDialog(
|
|
79
|
+
"Say Hello",
|
|
80
|
+
"What would you like to say?",
|
|
81
|
+
"Hello from frontend!"
|
|
82
|
+
);
|
|
83
|
+
if (!userMessage) return;
|
|
84
|
+
|
|
85
|
+
this.log(`Sending: "${userMessage}"`);
|
|
86
|
+
|
|
87
|
+
try {
|
|
88
|
+
// request arg is typed as { message: string }
|
|
89
|
+
// response is typed as { message: string }
|
|
90
|
+
const response = await this.getAppAPI().request("hello", {
|
|
91
|
+
message: userMessage,
|
|
92
|
+
});
|
|
93
|
+
this.log(`Backend says: ${response.message}`);
|
|
94
|
+
} catch (error) {
|
|
95
|
+
this.log(`Error: ${(error as Error).message}`);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
private showInputDialog(
|
|
100
|
+
title: string,
|
|
101
|
+
placeholder = "Enter value...",
|
|
102
|
+
defaultValue = ""
|
|
103
|
+
): Promise<string | null> {
|
|
104
|
+
return new Promise((resolve) => {
|
|
105
|
+
const overlay = document.getElementById("input-dialog");
|
|
106
|
+
const titleEl = document.getElementById("input-dialog-title");
|
|
107
|
+
const input = document.getElementById(
|
|
108
|
+
"input-dialog-input"
|
|
109
|
+
) as HTMLInputElement | null;
|
|
110
|
+
const closeBtn = document.getElementById("input-dialog-close");
|
|
111
|
+
const cancelBtn = document.getElementById("input-dialog-cancel");
|
|
112
|
+
const confirmBtn = document.getElementById("input-dialog-confirm");
|
|
113
|
+
|
|
114
|
+
if (
|
|
115
|
+
!overlay ||
|
|
116
|
+
!titleEl ||
|
|
117
|
+
!input ||
|
|
118
|
+
!closeBtn ||
|
|
119
|
+
!cancelBtn ||
|
|
120
|
+
!confirmBtn
|
|
121
|
+
) {
|
|
122
|
+
resolve(null);
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
titleEl.textContent = title;
|
|
127
|
+
input.placeholder = placeholder;
|
|
128
|
+
input.value = defaultValue;
|
|
129
|
+
overlay.style.display = "flex";
|
|
130
|
+
|
|
131
|
+
setTimeout(() => input.focus(), 100);
|
|
132
|
+
|
|
133
|
+
const cleanup = (result: string | null) => {
|
|
134
|
+
overlay.style.display = "none";
|
|
135
|
+
input.value = "";
|
|
136
|
+
resolve(result);
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
const handleConfirm = () => {
|
|
140
|
+
const value = input.value.trim();
|
|
141
|
+
cleanup(value || null);
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
const handleCancel = () => {
|
|
145
|
+
cleanup(null);
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
confirmBtn.onclick = handleConfirm;
|
|
149
|
+
cancelBtn.onclick = handleCancel;
|
|
150
|
+
closeBtn.onclick = handleCancel;
|
|
151
|
+
|
|
152
|
+
const handleKeyDown = (e: KeyboardEvent) => {
|
|
153
|
+
if (e.key === "Enter") {
|
|
154
|
+
handleConfirm();
|
|
155
|
+
input.removeEventListener("keydown", handleKeyDown);
|
|
156
|
+
} else if (e.key === "Escape") {
|
|
157
|
+
handleCancel();
|
|
158
|
+
input.removeEventListener("keydown", handleKeyDown);
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
input.addEventListener("keydown", handleKeyDown);
|
|
162
|
+
|
|
163
|
+
overlay.onclick = (e) => {
|
|
164
|
+
if (e.target === overlay) {
|
|
165
|
+
handleCancel();
|
|
166
|
+
}
|
|
167
|
+
};
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
private log(text: string): void {
|
|
172
|
+
const p = document.createElement("p");
|
|
173
|
+
p.textContent = `[${new Date().toLocaleTimeString()}] ${text}`;
|
|
174
|
+
|
|
175
|
+
if (this.statusDiv) {
|
|
176
|
+
this.statusDiv.appendChild(p);
|
|
177
|
+
this.statusDiv.scrollTop = this.statusDiv.scrollHeight;
|
|
178
|
+
|
|
179
|
+
while (this.statusDiv.children.length > 20) {
|
|
180
|
+
this.statusDiv.removeChild(this.statusDiv.firstChild!);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
// Initialize when DOM is ready
|
|
187
|
+
if (document.readyState === "loading") {
|
|
188
|
+
document.addEventListener("DOMContentLoaded", () => new HelloApp());
|
|
189
|
+
} else {
|
|
190
|
+
new HelloApp();
|
|
191
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hello World App - Using Eden CSS
|
|
3
|
+
*
|
|
4
|
+
* This demonstrates how to use the auto-injected CSS
|
|
5
|
+
* in a real Eden app with actual functionality.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
* {
|
|
9
|
+
margin: 0;
|
|
10
|
+
padding: 0;
|
|
11
|
+
box-sizing: border-box;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
body {
|
|
15
|
+
font-family: var(--eden-font-family-base);
|
|
16
|
+
background: var(--eden-color-bg-secondary);
|
|
17
|
+
color: var(--eden-color-text-on-dark);
|
|
18
|
+
display: flex;
|
|
19
|
+
flex-direction: column;
|
|
20
|
+
align-items: center;
|
|
21
|
+
justify-content: center;
|
|
22
|
+
min-height: 100vh;
|
|
23
|
+
padding: var(--eden-space-lg);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.container {
|
|
27
|
+
max-width: 600px;
|
|
28
|
+
text-align: center;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
h1 {
|
|
32
|
+
font-size: var(--eden-font-size-4xl);
|
|
33
|
+
margin-bottom: var(--eden-space-md);
|
|
34
|
+
animation: fadeInDown 0.6s ease-out;
|
|
35
|
+
font-weight: var(--eden-font-weight-bold);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
p {
|
|
39
|
+
font-size: var(--eden-font-size-xl);
|
|
40
|
+
margin-bottom: var(--eden-space-2xl);
|
|
41
|
+
opacity: 0.9;
|
|
42
|
+
animation: fadeInUp 0.6s ease-out 0.2s both;
|
|
43
|
+
line-height: var(--eden-font-line-height-relaxed);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.controls {
|
|
47
|
+
display: flex;
|
|
48
|
+
flex-direction: column;
|
|
49
|
+
gap: var(--eden-space-md);
|
|
50
|
+
margin-top: var(--eden-space-2xl);
|
|
51
|
+
animation: fadeInUp 0.6s ease-out 0.4s both;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
#status {
|
|
55
|
+
margin-top: var(--eden-space-lg);
|
|
56
|
+
padding: var(--eden-space-md);
|
|
57
|
+
background: var(--eden-color-bg-glass-light);
|
|
58
|
+
border-radius: var(--eden-radius-md);
|
|
59
|
+
font-size: var(--eden-font-size-md);
|
|
60
|
+
font-family: var(--eden-font-mono);
|
|
61
|
+
text-align: left;
|
|
62
|
+
max-height: 200px;
|
|
63
|
+
overflow-y: auto;
|
|
64
|
+
animation: fadeInUp 0.6s ease-out 0.6s both;
|
|
65
|
+
backdrop-filter: var(--eden-glass-light);
|
|
66
|
+
border: 1px solid var(--eden-color-border-light);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
#status p {
|
|
70
|
+
margin: var(--eden-space-xs) 0;
|
|
71
|
+
font-size: var(--eden-font-size-md);
|
|
72
|
+
animation: none;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
@keyframes fadeInDown {
|
|
76
|
+
from {
|
|
77
|
+
opacity: 0;
|
|
78
|
+
transform: translateY(-20px);
|
|
79
|
+
}
|
|
80
|
+
to {
|
|
81
|
+
opacity: 1;
|
|
82
|
+
transform: translateY(0);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
@keyframes fadeInUp {
|
|
87
|
+
from {
|
|
88
|
+
opacity: 0;
|
|
89
|
+
transform: translateY(20px);
|
|
90
|
+
}
|
|
91
|
+
to {
|
|
92
|
+
opacity: 1;
|
|
93
|
+
transform: translateY(0);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2020",
|
|
4
|
+
"module": "ESNext",
|
|
5
|
+
"lib": ["ES2020", "DOM", "DOM.Iterable"],
|
|
6
|
+
"moduleResolution": "bundler",
|
|
7
|
+
"resolveJsonModule": true,
|
|
8
|
+
"allowSyntheticDefaultImports": true,
|
|
9
|
+
"esModuleInterop": true,
|
|
10
|
+
"forceConsistentCasingInFileNames": true,
|
|
11
|
+
"strict": true,
|
|
12
|
+
"skipLibCheck": true,
|
|
13
|
+
"types": ["vite/client", "@edenapp/types/global"]
|
|
14
|
+
},
|
|
15
|
+
"include": ["src"]
|
|
16
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { defineConfig } from "vite";
|
|
2
|
+
import { fileURLToPath } from "url";
|
|
3
|
+
import { dirname, resolve } from "path";
|
|
4
|
+
|
|
5
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = dirname(__filename);
|
|
7
|
+
|
|
8
|
+
export default defineConfig({
|
|
9
|
+
base: "./",
|
|
10
|
+
root: __dirname,
|
|
11
|
+
build: {
|
|
12
|
+
outDir: "./dist",
|
|
13
|
+
emptyOutDir: true,
|
|
14
|
+
rollupOptions: {
|
|
15
|
+
input: resolve(__dirname, "index.html"),
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
resolve: {
|
|
19
|
+
conditions: ["development", "browser"],
|
|
20
|
+
},
|
|
21
|
+
});
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "com.eden.example.hello",
|
|
3
|
+
"name": "Hello World",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"description": "A simple example app demonstrating Eden app structure",
|
|
6
|
+
"author": "Dariusz Majnert",
|
|
7
|
+
"build": {
|
|
8
|
+
"command": "cd frontend && pnpm run build && cd ../backend && pnpm run build"
|
|
9
|
+
},
|
|
10
|
+
"backend": {
|
|
11
|
+
"entry": "backend/dist/backend.js"
|
|
12
|
+
},
|
|
13
|
+
"frontend": {
|
|
14
|
+
"entry": "frontend/dist/index.html"
|
|
15
|
+
},
|
|
16
|
+
"window": {
|
|
17
|
+
"mode": "both",
|
|
18
|
+
"defaultSize": {
|
|
19
|
+
"width": 600,
|
|
20
|
+
"height": 400
|
|
21
|
+
},
|
|
22
|
+
"minSize": {
|
|
23
|
+
"width": 400,
|
|
24
|
+
"height": 300
|
|
25
|
+
},
|
|
26
|
+
"resizable": true,
|
|
27
|
+
"movable": true
|
|
28
|
+
},
|
|
29
|
+
"permissions": {
|
|
30
|
+
"system": {
|
|
31
|
+
"notifications": true
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hello App Protocol
|
|
3
|
+
*
|
|
4
|
+
* Defines the typed contract between frontend and backend.
|
|
5
|
+
* This is the single source of truth for all communication.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import type { ChannelProtocol } from "@edenapp/types/ipc";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Protocol for frontend <-> backend communication in Hello World app.
|
|
12
|
+
*
|
|
13
|
+
* Host = Backend (exposes the appAPI connection)
|
|
14
|
+
* Peer = Frontend (connects via getAppAPI())
|
|
15
|
+
*/
|
|
16
|
+
export interface HelloProtocol extends ChannelProtocol {
|
|
17
|
+
// Messages sent by backend, received by frontend
|
|
18
|
+
hostMessages: {
|
|
19
|
+
"backend-ready": { message: string };
|
|
20
|
+
heartbeat: { timestamp: number; messageCount: number };
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
// Messages sent by frontend, received by backend
|
|
24
|
+
peerMessages: {};
|
|
25
|
+
|
|
26
|
+
// Requests that frontend sends, backend handles
|
|
27
|
+
hostHandles: {
|
|
28
|
+
ping: { args: {}; result: { timestamp: number; messageCount: number } };
|
|
29
|
+
"get-status": {
|
|
30
|
+
args: {};
|
|
31
|
+
result: { status: string; uptime: number; messageCount: number };
|
|
32
|
+
};
|
|
33
|
+
hello: { args: { message: string }; result: { message: string } };
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
// Requests that backend sends, frontend handles (none in this app)
|
|
37
|
+
peerHandles: {};
|
|
38
|
+
}
|