@window-splitter/state 1.1.0 → 1.1.1
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/.turbo/turbo-build.log +1 -1
- package/.turbo/turbo-lint.log +1 -1
- package/.turbo/turbo-test.log +45 -137
- package/CHANGELOG.md +25 -0
- package/dist/commonjs/index.d.ts +3 -0
- package/dist/commonjs/index.d.ts.map +1 -1
- package/dist/commonjs/index.js +86 -11
- package/dist/commonjs/index.js.map +1 -1
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +86 -11
- package/dist/esm/index.js.map +1 -1
- package/package.json +3 -3
- package/src/index.ts +139 -12
- package/src/machine.test.ts +277 -0
- package/src/utils.test.ts +28 -1
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
|
@@ -81,6 +81,9 @@ export function prepareSnapshot(snapshot) {
|
|
|
81
81
|
item.currentValue.value = new Big(item.currentValue.value);
|
|
82
82
|
item.collapsedSize.value = new Big(item.collapsedSize.value);
|
|
83
83
|
item.min.value = new Big(item.min.value);
|
|
84
|
+
if (item.default) {
|
|
85
|
+
item.default.value = new Big(item.default.value);
|
|
86
|
+
}
|
|
84
87
|
if (item.max && item.max !== "1fr") {
|
|
85
88
|
item.max.value = new Big(item.max.value);
|
|
86
89
|
}
|
|
@@ -292,6 +295,20 @@ export function getCollapsiblePanelForHandleId(context, handleId) {
|
|
|
292
295
|
*/
|
|
293
296
|
function getHandleForPanelId(context, panelId) {
|
|
294
297
|
const panelIndex = context.items.findIndex((item) => item.id === panelId);
|
|
298
|
+
// When in controlled collapse mode we defer to the controlled state to know if we need to update.
|
|
299
|
+
// The confirmation comes along as an expand/collapse event.
|
|
300
|
+
// The default behavior is to find the closes handle and use that to collapse, if we're dragging some other
|
|
301
|
+
// handle though we want to use that instead. This will results in a smoother visual experience.
|
|
302
|
+
if (context.activeDragHandleId) {
|
|
303
|
+
const handleIndex = getPanelHandleIndex(context, context.activeDragHandleId);
|
|
304
|
+
const item = context.items[handleIndex];
|
|
305
|
+
if (item && isPanelHandle(item)) {
|
|
306
|
+
return {
|
|
307
|
+
item,
|
|
308
|
+
direction: handleIndex > panelIndex ? 1 : -1,
|
|
309
|
+
};
|
|
310
|
+
}
|
|
311
|
+
}
|
|
295
312
|
invariant(panelIndex !== -1, `Expected panel before: ${panelId}`);
|
|
296
313
|
let item = context.items[panelIndex + 1];
|
|
297
314
|
if (item && isPanelHandle(item)) {
|
|
@@ -303,6 +320,23 @@ function getHandleForPanelId(context, panelId) {
|
|
|
303
320
|
}
|
|
304
321
|
throw new Error(`Cant find handle for panel: ${panelId}`);
|
|
305
322
|
}
|
|
323
|
+
function getHandleForPanelIdWithAvailableSpace(context, panelId) {
|
|
324
|
+
const panelIndex = context.items.findIndex((item) => item.id === panelId);
|
|
325
|
+
invariant(panelIndex !== -1, `Expected panel before: ${panelId}`);
|
|
326
|
+
let item = context.items[panelIndex + 1];
|
|
327
|
+
if (item &&
|
|
328
|
+
isPanelHandle(item) &&
|
|
329
|
+
findPanelWithSpace(context, context.items, panelIndex + 1, 1, "add")) {
|
|
330
|
+
return { item, direction: 1 };
|
|
331
|
+
}
|
|
332
|
+
item = context.items[panelIndex - 1];
|
|
333
|
+
if (item &&
|
|
334
|
+
isPanelHandle(item) &&
|
|
335
|
+
findPanelWithSpace(context, context.items, panelIndex - 1, -1, "add")) {
|
|
336
|
+
return { item, direction: -1 };
|
|
337
|
+
}
|
|
338
|
+
return getHandleForPanelId(context, panelId);
|
|
339
|
+
}
|
|
306
340
|
/** Given the specified order props and default order of the items, order the items */
|
|
307
341
|
function sortWithOrder(items) {
|
|
308
342
|
const defaultPlacement = {};
|
|
@@ -333,8 +367,8 @@ function sortWithOrder(items) {
|
|
|
333
367
|
/** Check if the panel has space available to add to */
|
|
334
368
|
function panelHasSpace(context, item, adjustment) {
|
|
335
369
|
invariant(item.currentValue.type === "pixel", `panelHasSpace only works with number values: ${item.id} ${item.currentValue}`);
|
|
336
|
-
if (item.collapsible
|
|
337
|
-
return
|
|
370
|
+
if (item.collapsible) {
|
|
371
|
+
return !item.collapsed;
|
|
338
372
|
}
|
|
339
373
|
if (adjustment === "add") {
|
|
340
374
|
return (item.currentValue.value.gte(getUnitPixelValue(context, item.min)) &&
|
|
@@ -578,7 +612,15 @@ function updateLayout(context, dragEvent) {
|
|
|
578
612
|
};
|
|
579
613
|
}
|
|
580
614
|
invariant(isPanelData(panelBefore), `Expected panel before: ${handle.id}`);
|
|
581
|
-
|
|
615
|
+
/** The panel that gets bigger */
|
|
616
|
+
const panelAfter = dragEvent.type === "collapsePanel"
|
|
617
|
+
? // If we have the panel id just use that
|
|
618
|
+
newItems.find((item) => item.id === dragEvent.panelId &&
|
|
619
|
+
panelBefore.id !== dragEvent.panelId) ||
|
|
620
|
+
// otherwise fallback to the next panel with space
|
|
621
|
+
findPanelWithSpace(context, newItems, handleIndex - moveDirection, moveDirection * -1, "add", dragEvent.disregardCollapseBuffer) ||
|
|
622
|
+
newItems[handleIndex - moveDirection]
|
|
623
|
+
: newItems[handleIndex - moveDirection];
|
|
582
624
|
invariant(panelAfter && isPanelData(panelAfter), `Expected panel after: ${handle.id}`);
|
|
583
625
|
if (panelAfter.currentValue.value.eq(getUnitPixelValue(context, panelAfter.max))) {
|
|
584
626
|
return {
|
|
@@ -587,7 +629,7 @@ function updateLayout(context, dragEvent) {
|
|
|
587
629
|
}
|
|
588
630
|
const newDragOvershoot = context.dragOvershoot.add(moveAmount);
|
|
589
631
|
// Don't let the panel expand until the threshold is reached
|
|
590
|
-
if (!dragEvent.disregardCollapseBuffer) {
|
|
632
|
+
if (!dragEvent.disregardCollapseBuffer && !dragEvent.controlled) {
|
|
591
633
|
const isInLeftBuffer = newDragOvershoot.lt(0) && moveDirection > 0;
|
|
592
634
|
const isInLeftOvershoot = newDragOvershoot.gt(0) && moveDirection > 0;
|
|
593
635
|
const isInRightBuffer = newDragOvershoot.gt(0) && moveDirection < 0;
|
|
@@ -612,6 +654,7 @@ function updateLayout(context, dragEvent) {
|
|
|
612
654
|
}
|
|
613
655
|
// Don't let the panel collapse until the threshold is reached
|
|
614
656
|
if (!dragEvent.disregardCollapseBuffer &&
|
|
657
|
+
!dragEvent.controlled &&
|
|
615
658
|
panelBefore.collapsible &&
|
|
616
659
|
panelBefore.currentValue.value.eq(getUnitPixelValue(context, panelBefore.min))) {
|
|
617
660
|
const potentialNewValue = panelBefore.currentValue.value.sub(newDragOvershoot.abs());
|
|
@@ -670,7 +713,8 @@ function updateLayout(context, dragEvent) {
|
|
|
670
713
|
.minus(panelAfterPreviousValue)
|
|
671
714
|
// And then re-apply the movement value
|
|
672
715
|
.minus(Math.abs(moveAmount)));
|
|
673
|
-
if (panelBeforeNewValue.lt(panelBefore.min.value)
|
|
716
|
+
if (panelBeforeNewValue.lt(panelBefore.min.value) &&
|
|
717
|
+
!panelBefore.collapsible) {
|
|
674
718
|
// TODO this should probably distribute the space between the panels?
|
|
675
719
|
return { dragOvershoot: newDragOvershoot };
|
|
676
720
|
}
|
|
@@ -698,7 +742,7 @@ function updateLayout(context, dragEvent) {
|
|
|
698
742
|
panelBefore.collapsed = true;
|
|
699
743
|
panelBeforeNewValue = getUnitPixelValue(context, panelBefore.collapsedSize);
|
|
700
744
|
// Add the extra space created to the before panel
|
|
701
|
-
panelAfterNewValue =
|
|
745
|
+
panelAfterNewValue = panelAfter.currentValue.value.add(panelBeforePreviousValue.minus(panelBeforeNewValue));
|
|
702
746
|
if (panelBefore.onCollapseChange?.current &&
|
|
703
747
|
!panelBefore.collapseIsControlled &&
|
|
704
748
|
!dragEvent.controlled &&
|
|
@@ -757,7 +801,7 @@ export function dragHandlePayload({ delta, orientation = "horizontal", shiftKey
|
|
|
757
801
|
};
|
|
758
802
|
}
|
|
759
803
|
/** Iteratively applies a large delta value simulating a user's drag */
|
|
760
|
-
function iterativelyUpdateLayout({ context, handleId, delta, direction, controlled, disregardCollapseBuffer, isVirtual, }) {
|
|
804
|
+
function iterativelyUpdateLayout({ context, handleId, delta, direction, controlled, disregardCollapseBuffer, isVirtual, panelId, }) {
|
|
761
805
|
let newContext = context;
|
|
762
806
|
for (let i = 0; i < delta.abs().toNumber(); i++) {
|
|
763
807
|
newContext = updateLayout({
|
|
@@ -769,6 +813,7 @@ function iterativelyUpdateLayout({ context, handleId, delta, direction, controll
|
|
|
769
813
|
controlled,
|
|
770
814
|
disregardCollapseBuffer,
|
|
771
815
|
isVirtual,
|
|
816
|
+
panelId,
|
|
772
817
|
value: dragHandlePayload({
|
|
773
818
|
delta: direction,
|
|
774
819
|
orientation: context.orientation,
|
|
@@ -842,6 +887,7 @@ function handleOverflow(context) {
|
|
|
842
887
|
handleId: handleId.item.id,
|
|
843
888
|
delta: sizeChange,
|
|
844
889
|
direction: (handleId.direction * -1),
|
|
890
|
+
panelId: collapsiblePanel.id,
|
|
845
891
|
context: {
|
|
846
892
|
...newContext,
|
|
847
893
|
// act like its the old size so the space is distributed correctly
|
|
@@ -870,9 +916,18 @@ function getDeltaForEvent(context, event) {
|
|
|
870
916
|
}
|
|
871
917
|
function animationActor(context, event, send, abortController) {
|
|
872
918
|
const panel = getPanelWithId(context, event.panelId);
|
|
873
|
-
const handle =
|
|
919
|
+
const handle = getHandleForPanelIdWithAvailableSpace(context, event.panelId);
|
|
874
920
|
let direction = new Big(handle.direction);
|
|
875
921
|
const fullDelta = getDeltaForEvent(context, event);
|
|
922
|
+
const contextCopy = { ...context, items: prepareItems(context) };
|
|
923
|
+
const finalLayout = iterativelyUpdateLayout({
|
|
924
|
+
context: contextCopy,
|
|
925
|
+
panelId: event.panelId,
|
|
926
|
+
handleId: handle.item.id,
|
|
927
|
+
delta: fullDelta,
|
|
928
|
+
direction: handle.direction,
|
|
929
|
+
isVirtual: true,
|
|
930
|
+
});
|
|
876
931
|
return new Promise((resolve, reject) => {
|
|
877
932
|
abortController.signal.addEventListener("abort", () => {
|
|
878
933
|
reject(new Error("Operation was canceled"));
|
|
@@ -894,6 +949,7 @@ function animationActor(context, event, send, abortController) {
|
|
|
894
949
|
type: "applyDelta",
|
|
895
950
|
handleId: handle.item.id,
|
|
896
951
|
delta: delta.toNumber(),
|
|
952
|
+
panelId: panel.id,
|
|
897
953
|
});
|
|
898
954
|
appliedDelta = appliedDelta.add(delta
|
|
899
955
|
.abs()
|
|
@@ -901,8 +957,15 @@ function animationActor(context, event, send, abortController) {
|
|
|
901
957
|
? -1
|
|
902
958
|
: 1));
|
|
903
959
|
if (e.eq(1)) {
|
|
960
|
+
// If we're controlled expanding to a value that breaks the layout we might get negative values
|
|
961
|
+
// In this case we need to use a valid layout like `iterativelyUpdateLayout`'s return value
|
|
962
|
+
// Ideally we figure out some way to not do this but disregardCollapseBuffer is needed for animations
|
|
963
|
+
if (context.items.find((i) => isPanelData(i) &&
|
|
964
|
+
i.currentValue.value.round(undefined, Big.roundHalfEven).lt(0))) {
|
|
965
|
+
assign(context, finalLayout);
|
|
966
|
+
}
|
|
904
967
|
const action = event.type === "expandPanel" ? "expand" : "collapse";
|
|
905
|
-
resolve({ panelId: panel.id, action });
|
|
968
|
+
resolve({ panelId: panel.id, action, resolve: event.resolve });
|
|
906
969
|
return false;
|
|
907
970
|
}
|
|
908
971
|
return true;
|
|
@@ -1001,6 +1064,7 @@ export function groupMachine(input, onUpdate) {
|
|
|
1001
1064
|
? handle.direction * -1
|
|
1002
1065
|
: handle.direction;
|
|
1003
1066
|
const newContext = updateLayout(context, {
|
|
1067
|
+
panelId: event.panelId,
|
|
1004
1068
|
handleId: handle.item.id,
|
|
1005
1069
|
type: "dragHandle",
|
|
1006
1070
|
controlled: event.controlled,
|
|
@@ -1038,14 +1102,15 @@ export function groupMachine(input, onUpdate) {
|
|
|
1038
1102
|
},
|
|
1039
1103
|
cannotExpandPanel: (event) => {
|
|
1040
1104
|
isEvent(event, ["expandPanel"]);
|
|
1041
|
-
const delta = getDeltaForEvent(context, event);
|
|
1042
|
-
const handle = getHandleForPanelId(context, event.panelId);
|
|
1043
1105
|
const pixelItems = prepareItems(context);
|
|
1044
1106
|
let interimContext = { ...context, items: pixelItems };
|
|
1107
|
+
const delta = getDeltaForEvent(context, event);
|
|
1108
|
+
const handle = getHandleForPanelIdWithAvailableSpace(interimContext, event.panelId);
|
|
1045
1109
|
interimContext = {
|
|
1046
1110
|
...interimContext,
|
|
1047
1111
|
...iterativelyUpdateLayout({
|
|
1048
1112
|
context: interimContext,
|
|
1113
|
+
panelId: event.panelId,
|
|
1049
1114
|
handleId: handle.item.id,
|
|
1050
1115
|
controlled: event.controlled,
|
|
1051
1116
|
delta: delta,
|
|
@@ -1083,6 +1148,7 @@ export function groupMachine(input, onUpdate) {
|
|
|
1083
1148
|
break;
|
|
1084
1149
|
}
|
|
1085
1150
|
state.current = to;
|
|
1151
|
+
onUpdate?.(context);
|
|
1086
1152
|
}
|
|
1087
1153
|
function send(event) {
|
|
1088
1154
|
switch (event.type) {
|
|
@@ -1262,8 +1328,10 @@ export function groupMachine(input, onUpdate) {
|
|
|
1262
1328
|
const delta = isBigger
|
|
1263
1329
|
? newSize.minus(current)
|
|
1264
1330
|
: current.minus(newSize);
|
|
1331
|
+
panel.sizeBeforeCollapse = newSize.toNumber();
|
|
1265
1332
|
Object.assign(context, iterativelyUpdateLayout({
|
|
1266
1333
|
context,
|
|
1334
|
+
panelId: event.panelId,
|
|
1267
1335
|
direction: (handle.direction * (isBigger ? 1 : -1)),
|
|
1268
1336
|
handleId: handle.item.id,
|
|
1269
1337
|
delta,
|
|
@@ -1285,6 +1353,9 @@ export function groupMachine(input, onUpdate) {
|
|
|
1285
1353
|
animationActor(context, event, send, abortController).then((output) => {
|
|
1286
1354
|
actions.onAnimationEnd(output);
|
|
1287
1355
|
transition("idle");
|
|
1356
|
+
if (event.resolve) {
|
|
1357
|
+
requestAnimationFrame(event.resolve);
|
|
1358
|
+
}
|
|
1288
1359
|
});
|
|
1289
1360
|
}
|
|
1290
1361
|
}
|
|
@@ -1304,6 +1375,9 @@ export function groupMachine(input, onUpdate) {
|
|
|
1304
1375
|
animationActor(context, event, send, abortController).then((output) => {
|
|
1305
1376
|
actions.onAnimationEnd(output);
|
|
1306
1377
|
transition("idle");
|
|
1378
|
+
if (event.resolve) {
|
|
1379
|
+
requestAnimationFrame(event.resolve);
|
|
1380
|
+
}
|
|
1307
1381
|
});
|
|
1308
1382
|
}
|
|
1309
1383
|
}
|
|
@@ -1334,6 +1408,7 @@ export function groupMachine(input, onUpdate) {
|
|
|
1334
1408
|
switch (event.type) {
|
|
1335
1409
|
case "applyDelta":
|
|
1336
1410
|
assign(context, updateLayout(context, {
|
|
1411
|
+
panelId: event.panelId,
|
|
1337
1412
|
handleId: event.handleId,
|
|
1338
1413
|
type: "collapsePanel",
|
|
1339
1414
|
disregardCollapseBuffer: true,
|