@dxos/plugin-simple-layout 0.8.4-main.422d1c7879 → 0.8.4-main.43cb759274

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 (204) hide show
  1. package/LICENSE +102 -5
  2. package/dist/lib/{browser/index.mjs → neutral/SimpleLayoutPlugin.mjs} +10 -38
  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/neutral/react-root-VE265VX4.mjs +18 -0
  38. package/dist/lib/neutral/react-root-VE265VX4.mjs.map +7 -0
  39. package/dist/lib/neutral/react-surface-N3PGKIYV.mjs +46 -0
  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/neutral/spotlight-dismiss-EIYW5E7M.mjs +58 -0
  48. package/dist/lib/neutral/spotlight-dismiss-EIYW5E7M.mjs.map +7 -0
  49. package/dist/lib/neutral/state-7NXKBLPY.mjs +47 -0
  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 +1 -0
  68. package/dist/types/src/SimpleLayoutPlugin.d.ts.map +1 -1
  69. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  70. package/dist/types/src/capabilities/index.d.ts +3 -3
  71. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  72. package/dist/types/src/capabilities/operation-handler.d.ts +1 -1
  73. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -1
  74. package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
  75. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  76. package/dist/types/src/capabilities/spotlight-dismiss.d.ts +1 -1
  77. package/dist/types/src/capabilities/spotlight-dismiss.d.ts.map +1 -1
  78. package/dist/types/src/capabilities/state.d.ts +3 -3
  79. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  80. package/dist/types/src/capabilities/url-handler.d.ts.map +1 -1
  81. package/dist/types/src/components/ContentError.stories.d.ts +21 -21
  82. package/dist/types/src/components/ContentError.stories.d.ts.map +1 -1
  83. package/dist/types/src/components/DebugOverlay/DebugOverlay.d.ts.map +1 -1
  84. package/dist/types/src/components/Home/Home.d.ts.map +1 -1
  85. package/dist/types/src/components/Loading/Loading.stories.d.ts.map +1 -1
  86. package/dist/types/src/components/MobileLayout/MobileLayout.d.ts +2 -2
  87. package/dist/types/src/components/MobileLayout/MobileLayout.d.ts.map +1 -1
  88. package/dist/types/src/components/MobileLayout/MobileLayout.stories.d.ts.map +1 -1
  89. package/dist/types/src/components/NavBranch/NavBranch.d.ts.map +1 -1
  90. package/dist/types/src/components/Popover/Popover.d.ts.map +1 -1
  91. package/dist/types/src/components/SimpleLayout/AppBar.d.ts +1 -1
  92. package/dist/types/src/components/SimpleLayout/AppBar.d.ts.map +1 -1
  93. package/dist/types/src/components/SimpleLayout/AppBar.stories.d.ts +21 -21
  94. package/dist/types/src/components/SimpleLayout/AppBar.stories.d.ts.map +1 -1
  95. package/dist/types/src/components/SimpleLayout/Drawer.d.ts +4 -7
  96. package/dist/types/src/components/SimpleLayout/Drawer.d.ts.map +1 -1
  97. package/dist/types/src/components/SimpleLayout/Main.d.ts +4 -7
  98. package/dist/types/src/components/SimpleLayout/Main.d.ts.map +1 -1
  99. package/dist/types/src/components/SimpleLayout/NavBar.d.ts +1 -1
  100. package/dist/types/src/components/SimpleLayout/NavBar.d.ts.map +1 -1
  101. package/dist/types/src/components/SimpleLayout/NavBar.stories.d.ts +22 -22
  102. package/dist/types/src/components/SimpleLayout/NavBar.stories.d.ts.map +1 -1
  103. package/dist/types/src/components/SimpleLayout/SimpleLayout.stories.d.ts +21 -21
  104. package/dist/types/src/components/SimpleLayout/SimpleLayout.stories.d.ts.map +1 -1
  105. package/dist/types/src/components/hooks.d.ts.map +1 -1
  106. package/dist/types/src/hooks/actions.d.ts +3 -3
  107. package/dist/types/src/hooks/actions.d.ts.map +1 -1
  108. package/dist/types/src/hooks/useAppBarProps.d.ts +1 -1
  109. package/dist/types/src/hooks/useAppBarProps.d.ts.map +1 -1
  110. package/dist/types/src/hooks/useCompanions.d.ts.map +1 -1
  111. package/dist/types/src/hooks/useDrawerActions.d.ts.map +1 -1
  112. package/dist/types/src/hooks/useSimpleLayoutState.d.ts +3 -3
  113. package/dist/types/src/hooks/useSimpleLayoutState.d.ts.map +1 -1
  114. package/dist/types/src/index.d.ts +2 -1
  115. package/dist/types/src/index.d.ts.map +1 -1
  116. package/dist/types/src/meta.d.ts +1 -1
  117. package/dist/types/src/meta.d.ts.map +1 -1
  118. package/dist/types/src/operations/close.d.ts +1 -1
  119. package/dist/types/src/operations/close.d.ts.map +1 -1
  120. package/dist/types/src/operations/index.d.ts +1 -1
  121. package/dist/types/src/operations/index.d.ts.map +1 -1
  122. package/dist/types/src/operations/open.d.ts +1 -1
  123. package/dist/types/src/operations/open.d.ts.map +1 -1
  124. package/dist/types/src/operations/revert-workspace.d.ts +1 -1
  125. package/dist/types/src/operations/revert-workspace.d.ts.map +1 -1
  126. package/dist/types/src/operations/set-layout-mode.d.ts +1 -1
  127. package/dist/types/src/operations/set-layout-mode.d.ts.map +1 -1
  128. package/dist/types/src/operations/set.d.ts +1 -1
  129. package/dist/types/src/operations/set.d.ts.map +1 -1
  130. package/dist/types/src/operations/state-access.d.ts +3 -3
  131. package/dist/types/src/operations/state-access.d.ts.map +1 -1
  132. package/dist/types/src/operations/switch-workspace.d.ts +1 -1
  133. package/dist/types/src/operations/switch-workspace.d.ts.map +1 -1
  134. package/dist/types/src/operations/update-complementary.d.ts +1 -1
  135. package/dist/types/src/operations/update-complementary.d.ts.map +1 -1
  136. package/dist/types/src/operations/update-dialog.d.ts +1 -1
  137. package/dist/types/src/operations/update-dialog.d.ts.map +1 -1
  138. package/dist/types/src/operations/update-popover.d.ts +1 -1
  139. package/dist/types/src/operations/update-popover.d.ts.map +1 -1
  140. package/dist/types/src/operations/update-sidebar.d.ts +1 -1
  141. package/dist/types/src/operations/update-sidebar.d.ts.map +1 -1
  142. package/dist/types/src/plugin.d.ts +4 -0
  143. package/dist/types/src/plugin.d.ts.map +1 -0
  144. package/dist/types/src/translations.d.ts +21 -22
  145. package/dist/types/src/translations.d.ts.map +1 -1
  146. package/dist/types/src/types/{capabilities.d.ts → SimpleLayoutCapabilities.d.ts} +2 -8
  147. package/dist/types/src/types/SimpleLayoutCapabilities.d.ts.map +1 -0
  148. package/dist/types/src/types/SimpleLayoutEvents.d.ts +4 -0
  149. package/dist/types/src/types/SimpleLayoutEvents.d.ts.map +1 -0
  150. package/dist/types/src/types/index.d.ts +2 -2
  151. package/dist/types/src/types/index.d.ts.map +1 -1
  152. package/dist/types/tsconfig.tsbuildinfo +1 -1
  153. package/package.json +85 -45
  154. package/src/SimpleLayoutPlugin.ts +4 -3
  155. package/src/capabilities/app-graph-builder.ts +1 -1
  156. package/src/capabilities/index.ts +1 -1
  157. package/src/capabilities/operation-handler.ts +1 -1
  158. package/src/capabilities/react-surface.tsx +4 -4
  159. package/src/capabilities/state.tsx +5 -6
  160. package/src/capabilities/url-handler.ts +16 -13
  161. package/src/components/ContentError.stories.tsx +1 -1
  162. package/src/components/Home/Home.tsx +3 -3
  163. package/src/components/Loading/Loading.tsx +1 -1
  164. package/src/components/MobileLayout/MobileLayout.tsx +0 -2
  165. package/src/components/NavBranch/NavBranch.tsx +4 -8
  166. package/src/components/Popover/Popover.tsx +7 -5
  167. package/src/components/SimpleLayout/AppBar.stories.tsx +2 -1
  168. package/src/components/SimpleLayout/AppBar.tsx +44 -41
  169. package/src/components/SimpleLayout/NavBar.stories.tsx +2 -1
  170. package/src/components/SimpleLayout/NavBar.tsx +1 -1
  171. package/src/components/SimpleLayout/SimpleLayout.stories.tsx +5 -5
  172. package/src/hooks/actions.ts +6 -4
  173. package/src/hooks/useAppBarProps.ts +2 -22
  174. package/src/hooks/useDrawerActions.ts +2 -2
  175. package/src/hooks/useNavbarActions.ts +2 -2
  176. package/src/hooks/useSimpleLayoutState.ts +7 -5
  177. package/src/index.ts +2 -1
  178. package/src/meta.ts +7 -4
  179. package/src/operations/close.ts +1 -1
  180. package/src/operations/index.ts +1 -1
  181. package/src/operations/open.ts +25 -6
  182. package/src/operations/revert-workspace.ts +1 -1
  183. package/src/operations/set-layout-mode.ts +1 -1
  184. package/src/operations/set.ts +1 -1
  185. package/src/operations/state-access.ts +5 -3
  186. package/src/operations/switch-workspace.ts +1 -1
  187. package/src/operations/update-complementary.ts +1 -1
  188. package/src/operations/update-dialog.ts +1 -1
  189. package/src/operations/update-popover.ts +1 -1
  190. package/src/operations/update-sidebar.ts +1 -1
  191. package/src/plugin.ts +11 -0
  192. package/src/translations.ts +1 -1
  193. package/src/types/{capabilities.ts → SimpleLayoutCapabilities.ts} +3 -15
  194. package/src/types/SimpleLayoutEvents.ts +15 -0
  195. package/src/types/index.ts +2 -2
  196. package/dist/lib/browser/index.mjs.map +0 -7
  197. package/dist/lib/browser/meta.json +0 -1
  198. package/dist/lib/node-esm/index.mjs +0 -82
  199. package/dist/lib/node-esm/index.mjs.map +0 -7
  200. package/dist/lib/node-esm/meta.json +0 -1
  201. package/dist/types/src/types/capabilities.d.ts.map +0 -1
  202. package/dist/types/src/types/events.d.ts +0 -6
  203. package/dist/types/src/types/events.d.ts.map +0 -1
  204. package/src/types/events.ts +0 -15
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-simple-layout",
3
- "version": "0.8.4-main.422d1c7879",
3
+ "version": "0.8.4-main.43cb759274",
4
4
  "description": "Simple layout plugin for minimal UI contexts like popover windows.",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -8,24 +8,67 @@
