@dxos/plugin-deck 0.8.2-main.f11618f → 0.8.2-staging.7ac8446

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 (88) hide show
  1. package/dist/lib/browser/{check-app-scheme-O7JPE4TM.mjs → check-app-scheme-SEYECDHI.mjs} +3 -2
  2. package/dist/lib/browser/check-app-scheme-SEYECDHI.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-6HJZL3WT.mjs → chunk-6ZSOFCPP.mjs} +7 -8
  4. package/dist/lib/browser/{chunk-6HJZL3WT.mjs.map → chunk-6ZSOFCPP.mjs.map} +3 -3
  5. package/dist/lib/browser/chunk-B4LOJUWW.mjs +24 -0
  6. package/dist/lib/browser/{chunk-RBJ6DLAC.mjs.map → chunk-B4LOJUWW.mjs.map} +3 -3
  7. package/dist/lib/browser/{chunk-RDFJGGGX.mjs → chunk-FJBMNSUC.mjs} +162 -207
  8. package/dist/lib/browser/chunk-FJBMNSUC.mjs.map +7 -0
  9. package/dist/lib/browser/{chunk-ZMJMCN7O.mjs → chunk-RJNCG4ND.mjs} +6 -9
  10. package/dist/lib/browser/chunk-RJNCG4ND.mjs.map +7 -0
  11. package/dist/lib/browser/index.mjs +3 -5
  12. package/dist/lib/browser/index.mjs.map +2 -2
  13. package/dist/lib/browser/{intent-resolver-JKWXWUV6.mjs → intent-resolver-UDYKO2QW.mjs} +34 -59
  14. package/dist/lib/browser/intent-resolver-UDYKO2QW.mjs.map +7 -0
  15. package/dist/lib/browser/meta.json +1 -1
  16. package/dist/lib/browser/{react-root-S6ZAKNZA.mjs → react-root-XLXN2VEW.mjs} +5 -5
  17. package/dist/lib/browser/{react-surface-I7WZBOGM.mjs → react-surface-WNGMZL7I.mjs} +5 -5
  18. package/dist/lib/browser/{settings-6NU7CF2B.mjs → settings-HMDGSBGO.mjs} +4 -4
  19. package/dist/lib/browser/settings-HMDGSBGO.mjs.map +7 -0
  20. package/dist/lib/browser/{state-Z6UY2Z3M.mjs → state-7TN26M42.mjs} +5 -6
  21. package/dist/lib/browser/state-7TN26M42.mjs.map +7 -0
  22. package/dist/lib/browser/{tools-VDVQTJMD.mjs → tools-SC6QEN7R.mjs} +2 -2
  23. package/dist/lib/browser/types.mjs +1 -1
  24. package/dist/lib/browser/{url-handler-3CARFXQK.mjs → url-handler-ODG4B6NX.mjs} +2 -2
  25. package/dist/types/src/capabilities/capabilities.d.ts +6 -8
  26. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  27. package/dist/types/src/capabilities/check-app-scheme.d.ts.map +1 -1
  28. package/dist/types/src/capabilities/index.d.ts +2 -2
  29. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  30. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  31. package/dist/types/src/capabilities/state.d.ts +4 -5
  32. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  33. package/dist/types/src/components/DeckLayout/ContentEmpty.d.ts.map +1 -1
  34. package/dist/types/src/components/DeckLayout/DeckLayout.d.ts.map +1 -1
  35. package/dist/types/src/components/DeckLayout/Fullscreen.d.ts +5 -0
  36. package/dist/types/src/components/DeckLayout/Fullscreen.d.ts.map +1 -0
  37. package/dist/types/src/components/Plank/Plank.d.ts.map +1 -1
  38. package/dist/types/src/components/Plank/PlankControls.d.ts +2 -2
  39. package/dist/types/src/components/Plank/PlankControls.d.ts.map +1 -1
  40. package/dist/types/src/components/Plank/PlankError.d.ts.map +1 -1
  41. package/dist/types/src/components/Plank/PlankHeading.d.ts +2 -3
  42. package/dist/types/src/components/Plank/PlankHeading.d.ts.map +1 -1
  43. package/dist/types/src/components/Sidebar/ComplementarySidebar.d.ts.map +1 -1
  44. package/dist/types/src/components/Sidebar/Sidebar.d.ts.map +1 -1
  45. package/dist/types/src/translations.d.ts +0 -2
  46. package/dist/types/src/translations.d.ts.map +1 -1
  47. package/dist/types/src/types.d.ts +9 -11
  48. package/dist/types/src/types.d.ts.map +1 -1
  49. package/dist/types/src/util/layoutAppliesTopbar.d.ts +1 -2
  50. package/dist/types/src/util/layoutAppliesTopbar.d.ts.map +1 -1
  51. package/dist/types/src/util/useHoistStatusbar.d.ts +1 -2
  52. package/dist/types/src/util/useHoistStatusbar.d.ts.map +1 -1
  53. package/package.json +28 -29
  54. package/src/capabilities/check-app-scheme.ts +5 -3
  55. package/src/capabilities/index.ts +2 -2
  56. package/src/capabilities/intent-resolver.ts +65 -89
  57. package/src/capabilities/settings.ts +2 -2
  58. package/src/capabilities/state.ts +2 -3
  59. package/src/components/DeckLayout/ContentEmpty.tsx +2 -6
  60. package/src/components/DeckLayout/DeckLayout.tsx +181 -114
  61. package/src/components/DeckLayout/Fullscreen.tsx +31 -0
  62. package/src/components/Plank/Plank.tsx +3 -6
  63. package/src/components/Plank/PlankControls.tsx +34 -40
  64. package/src/components/Plank/PlankError.tsx +6 -2
  65. package/src/components/Plank/PlankHeading.tsx +5 -12
  66. package/src/components/Sidebar/ComplementarySidebar.tsx +20 -30
  67. package/src/components/Sidebar/Sidebar.tsx +3 -5
  68. package/src/translations.ts +0 -2
  69. package/src/types.ts +6 -9
  70. package/src/util/layoutAppliesTopbar.ts +2 -8
  71. package/src/util/useHoistStatusbar.ts +4 -9
  72. package/dist/lib/browser/check-app-scheme-O7JPE4TM.mjs.map +0 -7
  73. package/dist/lib/browser/chunk-RBJ6DLAC.mjs +0 -24
  74. package/dist/lib/browser/chunk-RDFJGGGX.mjs.map +0 -7
  75. package/dist/lib/browser/chunk-ZMJMCN7O.mjs.map +0 -7
  76. package/dist/lib/browser/intent-resolver-JKWXWUV6.mjs.map +0 -7
  77. package/dist/lib/browser/settings-6NU7CF2B.mjs.map +0 -7
  78. package/dist/lib/browser/state-Z6UY2Z3M.mjs.map +0 -7
  79. package/dist/types/src/components/DeckLayout/Dialog.d.ts +0 -3
  80. package/dist/types/src/components/DeckLayout/Dialog.d.ts.map +0 -1
  81. package/dist/types/src/components/DeckLayout/Popover.d.ts +0 -5
  82. package/dist/types/src/components/DeckLayout/Popover.d.ts.map +0 -1
  83. package/src/components/DeckLayout/Dialog.tsx +0 -36
  84. package/src/components/DeckLayout/Popover.tsx +0 -104
  85. /package/dist/lib/browser/{react-root-S6ZAKNZA.mjs.map → react-root-XLXN2VEW.mjs.map} +0 -0
  86. /package/dist/lib/browser/{react-surface-I7WZBOGM.mjs.map → react-surface-WNGMZL7I.mjs.map} +0 -0
  87. /package/dist/lib/browser/{tools-VDVQTJMD.mjs.map → tools-SC6QEN7R.mjs.map} +0 -0
  88. /package/dist/lib/browser/{url-handler-3CARFXQK.mjs.map → url-handler-ODG4B6NX.mjs.map} +0 -0
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-FLOVGNYB.mjs";
7
7
  import {
8
8
  setActive
9
- } from "./chunk-6HJZL3WT.mjs";
9
+ } from "./chunk-6ZSOFCPP.mjs";
10
10
  import {
11
11
  DeckCapabilities
12
12
  } from "./chunk-XMCG42ID.mjs";
