@dxos/plugin-simple-layout 0.8.4-main.d05673bc65 → 0.8.4-main.d9fc60f731

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 (293) hide show
  1. package/LICENSE +102 -5
  2. package/dist/lib/neutral/SimpleLayoutPlugin.mjs +52 -0
  3. package/dist/lib/neutral/SimpleLayoutPlugin.mjs.map +7 -0
  4. package/dist/lib/neutral/app-graph-builder-MSPO34DT.mjs +21 -0
  5. package/dist/lib/neutral/app-graph-builder-MSPO34DT.mjs.map +7 -0
  6. package/dist/lib/neutral/capabilities/index.mjs +21 -0
  7. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  8. package/dist/lib/neutral/chunk-7UDV3JDT.mjs +22 -0
  9. package/dist/lib/neutral/chunk-7UDV3JDT.mjs.map +7 -0
  10. package/dist/lib/neutral/chunk-FD2CAY4Q.mjs +26 -0
  11. package/dist/lib/neutral/chunk-FD2CAY4Q.mjs.map +7 -0
  12. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  13. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +7 -0
  14. package/dist/lib/neutral/chunk-OK5336TS.mjs +22 -0
  15. package/dist/lib/neutral/chunk-OK5336TS.mjs.map +7 -0
  16. package/dist/lib/neutral/chunk-QRTV5UNX.mjs +8 -0
  17. package/dist/lib/neutral/chunk-QRTV5UNX.mjs.map +7 -0
  18. package/dist/lib/neutral/close-WKMURGUB.mjs +35 -0
  19. package/dist/lib/neutral/close-WKMURGUB.mjs.map +7 -0
  20. package/dist/lib/neutral/components/index.mjs +929 -0
  21. package/dist/lib/neutral/components/index.mjs.map +7 -0
  22. package/dist/lib/neutral/hooks/index.mjs +332 -0
  23. package/dist/lib/neutral/hooks/index.mjs.map +7 -0
  24. package/dist/lib/neutral/index.mjs +14 -0
  25. package/dist/lib/neutral/index.mjs.map +7 -0
  26. package/dist/lib/neutral/meta.json +1 -0
  27. package/dist/lib/neutral/meta.mjs +8 -0
  28. package/dist/lib/neutral/meta.mjs.map +7 -0
  29. package/dist/lib/neutral/open-APISM3AA.mjs +63 -0
  30. package/dist/lib/neutral/open-APISM3AA.mjs.map +7 -0
  31. package/dist/lib/neutral/operation-handler-EAIE7KPR.mjs +13 -0
  32. package/dist/lib/neutral/operation-handler-EAIE7KPR.mjs.map +7 -0
  33. package/dist/lib/neutral/operations/index.mjs +8 -0
  34. package/dist/lib/neutral/operations/index.mjs.map +7 -0
  35. package/dist/lib/neutral/plugin.mjs +16 -0
  36. package/dist/lib/neutral/plugin.mjs.map +7 -0
  37. package/dist/lib/{browser/react-root-WVQYY2JA.mjs → neutral/react-root-VE265VX4.mjs} +5 -8
  38. package/dist/lib/neutral/react-root-VE265VX4.mjs.map +7 -0
  39. package/dist/lib/{browser/react-surface-VLBR37ED.mjs → neutral/react-surface-N3PGKIYV.mjs} +16 -14
  40. package/dist/lib/neutral/react-surface-N3PGKIYV.mjs.map +7 -0
  41. package/dist/lib/neutral/revert-workspace-ST6NZUNG.mjs +22 -0
  42. package/dist/lib/neutral/revert-workspace-ST6NZUNG.mjs.map +7 -0
  43. package/dist/lib/neutral/set-6ZRLWPJS.mjs +22 -0
  44. package/dist/lib/neutral/set-6ZRLWPJS.mjs.map +7 -0
  45. package/dist/lib/neutral/set-layout-mode-L22HRCKS.mjs +13 -0
  46. package/dist/lib/neutral/set-layout-mode-L22HRCKS.mjs.map +7 -0
  47. package/dist/lib/{browser/spotlight-dismiss-67PHYS5B.mjs → neutral/spotlight-dismiss-EIYW5E7M.mjs} +7 -15
  48. package/dist/lib/{node-esm/spotlight-dismiss-RMLRZUVY.mjs.map → neutral/spotlight-dismiss-EIYW5E7M.mjs.map} +3 -3
  49. package/dist/lib/{browser/state-TXSMUWYI.mjs → neutral/state-7NXKBLPY.mjs} +5 -6
  50. package/dist/lib/neutral/state-7NXKBLPY.mjs.map +7 -0
  51. package/dist/lib/neutral/switch-workspace-PYWPTMFO.mjs +25 -0
  52. package/dist/lib/neutral/switch-workspace-PYWPTMFO.mjs.map +7 -0
  53. package/dist/lib/neutral/translations.mjs +36 -0
  54. package/dist/lib/neutral/translations.mjs.map +7 -0
  55. package/dist/lib/neutral/types/index.mjs +10 -0
  56. package/dist/lib/neutral/types/index.mjs.map +7 -0
  57. package/dist/lib/neutral/update-complementary-HKWF5OXT.mjs +33 -0
  58. package/dist/lib/neutral/update-complementary-HKWF5OXT.mjs.map +7 -0
  59. package/dist/lib/neutral/update-dialog-P4ASXCE7.mjs +30 -0
  60. package/dist/lib/neutral/update-dialog-P4ASXCE7.mjs.map +7 -0
  61. package/dist/lib/neutral/update-popover-REAKC2GN.mjs +34 -0
  62. package/dist/lib/neutral/update-popover-REAKC2GN.mjs.map +7 -0
  63. package/dist/lib/neutral/update-sidebar-O5SQPR6Q.mjs +12 -0
  64. package/dist/lib/neutral/update-sidebar-O5SQPR6Q.mjs.map +7 -0
  65. package/dist/lib/neutral/url-handler-GZXUUAHD.mjs +129 -0
  66. package/dist/lib/neutral/url-handler-GZXUUAHD.mjs.map +7 -0
  67. package/dist/types/src/SimpleLayoutPlugin.d.ts +2 -1
  68. package/dist/types/src/SimpleLayoutPlugin.d.ts.map +1 -1
  69. package/dist/types/src/capabilities/app-graph-builder.d.ts +6 -0
  70. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
  71. package/dist/types/src/capabilities/index.d.ts +21 -6
  72. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  73. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  74. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  75. package/dist/types/src/capabilities/react-root.d.ts.map +1 -0
  76. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  77. package/dist/types/src/capabilities/{spotlight-dismiss/spotlight-dismiss.d.ts → spotlight-dismiss.d.ts} +1 -1
  78. package/dist/types/src/capabilities/spotlight-dismiss.d.ts.map +1 -0
  79. package/dist/types/src/capabilities/{state/state.d.ts → state.d.ts} +3 -3
  80. package/dist/types/src/capabilities/state.d.ts.map +1 -0
  81. package/dist/types/src/capabilities/{url-handler/url-handler.d.ts → url-handler.d.ts} +1 -1
  82. package/dist/types/src/capabilities/url-handler.d.ts.map +1 -0
  83. package/dist/types/src/components/ContentError.stories.d.ts +26 -19
  84. package/dist/types/src/components/ContentError.stories.d.ts.map +1 -1
  85. package/dist/types/src/components/DebugOverlay/DebugOverlay.d.ts +19 -0
  86. package/dist/types/src/components/DebugOverlay/DebugOverlay.d.ts.map +1 -0
  87. package/dist/types/src/components/DebugOverlay/index.d.ts +2 -0
  88. package/dist/types/src/components/DebugOverlay/index.d.ts.map +1 -0
  89. package/dist/types/src/components/Dialog/Dialog.d.ts.map +1 -1
  90. package/dist/types/src/components/Home/Home.d.ts.map +1 -1
  91. package/dist/types/src/components/Loading/Loading.d.ts +3 -0
  92. package/dist/types/src/components/Loading/Loading.d.ts.map +1 -0
  93. package/dist/types/src/components/{ContentLoading/ContentLoading.stories.d.ts → Loading/Loading.stories.d.ts} +1 -1
  94. package/dist/types/src/components/Loading/Loading.stories.d.ts.map +1 -0
  95. package/dist/types/src/components/Loading/index.d.ts +2 -0
  96. package/dist/types/src/components/Loading/index.d.ts.map +1 -0
  97. package/dist/types/src/components/MobileLayout/MobileLayout.d.ts +2 -2
  98. package/dist/types/src/components/MobileLayout/MobileLayout.d.ts.map +1 -1
  99. package/dist/types/src/components/MobileLayout/MobileLayout.stories.d.ts.map +1 -1
  100. package/dist/types/src/components/NavBranch/NavBranch.d.ts.map +1 -1
  101. package/dist/types/src/components/Popover/Popover.d.ts.map +1 -1
  102. package/dist/types/src/components/SimpleLayout/AppBar.d.ts +5 -7
  103. package/dist/types/src/components/SimpleLayout/AppBar.d.ts.map +1 -1
  104. package/dist/types/src/components/SimpleLayout/AppBar.stories.d.ts +29 -22
  105. package/dist/types/src/components/SimpleLayout/AppBar.stories.d.ts.map +1 -1
  106. package/dist/types/src/components/SimpleLayout/Drawer.d.ts +4 -7
  107. package/dist/types/src/components/SimpleLayout/Drawer.d.ts.map +1 -1
  108. package/dist/types/src/components/SimpleLayout/Main.d.ts +4 -7
  109. package/dist/types/src/components/SimpleLayout/Main.d.ts.map +1 -1
  110. package/dist/types/src/components/SimpleLayout/NavBar.d.ts +5 -7
  111. package/dist/types/src/components/SimpleLayout/NavBar.d.ts.map +1 -1
  112. package/dist/types/src/components/SimpleLayout/NavBar.stories.d.ts +29 -23
  113. package/dist/types/src/components/SimpleLayout/NavBar.stories.d.ts.map +1 -1
  114. package/dist/types/src/components/SimpleLayout/SimpleLayout.d.ts.map +1 -1
  115. package/dist/types/src/components/SimpleLayout/SimpleLayout.stories.d.ts +26 -25
  116. package/dist/types/src/components/SimpleLayout/SimpleLayout.stories.d.ts.map +1 -1
  117. package/dist/types/src/components/hooks.d.ts.map +1 -1
  118. package/dist/types/src/components/index.d.ts +2 -1
  119. package/dist/types/src/components/index.d.ts.map +1 -1
  120. package/dist/types/src/hooks/actions.d.ts +3 -3
  121. package/dist/types/src/hooks/actions.d.ts.map +1 -1
  122. package/dist/types/src/hooks/useAppBarProps.d.ts +2 -2
  123. package/dist/types/src/hooks/useAppBarProps.d.ts.map +1 -1
  124. package/dist/types/src/hooks/useCompanions.d.ts.map +1 -1
  125. package/dist/types/src/hooks/useDrawerActions.d.ts.map +1 -1
  126. package/dist/types/src/hooks/useSimpleLayoutState.d.ts +3 -3
  127. package/dist/types/src/hooks/useSimpleLayoutState.d.ts.map +1 -1
  128. package/dist/types/src/index.d.ts +2 -1
  129. package/dist/types/src/index.d.ts.map +1 -1
  130. package/dist/types/src/meta.d.ts +1 -1
  131. package/dist/types/src/meta.d.ts.map +1 -1
  132. package/dist/types/src/operations/close.d.ts +5 -0
  133. package/dist/types/src/operations/close.d.ts.map +1 -0
  134. package/dist/types/src/operations/index.d.ts +3 -0
  135. package/dist/types/src/operations/index.d.ts.map +1 -0
  136. package/dist/types/src/operations/open.d.ts +5 -0
  137. package/dist/types/src/operations/open.d.ts.map +1 -0
  138. package/dist/types/src/operations/revert-workspace.d.ts +5 -0
  139. package/dist/types/src/operations/revert-workspace.d.ts.map +1 -0
  140. package/dist/types/src/operations/set-layout-mode.d.ts +5 -0
  141. package/dist/types/src/operations/set-layout-mode.d.ts.map +1 -0
  142. package/dist/types/src/operations/set.d.ts +5 -0
  143. package/dist/types/src/operations/set.d.ts.map +1 -0
  144. package/dist/types/src/operations/state-access.d.ts +8 -0
  145. package/dist/types/src/operations/state-access.d.ts.map +1 -0
  146. package/dist/types/src/operations/switch-workspace.d.ts +5 -0
  147. package/dist/types/src/operations/switch-workspace.d.ts.map +1 -0
  148. package/dist/types/src/operations/update-complementary.d.ts +5 -0
  149. package/dist/types/src/operations/update-complementary.d.ts.map +1 -0
  150. package/dist/types/src/operations/update-dialog.d.ts +5 -0
  151. package/dist/types/src/operations/update-dialog.d.ts.map +1 -0
  152. package/dist/types/src/operations/update-popover.d.ts +5 -0
  153. package/dist/types/src/operations/update-popover.d.ts.map +1 -0
  154. package/dist/types/src/operations/update-sidebar.d.ts +5 -0
  155. package/dist/types/src/operations/update-sidebar.d.ts.map +1 -0
  156. package/dist/types/src/plugin.d.ts +4 -0
  157. package/dist/types/src/plugin.d.ts.map +1 -0
  158. package/dist/types/src/translations.d.ts +26 -20
  159. package/dist/types/src/translations.d.ts.map +1 -1
  160. package/dist/types/src/types/{capabilities.d.ts → SimpleLayoutCapabilities.d.ts} +12 -10
  161. package/dist/types/src/types/SimpleLayoutCapabilities.d.ts.map +1 -0
  162. package/dist/types/src/types/SimpleLayoutEvents.d.ts +4 -0
  163. package/dist/types/src/types/SimpleLayoutEvents.d.ts.map +1 -0
  164. package/dist/types/src/types/index.d.ts +2 -2
  165. package/dist/types/src/types/index.d.ts.map +1 -1
  166. package/dist/types/tsconfig.tsbuildinfo +1 -1
  167. package/package.json +87 -37
  168. package/src/SimpleLayoutPlugin.ts +19 -8
  169. package/src/capabilities/app-graph-builder.ts +21 -0
  170. package/src/capabilities/index.ts +13 -6
  171. package/src/capabilities/operation-handler.ts +14 -0
  172. package/src/capabilities/{react-root/react-root.tsx → react-root.tsx} +2 -2
  173. package/src/capabilities/{react-surface/react-surface.tsx → react-surface.tsx} +13 -6
  174. package/src/capabilities/{state/state.tsx → state.tsx} +5 -6
  175. package/src/capabilities/url-handler.ts +164 -0
  176. package/src/components/ContentError.stories.tsx +1 -1
  177. package/src/components/DebugOverlay/DebugOverlay.tsx +96 -0
  178. package/src/components/DebugOverlay/index.ts +5 -0
  179. package/src/components/Dialog/Dialog.tsx +14 -3
  180. package/src/components/Home/Home.tsx +31 -31
  181. package/src/components/{ContentLoading/ContentLoading.stories.tsx → Loading/Loading.stories.tsx} +4 -4
  182. package/src/components/{ContentLoading/ContentLoading.tsx → Loading/Loading.tsx} +2 -2
  183. package/src/components/{ContentLoading → Loading}/index.ts +1 -1
  184. package/src/components/MobileLayout/MobileLayout.stories.tsx +21 -17
  185. package/src/components/MobileLayout/MobileLayout.tsx +118 -51
  186. package/src/components/NavBranch/NavBranch.tsx +27 -33
  187. package/src/components/Popover/Popover.tsx +17 -21
  188. package/src/components/SimpleLayout/AppBar.stories.tsx +10 -10
  189. package/src/components/SimpleLayout/AppBar.tsx +63 -60
  190. package/src/components/SimpleLayout/Drawer.tsx +30 -22
  191. package/src/components/SimpleLayout/Main.tsx +19 -23
  192. package/src/components/SimpleLayout/NavBar.stories.tsx +2 -2
  193. package/src/components/SimpleLayout/NavBar.tsx +8 -9
  194. package/src/components/SimpleLayout/SimpleLayout.stories.tsx +46 -69
  195. package/src/components/SimpleLayout/SimpleLayout.tsx +33 -34
  196. package/src/components/hooks.ts +1 -1
  197. package/src/components/index.ts +2 -1
  198. package/src/hooks/actions.ts +9 -6
  199. package/src/hooks/useAppBarProps.ts +9 -29
  200. package/src/hooks/useDrawerActions.ts +7 -7
  201. package/src/hooks/useNavbarActions.ts +4 -4
  202. package/src/hooks/useSimpleLayoutState.ts +7 -5
  203. package/src/index.ts +2 -1
  204. package/src/meta.ts +7 -4
  205. package/src/operations/close.ts +34 -0
  206. package/src/operations/index.ts +16 -0
  207. package/src/operations/open.ts +82 -0
  208. package/src/operations/revert-workspace.ts +22 -0
  209. package/src/operations/set-layout-mode.ts +12 -0
  210. package/src/operations/set.ts +23 -0
  211. package/src/operations/state-access.ts +21 -0
  212. package/src/operations/switch-workspace.ts +26 -0
  213. package/src/operations/update-complementary.ts +35 -0
  214. package/src/operations/update-dialog.ts +28 -0
  215. package/src/operations/update-popover.ts +35 -0
  216. package/src/operations/update-sidebar.ts +12 -0
  217. package/src/plugin.ts +11 -0
  218. package/src/translations.ts +21 -19
  219. package/src/types/{capabilities.ts → SimpleLayoutCapabilities.ts} +6 -18
  220. package/src/types/SimpleLayoutEvents.ts +15 -0
  221. package/src/types/index.ts +2 -2
  222. package/dist/lib/browser/chunk-MDPEKLKR.mjs +0 -1163
  223. package/dist/lib/browser/chunk-MDPEKLKR.mjs.map +0 -7
  224. package/dist/lib/browser/chunk-MRR7PXSM.mjs +0 -29
  225. package/dist/lib/browser/chunk-MRR7PXSM.mjs.map +0 -7
  226. package/dist/lib/browser/index.mjs +0 -101
  227. package/dist/lib/browser/index.mjs.map +0 -7
  228. package/dist/lib/browser/meta.json +0 -1
  229. package/dist/lib/browser/operation-resolver-VTZ6HZ4B.mjs +0 -194
  230. package/dist/lib/browser/operation-resolver-VTZ6HZ4B.mjs.map +0 -7
  231. package/dist/lib/browser/react-root-WVQYY2JA.mjs.map +0 -7
  232. package/dist/lib/browser/react-surface-VLBR37ED.mjs.map +0 -7
  233. package/dist/lib/browser/spotlight-dismiss-67PHYS5B.mjs.map +0 -7
  234. package/dist/lib/browser/state-TXSMUWYI.mjs.map +0 -7
  235. package/dist/lib/browser/url-handler-RBRONH7S.mjs +0 -151
  236. package/dist/lib/browser/url-handler-RBRONH7S.mjs.map +0 -7
  237. package/dist/lib/node-esm/chunk-DCKASLMP.mjs +0 -1164
  238. package/dist/lib/node-esm/chunk-DCKASLMP.mjs.map +0 -7
  239. package/dist/lib/node-esm/chunk-WMNTJ2MK.mjs +0 -31
  240. package/dist/lib/node-esm/chunk-WMNTJ2MK.mjs.map +0 -7
  241. package/dist/lib/node-esm/index.mjs +0 -102
  242. package/dist/lib/node-esm/index.mjs.map +0 -7
  243. package/dist/lib/node-esm/meta.json +0 -1
  244. package/dist/lib/node-esm/operation-resolver-R7CQ6ERU.mjs +0 -195
  245. package/dist/lib/node-esm/operation-resolver-R7CQ6ERU.mjs.map +0 -7
  246. package/dist/lib/node-esm/react-root-XBNDM7BE.mjs +0 -22
  247. package/dist/lib/node-esm/react-root-XBNDM7BE.mjs.map +0 -7
  248. package/dist/lib/node-esm/react-surface-U5NHA367.mjs +0 -45
  249. package/dist/lib/node-esm/react-surface-U5NHA367.mjs.map +0 -7
  250. package/dist/lib/node-esm/spotlight-dismiss-RMLRZUVY.mjs +0 -68
  251. package/dist/lib/node-esm/state-JMX6FAG4.mjs +0 -49
  252. package/dist/lib/node-esm/state-JMX6FAG4.mjs.map +0 -7
  253. package/dist/lib/node-esm/url-handler-QSMCH3JB.mjs +0 -152
  254. package/dist/lib/node-esm/url-handler-QSMCH3JB.mjs.map +0 -7
  255. package/dist/types/src/capabilities/operation-resolver/index.d.ts +0 -3
  256. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +0 -1
  257. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +0 -5
  258. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +0 -1
  259. package/dist/types/src/capabilities/react-root/index.d.ts +0 -6
  260. package/dist/types/src/capabilities/react-root/index.d.ts.map +0 -1
  261. package/dist/types/src/capabilities/react-root/react-root.d.ts.map +0 -1
  262. package/dist/types/src/capabilities/react-surface/index.d.ts +0 -3
  263. package/dist/types/src/capabilities/react-surface/index.d.ts.map +0 -1
  264. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +0 -1
  265. package/dist/types/src/capabilities/spotlight-dismiss/index.d.ts +0 -3
  266. package/dist/types/src/capabilities/spotlight-dismiss/index.d.ts.map +0 -1
  267. package/dist/types/src/capabilities/spotlight-dismiss/spotlight-dismiss.d.ts.map +0 -1
  268. package/dist/types/src/capabilities/state/index.d.ts +0 -13
  269. package/dist/types/src/capabilities/state/index.d.ts.map +0 -1
  270. package/dist/types/src/capabilities/state/state.d.ts.map +0 -1
  271. package/dist/types/src/capabilities/url-handler/index.d.ts +0 -3
  272. package/dist/types/src/capabilities/url-handler/index.d.ts.map +0 -1
  273. package/dist/types/src/capabilities/url-handler/url-handler.d.ts.map +0 -1
  274. package/dist/types/src/components/ContentLoading/ContentLoading.d.ts +0 -3
  275. package/dist/types/src/components/ContentLoading/ContentLoading.d.ts.map +0 -1
  276. package/dist/types/src/components/ContentLoading/ContentLoading.stories.d.ts.map +0 -1
  277. package/dist/types/src/components/ContentLoading/index.d.ts +0 -2
  278. package/dist/types/src/components/ContentLoading/index.d.ts.map +0 -1
  279. package/dist/types/src/types/capabilities.d.ts.map +0 -1
  280. package/dist/types/src/types/events.d.ts +0 -6
  281. package/dist/types/src/types/events.d.ts.map +0 -1
  282. package/src/capabilities/operation-resolver/index.ts +0 -10
  283. package/src/capabilities/operation-resolver/operation-resolver.ts +0 -202
  284. package/src/capabilities/react-root/index.ts +0 -7
  285. package/src/capabilities/react-surface/index.ts +0 -7
  286. package/src/capabilities/spotlight-dismiss/index.ts +0 -7
  287. package/src/capabilities/state/index.ts +0 -9
  288. package/src/capabilities/url-handler/index.ts +0 -7
  289. package/src/capabilities/url-handler/url-handler.ts +0 -133
  290. package/src/types/events.ts +0 -15
  291. /package/dist/types/src/capabilities/{react-root/react-root.d.ts → react-root.d.ts} +0 -0
  292. /package/dist/types/src/capabilities/{react-surface/react-surface.d.ts → react-surface.d.ts} +0 -0
  293. /package/src/capabilities/{spotlight-dismiss/spotlight-dismiss.ts → spotlight-dismiss.ts} +0 -0
