@dxos/plugin-deck 0.7.5-labs.e27f9b9 → 0.7.5-main.2567c87

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 (209) hide show
  1. package/dist/lib/browser/{app-graph-builder-CI6ZFMNL.mjs → app-graph-builder-67VRUD5K.mjs} +31 -57
  2. package/dist/lib/browser/app-graph-builder-67VRUD5K.mjs.map +7 -0
  3. package/dist/lib/browser/{check-app-scheme-S3EYUPMF.mjs → check-app-scheme-GEX6W2R5.mjs} +3 -3
  4. package/dist/lib/browser/{check-app-scheme-S3EYUPMF.mjs.map → check-app-scheme-GEX6W2R5.mjs.map} +2 -2
  5. package/dist/lib/browser/chunk-2M4PXYNB.mjs +1052 -0
  6. package/dist/lib/browser/chunk-2M4PXYNB.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-2PJNBVCY.mjs +39 -0
  8. package/dist/lib/browser/chunk-2PJNBVCY.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-4C2AFTET.mjs +186 -0
  10. package/dist/lib/browser/chunk-4C2AFTET.mjs.map +7 -0
  11. package/dist/lib/browser/{chunk-YQ2GWTDU.mjs → chunk-5VFDMW5M.mjs} +2 -2
  12. package/dist/lib/browser/chunk-5VFDMW5M.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-N7TEPFVR.mjs → chunk-JQJ5UWVB.mjs} +2 -3
  14. package/dist/lib/browser/{chunk-N7TEPFVR.mjs.map → chunk-JQJ5UWVB.mjs.map} +3 -3
  15. package/dist/lib/browser/chunk-KY5WXIXY.mjs +44 -0
  16. package/dist/lib/browser/chunk-KY5WXIXY.mjs.map +7 -0
  17. package/dist/lib/browser/deck-PLCSKPGL.mjs +26 -0
  18. package/dist/lib/browser/deck-PLCSKPGL.mjs.map +7 -0
  19. package/dist/lib/browser/index.mjs +76 -36
  20. package/dist/lib/browser/index.mjs.map +4 -4
  21. package/dist/lib/browser/intent-resolver-FVOQSTBX.mjs +152 -0
  22. package/dist/lib/browser/intent-resolver-FVOQSTBX.mjs.map +7 -0
  23. package/dist/lib/browser/intent-resolver-K7GW4A2I.mjs +249 -0
  24. package/dist/lib/browser/intent-resolver-K7GW4A2I.mjs.map +7 -0
  25. package/dist/lib/browser/location-QHRBQBQN.mjs +35 -0
  26. package/dist/lib/browser/location-QHRBQBQN.mjs.map +7 -0
  27. package/dist/lib/browser/meta.json +1 -1
  28. package/dist/lib/browser/react-context-3BDW7W2N.mjs +32 -0
  29. package/dist/lib/browser/react-context-3BDW7W2N.mjs.map +7 -0
  30. package/dist/lib/browser/{react-root-HIHLRMCW.mjs → react-root-UL7ZDRVZ.mjs} +14 -10
  31. package/dist/lib/browser/react-root-UL7ZDRVZ.mjs.map +7 -0
  32. package/dist/lib/browser/react-surface-VPNOGGNN.mjs +28 -0
  33. package/dist/lib/browser/react-surface-VPNOGGNN.mjs.map +7 -0
  34. package/dist/lib/browser/{settings-WACNLCPB.mjs → settings-FNWW6WIJ.mjs} +7 -6
  35. package/dist/lib/browser/settings-FNWW6WIJ.mjs.map +7 -0
  36. package/dist/lib/browser/state-7I5BD7SE.mjs +34 -0
  37. package/dist/lib/browser/state-7I5BD7SE.mjs.map +7 -0
  38. package/dist/lib/browser/types.mjs +4 -16
  39. package/dist/lib/browser/url-handler-Z5B7LD3N.mjs +76 -0
  40. package/dist/lib/browser/url-handler-Z5B7LD3N.mjs.map +7 -0
  41. package/dist/types/src/DeckPlugin.d.ts.map +1 -1
  42. package/dist/types/src/capabilities/capabilities.d.ts +3 -132
  43. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  44. package/dist/types/src/capabilities/index.d.ts +3 -188
  45. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  46. package/dist/types/src/capabilities/{app-graph-builder.d.ts → layout/app-graph-builder.d.ts} +22 -22
  47. package/dist/types/src/capabilities/layout/app-graph-builder.d.ts.map +1 -0
  48. package/dist/types/src/capabilities/layout/deck.d.ts +4 -0
  49. package/dist/types/src/capabilities/layout/deck.d.ts.map +1 -0
  50. package/dist/types/src/capabilities/layout/index.d.ts +229 -0
  51. package/dist/types/src/capabilities/layout/index.d.ts.map +1 -0
  52. package/dist/types/src/capabilities/layout/intent-resolver.d.ts.map +1 -0
  53. package/dist/types/src/capabilities/layout/react-context.d.ts +8 -0
  54. package/dist/types/src/capabilities/layout/react-context.d.ts.map +1 -0
  55. package/dist/types/src/capabilities/layout/react-root.d.ts.map +1 -0
  56. package/dist/types/src/capabilities/layout/state.d.ts +42 -0
  57. package/dist/types/src/capabilities/layout/state.d.ts.map +1 -0
  58. package/dist/types/src/capabilities/navigation/check-app-scheme.d.ts.map +1 -0
  59. package/dist/types/src/capabilities/navigation/index.d.ts +5 -0
  60. package/dist/types/src/capabilities/navigation/index.d.ts.map +1 -0
  61. package/dist/types/src/capabilities/navigation/intent-resolver.d.ts +4 -0
  62. package/dist/types/src/capabilities/navigation/intent-resolver.d.ts.map +1 -0
  63. package/dist/types/src/capabilities/navigation/location.d.ts +4 -0
  64. package/dist/types/src/capabilities/navigation/location.d.ts.map +1 -0
  65. package/dist/types/src/capabilities/navigation/set-location.d.ts +10 -0
  66. package/dist/types/src/capabilities/navigation/set-location.d.ts.map +1 -0
  67. package/dist/types/src/capabilities/navigation/url-handler.d.ts.map +1 -0
  68. package/dist/types/src/capabilities/settings/index.d.ts +3 -0
  69. package/dist/types/src/capabilities/settings/index.d.ts.map +1 -0
  70. package/dist/types/src/capabilities/settings/react-surface.d.ts.map +1 -0
  71. package/dist/types/src/capabilities/settings/settings.d.ts.map +1 -0
  72. package/dist/types/src/components/DeckContext.d.ts +11 -0
  73. package/dist/types/src/components/DeckContext.d.ts.map +1 -0
  74. package/dist/types/src/components/DeckLayout/ActiveNode.d.ts.map +1 -1
  75. package/dist/types/src/components/DeckLayout/ComplementarySidebar.d.ts.map +1 -1
  76. package/dist/types/src/components/DeckLayout/ContentEmpty.d.ts.map +1 -1
  77. package/dist/types/src/components/DeckLayout/DeckLayout.d.ts +4 -1
  78. package/dist/types/src/components/DeckLayout/DeckLayout.d.ts.map +1 -1
  79. package/dist/types/src/components/DeckLayout/Fullscreen.d.ts.map +1 -1
  80. package/dist/types/src/components/DeckLayout/NodePlankHeading.d.ts +3 -3
  81. package/dist/types/src/components/DeckLayout/NodePlankHeading.d.ts.map +1 -1
  82. package/dist/types/src/components/DeckLayout/Plank.d.ts +6 -8
  83. package/dist/types/src/components/DeckLayout/Plank.d.ts.map +1 -1
  84. package/dist/types/src/components/DeckLayout/PlankControls.d.ts +2 -2
  85. package/dist/types/src/components/DeckLayout/PlankControls.d.ts.map +1 -1
  86. package/dist/types/src/components/DeckLayout/PlankError.d.ts +3 -4
  87. package/dist/types/src/components/DeckLayout/PlankError.d.ts.map +1 -1
  88. package/dist/types/src/components/DeckLayout/Sidebar.d.ts.map +1 -1
  89. package/dist/types/src/components/DeckLayout/SidebarButton.d.ts +3 -5
  90. package/dist/types/src/components/DeckLayout/SidebarButton.d.ts.map +1 -1
  91. package/dist/types/src/components/DeckLayout/StatusBar.d.ts.map +1 -1
  92. package/dist/types/src/components/DeckLayout/Toast.d.ts +2 -2
  93. package/dist/types/src/components/DeckLayout/Toast.d.ts.map +1 -1
  94. package/dist/types/src/components/LayoutContext.d.ts +5 -0
  95. package/dist/types/src/components/LayoutContext.d.ts.map +1 -0
  96. package/dist/types/src/components/fragments.d.ts +0 -2
  97. package/dist/types/src/components/fragments.d.ts.map +1 -1
  98. package/dist/types/src/components/index.d.ts +2 -0
  99. package/dist/types/src/components/index.d.ts.map +1 -1
  100. package/dist/types/src/hooks/useMainSize.d.ts +2 -2
  101. package/dist/types/src/layout.d.ts +19 -5
  102. package/dist/types/src/layout.d.ts.map +1 -1
  103. package/dist/types/src/layout.test.d.ts +2 -0
  104. package/dist/types/src/layout.test.d.ts.map +1 -0
  105. package/dist/types/src/meta.d.ts +0 -1
  106. package/dist/types/src/meta.d.ts.map +1 -1
  107. package/dist/types/src/translations.d.ts +3 -3
  108. package/dist/types/src/types.d.ts +2 -107
  109. package/dist/types/src/types.d.ts.map +1 -1
  110. package/dist/types/src/util/index.d.ts +1 -2
  111. package/dist/types/src/util/index.d.ts.map +1 -1
  112. package/dist/types/src/util/layout-parts.d.ts +7 -0
  113. package/dist/types/src/util/layout-parts.d.ts.map +1 -0
  114. package/dist/types/src/util/useHoistStatusbar.d.ts.map +1 -1
  115. package/package.json +31 -32
  116. package/src/DeckPlugin.ts +57 -17
  117. package/src/capabilities/capabilities.ts +3 -4
  118. package/src/capabilities/index.ts +3 -12
  119. package/src/capabilities/{app-graph-builder.ts → layout/app-graph-builder.ts} +28 -36
  120. package/src/capabilities/layout/deck.ts +25 -0
  121. package/src/capabilities/layout/index.ts +12 -0
  122. package/src/capabilities/layout/intent-resolver.ts +128 -0
  123. package/src/capabilities/layout/react-context.tsx +26 -0
  124. package/src/capabilities/{react-root.tsx → layout/react-root.tsx} +11 -7
  125. package/src/capabilities/layout/state.ts +32 -0
  126. package/src/capabilities/{check-app-scheme.ts → navigation/check-app-scheme.ts} +2 -2
  127. package/src/capabilities/navigation/index.ts +10 -0
  128. package/src/capabilities/navigation/intent-resolver.ts +216 -0
  129. package/src/capabilities/navigation/location.ts +28 -0
  130. package/src/capabilities/navigation/set-location.ts +38 -0
  131. package/src/capabilities/navigation/url-handler.ts +67 -0
  132. package/src/capabilities/settings/index.ts +8 -0
  133. package/src/capabilities/settings/react-surface.tsx +23 -0
  134. package/src/capabilities/{settings.ts → settings/settings.ts} +5 -4
  135. package/src/components/DeckContext.ts +19 -0
  136. package/src/components/DeckLayout/ActiveNode.tsx +3 -2
  137. package/src/components/DeckLayout/ComplementarySidebar.tsx +69 -120
  138. package/src/components/DeckLayout/ContentEmpty.tsx +10 -7
  139. package/src/components/DeckLayout/DeckLayout.tsx +61 -103
  140. package/src/components/DeckLayout/Fullscreen.tsx +3 -2
  141. package/src/components/DeckLayout/NodePlankHeading.tsx +65 -57
  142. package/src/components/DeckLayout/Plank.tsx +41 -32
  143. package/src/components/DeckLayout/PlankControls.tsx +10 -11
  144. package/src/components/DeckLayout/PlankError.tsx +5 -6
  145. package/src/components/DeckLayout/Sidebar.tsx +20 -17
  146. package/src/components/DeckLayout/SidebarButton.tsx +31 -25
  147. package/src/components/DeckLayout/StatusBar.tsx +11 -5
  148. package/src/components/DeckLayout/Toast.tsx +2 -2
  149. package/src/components/LayoutContext.ts +12 -0
  150. package/src/components/LayoutSettings.tsx +8 -8
  151. package/src/components/fragments.ts +0 -8
  152. package/src/components/index.ts +2 -0
  153. package/src/hooks/useMainSize.ts +3 -3
  154. package/src/layout.test.ts +380 -0
  155. package/src/layout.ts +212 -43
  156. package/src/meta.ts +0 -1
  157. package/src/translations.ts +8 -8
  158. package/src/types.ts +2 -88
  159. package/src/util/index.ts +1 -2
  160. package/src/util/layout-parts.ts +12 -0
  161. package/src/util/useHoistStatusbar.ts +8 -17
  162. package/dist/lib/browser/app-graph-builder-CI6ZFMNL.mjs.map +0 -7
  163. package/dist/lib/browser/chunk-BTDY6SES.mjs +0 -1119
  164. package/dist/lib/browser/chunk-BTDY6SES.mjs.map +0 -7
  165. package/dist/lib/browser/chunk-FZOBKOA2.mjs +0 -24
  166. package/dist/lib/browser/chunk-FZOBKOA2.mjs.map +0 -7
  167. package/dist/lib/browser/chunk-M2L53AIH.mjs +0 -126
  168. package/dist/lib/browser/chunk-M2L53AIH.mjs.map +0 -7
  169. package/dist/lib/browser/chunk-YQ2GWTDU.mjs.map +0 -7
  170. package/dist/lib/browser/intent-resolver-CSXFDKTC.mjs +0 -494
  171. package/dist/lib/browser/intent-resolver-CSXFDKTC.mjs.map +0 -7
  172. package/dist/lib/browser/react-root-HIHLRMCW.mjs.map +0 -7
  173. package/dist/lib/browser/react-surface-4QVWKQYY.mjs +0 -38
  174. package/dist/lib/browser/react-surface-4QVWKQYY.mjs.map +0 -7
  175. package/dist/lib/browser/settings-WACNLCPB.mjs.map +0 -7
  176. package/dist/lib/browser/state-VPOYUKK6.mjs +0 -117
  177. package/dist/lib/browser/state-VPOYUKK6.mjs.map +0 -7
  178. package/dist/lib/browser/tools-5LDJNU56.mjs +0 -51
  179. package/dist/lib/browser/tools-5LDJNU56.mjs.map +0 -7
  180. package/dist/lib/browser/url-handler-HLF42IHP.mjs +0 -70
  181. package/dist/lib/browser/url-handler-HLF42IHP.mjs.map +0 -7
  182. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  183. package/dist/types/src/capabilities/check-app-scheme.d.ts.map +0 -1
  184. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  185. package/dist/types/src/capabilities/react-root.d.ts.map +0 -1
  186. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  187. package/dist/types/src/capabilities/set-active.d.ts +0 -9
  188. package/dist/types/src/capabilities/set-active.d.ts.map +0 -1
  189. package/dist/types/src/capabilities/settings.d.ts.map +0 -1
  190. package/dist/types/src/capabilities/state.d.ts +0 -76
  191. package/dist/types/src/capabilities/state.d.ts.map +0 -1
  192. package/dist/types/src/capabilities/tools.d.ts +0 -10
  193. package/dist/types/src/capabilities/tools.d.ts.map +0 -1
  194. package/dist/types/src/capabilities/url-handler.d.ts.map +0 -1
  195. package/dist/types/src/util/layoutAppliesTopbar.d.ts +0 -2
  196. package/dist/types/src/util/layoutAppliesTopbar.d.ts.map +0 -1
  197. package/src/capabilities/intent-resolver.ts +0 -350
  198. package/src/capabilities/react-surface.tsx +0 -31
  199. package/src/capabilities/set-active.ts +0 -43
  200. package/src/capabilities/state.ts +0 -102
  201. package/src/capabilities/tools.ts +0 -61
  202. package/src/capabilities/url-handler.ts +0 -63
  203. package/src/util/layoutAppliesTopbar.ts +0 -7
  204. /package/dist/types/src/capabilities/{intent-resolver.d.ts → layout/intent-resolver.d.ts} +0 -0
  205. /package/dist/types/src/capabilities/{react-root.d.ts → layout/react-root.d.ts} +0 -0
  206. /package/dist/types/src/capabilities/{check-app-scheme.d.ts → navigation/check-app-scheme.d.ts} +0 -0
  207. /package/dist/types/src/capabilities/{url-handler.d.ts → navigation/url-handler.d.ts} +0 -0
  208. /package/dist/types/src/capabilities/{react-surface.d.ts → settings/react-surface.d.ts} +0 -0
  209. /package/dist/types/src/capabilities/{settings.d.ts → settings/settings.d.ts} +0 -0
