@fountain-ui/lab 1.21.1 → 2.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/build/commonjs/AnimatedY/AnimatedY.js +10 -14
- package/build/commonjs/AnimatedY/AnimatedY.js.map +1 -1
- package/build/commonjs/AnimatedY/AnimatedYProps.js.map +1 -1
- package/build/commonjs/AnimatedY/index.js.map +1 -1
- package/build/commonjs/BottomSheet/BottomSheetNative.js +8 -2
- package/build/commonjs/BottomSheet/BottomSheetNative.js.map +1 -1
- package/build/commonjs/BottomSheet/BottomSheetProps.js.map +1 -1
- package/build/commonjs/BottomSheet/BottomSheetWeb.js +2 -6
- package/build/commonjs/BottomSheet/BottomSheetWeb.js.map +1 -1
- package/build/commonjs/BottomSheet/TransparentBackdrop.js +1 -1
- package/build/commonjs/BottomSheet/TransparentBackdrop.js.map +1 -1
- package/build/commonjs/BottomSheet/index.js.map +1 -1
- package/build/commonjs/BottomSheet/index.native.js.map +1 -1
- package/build/commonjs/Carousel/CarouselNative.js.map +1 -1
- package/build/commonjs/Carousel/CarouselProps.js.map +1 -1
- package/build/commonjs/Carousel/CarouselWeb.js +1 -1
- package/build/commonjs/Carousel/CarouselWeb.js.map +1 -1
- package/build/commonjs/Carousel/index.js.map +1 -1
- package/build/commonjs/Carousel/index.native.js.map +1 -1
- package/build/commonjs/Carousel/utils.js +1 -1
- package/build/commonjs/Carousel/utils.js.map +1 -1
- package/build/commonjs/ComicViewer/ComicViewer.js +168 -0
- package/build/commonjs/ComicViewer/ComicViewer.js.map +1 -0
- package/build/commonjs/ComicViewer/ComicViewerItemProps.js +6 -0
- package/build/commonjs/ComicViewer/ComicViewerItemProps.js.map +1 -0
- package/build/commonjs/ComicViewer/ComicViewerProps.js +2 -0
- package/build/commonjs/ComicViewer/ComicViewerProps.js.map +1 -0
- package/build/commonjs/ComicViewer/ViewerItem.js +88 -0
- package/build/commonjs/ComicViewer/ViewerItem.js.map +1 -0
- package/build/commonjs/ComicViewer/index.js +16 -0
- package/build/commonjs/ComicViewer/index.js.map +1 -0
- package/build/commonjs/DateTimePicker/DateTimePicker.js +7 -1
- package/build/commonjs/DateTimePicker/DateTimePicker.js.map +1 -1
- package/build/commonjs/DateTimePicker/DateTimePickerProps.js.map +1 -1
- package/build/commonjs/DateTimePicker/DateTimePickerProvider.js.map +1 -1
- package/build/commonjs/DateTimePicker/YearPicker.js +22 -17
- package/build/commonjs/DateTimePicker/YearPicker.js.map +1 -1
- package/build/commonjs/DateTimePicker/index.js +4 -4
- package/build/commonjs/DateTimePicker/index.js.map +1 -1
- package/build/commonjs/DateTimePicker/utils.js +2 -1
- package/build/commonjs/DateTimePicker/utils.js.map +1 -1
- package/build/commonjs/FlipCard/FlipCard.js +7 -13
- package/build/commonjs/FlipCard/FlipCard.js.map +1 -1
- package/build/commonjs/FlipCard/FlipCardProps.js.map +1 -1
- package/build/commonjs/FlipCard/index.js.map +1 -1
- package/build/commonjs/StatusBarProvider/Provider.js +1 -1
- package/build/commonjs/StatusBarProvider/Provider.js.map +1 -1
- package/build/commonjs/StatusBarProvider/StatusBarProvider.js.map +1 -1
- package/build/commonjs/StatusBarProvider/StatusBarProviderProps.js.map +1 -1
- package/build/commonjs/StatusBarProvider/index.js.map +1 -1
- package/build/commonjs/ViewPager/ChildrenMemoizedPage.js +90 -22
- package/build/commonjs/ViewPager/ChildrenMemoizedPage.js.map +1 -1
- package/build/commonjs/ViewPager/ViewPagerNative.js +46 -36
- package/build/commonjs/ViewPager/ViewPagerNative.js.map +1 -1
- package/build/commonjs/ViewPager/ViewPagerProps.js.map +1 -1
- package/build/commonjs/ViewPager/ViewPagerWeb.js +32 -25
- package/build/commonjs/ViewPager/ViewPagerWeb.js.map +1 -1
- package/build/commonjs/ViewPager/index.js.map +1 -1
- package/build/commonjs/ViewPager/index.native.js.map +1 -1
- package/build/commonjs/ViewPager/utils.js +3 -39
- package/build/commonjs/ViewPager/utils.js.map +1 -1
- package/build/commonjs/hooks/index.js.map +1 -1
- package/build/commonjs/hooks/useAppbarStyles.js.map +1 -1
- package/build/commonjs/hooks/useElevationStyle.js.map +1 -1
- package/build/commonjs/hooks/useHeight.js +5 -4
- package/build/commonjs/hooks/useHeight.js.map +1 -1
- package/build/commonjs/hooks/useUnstableCollapsibleAppBar.js +56 -57
- package/build/commonjs/hooks/useUnstableCollapsibleAppBar.js.map +1 -1
- package/build/commonjs/hooks/useUnstableToggleDisplayStyle.js +9 -11
- package/build/commonjs/hooks/useUnstableToggleDisplayStyle.js.map +1 -1
- package/build/commonjs/index.js +25 -4
- package/build/commonjs/index.js.map +1 -1
- package/build/module/AnimatedY/AnimatedY.js +11 -10
- package/build/module/AnimatedY/AnimatedY.js.map +1 -1
- package/build/module/AnimatedY/AnimatedYProps.js.map +1 -1
- package/build/module/AnimatedY/index.js.map +1 -1
- package/build/module/BottomSheet/BottomSheetNative.js +8 -2
- package/build/module/BottomSheet/BottomSheetNative.js.map +1 -1
- package/build/module/BottomSheet/BottomSheetProps.js.map +1 -1
- package/build/module/BottomSheet/BottomSheetWeb.js +2 -6
- package/build/module/BottomSheet/BottomSheetWeb.js.map +1 -1
- package/build/module/BottomSheet/TransparentBackdrop.js +1 -1
- package/build/module/BottomSheet/TransparentBackdrop.js.map +1 -1
- package/build/module/BottomSheet/index.js.map +1 -1
- package/build/module/BottomSheet/index.native.js.map +1 -1
- package/build/module/Carousel/CarouselNative.js.map +1 -1
- package/build/module/Carousel/CarouselProps.js.map +1 -1
- package/build/module/Carousel/CarouselWeb.js +1 -1
- package/build/module/Carousel/CarouselWeb.js.map +1 -1
- package/build/module/Carousel/index.js.map +1 -1
- package/build/module/Carousel/index.native.js.map +1 -1
- package/build/module/Carousel/utils.js.map +1 -1
- package/build/module/ComicViewer/ComicViewer.js +151 -0
- package/build/module/ComicViewer/ComicViewer.js.map +1 -0
- package/build/module/ComicViewer/ComicViewerItemProps.js +2 -0
- package/build/module/ComicViewer/ComicViewerItemProps.js.map +1 -0
- package/build/module/ComicViewer/ComicViewerProps.js +2 -0
- package/build/module/ComicViewer/ComicViewerProps.js.map +1 -0
- package/build/module/ComicViewer/ViewerItem.js +72 -0
- package/build/module/ComicViewer/ViewerItem.js.map +1 -0
- package/build/module/ComicViewer/index.js +2 -0
- package/build/module/ComicViewer/index.js.map +1 -0
- package/build/module/DateTimePicker/DateTimePicker.js +7 -1
- package/build/module/DateTimePicker/DateTimePicker.js.map +1 -1
- package/build/module/DateTimePicker/DateTimePickerProps.js.map +1 -1
- package/build/module/DateTimePicker/DateTimePickerProvider.js.map +1 -1
- package/build/module/DateTimePicker/YearPicker.js +22 -17
- package/build/module/DateTimePicker/YearPicker.js.map +1 -1
- package/build/module/DateTimePicker/index.js.map +1 -1
- package/build/module/DateTimePicker/utils.js +2 -1
- package/build/module/DateTimePicker/utils.js.map +1 -1
- package/build/module/FlipCard/FlipCard.js +7 -7
- package/build/module/FlipCard/FlipCard.js.map +1 -1
- package/build/module/FlipCard/FlipCardProps.js.map +1 -1
- package/build/module/FlipCard/index.js.map +1 -1
- package/build/module/StatusBarProvider/Provider.js.map +1 -1
- package/build/module/StatusBarProvider/StatusBarProvider.js.map +1 -1
- package/build/module/StatusBarProvider/StatusBarProviderProps.js.map +1 -1
- package/build/module/StatusBarProvider/index.js.map +1 -1
- package/build/module/ViewPager/ChildrenMemoizedPage.js +85 -23
- package/build/module/ViewPager/ChildrenMemoizedPage.js.map +1 -1
- package/build/module/ViewPager/ViewPagerNative.js +43 -32
- package/build/module/ViewPager/ViewPagerNative.js.map +1 -1
- package/build/module/ViewPager/ViewPagerProps.js.map +1 -1
- package/build/module/ViewPager/ViewPagerWeb.js +26 -23
- package/build/module/ViewPager/ViewPagerWeb.js.map +1 -1
- package/build/module/ViewPager/index.js.map +1 -1
- package/build/module/ViewPager/index.native.js.map +1 -1
- package/build/module/ViewPager/utils.js +1 -31
- package/build/module/ViewPager/utils.js.map +1 -1
- package/build/module/hooks/index.js.map +1 -1
- package/build/module/hooks/useAppbarStyles.js.map +1 -1
- package/build/module/hooks/useElevationStyle.js.map +1 -1
- package/build/module/hooks/useHeight.js +4 -3
- package/build/module/hooks/useHeight.js.map +1 -1
- package/build/module/hooks/useUnstableCollapsibleAppBar.js +58 -43
- package/build/module/hooks/useUnstableCollapsibleAppBar.js.map +1 -1
- package/build/module/hooks/useUnstableToggleDisplayStyle.js +9 -7
- package/build/module/hooks/useUnstableToggleDisplayStyle.js.map +1 -1
- package/build/module/index.js +2 -0
- package/build/module/index.js.map +1 -1
- package/build/typescript/AnimatedY/AnimatedY.d.ts +0 -1
- package/build/typescript/BottomSheet/BottomSheetNative.d.ts +0 -1
- package/build/typescript/BottomSheet/BottomSheetWeb.d.ts +0 -1
- package/build/typescript/BottomSheet/TransparentBackdrop.d.ts +0 -1
- package/build/typescript/Carousel/CarouselNative.d.ts +0 -1
- package/build/typescript/ComicViewer/ComicViewer.d.ts +2 -0
- package/build/typescript/ComicViewer/ComicViewerItemProps.d.ts +12 -0
- package/build/typescript/ComicViewer/ComicViewerProps.d.ts +76 -0
- package/build/typescript/ComicViewer/ViewerItem.d.ts +7 -0
- package/build/typescript/ComicViewer/index.d.ts +3 -0
- package/build/typescript/DateTimePicker/DateTimePicker.d.ts +0 -1
- package/build/typescript/DateTimePicker/YearPicker.d.ts +0 -1
- package/build/typescript/FlipCard/FlipCard.d.ts +0 -1
- package/build/typescript/StatusBarProvider/StatusBarProvider.d.ts +0 -1
- package/build/typescript/ViewPager/ChildrenMemoizedPage.d.ts +2 -1
- package/build/typescript/ViewPager/ViewPagerNative.d.ts +4 -2
- package/build/typescript/ViewPager/ViewPagerProps.d.ts +20 -19
- package/build/typescript/ViewPager/ViewPagerWeb.d.ts +4 -2
- package/build/typescript/ViewPager/index.d.ts +1 -1
- package/build/typescript/ViewPager/utils.d.ts +2 -19
- package/build/typescript/hooks/useUnstableCollapsibleAppBar.d.ts +2 -3
- package/build/typescript/hooks/useUnstableToggleDisplayStyle.d.ts +2 -2
- package/build/typescript/index.d.ts +2 -0
- package/package.json +13 -13
- package/src/AnimatedY/AnimatedY.tsx +13 -10
- package/src/BottomSheet/BottomSheetNative.tsx +6 -0
- package/src/ComicViewer/ComicViewer.tsx +162 -0
- package/src/ComicViewer/ComicViewerItemProps.ts +15 -0
- package/src/ComicViewer/ComicViewerProps.ts +90 -0
- package/src/ComicViewer/ViewerItem.tsx +76 -0
- package/src/ComicViewer/index.ts +3 -0
- package/src/DateTimePicker/DateTimePicker.tsx +6 -0
- package/src/DateTimePicker/YearPicker.tsx +2 -1
- package/src/FlipCard/FlipCard.tsx +8 -8
- package/src/ViewPager/ChildrenMemoizedPage.tsx +91 -22
- package/src/ViewPager/ViewPagerNative.tsx +47 -35
- package/src/ViewPager/ViewPagerProps.ts +20 -19
- package/src/ViewPager/ViewPagerWeb.tsx +34 -29
- package/src/ViewPager/index.ts +1 -1
- package/src/ViewPager/utils.tsx +2 -55
- package/src/hooks/useHeight.ts +2 -2
- package/src/hooks/useUnstableCollapsibleAppBar.ts +59 -42
- package/src/hooks/useUnstableToggleDisplayStyle.ts +8 -6
- package/src/index.ts +3 -0
- package/build/commonjs/hooks/useWidth.js +0 -29
- package/build/commonjs/hooks/useWidth.js.map +0 -1
- package/build/module/hooks/useWidth.js +0 -15
- package/build/module/hooks/useWidth.js.map +0 -1
- package/build/typescript/hooks/useWidth.d.ts +0 -2
- package/src/hooks/useWidth.ts +0 -17
|
@@ -1,37 +1,99 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
1
|
+
import React, { memo, useState } from 'react';
|
|
2
|
+
import { Platform, View } from 'react-native';
|
|
3
|
+
import { runOnJS, useAnimatedReaction } from 'react-native-reanimated';
|
|
4
|
+
import { StyleSheet } from '@fountain-ui/core';
|
|
5
|
+
const OFFSCREEN_RERENDER_LIMIT = 1;
|
|
6
|
+
const styles = StyleSheet.create({
|
|
7
|
+
none: {
|
|
8
|
+
display: 'none'
|
|
9
|
+
}
|
|
10
|
+
});
|
|
5
11
|
|
|
6
|
-
|
|
12
|
+
function Page(props) {
|
|
7
13
|
const {
|
|
8
|
-
|
|
9
|
-
|
|
14
|
+
index,
|
|
15
|
+
children,
|
|
16
|
+
loading,
|
|
17
|
+
sharedIndex
|
|
10
18
|
} = props;
|
|
11
|
-
return /*#__PURE__*/React.createElement(View, _extends({
|
|
12
|
-
collapsable: false
|
|
13
|
-
}, otherProps));
|
|
14
|
-
};
|
|
15
19
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
} // isVisible is an important condition for determining memos on the web.
|
|
20
|
-
// Reference ViewPagerWeb's return.
|
|
20
|
+
const assumeInitialPageState = () => {
|
|
21
|
+
const activeIndex = sharedIndex.value;
|
|
22
|
+
const active = index === activeIndex;
|
|
21
23
|
|
|
24
|
+
if (Platform.OS === 'web') {
|
|
25
|
+
return {
|
|
26
|
+
active,
|
|
27
|
+
visited: active
|
|
28
|
+
};
|
|
29
|
+
}
|
|
22
30
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
31
|
+
if (loading === 'eager') {
|
|
32
|
+
return {
|
|
33
|
+
active,
|
|
34
|
+
visited: true
|
|
35
|
+
};
|
|
36
|
+
}
|
|
26
37
|
|
|
27
|
-
|
|
28
|
-
return
|
|
29
|
-
|
|
38
|
+
const visited = index >= activeIndex - OFFSCREEN_RERENDER_LIMIT && index <= activeIndex + OFFSCREEN_RERENDER_LIMIT;
|
|
39
|
+
return {
|
|
40
|
+
active,
|
|
41
|
+
visited
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
const [pageState, setPageState] = useState(assumeInitialPageState);
|
|
46
|
+
const content = pageState.visited ? children : null;
|
|
47
|
+
|
|
48
|
+
const updatePageState = (active, neighbor) => {
|
|
49
|
+
setPageState(prevState => {
|
|
50
|
+
if (prevState.active !== active) {
|
|
51
|
+
return {
|
|
52
|
+
active,
|
|
53
|
+
visited: active || prevState.visited
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
if (neighbor && !prevState.visited) {
|
|
58
|
+
return { ...prevState,
|
|
59
|
+
visited: true
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
return prevState;
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
useAnimatedReaction(() => {
|
|
68
|
+
const activeIndex = sharedIndex.value;
|
|
69
|
+
const willVisible = index >= activeIndex - OFFSCREEN_RERENDER_LIMIT && index <= activeIndex + OFFSCREEN_RERENDER_LIMIT;
|
|
70
|
+
const willActive = index === activeIndex;
|
|
71
|
+
const willNeighbor = Platform.OS === 'web' ? false : willVisible && !willActive;
|
|
72
|
+
return {
|
|
73
|
+
willActive,
|
|
74
|
+
willNeighbor
|
|
75
|
+
};
|
|
76
|
+
}, (nextState, prevState) => {
|
|
77
|
+
const activeStateChanged = nextState.willActive !== (prevState === null || prevState === void 0 ? void 0 : prevState.willActive);
|
|
78
|
+
const willNewNeighbor = nextState.willNeighbor && !(prevState !== null && prevState !== void 0 && prevState.willNeighbor);
|
|
79
|
+
|
|
80
|
+
if (activeStateChanged || willNewNeighbor) {
|
|
81
|
+
runOnJS(updatePageState)(nextState.willActive, nextState.willNeighbor);
|
|
82
|
+
}
|
|
83
|
+
}, [index]);
|
|
84
|
+
const style = Platform.OS === 'web' ? pageState.active ? StyleSheet.absoluteFill : styles.none : undefined;
|
|
85
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
86
|
+
children: content,
|
|
87
|
+
collapsable: false,
|
|
88
|
+
style: style
|
|
89
|
+
});
|
|
90
|
+
}
|
|
30
91
|
|
|
92
|
+
export default /*#__PURE__*/memo(Page, (prevProps, nextProps) => {
|
|
31
93
|
if (prevProps.rerenderKey !== nextProps.rerenderKey) {
|
|
32
94
|
return false;
|
|
33
95
|
}
|
|
34
96
|
|
|
35
|
-
return prevProps.
|
|
97
|
+
return prevProps.index !== nextProps.index;
|
|
36
98
|
});
|
|
37
99
|
//# sourceMappingURL=ChildrenMemoizedPage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["React","memo","useState","Platform","View","runOnJS","useAnimatedReaction","StyleSheet","OFFSCREEN_RERENDER_LIMIT","styles","create","none","display","Page","props","index","children","loading","sharedIndex","assumeInitialPageState","activeIndex","value","active","OS","visited","pageState","setPageState","content","updatePageState","neighbor","prevState","willVisible","willActive","willNeighbor","nextState","activeStateChanged","willNewNeighbor","style","absoluteFill","undefined","prevProps","nextProps","rerenderKey"],"sources":["ChildrenMemoizedPage.tsx"],"sourcesContent":["import React, { memo, useState } from 'react';\nimport { Platform, View } from 'react-native';\nimport { runOnJS, useAnimatedReaction } from 'react-native-reanimated';\nimport { StyleSheet } from '@fountain-ui/core';\nimport type { PageProps } from './ViewPagerProps';\n\nconst OFFSCREEN_RERENDER_LIMIT = 1;\n\nconst styles = StyleSheet.create({\n none: { display: 'none' },\n});\n\ninterface PageState {\n active: boolean;\n visited: boolean;\n}\n\nfunction Page(props: PageProps) {\n const {\n index,\n children,\n loading,\n sharedIndex,\n } = props;\n\n const assumeInitialPageState = (): PageState => {\n const activeIndex = sharedIndex.value;\n\n const active = index === activeIndex;\n\n if (Platform.OS === 'web') {\n return { active, visited: active };\n }\n\n if (loading === 'eager') {\n return { active, visited: true };\n }\n\n const visited = index >= activeIndex - OFFSCREEN_RERENDER_LIMIT\n && index <= activeIndex + OFFSCREEN_RERENDER_LIMIT;\n\n return { active, visited };\n };\n\n const [pageState, setPageState] = useState<PageState>(assumeInitialPageState);\n\n const content = pageState.visited ? children : null;\n\n const updatePageState = (active: boolean, neighbor: boolean) => {\n setPageState(prevState => {\n if (prevState.active !== active) {\n return { active, visited: active || prevState.visited };\n }\n\n if (neighbor && !prevState.visited) {\n return { ...prevState, visited: true };\n }\n\n return prevState;\n });\n };\n\n useAnimatedReaction(\n () => {\n const activeIndex = sharedIndex.value;\n\n const willVisible = index >= activeIndex - OFFSCREEN_RERENDER_LIMIT\n && index <= activeIndex + OFFSCREEN_RERENDER_LIMIT;\n\n const willActive = index === activeIndex;\n const willNeighbor = Platform.OS === 'web' ? false : (willVisible && !willActive);\n\n return { willActive, willNeighbor };\n },\n (nextState, prevState) => {\n const activeStateChanged = nextState.willActive !== prevState?.willActive;\n const willNewNeighbor = nextState.willNeighbor && !prevState?.willNeighbor;\n\n if (activeStateChanged || willNewNeighbor) {\n runOnJS(updatePageState)(nextState.willActive, nextState.willNeighbor);\n }\n },\n [index],\n );\n\n const style = Platform.OS === 'web'\n ? (pageState.active ? StyleSheet.absoluteFill : styles.none)\n : undefined;\n\n return (\n <View\n children={content}\n collapsable={false}\n style={style}\n />\n );\n}\n\nexport default memo(Page, (prevProps, nextProps) => {\n if (prevProps.rerenderKey !== nextProps.rerenderKey) {\n return false;\n }\n\n return prevProps.index !== nextProps.index;\n});\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,IAAhB,EAAsBC,QAAtB,QAAsC,OAAtC;AACA,SAASC,QAAT,EAAmBC,IAAnB,QAA+B,cAA/B;AACA,SAASC,OAAT,EAAkBC,mBAAlB,QAA6C,yBAA7C;AACA,SAASC,UAAT,QAA2B,mBAA3B;AAGA,MAAMC,wBAAwB,GAAG,CAAjC;AAEA,MAAMC,MAAM,GAAGF,UAAU,CAACG,MAAX,CAAkB;EAC7BC,IAAI,EAAE;IAAEC,OAAO,EAAE;EAAX;AADuB,CAAlB,CAAf;;AASA,SAASC,IAAT,CAAcC,KAAd,EAAgC;EAC5B,MAAM;IACFC,KADE;IAEFC,QAFE;IAGFC,OAHE;IAIFC;EAJE,IAKFJ,KALJ;;EAOA,MAAMK,sBAAsB,GAAG,MAAiB;IAC5C,MAAMC,WAAW,GAAGF,WAAW,CAACG,KAAhC;IAEA,MAAMC,MAAM,GAAGP,KAAK,KAAKK,WAAzB;;IAEA,IAAIjB,QAAQ,CAACoB,EAAT,KAAgB,KAApB,EAA2B;MACvB,OAAO;QAAED,MAAF;QAAUE,OAAO,EAAEF;MAAnB,CAAP;IACH;;IAED,IAAIL,OAAO,KAAK,OAAhB,EAAyB;MACrB,OAAO;QAAEK,MAAF;QAAUE,OAAO,EAAE;MAAnB,CAAP;IACH;;IAED,MAAMA,OAAO,GAAGT,KAAK,IAAIK,WAAW,GAAGZ,wBAAvB,IACTO,KAAK,IAAIK,WAAW,GAAGZ,wBAD9B;IAGA,OAAO;MAAEc,MAAF;MAAUE;IAAV,CAAP;EACH,CAjBD;;EAmBA,MAAM,CAACC,SAAD,EAAYC,YAAZ,IAA4BxB,QAAQ,CAAYiB,sBAAZ,CAA1C;EAEA,MAAMQ,OAAO,GAAGF,SAAS,CAACD,OAAV,GAAoBR,QAApB,GAA+B,IAA/C;;EAEA,MAAMY,eAAe,GAAG,CAACN,MAAD,EAAkBO,QAAlB,KAAwC;IAC5DH,YAAY,CAACI,SAAS,IAAI;MACtB,IAAIA,SAAS,CAACR,MAAV,KAAqBA,MAAzB,EAAiC;QAC7B,OAAO;UAAEA,MAAF;UAAUE,OAAO,EAAEF,MAAM,IAAIQ,SAAS,CAACN;QAAvC,CAAP;MACH;;MAED,IAAIK,QAAQ,IAAI,CAACC,SAAS,CAACN,OAA3B,EAAoC;QAChC,OAAO,EAAE,GAAGM,SAAL;UAAgBN,OAAO,EAAE;QAAzB,CAAP;MACH;;MAED,OAAOM,SAAP;IACH,CAVW,CAAZ;EAWH,CAZD;;EAcAxB,mBAAmB,CACf,MAAM;IACF,MAAMc,WAAW,GAAGF,WAAW,CAACG,KAAhC;IAEA,MAAMU,WAAW,GAAGhB,KAAK,IAAIK,WAAW,GAAGZ,wBAAvB,IACbO,KAAK,IAAIK,WAAW,GAAGZ,wBAD9B;IAGA,MAAMwB,UAAU,GAAGjB,KAAK,KAAKK,WAA7B;IACA,MAAMa,YAAY,GAAG9B,QAAQ,CAACoB,EAAT,KAAgB,KAAhB,GAAwB,KAAxB,GAAiCQ,WAAW,IAAI,CAACC,UAAtE;IAEA,OAAO;MAAEA,UAAF;MAAcC;IAAd,CAAP;EACH,CAXc,EAYf,CAACC,SAAD,EAAYJ,SAAZ,KAA0B;IACtB,MAAMK,kBAAkB,GAAGD,SAAS,CAACF,UAAV,MAAyBF,SAAzB,aAAyBA,SAAzB,uBAAyBA,SAAS,CAAEE,UAApC,CAA3B;IACA,MAAMI,eAAe,GAAGF,SAAS,CAACD,YAAV,IAA0B,EAACH,SAAD,aAACA,SAAD,eAACA,SAAS,CAAEG,YAAZ,CAAlD;;IAEA,IAAIE,kBAAkB,IAAIC,eAA1B,EAA2C;MACvC/B,OAAO,CAACuB,eAAD,CAAP,CAAyBM,SAAS,CAACF,UAAnC,EAA+CE,SAAS,CAACD,YAAzD;IACH;EACJ,CAnBc,EAoBf,CAAClB,KAAD,CApBe,CAAnB;EAuBA,MAAMsB,KAAK,GAAGlC,QAAQ,CAACoB,EAAT,KAAgB,KAAhB,GACPE,SAAS,CAACH,MAAV,GAAmBf,UAAU,CAAC+B,YAA9B,GAA6C7B,MAAM,CAACE,IAD7C,GAER4B,SAFN;EAIA,oBACI,oBAAC,IAAD;IACI,QAAQ,EAAEZ,OADd;IAEI,WAAW,EAAE,KAFjB;IAGI,KAAK,EAAEU;EAHX,EADJ;AAOH;;AAED,4BAAepC,IAAI,CAACY,IAAD,EAAO,CAAC2B,SAAD,EAAYC,SAAZ,KAA0B;EAChD,IAAID,SAAS,CAACE,WAAV,KAA0BD,SAAS,CAACC,WAAxC,EAAqD;IACjD,OAAO,KAAP;EACH;;EAED,OAAOF,SAAS,CAACzB,KAAV,KAAoB0B,SAAS,CAAC1B,KAArC;AACH,CANkB,CAAnB"}
|
|
@@ -1,53 +1,64 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import RNViewPager from '
|
|
3
|
-
import {
|
|
4
|
-
|
|
1
|
+
import React, { Children, forwardRef, useCallback, useImperativeHandle, useRef } from 'react';
|
|
2
|
+
import RNViewPager from 'react-native-pager-view';
|
|
3
|
+
import { useSharedValue } from 'react-native-reanimated';
|
|
4
|
+
import { defaultInitialPage, defaultLoading, defaultPageComponent } from './utils';
|
|
5
|
+
const ViewPager = /*#__PURE__*/forwardRef(function ViewPager(props, ref) {
|
|
5
6
|
const {
|
|
6
7
|
children,
|
|
7
|
-
|
|
8
|
-
index,
|
|
8
|
+
initialPage = defaultInitialPage,
|
|
9
9
|
keyboardDismissMode = 'on-drag',
|
|
10
10
|
loading = defaultLoading,
|
|
11
11
|
onChange,
|
|
12
12
|
pageComponent = defaultPageComponent,
|
|
13
|
-
enableNeighborPageRerender = defaultEnableNeighborPageRerender,
|
|
14
13
|
pageForceRerenderKey,
|
|
15
14
|
scrollEnabled = true,
|
|
16
15
|
style
|
|
17
16
|
} = props;
|
|
18
|
-
const
|
|
19
|
-
const pagerRef =
|
|
20
|
-
const renderer = usePageRenderer({
|
|
21
|
-
enableVisibleHint,
|
|
22
|
-
index,
|
|
23
|
-
loading,
|
|
24
|
-
pageComponent,
|
|
25
|
-
pageForceRerenderKey,
|
|
26
|
-
enableNeighborPageRerender
|
|
27
|
-
});
|
|
28
|
-
const handlePageSelected = React.useCallback(e => {
|
|
29
|
-
indexRef.current = e.nativeEvent.position;
|
|
17
|
+
const sharedIndex = useSharedValue(initialPage);
|
|
18
|
+
const pagerRef = useRef(null);
|
|
30
19
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
34
|
-
}, [onChange]);
|
|
35
|
-
React.useEffect(() => {
|
|
36
|
-
if (index !== indexRef.current) {
|
|
20
|
+
const setPage = newIndex => {
|
|
21
|
+
requestAnimationFrame(() => {
|
|
37
22
|
var _pagerRef$current;
|
|
38
23
|
|
|
39
|
-
(_pagerRef$current = pagerRef.current) === null || _pagerRef$current === void 0 ? void 0 : _pagerRef$current.setPage(
|
|
24
|
+
(_pagerRef$current = pagerRef.current) === null || _pagerRef$current === void 0 ? void 0 : _pagerRef$current.setPage(newIndex);
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
useImperativeHandle(ref, () => ({
|
|
29
|
+
setPage
|
|
30
|
+
}), []);
|
|
31
|
+
const handlePageSelected = useCallback(e => {
|
|
32
|
+
const currentIndex = sharedIndex.value;
|
|
33
|
+
const nextIndex = e.nativeEvent.position;
|
|
34
|
+
|
|
35
|
+
if (currentIndex === nextIndex) {
|
|
36
|
+
return;
|
|
40
37
|
}
|
|
41
|
-
|
|
38
|
+
|
|
39
|
+
sharedIndex.value = nextIndex;
|
|
40
|
+
|
|
41
|
+
if (onChange) {
|
|
42
|
+
onChange(nextIndex);
|
|
43
|
+
}
|
|
44
|
+
}, [onChange]);
|
|
45
|
+
const PageComponent = pageComponent;
|
|
42
46
|
return /*#__PURE__*/React.createElement(RNViewPager, {
|
|
43
|
-
|
|
47
|
+
ref: pagerRef,
|
|
48
|
+
initialPage: initialPage,
|
|
44
49
|
keyboardDismissMode: keyboardDismissMode,
|
|
45
50
|
onPageSelected: handlePageSelected,
|
|
46
51
|
pageMargin: 8,
|
|
47
|
-
ref: pagerRef,
|
|
48
52
|
scrollEnabled: scrollEnabled,
|
|
49
53
|
style: style
|
|
50
|
-
},
|
|
51
|
-
|
|
52
|
-
|
|
54
|
+
}, Children.map(children, (child, index) => /*#__PURE__*/React.createElement(PageComponent, {
|
|
55
|
+
key: index,
|
|
56
|
+
children: child,
|
|
57
|
+
index: index,
|
|
58
|
+
loading: loading,
|
|
59
|
+
rerenderKey: pageForceRerenderKey,
|
|
60
|
+
sharedIndex: sharedIndex
|
|
61
|
+
})));
|
|
62
|
+
});
|
|
63
|
+
export default ViewPager;
|
|
53
64
|
//# sourceMappingURL=ViewPagerNative.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["React","Children","forwardRef","useCallback","useImperativeHandle","useRef","RNViewPager","useSharedValue","defaultInitialPage","defaultLoading","defaultPageComponent","ViewPager","props","ref","children","initialPage","keyboardDismissMode","loading","onChange","pageComponent","pageForceRerenderKey","scrollEnabled","style","sharedIndex","pagerRef","setPage","newIndex","requestAnimationFrame","current","handlePageSelected","e","currentIndex","value","nextIndex","nativeEvent","position","PageComponent","map","child","index"],"sources":["ViewPagerNative.tsx"],"sourcesContent":["import React, { Children, forwardRef, useCallback, useImperativeHandle, useRef } from 'react';\nimport type { ViewPagerOnPageSelectedEvent } from 'react-native-pager-view';\nimport RNViewPager from 'react-native-pager-view';\nimport { useSharedValue } from 'react-native-reanimated';\nimport type ViewPagerProps from './ViewPagerProps';\nimport type { ViewPagerInstance } from './ViewPagerProps';\nimport { defaultInitialPage, defaultLoading, defaultPageComponent } from './utils';\n\nconst ViewPager = forwardRef<ViewPagerInstance, ViewPagerProps>(function ViewPager(props, ref) {\n const {\n children,\n initialPage = defaultInitialPage,\n keyboardDismissMode = 'on-drag',\n loading = defaultLoading,\n onChange,\n pageComponent = defaultPageComponent,\n pageForceRerenderKey,\n scrollEnabled = true,\n style,\n } = props;\n\n const sharedIndex = useSharedValue<number>(initialPage);\n const pagerRef = useRef<RNViewPager | null>(null);\n\n const setPage = (newIndex: number) => {\n requestAnimationFrame(() => {\n pagerRef.current?.setPage(newIndex);\n });\n };\n\n useImperativeHandle(\n ref,\n () => ({ setPage }),\n [],\n );\n\n const handlePageSelected = useCallback((e: ViewPagerOnPageSelectedEvent) => {\n const currentIndex = sharedIndex.value;\n const nextIndex = e.nativeEvent.position;\n\n if (currentIndex === nextIndex) {\n return;\n }\n\n sharedIndex.value = nextIndex;\n\n if (onChange) {\n onChange(nextIndex);\n }\n }, [onChange]);\n\n const PageComponent = pageComponent;\n\n return (\n <RNViewPager\n ref={pagerRef}\n initialPage={initialPage}\n keyboardDismissMode={keyboardDismissMode}\n onPageSelected={handlePageSelected}\n pageMargin={8}\n scrollEnabled={scrollEnabled}\n style={style}\n >\n {Children.map(children, (child, index) => (\n <PageComponent\n key={index}\n children={child}\n index={index}\n loading={loading}\n rerenderKey={pageForceRerenderKey}\n sharedIndex={sharedIndex}\n />\n ))}\n </RNViewPager>\n );\n});\n\nexport default ViewPager;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,UAA1B,EAAsCC,WAAtC,EAAmDC,mBAAnD,EAAwEC,MAAxE,QAAsF,OAAtF;AAEA,OAAOC,WAAP,MAAwB,yBAAxB;AACA,SAASC,cAAT,QAA+B,yBAA/B;AAGA,SAASC,kBAAT,EAA6BC,cAA7B,EAA6CC,oBAA7C,QAAyE,SAAzE;AAEA,MAAMC,SAAS,gBAAGT,UAAU,CAAoC,SAASS,SAAT,CAAmBC,KAAnB,EAA0BC,GAA1B,EAA+B;EAC3F,MAAM;IACFC,QADE;IAEFC,WAAW,GAAGP,kBAFZ;IAGFQ,mBAAmB,GAAG,SAHpB;IAIFC,OAAO,GAAGR,cAJR;IAKFS,QALE;IAMFC,aAAa,GAAGT,oBANd;IAOFU,oBAPE;IAQFC,aAAa,GAAG,IARd;IASFC;EATE,IAUFV,KAVJ;EAYA,MAAMW,WAAW,GAAGhB,cAAc,CAASQ,WAAT,CAAlC;EACA,MAAMS,QAAQ,GAAGnB,MAAM,CAAqB,IAArB,CAAvB;;EAEA,MAAMoB,OAAO,GAAIC,QAAD,IAAsB;IAClCC,qBAAqB,CAAC,MAAM;MAAA;;MACxB,qBAAAH,QAAQ,CAACI,OAAT,wEAAkBH,OAAlB,CAA0BC,QAA1B;IACH,CAFoB,CAArB;EAGH,CAJD;;EAMAtB,mBAAmB,CACfS,GADe,EAEf,OAAO;IAAEY;EAAF,CAAP,CAFe,EAGf,EAHe,CAAnB;EAMA,MAAMI,kBAAkB,GAAG1B,WAAW,CAAE2B,CAAD,IAAqC;IACxE,MAAMC,YAAY,GAAGR,WAAW,CAACS,KAAjC;IACA,MAAMC,SAAS,GAAGH,CAAC,CAACI,WAAF,CAAcC,QAAhC;;IAEA,IAAIJ,YAAY,KAAKE,SAArB,EAAgC;MAC5B;IACH;;IAEDV,WAAW,CAACS,KAAZ,GAAoBC,SAApB;;IAEA,IAAIf,QAAJ,EAAc;MACVA,QAAQ,CAACe,SAAD,CAAR;IACH;EACJ,CAbqC,EAanC,CAACf,QAAD,CAbmC,CAAtC;EAeA,MAAMkB,aAAa,GAAGjB,aAAtB;EAEA,oBACI,oBAAC,WAAD;IACI,GAAG,EAAEK,QADT;IAEI,WAAW,EAAET,WAFjB;IAGI,mBAAmB,EAAEC,mBAHzB;IAII,cAAc,EAAEa,kBAJpB;IAKI,UAAU,EAAE,CALhB;IAMI,aAAa,EAAER,aANnB;IAOI,KAAK,EAAEC;EAPX,GASKrB,QAAQ,CAACoC,GAAT,CAAavB,QAAb,EAAuB,CAACwB,KAAD,EAAQC,KAAR,kBACpB,oBAAC,aAAD;IACI,GAAG,EAAEA,KADT;IAEI,QAAQ,EAAED,KAFd;IAGI,KAAK,EAAEC,KAHX;IAII,OAAO,EAAEtB,OAJb;IAKI,WAAW,EAAEG,oBALjB;IAMI,WAAW,EAAEG;EANjB,EADH,CATL,CADJ;AAsBH,CAnE2B,CAA5B;AAqEA,eAAeZ,SAAf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":[],"sources":["ViewPagerProps.ts"],"sourcesContent":["import type { ComponentType, PropsWithChildren, ReactNode, Ref } from 'react';\nimport type { ViewProps } from 'react-native';\nimport type { SharedValue } from 'react-native-reanimated';\nimport type { ComponentProps } from '@fountain-ui/core';\n\nexport type KeyboardDismissMode = 'none' | 'on-drag';\n\nexport type PageProps = PropsWithChildren<ViewProps> & {\n index: number;\n loading: ViewPagerProps['loading'];\n sharedIndex: SharedValue<number>;\n rerenderKey?: ViewPagerProps['pageForceRerenderKey'];\n};\n\nexport type PageComponent = ComponentType<PageProps>;\n\nexport type Loading = 'lazy' | 'eager';\n\nexport interface ViewPagerInstance {\n /**\n * Function to scroll to a specific page in the ViewPager. Invalid index is ignored.\n * @param index\n */\n setPage: (index: number) => void;\n}\n\nexport default interface ViewPagerProps extends ComponentProps<{\n ref?: Ref<ViewPagerInstance>;\n\n /**\n * Collection of ViewPager components.\n */\n children?: ReactNode;\n\n /**\n * Index of initial page that should be selected.\n * @default 0\n */\n initialPage?: number;\n\n /**\n * Whether to load the page immediately (`eager`) or on an as-needed basis (`lazy`).\n * @default 'lazy'\n */\n loading?: Loading;\n\n /**\n * Callback fired when an index is changed.\n */\n onChange?: (newIndex: number) => void,\n\n /**\n * The component used to render the wrapper of the page.\n * @default 'ChildrenMemoizedPage'\n */\n pageComponent?: PageComponent,\n\n /**\n * When this value is changed, page will be rerender.\n */\n pageForceRerenderKey?: any;\n\n /**\n * Mobile only. Should pager view scroll, when scroll enabled.\n * @default true\n */\n scrollEnabled?: boolean;\n\n /**\n * Mobile only. Determines whether the keyboard gets dismissed in response to a drag.\n * @default 'on-drag'\n */\n keyboardDismissMode?: KeyboardDismissMode;\n}> {}\n"],"mappings":""}
|
|
@@ -1,41 +1,44 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import React, { Children, forwardRef, useImperativeHandle } from 'react';
|
|
2
|
+
import { View } from 'react-native';
|
|
3
|
+
import { useSharedValue } from 'react-native-reanimated';
|
|
4
|
+
import { StyleSheet } from '@fountain-ui/core';
|
|
5
|
+
import { defaultInitialPage, defaultLoading, defaultPageComponent } from './utils';
|
|
4
6
|
const styles = StyleSheet.create({
|
|
5
7
|
root: {
|
|
6
8
|
// @ts-ignore
|
|
7
9
|
overflow: 'auto',
|
|
8
10
|
position: 'relative'
|
|
9
|
-
},
|
|
10
|
-
none: {
|
|
11
|
-
display: 'none'
|
|
12
11
|
}
|
|
13
12
|
});
|
|
14
|
-
|
|
13
|
+
const ViewPager = /*#__PURE__*/forwardRef(function ViewPager(props, ref) {
|
|
15
14
|
const {
|
|
16
15
|
children,
|
|
17
|
-
|
|
18
|
-
enableNeighborPageRerender = defaultEnableNeighborPageRerender,
|
|
19
|
-
index,
|
|
16
|
+
initialPage = defaultInitialPage,
|
|
20
17
|
loading = defaultLoading,
|
|
21
18
|
pageComponent = defaultPageComponent,
|
|
22
19
|
pageForceRerenderKey,
|
|
23
20
|
style
|
|
24
21
|
} = props;
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
22
|
+
const sharedIndex = useSharedValue(initialPage);
|
|
23
|
+
|
|
24
|
+
const setPage = newIndex => {
|
|
25
|
+
sharedIndex.value = newIndex;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
useImperativeHandle(ref, () => ({
|
|
29
|
+
setPage
|
|
30
|
+
}), []);
|
|
31
|
+
const PageComponent = pageComponent;
|
|
33
32
|
return /*#__PURE__*/React.createElement(View, {
|
|
34
33
|
style: [styles.root, style]
|
|
35
|
-
},
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
}, Children.map(children, (child, index) => /*#__PURE__*/React.createElement(PageComponent, {
|
|
35
|
+
key: index,
|
|
36
|
+
children: child,
|
|
37
|
+
index: index,
|
|
38
|
+
loading: loading,
|
|
39
|
+
rerenderKey: pageForceRerenderKey,
|
|
40
|
+
sharedIndex: sharedIndex
|
|
38
41
|
})));
|
|
39
|
-
}
|
|
40
|
-
;
|
|
42
|
+
});
|
|
43
|
+
export default ViewPager;
|
|
41
44
|
//# sourceMappingURL=ViewPagerWeb.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["React","Children","forwardRef","useImperativeHandle","View","useSharedValue","StyleSheet","defaultInitialPage","defaultLoading","defaultPageComponent","styles","create","root","overflow","position","ViewPager","props","ref","children","initialPage","loading","pageComponent","pageForceRerenderKey","style","sharedIndex","setPage","newIndex","value","PageComponent","map","child","index"],"sources":["ViewPagerWeb.tsx"],"sourcesContent":["import React, { Children, forwardRef, useImperativeHandle } from 'react';\nimport { View } from 'react-native';\nimport { useSharedValue } from 'react-native-reanimated';\nimport { StyleSheet } from '@fountain-ui/core';\nimport type ViewPagerProps from './ViewPagerProps';\nimport type { ViewPagerInstance } from './ViewPagerProps';\nimport { defaultInitialPage, defaultLoading, defaultPageComponent } from './utils';\n\nconst styles = StyleSheet.create({\n root: {\n // @ts-ignore\n overflow: 'auto',\n position: 'relative',\n },\n});\n\nconst ViewPager = forwardRef<ViewPagerInstance, ViewPagerProps>(function ViewPager(props, ref) {\n const {\n children,\n initialPage = defaultInitialPage,\n loading = defaultLoading,\n pageComponent = defaultPageComponent,\n pageForceRerenderKey,\n style,\n } = props;\n\n const sharedIndex = useSharedValue<number>(initialPage);\n\n const setPage = (newIndex: number) => {\n sharedIndex.value = newIndex;\n };\n\n useImperativeHandle(\n ref,\n () => ({ setPage }),\n [],\n );\n\n const PageComponent = pageComponent;\n\n return (\n <View style={[styles.root, style]}>\n {Children.map(children, (child, index) => (\n <PageComponent\n key={index}\n children={child}\n index={index}\n loading={loading}\n rerenderKey={pageForceRerenderKey}\n sharedIndex={sharedIndex}\n />\n ))}\n </View>\n );\n});\n\nexport default ViewPager;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,UAA1B,EAAsCC,mBAAtC,QAAiE,OAAjE;AACA,SAASC,IAAT,QAAqB,cAArB;AACA,SAASC,cAAT,QAA+B,yBAA/B;AACA,SAASC,UAAT,QAA2B,mBAA3B;AAGA,SAASC,kBAAT,EAA6BC,cAA7B,EAA6CC,oBAA7C,QAAyE,SAAzE;AAEA,MAAMC,MAAM,GAAGJ,UAAU,CAACK,MAAX,CAAkB;EAC7BC,IAAI,EAAE;IACF;IACAC,QAAQ,EAAE,MAFR;IAGFC,QAAQ,EAAE;EAHR;AADuB,CAAlB,CAAf;AAQA,MAAMC,SAAS,gBAAGb,UAAU,CAAoC,SAASa,SAAT,CAAmBC,KAAnB,EAA0BC,GAA1B,EAA+B;EAC3F,MAAM;IACFC,QADE;IAEFC,WAAW,GAAGZ,kBAFZ;IAGFa,OAAO,GAAGZ,cAHR;IAIFa,aAAa,GAAGZ,oBAJd;IAKFa,oBALE;IAMFC;EANE,IAOFP,KAPJ;EASA,MAAMQ,WAAW,GAAGnB,cAAc,CAASc,WAAT,CAAlC;;EAEA,MAAMM,OAAO,GAAIC,QAAD,IAAsB;IAClCF,WAAW,CAACG,KAAZ,GAAoBD,QAApB;EACH,CAFD;;EAIAvB,mBAAmB,CACfc,GADe,EAEf,OAAO;IAAEQ;EAAF,CAAP,CAFe,EAGf,EAHe,CAAnB;EAMA,MAAMG,aAAa,GAAGP,aAAtB;EAEA,oBACI,oBAAC,IAAD;IAAM,KAAK,EAAE,CAACX,MAAM,CAACE,IAAR,EAAcW,KAAd;EAAb,GACKtB,QAAQ,CAAC4B,GAAT,CAAaX,QAAb,EAAuB,CAACY,KAAD,EAAQC,KAAR,kBACpB,oBAAC,aAAD;IACI,GAAG,EAAEA,KADT;IAEI,QAAQ,EAAED,KAFd;IAGI,KAAK,EAAEC,KAHX;IAII,OAAO,EAAEX,OAJb;IAKI,WAAW,EAAEE,oBALjB;IAMI,WAAW,EAAEE;EANjB,EADH,CADL,CADJ;AAcH,CAtC2B,CAA5B;AAwCA,eAAeT,SAAf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["default"],"sources":["index.ts"],"sourcesContent":["export { default } from './ViewPagerWeb';\nexport type { default as ViewPagerProps, ViewPagerInstance } from './ViewPagerProps';\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,gBAAxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["default"],"sources":["index.native.ts"],"sourcesContent":["export { default } from './ViewPagerNative';\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,mBAAxB"}
|
|
@@ -1,35 +1,5 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import ChildrenMemoizedPage from './ChildrenMemoizedPage';
|
|
3
|
-
export const
|
|
4
|
-
export const defaultEnableNeighborPageRerender = false;
|
|
2
|
+
export const defaultInitialPage = 0;
|
|
5
3
|
export const defaultLoading = 'lazy';
|
|
6
4
|
export const defaultPageComponent = ChildrenMemoizedPage;
|
|
7
|
-
export const usePageRenderer = ({
|
|
8
|
-
enableVisibleHint,
|
|
9
|
-
index: currentIndex,
|
|
10
|
-
loading,
|
|
11
|
-
pageComponent: PageComponent,
|
|
12
|
-
pageForceRerenderKey,
|
|
13
|
-
enableNeighborPageRerender
|
|
14
|
-
}) => {
|
|
15
|
-
const pagesStateRef = React.useRef([]);
|
|
16
|
-
pagesStateRef.current[currentIndex] = { ...pagesStateRef.current[currentIndex],
|
|
17
|
-
visited: true
|
|
18
|
-
};
|
|
19
|
-
return children => React.Children.map(children, (child, index) => {
|
|
20
|
-
var _pagesStateRef$curren, _pagesStateRef$curren2;
|
|
21
|
-
|
|
22
|
-
const visited = (_pagesStateRef$curren = (_pagesStateRef$curren2 = pagesStateRef.current[index]) === null || _pagesStateRef$curren2 === void 0 ? void 0 : _pagesStateRef$curren2.visited) !== null && _pagesStateRef$curren !== void 0 ? _pagesStateRef$curren : false;
|
|
23
|
-
const content = loading === 'eager' || visited ? child : null;
|
|
24
|
-
const isVisible = enableVisibleHint ? index === currentIndex : false;
|
|
25
|
-
const isNeighborIndex = index === currentIndex - 1 || index === currentIndex + 1;
|
|
26
|
-
return /*#__PURE__*/React.createElement(PageComponent, {
|
|
27
|
-
key: index,
|
|
28
|
-
children: content,
|
|
29
|
-
isNeighbor: enableNeighborPageRerender && isNeighborIndex,
|
|
30
|
-
isVisible: isVisible,
|
|
31
|
-
rerenderKey: pageForceRerenderKey
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
};
|
|
35
5
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["ChildrenMemoizedPage","defaultInitialPage","defaultLoading","defaultPageComponent"],"sources":["utils.tsx"],"sourcesContent":["import React from 'react';\nimport { Loading, PageComponent } from './ViewPagerProps';\nimport ChildrenMemoizedPage from './ChildrenMemoizedPage';\n\nexport const defaultInitialPage: number = 0;\n\nexport const defaultLoading: Loading = 'lazy';\n\nexport const defaultPageComponent: PageComponent = ChildrenMemoizedPage;\n"],"mappings":"AAEA,OAAOA,oBAAP,MAAiC,wBAAjC;AAEA,OAAO,MAAMC,kBAA0B,GAAG,CAAnC;AAEP,OAAO,MAAMC,cAAuB,GAAG,MAAhC;AAEP,OAAO,MAAMC,oBAAmC,GAAGH,oBAA5C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["default","useUnstableCollapsibleAppBar","useUnstableToggleDisplayStyle"],"sources":["index.ts"],"sourcesContent":["export { default as useUnstableCollapsibleAppBar } from './useUnstableCollapsibleAppBar';\nexport { default as useUnstableToggleDisplayStyle } from './useUnstableToggleDisplayStyle';\n\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,4BAApB,QAAwD,gCAAxD;AACA,SAASD,OAAO,IAAIE,6BAApB,QAAyD,iCAAzD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["useAppBarStyles","floating","position","top","left","right"],"sources":["useAppbarStyles.ts"],"sourcesContent":["import { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\n\ntype AppBarStyles = NamedStylesStringUnion<'floating'>;\n\nconst useAppBarStyles: UseStyles<AppBarStyles> = function (): AppBarStyles {\n return {\n floating: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n },\n };\n};\n\nexport default useAppBarStyles;"],"mappings":"AAIA,MAAMA,eAAwC,GAAG,YAA0B;EACvE,OAAO;IACHC,QAAQ,EAAE;MACNC,QAAQ,EAAE,UADJ;MAENC,GAAG,EAAE,CAFC;MAGNC,IAAI,EAAE,CAHA;MAINC,KAAK,EAAE;IAJD;EADP,CAAP;AAQH,CATD;;AAWA,eAAeL,eAAf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["Platform","useTheme","useElevationStyle","elevation","theme","shadow","select","android","ios","web","boxShadow"],"sources":["useElevationStyle.ts"],"sourcesContent":["import { Platform } from 'react-native';\nimport type { Elevation } from '@fountain-ui/styles';\nimport { useTheme } from '@fountain-ui/styles';\n\nexport default function useElevationStyle(elevation: Elevation) {\n const theme = useTheme();\n const shadow = theme.shadow[elevation];\n\n return Platform.select<any>({\n android: shadow?.elevation,\n ios: shadow?.shadow,\n web: shadow?.boxShadow,\n });\n};\n"],"mappings":"AAAA,SAASA,QAAT,QAAyB,cAAzB;AAEA,SAASC,QAAT,QAAyB,qBAAzB;AAEA,eAAe,SAASC,iBAAT,CAA2BC,SAA3B,EAAiD;EAC5D,MAAMC,KAAK,GAAGH,QAAQ,EAAtB;EACA,MAAMI,MAAM,GAAGD,KAAK,CAACC,MAAN,CAAaF,SAAb,CAAf;EAEA,OAAOH,QAAQ,CAACM,MAAT,CAAqB;IACxBC,OAAO,EAAEF,MAAF,aAAEA,MAAF,uBAAEA,MAAM,CAAEF,SADO;IAExBK,GAAG,EAAEH,MAAF,aAAEA,MAAF,uBAAEA,MAAM,CAAEA,MAFW;IAGxBI,GAAG,EAAEJ,MAAF,aAAEA,MAAF,uBAAEA,MAAM,CAAEK;EAHW,CAArB,CAAP;AAKH;AAAA"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import
|
|
3
|
-
export default function useHeight(
|
|
2
|
+
import { useWorkletCallback } from 'react-native-reanimated';
|
|
3
|
+
export default function useHeight() {
|
|
4
|
+
let initialHeight = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
4
5
|
const [height, setHeight] = React.useState(initialHeight);
|
|
5
|
-
const onLayout =
|
|
6
|
+
const onLayout = useWorkletCallback(e => {
|
|
6
7
|
setHeight(e.nativeEvent.layout.height);
|
|
7
8
|
}, []);
|
|
8
9
|
return [height, onLayout];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"names":["React","useWorkletCallback","useHeight","initialHeight","height","setHeight","useState","onLayout","e","nativeEvent","layout"],"sources":["useHeight.ts"],"sourcesContent":["import React from 'react';\nimport { ViewProps } from 'react-native';\nimport { useWorkletCallback } from 'react-native-reanimated';\n\ntype OnLayoutCallback = ViewProps['onLayout'];\n\nexport default function useHeight(initialHeight = 0): [number, OnLayoutCallback] {\n const [height, setHeight] = React.useState<number>(initialHeight);\n\n const onLayout = useWorkletCallback((e) => {\n setHeight(e.nativeEvent.layout.height);\n }, []);\n\n return [height, onLayout];\n};\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,SAASC,kBAAT,QAAmC,yBAAnC;AAIA,eAAe,SAASC,SAAT,GAAkE;EAAA,IAA/CC,aAA+C,uEAA/B,CAA+B;EAC7E,MAAM,CAACC,MAAD,EAASC,SAAT,IAAsBL,KAAK,CAACM,QAAN,CAAuBH,aAAvB,CAA5B;EAEA,MAAMI,QAAQ,GAAGN,kBAAkB,CAAEO,CAAD,IAAO;IACvCH,SAAS,CAACG,CAAC,CAACC,WAAF,CAAcC,MAAd,CAAqBN,MAAtB,CAAT;EACH,CAFkC,EAEhC,EAFgC,CAAnC;EAIA,OAAO,CAACA,MAAD,EAASG,QAAT,CAAP;AACH;AAAA"}
|