@dxos/plugin-deck 0.8.4-main.9be5663bfe → 0.8.4-main.abd8ff62ef

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 (297) hide show
  1. package/dist/lib/browser/DeckPlugin-YAAL6CBD.mjs +70 -0
  2. package/dist/lib/browser/DeckPlugin-YAAL6CBD.mjs.map +7 -0
  3. package/dist/lib/browser/{add-toast-HW74YZHJ.mjs → add-toast-JWJOQNVL.mjs} +3 -3
  4. package/dist/lib/browser/{add-toast-HW74YZHJ.mjs.map → add-toast-JWJOQNVL.mjs.map} +1 -1
  5. package/dist/lib/browser/{adjust-OXVHZTBE.mjs → adjust-RG6LIQLX.mjs} +10 -11
  6. package/dist/lib/browser/adjust-RG6LIQLX.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-KUTDCWZF.mjs → chunk-GLB73Q6U.mjs} +2 -10
  8. package/dist/lib/{node-esm/chunk-MLVJ2ODW.mjs.map → browser/chunk-GLB73Q6U.mjs.map} +2 -2
  9. package/dist/lib/browser/{chunk-BRZAVPMC.mjs → chunk-LSZ47AY3.mjs} +1 -1
  10. package/dist/lib/browser/{chunk-GFOCQS7S.mjs → chunk-MARE7ZFK.mjs} +22 -23
  11. package/dist/lib/browser/{chunk-GFOCQS7S.mjs.map → chunk-MARE7ZFK.mjs.map} +3 -3
  12. package/dist/lib/browser/{chunk-2YNVGCOQ.mjs → chunk-XM263CQU.mjs} +4 -20
  13. package/dist/lib/browser/chunk-XM263CQU.mjs.map +7 -0
  14. package/dist/lib/browser/{chunk-DF2VZ6W3.mjs → chunk-ZYYOSX5I.mjs} +1 -1
  15. package/dist/lib/browser/{chunk-DF2VZ6W3.mjs.map → chunk-ZYYOSX5I.mjs.map} +2 -2
  16. package/dist/lib/browser/{close-N5FCDT7Y.mjs → close-URA766JO.mjs} +6 -6
  17. package/dist/lib/browser/{close-N5FCDT7Y.mjs.map → close-URA766JO.mjs.map} +1 -1
  18. package/dist/lib/browser/index.mjs +8 -128
  19. package/dist/lib/browser/index.mjs.map +4 -4
  20. package/dist/lib/browser/meta.json +1 -1
  21. package/dist/lib/browser/{open-J5HV42UN.mjs → open-OPFOOHCQ.mjs} +7 -10
  22. package/dist/lib/browser/open-OPFOOHCQ.mjs.map +7 -0
  23. package/dist/lib/browser/operations/index.mjs +3 -3
  24. package/dist/lib/browser/operations/index.mjs.map +3 -3
  25. package/dist/lib/browser/{revert-workspace-VWNN7RYF.mjs → revert-workspace-KP2Y4QLG.mjs} +3 -3
  26. package/dist/lib/browser/{revert-workspace-VWNN7RYF.mjs.map → revert-workspace-KP2Y4QLG.mjs.map} +1 -1
  27. package/dist/lib/browser/{scroll-into-view-CA7E3PSO.mjs → scroll-into-view-S5H2FGSQ.mjs} +3 -3
  28. package/dist/lib/browser/{scroll-into-view-CA7E3PSO.mjs.map → scroll-into-view-S5H2FGSQ.mjs.map} +1 -1
  29. package/dist/lib/browser/{set-YVWQQZLE.mjs → set-AEKFFSIX.mjs} +5 -5
  30. package/dist/lib/browser/{set-YVWQQZLE.mjs.map → set-AEKFFSIX.mjs.map} +1 -1
  31. package/dist/lib/browser/{set-layout-mode-DRNBZHE7.mjs → set-layout-mode-CWIGQDFZ.mjs} +5 -10
  32. package/dist/lib/browser/set-layout-mode-CWIGQDFZ.mjs.map +7 -0
  33. package/dist/lib/browser/{show-undo-KA2XHQ6E.mjs → show-undo-XFVEDKYC.mjs} +3 -3
  34. package/dist/lib/browser/{show-undo-KA2XHQ6E.mjs.map → show-undo-XFVEDKYC.mjs.map} +1 -1
  35. package/dist/lib/browser/{switch-workspace-U7SPENHU.mjs → switch-workspace-DSAAXZSI.mjs} +4 -12
  36. package/dist/lib/browser/switch-workspace-DSAAXZSI.mjs.map +7 -0
  37. package/dist/lib/browser/translations.mjs +57 -0
  38. package/dist/lib/browser/translations.mjs.map +7 -0
  39. package/dist/lib/browser/types/index.mjs +1 -1
  40. package/dist/lib/browser/{change-companion-Z3Q2UPX4.mjs → update-companion-IDBBBHT3.mjs} +11 -13
  41. package/dist/lib/browser/update-companion-IDBBBHT3.mjs.map +7 -0
  42. package/dist/lib/browser/{update-complementary-W6UVLWLI.mjs → update-complementary-55PNO5MD.mjs} +3 -3
  43. package/dist/lib/browser/{update-complementary-W6UVLWLI.mjs.map → update-complementary-55PNO5MD.mjs.map} +1 -1
  44. package/dist/lib/browser/{update-dialog-VCTI7WKS.mjs → update-dialog-VNARIANC.mjs} +3 -3
  45. package/dist/lib/browser/{update-dialog-VCTI7WKS.mjs.map → update-dialog-VNARIANC.mjs.map} +1 -1
  46. package/dist/lib/browser/{update-plank-size-6TPVOYLT.mjs → update-plank-size-H63PRRXS.mjs} +5 -5
  47. package/dist/lib/browser/{update-plank-size-6TPVOYLT.mjs.map → update-plank-size-H63PRRXS.mjs.map} +1 -1
  48. package/dist/lib/browser/{update-popover-4EVVZSB6.mjs → update-popover-ODTPZ3JL.mjs} +3 -3
  49. package/dist/lib/browser/{update-popover-4EVVZSB6.mjs.map → update-popover-ODTPZ3JL.mjs.map} +1 -1
  50. package/dist/lib/browser/{update-sidebar-PAZARC4Q.mjs → update-sidebar-JDVQ36WK.mjs} +3 -3
  51. package/dist/lib/browser/{update-sidebar-PAZARC4Q.mjs.map → update-sidebar-JDVQ36WK.mjs.map} +1 -1
  52. package/dist/lib/node-esm/DeckPlugin-ZILU7U44.mjs +71 -0
  53. package/dist/lib/node-esm/DeckPlugin-ZILU7U44.mjs.map +7 -0
  54. package/dist/lib/node-esm/{add-toast-FA7NTWKA.mjs → add-toast-JUTN4GTI.mjs} +3 -3
  55. package/dist/lib/node-esm/{add-toast-FA7NTWKA.mjs.map → add-toast-JUTN4GTI.mjs.map} +1 -1
  56. package/dist/lib/node-esm/{adjust-G6FGZW6H.mjs → adjust-P5QK33P4.mjs} +10 -11
  57. package/dist/lib/node-esm/adjust-P5QK33P4.mjs.map +7 -0
  58. package/dist/lib/node-esm/{chunk-6BWQJDNT.mjs → chunk-FO7YDJZ3.mjs} +22 -23
  59. package/dist/lib/node-esm/{chunk-6BWQJDNT.mjs.map → chunk-FO7YDJZ3.mjs.map} +3 -3
  60. package/dist/lib/node-esm/{chunk-MB4SDDVY.mjs → chunk-KY7ZCANM.mjs} +1 -1
  61. package/dist/lib/node-esm/{chunk-GI5JXNBT.mjs → chunk-L7OVX7CV.mjs} +4 -20
  62. package/dist/lib/node-esm/chunk-L7OVX7CV.mjs.map +7 -0
  63. package/dist/lib/node-esm/{chunk-MLVJ2ODW.mjs → chunk-SHSR2CYO.mjs} +2 -10
  64. package/dist/lib/{browser/chunk-KUTDCWZF.mjs.map → node-esm/chunk-SHSR2CYO.mjs.map} +2 -2
  65. package/dist/lib/node-esm/{chunk-IRWCUYJY.mjs → chunk-WGBUTT5K.mjs} +1 -1
  66. package/dist/lib/node-esm/{chunk-IRWCUYJY.mjs.map → chunk-WGBUTT5K.mjs.map} +2 -2
  67. package/dist/lib/node-esm/{close-AMA63RJN.mjs → close-U5VC7ERP.mjs} +6 -6
  68. package/dist/lib/node-esm/{close-AMA63RJN.mjs.map → close-U5VC7ERP.mjs.map} +1 -1
  69. package/dist/lib/node-esm/index.mjs +8 -128
  70. package/dist/lib/node-esm/index.mjs.map +4 -4
  71. package/dist/lib/node-esm/meta.json +1 -1
  72. package/dist/lib/node-esm/{open-KRCARMEB.mjs → open-4B3P5XGS.mjs} +7 -10
  73. package/dist/lib/node-esm/open-4B3P5XGS.mjs.map +7 -0
  74. package/dist/lib/node-esm/operations/index.mjs +3 -3
  75. package/dist/lib/node-esm/operations/index.mjs.map +3 -3
  76. package/dist/lib/node-esm/{revert-workspace-A2K3JQFS.mjs → revert-workspace-QD63M2U7.mjs} +3 -3
  77. package/dist/lib/node-esm/{revert-workspace-A2K3JQFS.mjs.map → revert-workspace-QD63M2U7.mjs.map} +1 -1
  78. package/dist/lib/node-esm/{scroll-into-view-B2U4RQK7.mjs → scroll-into-view-G5M2EWK7.mjs} +3 -3
  79. package/dist/lib/node-esm/{scroll-into-view-B2U4RQK7.mjs.map → scroll-into-view-G5M2EWK7.mjs.map} +1 -1
  80. package/dist/lib/node-esm/{set-HCWNW76S.mjs → set-ERJCXZBY.mjs} +5 -5
  81. package/dist/lib/node-esm/{set-HCWNW76S.mjs.map → set-ERJCXZBY.mjs.map} +1 -1
  82. package/dist/lib/node-esm/{set-layout-mode-E27AI5KE.mjs → set-layout-mode-BOZD7744.mjs} +5 -10
  83. package/dist/lib/node-esm/set-layout-mode-BOZD7744.mjs.map +7 -0
  84. package/dist/lib/node-esm/{show-undo-YTZXH422.mjs → show-undo-H5BRBYDC.mjs} +3 -3
  85. package/dist/lib/node-esm/{show-undo-YTZXH422.mjs.map → show-undo-H5BRBYDC.mjs.map} +1 -1
  86. package/dist/lib/node-esm/{switch-workspace-AQCNGS4Y.mjs → switch-workspace-F54PXE5N.mjs} +4 -12
  87. package/dist/lib/node-esm/switch-workspace-F54PXE5N.mjs.map +7 -0
  88. package/dist/lib/node-esm/translations.mjs +58 -0
  89. package/dist/lib/node-esm/translations.mjs.map +7 -0
  90. package/dist/lib/node-esm/types/index.mjs +1 -1
  91. package/dist/lib/node-esm/{change-companion-V6343HMY.mjs → update-companion-47LMKL5R.mjs} +11 -13
  92. package/dist/lib/node-esm/update-companion-47LMKL5R.mjs.map +7 -0
  93. package/dist/lib/node-esm/{update-complementary-7HIRM7OT.mjs → update-complementary-7VYYG7L2.mjs} +3 -3
  94. package/dist/lib/node-esm/{update-complementary-7HIRM7OT.mjs.map → update-complementary-7VYYG7L2.mjs.map} +1 -1
  95. package/dist/lib/node-esm/{update-dialog-F3JF7MBZ.mjs → update-dialog-CABL7OWW.mjs} +3 -3
  96. package/dist/lib/node-esm/{update-dialog-F3JF7MBZ.mjs.map → update-dialog-CABL7OWW.mjs.map} +1 -1
  97. package/dist/lib/node-esm/{update-plank-size-IIZKU7YR.mjs → update-plank-size-WYTSMZF2.mjs} +5 -5
  98. package/dist/lib/node-esm/{update-plank-size-IIZKU7YR.mjs.map → update-plank-size-WYTSMZF2.mjs.map} +1 -1
  99. package/dist/lib/node-esm/{update-popover-RO5QEH4C.mjs → update-popover-YZDYGL7G.mjs} +3 -3
  100. package/dist/lib/node-esm/{update-popover-RO5QEH4C.mjs.map → update-popover-YZDYGL7G.mjs.map} +1 -1
  101. package/dist/lib/node-esm/{update-sidebar-2RX6VLEK.mjs → update-sidebar-HV736LUN.mjs} +3 -3
  102. package/dist/lib/node-esm/{update-sidebar-2RX6VLEK.mjs.map → update-sidebar-HV736LUN.mjs.map} +1 -1
  103. package/dist/types/src/DeckPlugin.d.ts +1 -0
  104. package/dist/types/src/DeckPlugin.d.ts.map +1 -1
  105. package/dist/types/src/DeckPlugin.node.d.ts +4 -0
  106. package/dist/types/src/DeckPlugin.node.d.ts.map +1 -0
  107. package/dist/types/src/DeckPlugin.test.d.ts +2 -0
  108. package/dist/types/src/DeckPlugin.test.d.ts.map +1 -0
  109. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  110. package/dist/types/src/capabilities/check-app-scheme.d.ts +1 -1
  111. package/dist/types/src/capabilities/check-app-scheme.d.ts.map +1 -1
  112. package/dist/types/src/capabilities/index.d.ts +18 -30
  113. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  114. package/dist/types/src/capabilities/operation-handler.d.ts +1 -1
  115. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -1
  116. package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
  117. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  118. package/dist/types/src/capabilities/settings.d.ts +2 -13
  119. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  120. package/dist/types/src/capabilities/state.d.ts +16 -16
  121. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  122. package/dist/types/src/capabilities/tools.d.ts.map +1 -1
  123. package/dist/types/src/capabilities/url-handler.d.ts +1 -1
  124. package/dist/types/src/capabilities/url-handler.d.ts.map +1 -1
  125. package/dist/types/src/components/DeckSettings/DeckSettings.d.ts.map +1 -1
  126. package/dist/types/src/components/DeckSettings/DeckSettings.stories.d.ts +42 -52
  127. package/dist/types/src/components/DeckSettings/DeckSettings.stories.d.ts.map +1 -1
  128. package/dist/types/src/components/Matrix/Matrix.d.ts +2 -2
  129. package/dist/types/src/components/Matrix/Matrix.d.ts.map +1 -1
  130. package/dist/types/src/components/Matrix/Matrix.stories.d.ts.map +1 -1
  131. package/dist/types/src/containers/Deck/Banner.d.ts +1 -1
  132. package/dist/types/src/containers/Deck/Banner.d.ts.map +1 -1
  133. package/dist/types/src/containers/Deck/Deck.d.ts.map +1 -1
  134. package/dist/types/src/containers/Deck/Deck.stories.d.ts +42 -52
  135. package/dist/types/src/containers/Deck/Deck.stories.d.ts.map +1 -1
  136. package/dist/types/src/containers/Deck/DeckContent.d.ts +4 -4
  137. package/dist/types/src/containers/Deck/DeckContent.d.ts.map +1 -1
  138. package/dist/types/src/containers/Deck/DeckRoot.d.ts +5 -8
  139. package/dist/types/src/containers/Deck/DeckRoot.d.ts.map +1 -1
  140. package/dist/types/src/containers/Deck/DeckViewport.d.ts +4 -7
  141. package/dist/types/src/containers/Deck/DeckViewport.d.ts.map +1 -1
  142. package/dist/types/src/containers/Deck/StatusBar.d.ts.map +1 -1
  143. package/dist/types/src/containers/DeckLayout/DeckLayout.d.ts.map +1 -1
  144. package/dist/types/src/containers/DeckLayout/DeckLayout.stories.d.ts +42 -52
  145. package/dist/types/src/containers/DeckLayout/DeckLayout.stories.d.ts.map +1 -1
  146. package/dist/types/src/containers/DeckLayout/Dialog.d.ts.map +1 -1
  147. package/dist/types/src/containers/DeckLayout/Popover.d.ts.map +1 -1
  148. package/dist/types/src/containers/DeckLayout/Toast.d.ts +1 -1
  149. package/dist/types/src/containers/DeckLayout/Toast.d.ts.map +1 -1
  150. package/dist/types/src/containers/DeckLayout/index.d.ts.map +1 -1
  151. package/dist/types/src/containers/Plank/Plank.d.ts +2 -2
  152. package/dist/types/src/containers/Plank/Plank.d.ts.map +1 -1
  153. package/dist/types/src/containers/Plank/Plank.stories.d.ts +42 -52
  154. package/dist/types/src/containers/Plank/Plank.stories.d.ts.map +1 -1
  155. package/dist/types/src/containers/Plank/PlankComponent.d.ts +2 -0
  156. package/dist/types/src/containers/Plank/PlankComponent.d.ts.map +1 -1
  157. package/dist/types/src/containers/Plank/PlankContent.d.ts +1 -1
  158. package/dist/types/src/containers/Plank/PlankControls.d.ts.map +1 -1
  159. package/dist/types/src/containers/Plank/PlankError.d.ts +1 -1
  160. package/dist/types/src/containers/Plank/PlankError.d.ts.map +1 -1
  161. package/dist/types/src/containers/Plank/PlankHeading.d.ts +2 -1
  162. package/dist/types/src/containers/Plank/PlankHeading.d.ts.map +1 -1
  163. package/dist/types/src/containers/Plank/PlankRoot.d.ts +2 -2
  164. package/dist/types/src/containers/Plank/PlankRoot.d.ts.map +1 -1
  165. package/dist/types/src/containers/Sidebar/ComplementarySidebar.d.ts.map +1 -1
  166. package/dist/types/src/containers/Sidebar/SidebarButton.d.ts +1 -1
  167. package/dist/types/src/containers/Sidebar/SidebarButton.d.ts.map +1 -1
  168. package/dist/types/src/hooks/useBreakpoints.d.ts +1 -1
  169. package/dist/types/src/hooks/useCompanions.d.ts.map +1 -1
  170. package/dist/types/src/hooks/useDeckCompanions.d.ts +2 -1
  171. package/dist/types/src/hooks/useDeckCompanions.d.ts.map +1 -1
  172. package/dist/types/src/hooks/useHoistStatusbar.d.ts.map +1 -1
  173. package/dist/types/src/hooks/useMainSize.d.ts.map +1 -1
  174. package/dist/types/src/hooks/useNodeActionExpander.d.ts.map +1 -1
  175. package/dist/types/src/hooks/useSelectedCompanion.d.ts.map +1 -1
  176. package/dist/types/src/index.d.ts +3 -2
  177. package/dist/types/src/index.d.ts.map +1 -1
  178. package/dist/types/src/layout.d.ts.map +1 -1
  179. package/dist/types/src/operations/add-toast.d.ts +1 -1
  180. package/dist/types/src/operations/add-toast.d.ts.map +1 -1
  181. package/dist/types/src/operations/adjust.d.ts +1 -1
  182. package/dist/types/src/operations/adjust.d.ts.map +1 -1
  183. package/dist/types/src/operations/close.d.ts +1 -1
  184. package/dist/types/src/operations/close.d.ts.map +1 -1
  185. package/dist/types/src/operations/definitions.d.ts +4 -7
  186. package/dist/types/src/operations/definitions.d.ts.map +1 -1
  187. package/dist/types/src/operations/helpers.d.ts.map +1 -1
  188. package/dist/types/src/operations/index.d.ts +1 -1
  189. package/dist/types/src/operations/index.d.ts.map +1 -1
  190. package/dist/types/src/operations/open.d.ts +1 -1
  191. package/dist/types/src/operations/open.d.ts.map +1 -1
  192. package/dist/types/src/operations/revert-workspace.d.ts +1 -1
  193. package/dist/types/src/operations/revert-workspace.d.ts.map +1 -1
  194. package/dist/types/src/operations/scroll-into-view.d.ts +1 -1
  195. package/dist/types/src/operations/scroll-into-view.d.ts.map +1 -1
  196. package/dist/types/src/operations/set-layout-mode.d.ts +1 -1
  197. package/dist/types/src/operations/set-layout-mode.d.ts.map +1 -1
  198. package/dist/types/src/operations/set.d.ts +1 -1
  199. package/dist/types/src/operations/set.d.ts.map +1 -1
  200. package/dist/types/src/operations/show-undo.d.ts +1 -1
  201. package/dist/types/src/operations/show-undo.d.ts.map +1 -1
  202. package/dist/types/src/operations/switch-workspace.d.ts +1 -1
  203. package/dist/types/src/operations/switch-workspace.d.ts.map +1 -1
  204. package/dist/types/src/operations/update-companion.d.ts +5 -0
  205. package/dist/types/src/operations/update-companion.d.ts.map +1 -0
  206. package/dist/types/src/operations/update-complementary.d.ts +1 -1
  207. package/dist/types/src/operations/update-complementary.d.ts.map +1 -1
  208. package/dist/types/src/operations/update-dialog.d.ts +1 -1
  209. package/dist/types/src/operations/update-dialog.d.ts.map +1 -1
  210. package/dist/types/src/operations/update-plank-size.d.ts +1 -1
  211. package/dist/types/src/operations/update-plank-size.d.ts.map +1 -1
  212. package/dist/types/src/operations/update-popover.d.ts +1 -1
  213. package/dist/types/src/operations/update-popover.d.ts.map +1 -1
  214. package/dist/types/src/operations/update-sidebar.d.ts +1 -1
  215. package/dist/types/src/operations/update-sidebar.d.ts.map +1 -1
  216. package/dist/types/src/translations.d.ts +42 -53
  217. package/dist/types/src/translations.d.ts.map +1 -1
  218. package/dist/types/src/types/Settings.d.ts +7 -6
  219. package/dist/types/src/types/Settings.d.ts.map +1 -1
  220. package/dist/types/src/types/capabilities.d.ts +18 -29
  221. package/dist/types/src/types/capabilities.d.ts.map +1 -1
  222. package/dist/types/src/types/events.d.ts.map +1 -1
  223. package/dist/types/src/types/schema.d.ts +0 -10
  224. package/dist/types/src/types/schema.d.ts.map +1 -1
  225. package/dist/types/src/util/layoutAppliesTopbar.d.ts.map +1 -1
  226. package/dist/types/src/util/plank-url-params.d.ts.map +1 -1
  227. package/dist/types/src/util/sanitize-persisted-state.d.ts.map +1 -1
  228. package/dist/types/src/util/set-active.d.ts.map +1 -1
  229. package/dist/types/tsconfig.tsbuildinfo +1 -1
  230. package/package.json +56 -55
  231. package/src/DeckPlugin.node.ts +17 -0
  232. package/src/DeckPlugin.test.ts +27 -0
  233. package/src/DeckPlugin.ts +6 -5
  234. package/src/capabilities/app-graph-builder.ts +2 -2
  235. package/src/capabilities/index.ts +1 -1
  236. package/src/capabilities/operation-handler.ts +1 -1
  237. package/src/capabilities/react-surface.tsx +1 -2
  238. package/src/capabilities/settings.ts +1 -1
  239. package/src/capabilities/tools.ts +3 -3
  240. package/src/capabilities/url-handler.ts +6 -1
  241. package/src/components/DeckSettings/DeckSettings.stories.tsx +2 -1
  242. package/src/components/DeckSettings/DeckSettings.tsx +8 -47
  243. package/src/components/Matrix/Matrix.stories.tsx +16 -12
  244. package/src/containers/Deck/Deck.stories.tsx +1 -1
  245. package/src/containers/Deck/DeckViewport.tsx +10 -10
  246. package/src/containers/DeckLayout/ActiveNode.tsx +2 -2
  247. package/src/containers/DeckLayout/DeckLayout.stories.tsx +17 -13
  248. package/src/containers/DeckLayout/Dialog.tsx +8 -2
  249. package/src/containers/DeckLayout/Popover.tsx +6 -4
  250. package/src/containers/Plank/Plank.stories.tsx +9 -7
  251. package/src/containers/Plank/PlankComponent.tsx +58 -21
  252. package/src/containers/Plank/PlankControls.tsx +2 -2
  253. package/src/containers/Plank/PlankError.tsx +1 -1
  254. package/src/containers/Plank/PlankHeading.tsx +16 -6
  255. package/src/containers/Plank/PlankRoot.tsx +2 -2
  256. package/src/containers/Sidebar/ComplementarySidebar.tsx +2 -1
  257. package/src/containers/Sidebar/Sidebar.tsx +2 -2
  258. package/src/containers/Sidebar/SidebarButton.tsx +7 -1
  259. package/src/hooks/useDeckCompanions.ts +2 -1
  260. package/src/index.ts +10 -2
  261. package/src/operations/add-toast.ts +1 -1
  262. package/src/operations/adjust.ts +3 -3
  263. package/src/operations/close.ts +1 -1
  264. package/src/operations/definitions.ts +5 -17
  265. package/src/operations/index.ts +2 -2
  266. package/src/operations/open.ts +1 -1
  267. package/src/operations/revert-workspace.ts +1 -1
  268. package/src/operations/scroll-into-view.ts +1 -1
  269. package/src/operations/set-layout-mode.ts +1 -1
  270. package/src/operations/set.ts +1 -1
  271. package/src/operations/show-undo.ts +1 -1
  272. package/src/operations/switch-workspace.ts +1 -1
  273. package/src/operations/{change-companion.ts → update-companion.ts} +5 -5
  274. package/src/operations/update-complementary.ts +1 -1
  275. package/src/operations/update-dialog.ts +1 -1
  276. package/src/operations/update-plank-size.ts +1 -1
  277. package/src/operations/update-popover.ts +1 -1
  278. package/src/operations/update-sidebar.ts +1 -1
  279. package/src/translations.ts +2 -12
  280. package/src/types/Settings.ts +31 -6
  281. package/src/types/schema.ts +0 -7
  282. package/dist/lib/browser/adjust-OXVHZTBE.mjs.map +0 -7
  283. package/dist/lib/browser/change-companion-Z3Q2UPX4.mjs.map +0 -7
  284. package/dist/lib/browser/chunk-2YNVGCOQ.mjs.map +0 -7
  285. package/dist/lib/browser/open-J5HV42UN.mjs.map +0 -7
  286. package/dist/lib/browser/set-layout-mode-DRNBZHE7.mjs.map +0 -7
  287. package/dist/lib/browser/switch-workspace-U7SPENHU.mjs.map +0 -7
  288. package/dist/lib/node-esm/adjust-G6FGZW6H.mjs.map +0 -7
  289. package/dist/lib/node-esm/change-companion-V6343HMY.mjs.map +0 -7
  290. package/dist/lib/node-esm/chunk-GI5JXNBT.mjs.map +0 -7
  291. package/dist/lib/node-esm/open-KRCARMEB.mjs.map +0 -7
  292. package/dist/lib/node-esm/set-layout-mode-E27AI5KE.mjs.map +0 -7
  293. package/dist/lib/node-esm/switch-workspace-AQCNGS4Y.mjs.map +0 -7
  294. package/dist/types/src/operations/change-companion.d.ts +0 -5
  295. package/dist/types/src/operations/change-companion.d.ts.map +0 -1
  296. /package/dist/lib/browser/{chunk-BRZAVPMC.mjs.map → chunk-LSZ47AY3.mjs.map} +0 -0
  297. /package/dist/lib/node-esm/{chunk-MB4SDDVY.mjs.map → chunk-KY7ZCANM.mjs.map} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-deck",
