@dxos/plugin-deck 0.8.1-main.ae460ac → 0.8.1-staging.31c3ee1

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 (193) hide show
  1. package/dist/lib/browser/{app-graph-builder-IYHAGFA3.mjs → app-graph-builder-VYZ4IWI3.mjs} +3 -3
  2. package/dist/lib/browser/{check-app-scheme-S3EYUPMF.mjs → check-app-scheme-SEYECDHI.mjs} +2 -2
  3. package/dist/lib/browser/{chunk-YCKJNTKG.mjs → chunk-6ZSOFCPP.mjs} +26 -6
  4. package/dist/lib/browser/chunk-6ZSOFCPP.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-B4LOJUWW.mjs +24 -0
  6. package/dist/lib/browser/{chunk-J2B4CMLT.mjs → chunk-FJBMNSUC.mjs} +649 -488
  7. package/dist/lib/browser/chunk-FJBMNSUC.mjs.map +7 -0
  8. package/dist/lib/browser/chunk-FLOVGNYB.mjs +81 -0
  9. package/dist/lib/browser/chunk-FLOVGNYB.mjs.map +7 -0
  10. package/dist/lib/browser/{chunk-N7TEPFVR.mjs → chunk-NSATFAEE.mjs} +3 -3
  11. package/dist/lib/browser/{chunk-N7TEPFVR.mjs.map → chunk-NSATFAEE.mjs.map} +2 -2
  12. package/dist/lib/browser/{chunk-FYKBOM3C.mjs → chunk-RJNCG4ND.mjs} +66 -40
  13. package/dist/lib/browser/chunk-RJNCG4ND.mjs.map +7 -0
  14. package/dist/lib/browser/{chunk-22AQ5IVX.mjs → chunk-XMCG42ID.mjs} +2 -3
  15. package/dist/lib/browser/chunk-XMCG42ID.mjs.map +7 -0
  16. package/dist/lib/browser/index.mjs +14 -9
  17. package/dist/lib/browser/index.mjs.map +3 -3
  18. package/dist/lib/browser/{intent-resolver-P5BVUQKU.mjs → intent-resolver-UDYKO2QW.mjs} +78 -88
  19. package/dist/lib/browser/intent-resolver-UDYKO2QW.mjs.map +7 -0
  20. package/dist/lib/browser/meta.json +1 -1
  21. package/dist/lib/browser/{react-root-VFIADBSU.mjs → react-root-XLXN2VEW.mjs} +8 -10
  22. package/dist/lib/browser/react-root-XLXN2VEW.mjs.map +7 -0
  23. package/dist/lib/browser/{react-surface-HUPQXFTF.mjs → react-surface-WNGMZL7I.mjs} +11 -10
  24. package/dist/lib/browser/react-surface-WNGMZL7I.mjs.map +7 -0
  25. package/dist/lib/browser/{settings-X3P2HKQJ.mjs → settings-HMDGSBGO.mjs} +5 -4
  26. package/dist/lib/browser/settings-HMDGSBGO.mjs.map +7 -0
  27. package/dist/lib/browser/{state-2MOTLKVR.mjs → state-7TN26M42.mjs} +7 -11
  28. package/dist/lib/browser/state-7TN26M42.mjs.map +7 -0
  29. package/dist/lib/browser/tools-SC6QEN7R.mjs +78 -0
  30. package/dist/lib/browser/tools-SC6QEN7R.mjs.map +7 -0
  31. package/dist/lib/browser/types.mjs +12 -6
  32. package/dist/lib/browser/{url-handler-MVHTKUYA.mjs → url-handler-ODG4B6NX.mjs} +7 -9
  33. package/dist/lib/browser/url-handler-ODG4B6NX.mjs.map +7 -0
  34. package/dist/types/src/DeckPlugin.d.ts.map +1 -1
  35. package/dist/types/src/capabilities/capabilities.d.ts +36 -14
  36. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  37. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  38. package/dist/types/src/capabilities/react-root.d.ts.map +1 -1
  39. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  40. package/dist/types/src/capabilities/settings.d.ts.map +1 -1
  41. package/dist/types/src/capabilities/state.d.ts +18 -6
  42. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  43. package/dist/types/src/capabilities/tools.d.ts +1 -0
  44. package/dist/types/src/capabilities/tools.d.ts.map +1 -1
  45. package/dist/types/src/capabilities/url-handler.d.ts.map +1 -1
  46. package/dist/types/src/components/DeckLayout/ActiveNode.d.ts +2 -1
  47. package/dist/types/src/components/DeckLayout/ActiveNode.d.ts.map +1 -1
  48. package/dist/types/src/components/DeckLayout/Banner.d.ts +2 -1
  49. package/dist/types/src/components/DeckLayout/Banner.d.ts.map +1 -1
  50. package/dist/types/src/components/DeckLayout/ContentEmpty.d.ts +2 -1
  51. package/dist/types/src/components/DeckLayout/ContentEmpty.d.ts.map +1 -1
  52. package/dist/types/src/components/DeckLayout/DeckLayout.d.ts +2 -4
  53. package/dist/types/src/components/DeckLayout/DeckLayout.d.ts.map +1 -1
  54. package/dist/types/src/components/DeckLayout/Fallback.d.ts +2 -1
  55. package/dist/types/src/components/DeckLayout/Fallback.d.ts.map +1 -1
  56. package/dist/types/src/components/DeckLayout/Fullscreen.d.ts +2 -1
  57. package/dist/types/src/components/DeckLayout/Fullscreen.d.ts.map +1 -1
  58. package/dist/types/src/components/DeckLayout/StatusBar.d.ts +2 -1
  59. package/dist/types/src/components/DeckLayout/StatusBar.d.ts.map +1 -1
  60. package/dist/types/src/components/DeckLayout/Toast.d.ts +2 -1
  61. package/dist/types/src/components/DeckLayout/Toast.d.ts.map +1 -1
  62. package/dist/types/src/components/DeckLayout/Topbar.d.ts +2 -1
  63. package/dist/types/src/components/DeckLayout/Topbar.d.ts.map +1 -1
  64. package/dist/types/src/components/DeckLayout/index.d.ts +1 -0
  65. package/dist/types/src/components/DeckLayout/index.d.ts.map +1 -1
  66. package/dist/types/src/components/DeckSettings/DeckSettings.d.ts +6 -0
  67. package/dist/types/src/components/DeckSettings/DeckSettings.d.ts.map +1 -0
  68. package/dist/types/src/components/DeckSettings/index.d.ts +2 -0
  69. package/dist/types/src/components/DeckSettings/index.d.ts.map +1 -0
  70. package/dist/types/src/components/Plank/Plank.d.ts +14 -0
  71. package/dist/types/src/components/Plank/Plank.d.ts.map +1 -0
  72. package/dist/types/src/components/Plank/Plank.stories.d.ts +8 -0
  73. package/dist/types/src/components/Plank/Plank.stories.d.ts.map +1 -0
  74. package/dist/types/src/components/{DeckLayout → Plank}/PlankControls.d.ts +8 -1
  75. package/dist/types/src/components/Plank/PlankControls.d.ts.map +1 -0
  76. package/dist/types/src/components/Plank/PlankError.d.ts +13 -0
  77. package/dist/types/src/components/Plank/PlankError.d.ts.map +1 -0
  78. package/dist/types/src/components/Plank/PlankHeading.d.ts +20 -0
  79. package/dist/types/src/components/Plank/PlankHeading.d.ts.map +1 -0
  80. package/dist/types/src/components/Plank/PlankLoading.d.ts +3 -0
  81. package/dist/types/src/components/Plank/PlankLoading.d.ts.map +1 -0
  82. package/dist/types/src/components/Plank/index.d.ts +6 -0
  83. package/dist/types/src/components/Plank/index.d.ts.map +1 -0
  84. package/dist/types/src/components/{DeckLayout → Sidebar}/ComplementarySidebar.d.ts +2 -1
  85. package/dist/types/src/components/Sidebar/ComplementarySidebar.d.ts.map +1 -0
  86. package/dist/types/src/components/Sidebar/Sidebar.d.ts +3 -0
  87. package/dist/types/src/components/Sidebar/Sidebar.d.ts.map +1 -0
  88. package/dist/types/src/components/Sidebar/SidebarButton.d.ts +8 -0
  89. package/dist/types/src/components/Sidebar/SidebarButton.d.ts.map +1 -0
  90. package/dist/types/src/components/Sidebar/index.d.ts +4 -0
  91. package/dist/types/src/components/Sidebar/index.d.ts.map +1 -0
  92. package/dist/types/src/components/index.d.ts +1 -1
  93. package/dist/types/src/components/index.d.ts.map +1 -1
  94. package/dist/types/src/events.d.ts +0 -1
  95. package/dist/types/src/events.d.ts.map +1 -1
  96. package/dist/types/src/hooks/index.d.ts +0 -1
  97. package/dist/types/src/hooks/index.d.ts.map +1 -1
  98. package/dist/types/src/index.d.ts +1 -0
  99. package/dist/types/src/index.d.ts.map +1 -1
  100. package/dist/types/src/layout.d.ts +7 -1
  101. package/dist/types/src/layout.d.ts.map +1 -1
  102. package/dist/types/src/meta.d.ts +2 -5
  103. package/dist/types/src/meta.d.ts.map +1 -1
  104. package/dist/types/src/translations.d.ts +4 -0
  105. package/dist/types/src/translations.d.ts.map +1 -1
  106. package/dist/types/src/types.d.ts +60 -58
  107. package/dist/types/src/types.d.ts.map +1 -1
  108. package/dist/types/src/util/index.d.ts +1 -0
  109. package/dist/types/src/util/index.d.ts.map +1 -1
  110. package/dist/types/src/util/set-active.d.ts +2 -2
  111. package/dist/types/src/util/set-active.d.ts.map +1 -1
  112. package/dist/types/src/util/useCompanions.d.ts +8 -0
  113. package/dist/types/src/util/useCompanions.d.ts.map +1 -0
  114. package/dist/types/src/util/useHoistStatusbar.d.ts.map +1 -1
  115. package/package.json +30 -31
  116. package/src/DeckPlugin.ts +0 -1
  117. package/src/capabilities/capabilities.ts +3 -4
  118. package/src/capabilities/intent-resolver.ts +63 -9
  119. package/src/capabilities/react-root.tsx +1 -9
  120. package/src/capabilities/react-surface.tsx +3 -4
  121. package/src/capabilities/settings.ts +7 -2
  122. package/src/capabilities/state.ts +4 -11
  123. package/src/capabilities/tools.ts +34 -22
  124. package/src/capabilities/url-handler.ts +2 -8
  125. package/src/components/DeckLayout/ActiveNode.tsx +2 -1
  126. package/src/components/DeckLayout/Banner.tsx +5 -3
  127. package/src/components/DeckLayout/ContentEmpty.tsx +1 -1
  128. package/src/components/DeckLayout/DeckLayout.tsx +62 -26
  129. package/src/components/DeckLayout/Fullscreen.tsx +1 -1
  130. package/src/components/DeckLayout/Toast.tsx +1 -1
  131. package/src/components/DeckLayout/index.ts +2 -0
  132. package/src/components/{LayoutSettings.tsx → DeckSettings/DeckSettings.tsx} +15 -10
  133. package/src/components/DeckSettings/index.ts +5 -0
  134. package/src/components/Plank/Plank.stories.tsx +43 -0
  135. package/src/components/Plank/Plank.tsx +230 -0
  136. package/src/components/{DeckLayout → Plank}/PlankControls.tsx +73 -27
  137. package/src/components/{DeckLayout → Plank}/PlankError.tsx +3 -3
  138. package/src/components/Plank/PlankHeading.tsx +207 -0
  139. package/src/components/Plank/index.ts +9 -0
  140. package/src/components/{DeckLayout → Sidebar}/ComplementarySidebar.tsx +65 -81
  141. package/src/components/Sidebar/index.ts +7 -0
  142. package/src/components/index.ts +1 -1
  143. package/src/events.ts +0 -1
  144. package/src/hooks/index.ts +0 -1
  145. package/src/index.ts +1 -0
  146. package/src/layout.ts +19 -2
  147. package/src/meta.ts +4 -4
  148. package/src/translations.ts +4 -0
  149. package/src/types.ts +81 -79
  150. package/src/util/index.ts +1 -0
  151. package/src/util/set-active.ts +2 -2
  152. package/src/util/useCompanions.ts +18 -0
  153. package/src/util/useHoistStatusbar.ts +2 -2
  154. package/dist/lib/browser/chunk-22AQ5IVX.mjs.map +0 -7
  155. package/dist/lib/browser/chunk-FYKBOM3C.mjs.map +0 -7
  156. package/dist/lib/browser/chunk-J2B4CMLT.mjs.map +0 -7
  157. package/dist/lib/browser/chunk-KTIGBCFT.mjs +0 -24
  158. package/dist/lib/browser/chunk-YCKJNTKG.mjs.map +0 -7
  159. package/dist/lib/browser/intent-resolver-P5BVUQKU.mjs.map +0 -7
  160. package/dist/lib/browser/react-root-VFIADBSU.mjs.map +0 -7
  161. package/dist/lib/browser/react-surface-HUPQXFTF.mjs.map +0 -7
  162. package/dist/lib/browser/settings-X3P2HKQJ.mjs.map +0 -7
  163. package/dist/lib/browser/state-2MOTLKVR.mjs.map +0 -7
  164. package/dist/lib/browser/tools-64LXGLYR.mjs +0 -59
  165. package/dist/lib/browser/tools-64LXGLYR.mjs.map +0 -7
  166. package/dist/lib/browser/url-handler-MVHTKUYA.mjs.map +0 -7
  167. package/dist/types/src/components/DeckLayout/ComplementarySidebar.d.ts.map +0 -1
  168. package/dist/types/src/components/DeckLayout/NodePlankHeading.d.ts +0 -15
  169. package/dist/types/src/components/DeckLayout/NodePlankHeading.d.ts.map +0 -1
  170. package/dist/types/src/components/DeckLayout/Plank.d.ts +0 -13
  171. package/dist/types/src/components/DeckLayout/Plank.d.ts.map +0 -1
  172. package/dist/types/src/components/DeckLayout/PlankControls.d.ts.map +0 -1
  173. package/dist/types/src/components/DeckLayout/PlankError.d.ts +0 -12
  174. package/dist/types/src/components/DeckLayout/PlankError.d.ts.map +0 -1
  175. package/dist/types/src/components/DeckLayout/PlankLoading.d.ts +0 -2
  176. package/dist/types/src/components/DeckLayout/PlankLoading.d.ts.map +0 -1
  177. package/dist/types/src/components/DeckLayout/Sidebar.d.ts +0 -2
  178. package/dist/types/src/components/DeckLayout/Sidebar.d.ts.map +0 -1
  179. package/dist/types/src/components/DeckLayout/SidebarButton.d.ts +0 -7
  180. package/dist/types/src/components/DeckLayout/SidebarButton.d.ts.map +0 -1
  181. package/dist/types/src/components/LayoutSettings.d.ts +0 -5
  182. package/dist/types/src/components/LayoutSettings.d.ts.map +0 -1
  183. package/dist/types/src/hooks/useNode.d.ts +0 -11
  184. package/dist/types/src/hooks/useNode.d.ts.map +0 -1
  185. package/src/components/DeckLayout/NodePlankHeading.tsx +0 -148
  186. package/src/components/DeckLayout/Plank.tsx +0 -149
  187. package/src/hooks/useNode.ts +0 -46
  188. /package/dist/lib/browser/{app-graph-builder-IYHAGFA3.mjs.map → app-graph-builder-VYZ4IWI3.mjs.map} +0 -0
  189. /package/dist/lib/browser/{check-app-scheme-S3EYUPMF.mjs.map → check-app-scheme-SEYECDHI.mjs.map} +0 -0
  190. /package/dist/lib/browser/{chunk-KTIGBCFT.mjs.map → chunk-B4LOJUWW.mjs.map} +0 -0
  191. /package/src/components/{DeckLayout → Plank}/PlankLoading.tsx +0 -0
  192. /package/src/components/{DeckLayout → Sidebar}/Sidebar.tsx +0 -0
  193. /package/src/components/{DeckLayout → Sidebar}/SidebarButton.tsx +0 -0
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  DeckCapabilities
3
- } from "./chunk-22AQ5IVX.mjs";
3
+ } from "./chunk-XMCG42ID.mjs";
4
4
  import {
5
5
  DECK_PLUGIN
6
- } from "./chunk-N7TEPFVR.mjs";
6
+ } from "./chunk-NSATFAEE.mjs";
7
7
 