8
8
  "type": "git",
9
9
  "url": "https://github.com/dxos/dxos"
10
10
  },
11
- "license": "MIT",
11
+ "license": "FSL-1.1-Apache-2.0",
12
12
  "author": "DXOS.org",
13
13
  "sideEffects": true,
14
14
  "type": "module",
15
15
  "imports": {
16
- "#capabilities": "./src/capabilities/index.ts",
17
- "#components": "./src/components/index.ts",
18
- "#hooks": "./src/hooks/index.ts",
19
- "#meta": "./src/meta.ts",
20
- "#operations": "./src/operations/index.ts",
21
- "#types": "./src/types/index.ts"
16
+ "#capabilities": {
17
+ "source": "./src/capabilities/index.ts",
18
+ "types": "./dist/types/src/capabilities/index.d.ts",
19
+ "default": "./dist/lib/neutral/capabilities/index.mjs"
20
+ },
21
+ "#components": {
22
+ "source": "./src/components/index.ts",
23
+ "types": "./dist/types/src/components/index.d.ts",
24
+ "default": "./dist/lib/neutral/components/index.mjs"
25
+ },
26
+ "#hooks": {
27
+ "source": "./src/hooks/index.ts",
28
+ "types": "./dist/types/src/hooks/index.d.ts",
29
+ "default": "./dist/lib/neutral/hooks/index.mjs"
30
+ },
31
+ "#meta": {
32
+ "source": "./src/meta.ts",
33
+ "types": "./dist/types/src/meta.d.ts",
34
+ "default": "./dist/lib/neutral/meta.mjs"
35
+ },
36
+ "#operations": {
37
+ "source": "./src/operations/index.ts",
38
+ "types": "./dist/types/src/operations/index.d.ts",
39
+ "default": "./dist/lib/neutral/operations/index.mjs"
40
+ },
41
+ "#plugin": {
42
+ "source": "./src/SimpleLayoutPlugin.ts",
43
+ "types": "./dist/types/src/SimpleLayoutPlugin.d.ts",
44
+ "default": "./dist/lib/neutral/SimpleLayoutPlugin.mjs"
45
+ },
46
+ "#translations": {
47
+ "source": "./src/translations.ts",
48
+ "types": "./dist/types/src/translations.d.ts",
49
+ "default": "./dist/lib/neutral/translations.mjs"
50
+ },
51
+ "#types": {
52
+ "source": "./src/types/index.ts",
53
+ "types": "./dist/types/src/types/index.d.ts",
54
+ "default": "./dist/lib/neutral/types/index.mjs"
55
+ }
22
56
  },
