@legendapp/list 1.0.0-beta.10 → 1.0.0-beta.11
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/index.d.mts +2 -2
- package/index.d.ts +2 -2
- package/index.js +18 -11
- package/index.mjs +18 -11
- package/package.json +1 -1
- package/reanimated.js +20 -16
- package/reanimated.mjs +21 -17
package/index.d.mts
CHANGED
|
@@ -15,7 +15,7 @@ declare class ScrollAdjustHandler {
|
|
|
15
15
|
getAppliedAdjust(): number;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
type LegendListPropsBase<ItemT, TScrollView extends ComponentProps<typeof ScrollView> | ComponentProps<typeof Animated.ScrollView>> = Omit<TScrollView,
|
|
18
|
+
type LegendListPropsBase<ItemT, TScrollView extends ComponentProps<typeof ScrollView> | ComponentProps<typeof Animated.ScrollView>> = Omit<TScrollView, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices"> & {
|
|
19
19
|
data: ReadonlyArray<ItemT>;
|
|
20
20
|
initialScrollOffset?: number;
|
|
21
21
|
initialScrollIndex?: number;
|
|
@@ -64,7 +64,7 @@ type LegendListPropsBase<ItemT, TScrollView extends ComponentProps<typeof Scroll
|
|
|
64
64
|
extraData?: any;
|
|
65
65
|
};
|
|
66
66
|
type AnchoredPosition = {
|
|
67
|
-
type:
|
|
67
|
+
type: "top" | "bottom";
|
|
68
68
|
relativeCoordinate: number;
|
|
69
69
|
top: number;
|
|
70
70
|
};
|
package/index.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ declare class ScrollAdjustHandler {
|
|
|
15
15
|
getAppliedAdjust(): number;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
type LegendListPropsBase<ItemT, TScrollView extends ComponentProps<typeof ScrollView> | ComponentProps<typeof Animated.ScrollView>> = Omit<TScrollView,
|
|
18
|
+
type LegendListPropsBase<ItemT, TScrollView extends ComponentProps<typeof ScrollView> | ComponentProps<typeof Animated.ScrollView>> = Omit<TScrollView, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices"> & {
|
|
19
19
|
data: ReadonlyArray<ItemT>;
|
|
20
20
|
initialScrollOffset?: number;
|
|
21
21
|
initialScrollIndex?: number;
|
|
@@ -64,7 +64,7 @@ type LegendListPropsBase<ItemT, TScrollView extends ComponentProps<typeof Scroll
|
|
|
64
64
|
extraData?: any;
|
|
65
65
|
};
|
|
66
66
|
type AnchoredPosition = {
|
|
67
|
-
type:
|
|
67
|
+
type: "top" | "bottom";
|
|
68
68
|
relativeCoordinate: number;
|
|
69
69
|
top: number;
|
|
70
70
|
};
|
package/index.js
CHANGED
|
@@ -440,6 +440,21 @@ var ScrollAdjustHandler = class {
|
|
|
440
440
|
return this.appliedAdjust;
|
|
441
441
|
}
|
|
442
442
|
};
|
|
443
|
+
var useCombinedRef = (...refs) => {
|
|
444
|
+
const callback = React5.useCallback((element) => {
|
|
445
|
+
for (const ref of refs) {
|
|
446
|
+
if (!ref) {
|
|
447
|
+
continue;
|
|
448
|
+
}
|
|
449
|
+
if (typeof ref === "function") {
|
|
450
|
+
ref(element);
|
|
451
|
+
} else {
|
|
452
|
+
ref.current = element;
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
}, refs);
|
|
456
|
+
return callback;
|
|
457
|
+
};
|
|
443
458
|
|
|
444
459
|
// src/viewability.ts
|
|
445
460
|
var mapViewabilityConfigCallbackPairs = /* @__PURE__ */ new Map();
|
|
@@ -633,6 +648,7 @@ var LegendListInner = React5.forwardRef(function LegendListInner2(props, forward
|
|
|
633
648
|
callbacks.current.onEndReached = rest.onEndReached;
|
|
634
649
|
const ctx = useStateContext();
|
|
635
650
|
const refScroller = React5.useRef(null);
|
|
651
|
+
const combinedRef = useCombinedRef(refScroller, refScrollView);
|
|
636
652
|
const scrollBuffer = drawDistance != null ? drawDistance : DEFAULT_DRAW_DISTANCE;
|
|
637
653
|
const keyExtractor = keyExtractorProp != null ? keyExtractorProp : (item, index) => index.toString();
|
|
638
654
|
const refState = React5.useRef();
|
|
@@ -764,7 +780,7 @@ var LegendListInner = React5.forwardRef(function LegendListInner2(props, forward
|
|
|
764
780
|
let applyAdjustValue = void 0;
|
|
765
781
|
const totalSize = state.totalSize;
|
|
766
782
|
let resultSize = totalSize;
|
|
767
|
-
if (maintainVisibleContentPosition
|
|
783
|
+
if (maintainVisibleContentPosition) {
|
|
768
784
|
const newAdjust = anchorElement.coordinate - state.totalSizeBelowAnchor;
|
|
769
785
|
applyAdjustValue = -newAdjust;
|
|
770
786
|
state.belowAnchorElementPositions = buildElementPositionsBelowAnchor();
|
|
@@ -1516,16 +1532,7 @@ var LegendListInner = React5.forwardRef(function LegendListInner2(props, forward
|
|
|
1516
1532
|
{
|
|
1517
1533
|
...rest,
|
|
1518
1534
|
horizontal,
|
|
1519
|
-
refScrollView:
|
|
1520
|
-
refScroller.current = r;
|
|
1521
|
-
if (refScrollView) {
|
|
1522
|
-
if (typeof refScrollView === "function") {
|
|
1523
|
-
refScrollView(r);
|
|
1524
|
-
} else {
|
|
1525
|
-
refScrollView.current = r;
|
|
1526
|
-
}
|
|
1527
|
-
}
|
|
1528
|
-
},
|
|
1535
|
+
refScrollView: combinedRef,
|
|
1529
1536
|
initialContentOffset,
|
|
1530
1537
|
getRenderedItem,
|
|
1531
1538
|
updateItemSize,
|
package/index.mjs
CHANGED
|
@@ -419,6 +419,21 @@ var ScrollAdjustHandler = class {
|
|
|
419
419
|
return this.appliedAdjust;
|
|
420
420
|
}
|
|
421
421
|
};
|
|
422
|
+
var useCombinedRef = (...refs) => {
|
|
423
|
+
const callback = useCallback((element) => {
|
|
424
|
+
for (const ref of refs) {
|
|
425
|
+
if (!ref) {
|
|
426
|
+
continue;
|
|
427
|
+
}
|
|
428
|
+
if (typeof ref === "function") {
|
|
429
|
+
ref(element);
|
|
430
|
+
} else {
|
|
431
|
+
ref.current = element;
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
}, refs);
|
|
435
|
+
return callback;
|
|
436
|
+
};
|
|
422
437
|
|
|
423
438
|
// src/viewability.ts
|
|
424
439
|
var mapViewabilityConfigCallbackPairs = /* @__PURE__ */ new Map();
|
|
@@ -612,6 +627,7 @@ var LegendListInner = forwardRef(function LegendListInner2(props, forwardedRef)
|
|
|
612
627
|
callbacks.current.onEndReached = rest.onEndReached;
|
|
613
628
|
const ctx = useStateContext();
|
|
614
629
|
const refScroller = useRef(null);
|
|
630
|
+
const combinedRef = useCombinedRef(refScroller, refScrollView);
|
|
615
631
|
const scrollBuffer = drawDistance != null ? drawDistance : DEFAULT_DRAW_DISTANCE;
|
|
616
632
|
const keyExtractor = keyExtractorProp != null ? keyExtractorProp : (item, index) => index.toString();
|
|
617
633
|
const refState = useRef();
|
|
@@ -743,7 +759,7 @@ var LegendListInner = forwardRef(function LegendListInner2(props, forwardedRef)
|
|
|
743
759
|
let applyAdjustValue = void 0;
|
|
744
760
|
const totalSize = state.totalSize;
|
|
745
761
|
let resultSize = totalSize;
|
|
746
|
-
if (maintainVisibleContentPosition
|
|
762
|
+
if (maintainVisibleContentPosition) {
|
|
747
763
|
const newAdjust = anchorElement.coordinate - state.totalSizeBelowAnchor;
|
|
748
764
|
applyAdjustValue = -newAdjust;
|
|
749
765
|
state.belowAnchorElementPositions = buildElementPositionsBelowAnchor();
|
|
@@ -1495,16 +1511,7 @@ var LegendListInner = forwardRef(function LegendListInner2(props, forwardedRef)
|
|
|
1495
1511
|
{
|
|
1496
1512
|
...rest,
|
|
1497
1513
|
horizontal,
|
|
1498
|
-
refScrollView:
|
|
1499
|
-
refScroller.current = r;
|
|
1500
|
-
if (refScrollView) {
|
|
1501
|
-
if (typeof refScrollView === "function") {
|
|
1502
|
-
refScrollView(r);
|
|
1503
|
-
} else {
|
|
1504
|
-
refScrollView.current = r;
|
|
1505
|
-
}
|
|
1506
|
-
}
|
|
1507
|
-
},
|
|
1514
|
+
refScrollView: combinedRef,
|
|
1508
1515
|
initialContentOffset,
|
|
1509
1516
|
getRenderedItem,
|
|
1510
1517
|
updateItemSize,
|
package/package.json
CHANGED
package/reanimated.js
CHANGED
|
@@ -9,6 +9,23 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
|
9
9
|
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
10
10
|
var Animated__default = /*#__PURE__*/_interopDefault(Animated);
|
|
11
11
|
|
|
12
|
+
// src/reanimated.tsx
|
|
13
|
+
var useCombinedRef = (...refs) => {
|
|
14
|
+
const callback = React.useCallback((element) => {
|
|
15
|
+
for (const ref of refs) {
|
|
16
|
+
if (!ref) {
|
|
17
|
+
continue;
|
|
18
|
+
}
|
|
19
|
+
if (typeof ref === "function") {
|
|
20
|
+
ref(element);
|
|
21
|
+
} else {
|
|
22
|
+
ref.current = element;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}, refs);
|
|
26
|
+
return callback;
|
|
27
|
+
};
|
|
28
|
+
|
|
12
29
|
// src/reanimated.tsx
|
|
13
30
|
var LegendListForwardedRef = React__default.default.forwardRef(function LegendListForwardedRef2(props, ref) {
|
|
14
31
|
const { refLegendList, ...rest } = props;
|
|
@@ -26,22 +43,9 @@ var LegendListForwardedRef = React__default.default.forwardRef(function LegendLi
|
|
|
26
43
|
var AnimatedLegendListComponent = Animated__default.default.createAnimatedComponent(LegendListForwardedRef);
|
|
27
44
|
var AnimatedLegendList = React__default.default.forwardRef(function AnimatedLegendList2(props, ref) {
|
|
28
45
|
const { refScrollView, ...rest } = props;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
refLegendList: (r) => {
|
|
33
|
-
if (ref) {
|
|
34
|
-
if (typeof ref === "function") {
|
|
35
|
-
ref(r);
|
|
36
|
-
} else {
|
|
37
|
-
ref.current = r;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
},
|
|
41
|
-
ref: refScrollView,
|
|
42
|
-
...rest
|
|
43
|
-
}
|
|
44
|
-
);
|
|
46
|
+
const refLegendList = React__default.default.useRef(null);
|
|
47
|
+
const combinedRef = useCombinedRef(refLegendList, ref);
|
|
48
|
+
return /* @__PURE__ */ React__default.default.createElement(AnimatedLegendListComponent, { refLegendList: combinedRef, ref: refScrollView, ...rest });
|
|
45
49
|
});
|
|
46
50
|
|
|
47
51
|
exports.AnimatedLegendList = AnimatedLegendList;
|
package/reanimated.mjs
CHANGED
|
@@ -1,7 +1,24 @@
|
|
|
1
1
|
import { LegendList } from '@legendapp/list';
|
|
2
|
-
import React from 'react';
|
|
2
|
+
import React, { useCallback } from 'react';
|
|
3
3
|
import Animated from 'react-native-reanimated';
|
|
4
4
|
|
|
5
|
+
// src/reanimated.tsx
|
|
6
|
+
var useCombinedRef = (...refs) => {
|
|
7
|
+
const callback = useCallback((element) => {
|
|
8
|
+
for (const ref of refs) {
|
|
9
|
+
if (!ref) {
|
|
10
|
+
continue;
|
|
11
|
+
}
|
|
12
|
+
if (typeof ref === "function") {
|
|
13
|
+
ref(element);
|
|
14
|
+
} else {
|
|
15
|
+
ref.current = element;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}, refs);
|
|
19
|
+
return callback;
|
|
20
|
+
};
|
|
21
|
+
|
|
5
22
|
// src/reanimated.tsx
|
|
6
23
|
var LegendListForwardedRef = React.forwardRef(function LegendListForwardedRef2(props, ref) {
|
|
7
24
|
const { refLegendList, ...rest } = props;
|
|
@@ -19,22 +36,9 @@ var LegendListForwardedRef = React.forwardRef(function LegendListForwardedRef2(p
|
|
|
19
36
|
var AnimatedLegendListComponent = Animated.createAnimatedComponent(LegendListForwardedRef);
|
|
20
37
|
var AnimatedLegendList = React.forwardRef(function AnimatedLegendList2(props, ref) {
|
|
21
38
|
const { refScrollView, ...rest } = props;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
refLegendList: (r) => {
|
|
26
|
-
if (ref) {
|
|
27
|
-
if (typeof ref === "function") {
|
|
28
|
-
ref(r);
|
|
29
|
-
} else {
|
|
30
|
-
ref.current = r;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
},
|
|
34
|
-
ref: refScrollView,
|
|
35
|
-
...rest
|
|
36
|
-
}
|
|
37
|
-
);
|
|
39
|
+
const refLegendList = React.useRef(null);
|
|
40
|
+
const combinedRef = useCombinedRef(refLegendList, ref);
|
|
41
|
+
return /* @__PURE__ */ React.createElement(AnimatedLegendListComponent, { refLegendList: combinedRef, ref: refScrollView, ...rest });
|
|
38
42
|
});
|
|
39
43
|
|
|
40
44
|
export { AnimatedLegendList };
|