8
8
  // packages/plugins/plugin-deck/src/capabilities/app-graph-builder.ts
9
9
  import { Capabilities, contributes, createIntent, LayoutAction } from "@dxos/app-framework";
@@ -148,4 +148,4 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
148
148
  export {
149
149
  app_graph_builder_default as default
150
150
  };
151
- //# sourceMappingURL=app-graph-builder-IYHAGFA3.mjs.map
151
+ //# sourceMappingURL=app-graph-builder-VYZ4IWI3.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  DECK_PLUGIN
3
- } from "./chunk-N7TEPFVR.mjs";
3
+ } from "./chunk-NSATFAEE.mjs";
4
4
 
5
5
  // packages/plugins/plugin-deck/src/capabilities/check-app-scheme.ts
6
6
  import { Capabilities, contributes } from "@dxos/app-framework";
@@ -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-SEYECDHI.mjs.map
@@ -1,6 +1,9 @@
1
+ import {
2
+ PLANK_COMPANION_TYPE
3
+ } from "./chunk-RJNCG4ND.mjs";
1
4
  import {
2
5
  DECK_PLUGIN
3
- } from "./chunk-N7TEPFVR.mjs";
6
+ } from "./chunk-NSATFAEE.mjs";
4
7
 
5
8
  // packages/plugins/plugin-deck/src/util/set-active.ts
