@dxos/plugin-deck 0.8.2-main.f11618f → 0.8.2-staging.42af850
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.
- package/dist/lib/browser/{app-graph-builder-VYZ4IWI3.mjs → app-graph-builder-M5BT34YG.mjs} +17 -16
- package/dist/lib/browser/app-graph-builder-M5BT34YG.mjs.map +7 -0
- package/dist/lib/browser/{check-app-scheme-O7JPE4TM.mjs → check-app-scheme-7AXGR6UT.mjs} +2 -2
- package/dist/lib/browser/check-app-scheme-7AXGR6UT.mjs.map +7 -0
- package/dist/lib/browser/{state-Z6UY2Z3M.mjs → chunk-FX44YX3G.mjs} +7 -5
- package/dist/lib/browser/chunk-FX44YX3G.mjs.map +7 -0
- package/dist/lib/browser/chunk-JE2ARGEB.mjs +1487 -0
- package/dist/lib/browser/chunk-JE2ARGEB.mjs.map +7 -0
- package/dist/lib/browser/{chunk-XMCG42ID.mjs → chunk-KLN73CM3.mjs} +2 -2
- package/dist/lib/browser/{chunk-XMCG42ID.mjs.map → chunk-KLN73CM3.mjs.map} +1 -1
- package/dist/lib/browser/chunk-SLQNOATN.mjs +127 -0
- package/dist/lib/browser/chunk-SLQNOATN.mjs.map +7 -0
- package/dist/lib/browser/chunk-TRFYUEBA.mjs +145 -0
- package/dist/lib/browser/chunk-TRFYUEBA.mjs.map +7 -0
- package/dist/lib/browser/chunk-YN5OZEGS.mjs +162 -0
- package/dist/lib/browser/chunk-YN5OZEGS.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +6 -8
- package/dist/lib/browser/index.mjs.map +2 -2
- package/dist/lib/browser/{intent-resolver-JKWXWUV6.mjs → intent-resolver-3GAC57UA.mjs} +84 -66
- package/dist/lib/browser/intent-resolver-3GAC57UA.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-root-S6ZAKNZA.mjs → react-root-ISFFOJZX.mjs} +7 -7
- package/dist/lib/browser/{react-surface-I7WZBOGM.mjs → react-surface-A63RQB5N.mjs} +7 -7
- package/dist/lib/browser/{settings-6NU7CF2B.mjs → settings-X7GDEXU3.mjs} +4 -4
- package/dist/lib/browser/{settings-6NU7CF2B.mjs.map → settings-X7GDEXU3.mjs.map} +3 -3
- package/dist/lib/browser/state-VJ6E3ADY.mjs +10 -0
- package/dist/lib/browser/state-VJ6E3ADY.mjs.map +7 -0
- package/dist/lib/browser/{tools-VDVQTJMD.mjs → tools-N57NQ2LH.mjs} +28 -18
- package/dist/lib/browser/tools-N57NQ2LH.mjs.map +7 -0
- package/dist/lib/browser/types.mjs +1 -1
- package/dist/lib/browser/{url-handler-3CARFXQK.mjs → url-handler-BUGI6XRE.mjs} +5 -5
- package/dist/lib/browser/url-handler-BUGI6XRE.mjs.map +7 -0
- package/dist/types/src/capabilities/app-graph-builder.d.ts +2 -179
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts +10 -2
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
- package/dist/types/src/capabilities/check-app-scheme.d.ts +2 -2
- package/dist/types/src/capabilities/check-app-scheme.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +6 -181
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +2 -2
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/state.d.ts +7 -3
- package/dist/types/src/capabilities/state.d.ts.map +1 -1
- package/dist/types/src/capabilities/tools.d.ts +1 -1
- package/dist/types/src/capabilities/tools.d.ts.map +1 -1
- package/dist/types/src/capabilities/url-handler.d.ts +2 -2
- package/dist/types/src/capabilities/url-handler.d.ts.map +1 -1
- package/dist/types/src/components/DeckLayout/Banner.d.ts.map +1 -1
- package/dist/types/src/components/DeckLayout/ContentEmpty.d.ts.map +1 -1
- package/dist/types/src/components/DeckLayout/DeckLayout.d.ts.map +1 -1
- package/dist/types/src/components/DeckLayout/Popover.d.ts.map +1 -1
- package/dist/types/src/components/DeckLayout/StatusBar.d.ts.map +1 -1
- package/dist/types/src/components/DeckLayout/Toast.d.ts.map +1 -1
- package/dist/types/src/components/DeckSettings/DeckSettings.d.ts.map +1 -1
- package/dist/types/src/components/Plank/Plank.d.ts +18 -5
- package/dist/types/src/components/Plank/Plank.d.ts.map +1 -1
- package/dist/types/src/components/Plank/Plank.stories.d.ts +3 -3
- package/dist/types/src/components/Plank/Plank.stories.d.ts.map +1 -1
- package/dist/types/src/components/Plank/PlankControls.d.ts +1 -0
- package/dist/types/src/components/Plank/PlankControls.d.ts.map +1 -1
- package/dist/types/src/components/Plank/PlankError.d.ts.map +1 -1
- package/dist/types/src/components/Plank/PlankHeading.d.ts.map +1 -1
- package/dist/types/src/components/Sidebar/ComplementarySidebar.d.ts.map +1 -1
- package/dist/types/src/components/Sidebar/Sidebar.d.ts.map +1 -1
- package/dist/types/src/components/Sidebar/SidebarButton.d.ts +2 -1
- package/dist/types/src/components/Sidebar/SidebarButton.d.ts.map +1 -1
- package/dist/types/src/hooks/index.d.ts +5 -1
- package/dist/types/src/hooks/index.d.ts.map +1 -1
- package/dist/types/src/hooks/useBreakpoints.d.ts.map +1 -0
- package/dist/types/src/hooks/useCompanions.d.ts.map +1 -0
- package/dist/types/src/hooks/useDeckCompanions.d.ts +13 -0
- package/dist/types/src/hooks/useDeckCompanions.d.ts.map +1 -0
- package/dist/types/src/hooks/useHoistStatusbar.d.ts.map +1 -0
- package/dist/types/src/hooks/useNodeActionExpander.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/layout.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +0 -1
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types.d.ts +106 -104
- package/dist/types/src/types.d.ts.map +1 -1
- package/dist/types/src/util/index.d.ts +1 -4
- package/dist/types/src/util/index.d.ts.map +1 -1
- package/dist/types/src/util/layoutAppliesTopbar.d.ts.map +1 -1
- package/dist/types/src/util/overscroll.d.ts.map +1 -1
- package/dist/types/src/util/set-active.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +38 -30
- package/src/capabilities/app-graph-builder.ts +120 -92
- package/src/capabilities/check-app-scheme.ts +3 -5
- package/src/capabilities/index.ts +1 -0
- package/src/capabilities/intent-resolver.ts +100 -78
- package/src/capabilities/settings.ts +2 -2
- package/src/capabilities/state.ts +4 -2
- package/src/capabilities/tools.ts +15 -12
- package/src/capabilities/url-handler.ts +4 -4
- package/src/components/DeckLayout/ContentEmpty.tsx +3 -2
- package/src/components/DeckLayout/DeckLayout.tsx +12 -10
- package/src/components/DeckLayout/Dialog.tsx +2 -2
- package/src/components/Plank/Plank.stories.tsx +20 -8
- package/src/components/Plank/Plank.tsx +101 -68
- package/src/components/Plank/PlankControls.tsx +15 -25
- package/src/components/Plank/PlankHeading.tsx +22 -10
- package/src/components/Sidebar/ComplementarySidebar.tsx +7 -38
- package/src/components/Sidebar/Sidebar.tsx +2 -1
- package/src/components/Sidebar/SidebarButton.tsx +26 -7
- package/src/components/fragments.ts +1 -1
- package/src/hooks/index.ts +5 -1
- package/src/{util → hooks}/useCompanions.ts +3 -3
- package/src/hooks/useDeckCompanions.ts +33 -0
- package/src/hooks/useNodeActionExpander.ts +3 -8
- package/src/index.ts +1 -1
- package/src/translations.ts +0 -1
- package/src/types.ts +74 -71
- package/src/util/index.ts +1 -4
- package/dist/lib/browser/app-graph-builder-VYZ4IWI3.mjs.map +0 -7
- package/dist/lib/browser/check-app-scheme-O7JPE4TM.mjs.map +0 -7
- package/dist/lib/browser/chunk-6HJZL3WT.mjs +0 -118
- package/dist/lib/browser/chunk-6HJZL3WT.mjs.map +0 -7
- package/dist/lib/browser/chunk-FLOVGNYB.mjs +0 -81
- package/dist/lib/browser/chunk-FLOVGNYB.mjs.map +0 -7
- package/dist/lib/browser/chunk-RBJ6DLAC.mjs +0 -24
- package/dist/lib/browser/chunk-RBJ6DLAC.mjs.map +0 -7
- package/dist/lib/browser/chunk-RDFJGGGX.mjs +0 -1334
- package/dist/lib/browser/chunk-RDFJGGGX.mjs.map +0 -7
- package/dist/lib/browser/chunk-ZMJMCN7O.mjs +0 -157
- package/dist/lib/browser/chunk-ZMJMCN7O.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-JKWXWUV6.mjs.map +0 -7
- package/dist/lib/browser/state-Z6UY2Z3M.mjs.map +0 -7
- package/dist/lib/browser/tools-VDVQTJMD.mjs.map +0 -7
- package/dist/lib/browser/url-handler-3CARFXQK.mjs.map +0 -7
- package/dist/types/src/util/useBreakpoints.d.ts.map +0 -1
- package/dist/types/src/util/useCompanions.d.ts.map +0 -1
- package/dist/types/src/util/useHoistStatusbar.d.ts.map +0 -1
- /package/dist/lib/browser/{react-root-S6ZAKNZA.mjs.map → react-root-ISFFOJZX.mjs.map} +0 -0
- /package/dist/lib/browser/{react-surface-I7WZBOGM.mjs.map → react-surface-A63RQB5N.mjs.map} +0 -0
- /package/dist/types/src/{util → hooks}/useBreakpoints.d.ts +0 -0
- /package/dist/types/src/{util → hooks}/useCompanions.d.ts +0 -0
- /package/dist/types/src/{util → hooks}/useHoistStatusbar.d.ts +0 -0
- /package/src/{util → hooks}/useBreakpoints.ts +0 -0
- /package/src/{util → hooks}/useHoistStatusbar.ts +0 -0
|
@@ -2,34 +2,33 @@ import {
|
|
|
2
2
|
closeEntry,
|
|
3
3
|
createEntryId,
|
|
4
4
|
incrementPlank,
|
|
5
|
-
openEntry
|
|
6
|
-
} from "./chunk-FLOVGNYB.mjs";
|
|
7
|
-
import {
|
|
5
|
+
openEntry,
|
|
8
6
|
setActive
|
|
9
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-TRFYUEBA.mjs";
|
|
10
8
|
import {
|
|
11
9
|
DeckCapabilities
|
|
12
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-KLN73CM3.mjs";
|
|
13
11
|
import {
|
|
14
12
|
DeckAction,
|
|
15
13
|
PLANK_COMPANION_TYPE,
|
|
16
14
|
defaultDeck,
|
|
17
15
|
getMode,
|
|
18
16
|
isLayoutMode
|
|
19
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-YN5OZEGS.mjs";
|
|
20
18
|
import {
|
|
21
19
|
DECK_PLUGIN
|
|
22
20
|
} from "./chunk-NSATFAEE.mjs";
|
|
23
21
|
|
|
24
22
|
// packages/plugins/plugin-deck/src/capabilities/intent-resolver.ts
|
|
25
23
|
import { batch } from "@preact/signals-core";
|
|
26
|
-
import { Effect, pipe } from "effect";
|
|
24
|
+
import { Schema, Effect, pipe, Option } from "effect";
|
|
27
25
|
import { Capabilities, createResolver, contributes, IntentAction, LayoutAction, createIntent, chain } from "@dxos/app-framework";
|
|
28
|
-
import { getTypename
|
|
26
|
+
import { getTypename } from "@dxos/echo-schema";
|
|
29
27
|
import { invariant } from "@dxos/invariant";
|
|
30
28
|
import { isLiveObject } from "@dxos/live-object";
|
|
31
29
|
import { log } from "@dxos/log";
|
|
32
30
|
import { AttentionCapabilities } from "@dxos/plugin-attention";
|
|
31
|
+
import { isActionLike } from "@dxos/plugin-graph";
|
|
33
32
|
import { ObservabilityAction } from "@dxos/plugin-observability/types";
|
|
34
33
|
import { byPosition, isNonNullable } from "@dxos/util";
|
|
35
34
|
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-deck/src/capabilities/intent-resolver.ts";
|
|
@@ -37,8 +36,8 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
37
36
|
createResolver({
|
|
38
37
|
intent: IntentAction.ShowUndo,
|
|
39
38
|
resolve: (data) => {
|
|
40
|
-
const layout = context.
|
|
41
|
-
const { undoPromise: undo } = context.
|
|
39
|
+
const layout = context.getCapability(DeckCapabilities.MutableDeckState);
|
|
40
|
+
const { undoPromise: undo } = context.getCapability(Capabilities.IntentDispatcher);
|
|
42
41
|
if (layout.currentUndoId) {
|
|
43
42
|
layout.toasts = layout.toasts.filter((toast) => toast.id !== layout.currentUndoId);
|
|
44
43
|
}
|
|
@@ -79,11 +78,11 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
79
78
|
}),
|
|
80
79
|
createResolver({
|
|
81
80
|
intent: LayoutAction.UpdateLayout,
|
|
82
|
-
// TODO(wittjosiah): This should be able to just be `
|
|
81
|
+
// TODO(wittjosiah): This should be able to just be `Schema.is(LayoutAction.UpdateSidebar.fields.input)`
|
|
83
82
|
// but the filter is not being applied correctly.
|
|
84
|
-
filter: (data) =>
|
|
83
|
+
filter: (data) => Schema.is(LayoutAction.UpdateSidebar.fields.input)(data),
|
|
85
84
|
resolve: ({ options }) => {
|
|
86
|
-
const layout = context.
|
|
85
|
+
const layout = context.getCapability(DeckCapabilities.MutableDeckState);
|
|
87
86
|
const next = options?.state ?? layout.sidebarState;
|
|
88
87
|
if (next !== layout.sidebarState) {
|
|
89
88
|
layout.sidebarState = next;
|
|
@@ -92,11 +91,11 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
92
91
|
}),
|
|
93
92
|
createResolver({
|
|
94
93
|
intent: LayoutAction.UpdateLayout,
|
|
95
|
-
// TODO(wittjosiah): This should be able to just be `
|
|
94
|
+
// TODO(wittjosiah): This should be able to just be `Schema.is(LayoutAction.UpdateComplementary.fields.input)`
|
|
96
95
|
// but the filter is not being applied correctly.
|
|
97
|
-
filter: (data) =>
|
|
96
|
+
filter: (data) => Schema.is(LayoutAction.UpdateComplementary.fields.input)(data),
|
|
98
97
|
resolve: ({ subject, options }) => {
|
|
99
|
-
const layout = context.
|
|
98
|
+
const layout = context.getCapability(DeckCapabilities.MutableDeckState);
|
|
100
99
|
if (layout.complementarySidebarPanel !== subject) {
|
|
101
100
|
layout.complementarySidebarPanel = subject;
|
|
102
101
|
}
|
|
@@ -108,27 +107,29 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
108
107
|
}),
|
|
109
108
|
createResolver({
|
|
110
109
|
intent: LayoutAction.UpdateLayout,
|
|
111
|
-
// TODO(wittjosiah): This should be able to just be `
|
|
110
|
+
// TODO(wittjosiah): This should be able to just be `Schema.is(LayoutAction.UpdateDialog.fields.input)`
|
|
112
111
|
// but the filter is not being applied correctly.
|
|
113
|
-
filter: (data) =>
|
|
112
|
+
filter: (data) => Schema.is(LayoutAction.UpdateDialog.fields.input)(data),
|
|
114
113
|
resolve: ({ subject, options }) => {
|
|
115
|
-
const layout = context.
|
|
114
|
+
const layout = context.getCapability(DeckCapabilities.MutableDeckState);
|
|
116
115
|
layout.dialogOpen = options.state ?? Boolean(subject);
|
|
116
|
+
layout.dialogType = options.type ?? "default";
|
|
117
|
+
layout.dialogBlockAlign = options.blockAlign ?? "center";
|
|
118
|
+
layout.dialogOverlayClasses = options.overlayClasses;
|
|
119
|
+
layout.dialogOverlayStyle = options.overlayStyle;
|
|
117
120
|
layout.dialogContent = subject ? {
|
|
118
121
|
component: subject,
|
|
119
122
|
props: options.props
|
|
120
123
|
} : null;
|
|
121
|
-
layout.dialogBlockAlign = options.blockAlign ?? "center";
|
|
122
|
-
layout.dialogType = options.type ?? "default";
|
|
123
124
|
}
|
|
124
125
|
}),
|
|
125
126
|
createResolver({
|
|
126
127
|
intent: LayoutAction.UpdateLayout,
|
|
127
|
-
// TODO(wittjosiah): This should be able to just be `
|
|
128
|
+
// TODO(wittjosiah): This should be able to just be `Schema.is(LayoutAction.UpdatePopover.fields.input)`
|
|
128
129
|
// but the filter is not being applied correctly.
|
|
129
|
-
filter: (data) =>
|
|
130
|
+
filter: (data) => Schema.is(LayoutAction.UpdatePopover.fields.input)(data),
|
|
130
131
|
resolve: ({ subject, options }) => {
|
|
131
|
-
const layout = context.
|
|
132
|
+
const layout = context.getCapability(DeckCapabilities.MutableDeckState);
|
|
132
133
|
layout.popoverOpen = options.state ?? Boolean(subject);
|
|
133
134
|
layout.popoverContent = typeof subject === "string" ? {
|
|
134
135
|
component: subject,
|
|
@@ -146,20 +147,20 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
146
147
|
}),
|
|
147
148
|
createResolver({
|
|
148
149
|
intent: LayoutAction.UpdateLayout,
|
|
149
|
-
// TODO(wittjosiah): This should be able to just be `
|
|
150
|
+
// TODO(wittjosiah): This should be able to just be `Schema.is(LayoutAction.AddToast.fields.input)`
|
|
150
151
|
// but the filter is not being applied correctly.
|
|
151
|
-
filter: (data) =>
|
|
152
|
+
filter: (data) => Schema.is(LayoutAction.AddToast.fields.input)(data),
|
|
152
153
|
resolve: ({ subject }) => {
|
|
153
|
-
const layout = context.
|
|
154
|
+
const layout = context.getCapability(DeckCapabilities.MutableDeckState);
|
|
154
155
|
layout.toasts.push(subject);
|
|
155
156
|
}
|
|
156
157
|
}),
|
|
157
158
|
createResolver({
|
|
158
159
|
intent: LayoutAction.UpdateLayout,
|
|
159
|
-
// TODO(wittjosiah): This should be able to just be `
|
|
160
|
+
// TODO(wittjosiah): This should be able to just be `Schema.is(LayoutAction.SetLayoutMode.fields.input)`
|
|
160
161
|
// but the filter is not being applied correctly.
|
|
161
162
|
filter: (data) => {
|
|
162
|
-
if (!
|
|
163
|
+
if (!Schema.is(LayoutAction.SetLayoutMode.fields.input)(data)) {
|
|
163
164
|
return false;
|
|
164
165
|
}
|
|
165
166
|
if ("mode" in data.options) {
|
|
@@ -168,7 +169,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
168
169
|
return true;
|
|
169
170
|
},
|
|
170
171
|
resolve: ({ subject, options }) => {
|
|
171
|
-
const state = context.
|
|
172
|
+
const state = context.getCapability(DeckCapabilities.MutableDeckState);
|
|
172
173
|
const setMode = (mode) => {
|
|
173
174
|
const deck = state.deck;
|
|
174
175
|
const current = deck.solo ? [
|
|
@@ -209,7 +210,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
209
210
|
} else {
|
|
210
211
|
log.warn("Invalid layout mode", options, {
|
|
211
212
|
F: __dxlog_file,
|
|
212
|
-
L:
|
|
213
|
+
L: 200,
|
|
213
214
|
S: void 0,
|
|
214
215
|
C: (f, a) => f(...a)
|
|
215
216
|
});
|
|
@@ -219,9 +220,10 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
219
220
|
}),
|
|
220
221
|
createResolver({
|
|
221
222
|
intent: LayoutAction.UpdateLayout,
|
|
222
|
-
filter: (data) =>
|
|
223
|
+
filter: (data) => Schema.is(LayoutAction.SwitchWorkspace.fields.input)(data),
|
|
223
224
|
resolve: ({ subject }) => {
|
|
224
|
-
const
|
|
225
|
+
const { graph } = context.getCapability(Capabilities.AppGraph);
|
|
226
|
+
const state = context.getCapability(DeckCapabilities.MutableDeckState);
|
|
225
227
|
batch(() => {
|
|
226
228
|
if (!state.activeDeck.startsWith("!")) {
|
|
227
229
|
state.previousDeck = state.activeDeck;
|
|
@@ -243,14 +245,28 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
243
245
|
})
|
|
244
246
|
]
|
|
245
247
|
};
|
|
248
|
+
} else {
|
|
249
|
+
const [item] = graph.getConnections(subject).filter((node) => !isActionLike(node) && node.properties.disposition !== "hidden");
|
|
250
|
+
if (item) {
|
|
251
|
+
return {
|
|
252
|
+
intents: [
|
|
253
|
+
createIntent(LayoutAction.Open, {
|
|
254
|
+
part: "main",
|
|
255
|
+
subject: [
|
|
256
|
+
item.id
|
|
257
|
+
]
|
|
258
|
+
})
|
|
259
|
+
]
|
|
260
|
+
};
|
|
261
|
+
}
|
|
246
262
|
}
|
|
247
263
|
}
|
|
248
264
|
}),
|
|
249
265
|
createResolver({
|
|
250
266
|
intent: LayoutAction.UpdateLayout,
|
|
251
|
-
filter: (data) =>
|
|
267
|
+
filter: (data) => Schema.is(LayoutAction.RevertWorkspace.fields.input)(data),
|
|
252
268
|
resolve: () => {
|
|
253
|
-
const state = context.
|
|
269
|
+
const state = context.getCapability(DeckCapabilities.MutableDeckState);
|
|
254
270
|
return {
|
|
255
271
|
intents: [
|
|
256
272
|
createIntent(LayoutAction.SwitchWorkspace, {
|
|
@@ -263,14 +279,14 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
263
279
|
}),
|
|
264
280
|
createResolver({
|
|
265
281
|
intent: LayoutAction.UpdateLayout,
|
|
266
|
-
filter: (data) =>
|
|
282
|
+
filter: (data) => Schema.is(LayoutAction.Open.fields.input)(data),
|
|
267
283
|
resolve: ({ subject, options }) => Effect.gen(function* () {
|
|
268
|
-
const { graph } = context.
|
|
269
|
-
const state = context.
|
|
270
|
-
const attention = context.
|
|
271
|
-
const settings = context.
|
|
284
|
+
const { graph } = context.getCapability(Capabilities.AppGraph);
|
|
285
|
+
const state = context.getCapability(DeckCapabilities.MutableDeckState);
|
|
286
|
+
const attention = context.getCapability(AttentionCapabilities.Attention);
|
|
287
|
+
const settings = context.getCapabilities(Capabilities.SettingsStore)[0]?.getStore(DECK_PLUGIN)?.value;
|
|
272
288
|
if (options?.workspace && state.activeDeck !== options?.workspace) {
|
|
273
|
-
const { dispatch } = context.
|
|
289
|
+
const { dispatch } = context.getCapability(Capabilities.IntentDispatcher);
|
|
274
290
|
yield* dispatch(createIntent(LayoutAction.SwitchWorkspace, {
|
|
275
291
|
part: "workspace",
|
|
276
292
|
subject: options.workspace
|
|
@@ -309,8 +325,13 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
309
325
|
subject: newlyOpen[0] ?? subject[0]
|
|
310
326
|
}),
|
|
311
327
|
...newlyOpen.map((subjectId) => {
|
|
312
|
-
const
|
|
313
|
-
|
|
328
|
+
const typename = Option.match(graph.getNode(subjectId), {
|
|
329
|
+
onNone: () => void 0,
|
|
330
|
+
onSome: (node) => {
|
|
331
|
+
const active = node.data;
|
|
332
|
+
return isLiveObject(active) ? getTypename(active) : void 0;
|
|
333
|
+
}
|
|
334
|
+
});
|
|
314
335
|
return createIntent(ObservabilityAction.SendEvent, {
|
|
315
336
|
name: "navigation.activate",
|
|
316
337
|
properties: {
|
|
@@ -325,10 +346,10 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
325
346
|
}),
|
|
326
347
|
createResolver({
|
|
327
348
|
intent: LayoutAction.UpdateLayout,
|
|
328
|
-
filter: (data) =>
|
|
349
|
+
filter: (data) => Schema.is(LayoutAction.Close.fields.input)(data),
|
|
329
350
|
resolve: ({ subject }) => {
|
|
330
|
-
const state = context.
|
|
331
|
-
const attention = context.
|
|
351
|
+
const state = context.getCapability(DeckCapabilities.MutableDeckState);
|
|
352
|
+
const attention = context.getCapability(AttentionCapabilities.Attention);
|
|
332
353
|
const active = state.deck.solo ? [
|
|
333
354
|
state.deck.solo
|
|
334
355
|
] : state.deck.active;
|
|
@@ -357,10 +378,10 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
357
378
|
}),
|
|
358
379
|
createResolver({
|
|
359
380
|
intent: LayoutAction.UpdateLayout,
|
|
360
|
-
filter: (data) =>
|
|
381
|
+
filter: (data) => Schema.is(LayoutAction.Set.fields.input)(data),
|
|
361
382
|
resolve: ({ subject }) => {
|
|
362
|
-
const state = context.
|
|
363
|
-
const attention = context.
|
|
383
|
+
const state = context.getCapability(DeckCapabilities.MutableDeckState);
|
|
384
|
+
const attention = context.getCapability(AttentionCapabilities.Attention);
|
|
364
385
|
const toAttend = setActive({
|
|
365
386
|
next: subject,
|
|
366
387
|
state,
|
|
@@ -378,30 +399,30 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
378
399
|
}),
|
|
379
400
|
createResolver({
|
|
380
401
|
intent: LayoutAction.UpdateLayout,
|
|
381
|
-
filter: (data) =>
|
|
402
|
+
filter: (data) => Schema.is(LayoutAction.ScrollIntoView.fields.input)(data),
|
|
382
403
|
resolve: ({ subject }) => {
|
|
383
|
-
const layout = context.
|
|
404
|
+
const layout = context.getCapability(DeckCapabilities.MutableDeckState);
|
|
384
405
|
layout.scrollIntoView = subject;
|
|
385
406
|
}
|
|
386
407
|
}),
|
|
387
408
|
createResolver({
|
|
388
409
|
intent: DeckAction.UpdatePlankSize,
|
|
389
410
|
resolve: (data) => {
|
|
390
|
-
const state = context.
|
|
411
|
+
const state = context.getCapability(DeckCapabilities.MutableDeckState);
|
|
391
412
|
state.deck.plankSizing[data.id] = data.size;
|
|
392
413
|
}
|
|
393
414
|
}),
|
|
394
415
|
createResolver({
|
|
395
416
|
intent: DeckAction.ChangeCompanion,
|
|
396
417
|
resolve: (data) => {
|
|
397
|
-
const state = context.
|
|
418
|
+
const state = context.getCapability(DeckCapabilities.MutableDeckState);
|
|
398
419
|
if (data.companion === null) {
|
|
399
420
|
const { [data.primary]: _, ...nextActiveCompanions } = state.deck.activeCompanions ?? {};
|
|
400
421
|
state.deck.activeCompanions = nextActiveCompanions;
|
|
401
422
|
} else {
|
|
402
423
|
invariant(data.companion !== data.primary, void 0, {
|
|
403
424
|
F: __dxlog_file,
|
|
404
|
-
L:
|
|
425
|
+
L: 380,
|
|
405
426
|
S: void 0,
|
|
406
427
|
A: [
|
|
407
428
|
"data.companion !== data.primary",
|
|
@@ -418,9 +439,9 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
418
439
|
createResolver({
|
|
419
440
|
intent: DeckAction.Adjust,
|
|
420
441
|
resolve: (adjustment) => {
|
|
421
|
-
const state = context.
|
|
422
|
-
const attention = context.
|
|
423
|
-
const { graph } = context.
|
|
442
|
+
const state = context.getCapability(DeckCapabilities.MutableDeckState);
|
|
443
|
+
const attention = context.getCapability(AttentionCapabilities.Attention);
|
|
444
|
+
const { graph } = context.getCapability(Capabilities.AppGraph);
|
|
424
445
|
return batch(() => {
|
|
425
446
|
if (adjustment.type === "increment-end" || adjustment.type === "increment-start") {
|
|
426
447
|
setActive({
|
|
@@ -430,12 +451,9 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
430
451
|
});
|
|
431
452
|
}
|
|
432
453
|
if (adjustment.type === "companion") {
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
}).toSorted((a, b) => byPosition(a.properties, b.properties)) : [];
|
|
437
|
-
if (companion) {
|
|
438
|
-
return {
|
|
454
|
+
return pipe(graph.getNode(adjustment.id), Option.map((node) => graph.getConnections(node.id).filter((n) => n.type === PLANK_COMPANION_TYPE).toSorted((a, b) => byPosition(a.properties, b.properties))), Option.flatMap((companions) => companions.length > 0 ? Option.some(companions[0]) : Option.none()), Option.match({
|
|
455
|
+
onNone: () => ({}),
|
|
456
|
+
onSome: (companion) => ({
|
|
439
457
|
intents: [
|
|
440
458
|
// TODO(wittjosiah): This should remember the previously selected companion.
|
|
441
459
|
createIntent(DeckAction.ChangeCompanion, {
|
|
@@ -443,8 +461,8 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
443
461
|
companion: companion.id
|
|
444
462
|
})
|
|
445
463
|
]
|
|
446
|
-
}
|
|
447
|
-
}
|
|
464
|
+
})
|
|
465
|
+
}));
|
|
448
466
|
}
|
|
449
467
|
if (adjustment.type.startsWith("solo")) {
|
|
450
468
|
const entryId = adjustment.id;
|
|
@@ -500,4 +518,4 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
|
|
|
500
518
|
export {
|
|
501
519
|
intent_resolver_default as default
|
|
502
520
|
};
|
|
503
|
-
//# sourceMappingURL=intent-resolver-
|
|
521
|
+
//# sourceMappingURL=intent-resolver-3GAC57UA.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 { Schema, Effect, pipe, Option } from 'effect';\n\nimport {\n Capabilities,\n createResolver,\n contributes,\n IntentAction,\n LayoutAction,\n type PluginContext,\n createIntent,\n chain,\n} from '@dxos/app-framework';\nimport { getTypename } 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 { isActionLike } 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: PluginContext) =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: IntentAction.ShowUndo,\n resolve: (data) => {\n const layout = context.getCapability(DeckCapabilities.MutableDeckState);\n const { undoPromise: undo } = context.getCapability(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 `Schema.is(LayoutAction.UpdateSidebar.fields.input)`\n // but the filter is not being applied correctly.\n filter: (data): data is Schema.Schema.Type<typeof LayoutAction.UpdateSidebar.fields.input> =>\n Schema.is(LayoutAction.UpdateSidebar.fields.input)(data),\n resolve: ({ options }) => {\n const layout = context.getCapability(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 `Schema.is(LayoutAction.UpdateComplementary.fields.input)`\n // but the filter is not being applied correctly.\n filter: (data): data is Schema.Schema.Type<typeof LayoutAction.UpdateComplementary.fields.input> =>\n Schema.is(LayoutAction.UpdateComplementary.fields.input)(data),\n resolve: ({ subject, options }) => {\n const layout = context.getCapability(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 `Schema.is(LayoutAction.UpdateDialog.fields.input)`\n // but the filter is not being applied correctly.\n filter: (data): data is Schema.Schema.Type<typeof LayoutAction.UpdateDialog.fields.input> =>\n Schema.is(LayoutAction.UpdateDialog.fields.input)(data),\n resolve: ({ subject, options }) => {\n const layout = context.getCapability(DeckCapabilities.MutableDeckState);\n layout.dialogOpen = options.state ?? Boolean(subject);\n layout.dialogType = options.type ?? 'default';\n layout.dialogBlockAlign = options.blockAlign ?? 'center';\n layout.dialogOverlayClasses = options.overlayClasses;\n layout.dialogOverlayStyle = options.overlayStyle;\n layout.dialogContent = subject ? { component: subject, props: options.props } : null;\n },\n }),\n createResolver({\n intent: LayoutAction.UpdateLayout,\n // TODO(wittjosiah): This should be able to just be `Schema.is(LayoutAction.UpdatePopover.fields.input)`\n // but the filter is not being applied correctly.\n filter: (data): data is Schema.Schema.Type<typeof LayoutAction.UpdatePopover.fields.input> =>\n Schema.is(LayoutAction.UpdatePopover.fields.input)(data),\n resolve: ({ subject, options }) => {\n const layout = context.getCapability(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 `Schema.is(LayoutAction.AddToast.fields.input)`\n // but the filter is not being applied correctly.\n filter: (data): data is Schema.Schema.Type<typeof LayoutAction.AddToast.fields.input> =>\n Schema.is(LayoutAction.AddToast.fields.input)(data),\n resolve: ({ subject }) => {\n const layout = context.getCapability(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 `Schema.is(LayoutAction.SetLayoutMode.fields.input)`\n // but the filter is not being applied correctly.\n filter: (data): data is Schema.Schema.Type<typeof LayoutAction.SetLayoutMode.fields.input> => {\n if (!Schema.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.getCapability(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 Schema.Schema.Type<typeof LayoutAction.SwitchWorkspace.fields.input> =>\n Schema.is(LayoutAction.SwitchWorkspace.fields.input)(data),\n resolve: ({ subject }) => {\n const { graph } = context.getCapability(Capabilities.AppGraph);\n const state = context.getCapability(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 } else {\n const [item] = graph\n .getConnections(subject)\n .filter((node) => !isActionLike(node) && node.properties.disposition !== 'hidden');\n if (item) {\n return {\n intents: [createIntent(LayoutAction.Open, { part: 'main', subject: [item.id] })],\n };\n }\n }\n },\n }),\n createResolver({\n intent: LayoutAction.UpdateLayout,\n filter: (data): data is Schema.Schema.Type<typeof LayoutAction.RevertWorkspace.fields.input> =>\n Schema.is(LayoutAction.RevertWorkspace.fields.input)(data),\n resolve: () => {\n const state = context.getCapability(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 Schema.Schema.Type<typeof LayoutAction.Open.fields.input> =>\n Schema.is(LayoutAction.Open.fields.input)(data),\n resolve: ({ subject, options }) =>\n Effect.gen(function* () {\n const { graph } = context.getCapability(Capabilities.AppGraph);\n const state = context.getCapability(DeckCapabilities.MutableDeckState);\n const attention = context.getCapability(AttentionCapabilities.Attention);\n const settings = context\n .getCapabilities(Capabilities.SettingsStore)[0]\n ?.getStore<DeckSettingsProps>(DECK_PLUGIN)?.value;\n\n if (options?.workspace && state.activeDeck !== options?.workspace) {\n const { dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n yield* dispatch(\n createIntent(LayoutAction.SwitchWorkspace, { part: 'workspace', subject: options.workspace }),\n );\n }\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 typename = Option.match(graph.getNode(subjectId), {\n onNone: () => undefined,\n onSome: (node) => {\n const active = node.data;\n return isLiveObject(active) ? getTypename(active) : undefined;\n },\n });\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 Schema.Schema.Type<typeof LayoutAction.Close.fields.input> =>\n Schema.is(LayoutAction.Close.fields.input)(data),\n resolve: ({ subject }) => {\n const state = context.getCapability(DeckCapabilities.MutableDeckState);\n const attention = context.getCapability(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 Schema.Schema.Type<typeof LayoutAction.Set.fields.input> =>\n Schema.is(LayoutAction.Set.fields.input)(data),\n resolve: ({ subject }) => {\n const state = context.getCapability(DeckCapabilities.MutableDeckState);\n const attention = context.getCapability(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 Schema.Schema.Type<typeof LayoutAction.ScrollIntoView.fields.input> =>\n Schema.is(LayoutAction.ScrollIntoView.fields.input)(data),\n resolve: ({ subject }) => {\n const layout = context.getCapability(DeckCapabilities.MutableDeckState);\n layout.scrollIntoView = subject;\n },\n }),\n createResolver({\n intent: DeckAction.UpdatePlankSize,\n resolve: (data) => {\n const state = context.getCapability(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.getCapability(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.getCapability(DeckCapabilities.MutableDeckState);\n const attention = context.getCapability(AttentionCapabilities.Attention);\n const { graph } = context.getCapability(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 return pipe(\n graph.getNode(adjustment.id),\n Option.map((node) =>\n graph\n .getConnections(node.id)\n .filter((n) => n.type === PLANK_COMPANION_TYPE)\n .toSorted((a, b) => byPosition(a.properties, b.properties)),\n ),\n Option.flatMap((companions) => (companions.length > 0 ? Option.some(companions[0]) : Option.none())),\n Option.match({\n onNone: () => ({}),\n onSome: (companion) => ({\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\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", "Schema", "Effect", "pipe", "Option", "Capabilities", "createResolver", "contributes", "IntentAction", "LayoutAction", "createIntent", "chain", "getTypename", "invariant", "isLiveObject", "log", "AttentionCapabilities", "isActionLike", "ObservabilityAction", "byPosition", "isNonNullable", "context", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "IntentAction", "ShowUndo", "resolve", "data", "layout", "getCapability", "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", "Schema", "is", "UpdateSidebar", "fields", "input", "options", "next", "state", "sidebarState", "UpdateComplementary", "subject", "complementarySidebarPanel", "complementarySidebarState", "UpdateDialog", "dialogOpen", "Boolean", "dialogType", "type", "dialogBlockAlign", "blockAlign", "dialogOverlayClasses", "overlayClasses", "dialogOverlayStyle", "overlayStyle", "dialogContent", "component", "props", "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", "graph", "AppGraph", "startsWith", "previousDeck", "decks", "defaultDeck", "first", "intents", "createIntent", "ScrollIntoView", "part", "item", "getConnections", "node", "isActionLike", "properties", "disposition", "Open", "RevertWorkspace", "Effect", "gen", "attention", "AttentionCapabilities", "Attention", "settings", "getCapabilities", "SettingsStore", "getStore", "value", "workspace", "dispatch", "previouslyOpenIds", "map", "createEntryId", "reduce", "acc", "entryId", "openEntry", "key", "positioning", "newPlankPositioning", "pivotId", "setActive", "ids", "newlyOpen", "i", "has", "scrollIntoView", "Expose", "subjectId", "typename", "Option", "match", "getNode", "onNone", "onSome", "isLiveObject", "getTypename", "ObservabilityAction", "SendEvent", "name", "Close", "closeEntry", "toAttend", "clearCompanionIntents", "activeCompanions", "primary", "DeckAction", "ChangeCompanion", "companion", "UpdatePlankSize", "plankSizing", "size", "_", "nextActiveCompanions", "invariant", "Adjust", "adjustment", "incrementPlank", "pipe", "n", "PLANK_COMPANION_TYPE", "toSorted", "a", "b", "byPosition", "flatMap", "companions", "length", "some", "none", "chain"]
|
|
7
|
+
}
|