@dxos/plugin-deck 0.7.5-main.9d2a38b → 0.7.5-main.e94eead

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 (233) hide show
  1. package/dist/lib/browser/{app-graph-builder-67VRUD5K.mjs → app-graph-builder-IYHAGFA3.mjs} +61 -31
  2. package/dist/lib/browser/app-graph-builder-IYHAGFA3.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-5VFDMW5M.mjs → chunk-22AQ5IVX.mjs} +2 -2
  6. package/dist/lib/browser/chunk-22AQ5IVX.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-FT33W5CI.mjs +128 -0
  8. package/dist/lib/browser/chunk-FT33W5CI.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-G2X3ZDCE.mjs +24 -0
  10. package/dist/lib/browser/chunk-G2X3ZDCE.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-KANJBSIX.mjs +97 -0
  12. package/dist/lib/browser/chunk-KANJBSIX.mjs.map +7 -0
  13. package/dist/lib/browser/{chunk-JQJ5UWVB.mjs → chunk-N7TEPFVR.mjs} +3 -2
  14. package/dist/lib/browser/{chunk-JQJ5UWVB.mjs.map → chunk-N7TEPFVR.mjs.map} +3 -3
  15. package/dist/lib/browser/chunk-O4RFYYQ6.mjs +1114 -0
  16. package/dist/lib/browser/chunk-O4RFYYQ6.mjs.map +7 -0
  17. package/dist/lib/browser/index.mjs +45 -78
  18. package/dist/lib/browser/index.mjs.map +4 -4
  19. package/dist/lib/browser/intent-resolver-ZD67BRUI.mjs +488 -0
  20. package/dist/lib/browser/intent-resolver-ZD67BRUI.mjs.map +7 -0
  21. package/dist/lib/browser/meta.json +1 -1
  22. package/dist/lib/browser/{react-root-UL7ZDRVZ.mjs → react-root-6ILKHD5J.mjs} +12 -17
  23. package/dist/lib/browser/react-root-6ILKHD5J.mjs.map +7 -0
  24. package/dist/lib/browser/react-surface-O75FKXAI.mjs +39 -0
  25. package/dist/lib/browser/react-surface-O75FKXAI.mjs.map +7 -0
  26. package/dist/lib/browser/{settings-FNWW6WIJ.mjs → settings-H35U6NHE.mjs} +6 -7
  27. package/dist/lib/browser/settings-H35U6NHE.mjs.map +7 -0
  28. package/dist/lib/browser/state-U4SHOPJW.mjs +129 -0
  29. package/dist/lib/browser/state-U4SHOPJW.mjs.map +7 -0
  30. package/dist/lib/browser/tools-64LXGLYR.mjs +59 -0
  31. package/dist/lib/browser/tools-64LXGLYR.mjs.map +7 -0
  32. package/dist/lib/browser/types.mjs +16 -4
  33. package/dist/lib/browser/url-handler-MVHTKUYA.mjs +72 -0
  34. package/dist/lib/browser/url-handler-MVHTKUYA.mjs.map +7 -0
  35. package/dist/types/src/DeckPlugin.d.ts.map +1 -1
  36. package/dist/types/src/capabilities/app-graph-builder.d.ts +181 -0
  37. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
  38. package/dist/types/src/capabilities/capabilities.d.ts +137 -8
  39. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  40. package/dist/types/src/capabilities/check-app-scheme.d.ts.map +1 -0
  41. package/dist/types/src/capabilities/index.d.ts +188 -3
  42. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  43. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -0
  44. package/dist/types/src/capabilities/react-root.d.ts.map +1 -0
  45. package/dist/types/src/capabilities/react-surface.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 +79 -0
  48. package/dist/types/src/capabilities/state.d.ts.map +1 -0
  49. package/dist/types/src/capabilities/tools.d.ts +10 -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 +1 -2
  53. package/dist/types/src/components/DeckLayout/ActiveNode.d.ts.map +1 -1
  54. package/dist/types/src/components/DeckLayout/Banner.d.ts +1 -2
  55. package/dist/types/src/components/DeckLayout/Banner.d.ts.map +1 -1
  56. package/dist/types/src/components/DeckLayout/ComplementarySidebar.d.ts +1 -4
  57. package/dist/types/src/components/DeckLayout/ComplementarySidebar.d.ts.map +1 -1
  58. package/dist/types/src/components/DeckLayout/ContentEmpty.d.ts +1 -2
  59. package/dist/types/src/components/DeckLayout/ContentEmpty.d.ts.map +1 -1
  60. package/dist/types/src/components/DeckLayout/DeckLayout.d.ts +2 -7
  61. package/dist/types/src/components/DeckLayout/DeckLayout.d.ts.map +1 -1
  62. package/dist/types/src/components/DeckLayout/Fallback.d.ts +1 -2
  63. package/dist/types/src/components/DeckLayout/Fallback.d.ts.map +1 -1
  64. package/dist/types/src/components/DeckLayout/Fullscreen.d.ts +1 -2
  65. package/dist/types/src/components/DeckLayout/Fullscreen.d.ts.map +1 -1
  66. package/dist/types/src/components/DeckLayout/NodePlankHeading.d.ts +3 -3
  67. package/dist/types/src/components/DeckLayout/NodePlankHeading.d.ts.map +1 -1
  68. package/dist/types/src/components/DeckLayout/Plank.d.ts +8 -6
  69. package/dist/types/src/components/DeckLayout/Plank.d.ts.map +1 -1
  70. package/dist/types/src/components/DeckLayout/PlankControls.d.ts +2 -2
  71. package/dist/types/src/components/DeckLayout/PlankControls.d.ts.map +1 -1
  72. package/dist/types/src/components/DeckLayout/PlankError.d.ts +6 -6
  73. package/dist/types/src/components/DeckLayout/PlankError.d.ts.map +1 -1
  74. package/dist/types/src/components/DeckLayout/PlankLoading.d.ts +1 -2
  75. package/dist/types/src/components/DeckLayout/PlankLoading.d.ts.map +1 -1
  76. package/dist/types/src/components/DeckLayout/Sidebar.d.ts +1 -2
  77. package/dist/types/src/components/DeckLayout/Sidebar.d.ts.map +1 -1
  78. package/dist/types/src/components/DeckLayout/SidebarButton.d.ts +6 -5
  79. package/dist/types/src/components/DeckLayout/SidebarButton.d.ts.map +1 -1
  80. package/dist/types/src/components/DeckLayout/StatusBar.d.ts +1 -2
  81. package/dist/types/src/components/DeckLayout/StatusBar.d.ts.map +1 -1
  82. package/dist/types/src/components/DeckLayout/Toast.d.ts +2 -3
  83. package/dist/types/src/components/DeckLayout/Toast.d.ts.map +1 -1
  84. package/dist/types/src/components/DeckLayout/Topbar.d.ts +1 -2
  85. package/dist/types/src/components/DeckLayout/Topbar.d.ts.map +1 -1
  86. package/dist/types/src/components/LayoutSettings.d.ts +1 -2
  87. package/dist/types/src/components/LayoutSettings.d.ts.map +1 -1
  88. package/dist/types/src/components/fragments.d.ts +2 -0
  89. package/dist/types/src/components/fragments.d.ts.map +1 -1
  90. package/dist/types/src/components/index.d.ts +0 -2
  91. package/dist/types/src/components/index.d.ts.map +1 -1
  92. package/dist/types/src/events.d.ts +1 -0
  93. package/dist/types/src/events.d.ts.map +1 -1
  94. package/dist/types/src/hooks/useMainSize.d.ts +2 -2
  95. package/dist/types/src/hooks/useNode.d.ts.map +1 -1
  96. package/dist/types/src/layout.d.ts +5 -19
  97. package/dist/types/src/layout.d.ts.map +1 -1
  98. package/dist/types/src/meta.d.ts +1 -0
  99. package/dist/types/src/meta.d.ts.map +1 -1
  100. package/dist/types/src/translations.d.ts +3 -3
  101. package/dist/types/src/types.d.ts +117 -2
  102. package/dist/types/src/types.d.ts.map +1 -1
  103. package/dist/types/src/util/index.d.ts +3 -1
  104. package/dist/types/src/util/index.d.ts.map +1 -1
  105. package/dist/types/src/util/layoutAppliesTopbar.d.ts +2 -0
  106. package/dist/types/src/util/layoutAppliesTopbar.d.ts.map +1 -0
  107. package/dist/types/src/util/set-active.d.ts +9 -0
  108. package/dist/types/src/util/set-active.d.ts.map +1 -0
  109. package/dist/types/src/util/useHoistStatusbar.d.ts.map +1 -1
  110. package/package.json +32 -31
  111. package/src/DeckPlugin.ts +23 -59
  112. package/src/capabilities/{layout/app-graph-builder.ts → app-graph-builder.ts} +40 -28
  113. package/src/capabilities/capabilities.ts +5 -7
  114. package/src/capabilities/{navigation/check-app-scheme.ts → check-app-scheme.ts} +2 -2
  115. package/src/capabilities/index.ts +12 -3
  116. package/src/capabilities/intent-resolver.ts +368 -0
  117. package/src/capabilities/{layout/react-root.tsx → react-root.tsx} +8 -14
  118. package/src/capabilities/react-surface.tsx +31 -0
  119. package/src/capabilities/{settings/settings.ts → settings.ts} +4 -5
  120. package/src/capabilities/state.ts +108 -0
  121. package/src/capabilities/tools.ts +66 -0
  122. package/src/capabilities/url-handler.ts +65 -0
  123. package/src/components/DeckLayout/ActiveNode.tsx +2 -3
  124. package/src/components/DeckLayout/ComplementarySidebar.tsx +185 -77
  125. package/src/components/DeckLayout/ContentEmpty.tsx +7 -10
  126. package/src/components/DeckLayout/DeckLayout.tsx +141 -84
  127. package/src/components/DeckLayout/Fullscreen.tsx +2 -3
  128. package/src/components/DeckLayout/NodePlankHeading.tsx +57 -65
  129. package/src/components/DeckLayout/Plank.tsx +33 -41
  130. package/src/components/DeckLayout/PlankControls.tsx +12 -11
  131. package/src/components/DeckLayout/PlankError.tsx +6 -5
  132. package/src/components/DeckLayout/Sidebar.tsx +17 -20
  133. package/src/components/DeckLayout/SidebarButton.tsx +25 -31
  134. package/src/components/DeckLayout/StatusBar.tsx +5 -11
  135. package/src/components/DeckLayout/Toast.tsx +2 -2
  136. package/src/components/LayoutSettings.tsx +8 -8
  137. package/src/components/fragments.ts +8 -0
  138. package/src/components/index.ts +0 -2
  139. package/src/events.ts +1 -0
  140. package/src/hooks/useMainSize.ts +3 -3
  141. package/src/hooks/useNode.ts +3 -1
  142. package/src/layout.ts +43 -212
  143. package/src/meta.ts +1 -0
  144. package/src/translations.ts +8 -8
  145. package/src/types.ts +103 -4
  146. package/src/util/index.ts +3 -1
  147. package/src/util/layoutAppliesTopbar.ts +7 -0
  148. package/src/util/set-active.ts +47 -0
  149. package/src/util/useHoistStatusbar.ts +13 -8
  150. package/dist/lib/browser/app-graph-builder-67VRUD5K.mjs.map +0 -7
  151. package/dist/lib/browser/chunk-2M4PXYNB.mjs +0 -1052
  152. package/dist/lib/browser/chunk-2M4PXYNB.mjs.map +0 -7
  153. package/dist/lib/browser/chunk-2PJNBVCY.mjs +0 -39
  154. package/dist/lib/browser/chunk-2PJNBVCY.mjs.map +0 -7
  155. package/dist/lib/browser/chunk-4C2AFTET.mjs +0 -186
  156. package/dist/lib/browser/chunk-4C2AFTET.mjs.map +0 -7
  157. package/dist/lib/browser/chunk-5VFDMW5M.mjs.map +0 -7
  158. package/dist/lib/browser/chunk-KY5WXIXY.mjs +0 -44
  159. package/dist/lib/browser/chunk-KY5WXIXY.mjs.map +0 -7
  160. package/dist/lib/browser/deck-PLCSKPGL.mjs +0 -26
  161. package/dist/lib/browser/deck-PLCSKPGL.mjs.map +0 -7
  162. package/dist/lib/browser/intent-resolver-FVOQSTBX.mjs +0 -152
  163. package/dist/lib/browser/intent-resolver-FVOQSTBX.mjs.map +0 -7
  164. package/dist/lib/browser/intent-resolver-K7GW4A2I.mjs +0 -249
  165. package/dist/lib/browser/intent-resolver-K7GW4A2I.mjs.map +0 -7
  166. package/dist/lib/browser/location-QHRBQBQN.mjs +0 -35
  167. package/dist/lib/browser/location-QHRBQBQN.mjs.map +0 -7
  168. package/dist/lib/browser/react-context-3BDW7W2N.mjs +0 -32
  169. package/dist/lib/browser/react-context-3BDW7W2N.mjs.map +0 -7
  170. package/dist/lib/browser/react-root-UL7ZDRVZ.mjs.map +0 -7
  171. package/dist/lib/browser/react-surface-VPNOGGNN.mjs +0 -28
  172. package/dist/lib/browser/react-surface-VPNOGGNN.mjs.map +0 -7
  173. package/dist/lib/browser/settings-FNWW6WIJ.mjs.map +0 -7
  174. package/dist/lib/browser/state-7I5BD7SE.mjs +0 -34
  175. package/dist/lib/browser/state-7I5BD7SE.mjs.map +0 -7
  176. package/dist/lib/browser/url-handler-Z5B7LD3N.mjs +0 -76
  177. package/dist/lib/browser/url-handler-Z5B7LD3N.mjs.map +0 -7
  178. package/dist/types/src/capabilities/layout/app-graph-builder.d.ts +0 -181
  179. package/dist/types/src/capabilities/layout/app-graph-builder.d.ts.map +0 -1
  180. package/dist/types/src/capabilities/layout/deck.d.ts +0 -4
  181. package/dist/types/src/capabilities/layout/deck.d.ts.map +0 -1
  182. package/dist/types/src/capabilities/layout/index.d.ts +0 -229
  183. package/dist/types/src/capabilities/layout/index.d.ts.map +0 -1
  184. package/dist/types/src/capabilities/layout/intent-resolver.d.ts.map +0 -1
  185. package/dist/types/src/capabilities/layout/react-context.d.ts +0 -8
  186. package/dist/types/src/capabilities/layout/react-context.d.ts.map +0 -1
  187. package/dist/types/src/capabilities/layout/react-root.d.ts.map +0 -1
  188. package/dist/types/src/capabilities/layout/state.d.ts +0 -42
  189. package/dist/types/src/capabilities/layout/state.d.ts.map +0 -1
  190. package/dist/types/src/capabilities/navigation/check-app-scheme.d.ts.map +0 -1
  191. package/dist/types/src/capabilities/navigation/index.d.ts +0 -5
  192. package/dist/types/src/capabilities/navigation/index.d.ts.map +0 -1
  193. package/dist/types/src/capabilities/navigation/intent-resolver.d.ts +0 -4
  194. package/dist/types/src/capabilities/navigation/intent-resolver.d.ts.map +0 -1
  195. package/dist/types/src/capabilities/navigation/location.d.ts +0 -4
  196. package/dist/types/src/capabilities/navigation/location.d.ts.map +0 -1
  197. package/dist/types/src/capabilities/navigation/set-location.d.ts +0 -10
  198. package/dist/types/src/capabilities/navigation/set-location.d.ts.map +0 -1
  199. package/dist/types/src/capabilities/navigation/url-handler.d.ts.map +0 -1
  200. package/dist/types/src/capabilities/settings/index.d.ts +0 -3
  201. package/dist/types/src/capabilities/settings/index.d.ts.map +0 -1
  202. package/dist/types/src/capabilities/settings/react-surface.d.ts.map +0 -1
  203. package/dist/types/src/capabilities/settings/settings.d.ts.map +0 -1
  204. package/dist/types/src/components/DeckContext.d.ts +0 -11
  205. package/dist/types/src/components/DeckContext.d.ts.map +0 -1
  206. package/dist/types/src/components/LayoutContext.d.ts +0 -5
  207. package/dist/types/src/components/LayoutContext.d.ts.map +0 -1
  208. package/dist/types/src/layout.test.d.ts +0 -2
  209. package/dist/types/src/layout.test.d.ts.map +0 -1
  210. package/dist/types/src/util/layout-parts.d.ts +0 -7
  211. package/dist/types/src/util/layout-parts.d.ts.map +0 -1
  212. package/src/capabilities/layout/deck.ts +0 -25
  213. package/src/capabilities/layout/index.ts +0 -12
  214. package/src/capabilities/layout/intent-resolver.ts +0 -128
  215. package/src/capabilities/layout/react-context.tsx +0 -26
  216. package/src/capabilities/layout/state.ts +0 -32
  217. package/src/capabilities/navigation/index.ts +0 -10
  218. package/src/capabilities/navigation/intent-resolver.ts +0 -216
  219. package/src/capabilities/navigation/location.ts +0 -28
  220. package/src/capabilities/navigation/set-location.ts +0 -38
  221. package/src/capabilities/navigation/url-handler.ts +0 -67
  222. package/src/capabilities/settings/index.ts +0 -8
  223. package/src/capabilities/settings/react-surface.tsx +0 -23
  224. package/src/components/DeckContext.ts +0 -19
  225. package/src/components/LayoutContext.ts +0 -12
  226. package/src/layout.test.ts +0 -380
  227. package/src/util/layout-parts.ts +0 -12
  228. /package/dist/types/src/capabilities/{navigation/check-app-scheme.d.ts → check-app-scheme.d.ts} +0 -0
  229. /package/dist/types/src/capabilities/{layout/intent-resolver.d.ts → intent-resolver.d.ts} +0 -0
  230. /package/dist/types/src/capabilities/{layout/react-root.d.ts → react-root.d.ts} +0 -0
  231. /package/dist/types/src/capabilities/{settings/react-surface.d.ts → react-surface.d.ts} +0 -0
  232. /package/dist/types/src/capabilities/{settings/settings.d.ts → settings.d.ts} +0 -0
  233. /package/dist/types/src/capabilities/{navigation/url-handler.d.ts → url-handler.d.ts} +0 -0
