react-native-app-onboard 0.1.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.
- package/LICENSE +20 -0
- package/README.md +187 -0
- package/lib/commonjs/components/CustomPages.js +134 -0
- package/lib/commonjs/components/CustomPages.js.map +1 -0
- package/lib/commonjs/components/OnboardingPages.js +157 -0
- package/lib/commonjs/components/OnboardingPages.js.map +1 -0
- package/lib/commonjs/components/Page.js +60 -0
- package/lib/commonjs/components/Page.js.map +1 -0
- package/lib/commonjs/components/Pagination.js +94 -0
- package/lib/commonjs/components/Pagination.js.map +1 -0
- package/lib/commonjs/components/Swiper.js +56 -0
- package/lib/commonjs/components/Swiper.js.map +1 -0
- package/lib/commonjs/components/button.js +57 -0
- package/lib/commonjs/components/button.js.map +1 -0
- package/lib/commonjs/components/index.js +17 -0
- package/lib/commonjs/components/index.js.map +1 -0
- package/lib/commonjs/context/OnboardingContext.js +65 -0
- package/lib/commonjs/context/OnboardingContext.js.map +1 -0
- package/lib/commonjs/hooks/useOnboarding.js +18 -0
- package/lib/commonjs/hooks/useOnboarding.js.map +1 -0
- package/lib/commonjs/index.js +26 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/types/index.js +6 -0
- package/lib/commonjs/types/index.js.map +1 -0
- package/lib/module/components/CustomPages.js +126 -0
- package/lib/module/components/CustomPages.js.map +1 -0
- package/lib/module/components/OnboardingPages.js +147 -0
- package/lib/module/components/OnboardingPages.js.map +1 -0
- package/lib/module/components/Page.js +53 -0
- package/lib/module/components/Page.js.map +1 -0
- package/lib/module/components/Pagination.js +87 -0
- package/lib/module/components/Pagination.js.map +1 -0
- package/lib/module/components/Swiper.js +48 -0
- package/lib/module/components/Swiper.js.map +1 -0
- package/lib/module/components/button.js +49 -0
- package/lib/module/components/button.js.map +1 -0
- package/lib/module/components/index.js +2 -0
- package/lib/module/components/index.js.map +1 -0
- package/lib/module/context/OnboardingContext.js +57 -0
- package/lib/module/context/OnboardingContext.js.map +1 -0
- package/lib/module/hooks/useOnboarding.js +10 -0
- package/lib/module/hooks/useOnboarding.js.map +1 -0
- package/lib/module/index.js +13 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/types/index.js +2 -0
- package/lib/module/types/index.js.map +1 -0
- package/lib/typescript/src/components/CustomPages.d.ts +21 -0
- package/lib/typescript/src/components/CustomPages.d.ts.map +1 -0
- package/lib/typescript/src/components/OnboardingPages.d.ts +15 -0
- package/lib/typescript/src/components/OnboardingPages.d.ts.map +1 -0
- package/lib/typescript/src/components/Page.d.ts +17 -0
- package/lib/typescript/src/components/Page.d.ts.map +1 -0
- package/lib/typescript/src/components/Pagination.d.ts +29 -0
- package/lib/typescript/src/components/Pagination.d.ts.map +1 -0
- package/lib/typescript/src/components/Swiper.d.ts +4 -0
- package/lib/typescript/src/components/Swiper.d.ts.map +1 -0
- package/lib/typescript/src/components/button.d.ts +12 -0
- package/lib/typescript/src/components/button.d.ts.map +1 -0
- package/lib/typescript/src/components/index.d.ts +2 -0
- package/lib/typescript/src/components/index.d.ts.map +1 -0
- package/lib/typescript/src/context/OnboardingContext.d.ts +28 -0
- package/lib/typescript/src/context/OnboardingContext.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useOnboarding.d.ts +12 -0
- package/lib/typescript/src/hooks/useOnboarding.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +5 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/types/index.d.ts +42 -0
- package/lib/typescript/src/types/index.d.ts.map +1 -0
- package/package.json +160 -0
- package/src/components/CustomPages.tsx +160 -0
- package/src/components/OnboardingPages.tsx +173 -0
- package/src/components/Page.tsx +90 -0
- package/src/components/Pagination.tsx +151 -0
- package/src/components/Swiper.tsx +56 -0
- package/src/components/button.tsx +74 -0
- package/src/components/index.ts +1 -0
- package/src/context/OnboardingContext.tsx +95 -0
- package/src/hooks/useOnboarding.tsx +12 -0
- package/src/index.tsx +18 -0
- package/src/types/index.ts +40 -0
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Pagination = Pagination;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _useOnboarding = require("../hooks/useOnboarding");
|
|
10
|
+
var _button = require("./button");
|
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
|
+
function Pagination(props) {
|
|
13
|
+
const {
|
|
14
|
+
isDone
|
|
15
|
+
} = (0, _useOnboarding.useOnboarding)();
|
|
16
|
+
const dots = Array.from({
|
|
17
|
+
length: props.numberOfScreens
|
|
18
|
+
}, (_, i) => i);
|
|
19
|
+
const width = props.width;
|
|
20
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
21
|
+
style: [styles.pagination, {
|
|
22
|
+
backgroundColor: props.backgroundColor
|
|
23
|
+
}, props.paginationContainerStyle]
|
|
24
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
25
|
+
style: [styles.buttons, styles.leftButton, props.buttonLeftContainerStyle]
|
|
26
|
+
}, props.showSkip && /*#__PURE__*/_react.default.createElement(_button.Button, {
|
|
27
|
+
onPress: props.onSkip,
|
|
28
|
+
buttonTextStyle: props.skipLabelStyle,
|
|
29
|
+
label: props.skipLabel || 'Skip'
|
|
30
|
+
})), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
31
|
+
style: styles.dotsContainer
|
|
32
|
+
}, dots.map((_, i) => {
|
|
33
|
+
const inputRange = [(i - 1) * width, i * width, (i + 1) * width];
|
|
34
|
+
const dotOpacity = props.animatedValue.interpolate({
|
|
35
|
+
inputRange,
|
|
36
|
+
outputRange: [0.3, 1, 0.3],
|
|
37
|
+
extrapolate: 'clamp'
|
|
38
|
+
});
|
|
39
|
+
return /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
|
|
40
|
+
key: i,
|
|
41
|
+
style: [styles.dot, {
|
|
42
|
+
backgroundColor: props.color,
|
|
43
|
+
opacity: dotOpacity
|
|
44
|
+
}, props.dotsContainerStyle]
|
|
45
|
+
});
|
|
46
|
+
})), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
47
|
+
style: [styles.buttons, styles.rightButton, props.buttonRightContainerStyle]
|
|
48
|
+
}, !isDone && props.showNext && /*#__PURE__*/_react.default.createElement(_button.Button, {
|
|
49
|
+
onPress: props.onNext,
|
|
50
|
+
label: props.nextLabel || 'Next',
|
|
51
|
+
buttonTextStyle: props.nextLabelStyle
|
|
52
|
+
}), isDone && props.showDone && /*#__PURE__*/_react.default.createElement(_button.Button, {
|
|
53
|
+
onPress: props.onDone,
|
|
54
|
+
label: props.doneLabel || 'Done',
|
|
55
|
+
buttonTextStyle: props.doneLabelStyle
|
|
56
|
+
})));
|
|
57
|
+
}
|
|
58
|
+
const styles = _reactNative.StyleSheet.create({
|
|
59
|
+
pagination: {
|
|
60
|
+
flexDirection: 'row',
|
|
61
|
+
justifyContent: 'space-between',
|
|
62
|
+
alignItems: 'center',
|
|
63
|
+
height: 60,
|
|
64
|
+
paddingVertical: 10,
|
|
65
|
+
paddingHorizontal: 20
|
|
66
|
+
},
|
|
67
|
+
dot: {
|
|
68
|
+
height: 10,
|
|
69
|
+
width: 10,
|
|
70
|
+
borderRadius: 5,
|
|
71
|
+
backgroundColor: 'blue',
|
|
72
|
+
marginHorizontal: 8
|
|
73
|
+
},
|
|
74
|
+
dotsContainer: {
|
|
75
|
+
flexDirection: 'row',
|
|
76
|
+
flex: 1,
|
|
77
|
+
justifyContent: 'center'
|
|
78
|
+
},
|
|
79
|
+
text: {
|
|
80
|
+
fontSize: 16
|
|
81
|
+
},
|
|
82
|
+
buttons: {
|
|
83
|
+
minWidth: 200
|
|
84
|
+
},
|
|
85
|
+
rightButton: {
|
|
86
|
+
alignItems: 'flex-end',
|
|
87
|
+
paddingRight: 30
|
|
88
|
+
},
|
|
89
|
+
leftButton: {
|
|
90
|
+
alignItems: 'flex-start',
|
|
91
|
+
paddingLeft: 30
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
//# sourceMappingURL=Pagination.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_react","_interopRequireDefault","_useOnboarding","_button","e","__esModule","default","Pagination","props","isDone","useOnboarding","dots","Array","from","length","numberOfScreens","_","i","width","createElement","View","style","styles","pagination","backgroundColor","paginationContainerStyle","buttons","leftButton","buttonLeftContainerStyle","showSkip","Button","onPress","onSkip","buttonTextStyle","skipLabelStyle","label","skipLabel","dotsContainer","map","inputRange","dotOpacity","animatedValue","interpolate","outputRange","extrapolate","Animated","key","dot","color","opacity","dotsContainerStyle","rightButton","buttonRightContainerStyle","showNext","onNext","nextLabel","nextLabelStyle","showDone","onDone","doneLabel","doneLabelStyle","StyleSheet","create","flexDirection","justifyContent","alignItems","height","paddingVertical","paddingHorizontal","borderRadius","marginHorizontal","flex","text","fontSize","minWidth","paddingRight","paddingLeft"],"sourceRoot":"../../../src","sources":["components/Pagination.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAQA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAAkC,SAAAE,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AA2B3B,SAASG,UAAUA,CAACC,KAAkB,EAAE;EAC7C,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,4BAAa,EAAC,CAAC;EAClC,MAAMC,IAAI,GAAGC,KAAK,CAACC,IAAI,CAAC;IAAEC,MAAM,EAAEN,KAAK,CAACO;EAAgB,CAAC,EAAE,CAACC,CAAC,EAAEC,CAAC,KAAKA,CAAC,CAAC;EACvE,MAAMC,KAAK,GAAGV,KAAK,CAACU,KAAK;EACzB,oBACElB,MAAA,CAAAM,OAAA,CAAAa,aAAA,CAACrB,YAAA,CAAAsB,IAAI;IACHC,KAAK,EAAE,CACLC,MAAM,CAACC,UAAU,EACjB;MACEC,eAAe,EAAEhB,KAAK,CAACgB;IACzB,CAAC,EACDhB,KAAK,CAACiB,wBAAwB;EAC9B,gBAEFzB,MAAA,CAAAM,OAAA,CAAAa,aAAA,CAACrB,YAAA,CAAAsB,IAAI;IACHC,KAAK,EAAE,CACLC,MAAM,CAACI,OAAO,EACdJ,MAAM,CAACK,UAAU,EACjBnB,KAAK,CAACoB,wBAAwB;EAC9B,GAEDpB,KAAK,CAACqB,QAAQ,iBACb7B,MAAA,CAAAM,OAAA,CAAAa,aAAA,CAAChB,OAAA,CAAA2B,MAAM;IACLC,OAAO,EAAEvB,KAAK,CAACwB,MAAO;IACtBC,eAAe,EAAEzB,KAAK,CAAC0B,cAAe;IACtCC,KAAK,EAAE3B,KAAK,CAAC4B,SAAS,IAAI;EAAO,CAClC,CAEC,CAAC,eACPpC,MAAA,CAAAM,OAAA,CAAAa,aAAA,CAACrB,YAAA,CAAAsB,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACe;EAAc,GAC/B1B,IAAI,CAAC2B,GAAG,CAAC,CAACtB,CAAC,EAAEC,CAAC,KAAK;IAClB,MAAMsB,UAAU,GAAG,CAAC,CAACtB,CAAC,GAAG,CAAC,IAAIC,KAAK,EAAED,CAAC,GAAGC,KAAK,EAAE,CAACD,CAAC,GAAG,CAAC,IAAIC,KAAK,CAAC;IAChE,MAAMsB,UAAU,GAAGhC,KAAK,CAACiC,aAAa,CAACC,WAAW,CAAC;MACjDH,UAAU;MACVI,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;MAC1BC,WAAW,EAAE;IACf,CAAC,CAAC;IACF,oBACE5C,MAAA,CAAAM,OAAA,CAAAa,aAAA,CAACrB,YAAA,CAAA+C,QAAQ,CAACzB,IAAI;MACZ0B,GAAG,EAAE7B,CAAE;MACPI,KAAK,EAAE,CACLC,MAAM,CAACyB,GAAG,EACV;QACEvB,eAAe,EAAEhB,KAAK,CAACwC,KAAK;QAC5BC,OAAO,EAAET;MACX,CAAC,EACDhC,KAAK,CAAC0C,kBAAkB;IACxB,CACH,CAAC;EAEN,CAAC,CACG,CAAC,eACPlD,MAAA,CAAAM,OAAA,CAAAa,aAAA,CAACrB,YAAA,CAAAsB,IAAI;IACHC,KAAK,EAAE,CACLC,MAAM,CAACI,OAAO,EACdJ,MAAM,CAAC6B,WAAW,EAClB3C,KAAK,CAAC4C,yBAAyB;EAC/B,GAED,CAAC3C,MAAM,IAAID,KAAK,CAAC6C,QAAQ,iBACxBrD,MAAA,CAAAM,OAAA,CAAAa,aAAA,CAAChB,OAAA,CAAA2B,MAAM;IACLC,OAAO,EAAEvB,KAAK,CAAC8C,MAAO;IACtBnB,KAAK,EAAE3B,KAAK,CAAC+C,SAAS,IAAI,MAAO;IACjCtB,eAAe,EAAEzB,KAAK,CAACgD;EAAe,CACvC,CACF,EACA/C,MAAM,IAAID,KAAK,CAACiD,QAAQ,iBACvBzD,MAAA,CAAAM,OAAA,CAAAa,aAAA,CAAChB,OAAA,CAAA2B,MAAM;IACLC,OAAO,EAAEvB,KAAK,CAACkD,MAAO;IACtBvB,KAAK,EAAE3B,KAAK,CAACmD,SAAS,IAAI,MAAO;IACjC1B,eAAe,EAAEzB,KAAK,CAACoD;EAAe,CACvC,CAEC,CACF,CAAC;AAEX;AAEA,MAAMtC,MAAM,GAAGuC,uBAAU,CAACC,MAAM,CAAC;EAC/BvC,UAAU,EAAE;IACVwC,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,eAAe;IAC/BC,UAAU,EAAE,QAAQ;IACpBC,MAAM,EAAE,EAAE;IACVC,eAAe,EAAE,EAAE;IACnBC,iBAAiB,EAAE;EACrB,CAAC;EACDrB,GAAG,EAAE;IACHmB,MAAM,EAAE,EAAE;IACVhD,KAAK,EAAE,EAAE;IACTmD,YAAY,EAAE,CAAC;IACf7C,eAAe,EAAE,MAAM;IACvB8C,gBAAgB,EAAE;EACpB,CAAC;EACDjC,aAAa,EAAE;IACb0B,aAAa,EAAE,KAAK;IACpBQ,IAAI,EAAE,CAAC;IACPP,cAAc,EAAE;EAClB,CAAC;EACDQ,IAAI,EAAE;IACJC,QAAQ,EAAE;EACZ,CAAC;EACD/C,OAAO,EAAE;IACPgD,QAAQ,EAAE;EACZ,CAAC;EACDvB,WAAW,EAAE;IACXc,UAAU,EAAE,UAAU;IACtBU,YAAY,EAAE;EAChB,CAAC;EACDhD,UAAU,EAAE;IACVsC,UAAU,EAAE,YAAY;IACxBW,WAAW,EAAE;EACf;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Swiper = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _OnboardingPages = require("./OnboardingPages");
|
|
9
|
+
var _CustomPages = require("./CustomPages");
|
|
10
|
+
var _reactNative = require("react-native");
|
|
11
|
+
var _useOnboarding = require("../hooks/useOnboarding");
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
|
+
const Swiper = props => {
|
|
14
|
+
const scrollX = _react.default.useRef(new _reactNative.Animated.Value(0)).current;
|
|
15
|
+
const {
|
|
16
|
+
flatListRef,
|
|
17
|
+
setCurrentPage,
|
|
18
|
+
currentPage,
|
|
19
|
+
numberOfScreens,
|
|
20
|
+
nextPage,
|
|
21
|
+
scrollEnabled
|
|
22
|
+
} = (0, _useOnboarding.useOnboarding)();
|
|
23
|
+
if (props.children) {
|
|
24
|
+
return /*#__PURE__*/_react.default.createElement(_CustomPages.CustomPages, {
|
|
25
|
+
customFooter: props.customFooter,
|
|
26
|
+
showPagination: props.showPagination,
|
|
27
|
+
flatListRef: flatListRef,
|
|
28
|
+
scrollX: scrollX,
|
|
29
|
+
setPage: setCurrentPage,
|
|
30
|
+
scrollEnabled: scrollEnabled,
|
|
31
|
+
currentPage: currentPage,
|
|
32
|
+
numberOfScreens: numberOfScreens,
|
|
33
|
+
nextPage: nextPage,
|
|
34
|
+
showDone: props.showDone,
|
|
35
|
+
onDone: props.onDone
|
|
36
|
+
}, props.children);
|
|
37
|
+
}
|
|
38
|
+
return /*#__PURE__*/_react.default.createElement(_OnboardingPages.OnboardingPages, {
|
|
39
|
+
showDone: props.showDone,
|
|
40
|
+
customFooter: props.customFooter,
|
|
41
|
+
flatListRef: flatListRef,
|
|
42
|
+
scrollX: scrollX,
|
|
43
|
+
setPage: setCurrentPage,
|
|
44
|
+
currentPage: currentPage,
|
|
45
|
+
paginationPosition: props.paginationPosition,
|
|
46
|
+
nextPage: nextPage,
|
|
47
|
+
showSkip: props.showSkip,
|
|
48
|
+
onDone: props.onDone,
|
|
49
|
+
pages: props.pages || [],
|
|
50
|
+
width: props.width,
|
|
51
|
+
color: props.color,
|
|
52
|
+
onSkip: props.onSkip
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
exports.Swiper = Swiper;
|
|
56
|
+
//# sourceMappingURL=Swiper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_OnboardingPages","_CustomPages","_reactNative","_useOnboarding","e","__esModule","default","Swiper","props","scrollX","React","useRef","Animated","Value","current","flatListRef","setCurrentPage","currentPage","numberOfScreens","nextPage","scrollEnabled","useOnboarding","children","createElement","CustomPages","customFooter","showPagination","setPage","showDone","onDone","OnboardingPages","paginationPosition","showSkip","pages","width","color","onSkip","exports"],"sourceRoot":"../../../src","sources":["components/Swiper.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AAAuD,SAAAD,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAGhD,MAAMG,MAAiC,GAAIC,KAAK,IAAK;EAC1D,MAAMC,OAAO,GAAGC,cAAK,CAACC,MAAM,CAAC,IAAIC,qBAAQ,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC,CAACC,OAAO;EAC3D,MAAM;IACJC,WAAW;IACXC,cAAc;IACdC,WAAW;IACXC,eAAe;IACfC,QAAQ;IACRC;EACF,CAAC,GAAG,IAAAC,4BAAa,EAAC,CAAC;EACnB,IAAIb,KAAK,CAACc,QAAQ,EAAE;IAClB,oBACEzB,MAAA,CAAAS,OAAA,CAAAiB,aAAA,CAACtB,YAAA,CAAAuB,WAAW;MACVC,YAAY,EAAEjB,KAAK,CAACiB,YAAa;MACjCC,cAAc,EAAElB,KAAK,CAACkB,cAAe;MACrCX,WAAW,EAAEA,WAAY;MACzBN,OAAO,EAAEA,OAAQ;MACjBkB,OAAO,EAAEX,cAAe;MACxBI,aAAa,EAAEA,aAAc;MAC7BH,WAAW,EAAEA,WAAY;MACzBC,eAAe,EAAEA,eAAgB;MACjCC,QAAQ,EAAEA,QAAS;MACnBS,QAAQ,EAAEpB,KAAK,CAACoB,QAAS;MACzBC,MAAM,EAAErB,KAAK,CAACqB;IAAO,GAEpBrB,KAAK,CAACc,QACI,CAAC;EAElB;EAEA,oBACEzB,MAAA,CAAAS,OAAA,CAAAiB,aAAA,CAACvB,gBAAA,CAAA8B,eAAe;IACdF,QAAQ,EAAEpB,KAAK,CAACoB,QAAS;IACzBH,YAAY,EAAEjB,KAAK,CAACiB,YAAa;IACjCV,WAAW,EAAEA,WAAY;IACzBN,OAAO,EAAEA,OAAQ;IACjBkB,OAAO,EAAEX,cAAe;IACxBC,WAAW,EAAEA,WAAY;IACzBc,kBAAkB,EAAEvB,KAAK,CAACuB,kBAAmB;IAC7CZ,QAAQ,EAAEA,QAAS;IACnBa,QAAQ,EAAExB,KAAK,CAACwB,QAAS;IACzBH,MAAM,EAAErB,KAAK,CAACqB,MAAO;IACrBI,KAAK,EAAEzB,KAAK,CAACyB,KAAK,IAAI,EAAG;IACzBC,KAAK,EAAE1B,KAAK,CAAC0B,KAAM;IACnBC,KAAK,EAAE3B,KAAK,CAAC2B,KAAM;IACnBC,MAAM,EAAE5B,KAAK,CAAC4B;EAAO,CACtB,CAAC;AAEN,CAAC;AAACC,OAAA,CAAA9B,MAAA,GAAAA,MAAA","ignoreList":[]}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Button = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
const Button = props => {
|
|
11
|
+
return typeof props.label === 'string' ? /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
|
|
12
|
+
onPress: props.onPress,
|
|
13
|
+
style: props.buttonStyle
|
|
14
|
+
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
|
|
15
|
+
style: [styles.text, {
|
|
16
|
+
color: props.color || 'white'
|
|
17
|
+
}, props.buttonTextStyle]
|
|
18
|
+
}, props.label)) : props.label;
|
|
19
|
+
};
|
|
20
|
+
exports.Button = Button;
|
|
21
|
+
const styles = _reactNative.StyleSheet.create({
|
|
22
|
+
pagination: {
|
|
23
|
+
flexDirection: 'row',
|
|
24
|
+
justifyContent: 'space-between',
|
|
25
|
+
alignItems: 'center',
|
|
26
|
+
height: 60,
|
|
27
|
+
paddingVertical: 10,
|
|
28
|
+
paddingHorizontal: 20
|
|
29
|
+
},
|
|
30
|
+
dot: {
|
|
31
|
+
height: 10,
|
|
32
|
+
width: 10,
|
|
33
|
+
borderRadius: 5,
|
|
34
|
+
backgroundColor: 'blue',
|
|
35
|
+
marginHorizontal: 8
|
|
36
|
+
},
|
|
37
|
+
dotsContainer: {
|
|
38
|
+
flexDirection: 'row',
|
|
39
|
+
flex: 1,
|
|
40
|
+
justifyContent: 'center'
|
|
41
|
+
},
|
|
42
|
+
text: {
|
|
43
|
+
fontSize: 16
|
|
44
|
+
},
|
|
45
|
+
buttons: {
|
|
46
|
+
minWidth: 200
|
|
47
|
+
},
|
|
48
|
+
rightButton: {
|
|
49
|
+
alignItems: 'flex-end',
|
|
50
|
+
paddingRight: 30
|
|
51
|
+
},
|
|
52
|
+
leftButton: {
|
|
53
|
+
alignItems: 'flex-start',
|
|
54
|
+
paddingLeft: 30
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
//# sourceMappingURL=button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_react","_interopRequireDefault","e","__esModule","default","Button","props","label","createElement","TouchableOpacity","onPress","style","buttonStyle","Text","styles","text","color","buttonTextStyle","exports","StyleSheet","create","pagination","flexDirection","justifyContent","alignItems","height","paddingVertical","paddingHorizontal","dot","width","borderRadius","backgroundColor","marginHorizontal","dotsContainer","flex","fontSize","buttons","minWidth","rightButton","paddingRight","leftButton","paddingLeft"],"sourceRoot":"../../../src","sources":["components/button.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAQA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA0B,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAUnB,MAAMG,MAAM,GAAIC,KAAkB,IAAK;EAC5C,OAAO,OAAOA,KAAK,CAACC,KAAK,KAAK,QAAQ,gBACpCP,MAAA,CAAAI,OAAA,CAAAI,aAAA,CAACV,YAAA,CAAAW,gBAAgB;IAACC,OAAO,EAAEJ,KAAK,CAACI,OAAQ;IAACC,KAAK,EAAEL,KAAK,CAACM;EAAY,gBACjEZ,MAAA,CAAAI,OAAA,CAAAI,aAAA,CAACV,YAAA,CAAAe,IAAI;IACHF,KAAK,EAAE,CACLG,MAAM,CAACC,IAAI,EACX;MACEC,KAAK,EAAEV,KAAK,CAACU,KAAK,IAAI;IACxB,CAAC,EACDV,KAAK,CAACW,eAAe;EACrB,GAEDX,KAAK,CAACC,KACH,CACU,CAAC,GAEnBD,KAAK,CAACC,KACP;AACH,CAAC;AAACW,OAAA,CAAAb,MAAA,GAAAA,MAAA;AAEF,MAAMS,MAAM,GAAGK,uBAAU,CAACC,MAAM,CAAC;EAC/BC,UAAU,EAAE;IACVC,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,eAAe;IAC/BC,UAAU,EAAE,QAAQ;IACpBC,MAAM,EAAE,EAAE;IACVC,eAAe,EAAE,EAAE;IACnBC,iBAAiB,EAAE;EACrB,CAAC;EACDC,GAAG,EAAE;IACHH,MAAM,EAAE,EAAE;IACVI,KAAK,EAAE,EAAE;IACTC,YAAY,EAAE,CAAC;IACfC,eAAe,EAAE,MAAM;IACvBC,gBAAgB,EAAE;EACpB,CAAC;EACDC,aAAa,EAAE;IACbX,aAAa,EAAE,KAAK;IACpBY,IAAI,EAAE,CAAC;IACPX,cAAc,EAAE;EAClB,CAAC;EACDR,IAAI,EAAE;IACJoB,QAAQ,EAAE;EACZ,CAAC;EACDC,OAAO,EAAE;IACPC,QAAQ,EAAE;EACZ,CAAC;EACDC,WAAW,EAAE;IACXd,UAAU,EAAE,UAAU;IACtBe,YAAY,EAAE;EAChB,CAAC;EACDC,UAAU,EAAE;IACVhB,UAAU,EAAE,YAAY;IACxBiB,WAAW,EAAE;EACf;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _Swiper = require("./Swiper");
|
|
7
|
+
Object.keys(_Swiper).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _Swiper[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _Swiper[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_Swiper","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sourceRoot":"../../../src","sources":["components/index.ts"],"mappings":";;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,OAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,OAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,OAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.OnboardingProvider = exports.OnboardingContext = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
const OnboardingContext = exports.OnboardingContext = /*#__PURE__*/_react.default.createContext(undefined);
|
|
11
|
+
const OnboardingProvider = ({
|
|
12
|
+
children,
|
|
13
|
+
width = _reactNative.Dimensions.get('window').width,
|
|
14
|
+
numberOfScreens,
|
|
15
|
+
scrollEnabled
|
|
16
|
+
}) => {
|
|
17
|
+
const getProgress = page => {
|
|
18
|
+
return Math.round((page + 1) / numberOfScreens * 100);
|
|
19
|
+
};
|
|
20
|
+
const [currentPage, setPage] = _react.default.useState(0);
|
|
21
|
+
const [progress, setProgress] = _react.default.useState(getProgress(0));
|
|
22
|
+
const [isDone, setIsDone] = _react.default.useState(false);
|
|
23
|
+
const [enableScroll, setEnableScroll] = _react.default.useState(scrollEnabled);
|
|
24
|
+
const flatListRef = _react.default.useRef(null);
|
|
25
|
+
const setCurrentPage = index => {
|
|
26
|
+
setPage(index);
|
|
27
|
+
setProgress(getProgress(index));
|
|
28
|
+
setIsDone(index === numberOfScreens - 1);
|
|
29
|
+
};
|
|
30
|
+
const nextPage = (animated = true) => {
|
|
31
|
+
if (flatListRef.current) {
|
|
32
|
+
flatListRef.current.scrollToOffset({
|
|
33
|
+
offset: width * (currentPage + 1),
|
|
34
|
+
animated: animated
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
setCurrentPage(currentPage + 1);
|
|
38
|
+
};
|
|
39
|
+
const scrollTo = (index, animated = true) => {
|
|
40
|
+
if (flatListRef.current && index >= 0) {
|
|
41
|
+
flatListRef.current.scrollToOffset({
|
|
42
|
+
offset: index * width,
|
|
43
|
+
animated: animated
|
|
44
|
+
});
|
|
45
|
+
setCurrentPage(index);
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
const contextValue = {
|
|
49
|
+
scrollEnabled: enableScroll,
|
|
50
|
+
enableScroll: setEnableScroll,
|
|
51
|
+
currentPage,
|
|
52
|
+
numberOfScreens,
|
|
53
|
+
nextPage,
|
|
54
|
+
setCurrentPage,
|
|
55
|
+
flatListRef,
|
|
56
|
+
scrollTo,
|
|
57
|
+
progress,
|
|
58
|
+
isDone
|
|
59
|
+
};
|
|
60
|
+
return /*#__PURE__*/_react.default.createElement(OnboardingContext.Provider, {
|
|
61
|
+
value: contextValue
|
|
62
|
+
}, children);
|
|
63
|
+
};
|
|
64
|
+
exports.OnboardingProvider = OnboardingProvider;
|
|
65
|
+
//# sourceMappingURL=OnboardingContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","e","__esModule","default","OnboardingContext","exports","React","createContext","undefined","OnboardingProvider","children","width","Dimensions","get","numberOfScreens","scrollEnabled","getProgress","page","Math","round","currentPage","setPage","useState","progress","setProgress","isDone","setIsDone","enableScroll","setEnableScroll","flatListRef","useRef","setCurrentPage","index","nextPage","animated","current","scrollToOffset","offset","scrollTo","contextValue","createElement","Provider","value"],"sourceRoot":"../../../src","sources":["context/OnboardingContext.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAAyD,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AA2BlD,MAAMG,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,gBAAGE,cAAK,CAACC,aAAa,CAElDC,SAAS,CAAC;AAEL,MAAMC,kBAAqD,GAAGA,CAAC;EACpEC,QAAQ;EACRC,KAAK,GAAGC,uBAAU,CAACC,GAAG,CAAC,QAAQ,CAAC,CAACF,KAAK;EACtCG,eAAe;EACfC;AACF,CAAC,KAAK;EACJ,MAAMC,WAAW,GAAIC,IAAY,IAAK;IACpC,OAAOC,IAAI,CAACC,KAAK,CAAE,CAACF,IAAI,GAAG,CAAC,IAAIH,eAAe,GAAI,GAAG,CAAC;EACzD,CAAC;EAED,MAAM,CAACM,WAAW,EAAEC,OAAO,CAAC,GAAGf,cAAK,CAACgB,QAAQ,CAAC,CAAC,CAAC;EAChD,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGlB,cAAK,CAACgB,QAAQ,CAACN,WAAW,CAAC,CAAC,CAAC,CAAC;EAC9D,MAAM,CAACS,MAAM,EAAEC,SAAS,CAAC,GAAGpB,cAAK,CAACgB,QAAQ,CAAC,KAAK,CAAC;EACjD,MAAM,CAACK,YAAY,EAAEC,eAAe,CAAC,GAAGtB,cAAK,CAACgB,QAAQ,CACpDP,aACF,CAAC;EACD,MAAMc,WAAW,GAAGvB,cAAK,CAACwB,MAAM,CAAW,IAAI,CAAC;EAEhD,MAAMC,cAAc,GAAIC,KAAa,IAAK;IACxCX,OAAO,CAACW,KAAK,CAAC;IACdR,WAAW,CAACR,WAAW,CAACgB,KAAK,CAAC,CAAC;IAC/BN,SAAS,CAACM,KAAK,KAAKlB,eAAe,GAAG,CAAC,CAAC;EAC1C,CAAC;EAED,MAAMmB,QAAQ,GAAGA,CAACC,QAAiB,GAAG,IAAI,KAAK;IAC7C,IAAIL,WAAW,CAACM,OAAO,EAAE;MACvBN,WAAW,CAACM,OAAO,CAACC,cAAc,CAAC;QACjCC,MAAM,EAAE1B,KAAK,IAAIS,WAAW,GAAG,CAAC,CAAC;QACjCc,QAAQ,EAAEA;MACZ,CAAC,CAAC;IACJ;IACAH,cAAc,CAACX,WAAW,GAAG,CAAC,CAAC;EACjC,CAAC;EAED,MAAMkB,QAAQ,GAAGA,CAACN,KAAa,EAAEE,QAAiB,GAAG,IAAI,KAAK;IAC5D,IAAIL,WAAW,CAACM,OAAO,IAAIH,KAAK,IAAI,CAAC,EAAE;MACrCH,WAAW,CAACM,OAAO,CAACC,cAAc,CAAC;QACjCC,MAAM,EAAEL,KAAK,GAAGrB,KAAK;QACrBuB,QAAQ,EAAEA;MACZ,CAAC,CAAC;MACFH,cAAc,CAACC,KAAK,CAAC;IACvB;EACF,CAAC;EAED,MAAMO,YAAmC,GAAG;IAC1CxB,aAAa,EAAEY,YAAY;IAC3BA,YAAY,EAAEC,eAAe;IAC7BR,WAAW;IACXN,eAAe;IACfmB,QAAQ;IACRF,cAAc;IACdF,WAAW;IACXS,QAAQ;IACRf,QAAQ;IACRE;EACF,CAAC;EAED,oBACE5B,MAAA,CAAAM,OAAA,CAAAqC,aAAA,CAACpC,iBAAiB,CAACqC,QAAQ;IAACC,KAAK,EAAEH;EAAa,GAC7C7B,QACyB,CAAC;AAEjC,CAAC;AAACL,OAAA,CAAAI,kBAAA,GAAAA,kBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useOnboarding = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _OnboardingContext = require("../context/OnboardingContext");
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
const useOnboarding = () => {
|
|
11
|
+
const context = _react.default.useContext(_OnboardingContext.OnboardingContext);
|
|
12
|
+
if (!context) {
|
|
13
|
+
throw new Error('useOnboardingContext must be used within an OnboardingProvider');
|
|
14
|
+
}
|
|
15
|
+
return context;
|
|
16
|
+
};
|
|
17
|
+
exports.useOnboarding = useOnboarding;
|
|
18
|
+
//# sourceMappingURL=useOnboarding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_OnboardingContext","e","__esModule","default","useOnboarding","context","React","useContext","OnboardingContext","Error","exports"],"sourceRoot":"../../../src","sources":["hooks/useOnboarding.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA;AAAiE,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE1D,MAAMG,aAAa,GAAGA,CAAA,KAAM;EACjC,MAAMC,OAAO,GAAGC,cAAK,CAACC,UAAU,CAACC,oCAAiB,CAAC;EACnD,IAAI,CAACH,OAAO,EAAE;IACZ,MAAM,IAAII,KAAK,CACb,gEACF,CAAC;EACH;EACA,OAAOJ,OAAO;AAChB,CAAC;AAACK,OAAA,CAAAN,aAAA,GAAAA,aAAA","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Onboarding = Onboarding;
|
|
7
|
+
Object.defineProperty(exports, "useOnboarding", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () {
|
|
10
|
+
return _useOnboarding.useOnboarding;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
var _react = _interopRequireDefault(require("react"));
|
|
14
|
+
var _Swiper = require("./components/Swiper");
|
|
15
|
+
var _OnboardingContext = require("./context/OnboardingContext");
|
|
16
|
+
var _useOnboarding = require("./hooks/useOnboarding");
|
|
17
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
18
|
+
function Onboarding(props) {
|
|
19
|
+
var _props$pages;
|
|
20
|
+
const numberOfScreens = _react.default.Children.count(props.children);
|
|
21
|
+
return /*#__PURE__*/_react.default.createElement(_OnboardingContext.OnboardingProvider, {
|
|
22
|
+
scrollEnabled: props.scrollEnabled,
|
|
23
|
+
numberOfScreens: numberOfScreens || ((_props$pages = props.pages) === null || _props$pages === void 0 ? void 0 : _props$pages.length) || 0
|
|
24
|
+
}, /*#__PURE__*/_react.default.createElement(_Swiper.Swiper, props, props.children));
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_Swiper","_OnboardingContext","_useOnboarding","e","__esModule","default","Onboarding","props","_props$pages","numberOfScreens","React","Children","count","children","createElement","OnboardingProvider","scrollEnabled","pages","length","Swiper"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAF,OAAA;AAGA,IAAAG,cAAA,GAAAH,OAAA;AAAsD,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE/C,SAASG,UAAUA,CAACC,KAAsB,EAAE;EAAA,IAAAC,YAAA;EACjD,MAAMC,eAAe,GAAGC,cAAK,CAACC,QAAQ,CAACC,KAAK,CAACL,KAAK,CAACM,QAAQ,CAAC;EAC5D,oBACEhB,MAAA,CAAAQ,OAAA,CAAAS,aAAA,CAACb,kBAAA,CAAAc,kBAAkB;IACjBC,aAAa,EAAET,KAAK,CAACS,aAAc;IACnCP,eAAe,EAAEA,eAAe,MAAAD,YAAA,GAAID,KAAK,CAACU,KAAK,cAAAT,YAAA,uBAAXA,YAAA,CAAaU,MAAM,KAAI;EAAE,gBAE7DrB,MAAA,CAAAQ,OAAA,CAAAS,aAAA,CAACd,OAAA,CAAAmB,MAAM,EAAKZ,KAAK,EAAGA,KAAK,CAACM,QAAiB,CACzB,CAAC;AAEzB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/index.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { View, Dimensions, Animated, StyleSheet } from 'react-native';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { Pagination } from './Pagination';
|
|
4
|
+
const {
|
|
5
|
+
width
|
|
6
|
+
} = Dimensions.get('window');
|
|
7
|
+
export const CustomPages = ({
|
|
8
|
+
showPagination = true,
|
|
9
|
+
...props
|
|
10
|
+
}) => {
|
|
11
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
12
|
+
style: [styles.container]
|
|
13
|
+
}, showPagination && props.paginationPosition === 'top' && /*#__PURE__*/React.createElement(React.Fragment, null, showPagination && props.customFooter && props.customFooter({
|
|
14
|
+
nextPage: props.nextPage
|
|
15
|
+
}), !props.customFooter && /*#__PURE__*/React.createElement(Pagination, {
|
|
16
|
+
color: '#fff',
|
|
17
|
+
backgroundColor: '#333',
|
|
18
|
+
width: width,
|
|
19
|
+
onNext: props.nextPage,
|
|
20
|
+
onSkip: props.onSkip,
|
|
21
|
+
onDone: props.onDone,
|
|
22
|
+
showDone: props.showDone,
|
|
23
|
+
animatedValue: props.scrollX,
|
|
24
|
+
showSkip: props.showSkip,
|
|
25
|
+
numberOfScreens: props.numberOfScreens,
|
|
26
|
+
skipLabel: props.skipLabel,
|
|
27
|
+
nextLabel: props.nextLabel,
|
|
28
|
+
doneLabel: props.doneLabel,
|
|
29
|
+
paginationContainerStyle: props.paginationContainerStyle,
|
|
30
|
+
buttonRightContainerStyle: props.buttonRightContainerStyle,
|
|
31
|
+
buttonLeftContainerStyle: props.buttonLeftContainerStyle,
|
|
32
|
+
dotsContainerStyle: props.dotsContainerStyle,
|
|
33
|
+
doneLabelStyle: props.doneLabelStyle,
|
|
34
|
+
skipLabelStyle: props.skipLabelStyle,
|
|
35
|
+
nextLabelStyle: props.nextLabelStyle
|
|
36
|
+
})), /*#__PURE__*/React.createElement(Animated.FlatList, {
|
|
37
|
+
ref: props.flatListRef,
|
|
38
|
+
data: React.Children.toArray(props.children),
|
|
39
|
+
horizontal: true,
|
|
40
|
+
pagingEnabled: true,
|
|
41
|
+
showsHorizontalScrollIndicator: false,
|
|
42
|
+
scrollEnabled: props.scrollEnabled,
|
|
43
|
+
onScroll: Animated.event([{
|
|
44
|
+
nativeEvent: {
|
|
45
|
+
contentOffset: {
|
|
46
|
+
x: props.scrollX
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}], {
|
|
50
|
+
useNativeDriver: false
|
|
51
|
+
}),
|
|
52
|
+
scrollEventThrottle: 1,
|
|
53
|
+
onMomentumScrollEnd: event => {
|
|
54
|
+
const pageIndex = Math.round(event.nativeEvent.contentOffset.x / width);
|
|
55
|
+
props.setPage(pageIndex || 0);
|
|
56
|
+
},
|
|
57
|
+
keyExtractor: (_, index) => index.toString(),
|
|
58
|
+
renderItem: ({
|
|
59
|
+
item,
|
|
60
|
+
index
|
|
61
|
+
}) => {
|
|
62
|
+
return /*#__PURE__*/React.cloneElement(item, {
|
|
63
|
+
currentPage: props.currentPage,
|
|
64
|
+
numberOfScreens: props.numberOfScreens,
|
|
65
|
+
nextPage: props.nextPage,
|
|
66
|
+
index
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
}), showPagination && props.paginationPosition !== 'top' && /*#__PURE__*/React.createElement(React.Fragment, null, showPagination && props.customFooter && props.customFooter({
|
|
70
|
+
nextPage: props.nextPage
|
|
71
|
+
}), !props.customFooter && /*#__PURE__*/React.createElement(Pagination, {
|
|
72
|
+
color: '#fff',
|
|
73
|
+
backgroundColor: '#333',
|
|
74
|
+
width: width,
|
|
75
|
+
onNext: props.nextPage,
|
|
76
|
+
onSkip: props.onSkip,
|
|
77
|
+
onDone: props.onDone,
|
|
78
|
+
showDone: props.showDone,
|
|
79
|
+
animatedValue: props.scrollX,
|
|
80
|
+
showSkip: props.showSkip,
|
|
81
|
+
numberOfScreens: props.numberOfScreens,
|
|
82
|
+
skipLabel: props.skipLabel,
|
|
83
|
+
nextLabel: props.nextLabel,
|
|
84
|
+
doneLabel: props.doneLabel,
|
|
85
|
+
paginationContainerStyle: props.paginationContainerStyle,
|
|
86
|
+
buttonRightContainerStyle: props.buttonRightContainerStyle,
|
|
87
|
+
buttonLeftContainerStyle: props.buttonLeftContainerStyle,
|
|
88
|
+
dotsContainerStyle: props.dotsContainerStyle,
|
|
89
|
+
doneLabelStyle: props.doneLabelStyle,
|
|
90
|
+
skipLabelStyle: props.skipLabelStyle,
|
|
91
|
+
nextLabelStyle: props.nextLabelStyle
|
|
92
|
+
})));
|
|
93
|
+
};
|
|
94
|
+
const styles = StyleSheet.create({
|
|
95
|
+
container: {
|
|
96
|
+
flex: 1,
|
|
97
|
+
justifyContent: 'center',
|
|
98
|
+
alignItems: 'center'
|
|
99
|
+
},
|
|
100
|
+
screen: {
|
|
101
|
+
width,
|
|
102
|
+
justifyContent: 'center',
|
|
103
|
+
alignItems: 'center',
|
|
104
|
+
backgroundColor: 'blue'
|
|
105
|
+
},
|
|
106
|
+
pagination: {
|
|
107
|
+
flexDirection: 'row',
|
|
108
|
+
alignItems: 'center',
|
|
109
|
+
paddingVertical: 10,
|
|
110
|
+
paddingHorizontal: 20,
|
|
111
|
+
width
|
|
112
|
+
},
|
|
113
|
+
dot: {
|
|
114
|
+
height: 10,
|
|
115
|
+
width: 10,
|
|
116
|
+
borderRadius: 5,
|
|
117
|
+
backgroundColor: '#333',
|
|
118
|
+
margin: 5
|
|
119
|
+
},
|
|
120
|
+
dotsContainer: {
|
|
121
|
+
flexDirection: 'row',
|
|
122
|
+
flex: 1,
|
|
123
|
+
justifyContent: 'center'
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
//# sourceMappingURL=CustomPages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["View","Dimensions","Animated","StyleSheet","React","Pagination","width","get","CustomPages","showPagination","props","createElement","style","styles","container","paginationPosition","Fragment","customFooter","nextPage","color","backgroundColor","onNext","onSkip","onDone","showDone","animatedValue","scrollX","showSkip","numberOfScreens","skipLabel","nextLabel","doneLabel","paginationContainerStyle","buttonRightContainerStyle","buttonLeftContainerStyle","dotsContainerStyle","doneLabelStyle","skipLabelStyle","nextLabelStyle","FlatList","ref","flatListRef","data","Children","toArray","children","horizontal","pagingEnabled","showsHorizontalScrollIndicator","scrollEnabled","onScroll","event","nativeEvent","contentOffset","x","useNativeDriver","scrollEventThrottle","onMomentumScrollEnd","pageIndex","Math","round","setPage","keyExtractor","_","index","toString","renderItem","item","cloneElement","currentPage","create","flex","justifyContent","alignItems","screen","pagination","flexDirection","paddingVertical","paddingHorizontal","dot","height","borderRadius","margin","dotsContainer"],"sourceRoot":"../../../src","sources":["components/CustomPages.tsx"],"mappings":"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","ignoreList":[]}
|