From 75dd95b3e0e00283e1827be4d5f875d361b20395 Mon Sep 17 00:00:00 2001 From: Eric Ribeiro Date: Sat, 17 Apr 2021 14:36:21 -0700 Subject: [PATCH] fix: Fix automatic sort of `Composite` items in fixed containers --- .../src/Composite/__utils/useSortBasedOnDOMPosition.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/reakit/src/Composite/__utils/useSortBasedOnDOMPosition.ts b/packages/reakit/src/Composite/__utils/useSortBasedOnDOMPosition.ts index f117b78d..771e6f73 100644 --- a/packages/reakit/src/Composite/__utils/useSortBasedOnDOMPosition.ts +++ b/packages/reakit/src/Composite/__utils/useSortBasedOnDOMPosition.ts @@ -5,7 +5,7 @@ import { Item } from "./types"; type SetItems = (items: Item[]) => void; -function setItemsBasedOnDOMPosition(items: Item[], setItems: SetItems) { +function mutateItemsBasedOnDOMPosition(items: Item[], setItems: SetItems) { const sortedItems = sortBasedOnDOMPosition(items); if (items !== sortedItems) { setItems(sortedItems); @@ -35,7 +35,7 @@ function useIntersectionObserver(items: Item[], setItems: SetItems) { const hasPreviousItems = !!previousItems.current.length; // We don't want to sort items if items have been just registered. if (hasPreviousItems) { - setItemsBasedOnDOMPosition(items, setItems); + mutateItemsBasedOnDOMPosition(items, setItems); } previousItems.current = items; }; @@ -54,7 +54,7 @@ function useIntersectionObserver(items: Item[], setItems: SetItems) { function useTimeoutObserver(items: Item[], setItems: SetItems) { React.useEffect(() => { - const callback = () => setItemsBasedOnDOMPosition(items, setItems); + const callback = () => mutateItemsBasedOnDOMPosition(items, setItems); const timeout = setTimeout(callback, 250); return () => clearTimeout(timeout); });