@bigbinary/neetoui-rn 0.0.240 → 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.
|
@@ -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,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
|
/**
|