@@ -1,28 +1,21 @@
1
- import {
2
- DeckCapabilities
3
- } from "./chunk-YQ2GWTDU.mjs";
4
1
  import {
5
2
  DECK_PLUGIN
6
- } from "./chunk-N7TEPFVR.mjs";
3
+ } from "./chunk-JQJ5UWVB.mjs";
7
4
 
8
- // packages/plugins/plugin-deck/src/capabilities/app-graph-builder.ts
9
- import { Capabilities, contributes, createIntent, LayoutAction } from "@dxos/app-framework";
5
+ // packages/plugins/plugin-deck/src/capabilities/layout/app-graph-builder.ts
6
+ import { Capabilities, contributes, createIntent, LayoutAction, NavigationAction, openIds } from "@dxos/app-framework";
10
7
  import { AttentionCapabilities } from "@dxos/plugin-attention";
11
8
  import { createExtension, ROOT_ID } from "@dxos/plugin-graph";
12
9
  var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBuilder, createExtension({
13
10
  id: DECK_PLUGIN,
14
11
  filter: (node) => node.id === ROOT_ID,
15
12
  actions: () => {
16
- const state = context.requestCapability(DeckCapabilities.MutableDeckState);
17
13
  const _fullscreen = {
18
- id: `${LayoutAction.UpdateLayout._tag}/fullscreen`,
14
+ id: `${LayoutAction.SetLayoutMode._tag}/fullscreen`,
19
15
  data: async () => {
20
16
  const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);
21
17
  await dispatch(createIntent(LayoutAction.SetLayoutMode, {
22
- part: "mode",
23
- options: {
24
- mode: "fullscreen"
25
- }
18
+ layoutMode: "fullscreen"
26
19
  }));
27
20
  },
28
21
  properties: {
@@ -40,19 +33,17 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
40
33
  }
41
34
  };
42
35
  const closeCurrent = {
43
- id: `${LayoutAction.Close._tag}/current`,
36
+ id: `${NavigationAction.Close._tag}/current`,
44
37
  data: async () => {
45
38
  const attention = context.requestCapability(AttentionCapabilities.Attention);
46
39
  const attended = attention.current.at(-1);
47
40
  if (attended) {
48
41
  const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);
49
- await dispatch(createIntent(LayoutAction.Close, {
50
- part: "main",
51
- subject: [
52
- attended
53
- ],
54
- options: {
55
- state: false
42
+ await dispatch(createIntent(NavigationAction.Close, {
43
+ activeParts: {
44
+ main: [
45
+ attended
46
+ ]
56
47
  }
57
48
  }));
58
49
  }
@@ -68,17 +59,18 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
68
59
  }
69
60
  };
70
61
  const closeOthers = {
71
- id: `${LayoutAction.Close._tag}/others`,
62
+ id: `${NavigationAction.Close._tag}/others`,
72
63
  data: async () => {
73
64
  const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);
65
+ const location = context.requestCapability(Capabilities.Location);
74
66
  const attention = context.requestCapability(AttentionCapabilities.Attention);
75
67
  const attended = attention.current.at(-1);
76
- const ids = state.deck.active.filter((id) => id !== attended) ?? [];
77
- await dispatch(createIntent(LayoutAction.Close, {
78
- part: "main",
79
- subject: ids,
80
- options: {
81
- state: false
68
+ const ids = openIds(location.active, [
69
+ "main"
70
+ ]).filter((id) => id !== attended);
71
+ await dispatch(createIntent(NavigationAction.Close, {
72
+ activeParts: {
73
+ main: ids
82
74
  }
83
75
  }));
84
76
  },
@@ -93,14 +85,15 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
93
85
  }
94
86
  };
95
87
  const closeAll = {
96
- id: `${LayoutAction.Close._tag}/all`,
88
+ id: `${NavigationAction.Close._tag}/all`,
97
89
  data: async () => {
98
90
  const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);
99
- await dispatch(createIntent(LayoutAction.Close, {
100
- part: "main",
101
- subject: state.deck.active,
102
- options: {
103
- state: false
91
+ const location = context.requestCapability(Capabilities.Location);
92
+ await dispatch(createIntent(NavigationAction.Close, {
93
+ activeParts: {
94
+ main: openIds(location.active, [
95
+ "main"
96
+ ])
104
97
  }
105
98
  }));
106
99
  },
@@ -114,34 +107,15 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
114
107
  icon: "ph--x-circle--regular"
115
108
  }
116
109
  };
117
- const toggleSidebar = {
118
- id: `${LayoutAction.UpdateSidebar._tag}/nav`,
119
- data: async () => {
120
- state.sidebarState = state.sidebarState === "expanded" ? "collapsed" : "expanded";
121
- },
122
- properties: {
123
- label: [
124
- state.sidebarState === "expanded" ? "collapse navigation sidebar label" : "open navigation sidebar label",
125
- {
126
- ns: DECK_PLUGIN
127
- }
128
- ],
129
- icon: "ph--sidebar--regular",
130
- disposition: "pin-end",
131
- l0Breakpoint: "lg"
132
- }
133
- };
134
- return !state.deck.solo ? [
110
+ const layoutMode = context.requestCapabilities(Capabilities.Layout)[0]?.layoutMode;
111
+ return layoutMode === "deck" ? [
135
112
  closeCurrent,
136
113
  closeOthers,
137
- closeAll,
138
- toggleSidebar
139
- ] : [
140
- toggleSidebar
141
- ];
114
+ closeAll
115
+ ] : [];
142
116
  }
143
117
  }));
144
118
  export {
145
119
  app_graph_builder_default as default
146
120
  };
147
- //# sourceMappingURL=app-graph-builder-CI6ZFMNL.mjs.map
121
+ //# sourceMappingURL=app-graph-builder-67VRUD5K.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/layout/app-graph-builder.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport {\n Capabilities,\n contributes,\n createIntent,\n LayoutAction,\n NavigationAction,\n openIds,\n type PluginsContext,\n} from '@dxos/app-framework';\nimport { AttentionCapabilities } from '@dxos/plugin-attention';\nimport { createExtension, type Node, ROOT_ID } from '@dxos/plugin-graph';\n\nimport { DECK_PLUGIN } from '../../meta';\n\nexport default (context: PluginsContext) =>\n contributes(\n Capabilities.AppGraphBuilder,\n createExtension({\n id: DECK_PLUGIN,\n filter: (node): node is Node<null> => node.id === ROOT_ID,\n actions: () => {\n // NOTE(Zan): This is currently disabled.\n // TODO(Zan): Fullscreen needs to know the active node and provide that to the layout part.\n const _fullscreen = {\n id: `${LayoutAction.SetLayoutMode._tag}/fullscreen`,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(LayoutAction.SetLayoutMode, { layoutMode: 'fullscreen' }));\n },\n properties: {\n label: ['toggle fullscreen label', { ns: DECK_PLUGIN }],\n icon: 'ph--arrows-out--regular',\n keyBinding: {\n macos: 'ctrl+meta+f',\n windows: 'shift+ctrl+f',\n },\n },\n };\n\n const closeCurrent = {\n id: `${NavigationAction.Close._tag}/current`,\n data: async () => {\n const attention = context.requestCapability(AttentionCapabilities.Attention);\n const attended = attention.current.at(-1);\n if (attended) {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(NavigationAction.Close, { activeParts: { main: [attended] } }));\n }\n },\n properties: {\n label: ['close current label', { ns: DECK_PLUGIN }],\n icon: 'ph--x--regular',\n },\n };\n\n const closeOthers = {\n id: `${NavigationAction.Close._tag}/others`,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const location = context.requestCapability(Capabilities.Location);\n const attention = context.requestCapability(AttentionCapabilities.Attention);\n const attended = attention.current.at(-1);\n const ids = openIds(location.active, ['main']).filter((id) => id !== attended);\n await dispatch(\n createIntent(NavigationAction.Close, {\n activeParts: { main: ids },\n }),\n );\n },\n properties: {\n label: ['close others label', { ns: DECK_PLUGIN }],\n icon: 'ph--x-square--regular',\n },\n };\n\n const closeAll = {\n id: `${NavigationAction.Close._tag}/all`,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const location = context.requestCapability(Capabilities.Location);\n await dispatch(\n createIntent(NavigationAction.Close, {\n activeParts: { main: openIds(location.active, ['main']) },\n }),\n );\n },\n properties: {\n label: ['close all label', { ns: DECK_PLUGIN }],\n icon: 'ph--x-circle--regular',\n },\n };\n\n const layoutMode = context.requestCapabilities(Capabilities.Layout)[0]?.layoutMode;\n return layoutMode === 'deck' ? [closeCurrent, closeOthers, closeAll] : [];\n },\n }),\n );\n"],
5
+ "mappings": ";;;;;AAIA,SACEA,cACAC,aACAC,cACAC,cACAC,kBACAC,eAEK;AACP,SAASC,6BAA6B;AACtC,SAASC,iBAA4BC,eAAe;AAIpD,IAAA,4BAAe,CAACC,YACdC,YACEC,aAAaC,iBACbC,gBAAgB;EACdC,IAAIC;EACJC,QAAQ,CAACC,SAA6BA,KAAKH,OAAOI;EAClDC,SAAS,MAAA;AAGP,UAAMC,cAAc;MAClBN,IAAI,GAAGO,aAAaC,cAAcC,IAAI;MACtCC,MAAM,YAAA;AACJ,cAAM,EAAEC,iBAAiBC,SAAQ,IAAKjB,QAAQkB,kBAAkBhB,aAAaiB,gBAAgB;AAC7F,cAAMF,SAASG,aAAaR,aAAaC,eAAe;UAAEQ,YAAY;QAAa,CAAA,CAAA;MACrF;MACAC,YAAY;QACVC,OAAO;UAAC;UAA2B;YAAEC,IAAIlB;UAAY;;QACrDmB,MAAM;QACNC,YAAY;UACVC,OAAO;UACPC,SAAS;QACX;MACF;IACF;AAEA,UAAMC,eAAe;MACnBxB,IAAI,GAAGyB,iBAAiBC,MAAMjB,IAAI;MAClCC,MAAM,YAAA;AACJ,cAAMiB,YAAYhC,QAAQkB,kBAAkBe,sBAAsBC,SAAS;AAC3E,cAAMC,WAAWH,UAAUI,QAAQC,GAAG,EAAC;AACvC,YAAIF,UAAU;AACZ,gBAAM,EAAEnB,iBAAiBC,SAAQ,IAAKjB,QAAQkB,kBAAkBhB,aAAaiB,gBAAgB;AAC7F,gBAAMF,SAASG,aAAaU,iBAAiBC,OAAO;YAAEO,aAAa;cAAEC,MAAM;gBAACJ;;YAAU;UAAE,CAAA,CAAA;QAC1F;MACF;MACAb,YAAY;QACVC,OAAO;UAAC;UAAuB;YAAEC,IAAIlB;UAAY;;QACjDmB,MAAM;MACR;IACF;AAEA,UAAMe,cAAc;MAClBnC,IAAI,GAAGyB,iBAAiBC,MAAMjB,IAAI;MAClCC,MAAM,YAAA;AACJ,cAAM,EAAEC,iBAAiBC,SAAQ,IAAKjB,QAAQkB,kBAAkBhB,aAAaiB,gBAAgB;AAC7F,cAAMsB,WAAWzC,QAAQkB,kBAAkBhB,aAAawC,QAAQ;AAChE,cAAMV,YAAYhC,QAAQkB,kBAAkBe,sBAAsBC,SAAS;AAC3E,cAAMC,WAAWH,UAAUI,QAAQC,GAAG,EAAC;AACvC,cAAMM,MAAMC,QAAQH,SAASI,QAAQ;UAAC;SAAO,EAAEtC,OAAO,CAACF,OAAOA,OAAO8B,QAAAA;AACrE,cAAMlB,SACJG,aAAaU,iBAAiBC,OAAO;UACnCO,aAAa;YAAEC,MAAMI;UAAI;QAC3B,CAAA,CAAA;MAEJ;MACArB,YAAY;QACVC,OAAO;UAAC;UAAsB;YAAEC,IAAIlB;UAAY;;QAChDmB,MAAM;MACR;IACF;AAEA,UAAMqB,WAAW;MACfzC,IAAI,GAAGyB,iBAAiBC,MAAMjB,IAAI;MAClCC,MAAM,YAAA;AACJ,cAAM,EAAEC,iBAAiBC,SAAQ,IAAKjB,QAAQkB,kBAAkBhB,aAAaiB,gBAAgB;AAC7F,cAAMsB,WAAWzC,QAAQkB,kBAAkBhB,aAAawC,QAAQ;AAChE,cAAMzB,SACJG,aAAaU,iBAAiBC,OAAO;UACnCO,aAAa;YAAEC,MAAMK,QAAQH,SAASI,QAAQ;cAAC;aAAO;UAAE;QAC1D,CAAA,CAAA;MAEJ;MACAvB,YAAY;QACVC,OAAO;UAAC;UAAmB;YAAEC,IAAIlB;UAAY;;QAC7CmB,MAAM;MACR;IACF;AAEA,UAAMJ,aAAarB,QAAQ+C,oBAAoB7C,aAAa8C,MAAM,EAAE,CAAA,GAAI3B;AACxE,WAAOA,eAAe,SAAS;MAACQ;MAAcW;MAAaM;QAAY,CAAA;EACzE;AACF,CAAA,CAAA;",
6
+ "names": ["Capabilities", "contributes", "createIntent", "LayoutAction", "NavigationAction", "openIds", "AttentionCapabilities", "createExtension", "ROOT_ID", "context", "contributes", "Capabilities", "AppGraphBuilder", "createExtension", "id", "DECK_PLUGIN", "filter", "node", "ROOT_ID", "actions", "_fullscreen", "LayoutAction", "SetLayoutMode", "_tag", "data", "dispatchPromise", "dispatch", "requestCapability", "IntentDispatcher", "createIntent", "layoutMode", "properties", "label", "ns", "icon", "keyBinding", "macos", "windows", "closeCurrent", "NavigationAction", "Close", "attention", "AttentionCapabilities", "Attention", "attended", "current", "at", "activeParts", "main", "closeOthers", "location", "Location", "ids", "openIds", "active", "closeAll", "requestCapabilities", "Layout"]
7
+ }
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  DECK_PLUGIN
3
- } from "./chunk-N7TEPFVR.mjs";
3
+ } from "./chunk-JQJ5UWVB.mjs";
4
4
 
5
- // packages/plugins/plugin-deck/src/capabilities/check-app-scheme.ts
5
+ // packages/plugins/plugin-deck/src/capabilities/navigation/check-app-scheme.ts
6
6
  import { Capabilities, contributes } from "@dxos/app-framework";
7
7
  var isSocket = !!globalThis.__args;
8
8
  var appScheme = "composer://";
@@ -30,4 +30,4 @@ var check_app_scheme_default = async (context) => {
30
30
  export {
31
31
  check_app_scheme_default as default
32
32
  };
33
- //# sourceMappingURL=check-app-scheme-S3EYUPMF.mjs.map
33
+ //# sourceMappingURL=check-app-scheme-GEX6W2R5.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/capabilities/check-app-scheme.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, type PluginsContext } from '@dxos/app-framework';\n\nimport { DECK_PLUGIN } from '../meta';\nimport { type DeckSettingsProps } from '../types';\n\nconst isSocket = !!(globalThis as any).__args;\n\n// TODO(mjamesderocher): Can we get this directly from Socket?\nconst appScheme = 'composer://';\n\n// TODO(mjamesderocher): Factor out as part of NavigationPlugin.\nconst checkAppScheme = (url: string) => {\n const iframe = document.createElement('iframe');\n iframe.style.display = 'none';\n document.body.appendChild(iframe);\n\n iframe.src = url + window.location.pathname.replace(/^\\/+/, '') + window.location.search;\n\n const timer = setTimeout(() => {\n document.body.removeChild(iframe);\n }, 3000);\n\n window.addEventListener('pagehide', (event) => {\n clearTimeout(timer);\n document.body.removeChild(iframe);\n });\n};\n\nexport default async (context: PluginsContext) => {\n const settingsStore = context.requestCapability(Capabilities.SettingsStore);\n const settings = settingsStore.getStore<DeckSettingsProps>(DECK_PLUGIN)?.value;\n if (!isSocket && settings?.enableNativeRedirect) {\n checkAppScheme(appScheme);\n }\n\n return contributes(Capabilities.Null, null);\n};\n"],
3
+ "sources": ["../../../src/capabilities/navigation/check-app-scheme.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, type PluginsContext } from '@dxos/app-framework';\n\nimport { DECK_PLUGIN } from '../../meta';\nimport { type DeckSettingsProps } from '../../types';\n\nconst isSocket = !!(globalThis as any).__args;\n\n// TODO(mjamesderocher): Can we get this directly from Socket?\nconst appScheme = 'composer://';\n\n// TODO(mjamesderocher): Factor out as part of NavigationPlugin.\nconst checkAppScheme = (url: string) => {\n const iframe = document.createElement('iframe');\n iframe.style.display = 'none';\n document.body.appendChild(iframe);\n\n iframe.src = url + window.location.pathname.replace(/^\\/+/, '') + window.location.search;\n\n const timer = setTimeout(() => {\n document.body.removeChild(iframe);\n }, 3000);\n\n window.addEventListener('pagehide', (event) => {\n clearTimeout(timer);\n document.body.removeChild(iframe);\n });\n};\n\nexport default async (context: PluginsContext) => {\n const settingsStore = context.requestCapability(Capabilities.SettingsStore);\n const settings = settingsStore.getStore<DeckSettingsProps>(DECK_PLUGIN)?.value;\n if (!isSocket && settings?.enableNativeRedirect) {\n checkAppScheme(appScheme);\n }\n\n return contributes(Capabilities.Null, null);\n};\n"],
5
5
  "mappings": ";;;;;AAOA,SAASA,cAAcC,mBAAwC;AAK/D,IAAMC,WAAW,CAAC,CAAEC,WAAmBC;AAGvC,IAAMC,YAAY;AAGlB,IAAMC,iBAAiB,CAACC,QAAAA;AACtB,QAAMC,SAASC,SAASC,cAAc,QAAA;AACtCF,SAAOG,MAAMC,UAAU;AACvBH,WAASI,KAAKC,YAAYN,MAAAA;AAE1BA,SAAOO,MAAMR,MAAMS,OAAOC,SAASC,SAASC,QAAQ,QAAQ,EAAA,IAAMH,OAAOC,SAASG;AAElF,QAAMC,QAAQC,WAAW,MAAA;AACvBb,aAASI,KAAKU,YAAYf,MAAAA;EAC5B,GAAG,GAAA;AAEHQ,SAAOQ,iBAAiB,YAAY,CAACC,UAAAA;AACnCC,iBAAaL,KAAAA;AACbZ,aAASI,KAAKU,YAAYf,MAAAA;EAC5B,CAAA;AACF;AAEA,IAAA,2BAAe,OAAOmB,YAAAA;AACpB,QAAMC,gBAAgBD,QAAQE,kBAAkBC,aAAaC,aAAa;AAC1E,QAAMC,WAAWJ,cAAcK,SAA4BC,WAAAA,GAAcC;AACzE,MAAI,CAACjC,YAAY8B,UAAUI,sBAAsB;AAC/C9B,mBAAeD,SAAAA;EACjB;AAEA,SAAOgC,YAAYP,aAAaQ,MAAM,IAAA;AACxC;",
6
6
  "names": ["Capabilities", "contributes", "isSocket", "globalThis", "__args", "appScheme", "checkAppScheme", "url", "iframe", "document", "createElement", "style", "display", "body", "appendChild", "src", "window", "location", "pathname", "replace", "search", "timer", "setTimeout", "removeChild", "addEventListener", "event", "clearTimeout", "context", "settingsStore", "requestCapability", "Capabilities", "SettingsStore", "settings", "getStore", "DECK_PLUGIN", "value", "enableNativeRedirect", "contributes", "Null"]
7
7
  }