3
- "version": "0.8.4-main.9be5663bfe",
3
+ "version": "0.8.4-main.abd8ff62ef",
4
4
  "description": "DXOS Surface plugin for the main application layout.",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -13,12 +13,18 @@
13
13
  "sideEffects": true,
14
14
  "type": "module",
15
15
  "imports": {
16
+ "#plugin": {
17
+ "browser": "./src/DeckPlugin.ts",
18
+ "node": "./src/DeckPlugin.node.ts",
19
+ "default": "./src/DeckPlugin.ts"
20
+ },
16
21
  "#capabilities": "./src/capabilities/index.ts",
17
22
  "#components": "./src/components/index.ts",
18
23
  "#containers": "./src/containers/index.ts",
19
24
  "#hooks": "./src/hooks/index.ts",
20
25
  "#meta": "./src/meta.ts",
21
26
  "#operations": "./src/operations/index.ts",
27
+ "#translations": "./src/translations.ts",
22
28
  "#types": "./src/types/index.ts"
23
29
  },
24
30
  "exports": {
@@ -33,6 +39,12 @@
33
39
  "browser": "./dist/lib/browser/operations/index.mjs",
34
40
  "node": "./dist/lib/node-esm/operations/index.mjs"
35
41
  },
42
+ "./translations": {
43
+ "source": "./src/translations.ts",
44
+ "types": "./dist/types/src/translations.d.ts",
45
+ "browser": "./dist/lib/browser/translations.mjs",
46
+ "node": "./dist/lib/node-esm/translations.mjs"
47
+ },
36
48
  "./types": {
37
49
  "source": "./src/types/index.ts",
38
50
  "types": "./dist/types/src/types/index.d.ts",
@@ -41,16 +53,6 @@
41
53
  }