@@ -16,18 +16,18 @@ import {
16
16
  defaultDeck,
17
17
  getMode,
18
18
  isLayoutMode
19
- } from "./chunk-ZMJMCN7O.mjs";
19
+ } from "./chunk-RJNCG4ND.mjs";
20
20
  import {
21
21
  DECK_PLUGIN
22
22
  } from "./chunk-NSATFAEE.mjs";
23
23
 
24
24
  // packages/plugins/plugin-deck/src/capabilities/intent-resolver.ts
25
25
  import { batch } from "@preact/signals-core";
26
- import { Effect, pipe } from "effect";
26
+ import { pipe } from "effect";
27
27
  import { Capabilities, createResolver, contributes, IntentAction, LayoutAction, createIntent, chain } from "@dxos/app-framework";
28
28
  import { getTypename, S } from "@dxos/echo-schema";
29
29
  import { invariant } from "@dxos/invariant";
30
- import { isLiveObject } from "@dxos/live-object";
30
+ import { isReactiveObject } from "@dxos/live-object";
31
31
  import { log } from "@dxos/log";
32
32
  import { AttentionCapabilities } from "@dxos/plugin-attention";
33
33
  import { ObservabilityAction } from "@dxos/plugin-observability/types";
@@ -130,18 +130,12 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
130
130
  resolve: ({ subject, options }) => {
131
131
  const layout = context.requestCapability(DeckCapabilities.MutableDeckState);
132
132
  layout.popoverOpen = options.state ?? Boolean(subject);
133
- layout.popoverContent = typeof subject === "string" ? {
133
+ layout.popoverContent = subject ? {
134
134
  component: subject,
135
135
  props: options.props
136
- } : subject ? {
137
- subject
138
136
  } : null;
137
+ layout.popoverAnchorId = options.anchorId;
139
138
  layout.popoverSide = options.side;
140
- if (options.variant === "virtual") {
141
- layout.popoverAnchor = options.anchor;
142
- } else {
143
- layout.popoverAnchorId = options.anchorId;
144
- }
145
139
  }
146
140
  }),
