react-native-reorderable-list 0.6.1 → 0.7.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.
Files changed (118) hide show
  1. package/README.md +28 -3
  2. package/lib/commonjs/components/NestedReorderableList.js +41 -0
  3. package/lib/commonjs/components/NestedReorderableList.js.map +1 -0
  4. package/lib/commonjs/components/ReorderableList.js +29 -0
  5. package/lib/commonjs/components/ReorderableList.js.map +1 -0
  6. package/lib/commonjs/components/ReorderableListCell.js +1 -3
  7. package/lib/commonjs/components/ReorderableListCell.js.map +1 -1
  8. package/lib/commonjs/components/{ReorderableList/ReorderableList.js → ReorderableListCore/ReorderableListCore.js} +35 -10
  9. package/lib/commonjs/components/ReorderableListCore/ReorderableListCore.js.map +1 -0
  10. package/lib/commonjs/components/ReorderableListCore/constants.js +31 -0
  11. package/lib/commonjs/components/ReorderableListCore/constants.js.map +1 -0
  12. package/lib/commonjs/components/ReorderableListCore/index.js +17 -0
  13. package/lib/commonjs/components/ReorderableListCore/index.js.map +1 -0
  14. package/lib/commonjs/components/{ReorderableList/useReorderableList.js → ReorderableListCore/useReorderableListCore.js} +176 -70
  15. package/lib/commonjs/components/ReorderableListCore/useReorderableListCore.js.map +1 -0
  16. package/lib/commonjs/components/ScrollViewContainer.js +53 -0
  17. package/lib/commonjs/components/ScrollViewContainer.js.map +1 -0
  18. package/lib/commonjs/components/index.js +22 -0
  19. package/lib/commonjs/components/index.js.map +1 -1
  20. package/lib/commonjs/contexts/ScrollViewContainerContext.js +10 -0
  21. package/lib/commonjs/contexts/ScrollViewContainerContext.js.map +1 -0
  22. package/lib/commonjs/contexts/index.js +11 -0
  23. package/lib/commonjs/contexts/index.js.map +1 -1
  24. package/lib/commonjs/index.js +12 -0
  25. package/lib/commonjs/index.js.map +1 -1
  26. package/lib/module/components/NestedReorderableList.js +33 -0
  27. package/lib/module/components/NestedReorderableList.js.map +1 -0
  28. package/lib/module/components/ReorderableList.js +21 -0
  29. package/lib/module/components/ReorderableList.js.map +1 -0
  30. package/lib/module/components/ReorderableListCell.js +1 -3
  31. package/lib/module/components/ReorderableListCell.js.map +1 -1
  32. package/lib/module/components/{ReorderableList/ReorderableList.js → ReorderableListCore/ReorderableListCore.js} +39 -14
  33. package/lib/module/components/ReorderableListCore/ReorderableListCore.js.map +1 -0
  34. package/lib/module/components/ReorderableListCore/constants.js +25 -0
  35. package/lib/module/components/ReorderableListCore/constants.js.map +1 -0
  36. package/lib/module/components/ReorderableListCore/index.js +2 -0
  37. package/lib/module/components/ReorderableListCore/index.js.map +1 -0
  38. package/lib/module/components/{ReorderableList/useReorderableList.js → ReorderableListCore/useReorderableListCore.js} +177 -71
  39. package/lib/module/components/ReorderableListCore/useReorderableListCore.js.map +1 -0
  40. package/lib/module/components/ScrollViewContainer.js +44 -0
  41. package/lib/module/components/ScrollViewContainer.js.map +1 -0
  42. package/lib/module/components/index.js +2 -0
  43. package/lib/module/components/index.js.map +1 -1
  44. package/lib/module/contexts/ScrollViewContainerContext.js +3 -0
  45. package/lib/module/contexts/ScrollViewContainerContext.js.map +1 -0
  46. package/lib/module/contexts/index.js +1 -0
  47. package/lib/module/contexts/index.js.map +1 -1
  48. package/lib/module/index.js +2 -2
  49. package/lib/module/index.js.map +1 -1
  50. package/lib/typescript/components/NestedReorderableList.d.ts +5 -0
  51. package/lib/typescript/components/NestedReorderableList.d.ts.map +1 -0
  52. package/lib/typescript/components/ReorderableList.d.ts +5 -0
  53. package/lib/typescript/components/ReorderableList.d.ts.map +1 -0
  54. package/lib/typescript/components/ReorderableListCell.d.ts.map +1 -1
  55. package/lib/typescript/components/ReorderableListCore/ReorderableListCore.d.ts +20 -0
  56. package/lib/typescript/components/ReorderableListCore/ReorderableListCore.d.ts.map +1 -0
  57. package/lib/typescript/components/ReorderableListCore/constants.d.ts +6 -0
  58. package/lib/typescript/components/ReorderableListCore/constants.d.ts.map +1 -0
  59. package/lib/typescript/components/ReorderableListCore/index.d.ts +2 -0
  60. package/lib/typescript/components/ReorderableListCore/index.d.ts.map +1 -0
  61. package/lib/typescript/components/ReorderableListCore/useReorderableListCore.d.ts +44 -0
  62. package/lib/typescript/components/ReorderableListCore/useReorderableListCore.d.ts.map +1 -0
  63. package/lib/typescript/components/ScrollViewContainer.d.ts +4 -0
  64. package/lib/typescript/components/ScrollViewContainer.d.ts.map +1 -0
  65. package/lib/typescript/components/index.d.ts +2 -0
  66. package/lib/typescript/components/index.d.ts.map +1 -1
  67. package/lib/typescript/contexts/ScrollViewContainerContext.d.ts +15 -0
  68. package/lib/typescript/contexts/ScrollViewContainerContext.d.ts.map +1 -0
  69. package/lib/typescript/contexts/index.d.ts +1 -0
  70. package/lib/typescript/contexts/index.d.ts.map +1 -1
  71. package/lib/typescript/index.d.ts +3 -3
  72. package/lib/typescript/index.d.ts.map +1 -1
  73. package/lib/typescript/types/props.d.ts +13 -1
  74. package/lib/typescript/types/props.d.ts.map +1 -1
  75. package/package.json +15 -7
  76. package/src/components/NestedReorderableList.tsx +43 -0
  77. package/src/components/ReorderableList.tsx +29 -0
  78. package/src/components/ReorderableListCell.tsx +1 -3
  79. package/src/components/ReorderableListCore/ReorderableListCore.tsx +162 -0
  80. package/src/components/ReorderableListCore/constants.ts +31 -0
  81. package/src/components/ReorderableListCore/index.ts +1 -0
  82. package/src/components/{ReorderableList/useReorderableList.ts → ReorderableListCore/useReorderableListCore.ts} +261 -89
  83. package/src/components/ScrollViewContainer.tsx +74 -0
  84. package/src/components/index.ts +2 -0
  85. package/src/contexts/ScrollViewContainerContext.ts +18 -0
  86. package/src/contexts/index.ts +1 -0
  87. package/src/index.ts +10 -1
  88. package/src/types/props.ts +21 -1
  89. package/lib/commonjs/components/ReorderableList/ReorderableList.js.map +0 -1
  90. package/lib/commonjs/components/ReorderableList/constants.ios.js +0 -10
  91. package/lib/commonjs/components/ReorderableList/constants.ios.js.map +0 -1
  92. package/lib/commonjs/components/ReorderableList/constants.js +0 -10
  93. package/lib/commonjs/components/ReorderableList/constants.js.map +0 -1
  94. package/lib/commonjs/components/ReorderableList/index.js +0 -17
  95. package/lib/commonjs/components/ReorderableList/index.js.map +0 -1
  96. package/lib/commonjs/components/ReorderableList/useReorderableList.js.map +0 -1
  97. package/lib/module/components/ReorderableList/ReorderableList.js.map +0 -1
  98. package/lib/module/components/ReorderableList/constants.ios.js +0 -4
  99. package/lib/module/components/ReorderableList/constants.ios.js.map +0 -1
  100. package/lib/module/components/ReorderableList/constants.js +0 -4
  101. package/lib/module/components/ReorderableList/constants.js.map +0 -1
  102. package/lib/module/components/ReorderableList/index.js +0 -2
  103. package/lib/module/components/ReorderableList/index.js.map +0 -1
  104. package/lib/module/components/ReorderableList/useReorderableList.js.map +0 -1
  105. package/lib/typescript/components/ReorderableList/ReorderableList.d.ts +0 -8
  106. package/lib/typescript/components/ReorderableList/ReorderableList.d.ts.map +0 -1
  107. package/lib/typescript/components/ReorderableList/constants.d.ts +0 -3
  108. package/lib/typescript/components/ReorderableList/constants.d.ts.map +0 -1
  109. package/lib/typescript/components/ReorderableList/constants.ios.d.ts +0 -3
  110. package/lib/typescript/components/ReorderableList/constants.ios.d.ts.map +0 -1
  111. package/lib/typescript/components/ReorderableList/index.d.ts +0 -2
  112. package/lib/typescript/components/ReorderableList/index.d.ts.map +0 -1
  113. package/lib/typescript/components/ReorderableList/useReorderableList.d.ts +0 -36
  114. package/lib/typescript/components/ReorderableList/useReorderableList.d.ts.map +0 -1
  115. package/src/components/ReorderableList/ReorderableList.tsx +0 -109
  116. package/src/components/ReorderableList/constants.ios.ts +0 -3
  117. package/src/components/ReorderableList/constants.ts +0 -3
  118. package/src/components/ReorderableList/index.ts +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useCallback","useEffect","useMemo","unstable_batchedUpdates","Gesture","State","Easing","runOnJS","runOnUI","scrollTo","useAnimatedReaction","useAnimatedRef","useAnimatedScrollHandler","useSharedValue","withDelay","withTiming","AUTOSCROLL_CONFIG","ReorderableListState","version","split","hasAutomaticBatching","length","parseInt","useReorderableListCore","ref","autoscrollThreshold","autoscrollSpeedScale","autoscrollDelay","animationDuration","dragReorderThreshold","onReorder","onDragEnd","onScroll","onLayout","scrollViewContainerRef","scrollViewHeightY","scrollViewScrollOffsetY","scrollViewScrollEnabled","initialScrollEnabled","initialScrollViewScrollEnabled","nestedScrollable","flatListRef","scrollEnabled","gestureState","UNDETERMINED","currentY","currentTranslationY","flatListScrollOffsetY","flatListHeightY","nestedFlatListPositionY","dragScrollTranslationY","dragInitialScrollOffsetY","scrollViewDragScrollTranslationY","scrollViewDragInitialScrollOffsetY","draggedHeight","itemOffset","itemHeight","autoscrollTrigger","lastAutoscrollTrigger","previousY","dragY","previousDirection","previousIndex","currentIndex","draggedIndex","state","IDLE","dragEndHandlers","startY","duration","value","listContextValue","panGestureHandler","Pan","onBegin","e","y","translationY","onUpdate","RELEASING","onEnd","onFinalize","gestureHandler","Simultaneous","Native","setScrollEnabled","enabled","_flatListRef$current","current","setNativeProps","_scrollViewContainerR","resetSharedValues","reorder","fromIndex","toIndex","updateState","from","to","getIndexFromY","relativeY","count","i","direction","threshold","Math","max","min","height","offset","index","setCurrentIndex","newIndex","newDirection","delta","abs","itemDirection","index1","index2","newOffset1","newHeight1","newOffset2","newHeight2","ACTIVE","BEGAN","DRAGGING","AUTO_SCROLL","handlers","Array","isArray","forEach","fn","currentItemOffset","currentItemHeight","draggedItemOffset","draggedItemHeight","newTopPosition","easing","out","ease","calculateHiddenArea","top","bottom","calculateThresholdArea","hiddenArea","visibleHeight","calculateThresholdAreaParent","shouldScrollParent","thresholdAreaParent","scrollDirection","thresholdArea","autoscrollIncrement","increment","scrollOffset","listRef","handleScroll","contentOffset","startDrag","handleFlatListLayout","nativeEvent","layout","handleRef"],"sourceRoot":"../../../../src","sources":["components/ReorderableListCore/useReorderableListCore.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,44 @@
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ import React, { useMemo } from 'react';
3
+ import { Gesture, GestureDetector } from 'react-native-gesture-handler';
4
+ import Animated, { useAnimatedRef, useAnimatedScrollHandler, useSharedValue } from 'react-native-reanimated';
5
+ import { ScrollViewContainerContext } from '../contexts/ScrollViewContainerContext';
6
+ export const ScrollViewContainer = ({
7
+ onLayout,
8
+ onScroll,
9
+ scrollEnabled = true,
10
+ ...rest
11
+ }) => {
12
+ const scrollViewScrollEnabled = useSharedValue(scrollEnabled);
13
+ const scrollViewContainerRef = useAnimatedRef();
14
+ const scrollViewScrollOffsetY = useSharedValue(0);
15
+ const scrollViewHeightY = useSharedValue(0);
16
+ const outerScrollGesture = useMemo(() => Gesture.Native(), []);
17
+ const handleScroll = useAnimatedScrollHandler(e => {
18
+ scrollViewScrollOffsetY.value = e.contentOffset.y;
19
+ onScroll === null || onScroll === void 0 || onScroll(e);
20
+ }, [scrollViewScrollOffsetY]);
21
+ const contextValue = useMemo(() => ({
22
+ scrollViewContainerRef,
23
+ scrollViewHeightY,
24
+ scrollViewScrollOffsetY,
25
+ scrollViewScrollEnabled,
26
+ outerScrollGesture,
27
+ initialScrollViewScrollEnabled: scrollEnabled
28
+ }), [scrollViewContainerRef, scrollViewHeightY, scrollViewScrollOffsetY, scrollViewScrollEnabled, outerScrollGesture, scrollEnabled]);
29
+ const handleLayout = e => {
30
+ scrollViewHeightY.value = e.nativeEvent.layout.height;
31
+ onLayout === null || onLayout === void 0 || onLayout(e);
32
+ };
33
+ return /*#__PURE__*/React.createElement(ScrollViewContainerContext.Provider, {
34
+ value: contextValue
35
+ }, /*#__PURE__*/React.createElement(GestureDetector, {
36
+ gesture: outerScrollGesture
37
+ }, /*#__PURE__*/React.createElement(Animated.ScrollView, _extends({}, rest, {
38
+ ref: scrollViewContainerRef,
39
+ onScroll: handleScroll,
40
+ onLayout: handleLayout,
41
+ scrollEnabled: scrollEnabled
42
+ }))));
43
+ };
44
+ //# sourceMappingURL=ScrollViewContainer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useMemo","Gesture","GestureDetector","Animated","useAnimatedRef","useAnimatedScrollHandler","useSharedValue","ScrollViewContainerContext","ScrollViewContainer","onLayout","onScroll","scrollEnabled","rest","scrollViewScrollEnabled","scrollViewContainerRef","scrollViewScrollOffsetY","scrollViewHeightY","outerScrollGesture","Native","handleScroll","e","value","contentOffset","y","contextValue","initialScrollViewScrollEnabled","handleLayout","nativeEvent","layout","height","createElement","Provider","gesture","ScrollView","_extends","ref"],"sourceRoot":"../../../src","sources":["components/ScrollViewContainer.tsx"],"mappings":";AAAA,OAAOA,KAAK,IAAGC,OAAO,QAAO,OAAO;AAGpC,SAAQC,OAAO,EAAEC,eAAe,QAAO,8BAA8B;AACrE,OAAOC,QAAQ,IACbC,cAAc,EACdC,wBAAwB,EACxBC,cAAc,QACT,yBAAyB;AAEhC,SAAQC,0BAA0B,QAAO,wCAAwC;AAGjF,OAAO,MAAMC,mBAAuD,GAAGA,CAAC;EACtEC,QAAQ;EACRC,QAAQ;EACRC,aAAa,GAAG,IAAI;EACpB,GAAGC;AACL,CAAC,KAAK;EACJ,MAAMC,uBAAuB,GAAGP,cAAc,CAACK,aAAa,CAAC;EAC7D,MAAMG,sBAAsB,GAAGV,cAAc,CAAsB,CAAC;EACpE,MAAMW,uBAAuB,GAAGT,cAAc,CAAC,CAAC,CAAC;EACjD,MAAMU,iBAAiB,GAAGV,cAAc,CAAC,CAAC,CAAC;EAE3C,MAAMW,kBAAkB,GAAGjB,OAAO,CAAC,MAAMC,OAAO,CAACiB,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC;EAE9D,MAAMC,YAAY,GAAGd,wBAAwB,CAC3Ce,CAAC,IAAI;IACHL,uBAAuB,CAACM,KAAK,GAAGD,CAAC,CAACE,aAAa,CAACC,CAAC;IAEjDb,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAGU,CAAC,CAAC;EACf,CAAC,EACD,CAACL,uBAAuB,CAC1B,CAAC;EAED,MAAMS,YAAY,GAAGxB,OAAO,CAC1B,OAAO;IACLc,sBAAsB;IACtBE,iBAAiB;IACjBD,uBAAuB;IACvBF,uBAAuB;IACvBI,kBAAkB;IAClBQ,8BAA8B,EAAEd;EAClC,CAAC,CAAC,EACF,CACEG,sBAAsB,EACtBE,iBAAiB,EACjBD,uBAAuB,EACvBF,uBAAuB,EACvBI,kBAAkB,EAClBN,aAAa,CAEjB,CAAC;EAED,MAAMe,YAAY,GAAIN,CAAoB,IAAK;IAC7CJ,iBAAiB,CAACK,KAAK,GAAGD,CAAC,CAACO,WAAW,CAACC,MAAM,CAACC,MAAM;IAErDpB,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAGW,CAAC,CAAC;EACf,CAAC;EAED,oBACErB,KAAA,CAAA+B,aAAA,CAACvB,0BAA0B,CAACwB,QAAQ;IAACV,KAAK,EAAEG;EAAa,gBACvDzB,KAAA,CAAA+B,aAAA,CAAC5B,eAAe;IAAC8B,OAAO,EAAEf;EAAmB,gBAC3ClB,KAAA,CAAA+B,aAAA,CAAC3B,QAAQ,CAAC8B,UAAU,EAAAC,QAAA,KACdtB,IAAI;IACRuB,GAAG,EAAErB,sBAAuB;IAC5BJ,QAAQ,EAAES,YAAa;IACvBV,QAAQ,EAAEiB,YAAa;IACvBf,aAAa,EAAEA;EAAc,EAC9B,CACc,CACkB,CAAC;AAE1C,CAAC","ignoreList":[]}
@@ -1,4 +1,6 @@
1
1
  export * from './ReorderableList';