42
54
  },
43
55
  "types": "dist/types/src/index.d.ts",
44
- "typesVersions": {
45
- "*": {
46
- "operations": [
47
- "dist/types/src/operations/index.d.ts"
48
- ],
49
- "types": [
50
- "dist/types/src/types/index.d.ts"
51
- ]
52
- }
53
- },
54
56
  "files": [
55
57
  "dist",
56
58
  "src"
@@ -64,38 +66,37 @@
64
66
  "@radix-ui/react-context": "1.1.1",
65
67
  "@tauri-apps/plugin-deep-link": "^2.2.0",
66
68
  "immer": "^10.1.1",
67
- "@dxos/ai": "0.8.4-main.9be5663bfe",
68
- "@dxos/app-framework": "0.8.4-main.9be5663bfe",
69
- "@dxos/app-toolkit": "0.8.4-main.9be5663bfe",
70
- "@dxos/app-graph": "0.8.4-main.9be5663bfe",
71
- "@dxos/async": "0.8.4-main.9be5663bfe",
72
- "@dxos/assistant": "0.8.4-main.9be5663bfe",
73
- "@dxos/blueprints": "0.8.4-main.9be5663bfe",
74
- "@dxos/context": "0.8.4-main.9be5663bfe",
75
- "@dxos/debug": "0.8.4-main.9be5663bfe",
76
- "@dxos/effect": "0.8.4-main.9be5663bfe",
77
- "@dxos/errors": "0.8.4-main.9be5663bfe",
78
- "@dxos/echo": "0.8.4-main.9be5663bfe",
79
- "@dxos/invariant": "0.8.4-main.9be5663bfe",
80
- "@dxos/keyboard": "0.8.4-main.9be5663bfe",
81
- "@dxos/operation": "0.8.4-main.9be5663bfe",
82
- "@dxos/log": "0.8.4-main.9be5663bfe",
83
- "@dxos/plugin-client": "0.8.4-main.9be5663bfe",
84
- "@dxos/plugin-graph": "0.8.4-main.9be5663bfe",
85
- "@dxos/plugin-observability": "0.8.4-main.9be5663bfe",
86
- "@dxos/plugin-theme": "0.8.4-main.9be5663bfe",
87
- "@dxos/react-error-boundary": "0.8.4-main.9be5663bfe",
88
- "@dxos/react-client": "0.8.4-main.9be5663bfe",
89
- "@dxos/react-ui-attention": "0.8.4-main.9be5663bfe",
90
- "@dxos/plugin-attention": "0.8.4-main.9be5663bfe",
91
- "@dxos/react-ui-form": "0.8.4-main.9be5663bfe",
92
- "@dxos/react-ui-mosaic": "0.8.4-main.9be5663bfe",
93
- "@dxos/react-ui-menu": "0.8.4-main.9be5663bfe",
94
- "@dxos/react-ui-tabs": "0.8.4-main.9be5663bfe",
95
- "@dxos/react-ui-stack": "0.8.4-main.9be5663bfe",
96
- "@dxos/util": "0.8.4-main.9be5663bfe",
97
- "@dxos/react-ui-text-tooltip": "0.8.4-main.9be5663bfe",
98
- "@dxos/ui-types": "0.8.4-main.9be5663bfe"
69
+ "@dxos/ai": "0.8.4-main.abd8ff62ef",
70
+ "@dxos/app-framework": "0.8.4-main.abd8ff62ef",
71
+ "@dxos/app-graph": "0.8.4-main.abd8ff62ef",
72
+ "@dxos/async": "0.8.4-main.abd8ff62ef",
73
+ "@dxos/app-toolkit": "0.8.4-main.abd8ff62ef",
74
+ "@dxos/compute": "0.8.4-main.abd8ff62ef",
75
+ "@dxos/assistant": "0.8.4-main.abd8ff62ef",
76
+ "@dxos/context": "0.8.4-main.abd8ff62ef",
77
+ "@dxos/echo": "0.8.4-main.abd8ff62ef",
78
+ "@dxos/debug": "0.8.4-main.abd8ff62ef",
79
+ "@dxos/effect": "0.8.4-main.abd8ff62ef",
80
+ "@dxos/errors": "0.8.4-main.abd8ff62ef",
81
+ "@dxos/invariant": "0.8.4-main.abd8ff62ef",
82
+ "@dxos/keyboard": "0.8.4-main.abd8ff62ef",
83
+ "@dxos/log": "0.8.4-main.abd8ff62ef",
84
+ "@dxos/plugin-client": "0.8.4-main.abd8ff62ef",
85
+ "@dxos/plugin-attention": "0.8.4-main.abd8ff62ef",
86
+ "@dxos/plugin-observability": "0.8.4-main.abd8ff62ef",
87
+ "@dxos/plugin-graph": "0.8.4-main.abd8ff62ef",
88
+ "@dxos/react-client": "0.8.4-main.abd8ff62ef",
89
+ "@dxos/react-error-boundary": "0.8.4-main.abd8ff62ef",
90
+ "@dxos/plugin-theme": "0.8.4-main.abd8ff62ef",
91
+ "@dxos/react-ui-attention": "0.8.4-main.abd8ff62ef",
92
+ "@dxos/react-ui-form": "0.8.4-main.abd8ff62ef",
93
+ "@dxos/react-ui-menu": "0.8.4-main.abd8ff62ef",
94
+ "@dxos/react-ui-mosaic": "0.8.4-main.abd8ff62ef",
95
+ "@dxos/react-ui-stack": "0.8.4-main.abd8ff62ef",
96
+ "@dxos/react-ui-text-tooltip": "0.8.4-main.abd8ff62ef",
97
+ "@dxos/ui-types": "0.8.4-main.abd8ff62ef",
98
+ "@dxos/util": "0.8.4-main.abd8ff62ef",
99
+ "@dxos/react-ui-tabs": "0.8.4-main.abd8ff62ef"
99
100
  },
