@dxos/plugin-deck 0.6.11 → 0.6.12-main.15a606f

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.
@@ -4,11 +4,10 @@ import {
4
4
  } from "./chunk-YVHGFQQR.mjs";
5
5
 
6
6
  // packages/plugins/plugin-deck/src/DeckPlugin.tsx
7
- import { ArrowsOut } from "@phosphor-icons/react";
8
7
  import { batch, effect } from "@preact/signals-core";
9
8
  import { setAutoFreeze } from "immer";
10
9
  import React15 from "react";
11
- import { IntentAction, LayoutAction as LayoutAction3, NavigationAction as NavigationAction3, parseGraphPlugin, parseIntentPlugin, resolvePlugin, Toast as ToastSchema, SLUG_PATH_SEPARATOR as SLUG_PATH_SEPARATOR5, isLayoutParts, isLayoutAdjustment, isLayoutMode, openIds as openIds2 } from "@dxos/app-framework";
10
+ import { IntentAction, LayoutAction as LayoutAction3, NavigationAction as NavigationAction3, parseGraphPlugin, parseIntentPlugin, resolvePlugin, Toast as ToastSchema, SLUG_PATH_SEPARATOR as SLUG_PATH_SEPARATOR4, isLayoutParts, isLayoutAdjustment, isLayoutMode, openIds as openIds2 } from "@dxos/app-framework";
12
11
  import { create, getTypename, isReactiveObject } from "@dxos/echo-schema";
13
12
  import { LocalStorageStore } from "@dxos/local-storage";
14
13
  import { log } from "@dxos/log";
@@ -26,9 +25,9 @@ var SURFACE_PREFIX = "surface:";
26
25
 
27
26
  // packages/plugins/plugin-deck/src/components/DeckLayout/DeckLayout.tsx
28
27
  import { Sidebar as MenuIcon } from "@phosphor-icons/react";
29
- import React13, { useCallback as useCallback2, useEffect as useEffect5, useMemo as useMemo2, useRef as useRef2, useState as useState3, useLayoutEffect as useLayoutEffect2 } from "react";
30
- import { SLUG_PATH_SEPARATOR as SLUG_PATH_SEPARATOR3, Surface as Surface9, firstIdInPart, usePlugin } from "@dxos/app-framework";
31
- import { Button as Button3, Dialog, Main as Main3, Popover as Popover2, useTranslation as useTranslation5 } from "@dxos/react-ui";
28
+ import React13, { useCallback as useCallback2, useEffect as useEffect5, useMemo as useMemo2, useRef as useRef2 } from "react";
29
+ import { Surface as Surface9, firstIdInPart, usePlugin } from "@dxos/app-framework";
30
+ import { Button as Button3, Dialog, Main as Main3, Popover as Popover2, useOnTransition, useTranslation as useTranslation5 } from "@dxos/react-ui";
32
31
  import { Deck } from "@dxos/react-ui-deck";
33
32
  import { getSize } from "@dxos/react-ui-theme";
34
33
 
@@ -40,8 +39,11 @@ import { useGraph } from "@dxos/plugin-graph";
40
39
  // packages/plugins/plugin-deck/src/hooks/useNode.ts
41
40
  import { useEffect, useState } from "react";
