@dxos/plugin-deck 0.7.5-labs.a279d8c → 0.7.5-labs.ea4b4c2

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 (214) hide show
  1. package/dist/lib/browser/{app-graph-builder-67VRUD5K.mjs → app-graph-builder-CI6ZFMNL.mjs} +57 -31
  2. package/dist/lib/browser/app-graph-builder-CI6ZFMNL.mjs.map +7 -0
  3. package/dist/lib/browser/{check-app-scheme-GEX6W2R5.mjs → check-app-scheme-S3EYUPMF.mjs} +3 -3
  4. package/dist/lib/browser/{check-app-scheme-GEX6W2R5.mjs.map → check-app-scheme-S3EYUPMF.mjs.map} +2 -2
  5. package/dist/lib/browser/chunk-23KS5L3I.mjs +1124 -0
  6. package/dist/lib/browser/chunk-23KS5L3I.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-LCGBKOTZ.mjs +24 -0
  8. package/dist/lib/browser/chunk-LCGBKOTZ.mjs.map +7 -0
  9. package/dist/lib/browser/{chunk-JQJ5UWVB.mjs → chunk-N7TEPFVR.mjs} +3 -2
  10. package/dist/lib/browser/{chunk-JQJ5UWVB.mjs.map → chunk-N7TEPFVR.mjs.map} +3 -3
  11. package/dist/lib/browser/chunk-PTLNGUND.mjs +126 -0
  12. package/dist/lib/browser/chunk-PTLNGUND.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-5VFDMW5M.mjs → chunk-YQ2GWTDU.mjs} +2 -2
  14. package/dist/lib/browser/chunk-YQ2GWTDU.mjs.map +7 -0
  15. package/dist/lib/browser/index.mjs +36 -82
  16. package/dist/lib/browser/index.mjs.map +4 -4
  17. package/dist/lib/browser/intent-resolver-3HEWSJIM.mjs +497 -0
  18. package/dist/lib/browser/intent-resolver-3HEWSJIM.mjs.map +7 -0
  19. package/dist/lib/browser/meta.json +1 -1
  20. package/dist/lib/browser/{react-root-AWYSGU4Q.mjs → react-root-YXW3ICOO.mjs} +10 -14
  21. package/dist/lib/browser/react-root-YXW3ICOO.mjs.map +7 -0
  22. package/dist/lib/browser/react-surface-M4OZ4WV7.mjs +38 -0
  23. package/dist/lib/browser/react-surface-M4OZ4WV7.mjs.map +7 -0
  24. package/dist/lib/browser/{settings-FNWW6WIJ.mjs → settings-CRQTVMN3.mjs} +6 -7
  25. package/dist/lib/browser/settings-CRQTVMN3.mjs.map +7 -0
  26. package/dist/lib/browser/state-YEQA3IIB.mjs +117 -0
  27. package/dist/lib/browser/state-YEQA3IIB.mjs.map +7 -0
  28. package/dist/lib/browser/{tools-4XY7KFQF.mjs → tools-5LDJNU56.mjs} +14 -9
  29. package/dist/lib/browser/tools-5LDJNU56.mjs.map +7 -0
  30. package/dist/lib/browser/types.mjs +16 -4
  31. package/dist/lib/browser/url-handler-HLF42IHP.mjs +70 -0
  32. package/dist/lib/browser/url-handler-HLF42IHP.mjs.map +7 -0
  33. package/dist/types/src/DeckPlugin.d.ts.map +1 -1
  34. package/dist/types/src/capabilities/{layout/app-graph-builder.d.ts → app-graph-builder.d.ts} +22 -22
  35. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
  36. package/dist/types/src/capabilities/capabilities.d.ts +132 -3
  37. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  38. package/dist/types/src/capabilities/check-app-scheme.d.ts.map +1 -0
  39. package/dist/types/src/capabilities/index.d.ts +188 -3
  40. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  41. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -0
  42. package/dist/types/src/capabilities/react-root.d.ts.map +1 -0
  43. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  44. package/dist/types/src/capabilities/set-active.d.ts +9 -0
  45. package/dist/types/src/capabilities/set-active.d.ts.map +1 -0
  46. package/dist/types/src/capabilities/settings.d.ts.map +1 -0
  47. package/dist/types/src/capabilities/state.d.ts +76 -0
  48. package/dist/types/src/capabilities/state.d.ts.map +1 -0
  49. package/dist/types/src/capabilities/{navigation/tools.d.ts → tools.d.ts} +1 -0
  50. package/dist/types/src/capabilities/tools.d.ts.map +1 -0
  51. package/dist/types/src/capabilities/url-handler.d.ts.map +1 -0
  52. package/dist/types/src/components/DeckLayout/ActiveNode.d.ts.map +1 -1
  53. package/dist/types/src/components/DeckLayout/ComplementarySidebar.d.ts.map +1 -1
  54. package/dist/types/src/components/DeckLayout/ContentEmpty.d.ts.map +1 -1
  55. package/dist/types/src/components/DeckLayout/DeckLayout.d.ts +1 -4
  56. package/dist/types/src/components/DeckLayout/DeckLayout.d.ts.map +1 -1
  57. package/dist/types/src/components/DeckLayout/Fullscreen.d.ts.map +1 -1
  58. package/dist/types/src/components/DeckLayout/NodePlankHeading.d.ts +3 -3
  59. package/dist/types/src/components/DeckLayout/NodePlankHeading.d.ts.map +1 -1
  60. package/dist/types/src/components/DeckLayout/Plank.d.ts +8 -6
  61. package/dist/types/src/components/DeckLayout/Plank.d.ts.map +1 -1
  62. package/dist/types/src/components/DeckLayout/PlankControls.d.ts +2 -2
  63. package/dist/types/src/components/DeckLayout/PlankControls.d.ts.map +1 -1
  64. package/dist/types/src/components/DeckLayout/PlankError.d.ts +4 -3
  65. package/dist/types/src/components/DeckLayout/PlankError.d.ts.map +1 -1
  66. package/dist/types/src/components/DeckLayout/Sidebar.d.ts.map +1 -1
  67. package/dist/types/src/components/DeckLayout/SidebarButton.d.ts +5 -3
  68. package/dist/types/src/components/DeckLayout/SidebarButton.d.ts.map +1 -1
  69. package/dist/types/src/components/DeckLayout/StatusBar.d.ts.map +1 -1
  70. package/dist/types/src/components/DeckLayout/Toast.d.ts +2 -2
  71. package/dist/types/src/components/DeckLayout/Toast.d.ts.map +1 -1
  72. package/dist/types/src/components/fragments.d.ts +2 -0
  73. package/dist/types/src/components/fragments.d.ts.map +1 -1
  74. package/dist/types/src/components/index.d.ts +0 -2
  75. package/dist/types/src/components/index.d.ts.map +1 -1
  76. package/dist/types/src/hooks/useMainSize.d.ts +2 -2
  77. package/dist/types/src/hooks/useNode.d.ts.map +1 -1
  78. package/dist/types/src/layout.d.ts +5 -19
  79. package/dist/types/src/layout.d.ts.map +1 -1
  80. package/dist/types/src/meta.d.ts +1 -0
  81. package/dist/types/src/meta.d.ts.map +1 -1
  82. package/dist/types/src/translations.d.ts +3 -3
  83. package/dist/types/src/types.d.ts +107 -2
  84. package/dist/types/src/types.d.ts.map +1 -1
  85. package/dist/types/src/util/index.d.ts +2 -1
  86. package/dist/types/src/util/index.d.ts.map +1 -1
  87. package/dist/types/src/util/layoutAppliesTopbar.d.ts +2 -0
  88. package/dist/types/src/util/layoutAppliesTopbar.d.ts.map +1 -0
  89. package/dist/types/src/util/useHoistStatusbar.d.ts.map +1 -1
  90. package/dist/types/tsconfig.tsbuildinfo +1 -1
  91. package/package.json +31 -31
  92. package/src/DeckPlugin.ts +17 -63
  93. package/src/capabilities/{layout/app-graph-builder.ts → app-graph-builder.ts} +36 -28
  94. package/src/capabilities/capabilities.ts +4 -3
  95. package/src/capabilities/{navigation/check-app-scheme.ts → check-app-scheme.ts} +2 -2
  96. package/src/capabilities/index.ts +12 -3
  97. package/src/capabilities/intent-resolver.ts +350 -0
  98. package/src/capabilities/{layout/react-root.tsx → react-root.tsx} +7 -11
  99. package/src/capabilities/react-surface.tsx +31 -0
  100. package/src/capabilities/set-active.ts +47 -0
  101. package/src/capabilities/{settings/settings.ts → settings.ts} +4 -5
  102. package/src/capabilities/state.ts +102 -0
  103. package/src/capabilities/{navigation/tools.ts → tools.ts} +10 -6
  104. package/src/capabilities/url-handler.ts +63 -0
  105. package/src/components/DeckLayout/ActiveNode.tsx +2 -3
  106. package/src/components/DeckLayout/ComplementarySidebar.tsx +120 -69
  107. package/src/components/DeckLayout/ContentEmpty.tsx +7 -10
  108. package/src/components/DeckLayout/DeckLayout.tsx +116 -64
  109. package/src/components/DeckLayout/Fullscreen.tsx +2 -3
  110. package/src/components/DeckLayout/NodePlankHeading.tsx +57 -65
  111. package/src/components/DeckLayout/Plank.tsx +32 -41
  112. package/src/components/DeckLayout/PlankControls.tsx +11 -10
  113. package/src/components/DeckLayout/PlankError.tsx +6 -5
  114. package/src/components/DeckLayout/Sidebar.tsx +17 -20
  115. package/src/components/DeckLayout/SidebarButton.tsx +25 -31
  116. package/src/components/DeckLayout/StatusBar.tsx +5 -11
  117. package/src/components/DeckLayout/Toast.tsx +2 -2
  118. package/src/components/LayoutSettings.tsx +8 -8
  119. package/src/components/fragments.ts +8 -0
  120. package/src/components/index.ts +0 -2
  121. package/src/hooks/useMainSize.ts +3 -3
  122. package/src/hooks/useNode.ts +3 -1
  123. package/src/layout.ts +43 -212
  124. package/src/meta.ts +1 -0
  125. package/src/translations.ts +8 -8
  126. package/src/types.ts +88 -2
  127. package/src/util/index.ts +2 -1
  128. package/src/util/layoutAppliesTopbar.ts +7 -0
  129. package/src/util/useHoistStatusbar.ts +17 -8
  130. package/dist/lib/browser/app-graph-builder-67VRUD5K.mjs.map +0 -7
  131. package/dist/lib/browser/chunk-2PJNBVCY.mjs +0 -39
  132. package/dist/lib/browser/chunk-2PJNBVCY.mjs.map +0 -7
  133. package/dist/lib/browser/chunk-4C2AFTET.mjs +0 -186
  134. package/dist/lib/browser/chunk-4C2AFTET.mjs.map +0 -7
  135. package/dist/lib/browser/chunk-5VFDMW5M.mjs.map +0 -7
  136. package/dist/lib/browser/chunk-KY5WXIXY.mjs +0 -44
  137. package/dist/lib/browser/chunk-KY5WXIXY.mjs.map +0 -7
  138. package/dist/lib/browser/chunk-WUMAJGVA.mjs +0 -1052
  139. package/dist/lib/browser/chunk-WUMAJGVA.mjs.map +0 -7
  140. package/dist/lib/browser/deck-PLCSKPGL.mjs +0 -26
  141. package/dist/lib/browser/deck-PLCSKPGL.mjs.map +0 -7
  142. package/dist/lib/browser/intent-resolver-FVOQSTBX.mjs +0 -152
  143. package/dist/lib/browser/intent-resolver-FVOQSTBX.mjs.map +0 -7
  144. package/dist/lib/browser/intent-resolver-K7GW4A2I.mjs +0 -249
  145. package/dist/lib/browser/intent-resolver-K7GW4A2I.mjs.map +0 -7
  146. package/dist/lib/browser/location-AIO6V3MK.mjs +0 -35
  147. package/dist/lib/browser/location-AIO6V3MK.mjs.map +0 -7
  148. package/dist/lib/browser/react-context-G6PDXUI5.mjs +0 -32
  149. package/dist/lib/browser/react-context-G6PDXUI5.mjs.map +0 -7
  150. package/dist/lib/browser/react-root-AWYSGU4Q.mjs.map +0 -7
  151. package/dist/lib/browser/react-surface-CLUABFNX.mjs +0 -28
  152. package/dist/lib/browser/react-surface-CLUABFNX.mjs.map +0 -7
  153. package/dist/lib/browser/settings-FNWW6WIJ.mjs.map +0 -7
  154. package/dist/lib/browser/state-7I5BD7SE.mjs +0 -34
  155. package/dist/lib/browser/state-7I5BD7SE.mjs.map +0 -7
  156. package/dist/lib/browser/tools-4XY7KFQF.mjs.map +0 -7
  157. package/dist/lib/browser/url-handler-JRAQRY73.mjs +0 -76
  158. package/dist/lib/browser/url-handler-JRAQRY73.mjs.map +0 -7
  159. package/dist/types/src/capabilities/layout/app-graph-builder.d.ts.map +0 -1
  160. package/dist/types/src/capabilities/layout/deck.d.ts +0 -4
  161. package/dist/types/src/capabilities/layout/deck.d.ts.map +0 -1
  162. package/dist/types/src/capabilities/layout/index.d.ts +0 -229
  163. package/dist/types/src/capabilities/layout/index.d.ts.map +0 -1
  164. package/dist/types/src/capabilities/layout/intent-resolver.d.ts.map +0 -1
  165. package/dist/types/src/capabilities/layout/react-context.d.ts +0 -8
  166. package/dist/types/src/capabilities/layout/react-context.d.ts.map +0 -1
  167. package/dist/types/src/capabilities/layout/react-root.d.ts.map +0 -1
  168. package/dist/types/src/capabilities/layout/state.d.ts +0 -42
  169. package/dist/types/src/capabilities/layout/state.d.ts.map +0 -1
  170. package/dist/types/src/capabilities/navigation/check-app-scheme.d.ts.map +0 -1
  171. package/dist/types/src/capabilities/navigation/index.d.ts +0 -6
  172. package/dist/types/src/capabilities/navigation/index.d.ts.map +0 -1
  173. package/dist/types/src/capabilities/navigation/intent-resolver.d.ts +0 -4
  174. package/dist/types/src/capabilities/navigation/intent-resolver.d.ts.map +0 -1
  175. package/dist/types/src/capabilities/navigation/location.d.ts +0 -4
  176. package/dist/types/src/capabilities/navigation/location.d.ts.map +0 -1
  177. package/dist/types/src/capabilities/navigation/set-location.d.ts +0 -10
  178. package/dist/types/src/capabilities/navigation/set-location.d.ts.map +0 -1
  179. package/dist/types/src/capabilities/navigation/tools.d.ts.map +0 -1
  180. package/dist/types/src/capabilities/navigation/url-handler.d.ts.map +0 -1
  181. package/dist/types/src/capabilities/settings/index.d.ts +0 -3
  182. package/dist/types/src/capabilities/settings/index.d.ts.map +0 -1
  183. package/dist/types/src/capabilities/settings/react-surface.d.ts.map +0 -1
  184. package/dist/types/src/capabilities/settings/settings.d.ts.map +0 -1
  185. package/dist/types/src/components/DeckContext.d.ts +0 -11
  186. package/dist/types/src/components/DeckContext.d.ts.map +0 -1
  187. package/dist/types/src/components/LayoutContext.d.ts +0 -5
  188. package/dist/types/src/components/LayoutContext.d.ts.map +0 -1
  189. package/dist/types/src/layout.test.d.ts +0 -2
  190. package/dist/types/src/layout.test.d.ts.map +0 -1
  191. package/dist/types/src/util/layout-parts.d.ts +0 -7
  192. package/dist/types/src/util/layout-parts.d.ts.map +0 -1
  193. package/src/capabilities/layout/deck.ts +0 -25
  194. package/src/capabilities/layout/index.ts +0 -12
  195. package/src/capabilities/layout/intent-resolver.ts +0 -128
  196. package/src/capabilities/layout/react-context.tsx +0 -26
  197. package/src/capabilities/layout/state.ts +0 -32
  198. package/src/capabilities/navigation/index.ts +0 -11
  199. package/src/capabilities/navigation/intent-resolver.ts +0 -216
  200. package/src/capabilities/navigation/location.ts +0 -28
  201. package/src/capabilities/navigation/set-location.ts +0 -38
  202. package/src/capabilities/navigation/url-handler.ts +0 -67
  203. package/src/capabilities/settings/index.ts +0 -8
  204. package/src/capabilities/settings/react-surface.tsx +0 -23
  205. package/src/components/DeckContext.ts +0 -19
  206. package/src/components/LayoutContext.ts +0 -12
  207. package/src/layout.test.ts +0 -380
  208. package/src/util/layout-parts.ts +0 -12
  209. /package/dist/types/src/capabilities/{navigation/check-app-scheme.d.ts → check-app-scheme.d.ts} +0 -0
  210. /package/dist/types/src/capabilities/{layout/intent-resolver.d.ts → intent-resolver.d.ts} +0 -0
  211. /package/dist/types/src/capabilities/{layout/react-root.d.ts → react-root.d.ts} +0 -0
  212. /package/dist/types/src/capabilities/{settings/react-surface.d.ts → react-surface.d.ts} +0 -0
  213. /package/dist/types/src/capabilities/{settings/settings.d.ts → settings.d.ts} +0 -0
  214. /package/dist/types/src/capabilities/{navigation/url-handler.d.ts → url-handler.d.ts} +0 -0
