Skip to content

Commit 67468ab

Browse files
committed
Add item zIndex preserving based on the order of items
1 parent ecc4512 commit 67468ab

1 file changed

Lines changed: 15 additions & 7 deletions

File tree

packages/react-native-sortables/src/providers/shared/hooks/useItemZIndex.ts

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,26 @@ export default function useItemZIndex(
77
key: string,
88
activationAnimationProgress: SharedValue<number>
99
): SharedValue<number> {
10-
const { activeItemKey, prevActiveItemKey } = useCommonValuesContext();
10+
const { activeItemKey, indexToKey, keyToIndex, prevActiveItemKey } =
11+
useCommonValuesContext();
1112

1213
return useDerivedValue<number>(() => {
14+
const itemCount = indexToKey.value.length;
15+
1316
if (activeItemKey.value === key) {
14-
return 3;
15-
}
16-
if (prevActiveItemKey.value === key) {
17-
return 2;
17+
return 2 * itemCount;
1818
}
19+
20+
const orderZIndex = keyToIndex.value[key] ?? 0;
21+
1922
if (activationAnimationProgress.value > 0) {
20-
return 1;
23+
if (prevActiveItemKey.value === key) {
24+
return 2 * itemCount - 1;
25+
}
26+
27+
return itemCount + orderZIndex;
2128
}
22-
return 0;
29+
30+
return orderZIndex;
2331
});
2432
}

0 commit comments

Comments
 (0)