@bigbinary/neetoui-rn 0.0.196 → 0.0.199
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/README.md +1 -1
- package/index.d.ts +22 -7
- package/lib/components/AnimatedImage.js +1 -1
- package/lib/components/OtpInputs.js +1 -1
- package/package.json +3 -1
- package/src/components/AnimatedImage.js +34 -16
- package/src/components/OtpInputs.js +52 -55
package/README.md
CHANGED
|
@@ -13,7 +13,7 @@ Storybook: https://neetoui-rn.onrender.com/
|
|
|
13
13
|
## Installation
|
|
14
14
|
|
|
15
15
|
```
|
|
16
|
-
yarn add @bigbinary/neetoui-rn react-native-svg react-native-webview @shopify/flash-list react-native-reanimated
|
|
16
|
+
yarn add @bigbinary/neetoui-rn react-native-svg react-native-webview @shopify/flash-list react-native-reanimated react-native-fast-image
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
Navigate to iOS folder and run:
|
package/index.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
LayoutProps,
|
|
11
11
|
PositionProps,
|
|
12
12
|
ButtonStyleProps,
|
|
13
|
-
TypographyProps,
|
|
13
|
+
TypographyProps as SSTypographyProps,
|
|
14
14
|
} from "styled-system";
|
|
15
15
|
import {
|
|
16
16
|
ImageProps as RNImageProps,
|
|
@@ -41,6 +41,7 @@ import {
|
|
|
41
41
|
ToastConfig,
|
|
42
42
|
} from "react-native-toast-message";
|
|
43
43
|
import { RippleProps } from "react-native-material-ripple";
|
|
44
|
+
import { FastImageProps } from "react-native-fast-image";
|
|
44
45
|
|
|
45
46
|
import { theme as themeDef } from "./src/theme";
|
|
46
47
|
import { BUTTON_VARIANTS } from "./src/components/Button";
|
|
@@ -70,7 +71,21 @@ interface StyleProps
|
|
|
70
71
|
BorderProps,
|
|
71
72
|
ColorProps,
|
|
72
73
|
LayoutProps,
|
|
73
|
-
PositionProps {
|
|
74
|
+
PositionProps {
|
|
75
|
+
borderColor?: typeof theme.colors.border;
|
|
76
|
+
borderTopColor?: typeof theme.colors.border;
|
|
77
|
+
borderBottomColor?: typeof theme.colors.border;
|
|
78
|
+
borderLeftColor?: typeof theme.colors.border;
|
|
79
|
+
borderRightColor?: typeof theme.colors.border;
|
|
80
|
+
backgroundColor?: typeof theme.colors.background;
|
|
81
|
+
bg?: typeof theme.colors.background;
|
|
82
|
+
color?: typeof theme.colors.font;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
interface TypographyProps extends SSTypographyProps {
|
|
86
|
+
fontFamily?: typeof theme.fonts;
|
|
87
|
+
fontSize?: typeof theme.fontSizes;
|
|
88
|
+
}
|
|
74
89
|
|
|
75
90
|
interface ViewProps extends RNViewProps, StyleProps {
|
|
76
91
|
children?: React.ReactNode;
|
|
@@ -116,7 +131,7 @@ type AlertShowParams = {
|
|
|
116
131
|
buttons?: Array<AlertButton>;
|
|
117
132
|
};
|
|
118
133
|
|
|
119
|
-
interface AnimatedImageProps extends RNImageProps {
|
|
134
|
+
interface AnimatedImageProps extends RNImageProps, FastImageProps {
|
|
120
135
|
imageHeight?: number;
|
|
121
136
|
imageWidth?: number;
|
|
122
137
|
imageUrl: string;
|
|
@@ -162,8 +177,8 @@ interface BottomSheetProps extends ViewProps {
|
|
|
162
177
|
contentType?: "checkbox" | null;
|
|
163
178
|
canSearch?: boolean;
|
|
164
179
|
onDonePress?: () => void;
|
|
165
|
-
valueExtractor?: () =>{};
|
|
166
|
-
labelExtractor?: () =>{};
|
|
180
|
+
valueExtractor?: () => {};
|
|
181
|
+
labelExtractor?: () => {};
|
|
167
182
|
}
|
|
168
183
|
|
|
169
184
|
interface ButtonProps extends TouchableProps {
|
|
@@ -310,7 +325,7 @@ interface MultiSelectProps extends ViewProps {
|
|
|
310
325
|
NoResultsComponent?: React.ReactNode;
|
|
311
326
|
maxItemSize?: number;
|
|
312
327
|
moreItemLabelContainerStyle?: ViewStyle;
|
|
313
|
-
moreItemLabelStyle?: TextStyle
|
|
328
|
+
moreItemLabelStyle?: TextStyle;
|
|
314
329
|
}
|
|
315
330
|
|
|
316
331
|
type OnBoardingProps = {
|
|
@@ -382,7 +397,7 @@ interface SegmentedTopBarProps extends MaterialTopTabBarProps {
|
|
|
382
397
|
}
|
|
383
398
|
|
|
384
399
|
interface SelectProps
|
|
385
|
-
extends Omit<MultiSelectProps, "
|
|
400
|
+
extends Omit<MultiSelectProps, "selectedValue" | "deletedValue"> {
|
|
386
401
|
value: any;
|
|
387
402
|
}
|
|
388
403
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.AnimatedImage=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 _react=_interopRequireWildcard(require("react"));var _propTypes=_interopRequireDefault(require("prop-types"));var _reactNativeReanimated=_interopRequireWildcard(require("react-native-reanimated"));var _=require("./");var _imagePlaceholder=_interopRequireDefault(require("../../assets/images/image-placeholder.svg"));var _reactNative=require("react-native");var _theme=require("../theme");var _excluded=["imageHeight","imageWidth","imageUrl"];var _this=this,_jsxFileName="/home/runner/work/neeto-ui-rn/neeto-ui-rn/src/components/AnimatedImage.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 AnimatedImage=function AnimatedImage(_ref){var _ref$imageHeight=_ref.imageHeight,imageHeight=_ref$imageHeight===void 0?139:_ref$imageHeight,_ref$imageWidth=_ref.imageWidth,imageWidth=_ref$imageWidth===void 0?255:_ref$imageWidth,imageUrl=_ref.imageUrl,rest=(0,_objectWithoutProperties2.default)(_ref,_excluded);var opacity=(0,_reactNativeReanimated.useSharedValue)(0);var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2.default)(_useState,2),isImageLoaded=_useState2[0],setImageLoaded=_useState2[1];var profileImageStyle=(0,_reactNativeReanimated.useAnimatedStyle)(function(){var _f=function _f(){return{opacity:(0,_reactNativeReanimated.withTiming)(opacity.value,{duration:300,easing:_reactNativeReanimated.Easing.bezier(0.25,0.1,0.25,1)}),height:imageHeight,width:imageWidth,alignSelf:"center",borderRadius:10};};_f._closure={withTiming:_reactNativeReanimated.withTiming,opacity:opacity,Easing:{bezier:_reactNativeReanimated.Easing.bezier},imageHeight:imageHeight,imageWidth:imageWidth};_f.asString="function _f(){const{withTiming,opacity,Easing,imageHeight,imageWidth}=jsThis._closure;{return{opacity:withTiming(opacity.value,{duration:300,easing:Easing.bezier(0.25,0.1,0.25,1)}),height:imageHeight,width:imageWidth,alignSelf:\"center\",borderRadius:10};}}";_f.__workletHash=14435952499043;_f.__location="/home/runner/work/neeto-ui-rn/neeto-ui-rn/src/components/AnimatedImage.js (
|
|
1
|
+
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.AnimatedImage=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 _reactNativeFastImage=_interopRequireDefault(require("react-native-fast-image"));var _propTypes=_interopRequireDefault(require("prop-types"));var _reactNativeReanimated=_interopRequireWildcard(require("react-native-reanimated"));var _native=_interopRequireDefault(require("styled-components/native"));var _styledSystem=require("styled-system");var _=require("./");var _imagePlaceholder=_interopRequireDefault(require("../../assets/images/image-placeholder.svg"));var _reactNative=require("react-native");var _theme=require("../theme");var _excluded=["imageHeight","imageWidth","imageUrl"];var _templateObject,_this=this,_jsxFileName="/home/runner/work/neeto-ui-rn/neeto-ui-rn/src/components/AnimatedImage.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 StyledImage=(0,_native.default)(_reactNativeFastImage.default)(_templateObject||(_templateObject=(0,_taggedTemplateLiteralLoose2.default)(["\n ","\n ","\n ","\n ","\n ","\n"])),_styledSystem.flexbox,_styledSystem.space,_styledSystem.border,_styledSystem.color,_styledSystem.layout);var AnimatedImage=function AnimatedImage(_ref){var _ref$imageHeight=_ref.imageHeight,imageHeight=_ref$imageHeight===void 0?139:_ref$imageHeight,_ref$imageWidth=_ref.imageWidth,imageWidth=_ref$imageWidth===void 0?255:_ref$imageWidth,imageUrl=_ref.imageUrl,rest=(0,_objectWithoutProperties2.default)(_ref,_excluded);var opacity=(0,_reactNativeReanimated.useSharedValue)(0);var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2.default)(_useState,2),isImageLoaded=_useState2[0],setImageLoaded=_useState2[1];var profileImageStyle=(0,_reactNativeReanimated.useAnimatedStyle)(function(){var _f=function _f(){return{opacity:(0,_reactNativeReanimated.withTiming)(opacity.value,{duration:300,easing:_reactNativeReanimated.Easing.bezier(0.25,0.1,0.25,1)}),height:imageHeight,width:imageWidth,alignSelf:"center",borderRadius:10};};_f._closure={withTiming:_reactNativeReanimated.withTiming,opacity:opacity,Easing:{bezier:_reactNativeReanimated.Easing.bezier},imageHeight:imageHeight,imageWidth:imageWidth};_f.asString="function _f(){const{withTiming,opacity,Easing,imageHeight,imageWidth}=jsThis._closure;{return{opacity:withTiming(opacity.value,{duration:300,easing:Easing.bezier(0.25,0.1,0.25,1)}),height:imageHeight,width:imageWidth,alignSelf:\"center\",borderRadius:10};}}";_f.__workletHash=14435952499043;_f.__location="/home/runner/work/neeto-ui-rn/neeto-ui-rn/src/components/AnimatedImage.js (62:45)";_f.__optimalization=2;return _f;}());return _react.default.createElement(_react.default.Fragment,null,_react.default.createElement(_.Container,{justifyContent:"center",alignItems:"center",borderRadius:10,overflow:"hidden",__self:_this,__source:{fileName:_jsxFileName,lineNumber:77,columnNumber:7}},_react.default.createElement(_reactNativeReanimated.default.View,{style:profileImageStyle,__self:_this,__source:{fileName:_jsxFileName,lineNumber:83,columnNumber:9}},_react.default.createElement(StyledImage,(0,_extends2.default)({height:imageHeight,width:imageWidth,source:{uri:imageUrl,headers:{Accept:"*/*","Content-Type":"application/json",Pragma:"no-cache"}},onLoadStart:function onLoadStart(){setImageLoaded(false);opacity.value=0;},onLoad:function onLoad(){setImageLoaded(true);opacity.value=1;}},rest,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:84,columnNumber:11}}))),!isImageLoaded&&_react.default.createElement(_.Container,{position:"absolute",__self:_this,__source:{fileName:_jsxFileName,lineNumber:108,columnNumber:11}},_react.default.createElement(_imagePlaceholder.default,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:109,columnNumber:13}}),_react.default.createElement(_.Container,{position:"absolute",bottom:15,right:15,__self:_this,__source:{fileName:_jsxFileName,lineNumber:110,columnNumber:13}},_react.default.createElement(_reactNative.ActivityIndicator,{size:"small",color:_theme.theme.colors.font.grey600,__self:_this,__source:{fileName:_jsxFileName,lineNumber:111,columnNumber:15}})))));};exports.AnimatedImage=AnimatedImage;AnimatedImage.defaultProps={alignItems:"center",justifyContent:"center"};AnimatedImage.propTypes={imageHeight:_propTypes.default.number,imageWidth:_propTypes.default.number,imageUrl:_propTypes.default.string.isRequired};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.OtpInputs=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _taggedTemplateLiteralLoose2=_interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _propTypes=_interopRequireDefault(require("prop-types"));var _styledSystem=require("styled-system");var _native=_interopRequireDefault(require("styled-components/native"));var _theme=require("../theme");var _=require("./");var _templateObject,_this=this,_jsxFileName="/home/runner/work/neeto-ui-rn/neeto-ui-rn/src/components/OtpInputs.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 ","\n"])),_styledSystem.flexbox,_styledSystem.space,_styledSystem.border,_styledSystem.buttonStyle,_styledSystem.typography,_styledSystem.color);var styles={inputStyles:{fontSize:0,backgroundColor:"transparent",color:"transparent",width:"100%",height:"100%",position:"absolute"},defaultContainerStyles:{margin:2,borderRadius:8,backgroundColor:_theme.theme.colors.background.white,justifyContent:"center",alignItems:"center",minHeight:42,minWidth:42},defaultTextStyles:{fontSize:_theme.theme.fontSizes.xl,fontFamily:_theme.theme.fonts.sf700}};var OtpInputs=function OtpInputs(_ref){var _ref$handleChange=_ref.handleChange,handleChange=_ref$handleChange===void 0?function(){}:_ref$handleChange,_ref$numberOfInputs=_ref.numberOfInputs,numberOfInputs=_ref$numberOfInputs===void 0?4:_ref$numberOfInputs,_ref$error=_ref.error,error=_ref$error===void 0?false:_ref$error,_ref$code=_ref.code,code=_ref$code===void 0?"":_ref$code,containerStyles=_ref.containerStyles,textStyles=_ref.textStyles;var inputRef=_react.default.useRef();(0,_react.useEffect)(function(){_reactNative.InteractionManager.runAfterInteractions(function(){if(inputRef!=null&&inputRef.current){inputRef.current.focus();}});},[inputRef]);return _react.default.createElement(_.Container,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:95,columnNumber:5}},_react.default.createElement(_.
|
|
1
|
+
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.OtpInputs=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _taggedTemplateLiteralLoose2=_interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _propTypes=_interopRequireDefault(require("prop-types"));var _styledSystem=require("styled-system");var _native=_interopRequireDefault(require("styled-components/native"));var _theme=require("../theme");var _=require("./");var _templateObject,_this=this,_jsxFileName="/home/runner/work/neeto-ui-rn/neeto-ui-rn/src/components/OtpInputs.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 ","\n"])),_styledSystem.flexbox,_styledSystem.space,_styledSystem.border,_styledSystem.buttonStyle,_styledSystem.typography,_styledSystem.color);var styles={inputStyles:{fontSize:0,backgroundColor:"transparent",color:"transparent",width:"100%",height:"100%",position:"absolute"},defaultContainerStyles:{margin:2,borderRadius:8,backgroundColor:_theme.theme.colors.background.white,justifyContent:"center",alignItems:"center",minHeight:42,minWidth:42},defaultTextStyles:{fontSize:_theme.theme.fontSizes.xl,fontFamily:_theme.theme.fonts.sf700}};var OtpInputs=function OtpInputs(_ref){var _ref$handleChange=_ref.handleChange,handleChange=_ref$handleChange===void 0?function(){}:_ref$handleChange,_ref$numberOfInputs=_ref.numberOfInputs,numberOfInputs=_ref$numberOfInputs===void 0?4:_ref$numberOfInputs,_ref$error=_ref.error,error=_ref$error===void 0?false:_ref$error,_ref$code=_ref.code,code=_ref$code===void 0?"":_ref$code,containerStyles=_ref.containerStyles,textStyles=_ref.textStyles;var inputRef=_react.default.useRef();(0,_react.useEffect)(function(){_reactNative.InteractionManager.runAfterInteractions(function(){if(inputRef!=null&&inputRef.current){inputRef.current.focus();}});},[inputRef]);return _react.default.createElement(_.Container,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:95,columnNumber:5}},_react.default.createElement(_.Container,{onTouchEnd:function onTouchEnd(){_reactNative.Keyboard.dismiss();inputRef&&inputRef.current.focus();},flexDirection:"row",alignItems:"center",justifyContent:"center",__self:_this,__source:{fileName:_jsxFileName,lineNumber:96,columnNumber:7}},Array(numberOfInputs).fill().map(function(number,index){return _react.default.createElement(_.Container,(0,_extends2.default)({key:index,borderColor:code.length-1===index?_theme.theme.colors.border.purple500:_theme.theme.colors.border.secondary,borderWidth:code.length-1===index?1.5:1},styles.defaultContainerStyles,containerStyles,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:109,columnNumber:15}}),_react.default.createElement(_.Typography,(0,_extends2.default)({accessibilityLabel:"otp",color:error?_theme.theme.colors.font.danger:_theme.theme.colors.font.purple500},styles.defaultTextStyles,textStyles,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:120,columnNumber:17}}),code[index]||""));}),_react.default.createElement(TextInput,(0,_extends2.default)({keyboardType:"phone-pad",selectionColor:"transparent",autoFocus:true,onChangeText:function onChangeText(value){if(!isNaN(value)){if(value.length<=numberOfInputs){handleChange&&handleChange(value);}if(value.length>=numberOfInputs){return _reactNative.Keyboard.dismiss();}}},ref:inputRef,value:code||""},styles.inputStyles,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:135,columnNumber:9}}))));};exports.OtpInputs=OtpInputs;OtpInputs.defaultProps={containerStyles:{},textStyles:{}};OtpInputs.propTypes={code:_propTypes.default.string.isRequired,numberOfInputs:_propTypes.default.number.isRequired,handleChange:_propTypes.default.func.isRequired,error:_propTypes.default.bool,containerStyles:_propTypes.default.object,textStyles:_propTypes.default.object};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neetoui-rn",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.199",
|
|
4
4
|
"main": "lib/index.js",
|
|
5
5
|
"author": "BigBinary",
|
|
6
6
|
"license": "MIT",
|
|
@@ -43,6 +43,7 @@
|
|
|
43
43
|
]
|
|
44
44
|
},
|
|
45
45
|
"peerDependencies": {
|
|
46
|
+
"react-native-fast-image": "^8.6.0",
|
|
46
47
|
"react-native-reanimated": "^2.7.0",
|
|
47
48
|
"react-native-safe-area-context": "^3.3.2",
|
|
48
49
|
"react-native-svg": "*",
|
|
@@ -121,6 +122,7 @@
|
|
|
121
122
|
"react": "17.0.2",
|
|
122
123
|
"react-dom": "17.0.2",
|
|
123
124
|
"react-native": "0.66.2",
|
|
125
|
+
"react-native-fast-image": "^8.6.0",
|
|
124
126
|
"react-native-pager-view": "^5.4.25",
|
|
125
127
|
"react-native-reanimated": "^2.7.0",
|
|
126
128
|
"react-native-screens": "^3.15.0",
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React, { useState } from "react";
|
|
2
|
+
import RNFImage from "react-native-fast-image";
|
|
2
3
|
import PropTypes from "prop-types";
|
|
3
4
|
import Animated, {
|
|
4
5
|
Easing,
|
|
@@ -6,12 +7,22 @@ import Animated, {
|
|
|
6
7
|
useSharedValue,
|
|
7
8
|
withTiming,
|
|
8
9
|
} from "react-native-reanimated";
|
|
10
|
+
import styled from "styled-components/native";
|
|
11
|
+
import { flexbox, space, border, color, layout } from "styled-system";
|
|
9
12
|
|
|
10
13
|
import { Container } from "@components";
|
|
11
14
|
import ImagePlaceholder from "@assets/images/image-placeholder.svg";
|
|
12
15
|
import { ActivityIndicator } from "react-native";
|
|
13
16
|
import { theme } from "../theme";
|
|
14
17
|
|
|
18
|
+
const StyledImage = styled(RNFImage)`
|
|
19
|
+
${flexbox}
|
|
20
|
+
${space}
|
|
21
|
+
${border}
|
|
22
|
+
${color}
|
|
23
|
+
${layout}
|
|
24
|
+
`;
|
|
25
|
+
|
|
15
26
|
/**
|
|
16
27
|
* AnimatedImage can be used to display a placeholder before image is loaded with animation.
|
|
17
28
|
*
|
|
@@ -69,22 +80,29 @@ export const AnimatedImage = ({
|
|
|
69
80
|
borderRadius={10}
|
|
70
81
|
overflow="hidden"
|
|
71
82
|
>
|
|
72
|
-
<Animated.
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
83
|
+
<Animated.View style={profileImageStyle}>
|
|
84
|
+
<StyledImage
|
|
85
|
+
height={imageHeight}
|
|
86
|
+
width={imageWidth}
|
|
87
|
+
source={{
|
|
88
|
+
uri: imageUrl,
|
|
89
|
+
headers: {
|
|
90
|
+
Accept: "*/*",
|
|
91
|
+
"Content-Type": "application/json",
|
|
92
|
+
Pragma: "no-cache",
|
|
93
|
+
},
|
|
94
|
+
}}
|
|
95
|
+
onLoadStart={() => {
|
|
96
|
+
setImageLoaded(false);
|
|
97
|
+
opacity.value = 0;
|
|
98
|
+
}}
|
|
99
|
+
onLoad={() => {
|
|
100
|
+
setImageLoaded(true);
|
|
101
|
+
opacity.value = 1;
|
|
102
|
+
}}
|
|
103
|
+
{...rest}
|
|
104
|
+
/>
|
|
105
|
+
</Animated.View>
|
|
88
106
|
|
|
89
107
|
{!isImageLoaded && (
|
|
90
108
|
<Container position="absolute">
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
import styled from "styled-components/native";
|
|
13
13
|
|
|
14
14
|
import { theme } from "../theme";
|
|
15
|
-
import { Container,
|
|
15
|
+
import { Container, Typography } from "@components";
|
|
16
16
|
|
|
17
17
|
const TextInput = styled.TextInput`
|
|
18
18
|
${flexbox}
|
|
@@ -93,67 +93,64 @@ export const OtpInputs = ({
|
|
|
93
93
|
|
|
94
94
|
return (
|
|
95
95
|
<Container>
|
|
96
|
-
<
|
|
97
|
-
|
|
96
|
+
<Container
|
|
97
|
+
onTouchEnd={() => {
|
|
98
98
|
Keyboard.dismiss();
|
|
99
99
|
inputRef && inputRef.current.focus();
|
|
100
100
|
}}
|
|
101
|
+
flexDirection="row"
|
|
102
|
+
alignItems="center"
|
|
103
|
+
justifyContent="center"
|
|
101
104
|
>
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
105
|
+
{Array(numberOfInputs)
|
|
106
|
+
.fill()
|
|
107
|
+
.map((number, index) => {
|
|
108
|
+
return (
|
|
109
|
+
<Container
|
|
110
|
+
key={index}
|
|
111
|
+
borderColor={
|
|
112
|
+
code.length - 1 === index
|
|
113
|
+
? theme.colors.border.purple500
|
|
114
|
+
: theme.colors.border.secondary
|
|
115
|
+
}
|
|
116
|
+
borderWidth={code.length - 1 === index ? 1.5 : 1}
|
|
117
|
+
{...styles.defaultContainerStyles}
|
|
118
|
+
{...containerStyles}
|
|
119
|
+
>
|
|
120
|
+
<Typography
|
|
121
|
+
accessibilityLabel="otp"
|
|
122
|
+
color={
|
|
123
|
+
error
|
|
124
|
+
? theme.colors.font.danger
|
|
125
|
+
: theme.colors.font.purple500
|
|
117
126
|
}
|
|
118
|
-
|
|
119
|
-
{...
|
|
120
|
-
{...containerStyles}
|
|
127
|
+
{...styles.defaultTextStyles}
|
|
128
|
+
{...textStyles}
|
|
121
129
|
>
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
keyboardType="phone-pad"
|
|
139
|
-
selectionColor="transparent"
|
|
140
|
-
autoFocus={true}
|
|
141
|
-
onChangeText={value => {
|
|
142
|
-
if (!isNaN(value)) {
|
|
143
|
-
if (value.length <= numberOfInputs) {
|
|
144
|
-
handleChange && handleChange(value);
|
|
145
|
-
}
|
|
146
|
-
if (value.length >= numberOfInputs) {
|
|
147
|
-
return Keyboard.dismiss();
|
|
148
|
-
}
|
|
130
|
+
{code[index] || ""}
|
|
131
|
+
</Typography>
|
|
132
|
+
</Container>
|
|
133
|
+
);
|
|
134
|
+
})}
|
|
135
|
+
<TextInput
|
|
136
|
+
keyboardType="phone-pad"
|
|
137
|
+
selectionColor="transparent"
|
|
138
|
+
autoFocus={true}
|
|
139
|
+
onChangeText={value => {
|
|
140
|
+
if (!isNaN(value)) {
|
|
141
|
+
if (value.length <= numberOfInputs) {
|
|
142
|
+
handleChange && handleChange(value);
|
|
143
|
+
}
|
|
144
|
+
if (value.length >= numberOfInputs) {
|
|
145
|
+
return Keyboard.dismiss();
|
|
149
146
|
}
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
</
|
|
147
|
+
}
|
|
148
|
+
}}
|
|
149
|
+
ref={inputRef}
|
|
150
|
+
value={code || ""}
|
|
151
|
+
{...styles.inputStyles}
|
|
152
|
+
/>
|
|
153
|
+
</Container>
|
|
157
154
|
</Container>
|
|
158
155
|
);
|
|
159
156
|
};
|