@@ -1,21 +1,28 @@
1
+ import {
2
+ DeckCapabilities
3
+ } from "./chunk-YQ2GWTDU.mjs";
1
4
  import {
2
5
  DECK_PLUGIN
3
- } from "./chunk-JQJ5UWVB.mjs";
6
+ } from "./chunk-N7TEPFVR.mjs";
4
7
 
5
- // packages/plugins/plugin-deck/src/capabilities/layout/app-graph-builder.ts
6
- import { Capabilities, contributes, createIntent, LayoutAction, NavigationAction, openIds } from "@dxos/app-framework";
8
+ // packages/plugins/plugin-deck/src/capabilities/app-graph-builder.ts
9
+ import { Capabilities, contributes, createIntent, LayoutAction } from "@dxos/app-framework";
7
10
  import { AttentionCapabilities } from "@dxos/plugin-attention";
8
11
  import { createExtension, ROOT_ID } from "@dxos/plugin-graph";
9
12
  var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBuilder, createExtension({
10
13
  id: DECK_PLUGIN,
11
14
  filter: (node) => node.id === ROOT_ID,
12
15
  actions: () => {
16
+ const state = context.requestCapability(DeckCapabilities.MutableDeckState);
13
17
  const _fullscreen = {
14
- id: `${LayoutAction.SetLayoutMode._tag}/fullscreen`,
18
+ id: `${LayoutAction.UpdateLayout._tag}/fullscreen`,
15
19
  data: async () => {
16
20
  const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);
17
21
  await dispatch(createIntent(LayoutAction.SetLayoutMode, {
18
- layoutMode: "fullscreen"
22
+ part: "mode",
23
+ options: {
24
+ mode: "fullscreen"
25
+ }
19
26
  }));
20
27
  },
21
28
  properties: {
@@ -33,17 +40,19 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
33
40
  }
34
41
  };
35
42
  const closeCurrent = {
36
- id: `${NavigationAction.Close._tag}/current`,
43
+ id: `${LayoutAction.Close._tag}/current`,
37
44
  data: async () => {
38
45
  const attention = context.requestCapability(AttentionCapabilities.Attention);
39
46
  const attended = attention.current.at(-1);
40
47
  if (attended) {
41
48
  const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);
42
- await dispatch(createIntent(NavigationAction.Close, {
43
- activeParts: {
44
- main: [
45
- attended
46
- ]
49
+ await dispatch(createIntent(LayoutAction.Close, {
50
+ part: "main",
51
+ subject: [
52
+ attended
53
+ ],
54
+ options: {
55
+ state: false
47
56
  }
48
57
  }));
49
58
  }
@@ -59,18 +68,17 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
59
68
  }
60
69
  };
61
70
  const closeOthers = {
62
- id: `${NavigationAction.Close._tag}/others`,
71
+ id: `${LayoutAction.Close._tag}/others`,
63
72
  data: async () => {
64
73
  const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);
65
- const location = context.requestCapability(Capabilities.Location);
66
74
  const attention = context.requestCapability(AttentionCapabilities.Attention);
67
75
  const attended = attention.current.at(-1);
68
- const ids = openIds(location.active, [
69
- "main"
70
- ]).filter((id) => id !== attended);
71
- await dispatch(createIntent(NavigationAction.Close, {
72
- activeParts: {
73
- main: ids
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
74
82
  }
75
83
  }));
76
84
  },
@@ -85,15 +93,14 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
85
93
  }
86
94
  };
87
95
  const closeAll = {
88
- id: `${NavigationAction.Close._tag}/all`,
96
+ id: `${LayoutAction.Close._tag}/all`,
89
97
  data: async () => {
90
98
  const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);
91
- const location = context.requestCapability(Capabilities.Location);
92
- await dispatch(createIntent(NavigationAction.Close, {
93
- activeParts: {
94
- main: openIds(location.active, [
95
- "main"
96
- ])
99
+ await dispatch(createIntent(LayoutAction.Close, {
100
+ part: "main",
101
+ subject: state.deck.active,
102
+ options: {
103
+ state: false
97
104
  }
98
105
  }));
99
106
  },
@@ -107,15 +114,34 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
107
114
  icon: "ph--x-circle--regular"
108
115
  }
109
116
  };
110
- const layoutMode = context.requestCapabilities(Capabilities.Layout)[0]?.layoutMode;
111
- return layoutMode === "deck" ? [
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 ? [
112
135
  closeCurrent,
113
136
  closeOthers,
114
- closeAll
115
- ] : [];
137
+ closeAll,
138
+ toggleSidebar
139
+ ] : [
140
+ toggleSidebar
141
+ ];
116
142
  }
117
143
  }));
118
144
  export {
119
145
  app_graph_builder_default as default
120
146
  };
121
- //# sourceMappingURL=app-graph-builder-67VRUD5K.mjs.map
147
+ //# sourceMappingURL=app-graph-builder-CI6ZFMNL.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/app-graph-builder.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createIntent, LayoutAction, type PluginsContext } from '@dxos/app-framework';\nimport { AttentionCapabilities } from '@dxos/plugin-attention';\nimport { createExtension, type Node, ROOT_ID } from '@dxos/plugin-graph';\n\nimport { DeckCapabilities } from './capabilities';\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 const state = context.requestCapability(DeckCapabilities.MutableDeckState);\n\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.UpdateLayout._tag}/fullscreen`,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(LayoutAction.SetLayoutMode, { part: 'mode', options: { mode: '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: `${LayoutAction.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(\n createIntent(LayoutAction.Close, { part: 'main', subject: [attended], options: { state: false } }),\n );\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: `${LayoutAction.Close._tag}/others`,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n const attention = context.requestCapability(AttentionCapabilities.Attention);\n const attended = attention.current.at(-1);\n const ids = state.deck.active.filter((id) => id !== attended) ?? [];\n await dispatch(createIntent(LayoutAction.Close, { part: 'main', subject: ids, options: { state: false } }));\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: `${LayoutAction.Close._tag}/all`,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n await dispatch(\n createIntent(LayoutAction.Close, {\n part: 'main',\n subject: state.deck.active,\n options: { state: false },\n }),\n );\n },\n properties: {\n label: ['close all label', { ns: DECK_PLUGIN }],\n icon: 'ph--x-circle--regular',\n },\n };\n\n const toggleSidebar = {\n id: `${LayoutAction.UpdateSidebar._tag}/nav`,\n data: async () => {\n state.sidebarState = state.sidebarState === 'expanded' ? 'collapsed' : 'expanded';\n },\n properties: {\n label: [\n state.sidebarState === 'expanded' ? 'collapse navigation sidebar label' : 'open navigation sidebar label',\n { ns: DECK_PLUGIN },\n ],\n icon: 'ph--sidebar--regular',\n disposition: 'pin-end',\n l0Breakpoint: 'lg',\n },\n };\n\n return !state.deck.solo ? [closeCurrent, closeOthers, closeAll, toggleSidebar] : [toggleSidebar];\n },\n }),\n );\n"],
5
+ "mappings": "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",
6
+ "names": ["Capabilities", "contributes", "createIntent", "LayoutAction", "AttentionCapabilities", "createExtension", "ROOT_ID", "context", "contributes", "Capabilities", "AppGraphBuilder", "createExtension", "id", "DECK_PLUGIN", "filter", "node", "ROOT_ID", "actions", "state", "requestCapability", "DeckCapabilities", "MutableDeckState", "_fullscreen", "LayoutAction", "UpdateLayout", "_tag", "data", "dispatchPromise", "dispatch", "IntentDispatcher", "createIntent", "SetLayoutMode", "part", "options", "mode", "properties", "label", "ns", "icon", "keyBinding", "macos", "windows", "closeCurrent", "Close", "attention", "AttentionCapabilities", "Attention", "attended", "current", "at", "subject", "closeOthers", "ids", "deck", "active", "closeAll", "toggleSidebar", "UpdateSidebar", "sidebarState", "disposition", "l0Breakpoint", "solo"]
7
+ }
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  DECK_PLUGIN
3
- } from "./chunk-JQJ5UWVB.mjs";
3
+ } from "./chunk-N7TEPFVR.mjs";
4
4
 
5
- // packages/plugins/plugin-deck/src/capabilities/navigation/check-app-scheme.ts
5
+ // packages/plugins/plugin-deck/src/capabilities/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-GEX6W2R5.mjs.map
33
+ //# sourceMappingURL=check-app-scheme-S3EYUPMF.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
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"],
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"],
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
  }