@dxos/plugin-deck 0.9.0 → 0.9.1-main.c7dcc2e112

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 (158) hide show
  1. package/dist/lib/neutral/{DeckLayout-DEURA3KR.mjs → DeckLayout-VX2BP4Q2.mjs} +35 -22
  2. package/dist/lib/neutral/DeckLayout-VX2BP4Q2.mjs.map +7 -0
  3. package/dist/lib/neutral/DeckPlugin.mjs +2 -2
  4. package/dist/lib/neutral/DeckPlugin.mjs.map +4 -4
  5. package/dist/lib/neutral/{DeckSettings-W5I57OXM.mjs → DeckSettings-CQQZJ2YS.mjs} +3 -3
  6. package/dist/lib/neutral/DeckSettings-CQQZJ2YS.mjs.map +7 -0
  7. package/dist/lib/neutral/{add-toast-TNB6DXWU.mjs → add-toast-APKTCLIA.mjs} +2 -2
  8. package/dist/lib/neutral/{adjust-HNU5CCRO.mjs → adjust-7CZI4GK3.mjs} +3 -3
  9. package/dist/lib/neutral/{app-graph-builder-HMLT627T.mjs → app-graph-builder-6HTXRTU2.mjs} +5 -5
  10. package/dist/lib/neutral/app-graph-builder-6HTXRTU2.mjs.map +7 -0
  11. package/dist/lib/neutral/capabilities/index.mjs +8 -8
  12. package/dist/lib/neutral/{check-app-scheme-INSOF72J.mjs → check-app-scheme-HSAORHHX.mjs} +2 -2
  13. package/dist/lib/neutral/{chunk-BS4EOYMK.mjs → chunk-CL7JIOI5.mjs} +28 -14
  14. package/dist/lib/neutral/chunk-CL7JIOI5.mjs.map +7 -0
  15. package/dist/lib/neutral/{chunk-WAXJPQJI.mjs → chunk-DNG3L5QN.mjs} +31 -33
  16. package/dist/lib/neutral/chunk-DNG3L5QN.mjs.map +7 -0
  17. package/dist/lib/neutral/chunk-KY7LMF4D.mjs +46 -0
  18. package/dist/lib/neutral/chunk-KY7LMF4D.mjs.map +7 -0
  19. package/dist/lib/neutral/{chunk-324PPIZB.mjs → chunk-KZFJ4PBT.mjs} +4 -4
  20. package/dist/lib/neutral/chunk-KZFJ4PBT.mjs.map +7 -0
  21. package/dist/lib/neutral/{chunk-GBIGQKYW.mjs → chunk-NGX6RXNV.mjs} +4 -4
  22. package/dist/lib/neutral/chunk-NGX6RXNV.mjs.map +7 -0
  23. package/dist/lib/neutral/chunk-UZLAR4DR.mjs +8 -0
  24. package/dist/lib/neutral/{close-ASKR22A6.mjs → close-KJUCFIJ5.mjs} +3 -3
  25. package/dist/lib/neutral/components/index.mjs +1 -1
  26. package/dist/lib/neutral/containers/index.mjs +3 -3
  27. package/dist/lib/neutral/index.mjs +12 -2
  28. package/dist/lib/neutral/meta.json +1 -1
  29. package/dist/lib/neutral/meta.mjs +1 -1
  30. package/dist/lib/neutral/{notification-tracker-P36322BH.mjs → notification-tracker-CUDFRDCF.mjs} +9 -9
  31. package/dist/lib/neutral/{notification-tracker-P36322BH.mjs.map → notification-tracker-CUDFRDCF.mjs.map} +3 -3
  32. package/dist/lib/neutral/{open-5OYNO3RT.mjs → open-VU7YS3HB.mjs} +7 -7
  33. package/dist/lib/neutral/open-VU7YS3HB.mjs.map +7 -0
  34. package/dist/lib/neutral/operations/index.mjs +1 -1
  35. package/dist/lib/neutral/plugin.mjs +2 -2
  36. package/dist/lib/neutral/{react-root-HH5DEUOG.mjs → react-root-E6TAFHX6.mjs} +2 -2
  37. package/dist/lib/neutral/react-root-E6TAFHX6.mjs.map +7 -0
  38. package/dist/lib/neutral/{react-surface-3UVVCK3O.mjs → react-surface-O4POQWYL.mjs} +4 -5
  39. package/dist/lib/neutral/react-surface-O4POQWYL.mjs.map +7 -0
  40. package/dist/lib/neutral/{revert-workspace-B2QLT2C4.mjs → revert-workspace-24TKG3I7.mjs} +2 -2
  41. package/dist/lib/neutral/{scroll-into-view-B52C3PJO.mjs → scroll-into-view-3VXT6TWC.mjs} +2 -2
  42. package/dist/lib/neutral/{set-PA35ONXO.mjs → set-RFOLTI57.mjs} +3 -3
  43. package/dist/lib/neutral/{set-layout-mode-RPCCPQRB.mjs → set-layout-mode-AZ73W52Z.mjs} +2 -2
  44. package/dist/lib/neutral/{settings-EGNYUM4T.mjs → settings-6CDQEB6B.mjs} +3 -3
  45. package/dist/lib/neutral/settings-6CDQEB6B.mjs.map +7 -0
  46. package/dist/lib/neutral/{state-IIDXMQUO.mjs → state-D3YXB5NP.mjs} +3 -3
  47. package/dist/lib/neutral/{state-IIDXMQUO.mjs.map → state-D3YXB5NP.mjs.map} +2 -2
  48. package/dist/lib/neutral/{switch-workspace-LZF4KZXH.mjs → switch-workspace-TBPT23CZ.mjs} +4 -4
  49. package/dist/lib/neutral/switch-workspace-TBPT23CZ.mjs.map +7 -0
  50. package/dist/lib/neutral/translations.mjs +1 -1
  51. package/dist/lib/neutral/translations.mjs.map +3 -3
  52. package/dist/lib/neutral/types/index.mjs +11 -1
  53. package/dist/lib/neutral/{update-companion-YUCZZVGY.mjs → update-companion-5LCY6QME.mjs} +2 -2
  54. package/dist/lib/neutral/{update-complementary-7FZNB55J.mjs → update-complementary-HZ7QXZYE.mjs} +2 -2
  55. package/dist/lib/neutral/{update-dialog-FNQTSSAP.mjs → update-dialog-A7W3R5EI.mjs} +2 -2
  56. package/dist/lib/neutral/{update-plank-size-3YW4NXEY.mjs → update-plank-size-XHTYBLSD.mjs} +2 -2
  57. package/dist/lib/neutral/{update-popover-G2VUD7E6.mjs → update-popover-RDIHG73B.mjs} +2 -2
  58. package/dist/lib/neutral/{update-sidebar-KRHPUHUB.mjs → update-sidebar-GEI7USA5.mjs} +2 -2
  59. package/dist/lib/neutral/{url-handler-A6HLW4RB.mjs → url-handler-PUS4X33T.mjs} +10 -10
  60. package/dist/lib/neutral/url-handler-PUS4X33T.mjs.map +7 -0
  61. package/dist/types/dx.config.d.ts +28 -0
  62. package/dist/types/dx.config.d.ts.map +1 -0
  63. package/dist/types/src/capabilities/index.d.ts +8 -196
  64. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  65. package/dist/types/src/capabilities/react-surface.d.ts +2 -2
  66. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  67. package/dist/types/src/capabilities/state.d.ts +2 -2
  68. package/dist/types/src/components/Matrix/Matrix.stories.d.ts.map +1 -1
  69. package/dist/types/src/containers/Deck/Banner.d.ts.map +1 -1
  70. package/dist/types/src/containers/Deck/DeckViewport.d.ts.map +1 -1
  71. package/dist/types/src/containers/Deck/StatusBar.d.ts.map +1 -1
  72. package/dist/types/src/containers/DeckLayout/DeckLayout.stories.d.ts.map +1 -1
  73. package/dist/types/src/containers/DeckLayout/Popover.d.ts.map +1 -1
  74. package/dist/types/src/containers/Plank/PlankHeading.d.ts.map +1 -1
  75. package/dist/types/src/containers/Sidebar/ComplementarySidebar.d.ts.map +1 -1
  76. package/dist/types/src/meta.d.ts +28 -2
  77. package/dist/types/src/meta.d.ts.map +1 -1
  78. package/dist/types/src/operations/open.d.ts.map +1 -1
  79. package/dist/types/src/operations/switch-workspace.d.ts.map +1 -1
  80. package/dist/types/src/types/DeckCapabilities.d.ts +2 -2
  81. package/dist/types/src/types/DeckCapabilities.d.ts.map +1 -1
  82. package/dist/types/src/types/index.d.ts +1 -0
  83. package/dist/types/src/types/index.d.ts.map +1 -1
  84. package/dist/types/src/types/schema.d.ts +4 -2
  85. package/dist/types/src/types/schema.d.ts.map +1 -1
  86. package/dist/types/src/types/surface.d.ts +12 -0
  87. package/dist/types/src/types/surface.d.ts.map +1 -0
  88. package/dist/types/tsconfig.tsbuildinfo +1 -1
  89. package/dx.config.ts +35 -0
  90. package/package.json +39 -39
  91. package/src/DeckPlugin.test.ts +1 -1
  92. package/src/DeckPlugin.ts +1 -1
  93. package/src/capabilities/app-graph-builder.ts +4 -4
  94. package/src/capabilities/check-app-scheme.ts +3 -3
  95. package/src/capabilities/notification-tracker.ts +8 -8
  96. package/src/capabilities/react-root.tsx +1 -1
  97. package/src/capabilities/react-surface.tsx +3 -4
  98. package/src/capabilities/settings.ts +2 -2
  99. package/src/capabilities/state.ts +1 -1
  100. package/src/capabilities/url-handler.ts +7 -15
  101. package/src/components/DeckSettings/DeckSettings.tsx +2 -2
  102. package/src/components/Matrix/Matrix.stories.tsx +2 -1
  103. package/src/containers/Deck/Banner.tsx +5 -4
  104. package/src/containers/Deck/DeckViewport.tsx +3 -4
  105. package/src/containers/Deck/StatusBar.tsx +4 -2
  106. package/src/containers/DeckLayout/DeckLayout.stories.tsx +6 -9
  107. package/src/containers/DeckLayout/Fallback.tsx +1 -1
  108. package/src/containers/DeckLayout/Popover.tsx +37 -20
  109. package/src/containers/DeckLayout/Toast.tsx +1 -1
  110. package/src/containers/Plank/Plank.stories.tsx +2 -2
  111. package/src/containers/Plank/PlankControls.tsx +2 -2
  112. package/src/containers/Plank/PlankError.tsx +1 -1
  113. package/src/containers/Plank/PlankHeading.tsx +5 -6
  114. package/src/containers/Sidebar/ComplementarySidebar.tsx +6 -5
  115. package/src/containers/Sidebar/Sidebar.tsx +1 -1
  116. package/src/containers/Sidebar/SidebarButton.tsx +3 -3
  117. package/src/meta.ts +2 -27
  118. package/src/operations/open.ts +12 -10
  119. package/src/operations/switch-workspace.ts +2 -2
  120. package/src/translations.ts +1 -1
  121. package/src/types/DeckCapabilities.ts +5 -3
  122. package/src/types/DeckEvents.ts +1 -1
  123. package/src/types/DeckOperation.ts +1 -1
  124. package/src/types/index.ts +1 -0
  125. package/src/types/schema.ts +16 -12
  126. package/src/types/surface.ts +28 -0
  127. package/src/util/plank-url-params.ts +3 -3
  128. package/dist/lib/neutral/DeckLayout-DEURA3KR.mjs.map +0 -7
  129. package/dist/lib/neutral/DeckSettings-W5I57OXM.mjs.map +0 -7
  130. package/dist/lib/neutral/app-graph-builder-HMLT627T.mjs.map +0 -7
  131. package/dist/lib/neutral/chunk-324PPIZB.mjs.map +0 -7
  132. package/dist/lib/neutral/chunk-BS4EOYMK.mjs.map +0 -7
  133. package/dist/lib/neutral/chunk-GBIGQKYW.mjs.map +0 -7
  134. package/dist/lib/neutral/chunk-PYEY5SEC.mjs +0 -37
  135. package/dist/lib/neutral/chunk-PYEY5SEC.mjs.map +0 -7
  136. package/dist/lib/neutral/chunk-Q4W6B4IB.mjs +0 -8
  137. package/dist/lib/neutral/chunk-WAXJPQJI.mjs.map +0 -7
  138. package/dist/lib/neutral/open-5OYNO3RT.mjs.map +0 -7
  139. package/dist/lib/neutral/react-root-HH5DEUOG.mjs.map +0 -7
  140. package/dist/lib/neutral/react-surface-3UVVCK3O.mjs.map +0 -7
  141. package/dist/lib/neutral/settings-EGNYUM4T.mjs.map +0 -7
  142. package/dist/lib/neutral/switch-workspace-LZF4KZXH.mjs.map +0 -7
  143. package/dist/lib/neutral/url-handler-A6HLW4RB.mjs.map +0 -7
  144. /package/dist/lib/neutral/{add-toast-TNB6DXWU.mjs.map → add-toast-APKTCLIA.mjs.map} +0 -0
  145. /package/dist/lib/neutral/{adjust-HNU5CCRO.mjs.map → adjust-7CZI4GK3.mjs.map} +0 -0
  146. /package/dist/lib/neutral/{check-app-scheme-INSOF72J.mjs.map → check-app-scheme-HSAORHHX.mjs.map} +0 -0
  147. /package/dist/lib/neutral/{chunk-Q4W6B4IB.mjs.map → chunk-UZLAR4DR.mjs.map} +0 -0
  148. /package/dist/lib/neutral/{close-ASKR22A6.mjs.map → close-KJUCFIJ5.mjs.map} +0 -0
  149. /package/dist/lib/neutral/{revert-workspace-B2QLT2C4.mjs.map → revert-workspace-24TKG3I7.mjs.map} +0 -0
  150. /package/dist/lib/neutral/{scroll-into-view-B52C3PJO.mjs.map → scroll-into-view-3VXT6TWC.mjs.map} +0 -0
  151. /package/dist/lib/neutral/{set-PA35ONXO.mjs.map → set-RFOLTI57.mjs.map} +0 -0
  152. /package/dist/lib/neutral/{set-layout-mode-RPCCPQRB.mjs.map → set-layout-mode-AZ73W52Z.mjs.map} +0 -0
  153. /package/dist/lib/neutral/{update-companion-YUCZZVGY.mjs.map → update-companion-5LCY6QME.mjs.map} +0 -0
  154. /package/dist/lib/neutral/{update-complementary-7FZNB55J.mjs.map → update-complementary-HZ7QXZYE.mjs.map} +0 -0
  155. /package/dist/lib/neutral/{update-dialog-FNQTSSAP.mjs.map → update-dialog-A7W3R5EI.mjs.map} +0 -0
  156. /package/dist/lib/neutral/{update-plank-size-3YW4NXEY.mjs.map → update-plank-size-XHTYBLSD.mjs.map} +0 -0
  157. /package/dist/lib/neutral/{update-popover-G2VUD7E6.mjs.map → update-popover-RDIHG73B.mjs.map} +0 -0
  158. /package/dist/lib/neutral/{update-sidebar-KRHPUHUB.mjs.map → update-sidebar-GEI7USA5.mjs.map} +0 -0
