react-native-draggable-flat.../Example/utils/index.ts
Daniel Merrill 0937df86d7
Port to Reanimated v2 (#335)
* first pass v2 migration

* autoscroll (WIP

* update decorators, cleanup

* ts ignore

* tweak constrained hover anim

* use single useDerivedValue

* fixed layout measurement (#325)

Co-authored-by: Tatiana Iasencova <t.iasencova@unifun.com>

* back to working

* fix autoscroll

* fix placeholder item

* bugfix placeholder

* add identityRetainingCallback

* enforce reanimated v2

* fix onDragEnd

* cleanup

* fix filcker (mostly)

* flip raf and setTimeout

* fix placeholder position

* fix filicker, nestable checkpoint

* fix nested scroll

* remove unnecessary wrapper

* fix placeholderitem

* cleanup, fix tests

* remove fail case

* add bob

* 4.0.0-beta.0

* memoize, useAnimatedRef -> useRef

* memoize, index -> getIndex

* memoize

* performance, cleanup

* update README

* fix ref types

* 4.0.0-beta.1

* disable gestures when animating

* bump reanimated

* 4.0.0-beta.2

* fix commonjs build

* 4.0.0-beta.3

* prevent flicker on web

* use v2 gesture api

* no worklet

* useIdentityRetainingCallback -> useStableCallback

* 4.0.0-beta.4

* foward refs

* add example

* add npmignore

* 4.0.0-beta.5

* fix autoscroll not working after scroll down

Co-authored-by: computerjazz <hi@danielmerrill.com>
Co-authored-by: taniaI <47004999+taniaIas@users.noreply.github.com>
Co-authored-by: Tatiana Iasencova <t.iasencova@unifun.com>
2022-07-24 19:47:45 -07:00

18 lines
504 B
TypeScript

export function getColor(i: number, numItems: number = 25) {
const multiplier = 255 / (numItems - 1);
const colorVal = i * multiplier;
return `rgb(${colorVal}, ${Math.abs(128 - colorVal)}, ${255 - colorVal})`;
}
export const mapIndexToData = (_d: any, index: number, arr: any[]) => {
const backgroundColor = getColor(index, arr.length);
return {
text: `${index}`,
key: `key-${index}`,
backgroundColor,
height: 75,
};
};
export type Item = ReturnType<typeof mapIndexToData>;