23
57
  "exports": {
24
58
  ".": {
25
59
  "source": "./src/index.ts",
26
- "browser": "./dist/lib/browser/index.mjs",
27
- "node": "./dist/lib/node-esm/index.mjs",
28
- "types": "./dist/types/src/index.d.ts"
60
+ "types": "./dist/types/src/index.d.ts",
61
+ "default": "./dist/lib/neutral/index.mjs"
62
+ },
63
+ "./plugin": {
64
+ "source": "./src/plugin.ts",
65
+ "types": "./dist/types/src/plugin.d.ts",
66
+ "default": "./dist/lib/neutral/plugin.mjs"
67
+ },
68
+ "./translations": {
69
+ "source": "./src/translations.ts",
70
+ "types": "./dist/types/src/translations.d.ts",
71
+ "default": "./dist/lib/neutral/translations.mjs"
29
72
  }
30
73
  },
31
74
  "types": "dist/types/src/index.d.ts",
@@ -34,52 +77,49 @@
34
77
  "src"
35
78
  ],
36
79
  "dependencies": {
37
- "@effect-atom/atom": "^0.5.1",
38
80
  "@effect-atom/atom-react": "^0.5.0",
39
81
  "@radix-ui/react-context": "1.1.1",
40
- "@tauri-apps/plugin-deep-link": "^2.2.0",
41
- "@tauri-apps/plugin-haptics": "^2.3.2",
42
- "@dxos/app-toolkit": "0.8.4-main.422d1c7879",
43
- "@dxos/app-framework": "0.8.4-main.422d1c7879",
44
- "@dxos/context": "0.8.4-main.422d1c7879",
45
- "@dxos/effect": "0.8.4-main.422d1c7879",
46
- "@dxos/async": "0.8.4-main.422d1c7879",
47
- "@dxos/log": "0.8.4-main.422d1c7879",
48
- "@dxos/echo": "0.8.4-main.422d1c7879",
49
- "@dxos/operation": "0.8.4-main.422d1c7879",
50
- "@dxos/plugin-client": "0.8.4-main.422d1c7879",
51
- "@dxos/react-ui-attention": "0.8.4-main.422d1c7879",
52
- "@dxos/react-ui-menu": "0.8.4-main.422d1c7879",
53
- "@dxos/react-ui-mosaic": "0.8.4-main.422d1c7879",
54
- "@dxos/react-ui-stack": "0.8.4-main.422d1c7879",
55
- "@dxos/schema": "0.8.4-main.422d1c7879",
56
- "@dxos/react-ui-search": "0.8.4-main.422d1c7879",
57
- "@dxos/util": "0.8.4-main.422d1c7879",
58
- "@dxos/plugin-graph": "0.8.4-main.422d1c7879"
82
+ "@tauri-apps/plugin-deep-link": "^2.4.9",
83
+ "@dxos/app-framework": "0.8.4-main.43cb759274",
84
+ "@dxos/async": "0.8.4-main.43cb759274",
85
+ "@dxos/compute": "0.8.4-main.43cb759274",
86
+ "@dxos/echo": "0.8.4-main.43cb759274",
87
+ "@dxos/effect": "0.8.4-main.43cb759274",
88
+ "@dxos/keys": "0.8.4-main.43cb759274",
89
+ "@dxos/plugin-client": "0.8.4-main.43cb759274",
90
+ "@dxos/plugin-graph": "0.8.4-main.43cb759274",
91
+ "@dxos/context": "0.8.4-main.43cb759274",
92
+ "@dxos/log": "0.8.4-main.43cb759274",
93
+ "@dxos/react-ui-attention": "0.8.4-main.43cb759274",
94
+ "@dxos/react-ui-menu": "0.8.4-main.43cb759274",
95
+ "@dxos/react-ui-mosaic": "0.8.4-main.43cb759274",
96
+ "@dxos/react-ui-search": "0.8.4-main.43cb759274",
97
+ "@dxos/util": "0.8.4-main.43cb759274",
98
+ "@dxos/app-toolkit": "0.8.4-main.43cb759274"
59
99
  },