6
9
  import { batch } from "@preact/signals-core";
@@ -36,6 +39,22 @@ var setActive = ({ next, state, attention }) => {
36
39
  });
37
40
  };
38
41
 
42
+ // packages/plugins/plugin-deck/src/util/useCompanions.ts
43
+ import { useMemo } from "react";
44
+ import { useAppGraph } from "@dxos/app-framework";
45
+ import { useNode } from "@dxos/plugin-graph";
46
+ import { byPosition } from "@dxos/util";
47
+ var useCompanions = (id) => {
48
+ const { graph } = useAppGraph();
49
+ const node = useNode(graph, id);
50
+ const companions = node ? graph.nodes(node, {
51
+ type: PLANK_COMPANION_TYPE
52
+ }) : [];
53
+ return useMemo(() => companions.toSorted((a, b) => byPosition(a.properties, b.properties)), [
54
+ companions
55
+ ]);
56
+ };
57
+
39
58
  // packages/plugins/plugin-deck/src/util/overscroll.ts
40
59
  var calculateOverscroll = (planksCount) => {
41
60
  if (!planksCount) {
@@ -72,14 +91,14 @@ var layoutAppliesTopbar = (breakpoint) => {
72
91
  };
73
92
 
74
93
  // packages/plugins/plugin-deck/src/util/useHoistStatusbar.ts
75
- import { useMemo } from "react";
94
+ import { useMemo as useMemo2 } from "react";
76
95
  import { Capabilities, useCapability } from "@dxos/app-framework";
77
96
  import { useThemeContext } from "@dxos/react-ui";
78
97
  var useHoistStatusbar = (breakpoint) => {
79
98
  const enableStatusbar = useCapability(Capabilities.SettingsStore).getStore(DECK_PLUGIN).value.enableStatusbar;
80
99
  const { safeAreaPadding } = useThemeContext();
81
- return useMemo(() => {
82
- return breakpoint === "desktop" && enableStatusbar && safeAreaPadding?.bottom === 0;
100
+ return useMemo2(() => {
101
+ return breakpoint === "desktop" && !!enableStatusbar && safeAreaPadding?.bottom === 0;
83
102
  }, [
84
103
  enableStatusbar,
85
104
  breakpoint,
@@ -92,6 +111,7 @@ export {
92
111
  setActive,
93
112
  useBreakpoints,
94
113
  layoutAppliesTopbar,
95
- useHoistStatusbar
114
+ useHoistStatusbar,
115
+ useCompanions
96
116
  };
97
- //# sourceMappingURL=chunk-YCKJNTKG.mjs.map
117
+ //# sourceMappingURL=chunk-6ZSOFCPP.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/util/set-active.ts", "../../../src/util/useCompanions.ts", "../../../src/util/overscroll.ts", "../../../src/util/useBreakpoints.ts", "../../../src/util/layoutAppliesTopbar.ts", "../../../src/util/useHoistStatusbar.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { batch } from '@preact/signals-core';\n\nimport { type AttentionManager } from '@dxos/plugin-attention';\n\nimport { type DeckPluginState } from '../types';\n\nexport type SetActiveOptions = {\n next: string[];\n state: DeckPluginState;\n attention?: AttentionManager;\n};\n\nexport const setActive = ({ next, state, attention }: SetActiveOptions) => {\n return batch(() => {\n const active = state.deck.solo ? [state.deck.solo] : state.deck.active;\n const removed = active.filter((id) => !next.includes(id));\n const closed = Array.from(new Set([...state.deck.inactive.filter((id) => !next.includes(id)), ...removed]));\n\n state.deck.inactive = closed;\n\n if (state.deck.solo || !state.deck.initialized) {\n state.deck.solo = next[0];\n } else {\n state.deck.active = next;\n }\n\n if (state.deck.fullscreen && !state.deck.solo) {\n state.deck.fullscreen = false;\n }\n\n if (attention) {\n const attended = attention.current;\n const [attendedId] = Array.from(attended);\n const isAttendedAvailable = !!attendedId && next.includes(attendedId);\n if (!isAttendedAvailable) {\n const attendedIndex = active.indexOf(attendedId);\n // If outside of bounds, focus on the first/last plank, otherwise focus on the new plank in the same position.\n const index = attendedIndex === -1 ? 0 : attendedIndex >= next.length ? next.length - 1 : attendedIndex;\n return next[index];\n }\n }\n });\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useMemo } from 'react';\n\nimport { useAppGraph } from '@dxos/app-framework';\nimport { useNode } from '@dxos/plugin-graph';\nimport { byPosition } from '@dxos/util';\n\nimport { PLANK_COMPANION_TYPE } from '../types';\n\nexport const useCompanions = (id?: string) => {\n const { graph } = useAppGraph();\n const node = useNode(graph, id);\n const companions = node ? graph.nodes(node, { type: PLANK_COMPANION_TYPE }) : [];\n return useMemo(() => companions.toSorted((a, b) => byPosition(a.properties, b.properties)), [companions]);\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport type { CSSProperties } from 'react';\n\n/**\n * ┌────────────────────────────────────────────────────────────────────────────────────────────────────┐\n * | Overscroll Padding Calculation for Centering Planks on Screen. │\n * ├────────────────────────────────────────────────────────────────────────────────────────────────────┤\n * │ NOTE(Zan): I found the way you calculate the overscroll padding to center a plank on the screen │\n * │ at the edges of the scroll context a bit confusing, so I've diagrammed it here. │\n * │ │\n * │ Multiple Planks: │\n * │ ─────────────── │\n * | Use the following overscroll padding calculation centering the boundary planks on the SCREEN. │\n * │ │\n * │ Left Padding: Right Padding: │\n * │ ┌───┬────┬──────────────────┬──────┐ ┌──────┬──────────────────┬────┬───┐ │\n * │ │ │████│ Ideal │ │ │ │ Ideal │████│ │ │\n * │ │ S │█PL█│ first │ │ │ │ last │█PR█│ C │ │\n * │ │ │████│ plank │ │ │ │ plank │████│ │ │\n * │ └───┴────┴──────────────────┴──────┘ └──────┴──────────────────┴────┴───┘ │\n * │ <--------- screen width -----------> <---------- screen width ----------> │\n * │ │\n * │ PL = ((screen width - Plank Width) / 2) - S │\n * │ PR = ((screen width - Plank Width) / 2) - C │\n * │ │\n * │ S = Sidebar width C = Complementary sidebar width │\n * │ PL = Padding Left PR = Padding Right │\n * │ │\n * │ Single Plank: │\n * │ ───────────── │\n * │ For a single plank we use the following overscroll padding calculation to center the plank in │\n * │ the content area: │\n * │ │\n * │ ┌───┬───────────────────────┬───┬───────────────────────┬───┐ │\n * │ │ │███████████████████████│ │███████████████████████│ │ │\n * │ │ S │█████ Left Padding ████│ P │████ Right Padding ████│ C │ │\n * │ │ │███████████████████████│ │███████████████████████│ │ │\n * │ └───┴───────────────────────┴───┴───────────────────────┴───┘ │\n * │ <------------------------ screen width ---------------------> │\n * │ │\n * │ Left/Right Padding Width = (screen width - S - P - C) / 2 │\n * │ │\n * │ S = Sidebar width (may be 0) │\n * │ P = Plank width (centered) │\n * │ C = Complementary sidebar width (may be 0) │\n * └────────────────────────────────────────────────────────────────────────────────────────────────────┘\n */\nexport const calculateOverscroll = (\n planksCount: number,\n): Pick<CSSProperties, 'paddingInlineStart' | 'paddingInlineEnd'> | undefined => {\n if (!planksCount) {\n return { paddingInlineStart: 0, paddingInlineEnd: 0 };\n }\n if (planksCount === 1) {\n const overscrollPadding =\n 'max(0px, calc(((100dvw - var(--dx-main-sidebarWidth) - var(--dx-main-complementaryWidth) - (var(--dx-main-contentFirstWidth) + 1px)) / 2)))';\n return { paddingInlineStart: overscrollPadding, paddingInlineEnd: overscrollPadding };\n } else {\n return {\n paddingInlineStart:\n 'max(0px, calc(((100dvw - (var(--dx-main-contentFirstWidth) + 1px)) / 2) - var(--dx-main-sidebarWidth)))',\n paddingInlineEnd:\n 'max(0px, calc(((100dvw - (var(--dx-main-contentLastWidth) + 1px)) / 2) - var(--dx-main-complementaryWidth)))',\n };\n }\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useMediaQuery } from '@dxos/react-ui';\n\nexport const useBreakpoints = () => {\n const [isNotMobile] = useMediaQuery('md');\n const [isDesktop] = useMediaQuery('lg');\n return isDesktop ? 'desktop' : isNotMobile ? 'tablet' : 'mobile';\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nexport const layoutAppliesTopbar = (breakpoint: string) => {\n return document.body.getAttribute('data-platform') === 'win' && breakpoint === 'desktop';\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useMemo } from 'react';\n\nimport { Capabilities, useCapability } from '@dxos/app-framework';\nimport { useThemeContext } from '@dxos/react-ui';\n\nimport { DECK_PLUGIN } from '../meta';\nimport type { DeckSettingsProps } from '../types';\n\nexport const useHoistStatusbar = (breakpoint: string): boolean => {\n const enableStatusbar = useCapability(Capabilities.SettingsStore).getStore<DeckSettingsProps>(DECK_PLUGIN)!.value\n .enableStatusbar;\n const { safeAreaPadding } = useThemeContext();\n return useMemo(() => {\n return breakpoint === 'desktop' && !!enableStatusbar && safeAreaPadding?.bottom === 0;\n }, [enableStatusbar, breakpoint, safeAreaPadding?.bottom]);\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["batch", "setActive", "next", "state", "attention", "batch", "active", "deck", "solo", "removed", "filter", "id", "includes", "closed", "Array", "from", "Set", "inactive", "initialized", "fullscreen", "attended", "current", "attendedId", "isAttendedAvailable", "attendedIndex", "indexOf", "index", "length", "useMemo", "useAppGraph", "useNode", "byPosition", "useCompanions", "id", "graph", "useAppGraph", "node", "useNode", "companions", "nodes", "type", "PLANK_COMPANION_TYPE", "useMemo", "toSorted", "a", "b", "byPosition", "properties", "calculateOverscroll", "planksCount", "paddingInlineStart", "paddingInlineEnd", "overscrollPadding", "useMediaQuery", "useBreakpoints", "isNotMobile", "useMediaQuery", "isDesktop", "layoutAppliesTopbar", "breakpoint", "document", "body", "getAttribute", "useMemo", "Capabilities", "useCapability", "useThemeContext", "useHoistStatusbar", "breakpoint", "enableStatusbar", "useCapability", "Capabilities", "SettingsStore", "getStore", "DECK_PLUGIN", "value", "safeAreaPadding", "useThemeContext", "useMemo", "bottom"]
7
+ }
@@ -0,0 +1,24 @@
1
+ // packages/plugins/plugin-deck/src/capabilities/index.ts
2
+ import { lazy } from "@dxos/app-framework";
3
+ var AppGraphBuilder = lazy(() => import("./app-graph-builder-VYZ4IWI3.mjs"));
4
+ var CheckAppScheme = lazy(() => import("./check-app-scheme-SEYECDHI.mjs"));
5
+ var LayoutIntentResolver = lazy(() => import("./intent-resolver-UDYKO2QW.mjs"));
6
+ var ReactRoot = lazy(() => import("./react-root-XLXN2VEW.mjs"));
7
+ var ReactSurface = lazy(() => import("./react-surface-WNGMZL7I.mjs"));
8
+ var DeckSettings = lazy(() => import("./settings-HMDGSBGO.mjs"));
9
+ var DeckState = lazy(() => import("./state-7TN26M42.mjs"));
10
+ var Tools = lazy(() => import("./tools-SC6QEN7R.mjs"));
11
+ var UrlHandler = lazy(() => import("./url-handler-ODG4B6NX.mjs"));
12
+
13
+ export {
14
+ AppGraphBuilder,
15
+ CheckAppScheme,
16
+ LayoutIntentResolver,
17
+ ReactRoot,
18
+ ReactSurface,
19
+ DeckSettings,
20
+ DeckState,
21
+ Tools,
22
+ UrlHandler
23
+ };
24
+ //# sourceMappingURL=chunk-B4LOJUWW.mjs.map