2
+ export * from './NestedReorderableList';
2
3
  export * from './ReorderableListCell';
3
4
  export * from './ReorderableListItem';
5
+ export * from './ScrollViewContainer';
4
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["components/index.ts"],"mappings":"AAAA,cAAc,mBAAmB;AACjC,cAAc,uBAAuB;AACrC,cAAc,uBAAuB","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["components/index.ts"],"mappings":"AAAA,cAAc,mBAAmB;AACjC,cAAc,yBAAyB;AACvC,cAAc,uBAAuB;AACrC,cAAc,uBAAuB;AACrC,cAAc,uBAAuB","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export const ScrollViewContainerContext = /*#__PURE__*/React.createContext(undefined);
3
+ //# sourceMappingURL=ScrollViewContainerContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","ScrollViewContainerContext","createContext","undefined"],"sourceRoot":"../../../src","sources":["contexts/ScrollViewContainerContext.ts"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAezB,OAAO,MAAMC,0BAA0B,gBAAGD,KAAK,CAACE,aAAa,CAE3DC,SAAS,CAAC","ignoreList":[]}
@@ -1,3 +1,4 @@
1
1
  export * from './ReorderableCellContext';
2
2
  export * from './ReorderableListContext';
3
+ export * from './ScrollViewContainerContext';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["contexts/index.ts"],"mappings":"AAAA,cAAc,0BAA0B;AACxC,cAAc,0BAA0B","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["contexts/index.ts"],"mappings":"AAAA,cAAc,0BAA0B;AACxC,cAAc,0BAA0B;AACxC,cAAc,8BAA8B","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import { ReorderableList, ReorderableListItem } from './components';
1
+ import { NestedReorderableList, ReorderableList, ReorderableListItem, ScrollViewContainer } from './components';
2
2
  import { useReorderableDrag, useReorderableDragEnd, useReorderableDragStart } from './hooks';