60
100
  "devDependencies": {
61
101
  "@types/react": "~19.2.7",
62
102
  "@types/react-dom": "~19.2.3",
63
- "effect": "3.20.0",
103
+ "effect": "3.21.2",
64
104
  "react": "~19.2.3",
65
105
  "react-dom": "~19.2.3",
66
- "vite": "^7.1.11",
67
- "@dxos/plugin-preview": "0.8.4-main.422d1c7879",
68
- "@dxos/plugin-search": "0.8.4-main.422d1c7879",
69
- "@dxos/plugin-space": "0.8.4-main.422d1c7879",
70
- "@dxos/plugin-testing": "0.8.4-main.422d1c7879",
71
- "@dxos/schema": "0.8.4-main.422d1c7879",
72
- "@dxos/react-ui": "0.8.4-main.422d1c7879",
73
- "@dxos/storybook-utils": "0.8.4-main.422d1c7879",
74
- "@dxos/app-graph": "0.8.4-main.422d1c7879",
75
- "@dxos/ui-theme": "0.8.4-main.422d1c7879"
106
+ "vite": "^8.0.14",
107
+ "@dxos/app-graph": "0.8.4-main.43cb759274",
108
+ "@dxos/plugin-preview": "0.8.4-main.43cb759274",
109
+ "@dxos/plugin-search": "0.8.4-main.43cb759274",
110
+ "@dxos/plugin-testing": "0.8.4-main.43cb759274",
111
+ "@dxos/plugin-space": "0.8.4-main.43cb759274",
112
+ "@dxos/react-ui": "0.8.4-main.43cb759274",
113
+ "@dxos/storybook-utils": "0.8.4-main.43cb759274",
114
+ "@dxos/ui-theme": "0.8.4-main.43cb759274",
115
+ "@dxos/schema": "0.8.4-main.43cb759274"
76
116
  },
77
117
  "peerDependencies": {
78
- "effect": "3.20.0",
118
+ "effect": "3.21.2",
79
119
  "react": "~19.2.3",
80
120
  "react-dom": "~19.2.3",
81
- "@dxos/react-ui": "0.8.4-main.422d1c7879",
82
- "@dxos/ui-theme": "0.8.4-main.422d1c7879"
121
+ "@dxos/react-ui": "0.8.4-main.43cb759274",
122
+ "@dxos/ui-theme": "0.8.4-main.43cb759274"
83
123
  },
84
124
  "publishConfig": {
85
125
  "access": "public"
@@ -15,10 +15,9 @@ import {
15
15
  UrlHandler,
16
16
  } from '#capabilities';
17
17
  import { meta } from '#meta';
18
+ import { translations } from '#translations';
18
19
  import { SimpleLayoutEvents } from '#types';
19
20
 
20
- import { translations } from './translations';
21
-
22
21
  export type SimpleLayoutPluginOptions = {
23
22
  /** Determines if running in popover window context (hides mobile-specific UI). */
24
23
  isPopover?: boolean;
@@ -51,8 +50,10 @@ export const SimpleLayoutPlugin = Plugin.define<SimpleLayoutPluginOptions>(meta)
51
50
  }),
52
51
  Plugin.addModule({
53
52
  id: Capability.getModuleTag(UrlHandler),
54
- activatesOn: ActivationEvent.allOf(ActivationEvents.OperationInvokerReady, SimpleLayoutEvents.StateReady),
53
+ activatesOn: ActivationEvent.allOf(ActivationEvents.ProcessManagerReady, SimpleLayoutEvents.StateReady),
55
54
  activate: UrlHandler,
56
55
  }),