147
141
  createResolver({
@@ -192,8 +186,10 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
192
186
  deck.solo = void 0;
193
187
  deck.initialized = true;
194
188
  }
195
- if (mode === "solo--fullscreen") {
196
- deck.fullscreen = !deck.fullscreen;
189
+ if (mode === "fullscreen" && !deck.fullscreen) {
190
+ deck.fullscreen = true;
191
+ } else if (mode !== "fullscreen" && deck.fullscreen) {
192
+ deck.fullscreen = false;
197
193
  }
198
194
  };
199
195
  return batch(() => {
@@ -209,7 +205,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
209
205
  } else {
210
206
  log.warn("Invalid layout mode", options, {
211
207
  F: __dxlog_file,
212
- L: 198,
208
+ L: 195,
213
209
  S: void 0,
214
210
  C: (f, a) => f(...a)
215
211
  });
@@ -264,18 +260,11 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
264
260
  createResolver({
265
261
  intent: LayoutAction.UpdateLayout,
266
262
  filter: (data) => S.is(LayoutAction.Open.fields.input)(data),
267
- resolve: ({ subject, options }) => Effect.gen(function* () {
263
+ resolve: ({ subject, options }) => {
268
264
  const { graph } = context.requestCapability(Capabilities.AppGraph);
269
265
  const state = context.requestCapability(DeckCapabilities.MutableDeckState);
270
266
  const attention = context.requestCapability(AttentionCapabilities.Attention);
271
267
  const settings = context.requestCapabilities(Capabilities.SettingsStore)[0]?.getStore(DECK_PLUGIN)?.value;
272
- if (options?.workspace && state.activeDeck !== options?.workspace) {
273
- const { dispatch } = context.requestCapability(Capabilities.IntentDispatcher);
274
- yield* dispatch(createIntent(LayoutAction.SwitchWorkspace, {
275
- part: "workspace",
276
- subject: options.workspace
277
- }));
278
- }
279
268
  const previouslyOpenIds = new Set(state.deck.solo ? [
280
269
  state.deck.solo
281
270
  ] : state.deck.active);
@@ -310,7 +299,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
310
299
  }),
311
300
  ...newlyOpen.map((subjectId) => {
312
301
  const active = graph?.findNode(subjectId)?.data;
313
- const typename = isLiveObject(active) ? getTypename(active) : void 0;
302
+ const typename = isReactiveObject(active) ? getTypename(active) : void 0;
314
303
  return createIntent(ObservabilityAction.SendEvent, {
315
304
  name: "navigation.activate",
316
305
  properties: {
@@ -321,7 +310,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
321
310
  })
322
311
  ]
323
312
  };
324
- })
313
+ }
325
314
  }),
326
315
  createResolver({
327
316
  intent: LayoutAction.UpdateLayout,
@@ -401,7 +390,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
401
390
  } else {
402
391
  invariant(data.companion !== data.primary, void 0, {
403
392
  F: __dxlog_file,
404
- L: 363,
393
+ L: 352,
405
394
  S: void 0,
406
395
  A: [
407
396
  "data.companion !== data.primary",
@@ -446,7 +435,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
446
435
  };
447
436
  }
448
437
  }
449
- if (adjustment.type.startsWith("solo")) {
438
+ if (adjustment.type === "solo") {
450
439
  const entryId = adjustment.id;
451
440
  if (!state.deck.solo) {
452
441
  return {
@@ -455,42 +444,28 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
455
444
  part: "mode",
456
445
  subject: entryId,
457
446
  options: {
458
- mode: adjustment.type
447
+ mode: "solo"
459
448
  }
460
449
  })
461
450
  ]
462
451
  };
463
452
  } else {
464
- if (adjustment.type === "solo--fullscreen") {
465
- return {
466
- intents: [
467
- createIntent(LayoutAction.SetLayoutMode, {
468
- part: "mode",
469
- subject: entryId,
470
- options: {
471
- mode: "solo--fullscreen"
472
- }
473
- })
474
- ]
475
- };
476
- } else if (adjustment.type === "solo") {
477
- return {
478
- intents: [
479
- // NOTE: The order of these is important.
480
- pipe(createIntent(LayoutAction.SetLayoutMode, {
481
- part: "mode",
482
- options: {
483
- mode: "deck"
484
- }
485
- }), chain(LayoutAction.Open, {
486
- part: "main",
487
- subject: [
488
- entryId
489
- ]
490
- }))
491
- ]
492
- };
493
- }
453
+ return {
454
+ intents: [
455
+ // NOTE: The order of these is important.
456
+ pipe(createIntent(LayoutAction.SetLayoutMode, {
457
+ part: "mode",
458
+ options: {
459
+ mode: "deck"
460
+ }
461
+ }), chain(LayoutAction.Open, {
462
+ part: "main",
463
+ subject: [
464
+ entryId
465
+ ]
466
+ }))
467
+ ]
468
+ };
494
469
  }
495
470
  }
496
471
  });