3
3
  import { reorderItems } from './utils';
4
- export { useReorderableDrag, useReorderableDragStart, useReorderableDragEnd, ReorderableListItem, reorderItems };
4
+ export { useReorderableDrag, useReorderableDragStart, useReorderableDragEnd, ReorderableListItem, ScrollViewContainer, NestedReorderableList, reorderItems };
5
5
  export default ReorderableList;
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ReorderableList","ReorderableListItem","useReorderableDrag","useReorderableDragEnd","useReorderableDragStart","reorderItems"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,SAAQA,eAAe,EAAEC,mBAAmB,QAAO,cAAc;AACjE,SACEC,kBAAkB,EAClBC,qBAAqB,EACrBC,uBAAuB,QAClB,SAAS;AAQhB,SAAQC,YAAY,QAAO,SAAS;AAEpC,SACEH,kBAAkB,EAClBE,uBAAuB,EACvBD,qBAAqB,EAIrBF,mBAAmB,EAGnBI,YAAY;AAEd,eAAeL,eAAe","ignoreList":[]}
1
+ {"version":3,"names":["NestedReorderableList","ReorderableList","ReorderableListItem","ScrollViewContainer","useReorderableDrag","useReorderableDragEnd","useReorderableDragStart","reorderItems"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,SACEA,qBAAqB,EACrBC,eAAe,EACfC,mBAAmB,EACnBC,mBAAmB,QACd,cAAc;AACrB,SACEC,kBAAkB,EAClBC,qBAAqB,EACrBC,uBAAuB,QAClB,SAAS;AAShB,SAAQC,YAAY,QAAO,SAAS;AAEpC,SACEH,kBAAkB,EAClBE,uBAAuB,EACvBD,qBAAqB,EAIrBH,mBAAmB,EAGnBC,mBAAmB,EAEnBH,qBAAqB,EACrBO,YAAY;AAEd,eAAeN,eAAe","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { FlatList } from 'react-native';
3
+ import type { NestedReorderableListProps } from '../types';
4
+ export declare const NestedReorderableList: <T>(props: NestedReorderableListProps<T> & React.RefAttributes<FlatList<T>>) => JSX.Element;
5
+ //# sourceMappingURL=NestedReorderableList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NestedReorderableList.d.ts","sourceRoot":"","sources":["../../../src/components/NestedReorderableList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAC;AAKtC,OAAO,KAAK,EAAC,0BAA0B,EAAC,MAAM,UAAU,CAAC;AAgCzD,eAAO,MAAM,qBAAqB,kFAI7B,WAAW,CAAC"}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { FlatList } from 'react-native';
3
+ import type { ReorderableListProps } from '../types';
4
+ export declare const ReorderableList: <T>(props: ReorderableListProps<T> & React.RefAttributes<FlatList<T>>) => JSX.Element;
5
+ //# sourceMappingURL=ReorderableList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReorderableList.d.ts","sourceRoot":"","sources":["../../../src/components/ReorderableList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAC;AAGtC,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,UAAU,CAAC;AAsBnD,eAAO,MAAM,eAAe,4EAEvB,WAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ReorderableListCell.d.ts","sourceRoot":"","sources":["../../../src/components/ReorderableListCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmC,MAAM,OAAO,CAAC;AACxD,OAAO,KAAK,EAAC,iBAAiB,EAAoB,MAAM,cAAc,CAAC;AAEvE,OAAiB,EAEf,WAAW,EAMZ,MAAM,yBAAyB,CAAC;AAKjC,UAAU,wBAAwB,CAAC,CAAC,CAClC,SAAQ,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;IAC7C,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAClC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAClC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAElC,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACxC;AAED,eAAO,MAAM,mBAAmB,+LA2G/B,CAAC"}
1
+ {"version":3,"file":"ReorderableListCell.d.ts","sourceRoot":"","sources":["../../../src/components/ReorderableListCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmC,MAAM,OAAO,CAAC;AACxD,OAAO,KAAK,EAAC,iBAAiB,EAAoB,MAAM,cAAc,CAAC;AAEvE,OAAiB,EAEf,WAAW,EAMZ,MAAM,yBAAyB,CAAC;AAKjC,UAAU,wBAAwB,CAAC,CAAC,CAClC,SAAQ,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;IAC7C,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAClC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAClC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAElC,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACxC;AAED,eAAO,MAAM,mBAAmB,+LAyG/B,CAAC"}
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import { FlatList, ScrollView } from 'react-native';
3
+ import { NativeGesture } from 'react-native-gesture-handler';
4
+ import { SharedValue } from 'react-native-reanimated';
5
+ import type { ReorderableListProps } from '../../types';
6
+ interface ReorderableListCoreProps<T> extends ReorderableListProps<T> {
7
+ scrollViewContainerRef: React.RefObject<ScrollView> | undefined;
8
+ scrollViewHeightY: SharedValue<number> | undefined;
9
+ scrollViewScrollOffsetY: SharedValue<number> | undefined;
10
+ scrollViewScrollEnabled: SharedValue<boolean> | undefined;
11
+ outerScrollGesture: NativeGesture | undefined;
12
+ initialScrollViewScrollEnabled: boolean | undefined;
13
+ scrollable: boolean | undefined;
14
+ scrollEnabled: boolean | undefined;
15
+ }
16
+ declare const MemoizedReorderableListCore: <T>(props: ReorderableListCoreProps<T> & {
17
+ ref?: React.ForwardedRef<FlatList<T> | null> | undefined;
18
+ }) => React.ReactElement;
19
+ export { MemoizedReorderableListCore as ReorderableListCore };
20
+ //# sourceMappingURL=ReorderableListCore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReorderableListCore.d.ts","sourceRoot":"","sources":["../../../../src/components/ReorderableListCore/ReorderableListCore.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAClD,OAAO,EAEL,QAAQ,EAGR,UAAU,EACX,MAAM,cAAc,CAAC;AAEtB,OAAO,EAGL,aAAa,EACd,MAAM,8BAA8B,CAAC;AACtC,OAAiB,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AAK9D,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,aAAa,CAAC;AAStD,UAAU,wBAAwB,CAAC,CAAC,CAAE,SAAQ,oBAAoB,CAAC,CAAC,CAAC;IAEnE,sBAAsB,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;IAChE,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACnD,uBAAuB,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACzD,uBAAuB,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;IAC1D,kBAAkB,EAAE,aAAa,GAAG,SAAS,CAAC;IAC9C,8BAA8B,EAAE,OAAO,GAAG,SAAS,CAAC;IACpD,UAAU,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,aAAa,EAAE,OAAO,GAAG,SAAS,CAAC;CACpC;AAmHD,QAAA,MAAM,2BAA2B;;MAM5B,MAAM,YAAY,CAAC;AAExB,OAAO,EAAC,2BAA2B,IAAI,mBAAmB,EAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare const IS_FABRIC: boolean;
2
+ export declare const AUTOSCROLL_CONFIG: {
3
+ delay: number;
4
+ increment: number;
5
+ };
6
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/components/ReorderableListCore/constants.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,SAAS,SACqD,CAAC;AAE5E,eAAO,MAAM,iBAAiB;;;CAU5B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './ReorderableListCore';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ReorderableListCore/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,44 @@
1
+ import React from 'react';
2
+ import { FlatList, LayoutChangeEvent, NativeScrollEvent, ScrollView } from 'react-native';
3
+ import { SharedValue } from 'react-native-reanimated';
4
+ import { ReorderableListDragEndEvent } from '../../types';
5
+ import type { ReorderableListReorderEvent } from '../../types';
6
+ interface UseReorderableListCoreArgs<T> {
7
+ ref: React.ForwardedRef<FlatList<T>>;
8
+ autoscrollThreshold: number;
9
+ autoscrollSpeedScale: number;
10
+ autoscrollDelay: number;
11
+ animationDuration: number;
12
+ dragReorderThreshold: number;
13
+ onReorder: (event: ReorderableListReorderEvent) => void;
14
+ onDragEnd?: (event: ReorderableListDragEndEvent) => void;
15
+ onScroll?: (event: NativeScrollEvent) => void;
16
+ onLayout?: (event: LayoutChangeEvent) => void;
17
+ scrollViewContainerRef: React.RefObject<ScrollView> | undefined;
18
+ scrollViewHeightY: SharedValue<number> | undefined;
19
+ scrollViewScrollOffsetY: SharedValue<number> | undefined;
20
+ scrollViewScrollEnabled: SharedValue<boolean> | undefined;
21
+ initialScrollEnabled: boolean | undefined;
22
+ initialScrollViewScrollEnabled: boolean | undefined;
23
+ nestedScrollable: boolean | undefined;
24
+ }
25
+ export declare const useReorderableListCore: <T>({ ref, autoscrollThreshold, autoscrollSpeedScale, autoscrollDelay, animationDuration, dragReorderThreshold, onReorder, onDragEnd, onScroll, onLayout, scrollViewContainerRef, scrollViewHeightY, scrollViewScrollOffsetY, scrollViewScrollEnabled, initialScrollEnabled, initialScrollViewScrollEnabled, nestedScrollable, }: UseReorderableListCoreArgs<T>) => {
26
+ gestureHandler: import("react-native-gesture-handler/lib/typescript/handlers/gestures/gestureComposition").SimultaneousGesture;
27
+ handleScroll: import("react-native-reanimated").ScrollHandlerProcessed<Record<string, unknown>>;
28
+ handleFlatListLayout: (e: LayoutChangeEvent) => void;
29
+ handleRef: (value: FlatList<T>) => void;
30
+ startDrag: (index: number) => void;
31
+ listContextValue: {
32
+ draggedHeight: SharedValue<number>;
33
+ currentIndex: SharedValue<number>;
34
+ draggedIndex: SharedValue<number>;
35
+ dragEndHandlers: SharedValue<((from: number, to: number) => void)[][]>;
36
+ };
37
+ itemOffset: SharedValue<number[]>;
38
+ itemHeight: SharedValue<number[]>;
39
+ draggedIndex: SharedValue<number>;
40
+ dragY: SharedValue<number>;
41
+ duration: SharedValue<number>;
42
+ };
43
+ export {};
44
+ //# sourceMappingURL=useReorderableListCore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useReorderableListCore.d.ts","sourceRoot":"","sources":["../../../../src/components/ReorderableListCore/useReorderableListCore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAC7D,OAAO,EACL,QAAQ,EACR,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,EAEX,MAAM,cAAc,CAAC;AAGtB,OAAiB,EAGf,WAAW,EAUZ,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAC,2BAA2B,EAAuB,MAAM,aAAa,CAAC;AAC9E,OAAO,KAAK,EAAC,2BAA2B,EAAC,MAAM,aAAa,CAAC;AAO7D,UAAU,0BAA0B,CAAC,CAAC;IACpC,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,SAAS,EAAE,CAAC,KAAK,EAAE,2BAA2B,KAAK,IAAI,CAAC;IACxD,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,2BAA2B,KAAK,IAAI,CAAC;IACzD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9C,sBAAsB,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;IAChE,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACnD,uBAAuB,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACzD,uBAAuB,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;IAC1D,oBAAoB,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1C,8BAA8B,EAAE,OAAO,GAAG,SAAS,CAAC;IACpD,gBAAgB,EAAE,OAAO,GAAG,SAAS,CAAC;CACvC;AAED,eAAO,MAAM,sBAAsB;;;;;uBA8hBvB,MAAM;;;;;6CAlfN,MAAM,MAAM,MAAM,KAAK,IAAI;;;;;;;CA0jBtC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { ScrollViewContainerProps } from '../types';
3
+ export declare const ScrollViewContainer: React.FC<ScrollViewContainerProps>;
4
+ //# sourceMappingURL=ScrollViewContainer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrollViewContainer.d.ts","sourceRoot":"","sources":["../../../src/components/ScrollViewContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgB,MAAM,OAAO,CAAC;AAWrC,OAAO,KAAK,EAAC,wBAAwB,EAAC,MAAM,UAAU,CAAC;AAEvD,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA4DlE,CAAC"}
@@ -1,4 +1,6 @@
1
1
  export * from './ReorderableList';
2
+ export * from './NestedReorderableList';
2
3
  export * from './ReorderableListCell';
3
4
  export * from './ReorderableListItem';
5
+ export * from './ScrollViewContainer';
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import { ScrollView } from 'react-native';
3
+ import { NativeGesture } from 'react-native-gesture-handler';
4
+ import { SharedValue } from 'react-native-reanimated';
5
+ interface ScrollViewContainerContextData {
6
+ scrollViewContainerRef: React.RefObject<ScrollView>;
7
+ scrollViewHeightY: SharedValue<number>;
8
+ scrollViewScrollOffsetY: SharedValue<number>;
9
+ scrollViewScrollEnabled: SharedValue<boolean>;
10
+ outerScrollGesture: NativeGesture;
11
+ initialScrollViewScrollEnabled: boolean;
12
+ }
13
+ export declare const ScrollViewContainerContext: React.Context<ScrollViewContainerContextData | undefined>;
14
+ export {};
15
+ //# sourceMappingURL=ScrollViewContainerContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrollViewContainerContext.d.ts","sourceRoot":"","sources":["../../../src/contexts/ScrollViewContainerContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAExC,OAAO,EAAC,aAAa,EAAC,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AAEpD,UAAU,8BAA8B;IACtC,sBAAsB,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACpD,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,uBAAuB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7C,uBAAuB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9C,kBAAkB,EAAE,aAAa,CAAC;IAClC,8BAA8B,EAAE,OAAO,CAAC;CACzC;AAED,eAAO,MAAM,0BAA0B,2DAE3B,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from './ReorderableCellContext';
2
2
  export * from './ReorderableListContext';
3
+ export * from './ScrollViewContainerContext';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC"}
@@ -1,7 +1,7 @@
1
- import { ReorderableList, ReorderableListItem } from './components';
1
+ import { NestedReorderableList, ReorderableList, ReorderableListItem, ScrollViewContainer } from './components';
2
2
  import { useReorderableDrag, useReorderableDragEnd, useReorderableDragStart } from './hooks';
3
- import type { ReorderableListDragEndEvent, ReorderableListItemConfig, ReorderableListItemProps, ReorderableListProps, ReorderableListReorderEvent } from './types';
3
+ import type { ReorderableListDragEndEvent, ReorderableListItemConfig, ReorderableListItemProps, ReorderableListProps, ReorderableListReorderEvent, ScrollViewContainerProps } from './types';
4
4
  import { reorderItems } from './utils';
5
- export { useReorderableDrag, useReorderableDragStart, useReorderableDragEnd, ReorderableListProps, ReorderableListReorderEvent, ReorderableListDragEndEvent, ReorderableListItem, ReorderableListItemConfig, ReorderableListItemProps, reorderItems, };
5
+ export { useReorderableDrag, useReorderableDragStart, useReorderableDragEnd, ReorderableListProps, ReorderableListReorderEvent, ReorderableListDragEndEvent, ReorderableListItem, ReorderableListItemConfig, ReorderableListItemProps, ScrollViewContainer, ScrollViewContainerProps, NestedReorderableList, reorderItems, };
6
6
  export default ReorderableList;
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAE,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAClE,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EACV,2BAA2B,EAC3B,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,EACpB,2BAA2B,EAC5B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAC,YAAY,EAAC,MAAM,SAAS,CAAC;AAErC,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,2BAA2B,EAC3B,2BAA2B,EAC3B,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,YAAY,GACb,CAAC;AACF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EACV,2BAA2B,EAC3B,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,EACpB,2BAA2B,EAC3B,wBAAwB,EACzB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAC,YAAY,EAAC,MAAM,SAAS,CAAC;AAErC,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,2BAA2B,EAC3B,2BAA2B,EAC3B,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,mBAAmB,EACnB,wBAAwB,EACxB,qBAAqB,EACrB,YAAY,GACb,CAAC;AACF,eAAe,eAAe,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { FlatListProps, NativeScrollEvent, ViewProps } from 'react-native';
1
+ import type { FlatListProps, NativeScrollEvent, ScrollViewProps, ViewProps } from 'react-native';
2
2
  import { EasingFunction } from 'react-native-reanimated';
3
3
  export interface ReorderableListReorderEvent {
4
4
  /**
@@ -100,5 +100,17 @@ export interface ReorderableListItemProps extends ViewProps {
100
100
  */
101
101
  scaleAnimationConfig?: ReorderableListItemConfig;
102
102
  }
103
+ export interface ScrollViewContainerProps extends Omit<ScrollViewProps, 'onScroll'> {
104
+ /**
105
+ * Event fired at most once per frame during scrolling. Needs to be a `worklet`. See [Reanimated docs](https://docs.swmansion.com/react-native-reanimated) for further info.
106
+ */
107
+ onScroll?: (event: NativeScrollEvent) => void;
108
+ }
109
+ export interface NestedReorderableListProps<T> extends ReorderableListProps<T> {
110
+ /**
111
+ * Whether the nested list is scrollable or not. If the nested list has a fixed height and it's scrollable it should be set to `true`, otherwise `false`. Default: `false`.
112
+ */
113
+ scrollable?: boolean;
114
+ }
103
115
  export {};
104
116
  //# sourceMappingURL=props.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../../src/types/props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAE,iBAAiB,EAAE,SAAS,EAAC,MAAM,cAAc,CAAC;AAE9E,OAAO,EAAC,cAAc,EAAC,MAAM,yBAAyB,CAAC;AAEvD,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,KAAK,YAAY,GACb,YAAY,GACZ,UAAU,GACV,qBAAqB,GACrB,uBAAuB,GACvB,uBAAuB,GACvB,YAAY,CAAC;AAEjB,MAAM,WAAW,oBAAoB,CAAC,CAAC,CACrC,SAAQ,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC;IAC5C,IAAI,EAAE,CAAC,EAAE,CAAC;IACV;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,SAAS,EAAE,CAAC,KAAK,EAAE,2BAA2B,KAAK,IAAI,CAAC;IACxD;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9C;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,2BAA2B,KAAK,IAAI,CAAC;CAC1D;AAED,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B;;OAEG;IACH,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,wBAAyB,SAAQ,SAAS;IACzD;;OAEG;IACH,sBAAsB,CAAC,EAAE,yBAAyB,CAAC;IACnD;;OAEG;IACH,oBAAoB,CAAC,EAAE,yBAAyB,CAAC;CAClD"}
1
+ {"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../../src/types/props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,SAAS,EACV,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAC,cAAc,EAAC,MAAM,yBAAyB,CAAC;AAEvD,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,KAAK,YAAY,GACb,YAAY,GACZ,UAAU,GACV,qBAAqB,GACrB,uBAAuB,GACvB,uBAAuB,GACvB,YAAY,CAAC;AAEjB,MAAM,WAAW,oBAAoB,CAAC,CAAC,CACrC,SAAQ,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC;IAC5C,IAAI,EAAE,CAAC,EAAE,CAAC;IACV;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,SAAS,EAAE,CAAC,KAAK,EAAE,2BAA2B,KAAK,IAAI,CAAC;IACxD;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9C;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,2BAA2B,KAAK,IAAI,CAAC;CAC1D;AAED,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B;;OAEG;IACH,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,wBAAyB,SAAQ,SAAS;IACzD;;OAEG;IACH,sBAAsB,CAAC,EAAE,yBAAyB,CAAC;IACnD;;OAEG;IACH,oBAAoB,CAAC,EAAE,yBAAyB,CAAC;CAClD;AAED,MAAM,WAAW,wBACf,SAAQ,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC;IACzC;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAC/C;AAED,MAAM,WAAW,0BAA0B,CAAC,CAAC,CAAE,SAAQ,oBAAoB,CAAC,CAAC,CAAC;IAC5E;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-reorderable-list",
3
- "version": "0.6.1",
3
+ "version": "0.7.1",
4
4
  "description": "Reorderable list for React Native applications, powered by Reanimated",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -61,15 +61,17 @@
61
61
  "registry": "https://registry.npmjs.org/"
62
62
  },
63
63
  "devDependencies": {
64
+ "@babel/core": "^7.26.0",
64
65
  "@commitlint/config-conventional": "^17.0.2",
65
66
  "@react-native-community/eslint-config": "^3.0.2",
66
- "@react-native/babel-preset": "0.75.3",
67
- "@react-native/eslint-config": "0.75.3",
68
- "@react-native/metro-config": "0.75.3",
69
- "@react-native/typescript-config": "0.75.3",
67
+ "@react-native/babel-preset": "0.76.5",
68
+ "@react-native/eslint-config": "0.76.5",
69
+ "@react-native/metro-config": "0.76.5",
70
+ "@react-native/typescript-config": "0.76.5",
70
71
  "@release-it/conventional-changelog": "^8.0.2",
72
+ "@types/babel__core": "^7.20.5",
71
73
  "@types/react": "^18.3.9",
72
- "eslint": "^8.4.1",
74
+ "eslint": "^8.56.0",
73
75
  "eslint-config-prettier": "^8.5.0",
74
76
  "eslint-import-resolver-typescript": "^3.5.5",
75
77
  "eslint-plugin-import": "^2.27.5",
@@ -77,7 +79,7 @@
77
79
  "jest": "^29.6.3",
78
80
  "prettier": "^2.8.8",
79
81
  "react": "18.3.1",
80
- "react-native": "0.75.3",
82
+ "react-native": "0.76.5",
81
83
  "react-native-builder-bob": "^0.20.0",
82
84
  "react-native-gesture-handler": "^2.12.0",
83
85
  "react-native-reanimated": "^3.15.3",
@@ -108,6 +110,12 @@
108
110
  ]
109
111
  },
110
112
  "release-it": {
113
+ "hooks": {
114
+ "before:release": [
115
+ "yarn lint",
116
+ "yarn typecheck"
117
+ ]
118
+ },
111
119
  "git": {
112
120
  "commitMessage": "chore: release ${version}",
113
121
  "tagName": "v${version}"
@@ -0,0 +1,43 @@
1
+ import React, {forwardRef} from 'react';
2
+ import {FlatList} from 'react-native';
3
+
4
+ import {ReorderableListCore} from './ReorderableListCore';
5
+ import {ScrollViewContainerContext} from '../contexts';
6
+ import {useContext} from '../hooks';
7
+ import type {NestedReorderableListProps} from '../types';
8
+
9
+ const NestedReorderableListWithRef = <T,>(
10
+ {scrollable, scrollEnabled = true, ...rest}: NestedReorderableListProps<T>,
11
+ ref?: React.ForwardedRef<FlatList<T>>,
12
+ ) => {
13
+ const {
14
+ scrollViewContainerRef,
15
+ scrollViewScrollOffsetY,
16
+ scrollViewHeightY,
17
+ scrollViewScrollEnabled,
18
+ outerScrollGesture,
19
+ initialScrollViewScrollEnabled,
20
+ } = useContext(ScrollViewContainerContext);
21
+
22
+ return (
23
+ <ReorderableListCore
24
+ {...rest}
25
+ ref={ref}
26
+ scrollViewContainerRef={scrollViewContainerRef}
27
+ scrollViewScrollOffsetY={scrollViewScrollOffsetY}
28
+ scrollViewHeightY={scrollViewHeightY}
29
+ outerScrollGesture={outerScrollGesture}
30
+ scrollViewScrollEnabled={scrollViewScrollEnabled}
31
+ initialScrollViewScrollEnabled={initialScrollViewScrollEnabled}
32
+ scrollable={scrollable}
33
+ scrollEnabled={scrollEnabled}
34
+ nestedScrollEnabled
35
+ />
36
+ );
37
+ };
38
+
39
+ export const NestedReorderableList = forwardRef(
40
+ NestedReorderableListWithRef,
41
+ ) as <T>(
42
+ props: NestedReorderableListProps<T> & React.RefAttributes<FlatList<T>>,
43
+ ) => JSX.Element;
@@ -0,0 +1,29 @@
1
+ import React, {forwardRef} from 'react';
2
+ import {FlatList} from 'react-native';
3
+
4
+ import {ReorderableListCore} from './ReorderableListCore';
5
+ import type {ReorderableListProps} from '../types';
6
+
7
+ const ReorderableListWithRef = <T,>(
8
+ {scrollEnabled = true, ...rest}: ReorderableListProps<T>,
9
+ ref: React.Ref<FlatList<T>>,
10
+ ) => {
11
+ return (
12
+ <ReorderableListCore
13
+ {...rest}
14
+ ref={ref}
15
+ scrollEnabled={scrollEnabled}
16
+ initialScrollViewScrollEnabled={true}
17
+ scrollable={true}
18
+ scrollViewContainerRef={undefined}
19
+ scrollViewScrollOffsetY={undefined}
20
+ scrollViewHeightY={undefined}
21
+ outerScrollGesture={undefined}
22
+ scrollViewScrollEnabled={undefined}
23
+ />
24
+ );
25
+ };
26
+
27
+ export const ReorderableList = forwardRef(ReorderableListWithRef) as <T>(
28
+ props: ReorderableListProps<T> & React.RefAttributes<FlatList<T>>,
29
+ ) => JSX.Element;
@@ -119,9 +119,7 @@ export const ReorderableListCell = memo(
119
119
  itemHeight.value[index] = height;
120
120
  })(e.nativeEvent.layout.y, e.nativeEvent.layout.height);
121
121
 
122
- if (onLayout) {
123
- onLayout(e);
124
- }
122
+ onLayout?.(e);
125
123
  };
126
124
 
127
125
  return (