57
56
  Plugin.make,
58
57
  );
58
+
59
+ export default SimpleLayoutPlugin;
@@ -11,7 +11,7 @@ import { GraphBuilder, NodeMatcher } from '@dxos/plugin-graph';
11
11
  export default Capability.makeModule(
12
12
  Effect.fnUntraced(function* () {
13
13
  const extensions = yield* GraphBuilder.createExtension({
14
- id: 'org.dxos.plugin.simple-layout.not-found',
14
+ id: 'org.dxos.plugin.simpleLayout.notFound',
15
15
  match: NodeMatcher.whenRoot,
16
16
  connector: () => Effect.succeed([AppNode.makeNotFound()]),
17
17
  });
@@ -3,7 +3,7 @@
3
3
  //
4
4
 
5
5
  import { Capability } from '@dxos/app-framework';
6
- import { OperationHandlerSet } from '@dxos/operation';
6
+ import { OperationHandlerSet } from '@dxos/compute';
7
7
 
8
8
  export const AppGraphBuilder = Capability.lazy('AppGraphBuilder', () => import('./app-graph-builder'));
9
9
  export const OperationHandler = Capability.lazy<OperationHandlerSet.OperationHandlerSet>(
@@ -3,7 +3,7 @@
3
3
  import * as Effect from 'effect/Effect';
4
4
 
5
5
  import { Capabilities, Capability } from '@dxos/app-framework';
6
- import type { OperationHandlerSet } from '@dxos/operation';
6
+ import type { OperationHandlerSet } from '@dxos/compute';
7
7
 
8
8
  import { SimpleLayoutOperationHandlerSet } from '#operations';
9
9
 
@@ -18,7 +18,7 @@ type SurfaceData = {
18
18
  properties: Record<string, any>;
19
19
  };
20
20
 
21
- const ALLOWED_DISPOSITIONS = ['workspace', 'user-account', 'pin-end', 'alternate-tree'];
21
+ const ALLOWED_DISPOSITIONS = ['workspace', 'user-account', 'pin-end'];
22
22
 
23
23
  export default Capability.makeModule(() =>
24
24
  Effect.succeed(
@@ -30,15 +30,15 @@ export default Capability.makeModule(() =>
30
30
  component: () => <Home />,
31
31
  }),
32
32
  Surface.create({
33
- id: 'not-found',
33
+ id: 'notFound',
34
34
  role: 'article',
35
35
  filter: (data): data is SurfaceData => data.attendableId === NOT_FOUND_PATH,
36
36
  component: () => <NotFoundArticle />,
37
37
  }),
38
38
  Surface.create({
39
- id: 'nav-branch',
39
+ id: 'navBranch',
40
40
  role: 'article',
41
- position: 'fallback',
41
+ position: 'last',
42
42
  filter: (data): data is SurfaceData => {
43
43
  const props = data.properties as Record<string, any>;
44
44
  return ALLOWED_DISPOSITIONS.includes(props?.disposition) || props?.role === 'branch';
@@ -9,10 +9,9 @@ import { Capability } from '@dxos/app-framework';
9
9
  import { AppCapabilities } from '@dxos/app-toolkit';
10
10
  import { Node } from '@dxos/plugin-graph';
11
11
 
12
- import { type SimpleLayoutState } from '#types';
13
- import { SimpleLayoutState as SimpleLayoutStateCapability } from '#types';
12
+ import { SimpleLayoutCapabilities } from '#types';
14
13
 
15
- const defaultState: SimpleLayoutState = {
14
+ const defaultState: SimpleLayoutCapabilities.SimpleLayoutState = {
16
15
  dialogOpen: false,
17
16
  workspace: Node.RootId,
18
17
  previousWorkspace: Node.RootId,
@@ -23,12 +22,12 @@ const defaultState: SimpleLayoutState = {
23
22
  };
24
23
 
25
24
  export type SimpleLayoutStateOptions = {
26
- initialState?: Partial<SimpleLayoutState>;
25
+ initialState?: Partial<SimpleLayoutCapabilities.SimpleLayoutState>;
27
26
  };
28
27
 
29
28
  export default Capability.makeModule(({ initialState }: SimpleLayoutStateOptions = {}) =>
30
29
  Effect.sync(() => {
31
- const stateAtom = Atom.make<SimpleLayoutState>({ ...defaultState, ...initialState });
30
+ const stateAtom = Atom.make<SimpleLayoutCapabilities.SimpleLayoutState>({ ...defaultState, ...initialState });
32
31
 
33
32
  const layoutAtom = Atom.make((get): AppCapabilities.Layout => {
34
33
  const state = get(stateAtom);
@@ -45,7 +44,7 @@ export default Capability.makeModule(({ initialState }: SimpleLayoutStateOptions
45
44
  });
46
45
 
47
46
  return [
48
- Capability.contributes(SimpleLayoutStateCapability, stateAtom),
47
+ Capability.contributes(SimpleLayoutCapabilities.State, stateAtom),
49
48
  Capability.contributes(AppCapabilities.Layout, layoutAtom),
50
49
  ];
51
50
  }),
@@ -10,7 +10,7 @@ import { runAndForwardErrors } from '@dxos/effect';
10
10
  import { log } from '@dxos/log';
11
11
  import { isTauri } from '@dxos/util';
12
12
 
13
- import { type SimpleLayoutState, SimpleLayoutState as SimpleLayoutStateCapability } from '#types';
13
+ import { SimpleLayoutCapabilities } from '#types';
14
14
 
15
15
  /**
16
16
  * URL handler for simple layout that syncs browser URL with layout state.
@@ -99,19 +99,22 @@ export default Capability.makeModule(
99
99
  // Sync URL with layout state changes.
100
100
  let lastWorkspace: string | undefined;
101
101
  let lastActive: string | undefined;
102
- const unsubscribe = yield* Capabilities.subscribeAtom(SimpleLayoutStateCapability, (state: SimpleLayoutState) => {
103
- const { workspace, active } = state;
104
-
105
- if (workspace !== lastWorkspace || active !== lastActive) {
106
- lastWorkspace = workspace;
107
- lastActive = active;
108
-
109
- const path = active ? toUrlPath(active) : toUrlPath(workspace);
110
- if (window.location.pathname !== path) {
111
- history.pushState(null, '', `${path}${window.location.search}`);
102
+ const unsubscribe = yield* Capabilities.subscribeAtom(
103
+ SimpleLayoutCapabilities.State,
104
+ (state: SimpleLayoutCapabilities.SimpleLayoutState) => {
105
+ const { workspace, active } = state;
106
+
107
+ if (workspace !== lastWorkspace || active !== lastActive) {
108
+ lastWorkspace = workspace;
109
+ lastActive = active;
110
+
111
+ const path = active ? toUrlPath(active) : toUrlPath(workspace);
112
+ if (window.location.pathname !== path) {
113
+ history.pushState(null, '', `${path}${window.location.search}`);
114
+ }
112
115
  }
113
- }
114
- });
116
+ },
117
+ );
115
118
 
116
119
  return Capability.contributes(Capabilities.Null, null, () =>
117
120
  Effect.sync(() => {
@@ -7,7 +7,7 @@ import { type Meta, type StoryObj } from '@storybook/react-vite';
7
7
  import { ErrorFallback } from '@dxos/react-ui';
8
8
  import { withTheme } from '@dxos/react-ui/testing';
9
9
 
10
- import { translations } from '../translations';
10
+ import { translations } from '#translations';
11
11
 
12
12
  const meta = {
13
13
  title: 'plugins/plugin-simple-layout/components/ErrorFallback',
@@ -100,11 +100,11 @@ const WorkspaceTile: MosaicStackTileComponent<Node.Node> = (props) => {
100
100
  fullWidth
101
101
  tabIndex={-1} // TODO(burdon): Use Mosaic.Focus.
102
102
  data-selected={isSelected}
103
- classNames={mx('dx-focus-ring', isSelected && 'bg-hover-overlay')}
103
+ classNames={mx('dx-focus-ring', isSelected && 'bg-selected-surface')}
104
104
  onClick={handleSelect}
105
105
  ref={cardRef}
106
106
  >
107
- <Card.Toolbar density='fine'>
107
+ <Card.Header density='md'>
108
108
  <Avatar.Root>
109
109
  <Avatar.Content
110
110
  icon={data.properties.icon}
@@ -117,7 +117,7 @@ const WorkspaceTile: MosaicStackTileComponent<Node.Node> = (props) => {
117
117
  <Avatar.Label classNames='cursor-pointer'>{name}</Avatar.Label>
118
118
  <Icon icon='ph--caret-right--regular' />
119
119
  </Avatar.Root>
120
- </Card.Toolbar>
120
+ </Card.Header>
121
121
  </Card.Root>
122
122
  );
123
123
  };
@@ -6,5 +6,5 @@ import React from 'react';
6
6
 
7
7
  // TODO(burdon): Show skeleton: https://github.com/dxos/dxos/issues/8259
8
8
  export const Loading = () => {
9
- return <div role='none' className='grid place-items-center dx-attention-surface' />;
9
+ return <div className='grid place-items-center dx-attention-surface' />;
10
10
  };
@@ -56,7 +56,6 @@ const MobileLayoutRoot = forwardRef<HTMLDivElement, MobileLayoutRootProps>(
56
56
  <MobileLayoutProvider keyboardOpen={keyboardOpen}>
57
57
  <div
58
58
  {...props}
59
- role='none'
60
59
  style={{
61
60
  height: 'calc(100vh - var(--kb-height, 0px))',
62
61
  transition: `height ${keyboardOpen ? 0 : transition}ms ease-out`,
@@ -95,7 +94,6 @@ const MobileLayoutPanel = forwardRef<HTMLDivElement, MobileLayoutPanelProps>(
95
94
  return (
96
95
  <div
97
96
  {...props}
98
- role='none'
99
97
  style={{
100
98
  paddingTop: safe?.top ? 'env(safe-area-inset-top)' : undefined,
101
99
  paddingBottom: safe?.bottom ? `calc((1 - var(--kb-open, 0)) * env(safe-area-inset-bottom))` : undefined,
@@ -35,12 +35,8 @@ export const NavBranch = ({ id }: NavBranchProps) => {
35
35
 
36
36
  const children = useConnections(graph, id, 'child');
37
37
 
38
- // TODO(wittjosiah): Move alternate-tree nodes to a non-child relation so they don't need filtering.
39
38
  const visibleChildren = useMemo(
40
- () =>
41
- children.filter(
42
- (node) => node.properties.disposition !== 'alternate-tree' && node.properties.disposition !== 'hidden',
43
- ),
39
+ () => children.filter((node) => node.properties.disposition !== 'hidden'),
44
40
  [children],
45
41
  );
46
42
 
@@ -106,10 +102,10 @@ const NavBranchTile: MosaicStackTileComponent<Node.Node> = (props) => {
106
102
  fullWidth
107
103
  tabIndex={-1} // TODO(burdon): Use Mosaic.Focus.
108
104
  data-selected={isSelected}
109
- classNames={mx('dx-focus-ring cursor-pointer', isSelected && 'bg-hover-overlay')}
105
+ classNames={mx('dx-focus-ring cursor-pointer', isSelected && 'bg-selected-surface')}
110
106
  onClick={handleSelect}
111
107
  >
112
- <Card.Toolbar>
108
+ <Card.Header>
113
109
  <Avatar.Root>
114
110
  <Avatar.Content
115
111
  hue={data.properties.hue}
@@ -122,7 +118,7 @@ const NavBranchTile: MosaicStackTileComponent<Node.Node> = (props) => {
122
118
  <Avatar.Label>{name}</Avatar.Label>
123
119
  <Icon icon='ph--caret-right--regular' />
124
120
  </Avatar.Root>
125
- </Card.Toolbar>
121
+ </Card.Header>
126
122
  </Card.Root>
127
123
  );
128
124
  };
@@ -84,6 +84,7 @@ export const PopoverContent = () => {
84
84
  [handleClose],
85
85
  );
86
86
 
87
+ /* TODO(thure): Make this a constant and document it. */
87
88
  const collisionBoundaries: HTMLElement[] = useMemo(() => {
88
89
  const closest = state.popoverAnchor?.closest('[data-popover-collision-boundary]') as HTMLElement | null | undefined;
89
90
  return closest ? [closest] : [];
@@ -96,6 +97,7 @@ export const PopoverContent = () => {
96
97
  sticky='always'
97
98
  hideWhenDetached
98
99
  collisionBoundary={collisionBoundaries}
100
+ onOpenAutoFocus={(event) => event.preventDefault()}
99
101
  onInteractOutside={handleInteractOutside}
100
102
  onEscapeKeyDown={handleInteractOutside}
101
103
  >
@@ -105,12 +107,12 @@ export const PopoverContent = () => {
105
107
  )}
106
108
  {state.popoverKind === 'card' && (
107
109
  <Card.Root border={false} classNames='dx-card-popover'>
108
- <Card.Toolbar>
109
- {/* TODO(wittjosiah): Cleaner way to handle no drag handle in toolbar? */}
110
- <span />
110
+ <Card.Header>
111
+ {/* Disabled drag handle keeps the toolbar slot layout consistent with regular cards. */}
112
+ <Card.DragHandle />
111
113
  {state.popoverTitle ? <Card.Title>{toLocalizedString(state.popoverTitle, t)}</Card.Title> : <span />}
112
- <Card.CloseIconButton onClick={handleClose} />
113
- </Card.Toolbar>
114
+ <Card.ActionIconButton action='close' onClick={handleClose} />
115
+ </Card.Header>
114
116
  {state.popoverContent && 'subject' in state.popoverContent && (
115
117
  <Surface.Surface type={AppSurface.Card} data={state.popoverContent} limit={1} />
116
118
  )}
@@ -11,7 +11,8 @@ import { type ActionGraphProps, createMenuAction } from '@dxos/react-ui-menu';
11
11
  import { withLayout, withTheme } from '@dxos/react-ui/testing';
12
12
  import { withRegistry } from '@dxos/storybook-utils';
13
13
 
14
- import { translations } from '../../translations';
14
+ import { translations } from '#translations';
15
+
15
16
  import { MobileLayout } from '../MobileLayout';
16
17
  import { AppBar, type AppBarProps } from './AppBar';
17
18
 
@@ -5,9 +5,10 @@
5
5
  import { type Atom, useAtomValue } from '@effect-atom/atom-react';
6
6
  import React, { Fragment } from 'react';
7
7
 
8
- import { IconButton, Popover, Toolbar, useTranslation } from '@dxos/react-ui';
8
+ import { DensityProvider, IconButton, Popover, Toolbar, useTranslation } from '@dxos/react-ui';
9
+ import { composable, composableProps } from '@dxos/react-ui';
9
10
  import { type ActionExecutor, type ActionGraphProps, Menu, useMenuActions } from '@dxos/react-ui-menu';
10
- import { composable, composableProps, osTranslations } from '@dxos/ui-theme';
11
+ import { osTranslations } from '@dxos/ui-theme';
11
12
 
12
13
  import { meta } from '#meta';
13
14
 
@@ -48,45 +49,47 @@ export const AppBar = composable<HTMLDivElement, AppBarProps>(
48
49
  const AnchorRoot = popoverAnchorId ? Popover.Anchor : Fragment;
49
50
 
50
51
  return (
51
- <Toolbar.Root
52
- {...composableProps(props, {
53
- role: 'banner',
54
- classNames: 'grid grid-cols-[var(--dx-rail-size)_1fr_var(--dx-rail-size)] items-center dx-density-fine',
55
- })}
56
- ref={forwardedRef}
57
- >
58
- {keyboardOpen ? (
59
- <IconButton variant='ghost' icon='ph--x--regular' iconOnly label={t('done.label')} />
60
- ) : showBackButton ? (
61
- <IconButton
62
- variant='ghost'
63
- icon='ph--caret-left--regular'
64
- iconOnly
65
- label={t('back.label')}
66
- onClick={onBack}
67
- />
68
- ) : (
69
- <div />
70
- )}
71
- <h1 className='text-center truncate font-thin uppercase'>{displayTitle}</h1>
72
- {hasActions ? (
73
- <AnchorRoot>
74
- <Menu.Root {...menuActions} caller={meta.id} onAction={onAction}>
75
- <Menu.Trigger asChild>
76
- <IconButton
77
- variant='ghost'
78
- icon='ph--dots-three-vertical--regular'
79
- iconOnly
80
- label={t('actions-menu.label')}
81
- />
82
- </Menu.Trigger>
83
- <Menu.Content />
84
- </Menu.Root>
85
- </AnchorRoot>
86
- ) : (
87
- <span />
88
- )}
89
- </Toolbar.Root>
52
+ <DensityProvider density='md'>
53
+ <Toolbar.Root
54
+ {...composableProps(props, {
55
+ role: 'banner',
56
+ classNames: 'grid grid-cols-[var(--dx-rail-size)_1fr_var(--dx-rail-size)] items-center dx-density-md',
57
+ })}
58
+ ref={forwardedRef}
59
+ >
60
+ {keyboardOpen ? (
61
+ <IconButton variant='ghost' icon='ph--x--regular' iconOnly label={t('done.label')} />
62
+ ) : showBackButton ? (
63
+ <IconButton
64
+ variant='ghost'
65
+ icon='ph--caret-left--regular'
66
+ iconOnly
67
+ label={t('back.label')}
68
+ onClick={onBack}
69
+ />
70
+ ) : (
71
+ <div />
72
+ )}
73
+ <h1 className='text-center truncate font-thin uppercase'>{displayTitle}</h1>
74
+ {hasActions ? (
75
+ <AnchorRoot>
76
+ <Menu.Root {...menuActions} caller={meta.id} onAction={onAction}>
77
+ <Menu.Trigger asChild>
78
+ <IconButton
79
+ variant='ghost'
80
+ icon='ph--dots-three-vertical--regular'
81
+ iconOnly
82
+ label={t('actions-menu.label')}
83
+ />
84
+ </Menu.Trigger>
85
+ <Menu.Content />
86
+ </Menu.Root>
87
+ </AnchorRoot>
88
+ ) : (
89
+ <span />
90
+ )}
91
+ </Toolbar.Root>
92
+ </DensityProvider>
90
93
  );
91
94
  },
92
95
  );
@@ -11,7 +11,8 @@ import { type ActionGraphProps, createGapSeparator, createMenuAction, createMenu
11
11
  import { withLayout, withTheme } from '@dxos/react-ui/testing';
12
12
  import { withRegistry } from '@dxos/storybook-utils';
13
13
 
14
- import { translations } from '../../translations';
14
+ import { translations } from '#translations';
15
+
15
16
  import { NavBar } from './NavBar';
16
17
 
17
18
  const MAIN_MENU_GROUP_ID = 'navbar-main-menu';
@@ -5,8 +5,8 @@
5
5
  import { type Atom } from '@effect-atom/atom-react';
6
6
  import React from 'react';
7
7
 
8
+ import { composable, composableProps } from '@dxos/react-ui';
8
9
  import { type ActionExecutor, type ActionGraphProps, Menu, useMenuActions } from '@dxos/react-ui-menu';
9
- import { composable, composableProps } from '@dxos/ui-theme';
10
10
 
11
11
  const NAVBAR_NAME = 'SimpleLayout.NavBar';
12
12
 
@@ -9,19 +9,19 @@ import { ActivationEvents, Capability, Plugin } from '@dxos/app-framework';
9
9
  import { withPluginManager } from '@dxos/app-framework/testing';
10
10
  import { AppActivationEvents } from '@dxos/app-toolkit';
11
11
  import { Collection } from '@dxos/echo';
12
- import { ClientPlugin } from '@dxos/plugin-client';
13
- import { SearchPlugin } from '@dxos/plugin-search';
14
- import { SpacePlugin } from '@dxos/plugin-space';
12
+ import { ClientPlugin } from '@dxos/plugin-client/testing';
13
+ import { SearchPlugin } from '@dxos/plugin-search/testing';
14
+ import { SpacePlugin } from '@dxos/plugin-space/testing';
15
15
  import { corePlugins } from '@dxos/plugin-testing';
16
- import { translations as searchTranslation } from '@dxos/react-ui-search';
16
+ import { translations as searchTranslation } from '@dxos/react-ui-search/translations';
17
17
  import { withLayout } from '@dxos/react-ui/testing';
18
18
 
19
19
  import { ReactRoot, ReactSurface, State } from '#capabilities';
20
20
  import { meta as pluginMeta } from '#meta';
21
+ import { translations } from '#translations';
21
22
  import { SimpleLayoutEvents } from '#types';
22
23
 
23
24
  import { type SimpleLayoutPluginOptions } from '../../SimpleLayoutPlugin';
24
- import { translations } from '../../translations';
25
25
  import { SimpleLayout } from './SimpleLayout';
26
26
 
27
27
  const createPluginManager = ({ isPopover }: { isPopover?: boolean }) => {