@@ -1,26 +0,0 @@
1
- import {
2
- DeckCapabilities
3
- } from "./chunk-5VFDMW5M.mjs";
4
- import "./chunk-JQJ5UWVB.mjs";
5
-
6
- // packages/plugins/plugin-deck/src/capabilities/layout/deck.ts
7
- import { contributes } from "@dxos/app-framework";
8
- import { LocalStorageStore } from "@dxos/local-storage";
9
- var DECK_KEY = "dxos.org/settings/deck";
10
- var deck_default = () => {
11
- const deck = new LocalStorageStore(DECK_KEY, {
12
- plankSizing: {},
13
- currentUndoId: void 0,
14
- // TODO(Zan): Cap depth!
15
- layoutModeHistory: []
16
- });
17
- deck.prop({
18
- key: "plankSizing",
19
- type: LocalStorageStore.json()
20
- });
21
- return contributes(DeckCapabilities.DeckState, deck.values, () => deck.close());
22
- };
23
- export {
24
- deck_default as default
25
- };
26
- //# sourceMappingURL=deck-PLCSKPGL.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/layout/deck.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { contributes } from '@dxos/app-framework';\nimport { LocalStorageStore } from '@dxos/local-storage';\n\nimport { type DeckContextType } from '../../components';\nimport { DeckCapabilities } from '../capabilities';\n\n// NOTE: The key is this currently for backwards compatibility of storage.\nconst DECK_KEY = 'dxos.org/settings/deck';\n\nexport default () => {\n const deck = new LocalStorageStore<DeckContextType>(DECK_KEY, {\n plankSizing: {},\n currentUndoId: undefined,\n // TODO(Zan): Cap depth!\n layoutModeHistory: [],\n });\n\n deck.prop({ key: 'plankSizing', type: LocalStorageStore.json<Record<string, number>>() });\n\n return contributes(DeckCapabilities.DeckState, deck.values, () => deck.close());\n};\n"],
5
- "mappings": ";;;;;;AAIA,SAASA,mBAAmB;AAC5B,SAASC,yBAAyB;AAMlC,IAAMC,WAAW;AAEjB,IAAA,eAAe,MAAA;AACb,QAAMC,OAAO,IAAIC,kBAAmCF,UAAU;IAC5DG,aAAa,CAAC;IACdC,eAAeC;;IAEfC,mBAAmB,CAAA;EACrB,CAAA;AAEAL,OAAKM,KAAK;IAAEC,KAAK;IAAeC,MAAMP,kBAAkBQ,KAAI;EAA2B,CAAA;AAEvF,SAAOC,YAAYC,iBAAiBC,WAAWZ,KAAKa,QAAQ,MAAMb,KAAKc,MAAK,CAAA;AAC9E;",
6
- "names": ["contributes", "LocalStorageStore", "DECK_KEY", "deck", "LocalStorageStore", "plankSizing", "currentUndoId", "undefined", "layoutModeHistory", "prop", "key", "type", "json", "contributes", "DeckCapabilities", "DeckState", "values", "close"]
7
- }
@@ -1,152 +0,0 @@
1
- import {
2
- DeckAction
3
- } from "./chunk-KY5WXIXY.mjs";
4
- import {
5
- DeckCapabilities
6
- } from "./chunk-5VFDMW5M.mjs";
7
- import {
8
- DECK_PLUGIN
9
- } from "./chunk-JQJ5UWVB.mjs";
10
-
11
- // packages/plugins/plugin-deck/src/capabilities/layout/intent-resolver.ts
12
- import { batch } from "@preact/signals-core";
13
- import { Capabilities, createResolver, contributes, IntentAction, LayoutAction, openIds, Toast as ToastSchema } from "@dxos/app-framework";
14
- import { S } from "@dxos/echo-schema";
15
- import { log } from "@dxos/log";
16
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-deck/src/capabilities/layout/intent-resolver.ts";
17
- var intent_resolver_default = (context) => contributes(Capabilities.IntentResolver, [
18
- createResolver(DeckAction.UpdatePlankSize, (data) => {
19
- const deck = context.requestCapability(DeckCapabilities.MutableDeckState);
20
- deck.plankSizing[data.id] = data.size;
21
- }),
22
- createResolver(IntentAction.ShowUndo, (data) => {
23
- const deck = context.requestCapability(DeckCapabilities.MutableDeckState);
24
- const layout = context.requestCapability(Capabilities.MutableLayout);
25
- const { undoPromise: undo } = context.requestCapability(Capabilities.IntentDispatcher);
26
- if (deck.currentUndoId) {
27
- layout.toasts = layout.toasts.filter((toast) => toast.id !== deck.currentUndoId);
28
- }
29
- deck.currentUndoId = `${IntentAction.ShowUndo._tag}-${Date.now()}`;
30
- layout.toasts = [
31
- ...layout.toasts,
32
- {
33
- id: deck.currentUndoId,
34
- title: data.message ?? [
35
- "undo available label",
36
- {
37
- ns: DECK_PLUGIN
38
- }
39
- ],
40
- duration: 1e4,
41
- actionLabel: [
42
- "undo action label",
43
- {
44
- ns: DECK_PLUGIN
45
- }
46
- ],
47
- actionAlt: [
48
- "undo action alt",
49
- {
50
- ns: DECK_PLUGIN
51
- }
52
- ],
53
- closeLabel: [
54
- "undo close label",
55
- {
56
- ns: DECK_PLUGIN
57
- }
58
- ],
59
- onAction: () => undo()
60
- }
61
- ];
62
- }),
63
- createResolver(LayoutAction.SetLayout, ({ element, state, component, subject, anchorId, dialogBlockAlign, dialogType }) => {
64
- const layout = context.requestCapability(Capabilities.MutableLayout);
65
- switch (element) {
66
- case "sidebar": {
67
- layout.sidebarOpen = state ?? !layout.sidebarOpen;
68
- break;
69
- }
70
- case "complementary": {
71
- layout.complementarySidebarOpen = !!state;
72
- break;
73
- }
74
- case "dialog": {
75
- layout.dialogOpen = state ?? Boolean(component);
76
- layout.dialogContent = component ? {
77
- component,
78
- subject
79
- } : null;
80
- layout.dialogBlockAlign = dialogBlockAlign ?? "center";
81
- layout.dialogType = dialogType;
82
- break;
83
- }
84
- case "popover": {
85
- layout.popoverOpen = state ?? Boolean(component);
86
- layout.popoverContent = component ? {
87
- component,
88
- subject
89
- } : null;
90
- layout.popoverAnchorId = anchorId;
91
- break;
92
- }
93
- case "toast": {
94
- if (S.is(ToastSchema)(subject)) {
95
- layout.toasts = [
96
- ...layout.toasts,
97
- subject
98
- ];
99
- }
100
- break;
101
- }
102
- }
103
- }),
104
- createResolver(LayoutAction.SetLayoutMode, (data) => {
105
- const layout = context.requestCapability(Capabilities.MutableLayout);
106
- const location = context.requestCapability(Capabilities.MutableLocation);
107
- const deck = context.requestCapability(DeckCapabilities.MutableDeckState);
108
- const setMode = (mode) => {
109
- const main = openIds(location.active, [
110
- "main"
111
- ]);
112
- const solo = openIds(location.active, [
113
- "solo"
114
- ]);
115
- const current = layout.layoutMode === "solo" ? solo : main;
116
- const next = mode === "solo" ? solo : [
117
- ...main,
118
- ...solo
119
- ];
120
- const removed = current.filter((id) => !next.includes(id));
121
- const closed = Array.from(/* @__PURE__ */ new Set([
122
- ...location.closed.filter((id) => !next.includes(id)),
123
- ...removed
124
- ]));
125
- location.closed = closed;
126
- layout.layoutMode = mode;
127
- };
128
- return batch(() => {
129
- if ("layoutMode" in data) {
130
- deck.layoutModeHistory.push(layout.layoutMode);
131
- setMode(data.layoutMode);
132
- } else if (data.revert) {
133
- setMode(deck.layoutModeHistory.pop() ?? "solo");
134
- } else {
135
- log.warn("Invalid layout mode", data, {
136
- F: __dxlog_file,
137
- L: 120,
138
- S: void 0,
139
- C: (f, a) => f(...a)
140
- });
141
- }
142
- });
143
- }),
144
- createResolver(LayoutAction.ScrollIntoView, ({ id }) => {
145
- const layout = context.requestCapability(Capabilities.MutableLayout);
146
- layout.scrollIntoView = id;
147
- })
148
- ]);
149
- export {
150
- intent_resolver_default as default
151
- };
152
- //# sourceMappingURL=intent-resolver-FVOQSTBX.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/layout/intent-resolver.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { batch } from '@preact/signals-core';\n\nimport {\n Capabilities,\n createResolver,\n contributes,\n IntentAction,\n LayoutAction,\n openIds,\n Toast as ToastSchema,\n type LayoutMode,\n type PluginsContext,\n} from '@dxos/app-framework';\nimport { S } from '@dxos/echo-schema';\nimport { log } from '@dxos/log';\n\nimport { DECK_PLUGIN } from '../../meta';\nimport { DeckAction } from '../../types';\nimport { DeckCapabilities } from '../capabilities';\n\nexport default (context: PluginsContext) =>\n contributes(Capabilities.IntentResolver, [\n createResolver(DeckAction.UpdatePlankSize, (data) => {\n const deck = context.requestCapability(DeckCapabilities.MutableDeckState);\n deck.plankSizing[data.id] = data.size;\n }),\n createResolver(IntentAction.ShowUndo, (data) => {\n const deck = context.requestCapability(DeckCapabilities.MutableDeckState);\n const layout = context.requestCapability(Capabilities.MutableLayout);\n const { undoPromise: undo } = context.requestCapability(Capabilities.IntentDispatcher);\n\n // TODO(wittjosiah): Support undoing further back than the last action.\n if (deck.currentUndoId) {\n layout.toasts = layout.toasts.filter((toast) => toast.id !== deck.currentUndoId);\n }\n deck.currentUndoId = `${IntentAction.ShowUndo._tag}-${Date.now()}`;\n layout.toasts = [\n ...layout.toasts,\n {\n id: deck.currentUndoId,\n title: data.message ?? ['undo available label', { ns: DECK_PLUGIN }],\n duration: 10_000,\n actionLabel: ['undo action label', { ns: DECK_PLUGIN }],\n actionAlt: ['undo action alt', { ns: DECK_PLUGIN }],\n closeLabel: ['undo close label', { ns: DECK_PLUGIN }],\n onAction: () => undo(),\n },\n ];\n }),\n createResolver(\n LayoutAction.SetLayout,\n ({ element, state, component, subject, anchorId, dialogBlockAlign, dialogType }) => {\n const layout = context.requestCapability(Capabilities.MutableLayout);\n switch (element) {\n case 'sidebar': {\n layout.sidebarOpen = state ?? !layout.sidebarOpen;\n break;\n }\n\n case 'complementary': {\n layout.complementarySidebarOpen = !!state;\n // TODO(thure): Hoist content into the c11y sidebar of Deck.\n // layout.complementarySidebarContent = component || subject ? { component, subject } : null;\n break;\n }\n\n case 'dialog': {\n layout.dialogOpen = state ?? Boolean(component);\n layout.dialogContent = component ? { component, subject } : null;\n layout.dialogBlockAlign = dialogBlockAlign ?? 'center';\n layout.dialogType = dialogType;\n break;\n }\n\n case 'popover': {\n layout.popoverOpen = state ?? Boolean(component);\n layout.popoverContent = component ? { component, subject } : null;\n layout.popoverAnchorId = anchorId;\n break;\n }\n\n case 'toast': {\n if (S.is(ToastSchema)(subject)) {\n layout.toasts = [...layout.toasts, subject];\n }\n break;\n }\n }\n },\n ),\n createResolver(LayoutAction.SetLayoutMode, (data) => {\n const layout = context.requestCapability(Capabilities.MutableLayout);\n const location = context.requestCapability(Capabilities.MutableLocation);\n const deck = context.requestCapability(DeckCapabilities.MutableDeckState);\n\n const setMode = (mode: LayoutMode) => {\n const main = openIds(location.active, ['main']);\n const solo = openIds(location.active, ['solo']);\n const current = layout.layoutMode === 'solo' ? solo : main;\n // When un-soloing, the solo entry is added to the deck.\n const next = mode === 'solo' ? solo : [...main, ...solo];\n const removed = current.filter((id) => !next.includes(id));\n const closed = Array.from(new Set([...location.closed.filter((id) => !next.includes(id)), ...removed]));\n\n location.closed = closed;\n layout.layoutMode = mode;\n };\n\n return batch(() => {\n if ('layoutMode' in data) {\n deck.layoutModeHistory.push(layout.layoutMode);\n setMode(data.layoutMode);\n } else if (data.revert) {\n setMode(deck.layoutModeHistory.pop() ?? 'solo');\n } else {\n log.warn('Invalid layout mode', data);\n }\n });\n }),\n createResolver(LayoutAction.ScrollIntoView, ({ id }) => {\n const layout = context.requestCapability(Capabilities.MutableLayout);\n layout.scrollIntoView = id;\n }),\n ]);\n"],
5
- "mappings": "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",
6
- "names": ["batch", "Capabilities", "createResolver", "contributes", "IntentAction", "LayoutAction", "openIds", "Toast", "ToastSchema", "S", "log", "context", "contributes", "Capabilities", "IntentResolver", "createResolver", "DeckAction", "UpdatePlankSize", "data", "deck", "requestCapability", "DeckCapabilities", "MutableDeckState", "plankSizing", "id", "size", "IntentAction", "ShowUndo", "layout", "MutableLayout", "undoPromise", "undo", "IntentDispatcher", "currentUndoId", "toasts", "filter", "toast", "_tag", "Date", "now", "title", "message", "ns", "DECK_PLUGIN", "duration", "actionLabel", "actionAlt", "closeLabel", "onAction", "LayoutAction", "SetLayout", "element", "state", "component", "subject", "anchorId", "dialogBlockAlign", "dialogType", "sidebarOpen", "complementarySidebarOpen", "dialogOpen", "Boolean", "dialogContent", "popoverOpen", "popoverContent", "popoverAnchorId", "S", "is", "ToastSchema", "SetLayoutMode", "location", "MutableLocation", "setMode", "mode", "main", "openIds", "active", "solo", "current", "layoutMode", "next", "removed", "includes", "closed", "Array", "from", "Set", "batch", "layoutModeHistory", "push", "revert", "pop", "log", "warn", "ScrollIntoView", "scrollIntoView"]
7
- }
@@ -1,249 +0,0 @@
1
- import {
2
- closeEntry,
3
- incrementPlank,
4
- openEntry,
5
- setLocation
6
- } from "./chunk-4C2AFTET.mjs";
7
- import {
8
- getEffectivePart
9
- } from "./chunk-2PJNBVCY.mjs";
10
- import {
11
- DECK_PLUGIN
12
- } from "./chunk-JQJ5UWVB.mjs";
13
-
14
- // packages/plugins/plugin-deck/src/capabilities/navigation/intent-resolver.ts
15
- import { batch } from "@preact/signals-core";
16
- import { pipe } from "effect";
17
- import { Capabilities, chain, contributes, createIntent, createResolver, LayoutAction, NavigationAction, openIds, SLUG_PATH_SEPARATOR } from "@dxos/app-framework";
18
- import { isReactiveObject, getTypename } from "@dxos/live-object";
19
- import { AttentionCapabilities } from "@dxos/plugin-attention";
20
- import { ObservabilityAction } from "@dxos/plugin-observability/types";
21
- var intent_resolver_default = (context) => contributes(Capabilities.IntentResolver, [
22
- createResolver(NavigationAction.Open, (data) => {
23
- const { graph } = context.requestCapability(Capabilities.AppGraph);
24
- const location = context.requestCapability(Capabilities.MutableLocation);
25
- const layout = context.requestCapability(Capabilities.MutableLayout);
26
- const attention = context.requestCapability(AttentionCapabilities.Attention);
27
- const settings = context.requestCapabilities(Capabilities.SettingsStore)[0]?.getStore(DECK_PLUGIN)?.value;
28
- const previouslyOpenIds = new Set(openIds(location.active));
29
- const layoutMode = layout.layoutMode;
30
- const toAttend = batch(() => {
31
- const processLayoutEntry = (partName, entryString, currentLayout) => {
32
- const toggle = false;
33
- const [id, path] = entryString.split(SLUG_PATH_SEPARATOR);
34
- const layoutEntry = {
35
- id,
36
- ...path ? {
37
- path
38
- } : {}
39
- };
40
- const effectivePart = getEffectivePart(partName, layoutMode);
41
- if (toggle && layoutMode === "deck" && effectivePart === "main" && currentLayout[effectivePart]?.some((entry) => entry.id === id) && !data?.noToggle) {
42
- return closeEntry(currentLayout, {
43
- part: effectivePart,
44
- entryId: id
45
- });
46
- } else {
47
- return openEntry(currentLayout, effectivePart, layoutEntry, {
48
- positioning: settings?.newPlankPositioning
49
- });
50
- }
51
- };
52
- let newLayout = location.active;
53
- Object.entries(data.activeParts).forEach(([partName, layoutEntries]) => {
54
- if (Array.isArray(layoutEntries)) {
55
- layoutEntries.forEach((activePartEntry) => {
56
- newLayout = processLayoutEntry(partName, activePartEntry, newLayout);
57
- });
58
- } else if (typeof layoutEntries === "string") {
59
- newLayout = processLayoutEntry(partName, layoutEntries, newLayout);
60
- }
61
- });
62
- return setLocation({
63
- next: newLayout,
64
- layout,
65
- location,
66
- attention
67
- });
68
- });
69
- const ids = openIds(location.active);
70
- const newlyOpen = ids.filter((i) => !previouslyOpenIds.has(i));
71
- return {
72
- data: {
73
- open: ids
74
- },
75
- intents: [
76
- createIntent(LayoutAction.ScrollIntoView, {
77
- id: newlyOpen[0] ?? toAttend
78
- }),
79
- ...toAttend ? [
80
- createIntent(NavigationAction.Expose, {
81
- id: toAttend
82
- })
83
- ] : [],
84
- ...newlyOpen.map((id) => {
85
- const active = graph?.findNode(id)?.data;
86
- const typename = isReactiveObject(active) ? getTypename(active) : void 0;
87
- return createIntent(ObservabilityAction.SendEvent, {
88
- name: "navigation.activate",
89
- properties: {
90
- id,
91
- typename
92
- }
93
- });
94
- })
95
- ]
96
- };
97
- }),
98
- createResolver(NavigationAction.AddToActive, (data) => {
99
- const location = context.requestCapability(Capabilities.MutableLocation);
100
- const layout = context.requestCapability(Capabilities.MutableLayout);
101
- const attention = context.requestCapability(AttentionCapabilities.Attention);
102
- const settings = context.requestCapabilities(Capabilities.SettingsStore)[0]?.getStore(DECK_PLUGIN)?.value;
103
- const layoutEntry = {
104
- id: data.id
105
- };
106
- const effectivePart = getEffectivePart(data.part, layout.layoutMode);
107
- setLocation({
108
- next: openEntry(location.active, effectivePart, layoutEntry, {
109
- positioning: data.positioning ?? settings?.newPlankPositioning,
110
- pivotId: data.pivotId
111
- }),
112
- layout,
113
- location,
114
- attention
115
- });
116
- const intents = [];
117
- if (data.scrollIntoView && layout.layoutMode === "deck") {
118
- intents.push(createIntent(LayoutAction.ScrollIntoView, {
119
- id: data.id
120
- }));
121
- }
122
- return {
123
- intents
124
- };
125
- }),
126
- createResolver(NavigationAction.Close, (data) => {
127
- const location = context.requestCapability(Capabilities.MutableLocation);
128
- const layout = context.requestCapability(Capabilities.MutableLayout);
129
- const attention = context.requestCapability(AttentionCapabilities.Attention);
130
- let newLayout = location.active;
131
- const layoutMode = layout.layoutMode;
132
- const intentParts = data.activeParts;
133
- Object.keys(intentParts).forEach((partName) => {
134
- const effectivePart = getEffectivePart(partName, layoutMode);
135
- const ids = intentParts[partName];
136
- if (Array.isArray(ids)) {
137
- ids.forEach((id) => {
138
- newLayout = closeEntry(newLayout, {
139
- part: effectivePart,
140
- entryId: id
141
- });
142
- });
143
- } else {
144
- newLayout = closeEntry(newLayout, {
145
- part: effectivePart,
146
- entryId: ids
147
- });
148
- }
149
- });
150
- const toAttend = setLocation({
151
- next: newLayout,
152
- layout,
153
- location,
154
- attention
155
- });
156
- return {
157
- intents: [
158
- createIntent(LayoutAction.ScrollIntoView, {
159
- id: toAttend
160
- })
161
- ]
162
- };
163
- }),
164
- createResolver(NavigationAction.Set, (data) => {
165
- const layout = context.requestCapability(Capabilities.MutableLayout);
166
- const location = context.requestCapability(Capabilities.MutableLocation);
167
- const attention = context.requestCapability(AttentionCapabilities.Attention);
168
- return batch(() => {
169
- const toAttend = setLocation({
170
- next: data.activeParts,
171
- layout,
172
- location,
173
- attention
174
- });
175
- return {
176
- intents: [
177
- createIntent(LayoutAction.ScrollIntoView, {
178
- id: toAttend
179
- })
180
- ]
181
- };
182
- });
183
- }),
184
- createResolver(NavigationAction.Adjust, (adjustment) => {
185
- const location = context.requestCapability(Capabilities.MutableLocation);
186
- const layout = context.requestCapability(Capabilities.MutableLayout);
187
- const attention = context.requestCapability(AttentionCapabilities.Attention);
188
- return batch(() => {
189
- if (adjustment.type === "increment-end" || adjustment.type === "increment-start") {
190
- setLocation({
191
- next: incrementPlank(location.active, {
192
- type: adjustment.type,
193
- layoutCoordinate: adjustment.layoutCoordinate
194
- }),
195
- layout,
196
- location,
197
- attention
198
- });
199
- }
200
- if (adjustment.type === "solo") {
201
- const entryId = adjustment.layoutCoordinate.entryId;
202
- if (layout.layoutMode !== "solo") {
203
- return {
204
- intents: [
205
- // NOTE: The order of these is important.
206
- pipe(createIntent(NavigationAction.Open, {
207
- activeParts: {
208
- solo: [
209
- entryId
210
- ]
211
- }
212
- }), chain(LayoutAction.SetLayoutMode, {
213
- layoutMode: "solo"
214
- }))
215
- ]
216
- };
217
- } else {
218
- return {
219
- intents: [
220
- // NOTE: The order of these is important.
221
- pipe(createIntent(LayoutAction.SetLayoutMode, {
222
- layoutMode: "deck"
223
- }), chain(NavigationAction.Close, {
224
- activeParts: {
225
- solo: [
226
- entryId
227
- ]
228
- }
229
- }), chain(NavigationAction.Open, {
230
- activeParts: {
231
- main: [
232
- entryId
233
- ]
234
- },
235
- noToggle: true
236
- }), chain(LayoutAction.ScrollIntoView, {
237
- id: entryId
238
- }))
239
- ]
240
- };
241
- }
242
- }
243
- });
244
- })
245
- ]);
246
- export {
247
- intent_resolver_default as default
248
- };
249
- //# sourceMappingURL=intent-resolver-K7GW4A2I.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/navigation/intent-resolver.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { batch } from '@preact/signals-core';\nimport { pipe } from 'effect';\n\nimport {\n Capabilities,\n chain,\n contributes,\n createIntent,\n createResolver,\n LayoutAction,\n NavigationAction,\n openIds,\n SLUG_PATH_SEPARATOR,\n type LayoutEntry,\n type LayoutPart,\n type PluginsContext,\n} from '@dxos/app-framework';\nimport { isReactiveObject, getTypename } from '@dxos/live-object';\nimport { AttentionCapabilities } from '@dxos/plugin-attention';\nimport { ObservabilityAction } from '@dxos/plugin-observability/types';\n\nimport { setLocation } from './set-location';\nimport { closeEntry, incrementPlank, openEntry } from '../../layout';\nimport { DECK_PLUGIN } from '../../meta';\nimport { type DeckSettingsProps } from '../../types';\nimport { getEffectivePart } from '../../util';\n\n// TODO(wittjosiah): Factor out navgiation from deck plugin.\nexport default (context: PluginsContext) =>\n contributes(Capabilities.IntentResolver, [\n createResolver(NavigationAction.Open, (data) => {\n const { graph } = context.requestCapability(Capabilities.AppGraph);\n const location = context.requestCapability(Capabilities.MutableLocation);\n const layout = context.requestCapability(Capabilities.MutableLayout);\n const attention = context.requestCapability(AttentionCapabilities.Attention);\n const settings = context\n .requestCapabilities(Capabilities.SettingsStore)[0]\n ?.getStore<DeckSettingsProps>(DECK_PLUGIN)?.value;\n\n const previouslyOpenIds = new Set<string>(openIds(location.active));\n const layoutMode = layout.layoutMode;\n const toAttend = batch(() => {\n const processLayoutEntry = (partName: string, entryString: string, currentLayout: any) => {\n // TODO(burdon): Option to toggle?\n const toggle = false;\n const [id, path] = entryString.split(SLUG_PATH_SEPARATOR);\n const layoutEntry: LayoutEntry = { id, ...(path ? { path } : {}) };\n const effectivePart = getEffectivePart(partName as LayoutPart, layoutMode);\n if (\n toggle &&\n layoutMode === 'deck' &&\n effectivePart === 'main' &&\n currentLayout[effectivePart]?.some((entry: LayoutEntry) => entry.id === id) &&\n !data?.noToggle\n ) {\n // If we're in deck mode and the main part is already open, toggle it closed.\n return closeEntry(currentLayout, { part: effectivePart as LayoutPart, entryId: id });\n } else {\n return openEntry(currentLayout, effectivePart, layoutEntry, {\n positioning: settings?.newPlankPositioning,\n });\n }\n };\n\n let newLayout = location.active;\n Object.entries(data.activeParts).forEach(([partName, layoutEntries]) => {\n if (Array.isArray(layoutEntries)) {\n layoutEntries.forEach((activePartEntry: string) => {\n newLayout = processLayoutEntry(partName, activePartEntry, newLayout);\n });\n } else if (typeof layoutEntries === 'string') {\n // Legacy single string entry.\n newLayout = processLayoutEntry(partName, layoutEntries, newLayout);\n }\n });\n\n return setLocation({ next: newLayout, layout, location, attention });\n });\n\n const ids = openIds(location.active);\n const newlyOpen = ids.filter((i) => !previouslyOpenIds.has(i));\n\n return {\n data: { open: ids },\n intents: [\n createIntent(LayoutAction.ScrollIntoView, { id: newlyOpen[0] ?? toAttend }),\n ...(toAttend ? [createIntent(NavigationAction.Expose, { id: toAttend })] : []),\n ...newlyOpen.map((id) => {\n const active = graph?.findNode(id)?.data;\n const typename = isReactiveObject(active) ? getTypename(active) : undefined;\n return createIntent(ObservabilityAction.SendEvent, {\n name: 'navigation.activate',\n properties: {\n id,\n typename,\n },\n });\n }),\n ],\n };\n }),\n createResolver(NavigationAction.AddToActive, (data) => {\n const location = context.requestCapability(Capabilities.MutableLocation);\n const layout = context.requestCapability(Capabilities.MutableLayout);\n const attention = context.requestCapability(AttentionCapabilities.Attention);\n const settings = context\n .requestCapabilities(Capabilities.SettingsStore)[0]\n ?.getStore<DeckSettingsProps>(DECK_PLUGIN)?.value;\n\n const layoutEntry = { id: data.id };\n const effectivePart = getEffectivePart(data.part, layout.layoutMode);\n\n setLocation({\n next: openEntry(location.active, effectivePart, layoutEntry, {\n positioning: data.positioning ?? settings?.newPlankPositioning,\n pivotId: data.pivotId,\n }),\n layout,\n location,\n attention,\n });\n\n const intents = [];\n if (data.scrollIntoView && layout.layoutMode === 'deck') {\n intents.push(createIntent(LayoutAction.ScrollIntoView, { id: data.id }));\n }\n\n return { intents };\n }),\n createResolver(NavigationAction.Close, (data) => {\n const location = context.requestCapability(Capabilities.MutableLocation);\n const layout = context.requestCapability(Capabilities.MutableLayout);\n const attention = context.requestCapability(AttentionCapabilities.Attention);\n\n let newLayout = location.active;\n const layoutMode = layout.layoutMode;\n const intentParts = data.activeParts;\n Object.keys(intentParts).forEach((partName: string) => {\n const effectivePart = getEffectivePart(partName as LayoutPart, layoutMode);\n const ids = intentParts[partName];\n if (Array.isArray(ids)) {\n ids.forEach((id: string) => {\n newLayout = closeEntry(newLayout, { part: effectivePart, entryId: id });\n });\n } else {\n // Legacy single string entry\n newLayout = closeEntry(newLayout, { part: effectivePart, entryId: ids });\n }\n });\n\n const toAttend = setLocation({ next: newLayout, layout, location, attention });\n return { intents: [createIntent(LayoutAction.ScrollIntoView, { id: toAttend })] };\n }),\n createResolver(NavigationAction.Set, (data) => {\n const layout = context.requestCapability(Capabilities.MutableLayout);\n const location = context.requestCapability(Capabilities.MutableLocation);\n const attention = context.requestCapability(AttentionCapabilities.Attention);\n\n return batch(() => {\n const toAttend = setLocation({ next: data.activeParts, layout, location, attention });\n return { intents: [createIntent(LayoutAction.ScrollIntoView, { id: toAttend })] };\n });\n }),\n createResolver(NavigationAction.Adjust, (adjustment) => {\n const location = context.requestCapability(Capabilities.MutableLocation);\n const layout = context.requestCapability(Capabilities.MutableLayout);\n const attention = context.requestCapability(AttentionCapabilities.Attention);\n\n return batch(() => {\n if (adjustment.type === 'increment-end' || adjustment.type === 'increment-start') {\n setLocation({\n next: incrementPlank(location.active, {\n type: adjustment.type,\n layoutCoordinate: adjustment.layoutCoordinate,\n }),\n layout,\n location,\n attention,\n });\n }\n\n if (adjustment.type === 'solo') {\n const entryId = adjustment.layoutCoordinate.entryId;\n if (layout.layoutMode !== 'solo') {\n // Solo the entry.\n return {\n intents: [\n // NOTE: The order of these is important.\n pipe(\n createIntent(NavigationAction.Open, { activeParts: { solo: [entryId] } }),\n chain(LayoutAction.SetLayoutMode, { layoutMode: 'solo' }),\n ),\n ],\n };\n } else {\n // Un-solo the current entry.\n return {\n intents: [\n // NOTE: The order of these is important.\n pipe(\n createIntent(LayoutAction.SetLayoutMode, { layoutMode: 'deck' }),\n chain(NavigationAction.Close, { activeParts: { solo: [entryId] } }),\n chain(NavigationAction.Open, { activeParts: { main: [entryId] }, noToggle: true }),\n chain(LayoutAction.ScrollIntoView, { id: entryId }),\n ),\n ],\n };\n }\n }\n });\n }),\n ]);\n"],
5
- "mappings": ";;;;;;;;;;;;;;AAIA,SAASA,aAAa;AACtB,SAASC,YAAY;AAErB,SACEC,cACAC,OACAC,aACAC,cACAC,gBACAC,cACAC,kBACAC,SACAC,2BAIK;AACP,SAASC,kBAAkBC,mBAAmB;AAC9C,SAASC,6BAA6B;AACtC,SAASC,2BAA2B;AASpC,IAAA,0BAAe,CAACC,YACdC,YAAYC,aAAaC,gBAAgB;EACvCC,eAAeC,iBAAiBC,MAAM,CAACC,SAAAA;AACrC,UAAM,EAAEC,MAAK,IAAKR,QAAQS,kBAAkBP,aAAaQ,QAAQ;AACjE,UAAMC,WAAWX,QAAQS,kBAAkBP,aAAaU,eAAe;AACvE,UAAMC,SAASb,QAAQS,kBAAkBP,aAAaY,aAAa;AACnE,UAAMC,YAAYf,QAAQS,kBAAkBO,sBAAsBC,SAAS;AAC3E,UAAMC,WAAWlB,QACdmB,oBAAoBjB,aAAakB,aAAa,EAAE,CAAA,GAC/CC,SAA4BC,WAAAA,GAAcC;AAE9C,UAAMC,oBAAoB,IAAIC,IAAYC,QAAQf,SAASgB,MAAM,CAAA;AACjE,UAAMC,aAAaf,OAAOe;AAC1B,UAAMC,WAAWC,MAAM,MAAA;AACrB,YAAMC,qBAAqB,CAACC,UAAkBC,aAAqBC,kBAAAA;AAEjE,cAAMC,SAAS;AACf,cAAM,CAACC,IAAIC,IAAAA,IAAQJ,YAAYK,MAAMC,mBAAAA;AACrC,cAAMC,cAA2B;UAAEJ;UAAI,GAAIC,OAAO;YAAEA;UAAK,IAAI,CAAC;QAAG;AACjE,cAAMI,gBAAgBC,iBAAiBV,UAAwBJ,UAAAA;AAC/D,YACEO,UACAP,eAAe,UACfa,kBAAkB,UAClBP,cAAcO,aAAAA,GAAgBE,KAAK,CAACC,UAAuBA,MAAMR,OAAOA,EAAAA,KACxE,CAAC7B,MAAMsC,UACP;AAEA,iBAAOC,WAAWZ,eAAe;YAAEa,MAAMN;YAA6BO,SAASZ;UAAG,CAAA;QACpF,OAAO;AACL,iBAAOa,UAAUf,eAAeO,eAAeD,aAAa;YAC1DU,aAAahC,UAAUiC;UACzB,CAAA;QACF;MACF;AAEA,UAAIC,YAAYzC,SAASgB;AACzB0B,aAAOC,QAAQ/C,KAAKgD,WAAW,EAAEC,QAAQ,CAAC,CAACxB,UAAUyB,aAAAA,MAAc;AACjE,YAAIC,MAAMC,QAAQF,aAAAA,GAAgB;AAChCA,wBAAcD,QAAQ,CAACI,oBAAAA;AACrBR,wBAAYrB,mBAAmBC,UAAU4B,iBAAiBR,SAAAA;UAC5D,CAAA;QACF,WAAW,OAAOK,kBAAkB,UAAU;AAE5CL,sBAAYrB,mBAAmBC,UAAUyB,eAAeL,SAAAA;QAC1D;MACF,CAAA;AAEA,aAAOS,YAAY;QAAEC,MAAMV;QAAWvC;QAAQF;QAAUI;MAAU,CAAA;IACpE,CAAA;AAEA,UAAMgD,MAAMrC,QAAQf,SAASgB,MAAM;AACnC,UAAMqC,YAAYD,IAAIE,OAAO,CAACC,MAAM,CAAC1C,kBAAkB2C,IAAID,CAAAA,CAAAA;AAE3D,WAAO;MACL3D,MAAM;QAAE6D,MAAML;MAAI;MAClBM,SAAS;QACPC,aAAaC,aAAaC,gBAAgB;UAAEpC,IAAI4B,UAAU,CAAA,KAAMnC;QAAS,CAAA;WACrEA,WAAW;UAACyC,aAAajE,iBAAiBoE,QAAQ;YAAErC,IAAIP;UAAS,CAAA;YAAM,CAAA;WACxEmC,UAAUU,IAAI,CAACtC,OAAAA;AAChB,gBAAMT,SAASnB,OAAOmE,SAASvC,EAAAA,GAAK7B;AACpC,gBAAMqE,WAAWC,iBAAiBlD,MAAAA,IAAUmD,YAAYnD,MAAAA,IAAUoD;AAClE,iBAAOT,aAAaU,oBAAoBC,WAAW;YACjDC,MAAM;YACNC,YAAY;cACV/C;cACAwC;YACF;UACF,CAAA;QACF,CAAA;;IAEJ;EACF,CAAA;EACAxE,eAAeC,iBAAiB+E,aAAa,CAAC7E,SAAAA;AAC5C,UAAMI,WAAWX,QAAQS,kBAAkBP,aAAaU,eAAe;AACvE,UAAMC,SAASb,QAAQS,kBAAkBP,aAAaY,aAAa;AACnE,UAAMC,YAAYf,QAAQS,kBAAkBO,sBAAsBC,SAAS;AAC3E,UAAMC,WAAWlB,QACdmB,oBAAoBjB,aAAakB,aAAa,EAAE,CAAA,GAC/CC,SAA4BC,WAAAA,GAAcC;AAE9C,UAAMiB,cAAc;MAAEJ,IAAI7B,KAAK6B;IAAG;AAClC,UAAMK,gBAAgBC,iBAAiBnC,KAAKwC,MAAMlC,OAAOe,UAAU;AAEnEiC,gBAAY;MACVC,MAAMb,UAAUtC,SAASgB,QAAQc,eAAeD,aAAa;QAC3DU,aAAa3C,KAAK2C,eAAehC,UAAUiC;QAC3CkC,SAAS9E,KAAK8E;MAChB,CAAA;MACAxE;MACAF;MACAI;IACF,CAAA;AAEA,UAAMsD,UAAU,CAAA;AAChB,QAAI9D,KAAK+E,kBAAkBzE,OAAOe,eAAe,QAAQ;AACvDyC,cAAQkB,KAAKjB,aAAaC,aAAaC,gBAAgB;QAAEpC,IAAI7B,KAAK6B;MAAG,CAAA,CAAA;IACvE;AAEA,WAAO;MAAEiC;IAAQ;EACnB,CAAA;EACAjE,eAAeC,iBAAiBmF,OAAO,CAACjF,SAAAA;AACtC,UAAMI,WAAWX,QAAQS,kBAAkBP,aAAaU,eAAe;AACvE,UAAMC,SAASb,QAAQS,kBAAkBP,aAAaY,aAAa;AACnE,UAAMC,YAAYf,QAAQS,kBAAkBO,sBAAsBC,SAAS;AAE3E,QAAImC,YAAYzC,SAASgB;AACzB,UAAMC,aAAaf,OAAOe;AAC1B,UAAM6D,cAAclF,KAAKgD;AACzBF,WAAOqC,KAAKD,WAAAA,EAAajC,QAAQ,CAACxB,aAAAA;AAChC,YAAMS,gBAAgBC,iBAAiBV,UAAwBJ,UAAAA;AAC/D,YAAMmC,MAAM0B,YAAYzD,QAAAA;AACxB,UAAI0B,MAAMC,QAAQI,GAAAA,GAAM;AACtBA,YAAIP,QAAQ,CAACpB,OAAAA;AACXgB,sBAAYN,WAAWM,WAAW;YAAEL,MAAMN;YAAeO,SAASZ;UAAG,CAAA;QACvE,CAAA;MACF,OAAO;AAELgB,oBAAYN,WAAWM,WAAW;UAAEL,MAAMN;UAAeO,SAASe;QAAI,CAAA;MACxE;IACF,CAAA;AAEA,UAAMlC,WAAWgC,YAAY;MAAEC,MAAMV;MAAWvC;MAAQF;MAAUI;IAAU,CAAA;AAC5E,WAAO;MAAEsD,SAAS;QAACC,aAAaC,aAAaC,gBAAgB;UAAEpC,IAAIP;QAAS,CAAA;;IAAI;EAClF,CAAA;EACAzB,eAAeC,iBAAiBoB,KAAK,CAAClB,SAAAA;AACpC,UAAMM,SAASb,QAAQS,kBAAkBP,aAAaY,aAAa;AACnE,UAAMH,WAAWX,QAAQS,kBAAkBP,aAAaU,eAAe;AACvE,UAAMG,YAAYf,QAAQS,kBAAkBO,sBAAsBC,SAAS;AAE3E,WAAOa,MAAM,MAAA;AACX,YAAMD,WAAWgC,YAAY;QAAEC,MAAMvD,KAAKgD;QAAa1C;QAAQF;QAAUI;MAAU,CAAA;AACnF,aAAO;QAAEsD,SAAS;UAACC,aAAaC,aAAaC,gBAAgB;YAAEpC,IAAIP;UAAS,CAAA;;MAAI;IAClF,CAAA;EACF,CAAA;EACAzB,eAAeC,iBAAiBsF,QAAQ,CAACC,eAAAA;AACvC,UAAMjF,WAAWX,QAAQS,kBAAkBP,aAAaU,eAAe;AACvE,UAAMC,SAASb,QAAQS,kBAAkBP,aAAaY,aAAa;AACnE,UAAMC,YAAYf,QAAQS,kBAAkBO,sBAAsBC,SAAS;AAE3E,WAAOa,MAAM,MAAA;AACX,UAAI8D,WAAWC,SAAS,mBAAmBD,WAAWC,SAAS,mBAAmB;AAChFhC,oBAAY;UACVC,MAAMgC,eAAenF,SAASgB,QAAQ;YACpCkE,MAAMD,WAAWC;YACjBE,kBAAkBH,WAAWG;UAC/B,CAAA;UACAlF;UACAF;UACAI;QACF,CAAA;MACF;AAEA,UAAI6E,WAAWC,SAAS,QAAQ;AAC9B,cAAM7C,UAAU4C,WAAWG,iBAAiB/C;AAC5C,YAAInC,OAAOe,eAAe,QAAQ;AAEhC,iBAAO;YACLyC,SAAS;;cAEP2B,KACE1B,aAAajE,iBAAiBC,MAAM;gBAAEiD,aAAa;kBAAE0C,MAAM;oBAACjD;;gBAAS;cAAE,CAAA,GACvEkD,MAAM3B,aAAa4B,eAAe;gBAAEvE,YAAY;cAAO,CAAA,CAAA;;UAG7D;QACF,OAAO;AAEL,iBAAO;YACLyC,SAAS;;cAEP2B,KACE1B,aAAaC,aAAa4B,eAAe;gBAAEvE,YAAY;cAAO,CAAA,GAC9DsE,MAAM7F,iBAAiBmF,OAAO;gBAAEjC,aAAa;kBAAE0C,MAAM;oBAACjD;;gBAAS;cAAE,CAAA,GACjEkD,MAAM7F,iBAAiBC,MAAM;gBAAEiD,aAAa;kBAAE6C,MAAM;oBAACpD;;gBAAS;gBAAGH,UAAU;cAAK,CAAA,GAChFqD,MAAM3B,aAAaC,gBAAgB;gBAAEpC,IAAIY;cAAQ,CAAA,CAAA;;UAGvD;QACF;MACF;IACF,CAAA;EACF,CAAA;CACD;",
6
- "names": ["batch", "pipe", "Capabilities", "chain", "contributes", "createIntent", "createResolver", "LayoutAction", "NavigationAction", "openIds", "SLUG_PATH_SEPARATOR", "isReactiveObject", "getTypename", "AttentionCapabilities", "ObservabilityAction", "context", "contributes", "Capabilities", "IntentResolver", "createResolver", "NavigationAction", "Open", "data", "graph", "requestCapability", "AppGraph", "location", "MutableLocation", "layout", "MutableLayout", "attention", "AttentionCapabilities", "Attention", "settings", "requestCapabilities", "SettingsStore", "getStore", "DECK_PLUGIN", "value", "previouslyOpenIds", "Set", "openIds", "active", "layoutMode", "toAttend", "batch", "processLayoutEntry", "partName", "entryString", "currentLayout", "toggle", "id", "path", "split", "SLUG_PATH_SEPARATOR", "layoutEntry", "effectivePart", "getEffectivePart", "some", "entry", "noToggle", "closeEntry", "part", "entryId", "openEntry", "positioning", "newPlankPositioning", "newLayout", "Object", "entries", "activeParts", "forEach", "layoutEntries", "Array", "isArray", "activePartEntry", "setLocation", "next", "ids", "newlyOpen", "filter", "i", "has", "open", "intents", "createIntent", "LayoutAction", "ScrollIntoView", "Expose", "map", "findNode", "typename", "isReactiveObject", "getTypename", "undefined", "ObservabilityAction", "SendEvent", "name", "properties", "AddToActive", "pivotId", "scrollIntoView", "push", "Close", "intentParts", "keys", "Adjust", "adjustment", "type", "incrementPlank", "layoutCoordinate", "pipe", "solo", "chain", "SetLayoutMode", "main"]
7
- }
@@ -1,35 +0,0 @@
1
- import {
2
- NAV_ID
3
- } from "./chunk-2M4PXYNB.mjs";
4
- import "./chunk-2PJNBVCY.mjs";
5
- import "./chunk-KY5WXIXY.mjs";
6
- import "./chunk-JQJ5UWVB.mjs";
7
-
8
- // packages/plugins/plugin-deck/src/capabilities/navigation/location.ts
9
- import { Capabilities, contributes } from "@dxos/app-framework";
10
- import { LocalStorageStore } from "@dxos/local-storage";
11
- var LOCATION_KEY = "dxos.org/settings/layout";
12
- var location_default = () => {
13
- const location = new LocalStorageStore(LOCATION_KEY, {
14
- active: {
15
- sidebar: [
16
- {
17
- id: NAV_ID
18
- }
19
- ]
20
- },
21
- closed: []
22
- });
23
- location.prop({
24
- key: "active",
25
- type: LocalStorageStore.json()
26
- }).prop({
27
- key: "closed",
28
- type: LocalStorageStore.json()
29
- });
30
- return contributes(Capabilities.Location, location.values, () => location.close());
31
- };
32
- export {
33
- location_default as default
34
- };
35
- //# sourceMappingURL=location-QHRBQBQN.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/navigation/location.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, type LayoutParts } from '@dxos/app-framework';\nimport { LocalStorageStore } from '@dxos/local-storage';\n\nimport { NAV_ID } from '../../components';\n\n// NOTE: The key is this currently for backwards compatibility of storage.\nconst LOCATION_KEY = 'dxos.org/settings/layout';\n\nexport default () => {\n // TODO(wittjosiah): This active state is not a generic navigation state but quite deck specific.\n // It is also closely tied to the layout mode state (which also seems quite deck specific).\n // The layout and navigation interfaces need to be revisited and cleaned up.\n // Doing this cleanup should also help simplify some of the convoluted logic for managing it.\n const location = new LocalStorageStore<Capabilities.MutableLocation>(LOCATION_KEY, {\n active: { sidebar: [{ id: NAV_ID }] },\n closed: [],\n });\n\n location\n .prop({ key: 'active', type: LocalStorageStore.json<LayoutParts>() })\n .prop({ key: 'closed', type: LocalStorageStore.json<string[]>() });\n\n return contributes(Capabilities.Location, location.values, () => location.close());\n};\n"],
5
- "mappings": ";;;;;;;;AAIA,SAASA,cAAcC,mBAAqC;AAC5D,SAASC,yBAAyB;AAKlC,IAAMC,eAAe;AAErB,IAAA,mBAAe,MAAA;AAKb,QAAMC,WAAW,IAAIC,kBAAgDF,cAAc;IACjFG,QAAQ;MAAEC,SAAS;QAAC;UAAEC,IAAIC;QAAO;;IAAG;IACpCC,QAAQ,CAAA;EACV,CAAA;AAEAN,WACGO,KAAK;IAAEC,KAAK;IAAUC,MAAMR,kBAAkBS,KAAI;EAAgB,CAAA,EAClEH,KAAK;IAAEC,KAAK;IAAUC,MAAMR,kBAAkBS,KAAI;EAAa,CAAA;AAElE,SAAOC,YAAYC,aAAaC,UAAUb,SAASc,QAAQ,MAAMd,SAASe,MAAK,CAAA;AACjF;",
6
- "names": ["Capabilities", "contributes", "LocalStorageStore", "LOCATION_KEY", "location", "LocalStorageStore", "active", "sidebar", "id", "NAV_ID", "closed", "prop", "key", "type", "json", "contributes", "Capabilities", "Location", "values", "close"]
7
- }
@@ -1,32 +0,0 @@
1
- import {
2
- DeckContext,
3
- LayoutContext
4
- } from "./chunk-2M4PXYNB.mjs";
5
- import "./chunk-2PJNBVCY.mjs";
6
- import "./chunk-KY5WXIXY.mjs";
7
- import {
8
- DeckCapabilities
9
- } from "./chunk-5VFDMW5M.mjs";
10
- import {
11
- DECK_PLUGIN
12
- } from "./chunk-JQJ5UWVB.mjs";
13
-
14
- // packages/plugins/plugin-deck/src/capabilities/layout/react-context.tsx
15
- import React from "react";
16
- import { Capabilities, contributes, useCapability } from "@dxos/app-framework";
17
- var react_context_default = () => contributes(Capabilities.ReactContext, {
18
- id: DECK_PLUGIN,
19
- context: (props) => {
20
- const layout = useCapability(Capabilities.Layout);
21
- const deck = useCapability(DeckCapabilities.MutableDeckState);
22
- return /* @__PURE__ */ React.createElement(LayoutContext.Provider, {
23
- value: layout
24
- }, /* @__PURE__ */ React.createElement(DeckContext.Provider, {
25
- value: deck
26
- }, props.children));
27
- }
28
- });
29
- export {
30
- react_context_default as default
31
- };
32
- //# sourceMappingURL=react-context-3BDW7W2N.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/layout/react-context.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { type PropsWithChildren } from 'react';\n\nimport { Capabilities, contributes, useCapability } from '@dxos/app-framework';\n\nimport { DeckContext, LayoutContext } from '../../components';\nimport { DECK_PLUGIN } from '../../meta';\nimport { DeckCapabilities } from '../capabilities';\n\nexport default () =>\n contributes(Capabilities.ReactContext, {\n id: DECK_PLUGIN,\n context: (props: PropsWithChildren) => {\n const layout = useCapability(Capabilities.Layout);\n const deck = useCapability(DeckCapabilities.MutableDeckState);\n\n return (\n <LayoutContext.Provider value={layout}>\n <DeckContext.Provider value={deck}>{props.children}</DeckContext.Provider>\n </LayoutContext.Provider>\n );\n },\n });\n"],
5
- "mappings": ";;;;;;;;;;;;;;AAIA,OAAOA,WAAuC;AAE9C,SAASC,cAAcC,aAAaC,qBAAqB;AAMzD,IAAA,wBAAe,MACbC,YAAYC,aAAaC,cAAc;EACrCC,IAAIC;EACJC,SAAS,CAACC,UAAAA;AACR,UAAMC,SAASC,cAAcP,aAAaQ,MAAM;AAChD,UAAMC,OAAOF,cAAcG,iBAAiBC,gBAAgB;AAE5D,WACE,sBAAA,cAACC,cAAcC,UAAQ;MAACC,OAAOR;OAC7B,sBAAA,cAACS,YAAYF,UAAQ;MAACC,OAAOL;OAAOJ,MAAMW,QAAQ,CAAA;EAGxD;AACF,CAAA;",
6
- "names": ["React", "Capabilities", "contributes", "useCapability", "contributes", "Capabilities", "ReactContext", "id", "DECK_PLUGIN", "context", "props", "layout", "useCapability", "Layout", "deck", "DeckCapabilities", "MutableDeckState", "LayoutContext", "Provider", "value", "DeckContext", "children"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/layout/react-root.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback } from 'react';\n\nimport { Capabilities, contributes, useCapabilities, useCapability } from '@dxos/app-framework';\n\nimport { DeckLayout } from '../../components';\nimport { DECK_PLUGIN } from '../../meta';\nimport { type DeckSettingsProps } from '../../types';\nimport { DeckCapabilities } from '../capabilities';\n\nexport default () =>\n contributes(Capabilities.ReactRoot, {\n id: DECK_PLUGIN,\n root: () => {\n const layout = useCapability(Capabilities.Layout);\n const location = useCapability(Capabilities.Location);\n const deck = useCapability(DeckCapabilities.MutableDeckState);\n const settings = useCapability(Capabilities.SettingsStore).getStore<DeckSettingsProps>(DECK_PLUGIN)!.value;\n const panels = useCapabilities(DeckCapabilities.ComplementaryPanel);\n\n const handleDismissToast = useCallback(\n (id: string) => {\n const index = layout.toasts.findIndex((toast) => toast.id === id);\n if (index !== -1) {\n // Allow time for the toast to animate out.\n // TODO(burdon): Factor out and unregister timeout.\n setTimeout(() => {\n if (layout.toasts[index].id === deck.currentUndoId) {\n deck.currentUndoId = undefined;\n }\n layout.toasts.splice(index, 1);\n }, 1_000);\n }\n },\n [layout.toasts],\n );\n\n return (\n <DeckLayout\n layoutParts={location.active}\n showHints={settings.showHints}\n overscroll={settings.overscroll}\n toasts={layout.toasts}\n panels={panels}\n onDismissToast={handleDismissToast}\n />\n );\n },\n });\n"],
5
- "mappings": ";;;;;;;;;;;;;AAIA,OAAOA,SAASC,mBAAmB;AAEnC,SAASC,cAAcC,aAAaC,iBAAiBC,qBAAqB;AAO1E,IAAA,qBAAe,MACbC,YAAYC,aAAaC,WAAW;EAClCC,IAAIC;EACJC,MAAM,MAAA;AACJ,UAAMC,SAASC,cAAcN,aAAaO,MAAM;AAChD,UAAMC,WAAWF,cAAcN,aAAaS,QAAQ;AACpD,UAAMC,OAAOJ,cAAcK,iBAAiBC,gBAAgB;AAC5D,UAAMC,WAAWP,cAAcN,aAAac,aAAa,EAAEC,SAA4BZ,WAAAA,EAAca;AACrG,UAAMC,SAASC,gBAAgBP,iBAAiBQ,kBAAkB;AAElE,UAAMC,qBAAqBC,YACzB,CAACnB,OAAAA;AACC,YAAMoB,QAAQjB,OAAOkB,OAAOC,UAAU,CAACC,UAAUA,MAAMvB,OAAOA,EAAAA;AAC9D,UAAIoB,UAAU,IAAI;AAGhBI,mBAAW,MAAA;AACT,cAAIrB,OAAOkB,OAAOD,KAAAA,EAAOpB,OAAOQ,KAAKiB,eAAe;AAClDjB,iBAAKiB,gBAAgBC;UACvB;AACAvB,iBAAOkB,OAAOM,OAAOP,OAAO,CAAA;QAC9B,GAAG,GAAA;MACL;IACF,GACA;MAACjB,OAAOkB;KAAO;AAGjB,WACE,sBAAA,cAACO,YAAAA;MACCC,aAAavB,SAASwB;MACtBC,WAAWpB,SAASoB;MACpBC,YAAYrB,SAASqB;MACrBX,QAAQlB,OAAOkB;MACfN;MACAkB,gBAAgBf;;EAGtB;AACF,CAAA;",
6
- "names": ["React", "useCallback", "Capabilities", "contributes", "useCapabilities", "useCapability", "contributes", "Capabilities", "ReactRoot", "id", "DECK_PLUGIN", "root", "layout", "useCapability", "Layout", "location", "Location", "deck", "DeckCapabilities", "MutableDeckState", "settings", "SettingsStore", "getStore", "value", "panels", "useCapabilities", "ComplementaryPanel", "handleDismissToast", "useCallback", "index", "toasts", "findIndex", "toast", "setTimeout", "currentUndoId", "undefined", "splice", "DeckLayout", "layoutParts", "active", "showHints", "overscroll", "onDismissToast"]
7
- }
@@ -1,28 +0,0 @@
1
- import {
2
- LayoutSettings
3
- } from "./chunk-2M4PXYNB.mjs";
4
- import "./chunk-2PJNBVCY.mjs";
5
- import "./chunk-KY5WXIXY.mjs";
6
- import {
7
- DECK_PLUGIN
8
- } from "./chunk-JQJ5UWVB.mjs";
9
-
10
- // packages/plugins/plugin-deck/src/capabilities/settings/react-surface.tsx
11
- import React from "react";
12
- import { Capabilities, contributes, useCapability } from "@dxos/app-framework";
13
- var react_surface_default = () => contributes(Capabilities.ReactSurface, {
14
- id: DECK_PLUGIN,
15
- role: "settings",
16
- filter: (data) => data.subject === DECK_PLUGIN,
17
- component: () => {
18
- const store = useCapability(Capabilities.SettingsStore);
19
- const settings = store.getStore(DECK_PLUGIN).value;
20
- return /* @__PURE__ */ React.createElement(LayoutSettings, {
21
- settings
22
- });
23
- }
24
- });
25
- export {
26
- react_surface_default as default
27
- };
28
- //# sourceMappingURL=react-surface-VPNOGGNN.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/settings/react-surface.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes, useCapability } from '@dxos/app-framework';\n\nimport { LayoutSettings } from '../../components';\nimport { DECK_PLUGIN } from '../../meta';\nimport { type DeckSettingsProps } from '../../types';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, {\n id: DECK_PLUGIN,\n role: 'settings',\n filter: (data): data is any => data.subject === DECK_PLUGIN,\n component: () => {\n const store = useCapability(Capabilities.SettingsStore);\n const settings = store.getStore<DeckSettingsProps>(DECK_PLUGIN)!.value;\n return <LayoutSettings settings={settings} />;\n },\n });\n"],
5
- "mappings": ";;;;;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,cAAcC,aAAaC,qBAAqB;AAMzD,IAAA,wBAAe,MACbC,YAAYC,aAAaC,cAAc;EACrCC,IAAIC;EACJC,MAAM;EACNC,QAAQ,CAACC,SAAsBA,KAAKC,YAAYJ;EAChDK,WAAW,MAAA;AACT,UAAMC,QAAQC,cAAcV,aAAaW,aAAa;AACtD,UAAMC,WAAWH,MAAMI,SAA4BV,WAAAA,EAAcW;AACjE,WAAO,sBAAA,cAACC,gBAAAA;MAAeH;;EACzB;AACF,CAAA;",
6
- "names": ["React", "Capabilities", "contributes", "useCapability", "contributes", "Capabilities", "ReactSurface", "id", "DECK_PLUGIN", "role", "filter", "data", "subject", "component", "store", "useCapability", "SettingsStore", "settings", "getStore", "value", "LayoutSettings"]
7
- }