UNPKG

mopinion-react-native-sdk

Version:

Collect in-app feedback with Mopinion for React Native. Built fully in React Native for optimal integration with your React Native app.

1 lines 3.21 kB
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.ActionButton=ActionButton;Object.defineProperty(exports,"Button",{enumerable:true,get:function get(){return _button.default;}});exports.LinkButton=LinkButton;exports.OpenButton=OpenButton;exports.PreviousButton=PreviousButton;exports.ToggleButton=ToggleButton;var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _react=require("react");var _reactNative=require("react-native");var _button=_interopRequireDefault(require("./button"));var _textButton=_interopRequireDefault(require("./text-button"));var _raisedTextButton=_interopRequireDefault(require("./raised-text-button"));var _styles=require("../../styles");var _jsxRuntime=require("react/jsx-runtime");var _excluded=["text"],_excluded2=["text","icon"],_excluded3=["text","icon"],_excluded4=["text"],_excluded5=["checked"];function LinkButton(_ref){var text=_ref.text,props=(0,_objectWithoutProperties2.default)(_ref,_excluded);var theme=(0,_styles.useTheme)();return(0,_jsxRuntime.jsx)(_raisedTextButton.default,Object.assign({title:text,style:{backgroundColor:theme.previousButtonBgColor},titleColor:theme.previousButtonTextColor},props));}function PreviousButton(_ref2){var text=_ref2.text,icon=_ref2.icon,props=(0,_objectWithoutProperties2.default)(_ref2,_excluded2);var theme=(0,_styles.useTheme)();return(0,_jsxRuntime.jsx)(_raisedTextButton.default,Object.assign({title:text,style:{backgroundColor:theme.previousButtonBgColor},titleColor:theme.previousButtonTextColor,prependIcon:icon},props));}function OpenButton(_ref3){var text=_ref3.text,icon=_ref3.icon,props=(0,_objectWithoutProperties2.default)(_ref3,_excluded3);var theme=(0,_styles.useTheme)();return(0,_jsxRuntime.jsx)(_raisedTextButton.default,Object.assign({title:text,style:{backgroundColor:'#fff'},titleColor:theme.typography.base.color,prependIcon:icon},props));}function ActionButton(_ref4){var text=_ref4.text,props=(0,_objectWithoutProperties2.default)(_ref4,_excluded4);var theme=(0,_styles.useTheme)();return(0,_jsxRuntime.jsx)(_raisedTextButton.default,Object.assign({title:text,style:{backgroundColor:theme.actionButtonBgColor},titleColor:theme.actionButtonTextColor},props));}function ToggleButton(_ref5){var checked=_ref5.checked,props=(0,_objectWithoutProperties2.default)(_ref5,_excluded5);var theme=(0,_styles.useTheme)();var checkedAnim=(0,_react.useRef)(new _reactNative.Animated.Value(checked?1:0));(0,_react.useEffect)(function(){_reactNative.Animated.timing(checkedAnim.current,{toValue:checked?1:0,duration:500,useNativeDriver:true}).start();},[checked]);var style={borderWidth:1,textAlign:'center',justifyContent:'flex-start',width:'100%',borderColor:checkedAnim.current.interpolate({inputRange:[0,1],outputRange:[theme.borderColor,theme.selectedControlColor]}),backgroundColor:checkedAnim.current.interpolate({inputRange:[0,1],outputRange:[theme.formBgColor,theme.selectedControlColor]})};return(0,_jsxRuntime.jsx)(_textButton.default,Object.assign({},props,{titleColor:checked?theme.selectedControlTextColor:theme.textColorSecondary,style:style}));}