@dxos/plugin-deck 0.8.1 → 0.8.2-main.f081794

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 (80) hide show
  1. package/dist/lib/browser/{chunk-B4LOJUWW.mjs → chunk-4QSEGMY3.mjs} +10 -10
  2. package/dist/lib/browser/{chunk-B4LOJUWW.mjs.map → chunk-4QSEGMY3.mjs.map} +3 -3
  3. package/dist/lib/browser/{chunk-6ZSOFCPP.mjs → chunk-6HJZL3WT.mjs} +8 -7
  4. package/dist/lib/browser/{chunk-6ZSOFCPP.mjs.map → chunk-6HJZL3WT.mjs.map} +3 -3
  5. package/dist/lib/browser/{chunk-FJBMNSUC.mjs → chunk-VP6FCWFV.mjs} +171 -151
  6. package/dist/lib/browser/chunk-VP6FCWFV.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-RJNCG4ND.mjs → chunk-ZMJMCN7O.mjs} +9 -6
  8. package/dist/lib/browser/chunk-ZMJMCN7O.mjs.map +7 -0
  9. package/dist/lib/browser/index.mjs +5 -3
  10. package/dist/lib/browser/index.mjs.map +2 -2
  11. package/dist/lib/browser/{intent-resolver-UDYKO2QW.mjs → intent-resolver-6AK45PT5.mjs} +49 -31
  12. package/dist/lib/browser/intent-resolver-6AK45PT5.mjs.map +7 -0
  13. package/dist/lib/browser/meta.json +1 -1
  14. package/dist/lib/browser/{react-root-XLXN2VEW.mjs → react-root-KA2IL5RA.mjs} +5 -5
  15. package/dist/lib/browser/{react-surface-WNGMZL7I.mjs → react-surface-LIPGYEYN.mjs} +5 -5
  16. package/dist/lib/browser/{settings-HMDGSBGO.mjs → settings-6NU7CF2B.mjs} +4 -4
  17. package/dist/lib/browser/settings-6NU7CF2B.mjs.map +7 -0
  18. package/dist/lib/browser/{state-7TN26M42.mjs → state-Z6UY2Z3M.mjs} +6 -5
  19. package/dist/lib/browser/state-Z6UY2Z3M.mjs.map +7 -0
  20. package/dist/lib/browser/{tools-SC6QEN7R.mjs → tools-VDVQTJMD.mjs} +2 -2
  21. package/dist/lib/browser/types.mjs +1 -1
  22. package/dist/lib/browser/{url-handler-ODG4B6NX.mjs → url-handler-3CARFXQK.mjs} +2 -2
  23. package/dist/types/src/capabilities/capabilities.d.ts +8 -6
  24. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  25. package/dist/types/src/capabilities/index.d.ts +2 -2
  26. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  27. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  28. package/dist/types/src/capabilities/state.d.ts +5 -4
  29. package/dist/types/src/capabilities/state.d.ts.map +1 -1
  30. package/dist/types/src/components/DeckLayout/ContentEmpty.d.ts.map +1 -1
  31. package/dist/types/src/components/DeckLayout/DeckLayout.d.ts.map +1 -1
  32. package/dist/types/src/components/DeckLayout/Dialog.d.ts +3 -0
  33. package/dist/types/src/components/DeckLayout/Dialog.d.ts.map +1 -0
  34. package/dist/types/src/components/DeckLayout/Popover.d.ts +5 -0
  35. package/dist/types/src/components/DeckLayout/Popover.d.ts.map +1 -0
  36. package/dist/types/src/components/Plank/Plank.d.ts.map +1 -1
  37. package/dist/types/src/components/Plank/PlankControls.d.ts +2 -2
  38. package/dist/types/src/components/Plank/PlankControls.d.ts.map +1 -1
  39. package/dist/types/src/components/Plank/PlankHeading.d.ts +3 -2
  40. package/dist/types/src/components/Plank/PlankHeading.d.ts.map +1 -1
  41. package/dist/types/src/components/Sidebar/ComplementarySidebar.d.ts.map +1 -1
  42. package/dist/types/src/components/Sidebar/Sidebar.d.ts.map +1 -1
  43. package/dist/types/src/translations.d.ts +2 -0
  44. package/dist/types/src/translations.d.ts.map +1 -1
  45. package/dist/types/src/types.d.ts +11 -9
  46. package/dist/types/src/types.d.ts.map +1 -1
  47. package/dist/types/src/util/layoutAppliesTopbar.d.ts +2 -1
  48. package/dist/types/src/util/layoutAppliesTopbar.d.ts.map +1 -1
  49. package/dist/types/src/util/useHoistStatusbar.d.ts +2 -1
  50. package/dist/types/src/util/useHoistStatusbar.d.ts.map +1 -1
  51. package/package.json +28 -28
  52. package/src/capabilities/index.ts +2 -2
  53. package/src/capabilities/intent-resolver.ts +36 -20
  54. package/src/capabilities/settings.ts +2 -2
  55. package/src/capabilities/state.ts +3 -2
  56. package/src/components/DeckLayout/ContentEmpty.tsx +6 -2
  57. package/src/components/DeckLayout/DeckLayout.tsx +114 -181
  58. package/src/components/DeckLayout/Dialog.tsx +36 -0
  59. package/src/components/DeckLayout/Popover.tsx +76 -0
  60. package/src/components/Plank/Plank.tsx +3 -2
  61. package/src/components/Plank/PlankControls.tsx +33 -33
  62. package/src/components/Plank/PlankHeading.tsx +6 -4
  63. package/src/components/Sidebar/ComplementarySidebar.tsx +30 -20
  64. package/src/components/Sidebar/Sidebar.tsx +5 -3
  65. package/src/translations.ts +2 -0
  66. package/src/types.ts +9 -6
  67. package/src/util/layoutAppliesTopbar.ts +8 -2
  68. package/src/util/useHoistStatusbar.ts +9 -4
  69. package/dist/lib/browser/chunk-FJBMNSUC.mjs.map +0 -7
  70. package/dist/lib/browser/chunk-RJNCG4ND.mjs.map +0 -7
  71. package/dist/lib/browser/intent-resolver-UDYKO2QW.mjs.map +0 -7
  72. package/dist/lib/browser/settings-HMDGSBGO.mjs.map +0 -7
  73. package/dist/lib/browser/state-7TN26M42.mjs.map +0 -7
  74. package/dist/types/src/components/DeckLayout/Fullscreen.d.ts +0 -5
  75. package/dist/types/src/components/DeckLayout/Fullscreen.d.ts.map +0 -1
  76. package/src/components/DeckLayout/Fullscreen.tsx +0 -31
  77. /package/dist/lib/browser/{react-root-XLXN2VEW.mjs.map → react-root-KA2IL5RA.mjs.map} +0 -0
  78. /package/dist/lib/browser/{react-surface-WNGMZL7I.mjs.map → react-surface-LIPGYEYN.mjs.map} +0 -0
  79. /package/dist/lib/browser/{tools-SC6QEN7R.mjs.map → tools-VDVQTJMD.mjs.map} +0 -0
  80. /package/dist/lib/browser/{url-handler-ODG4B6NX.mjs.map → url-handler-3CARFXQK.mjs.map} +0 -0
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-FLOVGNYB.mjs";
7
7
  import {
8
8
  setActive
9
- } from "./chunk-6ZSOFCPP.mjs";
9
+ } from "./chunk-6HJZL3WT.mjs";
10
10
  import {
11
11
  DeckCapabilities
12
12
  } from "./chunk-XMCG42ID.mjs";