@@ -1,194 +0,0 @@
1
- import {
2
- SimpleLayoutState
3
- } from "./chunk-MRR7PXSM.mjs";
4
-
5
- // src/capabilities/operation-resolver/operation-resolver.ts
6
- import * as Effect from "effect/Effect";
7
- import { Capabilities, Capability } from "@dxos/app-framework";
8
- import { getCompanionVariant, LayoutOperation, isPinnedWorkspace } from "@dxos/app-toolkit";
9
- import { Operation, OperationResolver } from "@dxos/operation";
10
- var MAX_HISTORY_LENGTH = 50;
11
- var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(function* () {
12
- const registry = yield* Capability.get(Capabilities.AtomRegistry);
13
- const stateAtom = yield* Capability.get(SimpleLayoutState);
14
- const getState = () => registry.get(stateAtom);
15
- const updateState = (fn) => {
16
- registry.set(stateAtom, fn(getState()));
17
- };
18
- return Capability.contributes(Capabilities.OperationResolver, [
19
- //
20
- // SetLayoutMode
21
- //
22
- // TODO(burdon): No-op for to fix startup bug?
23
- OperationResolver.make({
24
- operation: LayoutOperation.SetLayoutMode,
25
- handler: Effect.fnUntraced(function* () {
26
- })
27
- }),
28
- //
29
- // UpdateSidebar - No-op for simple layout.
30
- //
31
- OperationResolver.make({
32
- operation: LayoutOperation.UpdateSidebar,
33
- handler: () => Effect.void
34
- }),
35
- //
36
- // UpdateComplementary - Controls companion drawer.
37
- //
38
- // TODO(wittjosiah): Not sure if we should be using this for the drawer.
39
- OperationResolver.make({
40
- operation: LayoutOperation.UpdateComplementary,
41
- handler: Effect.fnUntraced(function* (input) {
42
- if (input.state === "closed") {
43
- updateState((state) => ({
44
- ...state,
45
- drawerState: "closed"
46
- }));
47
- } else if (input.subject) {
48
- const variant = getCompanionVariant(input.subject);
49
- updateState((state) => ({
50
- ...state,
51
- companionVariant: variant,
52
- drawerState: input.state === "expanded" ? "expanded" : "open"
53
- }));
54
- }
55
- })
56
- }),
57
- //
58
- // UpdateDialog
59
- //
60
- OperationResolver.make({
61
- operation: LayoutOperation.UpdateDialog,
62
- handler: Effect.fnUntraced(function* (input) {
63
- updateState((state) => ({
64
- ...state,
65
- dialogOpen: input.state ?? Boolean(input.subject),
66
- dialogType: input.type ?? "default",
67
- dialogBlockAlign: input.blockAlign ?? "center",
68
- dialogOverlayClasses: input.overlayClasses,
69
- dialogOverlayStyle: input.overlayStyle,
70
- dialogContent: input.subject ? {
71
- component: input.subject,
72
- props: input.props
73
- } : void 0
74
- }));
75
- })
76
- }),
77
- //
78
- // UpdatePopover
79
- //
80
- OperationResolver.make({
81
- operation: LayoutOperation.UpdatePopover,
82
- handler: Effect.fnUntraced(function* (input) {
83
- updateState((state) => ({
84
- ...state,
85
- popoverOpen: input.state ?? Boolean(input.subject),
86
- popoverKind: input.kind ?? "base",
87
- popoverTitle: input.kind === "card" ? input.title : void 0,
88
- popoverContent: typeof input.subject === "string" ? {
89
- component: input.subject,
90
- props: input.props
91
- } : input.subject ? {
92
- subject: input.subject
93
- } : void 0,
94
- popoverSide: input.side,
95
- popoverVariant: input.variant,
96
- popoverAnchor: input.variant === "virtual" ? input.anchor : state.popoverAnchor,
97
- popoverAnchorId: input.variant !== "virtual" ? input.anchorId : state.popoverAnchorId
98
- }));
99
- })
100
- }),
101
- //
102
- // SwitchWorkspace
103
- //
104
- OperationResolver.make({
105
- operation: LayoutOperation.SwitchWorkspace,
106
- handler: Effect.fnUntraced(function* (input) {
107
- updateState((state) => ({
108
- ...state,
109
- // TODO(wittjosiah): This is a hack to prevent the previous deck from being set for pinned items.
110
- // Ideally this should be worked into the data model in a generic way.
111
- previousWorkspace: !isPinnedWorkspace(state.workspace) ? state.workspace : state.previousWorkspace,
112
- workspace: input.subject,
113
- active: void 0,
114
- // Clear history when switching workspaces.
115
- history: []
116
- }));
117
- })
118
- }),
119
- //
120
- // RevertWorkspace
121
- //
122
- OperationResolver.make({
123
- operation: LayoutOperation.RevertWorkspace,
124
- handler: Effect.fnUntraced(function* () {
125
- const state = getState();
126
- yield* Operation.invoke(LayoutOperation.SwitchWorkspace, {
127
- subject: state.previousWorkspace
128
- });
129
- })
130
- }),
131
- //
132
- // Open
133
- //
134
- OperationResolver.make({
135
- operation: LayoutOperation.Open,
136
- handler: Effect.fnUntraced(function* (input) {
137
- const id = input.subject[0];
138
- updateState((state) => {
139
- const newHistory = state.active ? [
140
- ...state.history,
141
- state.active
142
- ] : state.history;
143
- const trimmedHistory = newHistory.length > MAX_HISTORY_LENGTH ? newHistory.slice(-MAX_HISTORY_LENGTH) : newHistory;
144
- return {
145
- ...state,
146
- active: id,
147
- history: trimmedHistory
148
- };
149
- });
150
- })
151
- }),
152
- //
153
- // Close
154
- //
155
- OperationResolver.make({
156
- operation: LayoutOperation.Close,
157
- handler: Effect.fnUntraced(function* () {
158
- updateState((state) => {
159
- if (state.history.length > 0) {
160
- const newHistory = [
161
- ...state.history
162
- ];
163
- const previousActive = newHistory.pop();
164
- return {
165
- ...state,
166
- active: previousActive,
167
- history: newHistory
168
- };
169
- }
170
- return {
171
- ...state,
172
- active: void 0
173
- };
174
- });
175
- })
176
- }),
177
- //
178
- // Set
179
- //
180
- OperationResolver.make({
181
- operation: LayoutOperation.Set,
182
- handler: Effect.fnUntraced(function* (input) {
183
- updateState((state) => ({
184
- ...state,
185
- active: input.subject[0]
186
- }));
187
- })
188
- })
189
- ]);
190
- }));
191
- export {
192
- operation_resolver_default as default
193
- };
194
- //# sourceMappingURL=operation-resolver-VTZ6HZ4B.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/operation-resolver/operation-resolver.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { getCompanionVariant, LayoutOperation, isPinnedWorkspace } from '@dxos/app-toolkit';\nimport { Operation, OperationResolver } from '@dxos/operation';\n\nimport { type SimpleLayoutState, SimpleLayoutState as SimpleLayoutStateCapability } from '../../types';\n\n/** Maximum number of items to keep in navigation history. */\nconst MAX_HISTORY_LENGTH = 50;\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const registry = yield* Capability.get(Capabilities.AtomRegistry);\n const stateAtom = yield* Capability.get(SimpleLayoutStateCapability);\n\n const getState = () => registry.get(stateAtom);\n const updateState = (fn: (current: SimpleLayoutState) => SimpleLayoutState) => {\n registry.set(stateAtom, fn(getState()));\n };\n\n return Capability.contributes(Capabilities.OperationResolver, [\n //\n // SetLayoutMode\n //\n // TODO(burdon): No-op for to fix startup bug?\n OperationResolver.make({\n operation: LayoutOperation.SetLayoutMode,\n handler: Effect.fnUntraced(function* () {}),\n }),\n\n //\n // UpdateSidebar - No-op for simple layout.\n //\n OperationResolver.make({\n operation: LayoutOperation.UpdateSidebar,\n handler: () => Effect.void,\n }),\n\n //\n // UpdateComplementary - Controls companion drawer.\n //\n // TODO(wittjosiah): Not sure if we should be using this for the drawer.\n OperationResolver.make({\n operation: LayoutOperation.UpdateComplementary,\n handler: Effect.fnUntraced(function* (input) {\n if (input.state === 'closed') {\n updateState((state) => ({\n ...state,\n drawerState: 'closed',\n }));\n } else if (input.subject) {\n const variant = getCompanionVariant(input.subject);\n updateState((state) => ({\n ...state,\n companionVariant: variant,\n drawerState: input.state === 'expanded' ? 'expanded' : 'open',\n }));\n }\n }),\n }),\n\n //\n // UpdateDialog\n //\n OperationResolver.make({\n operation: LayoutOperation.UpdateDialog,\n handler: Effect.fnUntraced(function* (input) {\n updateState((state) => ({\n ...state,\n dialogOpen: input.state ?? Boolean(input.subject),\n dialogType: input.type ?? 'default',\n dialogBlockAlign: input.blockAlign ?? 'center',\n dialogOverlayClasses: input.overlayClasses,\n dialogOverlayStyle: input.overlayStyle,\n dialogContent: input.subject ? { component: input.subject, props: input.props } : undefined,\n }));\n }),\n }),\n\n //\n // UpdatePopover\n //\n OperationResolver.make({\n operation: LayoutOperation.UpdatePopover,\n handler: Effect.fnUntraced(function* (input) {\n updateState((state) => ({\n ...state,\n popoverOpen: input.state ?? Boolean(input.subject),\n popoverKind: input.kind ?? 'base',\n popoverTitle: input.kind === 'card' ? input.title : undefined,\n popoverContent:\n typeof input.subject === 'string'\n ? { component: input.subject, props: input.props }\n : input.subject\n ? { subject: input.subject }\n : undefined,\n popoverSide: input.side,\n popoverVariant: input.variant,\n popoverAnchor: input.variant === 'virtual' ? input.anchor : state.popoverAnchor,\n popoverAnchorId: input.variant !== 'virtual' ? input.anchorId : state.popoverAnchorId,\n }));\n }),\n }),\n\n //\n // SwitchWorkspace\n //\n OperationResolver.make({\n operation: LayoutOperation.SwitchWorkspace,\n handler: Effect.fnUntraced(function* (input) {\n updateState((state) => ({\n ...state,\n // TODO(wittjosiah): This is a hack to prevent the previous deck from being set for pinned items.\n // Ideally this should be worked into the data model in a generic way.\n previousWorkspace: !isPinnedWorkspace(state.workspace) ? state.workspace : state.previousWorkspace,\n workspace: input.subject,\n active: undefined,\n // Clear history when switching workspaces.\n history: [],\n }));\n }),\n }),\n\n //\n // RevertWorkspace\n //\n OperationResolver.make({\n operation: LayoutOperation.RevertWorkspace,\n handler: Effect.fnUntraced(function* () {\n const state = getState();\n yield* Operation.invoke(LayoutOperation.SwitchWorkspace, {\n subject: state.previousWorkspace,\n });\n }),\n }),\n\n //\n // Open\n //\n OperationResolver.make({\n operation: LayoutOperation.Open,\n handler: Effect.fnUntraced(function* (input) {\n const id = input.subject[0];\n updateState((state) => {\n const newHistory = state.active ? [...state.history, state.active] : state.history;\n const trimmedHistory =\n newHistory.length > MAX_HISTORY_LENGTH ? newHistory.slice(-MAX_HISTORY_LENGTH) : newHistory;\n return {\n ...state,\n active: id,\n history: trimmedHistory,\n };\n });\n }),\n }),\n\n //\n // Close\n //\n OperationResolver.make({\n operation: LayoutOperation.Close,\n handler: Effect.fnUntraced(function* () {\n updateState((state) => {\n // Pop from history if available.\n if (state.history.length > 0) {\n const newHistory = [...state.history];\n const previousActive = newHistory.pop();\n return {\n ...state,\n active: previousActive,\n history: newHistory,\n };\n }\n // No history, just clear active.\n return {\n ...state,\n active: undefined,\n };\n });\n }),\n }),\n\n //\n // Set\n //\n OperationResolver.make({\n operation: LayoutOperation.Set,\n handler: Effect.fnUntraced(function* (input) {\n updateState((state) => ({\n ...state,\n active: input.subject[0],\n }));\n }),\n }),\n ]);\n }),\n);\n"],
5
- "mappings": "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",
6
- "names": ["Effect", "Capabilities", "Capability", "getCompanionVariant", "LayoutOperation", "isPinnedWorkspace", "Operation", "OperationResolver", "MAX_HISTORY_LENGTH", "Capability", "makeModule", "fnUntraced", "registry", "get", "Capabilities", "AtomRegistry", "stateAtom", "SimpleLayoutStateCapability", "getState", "updateState", "fn", "set", "contributes", "OperationResolver", "make", "operation", "LayoutOperation", "SetLayoutMode", "handler", "UpdateSidebar", "void", "UpdateComplementary", "input", "state", "drawerState", "subject", "variant", "getCompanionVariant", "companionVariant", "UpdateDialog", "dialogOpen", "Boolean", "dialogType", "type", "dialogBlockAlign", "blockAlign", "dialogOverlayClasses", "overlayClasses", "dialogOverlayStyle", "overlayStyle", "dialogContent", "component", "props", "undefined", "UpdatePopover", "popoverOpen", "popoverKind", "kind", "popoverTitle", "title", "popoverContent", "popoverSide", "side", "popoverVariant", "popoverAnchor", "anchor", "popoverAnchorId", "anchorId", "SwitchWorkspace", "previousWorkspace", "isPinnedWorkspace", "workspace", "active", "history", "RevertWorkspace", "Operation", "invoke", "Open", "id", "newHistory", "trimmedHistory", "length", "slice", "Close", "previousActive", "pop", "Set"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/react-root/react-root.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport React from 'react';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\n\nimport { SimpleLayout } from '../../components';\nimport { meta } from '../../meta';\n\nexport default Capability.makeModule(() =>\n Effect.succeed(\n Capability.contributes(Capabilities.ReactRoot, {\n id: meta.id,\n root: () => {\n return <SimpleLayout />;\n },\n }),\n ),\n);\n"],
5
- "mappings": ";;;;;;;;AAIA,YAAYA,YAAY;AACxB,OAAOC,WAAW;AAElB,SAASC,cAAcC,kBAAkB;AAKzC,IAAA,qBAAeC,WAAWC,WAAW,MAC5BC,eACLF,WAAWG,YAAYC,aAAaC,WAAW;EAC7CC,IAAIC,KAAKD;EACTE,MAAM,MAAA;AACJ,WAAO,sBAAA,cAACC,cAAAA,IAAAA;EACV;AACF,CAAA,CAAA,CAAA;",
6
- "names": ["Effect", "React", "Capabilities", "Capability", "Capability", "makeModule", "succeed", "contributes", "Capabilities", "ReactRoot", "id", "meta", "root", "SimpleLayout"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/react-surface/react-surface.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport React from 'react';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { Surface } from '@dxos/app-framework/ui';\nimport { Node } from '@dxos/plugin-graph';\n\nimport { Home, NavBranch } from '../../components';\nimport { meta } from '../../meta';\n\ntype SurfaceData = {\n attendableId: string;\n properties: Record<string, any>;\n};\n\nconst ALLOWED_DISPOSITIONS = ['workspace', 'user-account', 'pin-end', 'alternate-tree'];\n\nexport default Capability.makeModule(() =>\n Effect.succeed(\n Capability.contributes(Capabilities.ReactSurface, [\n Surface.create({\n id: `${meta.id}.home`,\n role: 'article',\n filter: (data): data is SurfaceData => data.attendableId === Node.RootId,\n component: () => <Home />,\n }),\n Surface.create({\n id: `${meta.id}.nav-branch`,\n role: 'article',\n position: 'fallback',\n filter: (data): data is SurfaceData => {\n const props = data.properties as Record<string, any>;\n return ALLOWED_DISPOSITIONS.includes(props?.disposition) || props?.role === 'branch';\n },\n component: ({ data }) => <NavBranch id={data.attendableId} />,\n }),\n ]),\n ),\n);\n"],
5
- "mappings": ";;;;;;;;;AAIA,YAAYA,YAAY;AACxB,OAAOC,WAAW;AAElB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,eAAe;AACxB,SAASC,YAAY;AAUrB,IAAMC,uBAAuB;EAAC;EAAa;EAAgB;EAAW;;AAEtE,IAAA,wBAAeC,WAAWC,WAAW,MAC5BC,eACLF,WAAWG,YAAYC,aAAaC,cAAc;EAChDC,QAAQC,OAAO;IACbC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CAACC,SAA8BA,KAAKC,iBAAiBC,KAAKC;IAClEC,WAAW,MAAM,sBAAA,cAACC,MAAAA,IAAAA;EACpB,CAAA;EACAX,QAAQC,OAAO;IACbC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNQ,UAAU;IACVP,QAAQ,CAACC,SAAAA;AACP,YAAMO,QAAQP,KAAKQ;AACnB,aAAOrB,qBAAqBsB,SAASF,OAAOG,WAAAA,KAAgBH,OAAOT,SAAS;IAC9E;IACAM,WAAW,CAAC,EAAEJ,KAAI,MAAO,sBAAA,cAACW,WAAAA;MAAUf,IAAII,KAAKC;;EAC/C,CAAA;CACD,CAAA,CAAA;",
6
- "names": ["Effect", "React", "Capabilities", "Capability", "Surface", "Node", "ALLOWED_DISPOSITIONS", "Capability", "makeModule", "succeed", "contributes", "Capabilities", "ReactSurface", "Surface", "create", "id", "meta", "role", "filter", "data", "attendableId", "Node", "RootId", "component", "Home", "position", "props", "properties", "includes", "disposition", "NavBranch"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/spotlight-dismiss/spotlight-dismiss.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\n// Based on the frontend-driven dismiss pattern from:\n// https://github.com/Jedliu/tauri-template-demo\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { log } from '@dxos/log';\nimport { isTauri } from '@dxos/util';\n\n/**\n * Get the Tauri window API from the global object.\n */\nconst getTauriWindow = (): any => {\n const tauri = (globalThis as any).__TAURI__;\n return tauri?.window;\n};\n\n/**\n * Get the Tauri core API (invoke) from the global object.\n */\nconst getTauriCore = (): any => {\n const tauri = (globalThis as any).__TAURI__;\n return tauri?.core;\n};\n\nexport type SpotlightDismissOptions = {\n /** Whether running in popover window context. */\n isPopover?: boolean;\n};\n\n/**\n * Capability that sets up spotlight panel dismiss behavior.\n * When running in Tauri popover mode, listens for focus loss and Escape key\n * to dismiss the spotlight panel. Runs at startup before React renders.\n */\nexport default Capability.makeModule(({ isPopover = false }: SpotlightDismissOptions = {}) =>\n Effect.promise(async () => {\n if (!isPopover || !isTauri()) {\n return [];\n }\n\n // Set up focus listener.\n let focusCleanup: (() => void) | undefined;\n try {\n const tauriWindow = getTauriWindow();\n const tauriCore = getTauriCore();\n if (tauriWindow && tauriCore) {\n const win = tauriWindow.getCurrentWindow();\n focusCleanup = await win.onFocusChanged(async ({ payload }: { payload: boolean }) => {\n if (!payload) {\n await tauriCore.invoke('hide_spotlight');\n }\n });\n }\n } catch (err) {\n log.catch(err);\n }\n\n // Set up Escape key listener.\n const handleKeyDown = async (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n event.preventDefault();\n try {\n const tauriCore = getTauriCore();\n if (tauriCore) {\n await tauriCore.invoke('hide_spotlight');\n }\n } catch (err) {\n log.catch(err);\n }\n }\n };\n window.addEventListener('keydown', handleKeyDown);\n\n return Capability.contributes(Capabilities.Null, null, () =>\n Effect.sync(() => {\n focusCleanup?.();\n window.removeEventListener('keydown', handleKeyDown);\n }),\n );\n }),\n);\n"],
5
- "mappings": ";AAOA,YAAYA,YAAY;AAExB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,WAAW;AACpB,SAASC,eAAe;;AAKxB,IAAMC,iBAAiB,MAAA;AACrB,QAAMC,QAASC,WAAmBC;AAClC,SAAOF,OAAOG;AAChB;AAKA,IAAMC,eAAe,MAAA;AACnB,QAAMJ,QAASC,WAAmBC;AAClC,SAAOF,OAAOK;AAChB;AAYA,IAAA,4BAAeT,WAAWU,WAAW,CAAC,EAAEC,YAAY,MAAK,IAA8B,CAAC,MAC/EC,eAAQ,YAAA;AACb,MAAI,CAACD,aAAa,CAACT,QAAAA,GAAW;AAC5B,WAAO,CAAA;EACT;AAGA,MAAIW;AACJ,MAAI;AACF,UAAMC,cAAcX,eAAAA;AACpB,UAAMY,YAAYP,aAAAA;AAClB,QAAIM,eAAeC,WAAW;AAC5B,YAAMC,MAAMF,YAAYG,iBAAgB;AACxCJ,qBAAe,MAAMG,IAAIE,eAAe,OAAO,EAAEC,QAAO,MAAwB;AAC9E,YAAI,CAACA,SAAS;AACZ,gBAAMJ,UAAUK,OAAO,gBAAA;QACzB;MACF,CAAA;IACF;EACF,SAASC,KAAK;AACZpB,QAAIqB,MAAMD,KAAAA,QAAAA;;;;;;EACZ;AAGA,QAAME,gBAAgB,OAAOC,UAAAA;AAC3B,QAAIA,MAAMC,QAAQ,UAAU;AAC1BD,YAAME,eAAc;AACpB,UAAI;AACF,cAAMX,YAAYP,aAAAA;AAClB,YAAIO,WAAW;AACb,gBAAMA,UAAUK,OAAO,gBAAA;QACzB;MACF,SAASC,KAAK;AACZpB,YAAIqB,MAAMD,KAAAA,QAAAA;;;;;;MACZ;IACF;EACF;AACAd,SAAOoB,iBAAiB,WAAWJ,aAAAA;AAEnC,SAAOvB,WAAW4B,YAAY7B,aAAa8B,MAAM,MAAM,MAC9CC,YAAK,MAAA;AACVjB,mBAAAA;AACAN,WAAOwB,oBAAoB,WAAWR,aAAAA;EACxC,CAAA,CAAA;AAEJ,CAAA,CAAA;",
6
- "names": ["Effect", "Capabilities", "Capability", "log", "isTauri", "getTauriWindow", "tauri", "globalThis", "__TAURI__", "window", "getTauriCore", "core", "makeModule", "isPopover", "promise", "focusCleanup", "tauriWindow", "tauriCore", "win", "getCurrentWindow", "onFocusChanged", "payload", "invoke", "err", "catch", "handleKeyDown", "event", "key", "preventDefault", "addEventListener", "contributes", "Null", "sync", "removeEventListener"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/state/state.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom } from '@effect-atom/atom-react';\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { Node } from '@dxos/plugin-graph';\n\nimport { type SimpleLayoutState } from '../../types';\nimport { SimpleLayoutState as SimpleLayoutStateCapability } from '../../types';\n\nconst defaultState: SimpleLayoutState = {\n dialogOpen: false,\n workspace: Node.RootId,\n previousWorkspace: Node.RootId,\n history: [],\n isPopover: false,\n companionVariant: undefined,\n drawerState: 'closed',\n};\n\nexport type SimpleLayoutStateOptions = {\n initialState?: Partial<SimpleLayoutState>;\n};\n\nexport default Capability.makeModule(({ initialState }: SimpleLayoutStateOptions = {}) =>\n Effect.sync(() => {\n const stateAtom = Atom.make<SimpleLayoutState>({ ...defaultState, ...initialState });\n\n const layoutAtom = Atom.make((get): AppCapabilities.Layout => {\n const state = get(stateAtom);\n return {\n mode: 'simple',\n dialogOpen: state.dialogOpen,\n sidebarOpen: false,\n complementarySidebarOpen: false,\n workspace: state.workspace,\n active: state.active ? [state.active] : [],\n inactive: [],\n scrollIntoView: undefined,\n };\n });\n\n return [\n Capability.contributes(SimpleLayoutStateCapability, stateAtom),\n Capability.contributes(AppCapabilities.Layout, layoutAtom),\n ];\n }),\n);\n"],
5
- "mappings": ";;;;;AAIA,SAASA,YAAY;AACrB,YAAYC,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAChC,SAASC,YAAY;AAKrB,IAAMC,eAAkC;EACtCC,YAAY;EACZC,WAAWC,KAAKC;EAChBC,mBAAmBF,KAAKC;EACxBE,SAAS,CAAA;EACTC,WAAW;EACXC,kBAAkBC;EAClBC,aAAa;AACf;AAMA,IAAA,gBAAeC,WAAWC,WAAW,CAAC,EAAEC,aAAY,IAA+B,CAAC,MAC3EC,YAAK,MAAA;AACV,QAAMC,YAAYC,KAAKC,KAAwB;IAAE,GAAGjB;IAAc,GAAGa;EAAa,CAAA;AAElF,QAAMK,aAAaF,KAAKC,KAAK,CAACE,QAAAA;AAC5B,UAAMC,QAAQD,IAAIJ,SAAAA;AAClB,WAAO;MACLM,MAAM;MACNpB,YAAYmB,MAAMnB;MAClBqB,aAAa;MACbC,0BAA0B;MAC1BrB,WAAWkB,MAAMlB;MACjBsB,QAAQJ,MAAMI,SAAS;QAACJ,MAAMI;UAAU,CAAA;MACxCC,UAAU,CAAA;MACVC,gBAAgBjB;IAClB;EACF,CAAA;AAEA,SAAO;IACLE,WAAWgB,YAAYC,mBAA6Bb,SAAAA;IACpDJ,WAAWgB,YAAYE,gBAAgBC,QAAQZ,UAAAA;;AAEnD,CAAA,CAAA;",
6
- "names": ["Atom", "Effect", "Capability", "AppCapabilities", "Node", "defaultState", "dialogOpen", "workspace", "Node", "RootId", "previousWorkspace", "history", "isPopover", "companionVariant", "undefined", "drawerState", "Capability", "makeModule", "initialState", "sync", "stateAtom", "Atom", "make", "layoutAtom", "get", "state", "mode", "sidebarOpen", "complementarySidebarOpen", "active", "inactive", "scrollIntoView", "contributes", "SimpleLayoutStateCapability", "AppCapabilities", "Layout"]
7
- }
@@ -1,151 +0,0 @@
1
- import {
2
- SimpleLayoutState
3
- } from "./chunk-MRR7PXSM.mjs";
4
-
5
- // src/capabilities/url-handler/url-handler.ts
6
- import * as Effect from "effect/Effect";
7
- import { Capabilities, Capability } from "@dxos/app-framework";
8
- import { LayoutOperation, fromUrlPath, getWorkspaceFromPath, toUrlPath } from "@dxos/app-toolkit";
9
- import { log } from "@dxos/log";
10
- import { isTauri } from "@dxos/util";
11
- var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-simple-layout/src/capabilities/url-handler/url-handler.ts";
12
- var url_handler_default = Capability.makeModule(Effect.fnUntraced(function* () {
13
- const { invokeSync } = yield* Capability.get(Capabilities.OperationInvoker);
14
- const handlePathNavigation = (pathname) => {
15
- log.info("[UrlHandler] Navigating to path", {
16
- pathname
17
- }, {
18
- F: __dxlog_file,
19
- L: 30,
20
- S: this,
21
- C: (f, a) => f(...a)
22
- });
23
- const qualifiedId = fromUrlPath(pathname);
24
- const workspace = getWorkspaceFromPath(qualifiedId);
25
- invokeSync(LayoutOperation.SwitchWorkspace, {
26
- subject: workspace
27
- });
28
- const activeId = qualifiedId !== workspace ? qualifiedId : void 0;
29
- if (activeId) {
30
- invokeSync(LayoutOperation.Open, {
31
- subject: [
32
- activeId
33
- ]
34
- });
35
- }
36
- };
37
- const onNavigation = handleNavigation(handlePathNavigation);
38
- yield* Effect.sync(() => onNavigation());
39
- window.addEventListener("popstate", onNavigation);
40
- let unlistenDeepLink;
41
- if (isTauri()) {
42
- yield* Effect.tryPromise({
43
- try: async () => {
44
- const { getCurrent, onOpenUrl } = await import("@tauri-apps/plugin-deep-link");
45
- const launchUrls = await getCurrent();
46
- if (launchUrls && launchUrls.length > 0) {
47
- log.info("[UrlHandler] App launched with deep links", {
48
- urls: launchUrls
49
- }, {
50
- F: __dxlog_file,
51
- L: 56,
52
- S: this,
53
- C: (f, a) => f(...a)
54
- });
55
- for (const url of launchUrls) {
56
- handleDeepLink(url, handlePathNavigation);
57
- }
58
- }
59
- unlistenDeepLink = await onOpenUrl((urls) => {
60
- log.info("[UrlHandler] Deep links received", {
61
- urls
62
- }, {
63
- F: __dxlog_file,
64
- L: 63,
65
- S: this,
66
- C: (f, a) => f(...a)
67
- });
68
- for (const url of urls) {
69
- handleDeepLink(url, handlePathNavigation);
70
- }
71
- });
72
- log.info("[UrlHandler] Deep link listener initialized", void 0, {
73
- F: __dxlog_file,
74
- L: 69,
75
- S: this,
76
- C: (f, a) => f(...a)
77
- });
78
- },
79
- catch: (error) => {
80
- log.warn("[UrlHandler] Failed to initialize deep link listener", {
81
- error
82
- }, {
83
- F: __dxlog_file,
84
- L: 72,
85
- S: this,
86
- C: (f, a) => f(...a)
87
- });
88
- return error;
89
- }
90
- }).pipe(Effect.catchAll(() => Effect.void));
91
- }
92
- let lastWorkspace;
93
- let lastActive;
94
- const unsubscribe = yield* Capabilities.subscribeAtom(SimpleLayoutState, (state) => {
95
- const { workspace, active } = state;
96
- if (workspace !== lastWorkspace || active !== lastActive) {
97
- lastWorkspace = workspace;
98
- lastActive = active;
99
- const path = active ? toUrlPath(active) : toUrlPath(workspace);
100
- if (window.location.pathname !== path) {
101
- history.pushState(null, "", `${path}${window.location.search}`);
102
- }
103
- }
104
- });
105
- return Capability.contributes(Capabilities.Null, null, () => Effect.sync(() => {
106
- window.removeEventListener("popstate", onNavigation);
107
- unsubscribe();
108
- unlistenDeepLink?.();
109
- }));
110
- }));
111
- var isRedirectPath = (pathname) => pathname.startsWith("/redirect/");
112
- var handleNavigation = (navigate) => () => navigate(window.location.pathname);
113
- var handleDeepLink = (urlString, navigate) => {
114
- log.info("[UrlHandler] Deep link received", {
115
- url: urlString
116
- }, {
117
- F: __dxlog_file,
118
- L: 122,
119
- S: void 0,
120
- C: (f, a) => f(...a)
121
- });
122
- try {
123
- const url = new URL(urlString);
124
- if (isRedirectPath(url.pathname)) {
125
- log.info("[UrlHandler] Skipping redirect path (handled elsewhere)", {
126
- pathname: url.pathname
127
- }, {
128
- F: __dxlog_file,
129
- L: 126,
130
- S: void 0,
131
- C: (f, a) => f(...a)
132
- });
133
- return;
134
- }
135
- navigate(url.pathname);
136
- } catch (error) {
137
- log.warn("[UrlHandler] Failed to parse deep link URL", {
138
- urlString,
139
- error
140
- }, {
141
- F: __dxlog_file,
142
- L: 131,
143
- S: void 0,
144
- C: (f, a) => f(...a)
145
- });
146
- }
147
- };
148
- export {
149
- url_handler_default as default
150
- };
151
- //# sourceMappingURL=url-handler-RBRONH7S.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/url-handler/url-handler.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { LayoutOperation, fromUrlPath, getWorkspaceFromPath, toUrlPath } from '@dxos/app-toolkit';\nimport { log } from '@dxos/log';\nimport { isTauri } from '@dxos/util';\n\nimport { type SimpleLayoutState, SimpleLayoutState as SimpleLayoutStateCapability } from '../../types';\n\n/**\n * URL handler for simple layout that syncs browser URL with layout state.\n * URL paths map directly to qualified graph IDs with the leading `root` segment stripped.\n * Root is represented as `/`.\n *\n * On mobile Tauri, also listens for deep links via the deep-link plugin.\n */\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const { invokeSync } = yield* Capability.get(Capabilities.OperationInvoker);\n\n /**\n * Handle navigation from a pathname.\n * Restores the qualified graph ID and dispatches layout operations.\n */\n const handlePathNavigation = (pathname: string) => {\n log.info('[UrlHandler] Navigating to path', { pathname });\n\n const qualifiedId = fromUrlPath(pathname);\n const workspace = getWorkspaceFromPath(qualifiedId);\n\n invokeSync(LayoutOperation.SwitchWorkspace, { subject: workspace });\n\n const activeId = qualifiedId !== workspace ? qualifiedId : undefined;\n if (activeId) {\n invokeSync(LayoutOperation.Open, { subject: [activeId] });\n }\n };\n\n const onNavigation = handleNavigation(handlePathNavigation);\n\n yield* Effect.sync(() => onNavigation());\n window.addEventListener('popstate', onNavigation);\n\n let unlistenDeepLink: (() => void) | undefined;\n if (isTauri()) {\n yield* Effect.tryPromise({\n try: async () => {\n const { getCurrent, onOpenUrl } = await import('@tauri-apps/plugin-deep-link');\n\n const launchUrls = await getCurrent();\n if (launchUrls && launchUrls.length > 0) {\n log.info('[UrlHandler] App launched with deep links', { urls: launchUrls });\n for (const url of launchUrls) {\n handleDeepLink(url, handlePathNavigation);\n }\n }\n\n unlistenDeepLink = await onOpenUrl((urls) => {\n log.info('[UrlHandler] Deep links received', { urls });\n for (const url of urls) {\n handleDeepLink(url, handlePathNavigation);\n }\n });\n\n log.info('[UrlHandler] Deep link listener initialized');\n },\n catch: (error) => {\n log.warn('[UrlHandler] Failed to initialize deep link listener', { error });\n return error;\n },\n }).pipe(Effect.catchAll(() => Effect.void));\n }\n\n let lastWorkspace: string | undefined;\n let lastActive: string | undefined;\n const unsubscribe = yield* Capabilities.subscribeAtom(SimpleLayoutStateCapability, (state: SimpleLayoutState) => {\n const { workspace, active } = state;\n\n if (workspace !== lastWorkspace || active !== lastActive) {\n lastWorkspace = workspace;\n lastActive = active;\n\n const path = active ? toUrlPath(active) : toUrlPath(workspace);\n if (window.location.pathname !== path) {\n history.pushState(null, '', `${path}${window.location.search}`);\n }\n }\n });\n\n return Capability.contributes(Capabilities.Null, null, () =>\n Effect.sync(() => {\n window.removeEventListener('popstate', onNavigation);\n unsubscribe();\n unlistenDeepLink?.();\n }),\n );\n }),\n);\n\n/**\n * Check if a path is a special redirect path that shouldn't be navigated to.\n * These paths are handled by other systems (e.g., OAuth).\n */\nconst isRedirectPath = (pathname: string): boolean => pathname.startsWith('/redirect/');\n\n/**\n * Returns a handler for navigation events (initial load and popstate) that navigates to current pathname.\n */\nconst handleNavigation =\n (navigate: (pathname: string) => void): (() => void) =>\n () =>\n navigate(window.location.pathname);\n\n/**\n * Handle deep link URL from Tauri. Parses the URL and calls navigate unless it's a redirect path.\n */\nconst handleDeepLink = (urlString: string, navigate: (pathname: string) => void): void => {\n log.info('[UrlHandler] Deep link received', { url: urlString });\n try {\n const url = new URL(urlString);\n if (isRedirectPath(url.pathname)) {\n log.info('[UrlHandler] Skipping redirect path (handled elsewhere)', { pathname: url.pathname });\n return;\n }\n navigate(url.pathname);\n } catch (error) {\n log.warn('[UrlHandler] Failed to parse deep link URL', { urlString, error });\n }\n};\n"],
5
- "mappings": "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",
6
- "names": ["Effect", "Capabilities", "Capability", "LayoutOperation", "fromUrlPath", "getWorkspaceFromPath", "toUrlPath", "log", "isTauri", "Capability", "makeModule", "fnUntraced", "invokeSync", "get", "Capabilities", "OperationInvoker", "handlePathNavigation", "pathname", "log", "info", "qualifiedId", "fromUrlPath", "workspace", "getWorkspaceFromPath", "LayoutOperation", "SwitchWorkspace", "subject", "activeId", "undefined", "Open", "onNavigation", "handleNavigation", "sync", "window", "addEventListener", "unlistenDeepLink", "isTauri", "tryPromise", "try", "getCurrent", "onOpenUrl", "launchUrls", "length", "urls", "url", "handleDeepLink", "catch", "error", "warn", "pipe", "catchAll", "void", "lastWorkspace", "lastActive", "unsubscribe", "subscribeAtom", "SimpleLayoutStateCapability", "state", "active", "path", "toUrlPath", "location", "history", "pushState", "search", "contributes", "Null", "removeEventListener", "isRedirectPath", "startsWith", "navigate", "urlString", "URL"]
7
- }