@bigbinary/neetoui-rn 0.0.239 → 0.0.241
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/lib/components/Button.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.Button=exports.BUTTON_VARIANTS=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _react=_interopRequireWildcard(require("react"));var _propTypes=_interopRequireDefault(require("@styled-system/prop-types"));var _propTypes2=_interopRequireDefault(require("prop-types"));var _reactNativeSizeMatters=require("react-native-size-matters");var _native=require("styled-components/native");var _=require("./");var _excluded=["variant","label","labelStyle","RightIcon","LeftIcon","disabled","isLoading","loadingText","fontFamily","color","fontSize"];var _this=this,_jsxFileName="/home/runner/work/neeto-ui-rn/neeto-ui-rn/src/components/Button.jsx";function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||typeof obj!=="object"&&typeof obj!=="function"){return{default:obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj.default=obj;if(cache){cache.set(obj,newObj);}return newObj;}var BUTTON_VARIANTS=Object.freeze({SOLID:"solid",SECONDARY:"secondary",TEXT:"text",DANGER:"danger",DANGER_INVERSE:"danger-inverse",DANGER_TEXT:"danger-text"});exports.BUTTON_VARIANTS=BUTTON_VARIANTS;var Button=function
|
|
1
|
+
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.Button=exports.BUTTON_VARIANTS=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _react=_interopRequireWildcard(require("react"));var _propTypes=_interopRequireDefault(require("@styled-system/prop-types"));var _propTypes2=_interopRequireDefault(require("prop-types"));var _reactNativeSizeMatters=require("react-native-size-matters");var _native=require("styled-components/native");var _=require("./");var _excluded=["variant","label","labelStyle","RightIcon","LeftIcon","disabled","isLoading","loadingText","fontFamily","color","fontSize"];var _this=this,_jsxFileName="/home/runner/work/neeto-ui-rn/neeto-ui-rn/src/components/Button.jsx";function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||typeof obj!=="object"&&typeof obj!=="function"){return{default:obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj.default=obj;if(cache){cache.set(obj,newObj);}return newObj;}var BUTTON_VARIANTS=Object.freeze({SOLID:"solid",SECONDARY:"secondary",TEXT:"text",DANGER:"danger",DANGER_INVERSE:"danger-inverse",DANGER_TEXT:"danger-text"});exports.BUTTON_VARIANTS=BUTTON_VARIANTS;var Button=_react.default.forwardRef(function(_ref,ref){var variant=_ref.variant,label=_ref.label,labelStyle=_ref.labelStyle,RightIcon=_ref.RightIcon,LeftIcon=_ref.LeftIcon,disabled=_ref.disabled,isLoading=_ref.isLoading,loadingText=_ref.loadingText,fontFamily=_ref.fontFamily,color=_ref.color,fontSize=_ref.fontSize,rest=(0,_objectWithoutProperties2.default)(_ref,_excluded);var theme=(0,_react.useContext)(_native.ThemeContext);var width=variant==="text"||variant==="danger-text"?null:"100%";var getButtonColors=function getButtonColors(){switch(variant){case BUTTON_VARIANTS.SOLID:return{bg:theme.colors.background[disabled?"grey400":"base"],border:theme.colors.background[disabled?"grey400":"base"],color:theme.colors.background.white,ripple:"white"};case BUTTON_VARIANTS.SECONDARY:return{bg:"transparent",border:theme.colors.background.base,color:theme.colors.font.base,ripple:theme.colors.background.base};case BUTTON_VARIANTS.TEXT:return{bg:"transparent",border:"transparent",color:theme.colors.font.primary,ripple:theme.colors.background.grey800};case BUTTON_VARIANTS.DANGER:return{bg:theme.colors.background.danger,border:theme.colors.background.danger,color:theme.colors.background.white,ripple:"white"};case BUTTON_VARIANTS.DANGER_INVERSE:return{bg:theme.colors.background.white,border:theme.colors.background.danger,color:theme.colors.background.danger,ripple:theme.colors.background.grey800};case BUTTON_VARIANTS.DANGER_TEXT:return{bg:"transparent",border:"transparent",color:theme.colors.background.danger,ripple:theme.colors.background.grey800};default:return{bg:theme.colors.background[disabled?"grey400":"base"],border:theme.colors.background[disabled?"grey400":"base"],color:theme.colors.background.white,ripple:"white"};}};var renderOpacity=function renderOpacity(){if(["secondary","danger","danger-inverse","danger-text"].includes(variant)&&disabled){return 0.5;}return 1;};return _react.default.createElement(_.Touchable,(0,_extends2.default)({alignItems:"center",bg:getButtonColors().bg,borderColor:getButtonColors().border,borderRadius:(0,_reactNativeSizeMatters.moderateScale)(8),borderWidth:(0,_reactNativeSizeMatters.moderateScale)(1),disabled:disabled||isLoading,flexDirection:"row",height:(0,_reactNativeSizeMatters.moderateScale)(48),justifyContent:"center",opacity:renderOpacity(),px:width===null?(0,_reactNativeSizeMatters.moderateScale)(8):undefined,ref:ref,rippleConfig:{color:getButtonColors().ripple},width:width},rest,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:162,columnNumber:7}}),isLoading?_react.default.createElement(_.Container,{flexDirection:"row",__self:_this,__source:{fileName:_jsxFileName,lineNumber:180,columnNumber:11}},_react.default.createElement(_.Loader,{color:getButtonColors().color,__self:_this,__source:{fileName:_jsxFileName,lineNumber:181,columnNumber:13}}),!!loadingText&&_react.default.createElement(_.Typography,(0,_extends2.default)({color:color||getButtonColors().color,fontFamily:fontFamily||theme.fonts.sf500,fontSize:fontSize,ml:(0,_reactNativeSizeMatters.moderateScale)(8),textAlign:"center"},labelStyle,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:183,columnNumber:15}}),loadingText)):_react.default.createElement(_react.default.Fragment,null,LeftIcon&&_react.default.createElement(LeftIcon,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:197,columnNumber:26}}),_react.default.createElement(_.Typography,(0,_extends2.default)({color:color||getButtonColors().color,fontFamily:fontFamily||theme.fonts.sf500,fontSize:fontSize,mx:(0,_reactNativeSizeMatters.moderateScale)(2),textAlign:"center"},labelStyle,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:198,columnNumber:13}}),label),RightIcon&&_react.default.createElement(RightIcon,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:208,columnNumber:27}})));});exports.Button=Button;Button.defaultProps={variant:"solid",isLoading:false,loadingText:"",fontSize:"m"};Button.propTypes=(0,_extends2.default)({},_propTypes.default.buttonStyle,_propTypes.default.flexbox,_propTypes.default.space,_propTypes.default.border,_propTypes.default.layout,_propTypes.default.color,{label:_propTypes2.default.string.isRequired,variant:_propTypes2.default.oneOf(Object.values(BUTTON_VARIANTS)),disabled:_propTypes2.default.bool,labelStyle:_propTypes2.default.object,RightIcon:_propTypes2.default.elementType,LeftIcon:_propTypes2.default.elementType,isLoading:_propTypes2.default.bool,loadingText:_propTypes2.default.string,fontFamily:_propTypes2.default.string,color:_propTypes2.default.string,fontSize:_propTypes2.default.string});Button.displayName="Button";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.InputEmailChip=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _propTypes=_interopRequireDefault(require("prop-types"));var _reactNativeSizeMatters=require("react-native-size-matters");var _native=require("styled-components/native");var _=require("./");var _utils=require("../utils/utils");var _this=this,_jsxFileName="/home/runner/work/neeto-ui-rn/neeto-ui-rn/src/components/InputEmailChip.jsx";function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||typeof obj!=="object"&&typeof obj!=="function"){return{default:obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj.default=obj;if(cache){cache.set(obj,newObj);}return newObj;}var gap=(0,_reactNativeSizeMatters.moderateScale)(4);var chipWrapperStyle={pt:gap};var getChipContainerStyle=function getChipContainerStyle(isReadyForDeletion){return{borderColor:isReadyForDeletion?"border.danger":"border.grey200"};};var InputEmailChip=function InputEmailChip(_ref){var disabled=_ref.disabled,label=_ref.label,_ref$emails=_ref.emails,emails=_ref$emails===void 0?[]:_ref$emails,onUpdate=_ref.onUpdate,_ref$delimiters=_ref.delimiters,delimiters=_ref$delimiters===void 0?[" ",","]:_ref$delimiters;var theme=(0,_react.useContext)(_native.ThemeContext);var inputRef=(0,_react.useRef)();var _useState=(0,_react.useState)(""),_useState2=(0,_slicedToArray2.default)(_useState,2),textValue=_useState2[0],setTextValue=_useState2[1];var _useState3=(0,_react.useState)(false),_useState4=(0,_slicedToArray2.default)(_useState3,2),shouldShowInput=_useState4[0],setShouldShowInput=_useState4[1];var _useState5=(0,_react.useState)(-1),_useState6=(0,_slicedToArray2.default)(_useState5,2),emailIndexForDeletion=_useState6[0],setEmailIndexForDeletion=_useState6[1];var handleKeyPress=function handleKeyPress(event){var _ref2=event.nativeEvent||{},key=_ref2.key;if(!(textValue===""&&key==="Backspace"&&emails.length>0))return;if(emailIndexForDeletion===-1){setEmailIndexForDeletion(emails.length-1);}else{removeEmail({lastOne:true});setEmailIndexForDeletion(-1);}};var handleSubmitEditing=function handleSubmitEditing(event){var _ref3=event.nativeEvent||{},text=_ref3.text;setEmailIndexForDeletion(-1);checkAndUpdateEmails(text);};var handleTextChange=function handleTextChange(text){if(!(0,_utils.endsWithChars)(text,delimiters)){setEmailIndexForDeletion(-1);setTextValue(text);return;}checkAndUpdateEmails(text);};var handleInputTouchStart=function handleInputTouchStart(){return setEmailIndexForDeletion(-1);};var handleTouchStart=function handleTouchStart(){var _inputRef$current;if(disabled)return;if(!((_inputRef$current=inputRef.current)!=null&&_inputRef$current.isFocused())){var _inputRef$current2;(_inputRef$current2=inputRef.current)==null?void 0:_inputRef$current2.focus();}};var handleOnFocus=function handleOnFocus(){return setShouldShowInput(true);};var handleOnBlur=function handleOnBlur(){if(textValue.trim()===""){setShouldShowInput(false);}};var checkAndUpdateEmails=function checkAndUpdateEmails(text){var emailCandidate=(0,_utils.trimChars)(text,delimiters);if(emailCandidate!==""&&(0,_utils.isValidEmail)(emailCandidate)&&!emails.includes(emailCandidate)){var _emails=[].concat((0,_toConsumableArray2.default)(emails),[emailCandidate]);setTextValue("");onUpdate&&onUpdate(_emails);}else{setTextValue(text);}};var removeEmail=function removeEmail(_ref4){var email=_ref4.email,_ref4$lastOne=_ref4.lastOne,lastOne=_ref4$lastOne===void 0?false:_ref4$lastOne;var indexOfEmail=lastOne?emails.length-1:emails.indexOf(email);if(indexOfEmail!==-1){var _emails=(0,_toConsumableArray2.default)(emails);_emails.splice(indexOfEmail,1);onUpdate&&onUpdate(_emails);}};var inputProps={autoCorrect:false,fontSize:"xs",returnKeyType:"done",autoCapitalize:"none",keyboardType:"email-address",padding:0,minHeight:(0,_reactNativeSizeMatters.moderateScale)(26),selectionColor:emailIndexForDeletion===-1?theme.colors.font.base:"transparent"};return _react.default.createElement(_.Container,{flexDirection:"row",minHeight:(0,_reactNativeSizeMatters.moderateScale)(30),py:(0,_reactNativeSizeMatters.moderateScale)(2),width:"100%",
|
|
1
|
+
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.InputEmailChip=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _propTypes=_interopRequireDefault(require("prop-types"));var _reactNativeSizeMatters=require("react-native-size-matters");var _native=require("styled-components/native");var _=require("./");var _utils=require("../utils/utils");var _this=this,_jsxFileName="/home/runner/work/neeto-ui-rn/neeto-ui-rn/src/components/InputEmailChip.jsx";function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||typeof obj!=="object"&&typeof obj!=="function"){return{default:obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj.default=obj;if(cache){cache.set(obj,newObj);}return newObj;}var gap=(0,_reactNativeSizeMatters.moderateScale)(4);var chipWrapperStyle={pt:gap};var getChipContainerStyle=function getChipContainerStyle(isReadyForDeletion){return{borderColor:isReadyForDeletion?"border.danger":"border.grey200"};};var InputEmailChip=function InputEmailChip(_ref){var disabled=_ref.disabled,label=_ref.label,_ref$emails=_ref.emails,emails=_ref$emails===void 0?[]:_ref$emails,onUpdate=_ref.onUpdate,_ref$delimiters=_ref.delimiters,delimiters=_ref$delimiters===void 0?[" ",","]:_ref$delimiters;var theme=(0,_react.useContext)(_native.ThemeContext);var inputRef=(0,_react.useRef)();var _useState=(0,_react.useState)(""),_useState2=(0,_slicedToArray2.default)(_useState,2),textValue=_useState2[0],setTextValue=_useState2[1];var _useState3=(0,_react.useState)(false),_useState4=(0,_slicedToArray2.default)(_useState3,2),shouldShowInput=_useState4[0],setShouldShowInput=_useState4[1];var _useState5=(0,_react.useState)(-1),_useState6=(0,_slicedToArray2.default)(_useState5,2),emailIndexForDeletion=_useState6[0],setEmailIndexForDeletion=_useState6[1];var handleKeyPress=function handleKeyPress(event){var _ref2=event.nativeEvent||{},key=_ref2.key;if(!(textValue===""&&key==="Backspace"&&emails.length>0))return;if(emailIndexForDeletion===-1){setEmailIndexForDeletion(emails.length-1);}else{removeEmail({lastOne:true});setEmailIndexForDeletion(-1);}};var handleSubmitEditing=function handleSubmitEditing(event){var _ref3=event.nativeEvent||{},text=_ref3.text;setEmailIndexForDeletion(-1);checkAndUpdateEmails(text);};var handleTextChange=function handleTextChange(text){if(!(0,_utils.endsWithChars)(text,delimiters)){setEmailIndexForDeletion(-1);setTextValue(text);return;}checkAndUpdateEmails(text);};var handleInputTouchStart=function handleInputTouchStart(){return setEmailIndexForDeletion(-1);};var handleTouchStart=function handleTouchStart(){var _inputRef$current;if(disabled)return;if(!((_inputRef$current=inputRef.current)!=null&&_inputRef$current.isFocused())){var _inputRef$current2;(_inputRef$current2=inputRef.current)==null?void 0:_inputRef$current2.focus();}};var handleOnFocus=function handleOnFocus(){return setShouldShowInput(true);};var handleOnBlur=function handleOnBlur(){if(textValue.trim()===""){setShouldShowInput(false);}};var checkAndUpdateEmails=function checkAndUpdateEmails(text){var emailCandidate=(0,_utils.trimChars)(text,delimiters);if(emailCandidate!==""&&(0,_utils.isValidEmail)(emailCandidate)&&!emails.includes(emailCandidate)){var _emails=[].concat((0,_toConsumableArray2.default)(emails),[emailCandidate]);setTextValue("");onUpdate&&onUpdate(_emails);}else{setTextValue(text);}};var removeEmail=function removeEmail(_ref4){var email=_ref4.email,_ref4$lastOne=_ref4.lastOne,lastOne=_ref4$lastOne===void 0?false:_ref4$lastOne;var indexOfEmail=lastOne?emails.length-1:emails.indexOf(email);if(indexOfEmail!==-1){var _emails=(0,_toConsumableArray2.default)(emails);_emails.splice(indexOfEmail,1);onUpdate&&onUpdate(_emails);}};var inputProps={autoCorrect:false,fontSize:"xs",returnKeyType:"done",autoCapitalize:"none",keyboardType:"email-address",padding:0,minHeight:(0,_reactNativeSizeMatters.moderateScale)(26),selectionColor:emailIndexForDeletion===-1?theme.colors.font.base:"transparent"};return _react.default.createElement(_.Container,{flexDirection:"row",minHeight:(0,_reactNativeSizeMatters.moderateScale)(30),py:(0,_reactNativeSizeMatters.moderateScale)(2),width:"100%",__self:_this,__source:{fileName:_jsxFileName,lineNumber:123,columnNumber:5}},!!label&&_react.default.createElement(_.Typography,{color:disabled?"font.grey400":"font.grey600",fontSize:"xs",mr:(0,_reactNativeSizeMatters.moderateScale)(8),mt:_reactNative.Platform.select({android:(0,_reactNativeSizeMatters.moderateScale)(10),ios:(0,_reactNativeSizeMatters.moderateScale)(8)}),__self:_this,__source:{fileName:_jsxFileName,lineNumber:130,columnNumber:9}},label),_react.default.createElement(_.Container,{alignItems:"center",flex:1,flexDirection:"row",flexWrap:"wrap",__self:_this,__source:{fileName:_jsxFileName,lineNumber:142,columnNumber:7}},emails.map(function(email,index){return _react.default.createElement(_.Container,(0,_extends2.default)({key:email},chipWrapperStyle,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:149,columnNumber:11}}),_react.default.createElement(_.Chip,{isDisabled:disabled,label:email,containerStyle:getChipContainerStyle(index===emailIndexForDeletion),onClose:disabled?null:function(){return removeEmail({email:email});},__self:_this,__source:{fileName:_jsxFileName,lineNumber:150,columnNumber:13}}));}),!disabled&&_react.default.createElement(_.Container,(0,_extends2.default)({alignItems:"center",flex:1,justifyContent:"center",minWidth:(0,_reactNativeSizeMatters.moderateScale)(160),paddingTop:_reactNative.Platform.select({ios:gap,android:(0,_reactNativeSizeMatters.moderateScale)(7)})},shouldShowInput||emails.length===0?{}:{height:0},{__self:_this,__source:{fileName:_jsxFileName,lineNumber:161,columnNumber:11}}),_react.default.createElement(_.Input,{noBorder:true,disabled:disabled,value:textValue,inputProps:(0,_extends2.default)({},inputProps,{ref:inputRef,onKeyPress:handleKeyPress,onSubmitEditing:handleSubmitEditing,onTouchStart:handleInputTouchStart,onFocus:handleOnFocus,onBlur:handleOnBlur}),onChangeText:handleTextChange,__self:_this,__source:{fileName:_jsxFileName,lineNumber:172,columnNumber:13}}))),_react.default.createElement(_reactNative.TextInput,{editable:false,style:styles.touchableTextInputWrapper,onTouchStart:handleTouchStart,__self:_this,__source:{fileName:_jsxFileName,lineNumber:190,columnNumber:7}}));};exports.InputEmailChip=InputEmailChip;var styles=_reactNative.StyleSheet.create({touchableTextInputWrapper:{position:"absolute",top:0,bottom:0,left:0,right:0,backgroundColor:"transparent"}});InputEmailChip.propTypes={disabled:_propTypes.default.bool,label:_propTypes.default.string,emails:_propTypes.default.arrayOf(_propTypes.default.string),delimiters:_propTypes.default.arrayOf(_propTypes.default.string),onUpdate:_propTypes.default.func};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neetoui-rn",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.241",
|
|
4
4
|
"main": "lib/index.js",
|
|
5
5
|
"author": "BigBinary",
|
|
6
6
|
"license": "MIT",
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
"react-native-gesture-handler": "^2.4.0",
|
|
61
61
|
"react-native-modal": "^13.0.0",
|
|
62
62
|
"react-native-pell-rich-editor": "^1.8.6",
|
|
63
|
-
"react-native-popover-view": "^
|
|
63
|
+
"react-native-popover-view": "^5.1.7",
|
|
64
64
|
"react-native-remix-icon": "^0.3.0",
|
|
65
65
|
"react-native-safe-area-context": "^3.3.2",
|
|
66
66
|
"react-native-size-matters": "^0.4.0",
|
|
@@ -82,22 +82,22 @@
|
|
|
82
82
|
"@react-navigation/bottom-tabs": "^6.3.2",
|
|
83
83
|
"@react-navigation/material-top-tabs": "^6.2.2",
|
|
84
84
|
"@react-navigation/native": "^6.0.11",
|
|
85
|
-
"@storybook/addon-actions": "^6.
|
|
86
|
-
"@storybook/addon-controls": "^6.
|
|
87
|
-
"@storybook/addon-essentials": "^6.
|
|
85
|
+
"@storybook/addon-actions": "^6.5.15",
|
|
86
|
+
"@storybook/addon-controls": "^6.5.15",
|
|
87
|
+
"@storybook/addon-essentials": "^6.5.15",
|
|
88
88
|
"@storybook/addon-knobs": "^5.3",
|
|
89
|
-
"@storybook/addon-links": "^5
|
|
90
|
-
"@storybook/addon-ondevice-actions": "^6.0.1-
|
|
91
|
-
"@storybook/addon-ondevice-backgrounds": "^6.0.1-
|
|
92
|
-
"@storybook/addon-ondevice-controls": "^6.0.1-
|
|
93
|
-
"@storybook/addon-ondevice-knobs": "^
|
|
94
|
-
"@storybook/addon-ondevice-notes": "^6.0.1-
|
|
95
|
-
"@storybook/addon-storyshots": "^6.
|
|
96
|
-
"@storybook/addons": "^6.
|
|
97
|
-
"@storybook/cli": "^6.
|
|
98
|
-
"@storybook/react": "^6.
|
|
99
|
-
"@storybook/react-native": "^6.0.1-
|
|
100
|
-
"@storybook/react-native-server": "^6.0.
|
|
89
|
+
"@storybook/addon-links": "^6.5",
|
|
90
|
+
"@storybook/addon-ondevice-actions": "^6.0.1-beta.11",
|
|
91
|
+
"@storybook/addon-ondevice-backgrounds": "^6.0.1-beta.11",
|
|
92
|
+
"@storybook/addon-ondevice-controls": "^6.0.1-beta.11",
|
|
93
|
+
"@storybook/addon-ondevice-knobs": "^6.0.1-beta.11",
|
|
94
|
+
"@storybook/addon-ondevice-notes": "^6.0.1-beta.11",
|
|
95
|
+
"@storybook/addon-storyshots": "^6.5.15",
|
|
96
|
+
"@storybook/addons": "^6.5.15",
|
|
97
|
+
"@storybook/cli": "^6.5.15",
|
|
98
|
+
"@storybook/react": "^6.5.15",
|
|
99
|
+
"@storybook/react-native": "^6.0.1-beta.11",
|
|
100
|
+
"@storybook/react-native-server": "^6.0.1-beta.11",
|
|
101
101
|
"@svgr/webpack": "^5.5.0",
|
|
102
102
|
"babel-jest": "^26.6.3",
|
|
103
103
|
"babel-loader": "^8.2.3",
|
|
@@ -122,20 +122,20 @@
|
|
|
122
122
|
"metro-react-native-babel-preset": "^0.66.2",
|
|
123
123
|
"prettier": "^2.3.1",
|
|
124
124
|
"ramda": "^0.28.0",
|
|
125
|
-
"react": "
|
|
125
|
+
"react": "18.1.0",
|
|
126
126
|
"react-dom": "17.0.2",
|
|
127
|
-
"react-native": "0.
|
|
127
|
+
"react-native": "0.70.6",
|
|
128
128
|
"react-native-device-info": "^10.3.0",
|
|
129
129
|
"react-native-fast-image": "^8.6.0",
|
|
130
130
|
"react-native-pager-view": "^5.4.25",
|
|
131
|
-
"react-native-reanimated": "
|
|
131
|
+
"react-native-reanimated": "2.13.0",
|
|
132
132
|
"react-native-screens": "^3.15.0",
|
|
133
|
-
"react-native-storybook-loader": "^2.0.
|
|
133
|
+
"react-native-storybook-loader": "^2.0.5",
|
|
134
134
|
"react-native-svg": "^12.4.4",
|
|
135
135
|
"react-native-svg-transformer": "^1.0.0",
|
|
136
136
|
"react-native-tab-view": "^3.1.1",
|
|
137
137
|
"react-native-web": "^0.17.5",
|
|
138
|
-
"react-native-webview": "11.
|
|
138
|
+
"react-native-webview": "^11.26.0",
|
|
139
139
|
"react-test-renderer": "17.0.2",
|
|
140
140
|
"serve": "^13.0.2",
|
|
141
141
|
"url-loader": "^4.1.1",
|
|
@@ -69,142 +69,149 @@ export const BUTTON_VARIANTS = Object.freeze({
|
|
|
69
69
|
*
|
|
70
70
|
*/
|
|
71
71
|
|
|
72
|
-
export const Button = (
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
72
|
+
export const Button = React.forwardRef(
|
|
73
|
+
(
|
|
74
|
+
{
|
|
75
|
+
variant,
|
|
76
|
+
label,
|
|
77
|
+
labelStyle,
|
|
78
|
+
RightIcon,
|
|
79
|
+
LeftIcon,
|
|
80
|
+
disabled,
|
|
81
|
+
isLoading,
|
|
82
|
+
loadingText,
|
|
83
|
+
fontFamily,
|
|
84
|
+
color,
|
|
85
|
+
fontSize,
|
|
86
|
+
...rest
|
|
87
|
+
},
|
|
88
|
+
ref
|
|
89
|
+
) => {
|
|
90
|
+
const theme = useContext(ThemeContext);
|
|
91
|
+
const width =
|
|
92
|
+
variant === "text" || variant === "danger-text" ? null : "100%";
|
|
88
93
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
94
|
+
const getButtonColors = () => {
|
|
95
|
+
switch (variant) {
|
|
96
|
+
case BUTTON_VARIANTS.SOLID:
|
|
97
|
+
return {
|
|
98
|
+
bg: theme.colors.background[disabled ? "grey400" : "base"],
|
|
99
|
+
border: theme.colors.background[disabled ? "grey400" : "base"],
|
|
100
|
+
color: theme.colors.background.white,
|
|
101
|
+
ripple: "white",
|
|
102
|
+
};
|
|
103
|
+
case BUTTON_VARIANTS.SECONDARY:
|
|
104
|
+
return {
|
|
105
|
+
bg: "transparent",
|
|
106
|
+
border: theme.colors.background.base,
|
|
107
|
+
color: theme.colors.font.base,
|
|
108
|
+
ripple: theme.colors.background.base,
|
|
109
|
+
};
|
|
110
|
+
case BUTTON_VARIANTS.TEXT:
|
|
111
|
+
return {
|
|
112
|
+
bg: "transparent",
|
|
113
|
+
border: "transparent",
|
|
114
|
+
color: theme.colors.font.primary,
|
|
115
|
+
ripple: theme.colors.background.grey800,
|
|
116
|
+
};
|
|
117
|
+
case BUTTON_VARIANTS.DANGER:
|
|
118
|
+
return {
|
|
119
|
+
bg: theme.colors.background.danger,
|
|
120
|
+
border: theme.colors.background.danger,
|
|
121
|
+
color: theme.colors.background.white,
|
|
122
|
+
ripple: "white",
|
|
123
|
+
};
|
|
124
|
+
case BUTTON_VARIANTS.DANGER_INVERSE:
|
|
125
|
+
return {
|
|
126
|
+
bg: theme.colors.background.white,
|
|
127
|
+
border: theme.colors.background.danger,
|
|
128
|
+
color: theme.colors.background.danger,
|
|
129
|
+
ripple: theme.colors.background.grey800,
|
|
130
|
+
};
|
|
131
|
+
case BUTTON_VARIANTS.DANGER_TEXT:
|
|
132
|
+
return {
|
|
133
|
+
bg: "transparent",
|
|
134
|
+
border: "transparent",
|
|
135
|
+
color: theme.colors.background.danger,
|
|
136
|
+
ripple: theme.colors.background.grey800,
|
|
137
|
+
};
|
|
138
|
+
default:
|
|
139
|
+
return {
|
|
140
|
+
bg: theme.colors.background[disabled ? "grey400" : "base"],
|
|
141
|
+
border: theme.colors.background[disabled ? "grey400" : "base"],
|
|
142
|
+
color: theme.colors.background.white,
|
|
143
|
+
ripple: "white",
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
};
|
|
142
147
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
148
|
+
const renderOpacity = () => {
|
|
149
|
+
if (
|
|
150
|
+
["secondary", "danger", "danger-inverse", "danger-text"].includes(
|
|
151
|
+
variant
|
|
152
|
+
) &&
|
|
153
|
+
disabled
|
|
154
|
+
) {
|
|
155
|
+
return 0.5;
|
|
156
|
+
}
|
|
152
157
|
|
|
153
|
-
|
|
154
|
-
|
|
158
|
+
return 1;
|
|
159
|
+
};
|
|
155
160
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
<
|
|
176
|
-
|
|
161
|
+
return (
|
|
162
|
+
<Touchable
|
|
163
|
+
alignItems="center"
|
|
164
|
+
bg={getButtonColors().bg}
|
|
165
|
+
borderColor={getButtonColors().border}
|
|
166
|
+
borderRadius={moderateScale(8)}
|
|
167
|
+
borderWidth={moderateScale(1)}
|
|
168
|
+
disabled={disabled || isLoading}
|
|
169
|
+
flexDirection="row"
|
|
170
|
+
height={moderateScale(48)}
|
|
171
|
+
justifyContent="center"
|
|
172
|
+
opacity={renderOpacity()}
|
|
173
|
+
px={width === null ? moderateScale(8) : undefined}
|
|
174
|
+
ref={ref}
|
|
175
|
+
rippleConfig={{ color: getButtonColors().ripple }}
|
|
176
|
+
width={width}
|
|
177
|
+
{...rest}
|
|
178
|
+
>
|
|
179
|
+
{isLoading ? (
|
|
180
|
+
<Container flexDirection="row">
|
|
181
|
+
<Loader color={getButtonColors().color} />
|
|
182
|
+
{!!loadingText && (
|
|
183
|
+
<Typography
|
|
184
|
+
color={color || getButtonColors().color}
|
|
185
|
+
fontFamily={fontFamily || theme.fonts.sf500}
|
|
186
|
+
fontSize={fontSize}
|
|
187
|
+
ml={moderateScale(8)}
|
|
188
|
+
textAlign="center"
|
|
189
|
+
{...labelStyle}
|
|
190
|
+
>
|
|
191
|
+
{loadingText}
|
|
192
|
+
</Typography>
|
|
193
|
+
)}
|
|
194
|
+
</Container>
|
|
195
|
+
) : (
|
|
196
|
+
<>
|
|
197
|
+
{LeftIcon && <LeftIcon />}
|
|
177
198
|
<Typography
|
|
178
199
|
color={color || getButtonColors().color}
|
|
179
200
|
fontFamily={fontFamily || theme.fonts.sf500}
|
|
180
201
|
fontSize={fontSize}
|
|
181
|
-
|
|
202
|
+
mx={moderateScale(2)}
|
|
182
203
|
textAlign="center"
|
|
183
204
|
{...labelStyle}
|
|
184
205
|
>
|
|
185
|
-
{
|
|
206
|
+
{label}
|
|
186
207
|
</Typography>
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
fontFamily={fontFamily || theme.fonts.sf500}
|
|
195
|
-
fontSize={fontSize}
|
|
196
|
-
mx={moderateScale(2)}
|
|
197
|
-
textAlign="center"
|
|
198
|
-
{...labelStyle}
|
|
199
|
-
>
|
|
200
|
-
{label}
|
|
201
|
-
</Typography>
|
|
202
|
-
{RightIcon && <RightIcon />}
|
|
203
|
-
</>
|
|
204
|
-
)}
|
|
205
|
-
</Touchable>
|
|
206
|
-
);
|
|
207
|
-
};
|
|
208
|
+
{RightIcon && <RightIcon />}
|
|
209
|
+
</>
|
|
210
|
+
)}
|
|
211
|
+
</Touchable>
|
|
212
|
+
);
|
|
213
|
+
}
|
|
214
|
+
);
|
|
208
215
|
|
|
209
216
|
Button.defaultProps = {
|
|
210
217
|
variant: "solid",
|
|
@@ -261,3 +268,4 @@ Button.propTypes = {
|
|
|
261
268
|
color: PropTypes.string,
|
|
262
269
|
fontSize: PropTypes.string,
|
|
263
270
|
};
|
|
271
|
+
Button.displayName = "Button";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useContext, useRef, useState } from "react";
|
|
2
|
-
import { Platform } from "react-native";
|
|
2
|
+
import { Platform, StyleSheet, TextInput } from "react-native";
|
|
3
3
|
|
|
4
4
|
import PropTypes from "prop-types";
|
|
5
5
|
import { moderateScale } from "react-native-size-matters";
|
|
@@ -125,7 +125,6 @@ export const InputEmailChip = ({
|
|
|
125
125
|
minHeight={moderateScale(30)}
|
|
126
126
|
py={moderateScale(2)}
|
|
127
127
|
width="100%"
|
|
128
|
-
onTouchStart={handleTouchStart}
|
|
129
128
|
>
|
|
130
129
|
{!!label && (
|
|
131
130
|
<Typography
|
|
@@ -168,7 +167,7 @@ export const InputEmailChip = ({
|
|
|
168
167
|
ios: gap,
|
|
169
168
|
android: moderateScale(7),
|
|
170
169
|
})}
|
|
171
|
-
{...(shouldShowInput ? {} : { height: 0 })}
|
|
170
|
+
{...(shouldShowInput || emails.length === 0 ? {} : { height: 0 })}
|
|
172
171
|
>
|
|
173
172
|
<Input
|
|
174
173
|
noBorder
|
|
@@ -188,13 +187,29 @@ export const InputEmailChip = ({
|
|
|
188
187
|
</Container>
|
|
189
188
|
)}
|
|
190
189
|
</Container>
|
|
190
|
+
<TextInput
|
|
191
|
+
editable={false}
|
|
192
|
+
style={styles.touchableTextInputWrapper}
|
|
193
|
+
onTouchStart={handleTouchStart}
|
|
194
|
+
/>
|
|
191
195
|
</Container>
|
|
192
196
|
);
|
|
193
197
|
};
|
|
194
198
|
|
|
199
|
+
const styles = StyleSheet.create({
|
|
200
|
+
touchableTextInputWrapper: {
|
|
201
|
+
position: "absolute",
|
|
202
|
+
top: 0,
|
|
203
|
+
bottom: 0,
|
|
204
|
+
left: 0,
|
|
205
|
+
right: 0,
|
|
206
|
+
backgroundColor: "transparent",
|
|
207
|
+
},
|
|
208
|
+
});
|
|
209
|
+
|
|
195
210
|
InputEmailChip.propTypes = {
|
|
196
211
|
/**
|
|
197
|
-
*
|
|
212
|
+
* Disable input component
|
|
198
213
|
*/
|
|
199
214
|
disabled: PropTypes.bool,
|
|
200
215
|
/**
|