@@ -16,7 +16,7 @@ import {
16
16
  defaultDeck,
17
17
  getMode,
18
18
  isLayoutMode
19
- } from "./chunk-RJNCG4ND.mjs";
19
+ } from "./chunk-ZMJMCN7O.mjs";
20
20
  import {
21
21
  DECK_PLUGIN
22
22
  } from "./chunk-NSATFAEE.mjs";
@@ -27,7 +27,7 @@ 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 { isReactiveObject } from "@dxos/live-object";
30
+ import { isLiveObject } 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,12 +130,18 @@ 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 = subject ? {
133
+ layout.popoverContent = typeof subject === "string" ? {
134
134
  component: subject,
135
135
  props: options.props
136
+ } : subject ? {
137
+ subject
136
138
  } : null;
137
- layout.popoverAnchorId = options.anchorId;
138
139
  layout.popoverSide = options.side;
140
+ if (options.variant === "virtual") {
141
+ layout.popoverAnchor = options.anchor;
142
+ } else {
143
+ layout.popoverAnchorId = options.anchorId;
144
+ }
139
145
  }
140
146
  }),
141
147
  createResolver({
@@ -186,10 +192,8 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
186
192
  deck.solo = void 0;
187
193
  deck.initialized = true;
188
194
  }
189
- if (mode === "fullscreen" && !deck.fullscreen) {
190
- deck.fullscreen = true;
191
- } else if (mode !== "fullscreen" && deck.fullscreen) {
192
- deck.fullscreen = false;
195
+ if (mode === "solo--fullscreen") {
196
+ deck.fullscreen = !deck.fullscreen;
193
197
  }
194
198
  };
195
199
  return batch(() => {
@@ -205,7 +209,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
205
209
  } else {
206
210
  log.warn("Invalid layout mode", options, {
207
211
  F: __dxlog_file,
208
- L: 195,
212
+ L: 198,
209
213
  S: void 0,
210
214
  C: (f, a) => f(...a)
211
215
  });
@@ -299,7 +303,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
299
303
  }),
300
304
  ...newlyOpen.map((subjectId) => {
301
305
  const active = graph?.findNode(subjectId)?.data;
302
- const typename = isReactiveObject(active) ? getTypename(active) : void 0;
306
+ const typename = isLiveObject(active) ? getTypename(active) : void 0;
303
307
  return createIntent(ObservabilityAction.SendEvent, {
304
308
  name: "navigation.activate",
305
309
  properties: {
@@ -390,7 +394,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
390
394
  } else {
391
395
  invariant(data.companion !== data.primary, void 0, {
392
396
  F: __dxlog_file,
393
- L: 352,
397
+ L: 355,
394
398
  S: void 0,
395
399
  A: [
396
400
  "data.companion !== data.primary",
@@ -435,7 +439,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
435
439
  };
436
440
  }
437
441
  }
438
- if (adjustment.type === "solo") {
442
+ if (adjustment.type.startsWith("solo")) {
439
443
  const entryId = adjustment.id;
440
444
  if (!state.deck.solo) {
441
445
  return {
@@ -444,28 +448,42 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
444
448
  part: "mode",
445
449
  subject: entryId,
446
450
  options: {
447
- mode: "solo"
451
+ mode: adjustment.type
448
452
  }
449
453
  })
450
454
  ]
451
455
  };
452
456
  } else {
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
- };
457
+ if (adjustment.type === "solo--fullscreen") {
458
+ return {
459
+ intents: [
460
+ createIntent(LayoutAction.SetLayoutMode, {
461
+ part: "mode",
462
+ subject: entryId,
463
+ options: {
464
+ mode: "solo--fullscreen"
465
+ }
466
+ })
467
+ ]
468
+ };
469
+ } else if (adjustment.type === "solo") {
470
+ return {
471
+ intents: [
472
+ // NOTE: The order of these is important.
473
+ pipe(createIntent(LayoutAction.SetLayoutMode, {
474
+ part: "mode",
475
+ options: {
476
+ mode: "deck"
477
+ }
478
+ }), chain(LayoutAction.Open, {
479
+ part: "main",
480
+ subject: [
481
+ entryId
482
+ ]
483
+ }))
484
+ ]
485
+ };
486
+ }
469
487
  }
470
488
  }
471
489
  });
@@ -475,4 +493,4 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
475
493
  export {
476
494
  intent_resolver_default as default
477
495
  };
478
- //# sourceMappingURL=intent-resolver-UDYKO2QW.mjs.map
496
+ //# sourceMappingURL=intent-resolver-6AK45PT5.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 { isLiveObject } 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 =\n typeof subject === 'string' ? { component: subject, props: options.props } : subject ? { subject } : null;\n layout.popoverSide = options.side;\n if (options.variant === 'virtual') {\n layout.popoverAnchor = options.anchor;\n } else {\n layout.popoverAnchorId = options.anchorId;\n }\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 === 'solo--fullscreen') {\n deck.fullscreen = !deck.fullscreen;\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 = isLiveObject(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.startsWith('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: adjustment.type },\n }),\n ],\n };\n } else {\n if (adjustment.type === 'solo--fullscreen') {\n // Toggle fullscreen on the current entry.\n return {\n intents: [\n createIntent(LayoutAction.SetLayoutMode, {\n part: 'mode',\n subject: entryId,\n options: { mode: 'solo--fullscreen' },\n }),\n ],\n };\n } else if (adjustment.type === 'solo') {\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 ]);\n"],
5
+ "mappings": "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",
6
+ "names": ["batch", "pipe", "Capabilities", "createResolver", "contributes", "IntentAction", "LayoutAction", "createIntent", "chain", "getTypename", "S", "invariant", "isLiveObject", "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", "popoverSide", "side", "variant", "popoverAnchor", "anchor", "popoverAnchorId", "anchorId", "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", "reduce", "acc", "entryId", "openEntry", "key", "positioning", "newPlankPositioning", "pivotId", "setActive", "ids", "newlyOpen", "i", "has", "scrollIntoView", "Expose", "subjectId", "findNode", "typename", "isLiveObject", "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
+ }