@bigbinary/neetoui-rn 0.0.43 → 0.0.44
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/Input.js +1 -1
- package/package.json +1 -1
- package/src/components/Input.js +24 -0
package/lib/components/Input.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.TextInput=exports.Input=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _taggedTemplateLiteralLoose2=_interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _react=_interopRequireWildcard(require("react"));var _styledSystem=require("styled-system");var _native=_interopRequireWildcard(require("styled-components/native"));var _propTypes=_interopRequireDefault(require("@styled-system/prop-types"));var _propTypes2=_interopRequireDefault(require("prop-types"));var _=require("./");var _excluded=["label","message","error","onFocus","onBlur","inline","brandRight","brandLeft","brandColor","brandBackground","disabled"];var _templateObject,_templateObject2,_this=this,_jsxFileName="/Users/runner/work/neeto-ui-rn/neeto-ui-rn/src/components/Input.js";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 TextInput=_native.default.TextInput(_templateObject||(_templateObject=(0,_taggedTemplateLiteralLoose2.default)(["\n ","\n ","\n ","\n ","\n ","\n"])),_styledSystem.flexbox,_styledSystem.space,_styledSystem.border,_styledSystem.buttonStyle,_styledSystem.typography);exports.TextInput=TextInput;var View=_native.default.View(_templateObject2||(_templateObject2=(0,_taggedTemplateLiteralLoose2.default)(["\n ","\n ","\n ","\n ","\n ","\n"])),_styledSystem.flexbox,_styledSystem.space,_styledSystem.border,_styledSystem.color,_styledSystem.layout);var Input=function Input(_ref){var _ref$label=_ref.label,label=_ref$label===void 0?"":_ref$label,_ref$message=_ref.message,message=_ref$message===void 0?"":_ref$message,_ref$error=_ref.error,error=_ref$error===void 0?false:_ref$error,onFocus=_ref.onFocus,onBlur=_ref.onBlur,_ref$inline=_ref.inline,inline=_ref$inline===void 0?false:_ref$inline,brandRight=_ref.brandRight,brandLeft=_ref.brandLeft,_ref$brandColor=_ref.brandColor,brandColor=_ref$brandColor===void 0?"font.grey600":_ref$brandColor,_ref$brandBackground=_ref.brandBackground,brandBackground=_ref$brandBackground===void 0?"background.menubackground":_ref$brandBackground,_ref$disabled=_ref.disabled,disabled=_ref$disabled===void 0?false:_ref$disabled,rest=(0,_objectWithoutProperties2.default)(_ref,_excluded);var theme=(0,_react.useContext)(_native.ThemeContext);var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2.default)(_useState,2),
|
|
1
|
+
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.TextInput=exports.Input=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _taggedTemplateLiteralLoose2=_interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _react=_interopRequireWildcard(require("react"));var _styledSystem=require("styled-system");var _reactNativeRemixIcon=_interopRequireDefault(require("react-native-remix-icon"));var _native=_interopRequireWildcard(require("styled-components/native"));var _propTypes=_interopRequireDefault(require("@styled-system/prop-types"));var _propTypes2=_interopRequireDefault(require("prop-types"));var _=require("./");var _excluded=["label","message","error","onFocus","onBlur","inline","brandRight","brandLeft","brandColor","brandBackground","disabled","secureTextEntry"];var _templateObject,_templateObject2,_this=this,_jsxFileName="/Users/runner/work/neeto-ui-rn/neeto-ui-rn/src/components/Input.js";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 TextInput=_native.default.TextInput(_templateObject||(_templateObject=(0,_taggedTemplateLiteralLoose2.default)(["\n ","\n ","\n ","\n ","\n ","\n"])),_styledSystem.flexbox,_styledSystem.space,_styledSystem.border,_styledSystem.buttonStyle,_styledSystem.typography);exports.TextInput=TextInput;var View=_native.default.View(_templateObject2||(_templateObject2=(0,_taggedTemplateLiteralLoose2.default)(["\n ","\n ","\n ","\n ","\n ","\n"])),_styledSystem.flexbox,_styledSystem.space,_styledSystem.border,_styledSystem.color,_styledSystem.layout);var Input=function Input(_ref){var _ref$label=_ref.label,label=_ref$label===void 0?"":_ref$label,_ref$message=_ref.message,message=_ref$message===void 0?"":_ref$message,_ref$error=_ref.error,error=_ref$error===void 0?false:_ref$error,onFocus=_ref.onFocus,onBlur=_ref.onBlur,_ref$inline=_ref.inline,inline=_ref$inline===void 0?false:_ref$inline,brandRight=_ref.brandRight,brandLeft=_ref.brandLeft,_ref$brandColor=_ref.brandColor,brandColor=_ref$brandColor===void 0?"font.grey600":_ref$brandColor,_ref$brandBackground=_ref.brandBackground,brandBackground=_ref$brandBackground===void 0?"background.menubackground":_ref$brandBackground,_ref$disabled=_ref.disabled,disabled=_ref$disabled===void 0?false:_ref$disabled,_ref$secureTextEntry=_ref.secureTextEntry,secureTextEntry=_ref$secureTextEntry===void 0?false:_ref$secureTextEntry,rest=(0,_objectWithoutProperties2.default)(_ref,_excluded);var theme=(0,_react.useContext)(_native.ThemeContext);var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2.default)(_useState,2),isPasswordVisible=_useState2[0],setIsPasswordVisible=_useState2[1];var _useState3=(0,_react.useState)(false),_useState4=(0,_slicedToArray2.default)(_useState3,2),isFocus=_useState4[0],setIsFocus=_useState4[1];var borderColor=error?theme.colors.border.danger:theme.colors.border.primary;var handleFocus=function handleFocus(e){onFocus&&onFocus(e);setIsFocus(true);};var handleBlur=function handleBlur(e){onBlur&&onBlur(e);setIsFocus(false);};var focusStyles=isFocus&&{borderRadius:4,borderColor:error?"rgba(255, 105, 105, 0.3)":theme.colors.border.grey400,borderWidth:inline?"0px":"3px",borderStyle:"solid"};var disabledStyles=disabled&&{opacity:0.5,bg:theme.colors.background.secondary};var inlineInputStyles=isFocus&&{backgroundColor:error?theme.colors.border.danger:theme.colors.border.base};return _react.default.createElement(_.Container,{mb:20,__self:_this,__source:{fileName:_jsxFileName,lineNumber:114,columnNumber:5}},!inline&&_react.default.createElement(LabelText,{inline:inline,label:label,__self:_this,__source:{fileName:_jsxFileName,lineNumber:115,columnNumber:19}}),_react.default.createElement(_.Container,(0,_extends2.default)({},focusStyles,disabledStyles,{flexDirection:inline?"row":"column",onBlur:handleBlur,onFocus:handleFocus,position:"relative",__self:_this,__source:{fileName:_jsxFileName,lineNumber:116,columnNumber:7}}),inline&&_react.default.createElement(_.Container,{alignSelf:"flex-end",maxWidth:100,px:2,__self:_this,__source:{fileName:_jsxFileName,lineNumber:125,columnNumber:11}},_react.default.createElement(LabelText,{inline:inline,label:label,__self:_this,__source:{fileName:_jsxFileName,lineNumber:126,columnNumber:13}})),_react.default.createElement(_.Container,{flexDirection:"row",width:"100%",__self:_this,__source:{fileName:_jsxFileName,lineNumber:129,columnNumber:9}},brandLeft&&_react.default.createElement(InputText,{text:brandLeft,borderColor:borderColor,brandColor:brandColor,brandBackground:brandBackground,__self:_this,__source:{fileName:_jsxFileName,lineNumber:131,columnNumber:13}}),_react.default.createElement(TextInput,(0,_extends2.default)({height:40,flex:1,textStyle:"subtext"},rest,{border:!inline&&borderColor,editable:!disabled,color:error?theme.colors.font.danger:theme.colors.font.primary,secureTextEntry:secureTextEntry&&!isPasswordVisible,__self:_this,__source:{fileName:_jsxFileName,lineNumber:138,columnNumber:11}})),brandRight&&_react.default.createElement(InputText,{text:brandRight,borderColor:borderColor,brandColor:brandColor,brandBackground:brandBackground,__self:_this,__source:{fileName:_jsxFileName,lineNumber:150,columnNumber:13}})),secureTextEntry&&_react.default.createElement(_.Container,{position:"absolute",left:"90%",height:"100%",justifyContent:"center",__self:_this,__source:{fileName:_jsxFileName,lineNumber:159,columnNumber:11}},_react.default.createElement(_reactNativeRemixIcon.default,{name:isPasswordVisible?"eye-line":"eye-off-line",color:"background.grey500",onPress:function onPress(){return setIsPasswordVisible(!isPasswordVisible);},__self:_this,__source:{fileName:_jsxFileName,lineNumber:165,columnNumber:13}}))),inline&&_react.default.createElement(View,(0,_extends2.default)({backgroundColor:theme.colors.border.primary,height:1},inlineInputStyles,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:174,columnNumber:9}})),_react.default.createElement(ErrorMessage,{theme:theme,error:error,message:message,__self:_this,__source:{fileName:_jsxFileName,lineNumber:180,columnNumber:7}}));};exports.Input=Input;var InputText=function InputText(_ref2){var text=_ref2.text,borderColor=_ref2.borderColor,brandColor=_ref2.brandColor,brandBackground=_ref2.brandBackground;return _react.default.createElement(_.Container,{bg:brandBackground,justifyContent:"center",px:2,borderColor:borderColor,borderWidth:"1px",__self:_this,__source:{fileName:_jsxFileName,lineNumber:186,columnNumber:3}},text&&_react.default.createElement(_.Typography,{color:brandColor,__self:_this,__source:{fileName:_jsxFileName,lineNumber:193,columnNumber:14}},text));};var LabelText=function LabelText(_ref3){var inline=_ref3.inline,label=_ref3.label;return _react.default.createElement(_.Typography,{numberOfLines:1,textStyle:"subtext",mb:inline?"12px":"7px",__self:_this,__source:{fileName:_jsxFileName,lineNumber:198,columnNumber:3}},label);};var ErrorMessage=function ErrorMessage(_ref4){var error=_ref4.error,message=_ref4.message,theme=_ref4.theme;if(error){return _react.default.createElement(_.Typography,{textStyle:"subtext",color:theme.colors.font.danger,__self:_this,__source:{fileName:_jsxFileName,lineNumber:210,columnNumber:7}},message);}return null;};Input.propTypes=(0,_extends2.default)({},_propTypes.default.flexbox,_propTypes.default.space,_propTypes.default.border,_propTypes.default.buttonStyle,{label:_propTypes2.default.string.isRequired,message:_propTypes2.default.string,error:_propTypes2.default.bool,inline:_propTypes2.default.bool,brandRight:_propTypes2.default.string,brandLeft:_propTypes2.default.string,disabled:_propTypes2.default.bool,brandColor:_propTypes2.default.string,brandBackground:_propTypes2.default.string,secureTextEntry:_propTypes2.default.bool,children:_propTypes2.default.node});InputText.propTypes={text:_propTypes2.default.string,borderColor:_propTypes2.default.string,brandColor:_propTypes2.default.string,brandBackground:_propTypes2.default.string};LabelText.propTypes={inline:_propTypes2.default.bool,label:_propTypes2.default.string};ErrorMessage.propTypes={error:_propTypes2.default.bool,message:_propTypes2.default.string};TextInput.defaultProps={height:40,border:1,px:2,fontFamily:"inter400",fontSize:"14px",borderRadius:2};
|
package/package.json
CHANGED
package/src/components/Input.js
CHANGED
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
color,
|
|
9
9
|
layout,
|
|
10
10
|
} from "styled-system";
|
|
11
|
+
import Icon from "react-native-remix-icon";
|
|
11
12
|
import styled, { ThemeContext } from "styled-components/native";
|
|
12
13
|
import propTypes from "@styled-system/prop-types";
|
|
13
14
|
import PropTypes from "prop-types";
|
|
@@ -69,9 +70,11 @@ export const Input = ({
|
|
|
69
70
|
brandColor = "font.grey600",
|
|
70
71
|
brandBackground = "background.menubackground",
|
|
71
72
|
disabled = false,
|
|
73
|
+
secureTextEntry = false,
|
|
72
74
|
...rest
|
|
73
75
|
}) => {
|
|
74
76
|
const theme = useContext(ThemeContext);
|
|
77
|
+
const [isPasswordVisible, setIsPasswordVisible] = useState(false);
|
|
75
78
|
const [isFocus, setIsFocus] = useState(false);
|
|
76
79
|
const borderColor = error
|
|
77
80
|
? theme.colors.border.danger
|
|
@@ -116,6 +119,7 @@ export const Input = ({
|
|
|
116
119
|
flexDirection={inline ? "row" : "column"}
|
|
117
120
|
onBlur={handleBlur}
|
|
118
121
|
onFocus={handleFocus}
|
|
122
|
+
position="relative"
|
|
119
123
|
>
|
|
120
124
|
{inline && (
|
|
121
125
|
<Container alignSelf="flex-end" maxWidth={100} px={2}>
|
|
@@ -139,7 +143,9 @@ export const Input = ({
|
|
|
139
143
|
border={!inline && borderColor}
|
|
140
144
|
editable={!disabled}
|
|
141
145
|
color={error ? theme.colors.font.danger : theme.colors.font.primary}
|
|
146
|
+
secureTextEntry={secureTextEntry && !isPasswordVisible}
|
|
142
147
|
/>
|
|
148
|
+
|
|
143
149
|
{brandRight && (
|
|
144
150
|
<InputText
|
|
145
151
|
text={brandRight}
|
|
@@ -149,6 +155,20 @@ export const Input = ({
|
|
|
149
155
|
/>
|
|
150
156
|
)}
|
|
151
157
|
</Container>
|
|
158
|
+
{secureTextEntry && (
|
|
159
|
+
<Container
|
|
160
|
+
position="absolute"
|
|
161
|
+
left="90%"
|
|
162
|
+
height="100%"
|
|
163
|
+
justifyContent="center"
|
|
164
|
+
>
|
|
165
|
+
<Icon
|
|
166
|
+
name={isPasswordVisible ? "eye-line" : "eye-off-line"}
|
|
167
|
+
color="background.grey500"
|
|
168
|
+
onPress={() => setIsPasswordVisible(!isPasswordVisible)}
|
|
169
|
+
/>
|
|
170
|
+
</Container>
|
|
171
|
+
)}
|
|
152
172
|
</Container>
|
|
153
173
|
{inline && (
|
|
154
174
|
<View
|
|
@@ -236,6 +256,10 @@ Input.propTypes = {
|
|
|
236
256
|
* To change the color of brand text
|
|
237
257
|
*/
|
|
238
258
|
brandBackground: PropTypes.string,
|
|
259
|
+
/**
|
|
260
|
+
* To hide and show password and enable secure text entry
|
|
261
|
+
*/
|
|
262
|
+
secureTextEntry: PropTypes.bool,
|
|
239
263
|
children: PropTypes.node,
|
|
240
264
|
};
|
|
241
265
|
|