100
101
  "devDependencies": {
101
102
  "@effect-atom/atom-react": "^0.5.0",
@@ -105,16 +106,16 @@
105
106
  "effect": "3.20.0",
106
107
  "react": "~19.2.3",
107
108
  "react-dom": "~19.2.3",
108
- "vite": "^7.1.11",
109
- "@dxos/plugin-testing": "0.8.4-main.9be5663bfe",
110
- "@dxos/random": "0.8.4-main.9be5663bfe",
111
- "@dxos/react-hooks": "0.8.4-main.9be5663bfe",
112
- "@dxos/react-ui": "0.8.4-main.9be5663bfe",
113
- "@dxos/react-ui-syntax-highlighter": "0.8.4-main.9be5663bfe",
114
- "@dxos/schema": "0.8.4-main.9be5663bfe",
115
- "@dxos/storybook-utils": "0.8.4-main.9be5663bfe",
116
- "@dxos/ui-theme": "0.8.4-main.9be5663bfe",
117
- "@dxos/types": "0.8.4-main.9be5663bfe"
109
+ "vite": "^8.0.10",
110
+ "@dxos/plugin-testing": "0.8.4-main.abd8ff62ef",
111
+ "@dxos/random": "0.8.4-main.abd8ff62ef",
112
+ "@dxos/react-ui-syntax-highlighter": "0.8.4-main.abd8ff62ef",
113
+ "@dxos/react-hooks": "0.8.4-main.abd8ff62ef",
114
+ "@dxos/react-ui": "0.8.4-main.abd8ff62ef",
115
+ "@dxos/schema": "0.8.4-main.abd8ff62ef",
116
+ "@dxos/storybook-utils": "0.8.4-main.abd8ff62ef",
117
+ "@dxos/ui-theme": "0.8.4-main.abd8ff62ef",
118
+ "@dxos/types": "0.8.4-main.abd8ff62ef"
118
119
  },