@@ -4,9 +4,10 @@ import {
4
4
 
5
5
  // src/types/schema.ts
6
6
  import * as Schema from "effect/Schema";
7
- import { Label, LayoutOperation } from "@dxos/app-toolkit";
7
+ import { AppNode, LayoutOperation, Translations } from "@dxos/app-toolkit";
8
8
  import { meta } from "#meta";
9
- import { PLANK_COMPANION_TYPE, DECK_COMPANION_TYPE } from "@dxos/app-toolkit";
9
+ var PLANK_COMPANION_TYPE = AppNode.PLANK_COMPANION_TYPE;
10
+ var DECK_COMPANION_TYPE = AppNode.DECK_COMPANION_TYPE;
10
11
  var PlankSizing = Schema.Record({
11
12
  key: Schema.String,
12
13
  value: Schema.Number
@@ -83,8 +84,8 @@ var EphemeralDeckState = Schema.Struct({
83
84
  popoverSide: Schema.optional(Schema.Literal("top", "right", "bottom", "left")),
84
85
  popoverAnchor: Schema.optional(Schema.Any),
85
86
  popoverAnchorId: Schema.optional(Schema.String),
86
- popoverKind: Schema.optional(Schema.Literal("base", "card")),
87
- popoverTitle: Schema.optional(Label.annotations({
87
+ popoverKind: Schema.optional(Schema.Literal("base", "card", "rename")),
88
+ popoverTitle: Schema.optional(Translations.Label.annotations({
88
89
  description: "The title of the popover."
89
90
  })),
90
91
  /** Ref of the subject to be passed to the popover Surface. */
@@ -119,13 +120,13 @@ var EphemeralDeckState = Schema.Struct({
119
120
  id: Schema.String,
120
121
  type: PartAdjustmentSchema2
121
122
  }));
122
- class Adjust2 extends Schema.TaggedClass()(`${meta.id}.action.adjust`, {
123
+ class Adjust2 extends Schema.TaggedClass()(`${meta.profile.key}.action.adjust`, {
123
124
  input: DeckAction2.Adjustment,
124
125
  output: Schema.Void
125
126
  }) {
126
127
  }
127
128
  DeckAction2.Adjust = Adjust2;
128
- class UpdatePlankSize2 extends Schema.TaggedClass()(`${meta.id}.action.update-plank-size`, {
129
+ class UpdatePlankSize2 extends Schema.TaggedClass()(`${meta.profile.key}.action.update-plank-size`, {
129
130
  input: Schema.Struct({
130
131
  id: Schema.String,
131
132
  size: Schema.Number
@@ -137,6 +138,14 @@ var EphemeralDeckState = Schema.Struct({
137
138
  })(DeckAction || (DeckAction = {}));
138
139
  var DeckAction;
139
140
 
141
+ // src/types/surface.ts
142
+ import { Surface } from "@dxos/app-framework/ui";
143
+ var StatusBar = Surface.makeType("org.dxos.plugin.statusBar.role.statusBar");
144
+ var StatusBarFooter = Surface.makeType("org.dxos.plugin.statusBar.role.footer");
145
+ var VersionInfo = Surface.makeType("org.dxos.plugin.statusBar.role.versionInfo");
146
+ var Hints = Surface.makeType("org.dxos.plugin.support.role.hints");
147
+ var Keyshortcuts = Surface.makeType("org.dxos.plugin.support.role.keyshortcuts");
148
+
140
149
  // src/types/DeckCapabilities.ts
141
150
  var DeckCapabilities_exports = {};
142
151
  __export(DeckCapabilities_exports, {
@@ -150,9 +159,9 @@ import { Capabilities, Capability } from "@dxos/app-framework";
150
159
  import { invariant } from "@dxos/invariant";
151
160
  import { meta as meta2 } from "#meta";
152
161
  var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-deck/src/types/DeckCapabilities.ts";
153
- var Settings = Capability.make(`${meta2.id}.capability.settings`);
154
- var State = Capability.make(`${meta2.id}.capability.state`);
155
- var EphemeralState = Capability.make(`${meta2.id}.capability.ephemeral-state`);
162
+ var Settings = Capability.make(`${meta2.profile.key}.capability.settings`);
163
+ var State = Capability.make(`${meta2.profile.key}.capability.state`);
164
+ var EphemeralState = Capability.make(`${meta2.profile.key}.capability.ephemeral-state`);
156
165
  var getDeck = () => Effect.gen(function* () {
157
166
  const state = yield* Capabilities.getAtomValue(State);
158
167
  const deck = state.decks[state.activeDeck];
@@ -168,7 +177,7 @@ __export(DeckEvents_exports, {
168
177
  });
169
178
  import { AppActivationEvents } from "@dxos/app-toolkit";
170
179
  import { meta as meta3 } from "#meta";
171
- var StateReady = AppActivationEvents.createStateEvent(`${meta3.id}.state-ready`);
180
+ var StateReady = AppActivationEvents.createStateEvent(`${meta3.profile.key}.state-ready`);
172
181
  var SettingsReady = AppActivationEvents.createSettingsEvent(Settings.identifier);
173
182
 
174
183
  // src/types/DeckOperation.ts
@@ -182,7 +191,7 @@ import { Capability as Capability2 } from "@dxos/app-framework";
182
191
  import { Operation } from "@dxos/compute";
183
192
  import { DXN } from "@dxos/keys";
184
193
  import { meta as meta4 } from "#meta";
185
- var makeKey = (name) => DXN.make(`${meta4.id}.operation.${name}`);
194
+ var makeKey = (name) => DXN.make(`${meta4.profile.key}.operation.${name}`);
186
195
  var PartAdjustmentSchema = Schema2.Union(Schema2.Literal("close").annotations({
187
196
  description: "Close the plank."
188
197
  }), Schema2.Literal("companion").annotations({
@@ -264,6 +273,8 @@ var Settings2 = Schema3.Struct({
264
273
  }).pipe(Schema3.mutable);
265
274
 
266
275
  export {
276
+ PLANK_COMPANION_TYPE,
277
+ DECK_COMPANION_TYPE,
267
278
  PlankSizing,
268
279
  DeckState,
269
280
  defaultDeck,
@@ -272,11 +283,14 @@ export {
272
283
  StoredDeckState,
273
284
  EphemeralDeckState,
274
285
  DeckAction,
275
- PLANK_COMPANION_TYPE,
276
- DECK_COMPANION_TYPE,
286
+ StatusBar,
287
+ StatusBarFooter,
288
+ VersionInfo,
289
+ Hints,
290
+ Keyshortcuts,
277
291
  DeckCapabilities_exports,
278
292
  DeckEvents_exports,
279
293
  DeckOperation_exports,
280
294
  Settings_exports
281
295
  };
282
- //# sourceMappingURL=chunk-BS4EOYMK.mjs.map
296
+ //# sourceMappingURL=chunk-CL7JIOI5.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types/schema.ts", "../../../src/types/surface.ts", "../../../src/types/DeckCapabilities.ts", "../../../src/types/DeckEvents.ts", "../../../src/types/DeckOperation.ts", "../../../src/types/Settings.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { AppNode, LayoutOperation, Translations } from '@dxos/app-toolkit';\nimport { type DeepReadonly } from '@dxos/util';\n\nimport { meta } from '#meta';\n\nexport const PLANK_COMPANION_TYPE = AppNode.PLANK_COMPANION_TYPE;\nexport const DECK_COMPANION_TYPE = AppNode.DECK_COMPANION_TYPE;\n\nexport type Part = 'solo' | 'multi' | 'complementary';\nexport type ResolvedPart = Part | 'solo-primary' | 'solo-companion';\n\nexport const PlankSizing = Schema.Record({ key: Schema.String, value: Schema.Number });\nexport type PlankSizing = Schema.Schema.Type<typeof PlankSizing>;\n\nexport const DeckState = Schema.Struct({\n /** If false, the deck has not yet left solo mode and new planks should be soloed. */\n initialized: Schema.Boolean,\n /** Item IDs of planks currently displayed in multi-mode. */\n active: Schema.mutable(Schema.Array(Schema.String)),\n /** Item IDs of planks that have been closed; used for state persistence and reopening. */\n inactive: Schema.mutable(Schema.Array(Schema.String)),\n /** Item ID of the single plank displayed in solo or fullscreen mode. */\n solo: Schema.optional(Schema.String),\n /** Whether the solo plank is displayed in fullscreen mode (no heading or sidebars). */\n fullscreen: Schema.Boolean,\n /** Persisted plank widths in rem, keyed by item ID. */\n plankSizing: Schema.mutable(PlankSizing),\n /** Whether the companion pane is visible alongside the active plank(s). */\n companionOpen: Schema.Boolean,\n /** Which companion variant to display when the companion pane is open. */\n companionVariant: Schema.optional(Schema.String),\n /** Persisted companion frame widths in rem, keyed by frame ID. */\n companionFrameSizing: Schema.mutable(PlankSizing),\n});\nexport type DeckState = Schema.Schema.Type<typeof DeckState>;\n\nexport const defaultDeck: DeckState = {\n initialized: false,\n active: [],\n inactive: [],\n solo: undefined,\n fullscreen: false,\n plankSizing: {},\n companionOpen: false,\n companionVariant: undefined,\n companionFrameSizing: {},\n};\n\n//\n// Layout\n//\n\nconst LayoutMode = Schema.Literal('multi', 'solo', 'solo--fullscreen');\nexport type LayoutMode = Schema.Schema.Type<typeof LayoutMode>;\nexport const isLayoutMode = (value: any): value is LayoutMode => Schema.is(LayoutMode)(value);\nexport const getMode = (deck: DeckState | DeepReadonly<DeckState>): LayoutMode => {\n if (deck.solo) {\n return deck.fullscreen ? 'solo--fullscreen' : 'solo';\n }\n\n return 'multi';\n};\n\n// Persisted plugin state (stored in KVS/localStorage).\nexport const StoredDeckState = Schema.Struct({\n sidebarState: Schema.Literal('closed', 'collapsed', 'expanded'),\n complementarySidebarState: Schema.Literal('closed', 'collapsed', 'expanded'),\n complementarySidebarPanel: Schema.optional(Schema.String),\n activeDeck: Schema.String,\n previousDeck: Schema.String,\n decks: Schema.mutable(Schema.Record({ key: Schema.String, value: Schema.mutable(DeckState) })),\n previousMode: Schema.mutable(Schema.Record({ key: Schema.String, value: LayoutMode })),\n}).pipe(Schema.mutable);\nexport type StoredDeckState = Schema.Schema.Type<typeof StoredDeckState>;\n\n// Transient/ephemeral plugin state (not persisted).\nexport const EphemeralDeckState = Schema.Struct({\n dialogOpen: Schema.Boolean,\n dialogType: Schema.optional(Schema.Literal('default', 'alert')),\n dialogBlockAlign: Schema.optional(Schema.Literal('start', 'center', 'end')),\n dialogOverlayClasses: Schema.optional(Schema.String),\n dialogOverlayStyle: Schema.optional(Schema.Record({ key: Schema.String, value: Schema.Any })),\n /** Data to be passed to the dialog Surface. */\n dialogContent: Schema.NullOr(Schema.Struct({ component: Schema.String, props: Schema.optional(Schema.Any) })),\n popoverOpen: Schema.Boolean,\n popoverSide: Schema.optional(Schema.Literal('top', 'right', 'bottom', 'left')),\n popoverAnchor: Schema.optional(Schema.Any),\n popoverAnchorId: Schema.optional(Schema.String),\n popoverKind: Schema.optional(Schema.Literal('base', 'card', 'rename')),\n popoverTitle: Schema.optional(Translations.Label.annotations({ description: 'The title of the popover.' })),\n /** Ref of the subject to be passed to the popover Surface. */\n popoverContentRef: Schema.optional(Schema.String),\n /** Data to be passed to the popover Surface. */\n popoverContent: Schema.NullOr(\n Schema.Union(\n Schema.Struct({ component: Schema.String, props: Schema.optional(Schema.Any) }),\n Schema.Struct({ subject: Schema.Any }),\n ),\n ),\n toasts: Schema.mutable(Schema.Array(LayoutOperation.Toast)),\n currentUndoId: Schema.optional(Schema.String),\n /** The identifier of a component to scroll into view when it is mounted. */\n scrollIntoView: Schema.optional(Schema.String),\n}).pipe(Schema.mutable);\nexport type EphemeralDeckState = Schema.Schema.Type<typeof EphemeralDeckState>;\n\n// Combined state type (for convenience in components that need both).\nexport type DeckPluginState = StoredDeckState & EphemeralDeckState;\n\nexport namespace DeckAction {\n const PartAdjustmentSchema = Schema.Union(\n Schema.Literal('close').annotations({ description: 'Close the plank.' }),\n Schema.Literal('companion').annotations({ description: 'Open the companion plank.' }),\n Schema.Literal('solo').annotations({ description: 'Solo the plank.' }),\n Schema.Literal('solo--fullscreen').annotations({ description: 'Fullscreen the plank.' }),\n Schema.Literal('increment-start').annotations({ description: 'Move the plank towards the start of the deck.' }),\n Schema.Literal('increment-end').annotations({ description: 'Move the plank towards the end of the deck.' }),\n );\n export type PartAdjustment = Schema.Schema.Type<typeof PartAdjustmentSchema>;\n export const Adjustment = Schema.mutable(Schema.Struct({ id: Schema.String, type: PartAdjustmentSchema }));\n export type Adjustment = Schema.Schema.Type<typeof Adjustment>;\n\n // An atomic transaction to apply to the deck, describing which element to move to which location.\n export class Adjust extends Schema.TaggedClass<Adjust>()(`${meta.profile.key}.action.adjust`, {\n input: Adjustment,\n output: Schema.Void,\n }) {}\n\n export class UpdatePlankSize extends Schema.TaggedClass<UpdatePlankSize>()(\n `${meta.profile.key}.action.update-plank-size`,\n {\n input: Schema.Struct({\n id: Schema.String,\n size: Schema.Number,\n }),\n output: Schema.Void,\n },\n ) {}\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Surface } from '@dxos/app-framework/ui';\n\n/** Slot for the main status-bar container. */\nexport const StatusBar: Surface.RoleToken<Record<string, unknown>> = Surface.makeType(\n 'org.dxos.plugin.statusBar.role.statusBar',\n);\n\n/** Slot for the status-bar footer region. */\nexport const StatusBarFooter: Surface.RoleToken<Record<string, unknown>> = Surface.makeType(\n 'org.dxos.plugin.statusBar.role.footer',\n);\n\n/** Slot for the version-info widget in the banner. */\nexport const VersionInfo: Surface.RoleToken<Record<string, unknown>> = Surface.makeType(\n 'org.dxos.plugin.statusBar.role.versionInfo',\n);\n\n/** Slot for the keyboard-shortcuts hints overlay. */\nexport const Hints: Surface.RoleToken<Record<string, unknown>> = Surface.makeType('org.dxos.plugin.support.role.hints');\n\n/** Slot for the full keyboard-shortcuts list. */\nexport const Keyshortcuts: Surface.RoleToken<Record<string, unknown>> = Surface.makeType(\n 'org.dxos.plugin.support.role.keyshortcuts',\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport { type Atom } from '@effect-atom/atom-react';\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { invariant } from '@dxos/invariant';\n\nimport { meta } from '#meta';\n\nimport { type EphemeralDeckState, type DeckState, type StoredDeckState } from './schema';\n\nexport const Settings = Capability.make<Atom.Writable<import('./Settings').Settings>>(\n `${meta.profile.key}.capability.settings`,\n);\n\n/** Persisted state (stored in KVS/localStorage). */\nexport const State = Capability.make<Atom.Writable<StoredDeckState>>(`${meta.profile.key}.capability.state`);\n\n/** Transient/ephemeral state (not persisted). */\nexport const EphemeralState = Capability.make<Atom.Writable<EphemeralDeckState>>(\n `${meta.profile.key}.capability.ephemeral-state`,\n);\n\n/** Get the current active deck from state. */\nexport const getDeck = (): Effect.Effect<DeckState, Error, Capability.Service> =>\n Effect.gen(function* () {\n const state = yield* Capabilities.getAtomValue(State);\n const deck = state.decks[state.activeDeck];\n invariant(deck, `Deck not found: ${state.activeDeck}`);\n return deck;\n });\n", "//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport { type ActivationEvent } from '@dxos/app-framework';\nimport { AppActivationEvents } from '@dxos/app-toolkit';\n\nimport { meta } from '#meta';\n\nimport * as DeckCapabilities from './DeckCapabilities';\n\nexport const StateReady: ActivationEvent.ActivationEvent = AppActivationEvents.createStateEvent(\n `${meta.profile.key}.state-ready`,\n);\n\n/** Fired when DeckSettings capability is ready. */\nexport const SettingsReady: ActivationEvent.ActivationEvent = AppActivationEvents.createSettingsEvent(\n DeckCapabilities.Settings.identifier,\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\nimport { Operation } from '@dxos/compute';\nimport { DXN } from '@dxos/keys';\n\nimport { meta } from '#meta';\n\nconst makeKey = (name: string) => DXN.make(`${meta.profile.key}.operation.${name}`);\n\nconst PartAdjustmentSchema = Schema.Union(\n Schema.Literal('close').annotations({ description: 'Close the plank.' }),\n Schema.Literal('companion').annotations({ description: 'Open the companion plank.' }),\n Schema.Literal('solo').annotations({ description: 'Solo the plank.' }),\n Schema.Literal('solo--fullscreen').annotations({ description: 'Fullscreen the plank.' }),\n Schema.Literal('increment-start').annotations({ description: 'Move the plank towards the start of the deck.' }),\n Schema.Literal('increment-end').annotations({ description: 'Move the plank towards the end of the deck.' }),\n);\n\nexport type PartAdjustment = Schema.Schema.Type<typeof PartAdjustmentSchema>;\n\nexport const Adjust = Operation.make({\n meta: {\n key: makeKey('adjust'),\n name: 'Adjust',\n description: 'Adjust the layout of a plank.',\n icon: 'ph--layout--regular',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n id: Schema.String.annotations({ description: 'The id of the plank to adjust.' }),\n type: PartAdjustmentSchema.annotations({ description: 'The type of adjustment to make.' }),\n }),\n output: Schema.Void,\n});\n\nexport const UpdatePlankSize = Operation.make({\n meta: {\n key: makeKey('updatePlankSize'),\n name: 'Update Plank Size',\n description: 'Update the size of a plank.',\n icon: 'ph--arrows-out--regular',\n },\n services: [Capability.Service],\n input: Schema.Struct({\n id: Schema.String.annotations({ description: 'The id of the plank to resize.' }),\n size: Schema.Number.annotations({ description: 'The new size of the plank.' }),\n }),\n output: Schema.Void,\n});\n", "//\n// Copyright 2023 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Schema from 'effect/Schema';\n\nexport const Settings = Schema.Struct({\n enableDeck: Schema.optional(\n Schema.Boolean.annotations({\n title: 'Enable Deck',\n description: 'Display multiple panels side by side instead of one at a time.',\n }),\n ),\n // TODO(burdon): Rename layoutMode? (e.g., bento/encapsulated or floating/compact, etc.)\n encapsulatedPlanks: Schema.optional(\n Schema.Boolean.annotations({\n title: 'Encapsulated planks',\n description: 'Render each plank inside its own isolated container.',\n }),\n ),\n showHints: Schema.optional(\n Schema.Boolean.annotations({\n title: 'Show hints',\n description: 'Show helpful tips and keyboard shortcut hints in the interface.',\n }),\n ),\n enableNativeRedirect: Schema.optional(\n Schema.Boolean.annotations({\n title: 'Enable native url redirect',\n description: 'Redirect supported URLs to the native desktop application.',\n }),\n ),\n}).pipe(Schema.mutable);\nexport interface Settings extends Schema.Schema.Type<typeof Settings> {}\n"],
5
+ "mappings": "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",
6
+ "names": ["Schema", "AppNode", "LayoutOperation", "Translations", "meta", "PLANK_COMPANION_TYPE", "DECK_COMPANION_TYPE", "PlankSizing", "Record", "key", "String", "value", "Number", "DeckState", "Struct", "initialized", "Boolean", "active", "mutable", "Array", "inactive", "solo", "optional", "fullscreen", "plankSizing", "companionOpen", "companionVariant", "companionFrameSizing", "defaultDeck", "undefined", "LayoutMode", "Literal", "isLayoutMode", "is", "getMode", "deck", "StoredDeckState", "sidebarState", "complementarySidebarState", "complementarySidebarPanel", "activeDeck", "previousDeck", "decks", "previousMode", "pipe", "EphemeralDeckState", "dialogOpen", "dialogType", "dialogBlockAlign", "dialogOverlayClasses", "dialogOverlayStyle", "Any", "dialogContent", "NullOr", "component", "props", "popoverOpen", "popoverSide", "popoverAnchor", "popoverAnchorId", "popoverKind", "popoverTitle", "Label", "annotations", "description", "popoverContentRef", "popoverContent", "Union", "subject", "toasts", "Toast", "currentUndoId", "scrollIntoView", "DeckAction", "PartAdjustmentSchema", "Adjustment", "id", "type", "Adjust", "TaggedClass", "profile", "input", "output", "Void", "UpdatePlankSize", "size", "Surface", "StatusBar", "makeType", "StatusBarFooter", "VersionInfo", "Hints", "Keyshortcuts", "Effect", "Capabilities", "Capability", "invariant", "meta", "Settings", "getDeck", "State", "deck", "activeDeck", "AppActivationEvents", "meta", "StateReady", "AppActivationEvents", "createStateEvent", "meta", "profile", "key", "SettingsReady", "createSettingsEvent", "Settings", "identifier", "Schema", "Capability", "Operation", "DXN", "meta", "makeKey", "name", "make", "profile", "key", "PartAdjustmentSchema", "Union", "Literal", "annotations", "description", "Adjust", "icon", "services", "Service", "input", "Struct", "id", "String", "type", "output", "Void", "UpdatePlankSize", "size", "Number", "Settings", "Schema", "Struct", "enableDeck", "optional", "Boolean", "annotations", "title", "description", "encapsulatedPlanks", "showHints", "enableNativeRedirect", "pipe", "mutable"]
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  layoutAppliesTopbar
3
- } from "./chunk-GBIGQKYW.mjs";
3
+ } from "./chunk-NGX6RXNV.mjs";
4
4
 
5
5
  // src/containers/Plank/PlankLoading.tsx
6
6
  import React from "react";
@@ -23,10 +23,9 @@ import React4, { Fragment, memo, useCallback as useCallback2, useEffect, useMemo
23
23
  import { Surface } from "@dxos/app-framework/ui";
24
24
  import { AppSurface } from "@dxos/app-toolkit/ui";
25
25
  import { Graph, useActionRunner } from "@dxos/plugin-graph";
26
- import { Icon, IconButton as IconButton2, Popover, toLocalizedString, useTranslation as useTranslation2 } from "@dxos/react-ui";
26
+ import { Icon, IconButton as IconButton2, Popover, TextTooltip, toLocalizedString, useTranslation as useTranslation2 } from "@dxos/react-ui";
27
27
  import { getLinkedVariant } from "@dxos/react-ui-attention";
28
28
  import { StackItem } from "@dxos/react-ui-stack";
29
- import { TextTooltip } from "@dxos/react-ui-text-tooltip";
30
29
  import { hoverableControls, hoverableFocusedWithinControls, iconSize } from "@dxos/ui-theme";
31
30
  import { useBreakpoints } from "#hooks";
32
31
  import { meta as meta2 } from "#meta";
@@ -40,7 +39,7 @@ import { ButtonGroup, IconButton, useTranslation } from "@dxos/react-ui";
40
39
  import { meta } from "#meta";
41
40
  var plankControlSpacing = "px-2";
42
41
  var PlankCompanionControls = /* @__PURE__ */ forwardRef(({ primary }, forwardedRef) => {
43
- const { t } = useTranslation(meta.id);
42
+ const { t } = useTranslation(meta.profile.key);
44
43
  const { invokePromise } = useOperationInvoker();
45
44
  const handleCloseCompanion = useCallback(() => {
46
45
  return invokePromise(LayoutOperation.UpdateCompanion, {
@@ -71,7 +70,7 @@ var PlankControl = ({ icon, label: label3, ...props }) => {
71
70
  });
72
71
  };
73
72
  var PlankControls = /* @__PURE__ */ forwardRef(({ children, classNames, variant = "default", capabilities, layoutMode, pin, close = false, onClick, ...props }, forwardedRef) => {
74
- const { t } = useTranslation(meta.id);
73
+ const { t } = useTranslation(meta.profile.key);
75
74
  const buttonClassNames = variant === "hide-disabled" ? `disabled:hidden ${plankControlSpacing}` : plankControlSpacing;
76
75
  const layoutIsAnySolo = !!layoutMode?.startsWith("solo");
77
76
  return /* @__PURE__ */ React2.createElement(ButtonGroup, {
@@ -135,7 +134,7 @@ var PlankRoot = ({ children, ...context }) => {
135
134
  // src/containers/Plank/PlankHeading.tsx
136
135
  var MAX_COMPANIONS = 5;
137
136
  var PlankHeading = /* @__PURE__ */ memo(({ id, part, node, deckEnabled, canIncrementStart, canIncrementEnd, popoverAnchorId, primaryId, pending, companioned, companions, layoutMode, actions = [], debug = false }) => {
138
- const { t } = useTranslation2(meta2.id);
137
+ const { t } = useTranslation2(meta2.profile.key);
139
138
  const { graph, onAdjust, onUpdateCompanion } = usePlankContext("PlankHeading");
140
139
  const runAction = useActionRunner();
141
140
  const breakpoint = useBreakpoints();
@@ -143,7 +142,7 @@ var PlankHeading = /* @__PURE__ */ memo(({ id, part, node, deckEnabled, canIncre
143
142
  const label3 = pending ? t("pending.heading") : toLocalizedString(node?.properties?.label ?? [
144
143
  "plank-heading-fallback.label",
145
144
  {
146
- ns: meta2.id
145
+ ns: meta2.profile.key
147
146
  }
148
147
  ], t);
149
148
  const isCompanionNode = node?.type === PLANK_COMPANION_TYPE;
@@ -201,7 +200,7 @@ var PlankHeading = /* @__PURE__ */ memo(({ id, part, node, deckEnabled, canIncre
201
200
  if (typeof action.data === "function") {
202
201
  void runAction(action, {
203
202
  parent: node,
204
- caller: meta2.id
203
+ caller: meta2.profile.key
205
204
  });
206
205
  }
207
206
  }, [
@@ -214,7 +213,7 @@ var PlankHeading = /* @__PURE__ */ memo(({ id, part, node, deckEnabled, canIncre
214
213
  onAdjust,
215
214
  id
216
215
  ]);
217
- const ActionRoot = node && popoverAnchorId === `${meta2.id}:${node.id}` ? Popover.Anchor : Fragment;
216
+ const ActionRoot = node && popoverAnchorId === `${meta2.profile.key}:${node.id}` ? Popover.Anchor : Fragment;
218
217
  const handleTabClick = useCallback2((event) => {
219
218
  const target = event.target.closest("[data-id]");
220
219
  const tabId = target?.dataset?.id;
@@ -326,7 +325,7 @@ var PlankError = ({ id, part, node, error: errorProp }) => {
326
325
  }) : /* @__PURE__ */ React5.createElement(PlankLoading, null));
327
326
  };
328
327
  var PlankErrorFallback = ({ error }) => {
329
- const { t } = useTranslation3(meta3.id);
328
+ const { t } = useTranslation3(meta3.profile.key);
330
329
  useEffect2(() => {
331
330
  if (error) {
332
331
  log.error("plank error", {
@@ -567,7 +566,7 @@ import { useDeckCompanions, useDeckState } from "#hooks";
567
566
  import { meta as meta4 } from "#meta";
568
567
  var ToggleSidebarButton = ({ classNames, variant = "ghost" }) => {
569
568
  const { updateState } = useDeckState();
570
- const { t } = useTranslation4(meta4.id);
569
+ const { t } = useTranslation4(meta4.profile.key);
571
570
  const handleClick = useCallback4(() => {
572
571
  updateState((state) => ({
573
572
  ...state,
@@ -588,7 +587,7 @@ var ToggleSidebarButton = ({ classNames, variant = "ghost" }) => {
588
587
  };
589
588
  var CloseSidebarButton = () => {
590
589
  const { updateState } = useDeckState();
591
- const { t } = useTranslation4(meta4.id);
590
+ const { t } = useTranslation4(meta4.profile.key);
592
591
  const handleClick = useCallback4(() => {
593
592
  updateState((state) => ({
594
593
  ...state,
@@ -610,7 +609,7 @@ var CloseSidebarButton = () => {
610
609
  var ToggleComplementarySidebarButton = ({ inR0, classNames, current }) => {
611
610
  const { invokePromise } = useOperationInvoker2();
612
611
  const { state, updateState } = useDeckState();
613
- const { t } = useTranslation4(meta4.id);
612
+ const { t } = useTranslation4(meta4.profile.key);
614
613
  const companions = useDeckCompanions();
615
614
  const handleClick = useCallback4(() => {
616
615
  const nextState = state.complementarySidebarState === "expanded" ? "collapsed" : "expanded";
@@ -650,6 +649,7 @@ var ToggleComplementarySidebarButton = ({ inR0, classNames, current }) => {
650
649
  import React9, { useCallback as useCallback5, useEffect as useEffect3, useMemo as useMemo4, useState as useState2 } from "react";
651
650
  import { Surface as Surface3, useOperationInvoker as useOperationInvoker3 } from "@dxos/app-framework/ui";
652
651
  import { LayoutOperation as LayoutOperation3 } from "@dxos/app-toolkit";
652
+ import { AppSurface as AppSurface3 } from "@dxos/app-toolkit/ui";
653
653
  import { IconButton as IconButton4, Main, Panel, toLocalizedString as toLocalizedString2, Toolbar, useTranslation as useTranslation5 } from "@dxos/react-ui";
654
654
  import { getLinkedVariant as getLinkedVariant4 } from "@dxos/react-ui-attention";
655
655
  import { Tabs } from "@dxos/react-ui-tabs";
@@ -660,12 +660,12 @@ import { getMode } from "#types";
660
660
  var label = [
661
661
  "complementary-sidebar.title",
662
662
  {
663
- ns: meta5.id
663
+ ns: meta5.profile.key
664
664
  }
665
665
  ];
666
666
  var ComplementarySidebar = ({ current }) => {
667
667
  const { invokePromise } = useOperationInvoker3();
668
- const { t } = useTranslation5(meta5.id);
668
+ const { t } = useTranslation5(meta5.profile.key);
669
669
  const { state, deck, updateState } = useDeckState2();
670
670
  const layoutMode = getMode(deck);
671
671
  const breakpoint = useBreakpoints2();
@@ -754,7 +754,7 @@ var ComplementarySidebar = ({ current }) => {
754
754
  className: "grid grid-cols-1 auto-rows-(--dx-rail-item) py-0.5 gap-0.5 overflow-y-auto scrollbar-none",
755
755
  style: iconSize2(4)
756
756
  }, /* @__PURE__ */ React9.createElement(Surface3.Surface, {
757
- role: "status-indicator"
757
+ type: AppSurface3.StatusIndicator
758
758
  })), /* @__PURE__ */ React9.createElement("div", {
759
759
  className: "hidden lg:grid grid-cols-1 auto-rows-(--dx-rail-action) p-1"
760
760
  }, /* @__PURE__ */ React9.createElement(ToggleComplementarySidebarButton, null))), activeId && companions.map((companion) => /* @__PURE__ */ React9.createElement(Tabs.Panel, {
@@ -774,7 +774,7 @@ var ComplementarySidebar = ({ current }) => {
774
774
  })))));
775
775
  };
776
776
  var ComplementarySidebarPanel = ({ companion, activeId, data }) => {
777
- const { t } = useTranslation5(meta5.id);
777
+ const { t } = useTranslation5(meta5.profile.key);
778
778
  if (getLinkedVariant4(companion.id) !== activeId && !data) {
779
779
  return null;
780
780
  }
@@ -797,7 +797,7 @@ var ComplementarySidebarPanel = ({ companion, activeId, data }) => {
797
797
  }, toLocalizedString2(companion.properties.label, t)))), /* @__PURE__ */ React9.createElement(Panel.Content, {
798
798
  classNames: "bg-r1-surface"
799
799
  }, /* @__PURE__ */ React9.createElement(Surface3.Surface, {
800
- role: `deck-companion--${getLinkedVariant4(companion.id)}`,
800
+ type: AppSurface3.deckCompanion(getLinkedVariant4(companion.id)),
801
801
  data,
802
802
  fallback: PlankErrorFallback,
803
803
  placeholder: /* @__PURE__ */ React9.createElement(PlankLoading, null)
@@ -807,7 +807,7 @@ var ComplementarySidebarPanel = ({ companion, activeId, data }) => {
807
807
  // src/containers/Sidebar/Sidebar.tsx
808
808
  import React10, { useMemo as useMemo5 } from "react";
809
809
  import { Surface as Surface4 } from "@dxos/app-framework/ui";
810
- import { AppSurface as AppSurface3 } from "@dxos/app-toolkit/ui";
810
+ import { AppSurface as AppSurface4 } from "@dxos/app-toolkit/ui";
811
811
  import { Main as Main2 } from "@dxos/react-ui";
812
812
  import { useBreakpoints as useBreakpoints3, useDeckState as useDeckState3 } from "#hooks";
813
813
  import { meta as meta6 } from "#meta";
@@ -815,7 +815,7 @@ import { getMode as getMode2 } from "#types";
815
815
  var label2 = [
816
816
  "sidebar.title",
817
817
  {
818
- ns: meta6.id
818
+ ns: meta6.profile.key
819
819
  }
820
820
  ];
821
821
  var Sidebar = () => {
@@ -840,7 +840,7 @@ var Sidebar = () => {
840
840
  topbar && "top-[calc(env(safe-area-inset-top)+var(--dx-rail-size))]"
841
841
  ]
842
842
  }, /* @__PURE__ */ React10.createElement(Surface4.Surface, {
843
- type: AppSurface3.Navigation,
843
+ type: AppSurface4.Navigation,
844
844
  data: navigationData,
845
845
  limit: 1
846
846
  }));
@@ -855,11 +855,13 @@ import { useBreakpoints as useBreakpoints4 } from "#hooks";
855
855
  // src/containers/Deck/Banner.tsx
856
856
  import React11 from "react";
857
857
  import { Surface as Surface5 } from "@dxos/app-framework/ui";
858
+ import { AppSurface as AppSurface5 } from "@dxos/app-toolkit/ui";
858
859
  import { useTranslation as useTranslation6 } from "@dxos/react-ui";
859
860
  import { mx as mx4, osTranslations } from "@dxos/ui-theme";
860
861
  import { meta as meta7 } from "#meta";
862
+ import { VersionInfo } from "#types";
861
863
  var Banner = ({ variant, classNames }) => {
862
- const { t } = useTranslation6(meta7.id);
864
+ const { t } = useTranslation6(meta7.profile.key);
863
865
  return /* @__PURE__ */ React11.createElement("header", {
864
866
  className: mx4("flex items-stretch relative py-1 ps-1 pe-2", variant === "topbar" && "fixed inset-x-0 top-[env(safe-area-inset-top)] h-(--dx-rail-size) border-b border-separator", classNames)
865
867
  }, variant === "sidebar" ? /* @__PURE__ */ React11.createElement(CloseSidebarButton, null) : /* @__PURE__ */ React11.createElement(ToggleSidebarButton, null), /* @__PURE__ */ React11.createElement("span", {
@@ -871,15 +873,12 @@ var Banner = ({ variant, classNames }) => {
871
873
  }, /* @__PURE__ */ React11.createElement("div", {
872
874
  className: "grid h-full pointer-fine:p-1 max-w-md mx-auto pointer-events-auto"
873
875
  }, /* @__PURE__ */ React11.createElement(Surface5.Surface, {
874
- role: "search-input",
876
+ type: AppSurface5.SearchInput,
875
877
  limit: 1
876
878
  }))), /* @__PURE__ */ React11.createElement("span", {
877
879
  className: "grow"
878
880
  }), /* @__PURE__ */ React11.createElement(Surface5.Surface, {
879
- role: "version-info",
880
- limit: 1
881
- }), /* @__PURE__ */ React11.createElement(Surface5.Surface, {
882
- role: "notch-start",
881
+ type: VersionInfo,
883
882
  limit: 1
884
883
  }));
885
884
  };
@@ -986,8 +985,7 @@ import { DEFAULT_HORIZONTAL_SIZE, Stack, StackContext } from "@dxos/react-ui-sta
986
985
  import { hoverableControls as hoverableControls2, hoverableFocusedWithinControls as hoverableFocusedWithinControls2, mx as mx5 } from "@dxos/ui-theme";
987
986
  import { useBreakpoints as useBreakpoints5, useCompanions, useDeckState as useDeckState4, useSelectedCompanion } from "#hooks";
988
987
  import { meta as meta8 } from "#meta";
989
- import { DeckOperation } from "#types";
990
- import { getMode as getMode3 } from "#types";
988
+ import { DeckOperation, getMode as getMode3, Keyshortcuts } from "#types";
991
989
  var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-deck/src/containers/Deck/DeckViewport.tsx";
992
990
  var DECK_VIEWPORT_NAME = "DeckViewport";
993
991
  var DeckViewport = ({ children }) => {
@@ -1020,7 +1018,7 @@ var DeckContentEmpty = () => {
1020
1018
  className: "grid place-items-center p-8 relative bg-deck-surface",
1021
1019
  "data-testid": "layoutPlugin.firstRunMessage"
1022
1020
  }, /* @__PURE__ */ React14.createElement(Surface6.Surface, {
1023
- role: "keyshortcuts"
1021
+ type: Keyshortcuts
1024
1022
  }), !topbar && /* @__PURE__ */ React14.createElement(ToggleSidebarButton2, null));
1025
1023
  };
1026
1024
  var DeckSoloMode = () => {
@@ -1029,7 +1027,7 @@ var DeckSoloMode = () => {
1029
1027
  const effectiveCompanionVariant = fullscreen ? void 0 : companionOpen ? companionVariant : void 0;
1030
1028
  const breakpoint = useBreakpoints5();
1031
1029
  const topbar = layoutAppliesTopbar(breakpoint, layoutMode);
1032
- invariant(solo, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 73, S: void 0, A: ["solo", ""] });
1030
+ invariant(solo, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 72, S: void 0, A: ["solo", ""] });
1033
1031
  useEffect5(() => {
1034
1032
  if (!fullscreen) {
1035
1033
  return;
@@ -1149,7 +1147,7 @@ var ToggleComplementarySidebarButton2 = () => /* @__PURE__ */ React14.createElem
1149
1147
  classNames: mx5(sidebarToggleStyles, "right-2")
1150
1148
  });
1151
1149
  var ExitFullscreenButton = ({ onExit }) => {
1152
- const { t } = useTranslation7(meta8.id);
1150
+ const { t } = useTranslation7(meta8.profile.key);
1153
1151
  return /* @__PURE__ */ React14.createElement("div", {
1154
1152
  className: mx5("fixed top-2 right-2 z-[1]", hoverableControls2, hoverableFocusedWithinControls2, "transition-opacity opacity-(--controls-opacity)")
1155
1153
  }, /* @__PURE__ */ React14.createElement(IconButton5, {
@@ -1303,4 +1301,4 @@ export {
1303
1301
  Sidebar,
1304
1302
  Deck
1305
1303
  };
1306
- //# sourceMappingURL=chunk-WAXJPQJI.mjs.map
1304
+ //# sourceMappingURL=chunk-DNG3L5QN.mjs.map