UNPKG

@devloops/react-native-variant

Version:
2 lines 2 kB
import _extends from"@babel/runtime/helpers/extends";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _jsxFileName="/Users/devloops/Desktop/reactNative/reactNativeMUI/src/Components/Buttons/IconButton.tsx";import React from'react';import Ripple from'../Core/Ripple';import{View,StyleSheet}from'react-native';import Icon from'../Core/Icon';import{useTheme}from'../../Theming';var IconButton=function IconButton(_ref){var children=_ref.children,_ref$color=_ref.color,color=_ref$color===void 0?'text':_ref$color,_ref$role=_ref.role,role=_ref$role===void 0?'button':_ref$role,style=_ref.style,_ref$size=_ref.size,size=_ref$size===void 0?24:_ref$size,iconFontFamily=_ref.iconFontFamily,backgroundColor=_ref.backgroundColor,rippleStyle=_ref.rippleStyle,theme=_ref.theme,containerStyle=_ref.containerStyle,icon=_ref.icon,props=_objectWithoutProperties(_ref,["children","color","role","style","size","iconFontFamily","backgroundColor","rippleStyle","theme","containerStyle","icon"]);var themeControl=useTheme(theme);var textColor=color&&color in themeControl.color?themeControl.color[color]:color?color:themeControl.color.primary;return React.createElement(View,{pointerEvents:"auto",nativeID:'iconButton'+Date.now(),style:StyleSheet.flatten([{borderRadius:size*2,minHeight:size+(role==='chip'?4:12),minWidth:size+(role==='chip'?4:12)},containerStyle]),__source:{fileName:_jsxFileName,lineNumber:45}},React.createElement(Ripple,_extends({},props,{rippleContainerBorderRadius:size,style:StyleSheet.flatten([rippleStyle,{backgroundColor:backgroundColor,borderRadius:size*2,padding:(role==='chip'?size-20:size-16)/2}]),rippleColor:textColor,__source:{fileName:_jsxFileName,lineNumber:56}}),icon!==undefined&&React.createElement(Icon,{name:icon,color:textColor,family:iconFontFamily,size:size,style:{margin:role==='chip'?2:8,width:size,height:size},__source:{fileName:_jsxFileName,lineNumber:70}})));};export default IconButton; //# sourceMappingURL=IconButton.js.map