42
41
  var useNode = (graph, id, timeout) => {
43
- const [nodeState, setNodeState] = useState(id ? graph.findNode(id) : void 0);
42
+ const [nodeState, setNodeState] = useState(id ? graph.findNode(id, false) : void 0);
44
43
  useEffect(() => {
44
+ if (!id && nodeState) {
45
+ setNodeState(void 0);
46
+ }
45
47
  if (nodeState?.id === id || !id) {
46
48
  return;
47
49
  }
@@ -117,17 +119,16 @@ import React5 from "react";
117
119
  import { SLUG_PATH_SEPARATOR as SLUG_PATH_SEPARATOR2, Surface as Surface3 } from "@dxos/app-framework";
118
120
  import { useGraph as useGraph3 } from "@dxos/plugin-graph";
119
121
  import { Main } from "@dxos/react-ui";
120
- import { createAttendableAttributes } from "@dxos/react-ui-attention";
122
+ import { createAttendableAttributes, useAttendedIds } from "@dxos/react-ui-attention";
121
123
  import { deckGrid } from "@dxos/react-ui-deck";
122
124
  import { mx as mx2 } from "@dxos/react-ui-theme";
123
125
 
124
126
  // packages/plugins/plugin-deck/src/components/DeckLayout/NodePlankHeading.tsx
125
- import { Placeholder } from "@phosphor-icons/react";
126
127
  import React2, { Fragment, useEffect as useEffect3 } from "react";
127
- import { LayoutAction, NavigationAction, SLUG_COLLECTION_INDICATOR, SLUG_PATH_SEPARATOR, Surface as Surface2, useIntentDispatcher, indexInPart, partLength } from "@dxos/app-framework";
128
+ import { LayoutAction, NavigationAction, SLUG_PATH_SEPARATOR, Surface as Surface2, useIntentDispatcher, indexInPart, partLength } from "@dxos/app-framework";
128
129
  import { useGraph as useGraph2 } from "@dxos/plugin-graph";
129
- import { Popover, toLocalizedString, useMediaQuery, useTranslation } from "@dxos/react-ui";
130
- import { PlankHeading, plankHeadingIconProps } from "@dxos/react-ui-deck";
130
+ import { Icon, Popover, toLocalizedString, useMediaQuery, useTranslation } from "@dxos/react-ui";
131
+ import { PlankHeading } from "@dxos/react-ui-deck";
131
132
  import { TextTooltip } from "@dxos/react-ui-text-tooltip";
132
133
  var NodePlankHeading = ({
133
134
  node,
@@ -142,7 +143,7 @@ var NodePlankHeading = ({
142
143
  }) => {
143
144
  const { t } = useTranslation(DECK_PLUGIN);
144
145
  const { graph } = useGraph2();
145
- const Icon = node?.properties?.icon ?? Placeholder;
146
+ const icon = node?.properties?.icon ?? "ph--placeholder--regular";
146
147
  const label = pending ? t("pending heading") : toLocalizedString(node?.properties?.label ?? [
147
148
  "plank heading fallback label",
148
149
  {
@@ -172,7 +173,7 @@ var NodePlankHeading = ({
172
173
  return /* @__PURE__ */ React2.createElement(PlankHeading.Root, (layoutPart !== "main" || !flatDeck) && {
173
174
  classNames: "pie-1 border-b border-separator"
174
175
  }, /* @__PURE__ */ React2.createElement(ActionRoot, null, node ? /* @__PURE__ */ React2.createElement(PlankHeading.ActionsMenu, {
175
- Icon,
176
+ icon,
176
177
  attendableId,
177
178
  triggerLabel: t("actions menu label"),
178
179
  actions: graph.actions(node),
@@ -187,7 +188,10 @@ var NodePlankHeading = ({
187
188
  }
188
189
  })) : /* @__PURE__ */ React2.createElement(PlankHeading.Button, null, /* @__PURE__ */ React2.createElement("span", {
189
190
  className: "sr-only"
190
- }, label), /* @__PURE__ */ React2.createElement(Icon, plankHeadingIconProps))), /* @__PURE__ */ React2.createElement(TextTooltip, {
191
+ }, label), /* @__PURE__ */ React2.createElement(Icon, {
192
+ icon,
193
+ size: 5
194
+ }))), /* @__PURE__ */ React2.createElement(TextTooltip, {
191
195
  text: label,
192
196
  onlyWhenTruncating: true
193
197
  }, /* @__PURE__ */ React2.createElement(PlankHeading.Label, {
@@ -237,9 +241,6 @@ var NodePlankHeading = ({
237
241
  action: NavigationAction.CLOSE,
238
242
  data: {
239
243
  activeParts: {
240
- complementary: [
241
- `${id}${SLUG_PATH_SEPARATOR}comments${SLUG_COLLECTION_INDICATOR}`
242
- ],
243
244
  [layoutPart]: [
244
245
  id
245
246
  ]
@@ -253,7 +254,7 @@ var NodePlankHeading = ({
253
254
  }
254
255
  });
255
256
  },
256
- close: layoutCoordinate?.part === "complementary" ? "minify-end" : true
257
+ close: layoutPart === "complementary" ? "minify-end" : true
257
258
  }));
258
259
  };
259
260
 
@@ -314,13 +315,15 @@ var LayoutContext = createContext(null);
314
315
  var useLayout = () => useContext(LayoutContext) ?? raise(new Error("Missing LayoutContext"));
315
316
 
316
317
  // packages/plugins/plugin-deck/src/components/DeckLayout/ComplementarySidebar.tsx
317
- var ComplementarySidebar = ({ id, layoutParts, flatDeck }) => {
318
+ var ComplementarySidebar = ({ context, layoutParts, flatDeck }) => {
318
319
  const { popoverAnchorId } = useLayout();
320
+ const attended = useAttendedIds();
321
+ const id = attended[0] ? `${attended[0]}${SLUG_PATH_SEPARATOR2}${context}` : void 0;
319
322
  const { graph } = useGraph3();
320
323
  const node = useNode(graph, id);
321
324
  const complementaryAttrs = createAttendableAttributes(id?.split(SLUG_PATH_SEPARATOR2)[0] ?? "never");
322
325
  useNodeActionExpander(node);
323
- return /* @__PURE__ */ React5.createElement(Main.ComplementarySidebar, complementaryAttrs, node ? /* @__PURE__ */ React5.createElement("div", {
326
+ return /* @__PURE__ */ React5.createElement(Main.ComplementarySidebar, complementaryAttrs, /* @__PURE__ */ React5.createElement("div", {
324
327
  role: "none",
325
328
  className: mx2(deckGrid, "grid-cols-1 bs-full")
326
329
  }, /* @__PURE__ */ React5.createElement(NodePlankHeading, {
@@ -330,7 +333,7 @@ var ComplementarySidebar = ({ id, layoutParts, flatDeck }) => {
330
333
  layoutPart: "complementary",
331
334
  popoverAnchorId,
332
335
  flatDeck
333
- }), /* @__PURE__ */ React5.createElement(Surface3, {
336
+ }), node && /* @__PURE__ */ React5.createElement(Surface3, {
334
337
  role: "article",
335
338
  data: {
336
339
  subject: node.data,
@@ -340,7 +343,7 @@ var ComplementarySidebar = ({ id, layoutParts, flatDeck }) => {
340
343
  limit: 1,
341
344
  fallback: PlankContentError,
342
345
  placeholder: /* @__PURE__ */ React5.createElement(PlankLoading, null)
343
- })) : null);
346
+ })));
344
347
  };
345
348
 
346
349
  // packages/plugins/plugin-deck/src/components/DeckLayout/ContentEmpty.tsx
@@ -681,11 +684,16 @@ var DeckLayout = ({ layoutParts, attention, toasts, flatDeck, overscroll, showHi
681
684
  const fullScreenSlug = useMemo2(() => firstIdInPart(layoutParts, "fullScreen"), [
682
685
  layoutParts
683
686
  ]);
684
- const [scrollLeft, setScrollLeft] = useState3(null);
687
+ const scrollLeftRef = useRef2();
685
688
  const deckRef = useRef2(null);
686
- const restoreScrollRef = useRef2(false);
689
+ useEffect5(() => {
690
+ const firstId = layoutMode === "solo" ? firstIdInPart(layoutParts, "solo") : firstIdInPart(layoutParts, "main");
691
+ if (attention.attended.size === 0 && firstId) {
692
+ document.querySelector(`article[data-attendable-id="${firstId}"] button`)?.focus();
693
+ }
694
+ }, []);
687
695
  const handleResize = useCallback2(() => {
688
- setScrollLeft(null);
696
+ scrollLeftRef.current = null;
689
697
  }, []);
690
698
  useEffect5(() => {
691
699
  window.addEventListener("resize", handleResize);
@@ -693,33 +701,19 @@ var DeckLayout = ({ layoutParts, attention, toasts, flatDeck, overscroll, showHi
693
701
  }, [
694
702
  handleResize
695
703
  ]);
696
- useLayoutEffect2(() => {
697
- if (layoutMode !== "deck") {
698
- restoreScrollRef.current = true;
699
- } else if (restoreScrollRef.current && deckRef.current && scrollLeft) {
700
- deckRef.current.scrollLeft = scrollLeft;
701
- restoreScrollRef.current = false;
704
+ const restoreScroll = useCallback2(() => {
705
+ if (deckRef.current && scrollLeftRef.current != null) {
706
+ deckRef.current.scrollLeft = scrollLeftRef.current;
702
707
  }
703
- }, [
704
- layoutMode,
705
- deckRef.current,
706
- scrollLeft
707
- ]);
708
+ }, []);
709
+ useOnTransition(layoutMode, (mode) => mode !== "deck", "deck", restoreScroll);
708
710
  const handleScroll = useCallback2((event) => {
709
711
  if (layoutMode === "deck" && event.currentTarget === event.target) {
710
- setScrollLeft(event.target.scrollLeft);
712
+ scrollLeftRef.current = event.target.scrollLeft;
711
713
  }
712
714
  }, [
713
715
  layoutMode
714
716
  ]);
715
- const complementarySlug = useMemo2(() => {
716
- const entry = layoutParts.complementary?.at(0);
717
- if (entry) {
718
- return entry.path ? `${entry.id}${SLUG_PATH_SEPARATOR3}${entry.path}` : entry.id;
719
- }
720
- }, [
721
- layoutParts
722
- ]);
723
717
  const firstAttendedId = useMemo2(() => Array.from(attention.attended ?? [])[0], [
724
718
  attention.attended
725
719
  ]);
@@ -744,7 +738,19 @@ var DeckLayout = ({ layoutParts, attention, toasts, flatDeck, overscroll, showHi
744
738
  layoutParts.main,
745
739
  layoutParts.solo
746
740
  ]);
747
- const padding = layoutMode === "deck" && overscroll === "centering" ? calculateOverscroll(layoutParts.main, plankSizing, sidebarOpen, complementarySidebarOpen) : {};
741
+ const padding = useMemo2(() => {
742
+ if (layoutMode === "deck" && overscroll === "centering") {
743
+ return calculateOverscroll(layoutParts.main, plankSizing, sidebarOpen, complementarySidebarOpen);
744
+ }
745
+ return {};
746
+ }, [
747
+ layoutMode,
748
+ overscroll,
749
+ layoutParts.main,
750
+ plankSizing,
751
+ sidebarOpen,
752
+ complementarySidebarOpen
753
+ ]);
748
754
  if (layoutMode === "fullscreen") {
749
755
  return /* @__PURE__ */ React13.createElement(Fullscreen, {
750
756
  id: fullScreenSlug
@@ -766,19 +772,13 @@ var DeckLayout = ({ layoutParts, attention, toasts, flatDeck, overscroll, showHi
766
772
  }), /* @__PURE__ */ React13.createElement(Main3.Root, {
767
773
  navigationSidebarOpen: context.sidebarOpen,
768
774
  onNavigationSidebarOpenChange: (next) => context.sidebarOpen = next,
769
- ...complementarySidebarOpen !== null && {
770
- complementarySidebarOpen: (
771
- /* complementaryAvailable && */
772
- context.complementarySidebarOpen
773
- ),
774
- onComplementarySidebarOpenChange: (next) => context.complementarySidebarOpen = next
775
- }
775
+ complementarySidebarOpen: context.complementarySidebarOpen,
776
+ onComplementarySidebarOpenChange: (next) => context.complementarySidebarOpen = next
776
777
  }, /* @__PURE__ */ React13.createElement(Main3.Notch, {
777
778
  classNames: "z-[21]"
778
779
  }, /* @__PURE__ */ React13.createElement(Surface9, {
779
780
  role: "notch-start"
780
781
  }), /* @__PURE__ */ React13.createElement(Button3, {
781
- // disabled={!sidebarAvailable}
782
782
  onClick: () => context.sidebarOpen = !context.sidebarOpen,
783
783
  variant: "ghost",
784
784
  classNames: "p-1"
@@ -788,7 +788,6 @@ var DeckLayout = ({ layoutParts, attention, toasts, flatDeck, overscroll, showHi
788
788
  weight: "light",
789
789
  className: getSize(5)
790
790
  })), /* @__PURE__ */ React13.createElement(Button3, {
791
- // disabled={!complementaryAvailable}
792
791
  onClick: () => context.complementarySidebarOpen = !context.complementarySidebarOpen,
793
792
  variant: "ghost",
794
793
  classNames: "p-1"
@@ -804,7 +803,7 @@ var DeckLayout = ({ layoutParts, attention, toasts, flatDeck, overscroll, showHi
804
803
  attention,
805
804
  layoutParts
806
805
  }), /* @__PURE__ */ React13.createElement(ComplementarySidebar, {
807
- id: complementarySlug,
806
+ context: "comments",
808
807
  layoutParts,
809
808
  flatDeck
810
809
  }), /* @__PURE__ */ React13.createElement(Main3.Overlay, null), parts.length === 0 && /* @__PURE__ */ React13.createElement(Main3.Content, {
@@ -932,7 +931,7 @@ var LayoutSettings = ({ settings }) => {
932
931
 
933
932
  // packages/plugins/plugin-deck/src/layout.ts
934
933
  import { produce } from "immer";
935
- import { SLUG_ENTRY_SEPARATOR, SLUG_KEY_VALUE_SEPARATOR, SLUG_LIST_SEPARATOR, SLUG_PATH_SEPARATOR as SLUG_PATH_SEPARATOR4 } from "@dxos/app-framework";
934
+ import { SLUG_ENTRY_SEPARATOR, SLUG_KEY_VALUE_SEPARATOR, SLUG_LIST_SEPARATOR, SLUG_PATH_SEPARATOR as SLUG_PATH_SEPARATOR3 } from "@dxos/app-framework";
936
935
  var partsThatSupportIncrement = [
937
936
  "main"
938
937
  ];
@@ -1045,7 +1044,7 @@ var mergeLayoutParts = (...layoutParts) => {
1045
1044
  }), {});
1046
1045
  };
1047
1046
  var parseLayoutEntry = (itemString) => {
1048
- const [id, path] = itemString.split(SLUG_PATH_SEPARATOR4);
1047
+ const [id, path] = itemString.split(SLUG_PATH_SEPARATOR3);
1049
1048
  const entry = {
1050
1049
  id
1051
1050
  };
@@ -1072,7 +1071,7 @@ var soloPartToUri = (layout) => {
1072
1071
  return "";
1073
1072
  }
1074
1073
  const entry = soloPart[0];
1075
- return `${entry.id}${entry.path ? SLUG_PATH_SEPARATOR4 + entry.path : ""}`;
1074
+ return `${entry.id}${entry.path ? SLUG_PATH_SEPARATOR3 + entry.path : ""}`;
1076
1075
  };
1077
1076
 
1078
1077
  // packages/plugins/plugin-deck/src/translations.ts
@@ -1227,6 +1226,20 @@ var DeckPlugin = ({ observability } = {}) => {
1227
1226
  }
1228
1227
  }
1229
1228
  };
1229
+ const handleSetLocation = (next) => {
1230
+ if (attentionPlugin) {
1231
+ const attended = attentionPlugin.provides.attention.attended;
1232
+ const [attendedId] = Array.from(attended);
1233
+ const ids = (layout.values.layoutMode === "deck" ? next.main : next.solo)?.map(({ id }) => id) ?? [];
1234
+ const isAttendedAvailable = !!attendedId && ids.includes(attendedId);
1235
+ if (!isAttendedAvailable) {
1236
+ const nextAttended = next.main?.[0]?.id;
1237
+ const article = document.querySelector(`article[data-attendable-id="${nextAttended}"]`);
1238
+ article?.focus();
1239
+ }
1240
+ }
1241
+ location.values.active = next;
1242
+ };
1230
1243
  return {
1231
1244
  meta: meta_default,
1232
1245
  ready: async (plugins) => {
@@ -1301,13 +1314,13 @@ var DeckPlugin = ({ observability } = {}) => {
1301
1314
  handleNavigation = async () => {
1302
1315
  const pathname = window.location.pathname;
1303
1316
  if (pathname === "/reset") {
1304
- location.values.active = {
1317
+ handleSetLocation({
1305
1318
  sidebar: [
1306
1319
  {
1307
1320
  id: NAV_ID
1308
1321
  }
1309
1322
  ]
1310
- };
1323
+ });
1311
1324
  location.values.closed = [];
1312
1325
  layout.values.layoutMode = "solo";
1313
1326
  window.location.pathname = "/";
@@ -1318,7 +1331,7 @@ var DeckPlugin = ({ observability } = {}) => {
1318
1331
  return;
1319
1332
  }
1320
1333
  const startingLayout = removePart(location.values.active, "solo");
1321
- location.values.active = mergeLayoutParts(layoutFromUri, startingLayout);
1334
+ handleSetLocation(mergeLayoutParts(layoutFromUri, startingLayout));
1322
1335
  layout.values.layoutMode = "solo";
1323
1336
  };
1324
1337
  await handleNavigation();
@@ -1380,8 +1393,7 @@ var DeckPlugin = ({ observability } = {}) => {
1380
1393
  ns: DECK_PLUGIN
1381
1394
  }
1382
1395
  ],
1383
- icon: (props) => /* @__PURE__ */ React15.createElement(ArrowsOut, props),
1384
- iconSymbol: "ph--arrows-out--regular",
1396
+ icon: "ph--arrows-out--regular",
1385
1397
  keyBinding: {
1386
1398
  macos: "ctrl+meta+f",
1387
1399
  windows: "shift+ctrl+f"
@@ -1455,7 +1467,7 @@ var DeckPlugin = ({ observability } = {}) => {
1455
1467
  } else {
1456
1468
  log.warn("Invalid layout mode", intent?.data?.layoutMode, {
1457
1469
  F: __dxlog_file,
1458
- L: 390,
1470
+ L: 415,
1459
1471
  S: void 0,
1460
1472
  C: (f, a) => f(...a)
1461
1473
  });
@@ -1510,7 +1522,7 @@ var DeckPlugin = ({ observability } = {}) => {
1510
1522
  }
1511
1523
  const processLayoutEntry = (partName, entryString, currentLayout) => {
1512
1524
  const toggle = true;
1513
- const [id, path] = entryString.split(SLUG_PATH_SEPARATOR5);
1525
+ const [id, path] = entryString.split(SLUG_PATH_SEPARATOR4);
1514
1526
  const layoutEntry = {
1515
1527
  id,
1516
1528
  ...path ? {
@@ -1539,7 +1551,7 @@ var DeckPlugin = ({ observability } = {}) => {
1539
1551
  newLayout = processLayoutEntry(partName, layoutEntries, newLayout);
1540
1552
  }
1541
1553
  });
1542
- location.values.active = newLayout;
1554
+ handleSetLocation(newLayout);
1543
1555
  });
1544
1556
  const ids = openIds2(location.values.active);
1545
1557
  const newlyOpen = ids.filter((i) => !previouslyOpenIds.has(i));
@@ -1587,10 +1599,10 @@ var DeckPlugin = ({ observability } = {}) => {
1587
1599
  id: data.id
1588
1600
  };
1589
1601
  const effectivePart = getEffectivePart(data.part, layout.values.layoutMode);
1590
- location.values.active = openEntry(location.values.active, effectivePart, layoutEntry, {
1602
+ handleSetLocation(openEntry(location.values.active, effectivePart, layoutEntry, {
1591
1603
  positioning: data.positioning ?? settings.values.newPlankPositioning,
1592
1604
  pivotId: data.pivotId
1593
- });
1605
+ }));
1594
1606
  const intents = [];
1595
1607
  if (data.scrollIntoView && layout.values.layoutMode === "deck") {
1596
1608
  intents.push([
@@ -1632,7 +1644,7 @@ var DeckPlugin = ({ observability } = {}) => {
1632
1644
  });
1633
1645
  }
1634
1646
  });
1635
- location.values.active = newLayout;
1647
+ handleSetLocation(newLayout);
1636
1648
  return {
1637
1649
  data: true
1638
1650
  };
@@ -1642,7 +1654,7 @@ var DeckPlugin = ({ observability } = {}) => {
1642
1654
  case NavigationAction3.SET: {
1643
1655
  return batch(() => {
1644
1656
  if (isLayoutParts(intent.data?.activeParts)) {
1645
- location.values.active = intent.data.activeParts;
1657
+ handleSetLocation(intent.data.activeParts);
1646
1658
  }
1647
1659
  return {
1648
1660
  data: true
@@ -1654,10 +1666,10 @@ var DeckPlugin = ({ observability } = {}) => {
1654
1666
  if (isLayoutAdjustment(intent.data)) {
1655
1667
  const adjustment = intent.data;
1656
1668
  if (adjustment.type === "increment-end" || adjustment.type === "increment-start") {
1657
- location.values.active = incrementPlank(location.values.active, {
1669
+ handleSetLocation(incrementPlank(location.values.active, {
1658
1670
  type: adjustment.type,
1659
1671
  layoutCoordinate: adjustment.layoutCoordinate
1660
- });
1672
+ }));
1661
1673
  }
1662
1674
  if (adjustment.type === "solo") {
1663
1675
  const entryId = adjustment.layoutCoordinate.entryId;