119
120
  "peerDependencies": {
120
121
  "@effect-atom/atom-react": "^0.5.0",
@@ -122,8 +123,8 @@
122
123
  "effect": "3.20.0",
123
124
  "react": "~19.2.3",
124
125
  "react-dom": "~19.2.3",
125
- "@dxos/ui-theme": "0.8.4-main.9be5663bfe",
126
- "@dxos/react-ui": "0.8.4-main.9be5663bfe"
126
+ "@dxos/react-ui": "0.8.4-main.abd8ff62ef",
127
+ "@dxos/ui-theme": "0.8.4-main.abd8ff62ef"
127
128
  },
128
129
  "publishConfig": {
129
130
  "access": "public"
@@ -0,0 +1,17 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { Plugin } from '@dxos/app-framework';
6
+ import { AppPlugin } from '@dxos/app-toolkit';
7
+
8
+ import { AppGraphBuilder, OperationHandler } from '#capabilities';
9
+ import { meta } from '#meta';
10
+
11
+ export const DeckPlugin = Plugin.define(meta).pipe(
12
+ AppPlugin.addAppGraphModule({ activate: AppGraphBuilder }),
13
+ AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),
14
+ Plugin.make,
15
+ );
16
+
17
+ export default DeckPlugin;
@@ -0,0 +1,27 @@
1
+ //
2
+ // Copyright 2026 DXOS.org
3
+ //
4
+
5
+ import { describe, test } from 'vitest';
6
+
7
+ import { ActivationEvents } from '@dxos/app-framework';
8
+ import { createComposerTestApp } from '@dxos/plugin-testing/harness';
9
+
10
+ import { DeckPlugin } from '#plugin';
11
+
12
+ import { meta } from './meta';
13
+
14
+ const moduleId = (name: string) => `${meta.id}.module.${name}`;
15
+
16
+ describe('DeckPlugin', () => {
17
+ test('modules activate on the expected events', async ({ expect }) => {
18
+ await using harness = await createComposerTestApp({
19
+ plugins: [DeckPlugin()],
20
+ });
21
+
22
+ expect(harness.manager.getActive()).toContain(moduleId('AppGraphBuilder'));
23
+
24
+ await harness.fire(ActivationEvents.SetupOperationHandler);
25
+ expect(harness.manager.getActive()).toContain(moduleId('OperationHandler'));
26
+ });
27
+ });
package/src/DeckPlugin.ts CHANGED
@@ -6,7 +6,7 @@ import { setAutoFreeze } from 'immer';
6
6
 