@@ -500,4 +475,4 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
500
475
  export {
501
476
  intent_resolver_default as default
502
477
  };
503
- //# sourceMappingURL=intent-resolver-JKWXWUV6.mjs.map
478
+ //# sourceMappingURL=intent-resolver-UDYKO2QW.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/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 createResolver,\n contributes,\n IntentAction,\n LayoutAction,\n type PluginsContext,\n createIntent,\n chain,\n} from '@dxos/app-framework';\nimport { getTypename, S } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { isReactiveObject } from '@dxos/live-object';\nimport { log } from '@dxos/log';\nimport { AttentionCapabilities } from '@dxos/plugin-attention';\nimport { type Node } from '@dxos/plugin-graph';\nimport { ObservabilityAction } from '@dxos/plugin-observability/types';\nimport { byPosition, isNonNullable } from '@dxos/util';\n\nimport { DeckCapabilities } from './capabilities';\nimport { closeEntry, createEntryId, incrementPlank, openEntry } from '../layout';\nimport { DECK_PLUGIN } from '../meta';\nimport {\n DeckAction,\n type LayoutMode,\n type DeckSettingsProps,\n isLayoutMode,\n getMode,\n defaultDeck,\n PLANK_COMPANION_TYPE,\n} from '../types';\nimport { setActive } from '../util';\n\nexport default (context: PluginsContext) =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: IntentAction.ShowUndo,\n resolve: (data) => {\n const layout = context.requestCapability(DeckCapabilities.MutableDeckState);\n const { undoPromise: undo } = context.requestCapability(Capabilities.IntentDispatcher);\n\n // TODO(wittjosiah): Support undoing further back than the last action.\n if (layout.currentUndoId) {\n layout.toasts = layout.toasts.filter((toast) => toast.id !== layout.currentUndoId);\n }\n layout.currentUndoId = `${IntentAction.ShowUndo._tag}-${Date.now()}`;\n layout.toasts = [\n ...layout.toasts,\n {\n id: layout.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 }),\n createResolver({\n intent: LayoutAction.UpdateLayout,\n // TODO(wittjosiah): This should be able to just be `S.is(LayoutAction.UpdateSidebar.fields.input)`\n // but the filter is not being applied correctly.\n filter: (data): data is S.Schema.Type<typeof LayoutAction.UpdateSidebar.fields.input> =>\n S.is(LayoutAction.UpdateSidebar.fields.input)(data),\n resolve: ({ options }) => {\n const layout = context.requestCapability(DeckCapabilities.MutableDeckState);\n const next = options?.state ?? layout.sidebarState;\n if (next !== layout.sidebarState) {\n layout.sidebarState = next;\n }\n },\n }),\n createResolver({\n intent: LayoutAction.UpdateLayout,\n // TODO(wittjosiah): This should be able to just be `S.is(LayoutAction.UpdateComplementary.fields.input)`\n // but the filter is not being applied correctly.\n filter: (data): data is S.Schema.Type<typeof LayoutAction.UpdateComplementary.fields.input> =>\n S.is(LayoutAction.UpdateComplementary.fields.input)(data),\n resolve: ({ subject, options }) => {\n const layout = context.requestCapability(DeckCapabilities.MutableDeckState);\n\n if (layout.complementarySidebarPanel !== subject) {\n layout.complementarySidebarPanel = subject;\n }\n\n const next = subject ? 'expanded' : options?.state ?? layout.complementarySidebarState;\n if (next !== layout.complementarySidebarState) {\n layout.complementarySidebarState = next;\n }\n },\n }),\n createResolver({\n intent: LayoutAction.UpdateLayout,\n // TODO(wittjosiah): This should be able to just be `S.is(LayoutAction.UpdateDialog.fields.input)`\n // but the filter is not being applied correctly.\n filter: (data): data is S.Schema.Type<typeof LayoutAction.UpdateDialog.fields.input> =>\n S.is(LayoutAction.UpdateDialog.fields.input)(data),\n resolve: ({ subject, options }) => {\n const layout = context.requestCapability(DeckCapabilities.MutableDeckState);\n layout.dialogOpen = options.state ?? Boolean(subject);\n layout.dialogContent = subject ? { component: subject, props: options.props } : null;\n layout.dialogBlockAlign = options.blockAlign ?? 'center';\n layout.dialogType = options.type ?? 'default';\n },\n }),\n createResolver({\n intent: LayoutAction.UpdateLayout,\n // TODO(wittjosiah): This should be able to just be `S.is(LayoutAction.UpdatePopover.fields.input)`\n // but the filter is not being applied correctly.\n filter: (data): data is S.Schema.Type<typeof LayoutAction.UpdatePopover.fields.input> =>\n S.is(LayoutAction.UpdatePopover.fields.input)(data),\n resolve: ({ subject, options }) => {\n const layout = context.requestCapability(DeckCapabilities.MutableDeckState);\n layout.popoverOpen = options.state ?? Boolean(subject);\n layout.popoverContent = subject ? { component: subject, props: options.props } : null;\n layout.popoverAnchorId = options.anchorId;\n layout.popoverSide = options.side;\n },\n }),\n createResolver({\n intent: LayoutAction.UpdateLayout,\n // TODO(wittjosiah): This should be able to just be `S.is(LayoutAction.AddToast.fields.input)`\n // but the filter is not being applied correctly.\n filter: (data): data is S.Schema.Type<typeof LayoutAction.AddToast.fields.input> =>\n S.is(LayoutAction.AddToast.fields.input)(data),\n resolve: ({ subject }) => {\n const layout = context.requestCapability(DeckCapabilities.MutableDeckState);\n layout.toasts.push(subject);\n },\n }),\n createResolver({\n intent: LayoutAction.UpdateLayout,\n // TODO(wittjosiah): This should be able to just be `S.is(LayoutAction.SetLayoutMode.fields.input)`\n // but the filter is not being applied correctly.\n filter: (data): data is S.Schema.Type<typeof LayoutAction.SetLayoutMode.fields.input> => {\n if (!S.is(LayoutAction.SetLayoutMode.fields.input)(data)) {\n return false;\n }\n\n if ('mode' in data.options) {\n return isLayoutMode(data.options.mode);\n }\n\n return true;\n },\n resolve: ({ subject, options }) => {\n const state = context.requestCapability(DeckCapabilities.MutableDeckState);\n\n const setMode = (mode: LayoutMode) => {\n const deck = state.deck;\n const current = deck.solo ? [deck.solo] : deck.active;\n // When un-soloing, the solo entry is added to the deck.\n const next = (\n mode !== 'deck' ? [subject ?? deck.solo ?? deck.active[0]] : [...deck.active, deck.solo]\n ).filter(isNonNullable);\n\n const removed = current.filter((id) => !next.includes(id));\n const closed = Array.from(new Set([...deck.inactive.filter((id) => !next.includes(id)), ...removed]));\n deck.inactive = closed;\n\n if (mode !== 'deck' && next[0]) {\n deck.solo = next[0];\n } else if (mode === 'deck' && deck.solo) {\n deck.solo = undefined;\n deck.initialized = true;\n }\n\n if (mode === 'fullscreen' && !deck.fullscreen) {\n deck.fullscreen = true;\n } else if (mode !== 'fullscreen' && deck.fullscreen) {\n deck.fullscreen = false;\n }\n };\n\n return batch(() => {\n if ('mode' in options) {\n const current = getMode(state.deck);\n if (current !== options.mode) {\n state.previousMode[state.activeDeck] = current;\n }\n setMode(options.mode as LayoutMode);\n } else if ('revert' in options) {\n const last = state.previousMode[state.activeDeck];\n setMode(last ?? 'solo');\n } else {\n log.warn('Invalid layout mode', options);\n }\n });\n },\n }),\n createResolver({\n intent: LayoutAction.UpdateLayout,\n filter: (data): data is S.Schema.Type<typeof LayoutAction.SwitchWorkspace.fields.input> =>\n S.is(LayoutAction.SwitchWorkspace.fields.input)(data),\n resolve: ({ subject }) => {\n const state = context.requestCapability(DeckCapabilities.MutableDeckState);\n batch(() => {\n // TODO(wittjosiah): This is a hack to prevent the previous deck from being set for pinned items.\n // Ideally this should be worked into the data model in a generic way.\n if (!state.activeDeck.startsWith('!')) {\n state.previousDeck = state.activeDeck;\n }\n state.activeDeck = subject;\n if (!state.decks[subject]) {\n state.decks[subject] = { ...defaultDeck };\n }\n });\n\n const first = state.deck.solo ? state.deck.solo : state.deck.active[0];\n if (first) {\n return {\n intents: [createIntent(LayoutAction.ScrollIntoView, { part: 'current', subject: first })],\n };\n }\n },\n }),\n createResolver({\n intent: LayoutAction.UpdateLayout,\n filter: (data): data is S.Schema.Type<typeof LayoutAction.RevertWorkspace.fields.input> =>\n S.is(LayoutAction.RevertWorkspace.fields.input)(data),\n resolve: () => {\n const state = context.requestCapability(DeckCapabilities.MutableDeckState);\n return {\n intents: [createIntent(LayoutAction.SwitchWorkspace, { part: 'workspace', subject: state.previousDeck })],\n };\n },\n }),\n createResolver({\n intent: LayoutAction.UpdateLayout,\n filter: (data): data is S.Schema.Type<typeof LayoutAction.Open.fields.input> =>\n S.is(LayoutAction.Open.fields.input)(data),\n resolve: ({ subject, options }) => {\n const { graph } = context.requestCapability(Capabilities.AppGraph);\n const state = context.requestCapability(DeckCapabilities.MutableDeckState);\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>(state.deck.solo ? [state.deck.solo] : state.deck.active);\n batch(() => {\n const next = state.deck.solo\n ? (subject as string[]).map((id) => createEntryId(id, options?.variant))\n : subject.reduce(\n (acc, entryId) =>\n openEntry(acc, entryId, {\n key: options?.key,\n positioning: options?.positioning ?? settings?.newPlankPositioning,\n pivotId: options?.pivotId,\n variant: options?.variant,\n }),\n state.deck.active,\n );\n\n return setActive({ next, state, attention });\n });\n\n const ids = state.deck.solo ? [state.deck.solo] : state.deck.active;\n const newlyOpen = ids.filter((i) => !previouslyOpenIds.has(i));\n\n return {\n intents: [\n ...(options?.scrollIntoView !== false\n ? [createIntent(LayoutAction.ScrollIntoView, { part: 'current', subject: newlyOpen[0] ?? subject[0] })]\n : []),\n createIntent(LayoutAction.Expose, { part: 'navigation', subject: newlyOpen[0] ?? subject[0] }),\n ...newlyOpen.map((subjectId) => {\n const active = graph?.findNode(subjectId)?.data;\n const typename = isReactiveObject(active) ? getTypename(active) : undefined;\n return createIntent(ObservabilityAction.SendEvent, {\n name: 'navigation.activate',\n properties: {\n subjectId,\n typename,\n },\n });\n }),\n ],\n };\n },\n }),\n createResolver({\n intent: LayoutAction.UpdateLayout,\n filter: (data): data is S.Schema.Type<typeof LayoutAction.Close.fields.input> =>\n S.is(LayoutAction.Close.fields.input)(data),\n resolve: ({ subject }) => {\n const state = context.requestCapability(DeckCapabilities.MutableDeckState);\n const attention = context.requestCapability(AttentionCapabilities.Attention);\n const active = state.deck.solo ? [state.deck.solo] : state.deck.active;\n const next = subject.reduce((acc, id) => closeEntry(acc, id), active);\n const toAttend = setActive({ next, state, attention });\n\n const clearCompanionIntents = subject\n .filter((id) => state.deck.activeCompanions && id in state.deck.activeCompanions)\n .map((primary) => createIntent(DeckAction.ChangeCompanion, { primary, companion: null }));\n\n return {\n intents: [\n ...clearCompanionIntents,\n ...(toAttend ? [createIntent(LayoutAction.ScrollIntoView, { part: 'current', subject: toAttend })] : []),\n ],\n };\n },\n }),\n createResolver({\n intent: LayoutAction.UpdateLayout,\n filter: (data): data is S.Schema.Type<typeof LayoutAction.Set.fields.input> =>\n S.is(LayoutAction.Set.fields.input)(data),\n resolve: ({ subject }) => {\n const state = context.requestCapability(DeckCapabilities.MutableDeckState);\n const attention = context.requestCapability(AttentionCapabilities.Attention);\n const toAttend = setActive({ next: subject as string[], state, attention });\n return {\n intents: toAttend ? [createIntent(LayoutAction.ScrollIntoView, { part: 'current', subject: toAttend })] : [],\n };\n },\n }),\n createResolver({\n intent: LayoutAction.UpdateLayout,\n filter: (data): data is S.Schema.Type<typeof LayoutAction.ScrollIntoView.fields.input> =>\n S.is(LayoutAction.ScrollIntoView.fields.input)(data),\n resolve: ({ subject }) => {\n const layout = context.requestCapability(DeckCapabilities.MutableDeckState);\n layout.scrollIntoView = subject;\n },\n }),\n createResolver({\n intent: DeckAction.UpdatePlankSize,\n resolve: (data) => {\n const state = context.requestCapability(DeckCapabilities.MutableDeckState);\n state.deck.plankSizing[data.id] = data.size;\n },\n }),\n createResolver({\n intent: DeckAction.ChangeCompanion,\n resolve: (data) => {\n const state = context.requestCapability(DeckCapabilities.MutableDeckState);\n // TODO(thure): Reactivity only works when creating a lexically new `activeCompanions`… Are these not proxy objects?\n if (data.companion === null) {\n const { [data.primary]: _, ...nextActiveCompanions } = state.deck.activeCompanions ?? {};\n state.deck.activeCompanions = nextActiveCompanions;\n } else {\n invariant(data.companion !== data.primary);\n state.deck.activeCompanions = {\n ...state.deck.activeCompanions,\n [data.primary]: data.companion,\n };\n }\n },\n }),\n createResolver({\n intent: DeckAction.Adjust,\n resolve: (adjustment) => {\n const state = context.requestCapability(DeckCapabilities.MutableDeckState);\n const attention = context.requestCapability(AttentionCapabilities.Attention);\n const { graph } = context.requestCapability(Capabilities.AppGraph);\n\n return batch(() => {\n if (adjustment.type === 'increment-end' || adjustment.type === 'increment-start') {\n setActive({\n next: incrementPlank(state.deck.active, adjustment),\n state,\n attention,\n });\n }\n\n if (adjustment.type === 'companion') {\n const node = graph.findNode(adjustment.id);\n const [companion] = node\n ? graph\n .nodes(node, { filter: (n): n is Node<any> => n.type === PLANK_COMPANION_TYPE })\n .toSorted((a, b) => byPosition(a.properties, b.properties))\n : [];\n if (companion) {\n return {\n intents: [\n // TODO(wittjosiah): This should remember the previously selected companion.\n createIntent(DeckAction.ChangeCompanion, { primary: adjustment.id, companion: companion.id }),\n ],\n };\n }\n }\n\n if (adjustment.type === 'solo') {\n const entryId = adjustment.id;\n if (!state.deck.solo) {\n // Solo the entry.\n return {\n intents: [\n createIntent(LayoutAction.SetLayoutMode, {\n part: 'mode',\n subject: entryId,\n options: { mode: '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, { part: 'mode', options: { mode: 'deck' } }),\n chain(LayoutAction.Open, { part: 'main', subject: [entryId] }),\n ),\n ],\n };\n }\n }\n });\n },\n }),\n ]);\n"],
5
+ "mappings": "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",
6
+ "names": ["batch", "pipe", "Capabilities", "createResolver", "contributes", "IntentAction", "LayoutAction", "createIntent", "chain", "getTypename", "S", "invariant", "isReactiveObject", "log", "AttentionCapabilities", "ObservabilityAction", "byPosition", "isNonNullable", "context", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "IntentAction", "ShowUndo", "resolve", "data", "layout", "requestCapability", "DeckCapabilities", "MutableDeckState", "undoPromise", "undo", "IntentDispatcher", "currentUndoId", "toasts", "filter", "toast", "id", "_tag", "Date", "now", "title", "message", "ns", "DECK_PLUGIN", "duration", "actionLabel", "actionAlt", "closeLabel", "onAction", "LayoutAction", "UpdateLayout", "S", "is", "UpdateSidebar", "fields", "input", "options", "next", "state", "sidebarState", "UpdateComplementary", "subject", "complementarySidebarPanel", "complementarySidebarState", "UpdateDialog", "dialogOpen", "Boolean", "dialogContent", "component", "props", "dialogBlockAlign", "blockAlign", "dialogType", "type", "UpdatePopover", "popoverOpen", "popoverContent", "popoverAnchorId", "anchorId", "popoverSide", "side", "AddToast", "push", "SetLayoutMode", "isLayoutMode", "mode", "setMode", "deck", "current", "solo", "active", "isNonNullable", "removed", "includes", "closed", "Array", "from", "Set", "inactive", "undefined", "initialized", "fullscreen", "batch", "getMode", "previousMode", "activeDeck", "last", "log", "warn", "SwitchWorkspace", "startsWith", "previousDeck", "decks", "defaultDeck", "first", "intents", "createIntent", "ScrollIntoView", "part", "RevertWorkspace", "Open", "graph", "AppGraph", "attention", "AttentionCapabilities", "Attention", "settings", "requestCapabilities", "SettingsStore", "getStore", "value", "previouslyOpenIds", "map", "createEntryId", "variant", "reduce", "acc", "entryId", "openEntry", "key", "positioning", "newPlankPositioning", "pivotId", "setActive", "ids", "newlyOpen", "i", "has", "scrollIntoView", "Expose", "subjectId", "findNode", "typename", "isReactiveObject", "getTypename", "ObservabilityAction", "SendEvent", "name", "properties", "Close", "closeEntry", "toAttend", "clearCompanionIntents", "activeCompanions", "primary", "DeckAction", "ChangeCompanion", "companion", "UpdatePlankSize", "plankSizing", "size", "_", "nextActiveCompanions", "invariant", "Adjust", "adjustment", "incrementPlank", "node", "nodes", "n", "PLANK_COMPANION_TYPE", "toSorted", "a", "b", "byPosition", "pipe", "chain"]
7
+ }