@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.
Files changed (432) hide show
  1. package/apps/com/eden/editor/dist/assets/css-DQU6DXDx.js +3 -0
  2. package/apps/com/eden/editor/dist/assets/editor-BRA9licV.css +1 -0
  3. package/apps/com/eden/editor/dist/assets/editor.main-DAsyVptA.js +677 -0
  4. package/apps/com/eden/editor/dist/assets/editor.worker-B4pQIWZD.js +12 -0
  5. package/apps/com/eden/editor/dist/assets/html-CTBLac3N.js +1 -0
  6. package/apps/com/eden/editor/dist/assets/index-B7GgDQ9I.css +1 -0
  7. package/apps/com/eden/editor/dist/assets/index-BWJI9cyM.js +2 -0
  8. package/apps/com/eden/editor/dist/assets/ini-BvajGCUy.js +1 -0
  9. package/apps/com/eden/editor/dist/assets/javascript-DJ6Ya8pi.js +1 -0
  10. package/apps/com/eden/editor/dist/assets/jsonMode-BA0kYRDI.js +10 -0
  11. package/apps/com/eden/editor/dist/assets/less-GGFNNJHn.js +2 -0
  12. package/apps/com/eden/editor/dist/assets/markdown-B811l8j2.js +1 -0
  13. package/apps/com/eden/editor/dist/assets/shell-CsDZo4DB.js +1 -0
  14. package/apps/com/eden/editor/dist/assets/typescript-C7BsmV0J.js +1 -0
  15. package/apps/com/eden/editor/dist/assets/yaml-QL02lm_B.js +1 -0
  16. package/apps/com/eden/editor/dist/index.html +13 -0
  17. package/apps/com/eden/editor/icon.svg +22 -0
  18. package/apps/com/eden/editor/index.html +12 -0
  19. package/apps/com/eden/editor/manifest.json +58 -0
  20. package/apps/com/eden/editor/node_modules/.bin/browserslist +21 -0
  21. package/apps/com/eden/editor/node_modules/.bin/tsc +21 -0
  22. package/apps/com/eden/editor/node_modules/.bin/tsserver +21 -0
  23. package/apps/com/eden/editor/node_modules/.bin/vite +21 -0
  24. package/apps/com/eden/editor/package.json +21 -0
  25. package/apps/com/eden/editor/src/App.tsx +212 -0
  26. package/apps/com/eden/editor/src/components/ErrorBanner.tsx +13 -0
  27. package/apps/com/eden/editor/src/components/LazyMonacoEditor.tsx +154 -0
  28. package/apps/com/eden/editor/src/components/TabBar.tsx +36 -0
  29. package/apps/com/eden/editor/src/components/Toolbar.tsx +39 -0
  30. package/apps/com/eden/editor/src/components/WelcomeScreen.tsx +49 -0
  31. package/apps/com/eden/editor/src/components/index.ts +11 -0
  32. package/apps/com/eden/editor/src/index.tsx +10 -0
  33. package/apps/com/eden/editor/src/styles.css +319 -0
  34. package/apps/com/eden/editor/src/types.ts +69 -0
  35. package/apps/com/eden/editor/tsconfig.json +24 -0
  36. package/apps/com/eden/editor/vite.config.mts +67 -0
  37. package/apps/com/eden/eveshell/assets/apps-grid-icon.svg +17 -0
  38. package/apps/com/eden/eveshell/assets/default-icon.svg +17 -0
  39. package/apps/com/eden/eveshell/dist/assets/index-BS2yCXxK.css +1 -0
  40. package/apps/com/eden/eveshell/dist/assets/index-De0NEh_d.js +1 -0
  41. package/apps/com/eden/eveshell/dist/index.html +13 -0
  42. package/apps/com/eden/eveshell/index.html +12 -0
  43. package/apps/com/eden/eveshell/manifest.json +28 -0
  44. package/apps/com/eden/eveshell/node_modules/.bin/tsc +21 -0
  45. package/apps/com/eden/eveshell/node_modules/.bin/tsserver +21 -0
  46. package/apps/com/eden/eveshell/node_modules/.bin/vite +21 -0
  47. package/apps/com/eden/eveshell/package.json +20 -0
  48. package/apps/com/eden/eveshell/src/components/AllApps.tsx +228 -0
  49. package/apps/com/eden/eveshell/src/components/AppContextMenu.tsx +125 -0
  50. package/apps/com/eden/eveshell/src/components/AppIcon.tsx +40 -0
  51. package/apps/com/eden/eveshell/src/components/Clock.tsx +35 -0
  52. package/apps/com/eden/eveshell/src/components/Dock.tsx +147 -0
  53. package/apps/com/eden/eveshell/src/components/ShellOverlay.tsx +343 -0
  54. package/apps/com/eden/eveshell/src/icon-cache.ts +38 -0
  55. package/apps/com/eden/eveshell/src/index.tsx +11 -0
  56. package/apps/com/eden/eveshell/src/styles.css +409 -0
  57. package/apps/com/eden/eveshell/src/types.ts +5 -0
  58. package/apps/com/eden/eveshell/tsconfig.json +37 -0
  59. package/apps/com/eden/eveshell/vite.config.mts +23 -0
  60. package/apps/com/eden/example/appbus/client-a/app.js +239 -0
  61. package/apps/com/eden/example/appbus/client-a/index.html +48 -0
  62. package/apps/com/eden/example/appbus/client-a/manifest.json +27 -0
  63. package/apps/com/eden/example/appbus/client-a/styles.css +52 -0
  64. package/apps/com/eden/example/appbus/client-b/app.js +130 -0
  65. package/apps/com/eden/example/appbus/client-b/index.html +35 -0
  66. package/apps/com/eden/example/appbus/client-b/manifest.json +27 -0
  67. package/apps/com/eden/example/appbus/client-b/styles.css +48 -0
  68. package/apps/com/eden/example/appbus/hub/README.md +18 -0
  69. package/apps/com/eden/example/appbus/hub/backend.js +121 -0
  70. package/apps/com/eden/example/appbus/hub/manifest.json +17 -0
  71. package/apps/com/eden/example/appbus/isolated/app.js +107 -0
  72. package/apps/com/eden/example/appbus/isolated/index.html +35 -0
  73. package/apps/com/eden/example/appbus/isolated/manifest.json +27 -0
  74. package/apps/com/eden/example/appbus/isolated/styles.css +52 -0
  75. package/apps/com/eden/example/calculator/.dev-manifest.json +5 -0
  76. package/apps/com/eden/example/calculator/app.js +95 -0
  77. package/apps/com/eden/example/calculator/icon.svg +19 -0
  78. package/apps/com/eden/example/calculator/index.html +39 -0
  79. package/apps/com/eden/example/calculator/manifest.json +30 -0
  80. package/apps/com/eden/example/calculator/styles.css +83 -0
  81. package/apps/com/eden/example/hello/README.md +3 -0
  82. package/apps/com/eden/example/hello/backend/dist/backend.js +47 -0
  83. package/apps/com/eden/example/hello/backend/node_modules/.bin/tsc +21 -0
  84. package/apps/com/eden/example/hello/backend/node_modules/.bin/tsserver +21 -0
  85. package/apps/com/eden/example/hello/backend/package.json +13 -0
  86. package/apps/com/eden/example/hello/backend/src/backend.ts +58 -0
  87. package/apps/com/eden/example/hello/backend/tsconfig.json +19 -0
  88. package/apps/com/eden/example/hello/frontend/dist/assets/index-D2WAwW3g.css +1 -0
  89. package/apps/com/eden/example/hello/frontend/dist/assets/index-D4bTq3-Q.js +1 -0
  90. package/apps/com/eden/example/hello/frontend/dist/index.html +59 -0
  91. package/apps/com/eden/example/hello/frontend/index.html +59 -0
  92. package/apps/com/eden/example/hello/frontend/node_modules/.bin/tsc +21 -0
  93. package/apps/com/eden/example/hello/frontend/node_modules/.bin/tsserver +21 -0
  94. package/apps/com/eden/example/hello/frontend/node_modules/.bin/vite +21 -0
  95. package/apps/com/eden/example/hello/frontend/package.json +15 -0
  96. package/apps/com/eden/example/hello/frontend/src/App.ts +191 -0
  97. package/apps/com/eden/example/hello/frontend/styles.css +96 -0
  98. package/apps/com/eden/example/hello/frontend/tsconfig.json +16 -0
  99. package/apps/com/eden/example/hello/frontend/vite.config.mts +21 -0
  100. package/apps/com/eden/example/hello/manifest.json +34 -0
  101. package/apps/com/eden/example/hello/shared/protocol.d.ts +38 -0
  102. package/apps/com/eden/example/showcase/app.js +186 -0
  103. package/apps/com/eden/example/showcase/index.html +637 -0
  104. package/apps/com/eden/example/showcase/manifest.json +24 -0
  105. package/apps/com/eden/example/showcase/styles.css +195 -0
  106. package/apps/com/eden/files/.dev-manifest.json +5 -0
  107. package/apps/com/eden/files/dist/assets/index-BOw4ESi3.js +1 -0
  108. package/apps/com/eden/files/dist/assets/index-BPH5FvSW.css +1 -0
  109. package/apps/com/eden/files/dist/index.html +13 -0
  110. package/apps/com/eden/files/icon.svg +15 -0
  111. package/apps/com/eden/files/index.html +12 -0
  112. package/apps/com/eden/files/manifest.json +28 -0
  113. package/apps/com/eden/files/node_modules/.bin/tsc +21 -0
  114. package/apps/com/eden/files/node_modules/.bin/tsserver +21 -0
  115. package/apps/com/eden/files/node_modules/.bin/vite +21 -0
  116. package/apps/com/eden/files/node_modules/.vite/deps/_metadata.json +46 -0
  117. package/apps/com/eden/files/node_modules/.vite/deps/chunk-5W77UGHT.js +1253 -0
  118. package/apps/com/eden/files/node_modules/.vite/deps/chunk-5W77UGHT.js.map +7 -0
  119. package/apps/com/eden/files/node_modules/.vite/deps/chunk-K4SCX2FD.js +1809 -0
  120. package/apps/com/eden/files/node_modules/.vite/deps/chunk-K4SCX2FD.js.map +7 -0
  121. package/apps/com/eden/files/node_modules/.vite/deps/package.json +3 -0
  122. package/apps/com/eden/files/node_modules/.vite/deps/solid-js.js +112 -0
  123. package/apps/com/eden/files/node_modules/.vite/deps/solid-js.js.map +7 -0
  124. package/apps/com/eden/files/node_modules/.vite/deps/solid-js_h.js +122 -0
  125. package/apps/com/eden/files/node_modules/.vite/deps/solid-js_h.js.map +7 -0
  126. package/apps/com/eden/files/node_modules/.vite/deps/solid-js_html.js +606 -0
  127. package/apps/com/eden/files/node_modules/.vite/deps/solid-js_html.js.map +7 -0
  128. package/apps/com/eden/files/node_modules/.vite/deps/solid-js_store.js +455 -0
  129. package/apps/com/eden/files/node_modules/.vite/deps/solid-js_store.js.map +7 -0
  130. package/apps/com/eden/files/node_modules/.vite/deps/solid-js_web.js +147 -0
  131. package/apps/com/eden/files/node_modules/.vite/deps/solid-js_web.js.map +7 -0
  132. package/apps/com/eden/files/package-lock.json +1754 -0
  133. package/apps/com/eden/files/package.json +20 -0
  134. package/apps/com/eden/files/src/App.tsx +387 -0
  135. package/apps/com/eden/files/src/components/FileExplorerHeader.tsx +90 -0
  136. package/apps/com/eden/files/src/components/FileItem.tsx +70 -0
  137. package/apps/com/eden/files/src/components/FileList.tsx +77 -0
  138. package/apps/com/eden/files/src/components/Modal.tsx +48 -0
  139. package/apps/com/eden/files/src/components/Omnibox.tsx +241 -0
  140. package/apps/com/eden/files/src/dialogs/CreateFileDialog.tsx +71 -0
  141. package/apps/com/eden/files/src/dialogs/CreateFolderDialog.tsx +68 -0
  142. package/apps/com/eden/files/src/dialogs/DeleteConfirmDialog.tsx +35 -0
  143. package/apps/com/eden/files/src/dialogs/DisplayOptionsModal.tsx +122 -0
  144. package/apps/com/eden/files/src/dialogs/ErrorDialog.tsx +28 -0
  145. package/apps/com/eden/files/src/index.tsx +9 -0
  146. package/apps/com/eden/files/src/styles.css +595 -0
  147. package/apps/com/eden/files/src/types.ts +20 -0
  148. package/apps/com/eden/files/src/utils.ts +44 -0
  149. package/apps/com/eden/files/tsconfig.json +27 -0
  150. package/apps/com/eden/files/vite.config.mts +23 -0
  151. package/apps/com/eden/settings/dist/assets/index-CTkJneTg.js +1 -0
  152. package/apps/com/eden/settings/dist/assets/index-GIMJANTM.css +1 -0
  153. package/apps/com/eden/settings/dist/index.html +13 -0
  154. package/apps/com/eden/settings/icon.svg +15 -0
  155. package/apps/com/eden/settings/index.html +12 -0
  156. package/apps/com/eden/settings/manifest.json +28 -0
  157. package/apps/com/eden/settings/node_modules/.bin/tsc +21 -0
  158. package/apps/com/eden/settings/node_modules/.bin/tsserver +21 -0
  159. package/apps/com/eden/settings/node_modules/.bin/vite +21 -0
  160. package/apps/com/eden/settings/package.json +21 -0
  161. package/apps/com/eden/settings/src/App.css +168 -0
  162. package/apps/com/eden/settings/src/App.tsx +301 -0
  163. package/apps/com/eden/settings/src/components/SettingInput.tsx +131 -0
  164. package/apps/com/eden/settings/src/index.tsx +9 -0
  165. package/apps/com/eden/settings/tsconfig.json +21 -0
  166. package/apps/com/eden/settings/vite.config.mts +22 -0
  167. package/apps/com/eden/toaster/README.md +89 -0
  168. package/apps/com/eden/toaster/dist/assets/index-8JMcmBCJ.css +1 -0
  169. package/apps/com/eden/toaster/dist/assets/index-C4cVyh7j.js +16 -0
  170. package/apps/com/eden/toaster/dist/index.html +16 -0
  171. package/apps/com/eden/toaster/index.html +16 -0
  172. package/apps/com/eden/toaster/manifest.json +28 -0
  173. package/apps/com/eden/toaster/node_modules/.bin/vite +21 -0
  174. package/apps/com/eden/toaster/package.json +15 -0
  175. package/apps/com/eden/toaster/src/styles.css +159 -0
  176. package/apps/com/eden/toaster/src/toaster.ts +470 -0
  177. package/apps/com/eden/toaster/tsconfig.json +28 -0
  178. package/apps/com/eden/toaster/vite.config.mts +18 -0
  179. package/apps/com/eden/webbrowser/.dev-manifest.json +5 -0
  180. package/apps/com/eden/webbrowser/icon.svg +20 -0
  181. package/apps/com/eden/webbrowser/index.html +141 -0
  182. package/apps/com/eden/webbrowser/manifest.json +23 -0
  183. package/apps/com/eden/webbrowser/node_modules/.bin/vite +21 -0
  184. package/apps/com/eden/webbrowser/node_modules/.vite/deps/_metadata.json +8 -0
  185. package/apps/com/eden/webbrowser/node_modules/.vite/deps/package.json +3 -0
  186. package/apps/com/eden/webbrowser/package.json +13 -0
  187. package/apps/com/eden/webbrowser/vite.config.mts +11 -0
  188. package/dist/Eden.d.ts +40 -0
  189. package/dist/Eden.d.ts.map +1 -0
  190. package/dist/Eden.js +186 -0
  191. package/dist/Eden.js.map +1 -0
  192. package/dist/SystemHandler.d.ts +11 -0
  193. package/dist/SystemHandler.d.ts.map +1 -0
  194. package/dist/SystemHandler.js +53 -0
  195. package/dist/SystemHandler.js.map +1 -0
  196. package/dist/app-frame/frame-injector.js +19 -0
  197. package/dist/app-frame/frame-injector.js.map +7 -0
  198. package/dist/app-frame/frame.css +186 -0
  199. package/dist/app-runtime/app-preload.js +2 -0
  200. package/dist/app-runtime/app-preload.js.map +7 -0
  201. package/dist/app-runtime/backend-preload.js +2 -0
  202. package/dist/app-runtime/backend-preload.js.map +7 -0
  203. package/dist/appbus/AppChannelHandler.d.ts +65 -0
  204. package/dist/appbus/AppChannelHandler.d.ts.map +1 -0
  205. package/dist/appbus/AppChannelHandler.js +120 -0
  206. package/dist/appbus/AppChannelHandler.js.map +1 -0
  207. package/dist/appbus/AppChannelManager.d.ts +80 -0
  208. package/dist/appbus/AppChannelManager.d.ts.map +1 -0
  209. package/dist/appbus/AppChannelManager.js +312 -0
  210. package/dist/appbus/AppChannelManager.js.map +1 -0
  211. package/dist/appbus/index.d.ts +2 -0
  212. package/dist/appbus/index.d.ts.map +1 -0
  213. package/dist/appbus/index.js +18 -0
  214. package/dist/appbus/index.js.map +1 -0
  215. package/dist/db/DbHandler.d.ts +119 -0
  216. package/dist/db/DbHandler.d.ts.map +1 -0
  217. package/dist/db/DbHandler.js +204 -0
  218. package/dist/db/DbHandler.js.map +1 -0
  219. package/dist/db/DbManager.d.ts +49 -0
  220. package/dist/db/DbManager.d.ts.map +1 -0
  221. package/dist/db/DbManager.js +172 -0
  222. package/dist/db/DbManager.js.map +1 -0
  223. package/dist/db/index.d.ts +3 -0
  224. package/dist/db/index.d.ts.map +1 -0
  225. package/dist/db/index.js +8 -0
  226. package/dist/db/index.js.map +1 -0
  227. package/dist/edencss/eden-tokens.css +1 -0
  228. package/dist/edencss/eden.css +1 -0
  229. package/dist/file-open/FileOpenHandler.d.ts +59 -0
  230. package/dist/file-open/FileOpenHandler.d.ts.map +1 -0
  231. package/dist/file-open/FileOpenHandler.js +122 -0
  232. package/dist/file-open/FileOpenHandler.js.map +1 -0
  233. package/dist/file-open/FileOpenManager.d.ts +91 -0
  234. package/dist/file-open/FileOpenManager.d.ts.map +1 -0
  235. package/dist/file-open/FileOpenManager.js +411 -0
  236. package/dist/file-open/FileOpenManager.js.map +1 -0
  237. package/dist/file-open/index.d.ts +3 -0
  238. package/dist/file-open/index.d.ts.map +1 -0
  239. package/dist/file-open/index.js +8 -0
  240. package/dist/file-open/index.js.map +1 -0
  241. package/dist/filesystem/FilesystemHandler.d.ts +65 -0
  242. package/dist/filesystem/FilesystemHandler.d.ts.map +1 -0
  243. package/dist/filesystem/FilesystemHandler.js +134 -0
  244. package/dist/filesystem/FilesystemHandler.js.map +1 -0
  245. package/dist/filesystem/FilesystemManager.d.ts +70 -0
  246. package/dist/filesystem/FilesystemManager.d.ts.map +1 -0
  247. package/dist/filesystem/FilesystemManager.js +236 -0
  248. package/dist/filesystem/FilesystemManager.js.map +1 -0
  249. package/dist/filesystem/index.d.ts +3 -0
  250. package/dist/filesystem/index.d.ts.map +1 -0
  251. package/dist/filesystem/index.js +8 -0
  252. package/dist/filesystem/index.js.map +1 -0
  253. package/dist/foundation/foundation-preload.js +15 -0
  254. package/dist/foundation/foundation.css +40 -0
  255. package/dist/foundation/foundation.html +22 -0
  256. package/dist/foundation/foundation.js +69 -0
  257. package/dist/hotreload-config.d.ts +8 -0
  258. package/dist/hotreload-config.d.ts.map +1 -0
  259. package/dist/hotreload-config.js +73 -0
  260. package/dist/hotreload-config.js.map +1 -0
  261. package/dist/index.d.ts +7 -0
  262. package/dist/index.d.ts.map +1 -0
  263. package/dist/index.js +20 -0
  264. package/dist/index.js.map +1 -0
  265. package/dist/ipc/CommandDecorators.d.ts +72 -0
  266. package/dist/ipc/CommandDecorators.d.ts.map +1 -0
  267. package/dist/ipc/CommandDecorators.js +49 -0
  268. package/dist/ipc/CommandDecorators.js.map +1 -0
  269. package/dist/ipc/CommandRegistry.d.ts +77 -0
  270. package/dist/ipc/CommandRegistry.d.ts.map +1 -0
  271. package/dist/ipc/CommandRegistry.js +175 -0
  272. package/dist/ipc/CommandRegistry.js.map +1 -0
  273. package/dist/ipc/EdenEmitter.d.ts +54 -0
  274. package/dist/ipc/EdenEmitter.d.ts.map +1 -0
  275. package/dist/ipc/EdenEmitter.js +81 -0
  276. package/dist/ipc/EdenEmitter.js.map +1 -0
  277. package/dist/ipc/EventHandler.d.ts +21 -0
  278. package/dist/ipc/EventHandler.d.ts.map +1 -0
  279. package/dist/ipc/EventHandler.js +87 -0
  280. package/dist/ipc/EventHandler.js.map +1 -0
  281. package/dist/ipc/EventSubscriberManager.d.ts +67 -0
  282. package/dist/ipc/EventSubscriberManager.d.ts.map +1 -0
  283. package/dist/ipc/EventSubscriberManager.js +204 -0
  284. package/dist/ipc/EventSubscriberManager.js.map +1 -0
  285. package/dist/ipc/IPCBridge.d.ts +60 -0
  286. package/dist/ipc/IPCBridge.d.ts.map +1 -0
  287. package/dist/ipc/IPCBridge.js +186 -0
  288. package/dist/ipc/IPCBridge.js.map +1 -0
  289. package/dist/ipc/PermissionRegistry.d.ts +52 -0
  290. package/dist/ipc/PermissionRegistry.d.ts.map +1 -0
  291. package/dist/ipc/PermissionRegistry.js +120 -0
  292. package/dist/ipc/PermissionRegistry.js.map +1 -0
  293. package/dist/ipc/index.d.ts +7 -0
  294. package/dist/ipc/index.d.ts.map +1 -0
  295. package/dist/ipc/index.js +23 -0
  296. package/dist/ipc/index.js.map +1 -0
  297. package/dist/main.d.ts +2 -0
  298. package/dist/main.d.ts.map +1 -0
  299. package/dist/main.js +15 -0
  300. package/dist/main.js.map +1 -0
  301. package/dist/notification/NotificationHandler.d.ts +16 -0
  302. package/dist/notification/NotificationHandler.d.ts.map +1 -0
  303. package/dist/notification/NotificationHandler.js +39 -0
  304. package/dist/notification/NotificationHandler.js.map +1 -0
  305. package/dist/notification/NotificationManager.d.ts +32 -0
  306. package/dist/notification/NotificationManager.d.ts.map +1 -0
  307. package/dist/notification/NotificationManager.js +66 -0
  308. package/dist/notification/NotificationManager.js.map +1 -0
  309. package/dist/notification/index.d.ts +3 -0
  310. package/dist/notification/index.d.ts.map +1 -0
  311. package/dist/notification/index.js +19 -0
  312. package/dist/notification/index.js.map +1 -0
  313. package/dist/package-manager/PackageHandler.d.ts +50 -0
  314. package/dist/package-manager/PackageHandler.d.ts.map +1 -0
  315. package/dist/package-manager/PackageHandler.js +107 -0
  316. package/dist/package-manager/PackageHandler.js.map +1 -0
  317. package/dist/package-manager/PackageManager.d.ts +73 -0
  318. package/dist/package-manager/PackageManager.d.ts.map +1 -0
  319. package/dist/package-manager/PackageManager.js +373 -0
  320. package/dist/package-manager/PackageManager.js.map +1 -0
  321. package/dist/package-manager/index.d.ts +3 -0
  322. package/dist/package-manager/index.d.ts.map +1 -0
  323. package/dist/package-manager/index.js +8 -0
  324. package/dist/package-manager/index.js.map +1 -0
  325. package/dist/process-manager/AutostartManager.d.ts +15 -0
  326. package/dist/process-manager/AutostartManager.d.ts.map +1 -0
  327. package/dist/process-manager/AutostartManager.js +56 -0
  328. package/dist/process-manager/AutostartManager.js.map +1 -0
  329. package/dist/process-manager/BackendManager.d.ts +63 -0
  330. package/dist/process-manager/BackendManager.d.ts.map +1 -0
  331. package/dist/process-manager/BackendManager.js +272 -0
  332. package/dist/process-manager/BackendManager.js.map +1 -0
  333. package/dist/process-manager/ProcessHandler.d.ts +29 -0
  334. package/dist/process-manager/ProcessHandler.d.ts.map +1 -0
  335. package/dist/process-manager/ProcessHandler.js +66 -0
  336. package/dist/process-manager/ProcessHandler.js.map +1 -0
  337. package/dist/process-manager/ProcessManager.d.ts +94 -0
  338. package/dist/process-manager/ProcessManager.d.ts.map +1 -0
  339. package/dist/process-manager/ProcessManager.js +286 -0
  340. package/dist/process-manager/ProcessManager.js.map +1 -0
  341. package/dist/process-manager/index.d.ts +5 -0
  342. package/dist/process-manager/index.d.ts.map +1 -0
  343. package/dist/process-manager/index.js +12 -0
  344. package/dist/process-manager/index.js.map +1 -0
  345. package/dist/settings/EdenSettings.d.ts +8 -0
  346. package/dist/settings/EdenSettings.d.ts.map +1 -0
  347. package/dist/settings/EdenSettings.js +148 -0
  348. package/dist/settings/EdenSettings.js.map +1 -0
  349. package/dist/settings/SettingsHandler.d.ts +117 -0
  350. package/dist/settings/SettingsHandler.d.ts.map +1 -0
  351. package/dist/settings/SettingsHandler.js +199 -0
  352. package/dist/settings/SettingsHandler.js.map +1 -0
  353. package/dist/settings/SettingsManager.d.ts +64 -0
  354. package/dist/settings/SettingsManager.d.ts.map +1 -0
  355. package/dist/settings/SettingsManager.js +221 -0
  356. package/dist/settings/SettingsManager.js.map +1 -0
  357. package/dist/settings/index.d.ts +4 -0
  358. package/dist/settings/index.d.ts.map +1 -0
  359. package/dist/settings/index.js +11 -0
  360. package/dist/settings/index.js.map +1 -0
  361. package/dist/utils/cachedFileReader.d.ts +46 -0
  362. package/dist/utils/cachedFileReader.d.ts.map +1 -0
  363. package/dist/utils/cachedFileReader.js +100 -0
  364. package/dist/utils/cachedFileReader.js.map +1 -0
  365. package/dist/view-manager/DevToolsManager.d.ts +29 -0
  366. package/dist/view-manager/DevToolsManager.d.ts.map +1 -0
  367. package/dist/view-manager/DevToolsManager.js +88 -0
  368. package/dist/view-manager/DevToolsManager.js.map +1 -0
  369. package/dist/view-manager/FloatingWindowController.d.ts +44 -0
  370. package/dist/view-manager/FloatingWindowController.d.ts.map +1 -0
  371. package/dist/view-manager/FloatingWindowController.js +124 -0
  372. package/dist/view-manager/FloatingWindowController.js.map +1 -0
  373. package/dist/view-manager/LayoutCalculator.d.ts +49 -0
  374. package/dist/view-manager/LayoutCalculator.d.ts.map +1 -0
  375. package/dist/view-manager/LayoutCalculator.js +94 -0
  376. package/dist/view-manager/LayoutCalculator.js.map +1 -0
  377. package/dist/view-manager/MouseTracker.d.ts +65 -0
  378. package/dist/view-manager/MouseTracker.d.ts.map +1 -0
  379. package/dist/view-manager/MouseTracker.js +114 -0
  380. package/dist/view-manager/MouseTracker.js.map +1 -0
  381. package/dist/view-manager/TilingManager.d.ts +61 -0
  382. package/dist/view-manager/TilingManager.d.ts.map +1 -0
  383. package/dist/view-manager/TilingManager.js +142 -0
  384. package/dist/view-manager/TilingManager.js.map +1 -0
  385. package/dist/view-manager/ViewCreator.d.ts +72 -0
  386. package/dist/view-manager/ViewCreator.d.ts.map +1 -0
  387. package/dist/view-manager/ViewCreator.js +277 -0
  388. package/dist/view-manager/ViewCreator.js.map +1 -0
  389. package/dist/view-manager/ViewHandler.d.ts +112 -0
  390. package/dist/view-manager/ViewHandler.d.ts.map +1 -0
  391. package/dist/view-manager/ViewHandler.js +307 -0
  392. package/dist/view-manager/ViewHandler.js.map +1 -0
  393. package/dist/view-manager/ViewLifecycle.d.ts +66 -0
  394. package/dist/view-manager/ViewLifecycle.d.ts.map +1 -0
  395. package/dist/view-manager/ViewLifecycle.js +142 -0
  396. package/dist/view-manager/ViewLifecycle.js.map +1 -0
  397. package/dist/view-manager/ViewManager.d.ts +112 -0
  398. package/dist/view-manager/ViewManager.d.ts.map +1 -0
  399. package/dist/view-manager/ViewManager.js +422 -0
  400. package/dist/view-manager/ViewManager.js.map +1 -0
  401. package/dist/view-manager/index.d.ts +11 -0
  402. package/dist/view-manager/index.d.ts.map +1 -0
  403. package/dist/view-manager/index.js +23 -0
  404. package/dist/view-manager/index.js.map +1 -0
  405. package/dist/view-manager/types.d.ts +24 -0
  406. package/dist/view-manager/types.d.ts.map +1 -0
  407. package/dist/view-manager/types.js +11 -0
  408. package/dist/view-manager/types.js.map +1 -0
  409. package/edencss/README.md +214 -0
  410. package/edencss/components/badges.css +180 -0
  411. package/edencss/components/buttons.css +221 -0
  412. package/edencss/components/cards.css +201 -0
  413. package/edencss/components/inputs.css +424 -0
  414. package/edencss/components/lists.css +242 -0
  415. package/edencss/components/modals.css +207 -0
  416. package/edencss/components/progress.css +186 -0
  417. package/edencss/components/sidebar.css +232 -0
  418. package/edencss/components/tabs.css +189 -0
  419. package/edencss/eden.css +16 -0
  420. package/edencss/index.ts +11 -0
  421. package/edencss/style-dictionary.config.mjs +75 -0
  422. package/edencss/tokens-pink.json +163 -0
  423. package/edencss/tokens.css +121 -0
  424. package/edencss/tokens.d.ts +111 -0
  425. package/edencss/tokens.json +369 -0
  426. package/edencss/tokens.ts +125 -0
  427. package/edencss/utilities.css +423 -0
  428. package/foundation/foundation-preload.js +15 -0
  429. package/foundation/foundation.css +40 -0
  430. package/foundation/foundation.html +22 -0
  431. package/foundation/foundation.js +69 -0
  432. package/package.json +55 -0
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.CachedFileReader = exports.cachedFileReader = void 0;
27
+ const fs = __importStar(require("fs"));
28
+ /**
29
+ * Cached file reader for non-changing files.
30
+ * Reads from filesystem on first access, then serves from cache.
31
+ */
32
+ class CachedFileReader {
33
+ cache = new Map();
34
+ /**
35
+ * Reads a file from cache if available, otherwise reads from filesystem and caches the result.
36
+ * @param filePath - Absolute path to the file to read
37
+ * @param encoding - File encoding (default: 'utf-8')
38
+ * @returns The file contents as a string
39
+ */
40
+ read(filePath, encoding = 'utf-8') {
41
+ const cacheKey = `${filePath}:${encoding}`;
42
+ if (this.cache.has(cacheKey)) {
43
+ return this.cache.get(cacheKey);
44
+ }
45
+ const content = fs.readFileSync(filePath, encoding);
46
+ this.cache.set(cacheKey, content);
47
+ return content;
48
+ }
49
+ /**
50
+ * Asynchronously reads a file from cache if available, otherwise reads from filesystem and caches the result.
51
+ * @param filePath - Absolute path to the file to read
52
+ * @param encoding - File encoding (default: 'utf-8')
53
+ * @returns Promise resolving to the file contents as a string
54
+ */
55
+ async readAsync(filePath, encoding = 'utf-8') {
56
+ const cacheKey = `${filePath}:${encoding}`;
57
+ if (this.cache.has(cacheKey)) {
58
+ return this.cache.get(cacheKey);
59
+ }
60
+ const content = await fs.promises.readFile(filePath, encoding);
61
+ this.cache.set(cacheKey, content);
62
+ return content;
63
+ }
64
+ /**
65
+ * Flushes the entire cache.
66
+ */
67
+ flushCache() {
68
+ this.cache.clear();
69
+ }
70
+ /**
71
+ * Flushes a specific file from the cache.
72
+ * @param filePath - Absolute path to the file to flush
73
+ * @param encoding - File encoding (default: 'utf-8')
74
+ */
75
+ flushFile(filePath, encoding = 'utf-8') {
76
+ const cacheKey = `${filePath}:${encoding}`;
77
+ this.cache.delete(cacheKey);
78
+ }
79
+ /**
80
+ * Checks if a file is cached.
81
+ * @param filePath - Absolute path to the file
82
+ * @param encoding - File encoding (default: 'utf-8')
83
+ * @returns true if the file is cached, false otherwise
84
+ */
85
+ isCached(filePath, encoding = 'utf-8') {
86
+ const cacheKey = `${filePath}:${encoding}`;
87
+ return this.cache.has(cacheKey);
88
+ }
89
+ /**
90
+ * Gets the number of cached files.
91
+ * @returns The number of files currently in cache
92
+ */
93
+ getCacheSize() {
94
+ return this.cache.size;
95
+ }
96
+ }
97
+ exports.CachedFileReader = CachedFileReader;
98
+ // Export singleton instance for convenience
99
+ exports.cachedFileReader = new CachedFileReader();
100
+ //# sourceMappingURL=cachedFileReader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cachedFileReader.js","sourceRoot":"","sources":["../../src/utils/cachedFileReader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AAEzB;;;GAGG;AACH,MAAM,gBAAgB;IACZ,KAAK,GAAwB,IAAI,GAAG,EAAE,CAAC;IAE/C;;;;;OAKG;IACH,IAAI,CAAC,QAAgB,EAAE,WAA2B,OAAO;QACvD,MAAM,QAAQ,GAAG,GAAG,QAAQ,IAAI,QAAQ,EAAE,CAAC;QAE3C,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;QACnC,CAAC;QAED,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAElC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAE,WAA2B,OAAO;QAClE,MAAM,QAAQ,GAAG,GAAG,QAAQ,IAAI,QAAQ,EAAE,CAAC;QAE3C,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;QACnC,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAElC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,QAAgB,EAAE,WAA2B,OAAO;QAC5D,MAAM,QAAQ,GAAG,GAAG,QAAQ,IAAI,QAAQ,EAAE,CAAC;QAC3C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,QAAgB,EAAE,WAA2B,OAAO;QAC3D,MAAM,QAAQ,GAAG,GAAG,QAAQ,IAAI,QAAQ,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED;;;OAGG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;CACF;AAMQ,4CAAgB;AAJzB,4CAA4C;AAC/B,QAAA,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { WebContentsView } from "electron";
2
+ /**
3
+ * DevToolsManager
4
+ *
5
+ * Manages DevTools for WebContentsViews, including:
6
+ * - Keyboard shortcut registration (Ctrl+Shift+D)
7
+ * - Automatic cleanup when views are destroyed
8
+ */
9
+ export declare class DevToolsManager {
10
+ private viewsWithDevTools;
11
+ /**
12
+ * Register DevTools shortcut (Ctrl+Shift+D) on a WebContentsView
13
+ * Works on both X11 and Wayland
14
+ */
15
+ registerShortcut(view: WebContentsView): void;
16
+ /**
17
+ * Close DevTools for a view when it's being destroyed
18
+ */
19
+ closeDevToolsForView(view: WebContentsView): void;
20
+ /**
21
+ * Get the set of webContents IDs that have DevTools open
22
+ */
23
+ getViewsWithDevTools(): Set<number>;
24
+ /**
25
+ * Clear all tracked DevTools
26
+ */
27
+ clear(): void;
28
+ }
29
+ //# sourceMappingURL=DevToolsManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DevToolsManager.d.ts","sourceRoot":"","sources":["../../src/view-manager/DevToolsManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C;;;;;;GAMG;AACH,qBAEa,eAAe;IAC1B,OAAO,CAAC,iBAAiB,CAA0B;IAEnD;;;OAGG;IACH,gBAAgB,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI;IA8B7C;;OAEG;IACH,oBAAoB,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI;IAqBjD;;OAEG;IACH,oBAAoB,IAAI,GAAG,CAAC,MAAM,CAAC;IAInC;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.DevToolsManager = void 0;
10
+ const tsyringe_1 = require("tsyringe");
11
+ /**
12
+ * DevToolsManager
13
+ *
14
+ * Manages DevTools for WebContentsViews, including:
15
+ * - Keyboard shortcut registration (Ctrl+Shift+D)
16
+ * - Automatic cleanup when views are destroyed
17
+ */
18
+ let DevToolsManager = class DevToolsManager {
19
+ viewsWithDevTools = new Set();
20
+ /**
21
+ * Register DevTools shortcut (Ctrl+Shift+D) on a WebContentsView
22
+ * Works on both X11 and Wayland
23
+ */
24
+ registerShortcut(view) {
25
+ view.webContents.on("before-input-event", (event, input) => {
26
+ // Check for Ctrl+Shift+D (or Cmd+Shift+D on macOS)
27
+ if (input.type === "keyDown" &&
28
+ input.key.toLowerCase() === "d" &&
29
+ input.shift &&
30
+ (input.control || input.meta) &&
31
+ !input.alt) {
32
+ event.preventDefault();
33
+ try {
34
+ const webContentsId = view.webContents.id;
35
+ if (view.webContents.isDevToolsOpened()) {
36
+ view.webContents.closeDevTools();
37
+ this.viewsWithDevTools.delete(webContentsId);
38
+ console.log("Closed DevTools for view");
39
+ }
40
+ else {
41
+ view.webContents.openDevTools();
42
+ this.viewsWithDevTools.add(webContentsId);
43
+ console.log("Opened DevTools for view");
44
+ }
45
+ }
46
+ catch (err) {
47
+ console.error("Failed to toggle DevTools:", err);
48
+ }
49
+ }
50
+ });
51
+ }
52
+ /**
53
+ * Close DevTools for a view when it's being destroyed
54
+ */
55
+ closeDevToolsForView(view) {
56
+ try {
57
+ const webContentsId = view.webContents.id;
58
+ if (!view.webContents.isDestroyed() &&
59
+ view.webContents.isDevToolsOpened()) {
60
+ view.webContents.closeDevTools();
61
+ console.log(`Closed DevTools for view (webContents ID: ${webContentsId})`);
62
+ }
63
+ this.viewsWithDevTools.delete(webContentsId);
64
+ }
65
+ catch (err) {
66
+ // Ignore errors during cleanup
67
+ console.debug("Error closing DevTools during cleanup:", err);
68
+ }
69
+ }
70
+ /**
71
+ * Get the set of webContents IDs that have DevTools open
72
+ */
73
+ getViewsWithDevTools() {
74
+ return new Set(this.viewsWithDevTools);
75
+ }
76
+ /**
77
+ * Clear all tracked DevTools
78
+ */
79
+ clear() {
80
+ this.viewsWithDevTools.clear();
81
+ }
82
+ };
83
+ exports.DevToolsManager = DevToolsManager;
84
+ exports.DevToolsManager = DevToolsManager = __decorate([
85
+ (0, tsyringe_1.singleton)(),
86
+ (0, tsyringe_1.injectable)()
87
+ ], DevToolsManager);
88
+ //# sourceMappingURL=DevToolsManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DevToolsManager.js","sourceRoot":"","sources":["../../src/view-manager/DevToolsManager.ts"],"names":[],"mappings":";;;;;;;;;AACA,uCAAiD;AAEjD;;;;;;GAMG;AAGI,IAAM,eAAe,GAArB,MAAM,eAAe;IAClB,iBAAiB,GAAgB,IAAI,GAAG,EAAE,CAAC;IAEnD;;;OAGG;IACH,gBAAgB,CAAC,IAAqB;QACpC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACzD,mDAAmD;YACnD,IACE,KAAK,CAAC,IAAI,KAAK,SAAS;gBACxB,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,GAAG;gBAC/B,KAAK,CAAC,KAAK;gBACX,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC;gBAC7B,CAAC,KAAK,CAAC,GAAG,EACV,CAAC;gBACD,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,IAAI,CAAC;oBACH,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;oBAE1C,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,EAAE,CAAC;wBACxC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;wBACjC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;wBAC7C,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;oBAC1C,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;wBAChC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;wBAC1C,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;oBAC1C,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,oBAAoB,CAAC,IAAqB;QACxC,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAE1C,IACE,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;gBAC/B,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,EACnC,CAAC;gBACD,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;gBACjC,OAAO,CAAC,GAAG,CACT,6CAA6C,aAAa,GAAG,CAC9D,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,+BAA+B;YAC/B,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,GAAG,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED;;OAEG;IACH,oBAAoB;QAClB,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;CACF,CAAA;AA1EY,0CAAe;0BAAf,eAAe;IAF3B,IAAA,oBAAS,GAAE;IACX,IAAA,qBAAU,GAAE;GACA,eAAe,CA0E3B"}
@@ -0,0 +1,44 @@
1
+ import { Rectangle as Bounds } from "electron";
2
+ import { WindowConfig } from "@edenapp/types";
3
+ import { ViewInfo } from "./types";
4
+ type ViewCollection = () => Iterable<ViewInfo>;
5
+ /**
6
+ * FloatingWindowController
7
+ *
8
+ * Encapsulates floating window calculations: bounds, constraints, and z-ordering.
9
+ */
10
+ export declare class FloatingWindowController {
11
+ private readonly getWorkspaceBounds;
12
+ private readonly getViews;
13
+ private static readonly MIN_GRABBABLE_WIDTH;
14
+ private static readonly CASCADE_OFFSET;
15
+ constructor(getWorkspaceBounds: () => Bounds, getViews: ViewCollection);
16
+ /**
17
+ * Calculate initial bounds for a floating window, including cascade offset.
18
+ */
19
+ calculateInitialBounds(windowConfig?: WindowConfig): Bounds;
20
+ /**
21
+ * Apply window-level constraints and workspace bounds to floating windows.
22
+ */
23
+ applyWindowConstraints(bounds: Bounds, windowConfig?: WindowConfig): Bounds;
24
+ /**
25
+ * Get the next z-index for floating windows (top-most position).
26
+ */
27
+ getNextZIndex(): number;
28
+ /**
29
+ * Get the z-index that would place a window at the back of the floating stack.
30
+ */
31
+ getBackmostZIndex(): number | undefined;
32
+ /**
33
+ * Calculate a z-index for a desired position in the floating stack.
34
+ */
35
+ getZIndexForPosition(position: number): number | undefined;
36
+ /**
37
+ * Get floating views ordered by z-index ascending.
38
+ */
39
+ getOrderedFloatingViews(): ViewInfo[];
40
+ private getFloatingViews;
41
+ private constrainBounds;
42
+ }
43
+ export {};
44
+ //# sourceMappingURL=FloatingWindowController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FloatingWindowController.d.ts","sourceRoot":"","sources":["../../src/view-manager/FloatingWindowController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,KAAK,cAAc,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAE/C;;;;GAIG;AACH,qBAAa,wBAAwB;IAKjC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAL3B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAO;IAClD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAM;gBAGzB,kBAAkB,EAAE,MAAM,MAAM,EAChC,QAAQ,EAAE,cAAc;IAG3C;;OAEG;IACH,sBAAsB,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,MAAM;IA+C3D;;OAEG;IACH,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,YAAY,GAAG,MAAM;IA4B3E;;OAEG;IACH,aAAa,IAAI,MAAM;IASvB;;OAEG;IACH,iBAAiB,IAAI,MAAM,GAAG,SAAS;IAOvC;;OAEG;IACH,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAY1D;;OAEG;IACH,uBAAuB,IAAI,QAAQ,EAAE;IAMrC,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,eAAe;CAiBxB"}
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FloatingWindowController = void 0;
4
+ /**
5
+ * FloatingWindowController
6
+ *
7
+ * Encapsulates floating window calculations: bounds, constraints, and z-ordering.
8
+ */
9
+ class FloatingWindowController {
10
+ getWorkspaceBounds;
11
+ getViews;
12
+ static MIN_GRABBABLE_WIDTH = 100;
13
+ static CASCADE_OFFSET = 30;
14
+ constructor(getWorkspaceBounds, getViews) {
15
+ this.getWorkspaceBounds = getWorkspaceBounds;
16
+ this.getViews = getViews;
17
+ }
18
+ /**
19
+ * Calculate initial bounds for a floating window, including cascade offset.
20
+ */
21
+ calculateInitialBounds(windowConfig) {
22
+ const { x: workX, y: workY, width: workWidth, height: workHeight, } = this.getWorkspaceBounds();
23
+ const defaultWidth = windowConfig?.defaultSize?.width || 800;
24
+ const defaultHeight = windowConfig?.defaultSize?.height || 600;
25
+ const width = windowConfig?.minSize?.width
26
+ ? Math.max(defaultWidth, windowConfig.minSize.width)
27
+ : windowConfig?.maxSize?.width
28
+ ? Math.min(defaultWidth, windowConfig.maxSize.width)
29
+ : defaultWidth;
30
+ const height = windowConfig?.minSize?.height
31
+ ? Math.max(defaultHeight, windowConfig.minSize.height)
32
+ : windowConfig?.maxSize?.height
33
+ ? Math.min(defaultHeight, windowConfig.maxSize.height)
34
+ : defaultHeight;
35
+ let x;
36
+ let y;
37
+ if (windowConfig?.defaultPosition) {
38
+ x = workX + windowConfig.defaultPosition.x;
39
+ y = workY + windowConfig.defaultPosition.y;
40
+ }
41
+ else {
42
+ x = workX + (workWidth - width) / 2;
43
+ y = workY + (workHeight - height) / 2;
44
+ }
45
+ const floatingCount = this.getFloatingViews().length;
46
+ const offset = floatingCount * FloatingWindowController.CASCADE_OFFSET;
47
+ const bounds = {
48
+ x: x + offset,
49
+ y: y + offset,
50
+ width,
51
+ height,
52
+ };
53
+ return this.constrainBounds(bounds);
54
+ }
55
+ /**
56
+ * Apply window-level constraints and workspace bounds to floating windows.
57
+ */
58
+ applyWindowConstraints(bounds, windowConfig) {
59
+ let finalBounds = { ...bounds };
60
+ if (windowConfig?.minSize) {
61
+ finalBounds.width = Math.max(finalBounds.width, windowConfig.minSize.width);
62
+ finalBounds.height = Math.max(finalBounds.height, windowConfig.minSize.height);
63
+ }
64
+ if (windowConfig?.maxSize) {
65
+ finalBounds.width = Math.min(finalBounds.width, windowConfig.maxSize.width);
66
+ finalBounds.height = Math.min(finalBounds.height, windowConfig.maxSize.height);
67
+ }
68
+ return this.constrainBounds(finalBounds);
69
+ }
70
+ /**
71
+ * Get the next z-index for floating windows (top-most position).
72
+ */
73
+ getNextZIndex() {
74
+ const zIndices = this.getFloatingViews()
75
+ .map((v) => v.zIndex)
76
+ .filter((z) => typeof z === "number");
77
+ if (zIndices.length === 0)
78
+ return 1;
79
+ return Math.max(...zIndices) + 1;
80
+ }
81
+ /**
82
+ * Get the z-index that would place a window at the back of the floating stack.
83
+ */
84
+ getBackmostZIndex() {
85
+ const floatingViews = this.getOrderedFloatingViews();
86
+ if (!floatingViews.length)
87
+ return undefined;
88
+ const minZIndex = floatingViews[0].zIndex ?? 1;
89
+ return minZIndex - 1;
90
+ }
91
+ /**
92
+ * Calculate a z-index for a desired position in the floating stack.
93
+ */
94
+ getZIndexForPosition(position) {
95
+ const floatingViews = this.getOrderedFloatingViews();
96
+ if (!floatingViews.length)
97
+ return undefined;
98
+ const targetIndex = Math.max(0, Math.min(position, floatingViews.length - 1));
99
+ const baseZIndex = floatingViews[0].zIndex ?? 1;
100
+ return baseZIndex + targetIndex;
101
+ }
102
+ /**
103
+ * Get floating views ordered by z-index ascending.
104
+ */
105
+ getOrderedFloatingViews() {
106
+ return this.getFloatingViews().sort((a, b) => (a.zIndex || 0) - (b.zIndex || 0));
107
+ }
108
+ getFloatingViews() {
109
+ return Array.from(this.getViews()).filter((view) => view.mode === "floating");
110
+ }
111
+ constrainBounds(bounds) {
112
+ const { x: workX, y: workY, width: workWidth } = this.getWorkspaceBounds();
113
+ const constrainedBounds = { ...bounds };
114
+ constrainedBounds.y = Math.max(workY, constrainedBounds.y);
115
+ const maxX = workX + workWidth - FloatingWindowController.MIN_GRABBABLE_WIDTH;
116
+ constrainedBounds.x = Math.min(constrainedBounds.x, maxX);
117
+ const minX = workX -
118
+ (constrainedBounds.width - FloatingWindowController.MIN_GRABBABLE_WIDTH);
119
+ constrainedBounds.x = Math.max(constrainedBounds.x, minX);
120
+ return constrainedBounds;
121
+ }
122
+ }
123
+ exports.FloatingWindowController = FloatingWindowController;
124
+ //# sourceMappingURL=FloatingWindowController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FloatingWindowController.js","sourceRoot":"","sources":["../../src/view-manager/FloatingWindowController.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import { Rectangle as Bounds } from "electron";
2
+ import { TilingConfig } from "@edenapp/types";
3
+ /**
4
+ * Grid dimensions for a layout
5
+ */
6
+ interface GridDimensions {
7
+ rows: number;
8
+ columns: number;
9
+ }
10
+ /**
11
+ * Layout calculation parameters
12
+ */
13
+ interface LayoutParams {
14
+ workspace: Bounds;
15
+ tileIndex: number;
16
+ visibleCount: number;
17
+ config: TilingConfig;
18
+ }
19
+ /**
20
+ * LayoutCalculator
21
+ *
22
+ * Generic utility for calculating tile bounds in various layout modes.
23
+ * Provides a pluggable system for different tiling strategies.
24
+ */
25
+ export declare class LayoutCalculator {
26
+ /**
27
+ * Calculate bounds for a tile at a given index
28
+ */
29
+ static calculateTileBounds(params: LayoutParams): Bounds;
30
+ /**
31
+ * Apply padding to bounds
32
+ */
33
+ private static applyPadding;
34
+ /**
35
+ * Determine grid dimensions based on tiling mode
36
+ */
37
+ private static getGridDimensions;
38
+ /**
39
+ * Calculate bounds for a specific cell in a grid
40
+ */
41
+ private static calculateGridCell;
42
+ /**
43
+ * Calculate optimal grid dimensions for a given number of items
44
+ * Useful for auto-layout modes
45
+ */
46
+ static calculateOptimalGrid(itemCount: number): GridDimensions;
47
+ }
48
+ export {};
49
+ //# sourceMappingURL=LayoutCalculator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LayoutCalculator.d.ts","sourceRoot":"","sources":["../../src/view-manager/LayoutCalculator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAc,MAAM,gBAAgB,CAAC;AAE1D;;GAEG;AACH,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,UAAU,YAAY;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;CACtB;AAED;;;;;GAKG;AACH,qBAAa,gBAAgB;IAC3B;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM;IAmBxD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAS3B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAwBhC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAqBhC;;;OAGG;IACH,MAAM,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc;CAa/D"}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LayoutCalculator = void 0;
4
+ /**
5
+ * LayoutCalculator
6
+ *
7
+ * Generic utility for calculating tile bounds in various layout modes.
8
+ * Provides a pluggable system for different tiling strategies.
9
+ */
10
+ class LayoutCalculator {
11
+ /**
12
+ * Calculate bounds for a tile at a given index
13
+ */
14
+ static calculateTileBounds(params) {
15
+ const { workspace, tileIndex, visibleCount, config } = params;
16
+ const { mode, gap = 0, padding = 0, columns = 2, rows = 2 } = config;
17
+ // Apply padding to workspace
18
+ const available = this.applyPadding(workspace, padding);
19
+ // No tiling or no visible items
20
+ if (mode === "none" || visibleCount === 0) {
21
+ return available;
22
+ }
23
+ // Calculate grid dimensions based on mode
24
+ const grid = this.getGridDimensions(mode, visibleCount, rows, columns);
25
+ // Calculate tile bounds in grid
26
+ return this.calculateGridCell(available, tileIndex, grid, gap);
27
+ }
28
+ /**
29
+ * Apply padding to bounds
30
+ */
31
+ static applyPadding(bounds, padding) {
32
+ return {
33
+ x: bounds.x + padding,
34
+ y: bounds.y + padding,
35
+ width: bounds.width - padding * 2,
36
+ height: bounds.height - padding * 2,
37
+ };
38
+ }
39
+ /**
40
+ * Determine grid dimensions based on tiling mode
41
+ */
42
+ static getGridDimensions(mode, visibleCount, configRows, configColumns) {
43
+ switch (mode) {
44
+ case "horizontal":
45
+ // Horizontal = 1 row × N columns
46
+ return { rows: 1, columns: visibleCount };
47
+ case "vertical":
48
+ // Vertical = N rows × 1 column
49
+ return { rows: visibleCount, columns: 1 };
50
+ case "grid":
51
+ // Use configured dimensions
52
+ return { rows: configRows, columns: configColumns };
53
+ default:
54
+ return { rows: 1, columns: 1 };
55
+ }
56
+ }
57
+ /**
58
+ * Calculate bounds for a specific cell in a grid
59
+ */
60
+ static calculateGridCell(available, index, grid, gap) {
61
+ const col = index % grid.columns;
62
+ const row = Math.floor(index / grid.columns);
63
+ const tileWidth = (available.width - gap * (grid.columns - 1)) / grid.columns;
64
+ const tileHeight = (available.height - gap * (grid.rows - 1)) / grid.rows;
65
+ return {
66
+ x: available.x + col * (tileWidth + gap),
67
+ y: available.y + row * (tileHeight + gap),
68
+ width: tileWidth,
69
+ height: tileHeight,
70
+ };
71
+ }
72
+ /**
73
+ * Calculate optimal grid dimensions for a given number of items
74
+ * Useful for auto-layout modes
75
+ */
76
+ static calculateOptimalGrid(itemCount) {
77
+ if (itemCount <= 0)
78
+ return { rows: 1, columns: 1 };
79
+ if (itemCount === 1)
80
+ return { rows: 1, columns: 1 };
81
+ if (itemCount === 2)
82
+ return { rows: 1, columns: 2 };
83
+ if (itemCount === 3)
84
+ return { rows: 1, columns: 3 };
85
+ if (itemCount === 4)
86
+ return { rows: 2, columns: 2 };
87
+ // For larger counts, try to make it roughly square
88
+ const columns = Math.ceil(Math.sqrt(itemCount));
89
+ const rows = Math.ceil(itemCount / columns);
90
+ return { rows, columns };
91
+ }
92
+ }
93
+ exports.LayoutCalculator = LayoutCalculator;
94
+ //# sourceMappingURL=LayoutCalculator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LayoutCalculator.js","sourceRoot":"","sources":["../../src/view-manager/LayoutCalculator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Callback function for mouse updates
3
+ */
4
+ export type MouseUpdateCallback = (position: {
5
+ x: number;
6
+ y: number;
7
+ deltaTime: number;
8
+ }) => void;
9
+ /**
10
+ * MouseTracker
11
+ *
12
+ * Centralized mouse position tracker for Eden.
13
+ * Provides a single efficient polling mechanism that multiple
14
+ * operations (drag, resize, etc.) can subscribe to.
15
+ */
16
+ export declare class MouseTracker {
17
+ private subscribers;
18
+ private interval;
19
+ private lastUpdateTime;
20
+ private lastPosition;
21
+ private readonly updateInterval;
22
+ /**
23
+ * @param updateInterval - Update interval in milliseconds (default: 8ms for ~120fps)
24
+ */
25
+ constructor(updateInterval?: number);
26
+ /**
27
+ * Subscribe to mouse position updates
28
+ * @param id - Unique identifier for this subscriber
29
+ * @param callback - Function to call with mouse updates
30
+ */
31
+ subscribe(id: string, callback: MouseUpdateCallback): void;
32
+ /**
33
+ * Unsubscribe from mouse position updates
34
+ * @param id - Unique identifier of the subscriber to remove
35
+ */
36
+ unsubscribe(id: string): void;
37
+ /**
38
+ * Get the current mouse position
39
+ */
40
+ getCurrentPosition(): {
41
+ x: number;
42
+ y: number;
43
+ };
44
+ /**
45
+ * Check if currently tracking
46
+ */
47
+ isTracking(): boolean;
48
+ /**
49
+ * Get number of active subscribers
50
+ */
51
+ getSubscriberCount(): number;
52
+ /**
53
+ * Start the mouse tracking interval
54
+ */
55
+ private start;
56
+ /**
57
+ * Stop the mouse tracking interval
58
+ */
59
+ private stop;
60
+ /**
61
+ * Cleanup and stop tracking
62
+ */
63
+ dispose(): void;
64
+ }
65
+ //# sourceMappingURL=MouseTracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MouseTracker.d.ts","sourceRoot":"","sources":["../../src/view-manager/MouseTracker.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,QAAQ,EAAE;IAC3C,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,SAAS,EAAE,MAAM,CAAC;CACnB,KAAK,IAAI,CAAC;AAEX;;;;;;GAMG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,WAAW,CAA+C;IAClE,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,YAAY,CAA4C;IAChE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IAExC;;OAEG;gBACS,cAAc,GAAE,MAAU;IAItC;;;;OAIG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAU1D;;;OAGG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAS7B;;OAEG;IACH,kBAAkB,IAAI;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE;IAI9C;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;OAEG;IACH,kBAAkB,IAAI,MAAM;IAI5B;;OAEG;IACH,OAAO,CAAC,KAAK;IAkCb;;OAEG;IACH,OAAO,CAAC,IAAI;IAOZ;;OAEG;IACH,OAAO,IAAI,IAAI;CAIhB"}