7
7
  import { ActivationEvent, ActivationEvents, Plugin } from '@dxos/app-framework';
8
8
  import { AppActivationEvents, AppPlugin } from '@dxos/app-toolkit';
9
- import { translations as stackTranslations } from '@dxos/react-ui-stack';
9
+ import { translations as stackTranslations } from '@dxos/react-ui-stack/translations';
10
10
 
11
11
  import {
12
12
  AppGraphBuilder,
@@ -19,10 +19,9 @@ import {
19
19
  UrlHandler,
20
20
  } from '#capabilities';
21
21
  import { meta } from '#meta';
22
+ import { translations } from '#translations';
22
23
  import { DeckEvents } from '#types';
23
24
 
24
- import { translations } from './translations';
25
-
26
25
  // NOTE(Zan): When producing values with immer, we shouldn't auto-freeze them because
27
26
  // our signal implementation needs to add some hidden properties to the produced values.
28
27
  // TODO(Zan): Move this to a more global location if we use immer more broadly.
@@ -35,7 +34,7 @@ export const DeckPlugin = Plugin.define(meta).pipe(
35
34
  AppPlugin.addTranslationsModule({ translations: [...translations, ...stackTranslations] }),
36
35
  Plugin.addModule({
37
36
  activatesOn: AppActivationEvents.SetupSettings,
38
- activatesAfter: [DeckEvents.SettingsReady],
37
+ firesAfterActivation: [DeckEvents.SettingsReady],
39
38
  activate: DeckSettings,
40
39
  }),
41
40
  Plugin.addModule({
@@ -47,7 +46,7 @@ export const DeckPlugin = Plugin.define(meta).pipe(
47
46
  // Should this be a different event?
48
47
  // Should settings store be renamed to be more generic?
49
48
  activatesOn: ActivationEvent.oneOf(AppActivationEvents.SetupSettings, AppActivationEvents.SetupAppGraph),
50
- activatesAfter: [AppActivationEvents.LayoutReady, DeckEvents.StateReady],
49
+ firesAfterActivation: [AppActivationEvents.LayoutReady, DeckEvents.StateReady],
51
50
  activate: DeckState,
52
51
  }),
53
52
  Plugin.addModule({
@@ -64,3 +63,5 @@ export const DeckPlugin = Plugin.define(meta).pipe(
64
63
  }),
65
64
  Plugin.make,
66
65
  );
66
+
67
+ export default DeckPlugin;
@@ -6,7 +6,7 @@ import * as Effect from 'effect/Effect';
6
6
 
7
7
  import { Capabilities, Capability } from '@dxos/app-framework';
8
8
  import { AppCapabilities, AppNode, LayoutOperation } from '@dxos/app-toolkit';
9
- import { Operation } from '@dxos/operation';
9
+ import { Operation } from '@dxos/compute';
10
10
  import { AttentionCapabilities } from '@dxos/plugin-attention/types';
11
11
  import { GraphBuilder, NodeMatcher } from '@dxos/plugin-graph';
12
12
 
@@ -112,7 +112,7 @@ export default Capability.makeModule(
112
112
  macos: "meta+'",
113
113
  },
114
114
  disposition: 'pin-end',
115
- position: 'hoist',
115
+ position: 'fallback',
116
116
  l0Breakpoint: 'lg',
117
117
  },
118
118
  };
@@ -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 CheckAppScheme = Capability.lazy('CheckAppScheme', () => import('./check-app-scheme'));
@@ -5,7 +5,7 @@
5
5
  import * as Effect from 'effect/Effect';
6
6
 
7
7
  import { Capabilities, Capability } from '@dxos/app-framework';
8
- import type { OperationHandlerSet } from '@dxos/operation';
8
+ import type { OperationHandlerSet } from '@dxos/compute';
9
9
 
10
10
  import { DeckOperationHandlerSet } from '#operations';
11
11
 
@@ -19,8 +19,7 @@ export default Capability.makeModule(() =>
19
19
  Capability.contributes(Capabilities.ReactSurface, [
20
20
  Surface.create({
21
21
  id: 'plugin-settings',
22
- role: 'article',
23
- filter: AppSurface.settingsArticle(meta.id),
22
+ filter: AppSurface.settings(AppSurface.Article, meta.id),
24
23
  component: ({ data: { subject } }) => {
25
24
  const { settings, updateSettings } = useSettingsState<Settings.Settings>(subject.atom);
26
25
  return <DeckSettings settings={settings} onSettingsChange={updateSettings} />;
@@ -20,7 +20,7 @@ export default Capability.makeModule(() =>
20
20
  showHints: false,
21
21
  enableDeck: false,
22
22
  enableStatusbar: false,
23
- enableNativeRedirect: !import.meta.env.DEV,
23
+ enableNativeRedirect: false,
24
24
  encapsulatedPlanks: false,
25
25
  }),
26
26
  });
@@ -16,11 +16,11 @@ import {
16
16
  createIntent,
17
17
  } from '@dxos/app-framework';
18
18
  import { type OperationInvoker } from '@dxos/app-framework/plugin-operation/invoker';
19
+ import { LayoutOperation } from '@dxos/app-toolkit';
19
20
  import { invariant } from '@dxos/invariant';
20
21
  import { trim } from '@dxos/util';
21
22
 
22
23
  import { meta } from '#meta';
23
- import { DeckOperation } from '#operations';
24
24
 
25
25
  // TODO(burdon): Factor out.
26
26
  declare global {
@@ -59,8 +59,8 @@ export default Capability.makeModule(() =>
59
59
  invariant(invokePromise, 'No operation invoker');
60
60
 
61
61
  if (part === 'multi') {
62
- const { error } = await invokePromise(DeckOperation.ChangeCompanion, {
63
- companion: id,
62
+ const { error } = await invokePromise(LayoutOperation.UpdateCompanion, {
63
+ subject: id,
64
64
  });
65
65
  if (error) {
66
66
  return ToolResult.Error(error.message);
@@ -9,14 +9,15 @@ import {
9
9
  AppCapabilities,
10
10
  LayoutOperation,
11
11
  NOT_FOUND_PATH,
12
+ expandPath,
12
13
  fromUrlPath,
13
14
  getWorkspaceFromPath,
14
15
  toUrlPath,
15
16
  } from '@dxos/app-toolkit';
17
+ import { Operation } from '@dxos/compute';
16
18
  import { runAndForwardErrors } from '@dxos/effect';
17
19
  import { invariant } from '@dxos/invariant';
18
20
  import { log } from '@dxos/log';
19
- import { Operation } from '@dxos/operation';
20
21
  import { Node } from '@dxos/plugin-graph';
21
22
  import { isTauri } from '@dxos/util';
22
23
 
@@ -66,6 +67,7 @@ export default Capability.makeModule(
66
67
  };
67
68
 
68
69
  const handleNavigation = Effect.fn(function* (url?: URL) {
70
+ const { graph } = yield* Capability.get(AppCapabilities.AppGraph);
69
71
  const resolvedUrl = url ?? new URL(window.location.href);
70
72
  // When native redirect is active, check-app-scheme owns the initial dispatch
71
73
  // to prevent one-time tokens from being consumed before the native app can use them.
@@ -119,6 +121,9 @@ export default Capability.makeModule(
119
121
  // Multi-mode: restore planks from query params.
120
122
  const plankIds = deserializePlanks(resolvedUrl);
121
123
  if (plankIds.length > 0) {
124
+ for (const plankId of plankIds) {
125
+ expandPath(graph, plankId);
126
+ }
122
127
  updateState((state) => updateActiveDeck(state, { active: plankIds, initialized: true }));
123
128
  }
124
129
  }
@@ -6,7 +6,8 @@ import { type Meta, type StoryObj } from '@storybook/react-vite';
6
6
 
7
7
  import { withLayout, withTheme } from '@dxos/react-ui/testing';
8
8
 
9
- import { translations } from '../../translations';
9
+ import { translations } from '#translations';
10
+
10
11
  import { DeckSettings } from './DeckSettings';
11
12
 
12
13
  const meta = {
@@ -5,7 +5,7 @@
5
5
  import React from 'react';
6
6
 
7
7
  import { type AppSurface } from '@dxos/app-toolkit/ui';
8
- import { Input, useTranslation } from '@dxos/react-ui';
8
+ import { useTranslation } from '@dxos/react-ui';
9
9
  import { Settings as SettingsForm } from '@dxos/react-ui-form';
10
10
 
11
11
  import { meta } from '#meta';
@@ -21,52 +21,13 @@ export const DeckSettings = ({ settings, onSettingsChange }: DeckSettingsProps)
21
21
  return (
22
22
  <SettingsForm.Viewport>
23
23
  <SettingsForm.Section title={t('settings.title', { ns: meta.id })}>
24
- <SettingsForm.Item title={t('settings.enable-deck.label')} description={t('settings.enable-deck.description')}>
25
- <Input.Switch
26
- disabled={!onSettingsChange}
27
- checked={settings.enableDeck}
28
- onCheckedChange={(checked) => onSettingsChange?.((s) => ({ ...s, enableDeck: checked }))}
29
- />
30
- </SettingsForm.Item>
31
- <SettingsForm.Item
32
- title={t('settings.encapsulated-planks.label')}
33
- description={t('settings.encapsulated-planks.description')}
34
- >
35
- <Input.Switch
36
- disabled={!onSettingsChange}
37
- checked={settings.encapsulatedPlanks ?? false}
38
- onCheckedChange={(checked) => onSettingsChange?.((s) => ({ ...s, encapsulatedPlanks: checked }))}
39
- />
40
- </SettingsForm.Item>
41
- <SettingsForm.Item
42
- title={t('settings.enable-statusbar.label')}
43
- description={t('settings.enable-statusbar.description')}
44
- >
45
- <Input.Switch
46
- disabled={!onSettingsChange}
47
- checked={settings.enableStatusbar}
48
- onCheckedChange={(checked) => onSettingsChange?.((s) => ({ ...s, enableStatusbar: checked }))}
49
- />
50
- </SettingsForm.Item>
51
- <SettingsForm.Item title={t('settings.show-hints.label')} description={t('settings.show-hints.description')}>
52
- <Input.Switch
53
- disabled={!onSettingsChange}
54
- checked={settings.showHints}
55
- onCheckedChange={(checked) => onSettingsChange?.((s) => ({ ...s, showHints: checked }))}
56
- />
57
- </SettingsForm.Item>
58
- {!isSocket && (
59
- <SettingsForm.Item
60
- title={t('settings.native-redirect.label')}
61
- description={t('settings.native-redirect.description')}
62
- >
63
- <Input.Switch
64
- disabled={!onSettingsChange}
65
- checked={settings.enableNativeRedirect}
66
- onCheckedChange={(checked) => onSettingsChange?.((s) => ({ ...s, enableNativeRedirect: checked }))}
67
- />
68
- </SettingsForm.Item>
69
- )}
24
+ <SettingsForm.FieldSet
25
+ readonly={!onSettingsChange}
26
+ schema={Settings.Settings}
27
+ visible={(path) => path !== 'enableNativeRedirect' || !isSocket}
28
+ values={settings}
29
+ onValuesChanged={(values) => onSettingsChange?.(() => values)}
30
+ />
70
31
  </SettingsForm.Section>
71
32
  </SettingsForm.Viewport>
72
33
  );
@@ -18,16 +18,16 @@ import { useAttentionAttributes } from '@dxos/react-ui-attention';
18
18
  import { withAttention } from '@dxos/react-ui-attention/testing';
19
19
  import { type MosaicTileProps, Mosaic } from '@dxos/react-ui-mosaic';
20
20
  import { StackContext } from '@dxos/react-ui-stack';
21
- import { Json } from '@dxos/react-ui-syntax-highlighter';
21
+ import { Syntax } from '@dxos/react-ui-syntax-highlighter';
22
22
  import { Loading, withLayout, withTheme } from '@dxos/react-ui/testing';
23
23
  import { Text } from '@dxos/schema';
24
24
  import { Organization, Person } from '@dxos/types';
25
25
 
26
26
  import { DeckState, OperationHandler } from '#capabilities';
27
27
  import { meta as pluginMeta } from '#meta';
28
+ import { translations } from '#translations';
28
29
 
29
30
  import { Plank } from '../../containers/Plank';
30
- import { translations } from '../../translations';
31
31
  import { Matrix, type MatrixController, type MatrixRootProps } from './Matrix';
32
32
 
33
33
  random.seed(123);
@@ -58,13 +58,15 @@ const StoryTile = (props: MosaicTileProps<Obj.Any>) => {
58
58
  <p>{Obj.getLabel(props.data)}</p>
59
59
  </Toolbar.Root>
60
60
  </Panel.Toolbar>
61
- <Json.Root data={props.data}>
61
+ <Syntax.Root data={props.data}>
62
62
  <Panel.Content asChild>
63
- <Json.Content>
64
- <Json.Data />
65
- </Json.Content>
63
+ <Syntax.Content>
64
+ <Syntax.Viewport>
65
+ <Syntax.Code />
66
+ </Syntax.Viewport>
67
+ </Syntax.Content>
66
68
  </Panel.Content>
67
- </Json.Root>
69
+ </Syntax.Root>
68
70
  </Panel.Root>
69
71
  </Focus.Item>
70
72
  </Mosaic.Tile>
@@ -109,11 +111,13 @@ const TestExtension = Capability.contributes(
109
111
  }
110
112
 
111
113
  return (
112
- <Json.Root data={subject}>
113
- <Json.Content>
114
- <Json.Data />
115
- </Json.Content>
116
- </Json.Root>
114
+ <Syntax.Root data={subject}>
115
+ <Syntax.Content>
116
+ <Syntax.Viewport>
117
+ <Syntax.Code />
118
+ </Syntax.Viewport>
119
+ </Syntax.Content>
120
+ </Syntax.Root>
117
121
  );
118
122
  },
119
123
  }),
@@ -14,9 +14,9 @@ import { corePlugins } from '@dxos/plugin-testing';
14
14
  import { DeckSettings, DeckState } from '#capabilities';
15
15
  import { useDeckState } from '#hooks';
16
16
  import { meta as pluginMeta } from '#meta';
17
+ import { translations } from '#translations';
17
18
  import { DeckCapabilities, getMode } from '#types';
18
19
 
19
- import { translations } from '../../translations';
20
20
  import { Deck } from './Deck';
21
21
 
22
22
  const TestPlugin = Plugin.define(pluginMeta).pipe(
@@ -31,8 +31,8 @@ import { getMode } from '#types';
31
31
  import { layoutAppliesTopbar } from '../../util';
32
32
  import { Plank, PlankRootProps, type PlankComponentProps } from '../Plank';
33
33
  import {
34
- ToggleComplementarySidebarButton as NativeToggleComplementarySidebarButton,
35
- ToggleSidebarButton as NativeToggleSidebarButton,
34
+ ToggleComplementarySidebarButton as NaturalToggleComplementarySidebarButton,
35
+ ToggleSidebarButton as NaturalToggleSidebarButton,
36
36
  } from '../Sidebar';
37
37
  import { useDeckContext } from './DeckRoot';
38
38
 
@@ -49,7 +49,7 @@ export type DeckViewportProps = PropsWithChildren;
49
49
  */
50
50
  export const DeckViewport = ({ children }: DeckViewportProps) => {
51
51
  const {
52
- deck: { active, solo, plankSizing },
52
+ deck: { active, plankSizing },
53
53
  state: { sidebarState, complementarySidebarState },
54
54
  settings,
55
55
  layoutMode,
@@ -272,9 +272,9 @@ export const DeckMultiMode = () => {
272
272
 
273
273
  const sidebarToggleStyles = 'h-(--dx-rail-item) w-(--dx-rail-item) absolute bottom-2 z-[1] bg-deck-surface! lg:hidden';
274
274
 
275
- const ToggleSidebarButton = () => <NativeToggleSidebarButton classNames={mx(sidebarToggleStyles, 'left-2')} />;
275
+ const ToggleSidebarButton = () => <NaturalToggleSidebarButton classNames={mx(sidebarToggleStyles, 'left-2')} />;
276
276
  const ToggleComplementarySidebarButton = () => (
277
- <NativeToggleComplementarySidebarButton classNames={mx(sidebarToggleStyles, 'right-2')} />
277
+ <NaturalToggleComplementarySidebarButton classNames={mx(sidebarToggleStyles, 'right-2')} />
278
278
  );
279
279
 
280
280
  const ExitFullscreenButton = ({ onExit }: { onExit: () => void }) => {
@@ -393,8 +393,8 @@ const PlankContainer = memo(
393
393
  [invokePromise],
394
394
  );
395
395
 
396
- const handleChangeCompanion = useCallback(
397
- (companion: string | null) => invokePromise(DeckOperation.ChangeCompanion, { companion }),
396
+ const handleUpdateCompanion = useCallback(
397
+ (companion: string | null) => invokePromise(LayoutOperation.UpdateCompanion, { subject: companion }),
398
398
  [invokePromise],
399
399
  );
400
400
 
@@ -410,7 +410,7 @@ const PlankContainer = memo(
410
410
  onAdjust={handleAdjust}
411
411
  onResize={handleResize}
412
412
  onScrollIntoView={handleScrollIntoView}
413
- onChangeCompanion={handleChangeCompanion}
413
+ onUpdateCompanion={handleUpdateCompanion}
414
414
  >
415
415
  <Plank.Content solo={part === 'solo'} companion={hasCompanion} encapsulate={!!settings?.encapsulatedPlanks}>
416
416
  <Plank.Component
@@ -440,12 +440,12 @@ const PlankContainer = memo(
440
440
  primary={node}
441
441
  {...(part === 'solo'
442
442
  ? {
443
- part: 'solo-companion',
444
443
  order,
444
+ part: 'solo-companion',
445
445
  }
446
446
  : {
447
- part,
448
447
  order: (order ?? 0) + 1,
448
+ part,
449
449
  })}
450
450
  />
451
451
  )}
@@ -5,7 +5,7 @@
5
5
  import React from 'react';
6
6
 
7
7
  import { Surface } from '@dxos/app-framework/ui';
8
- import { type AppSurface, useAppGraph } from '@dxos/app-toolkit/ui';
8
+ import { AppSurface, useAppGraph } from '@dxos/app-toolkit/ui';
9
9
  import { useNode } from '@dxos/plugin-graph';
10
10
  import { useAttended } from '@dxos/react-ui-attention';
11
11
 
@@ -23,7 +23,7 @@ export const ActiveNode = () => {
23
23
  {/* TODO(wittjosiah): Weird that this is a surface, feel like it's not really render logic.
24
24
  Probably this lives in React-land currently in order to access translations? */}
25
25
  <Surface.Surface
26
- role='document-title'
26
+ type={AppSurface.DocumentTitle}
27
27
  data={{ subject: activeNode } satisfies AppSurface.DocumentTitleData}
28
28
  limit={1}
29
29
  />