react-native-slider-intro
Version:
A simple and full customizable React Native package which implements a unique slider.
61 lines (60 loc) • 1.72 kB
JavaScript
"use strict";
import React, { useContext } from 'react';
import { Animated, StyleSheet, TouchableOpacity, View } from 'react-native';
import { SliderContext } from './SliderProvider';
import { ButtonType } from '../types/Button.types';
import Button from './Button';
import { jsx as _jsx } from "react/jsx-runtime";
const styles = StyleSheet.create({
wrapper: {
flex: 1,
justifyContent: 'center',
alignItems: 'center'
}
});
const Next = () => {
const {
renderNextButton,
renderDoneButton,
buttonsMaxSize,
nextLabel,
doneLabel,
slide,
goToNewSlide,
isLastSlide,
animations
} = useContext(SliderContext);
const {
_opacityOfNextButton,
_opacityOfDoneButton
} = animations;
const renderDefaultNextButton = label => /*#__PURE__*/_jsx(Button, {
label: label,
type: ButtonType.Next
});
const renderDefaultDoneButton = label => /*#__PURE__*/_jsx(Button, {
label: label,
type: ButtonType.Done
});
return /*#__PURE__*/_jsx(View, {
style: [styles.wrapper, {
maxWidth: buttonsMaxSize
}],
children: /*#__PURE__*/_jsx(TouchableOpacity, {
onPress: () => goToNewSlide(slide.active + 1),
children: !isLastSlide ? /*#__PURE__*/_jsx(Animated.View, {
style: {
opacity: _opacityOfNextButton
},
children: renderNextButton ? renderNextButton(nextLabel) : renderDefaultNextButton(nextLabel)
}) : /*#__PURE__*/_jsx(Animated.View, {
style: {
opacity: _opacityOfDoneButton
},
children: renderDoneButton ? renderDoneButton(doneLabel) : renderDefaultDoneButton(doneLabel)
})
})
});
};
export default Next;
//# sourceMappingURL=Next.js.map