From 7dbc5aa1548cfd6a3b29c76603eb9d9b96ddfcf5 Mon Sep 17 00:00:00 2001 From: Anas Masood Date: Thu, 3 Jun 2021 03:48:54 -0700 Subject: [PATCH 1/4] Update prototypes to use Text instead of Anmiated --- src/components/affix/index.js | 4 ++-- src/components/helper/index.js | 4 ++-- src/components/label/index.js | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/components/affix/index.js b/src/components/affix/index.js index 0f85022e..8d7cd742 100644 --- a/src/components/affix/index.js +++ b/src/components/affix/index.js @@ -1,6 +1,6 @@ import PropTypes from 'prop-types'; import React, { PureComponent } from 'react'; -import { Animated } from 'react-native'; +import { Animated, Text } from 'react-native'; import styles from './styles'; @@ -11,7 +11,7 @@ export default class Affix extends PureComponent { static propTypes = { numberOfLines: PropTypes.number, - style: Animated.Text.propTypes.style, + style: Text.propTypes.style, color: PropTypes.string.isRequired, fontSize: PropTypes.number.isRequired, diff --git a/src/components/helper/index.js b/src/components/helper/index.js index 6060f9f5..76eb54d7 100644 --- a/src/components/helper/index.js +++ b/src/components/helper/index.js @@ -1,6 +1,6 @@ import PropTypes from 'prop-types'; import React, { PureComponent } from 'react'; -import { Animated } from 'react-native'; +import { Animated, Text } from 'react-native'; import styles from './styles'; @@ -11,7 +11,7 @@ export default class Helper extends PureComponent { disabled: PropTypes.bool, - style: Animated.Text.propTypes.style, + style: Text.propTypes.style, baseColor: PropTypes.string, errorColor: PropTypes.string, diff --git a/src/components/label/index.js b/src/components/label/index.js index 82eaf033..4eb5f8b6 100644 --- a/src/components/label/index.js +++ b/src/components/label/index.js @@ -1,6 +1,6 @@ import PropTypes from 'prop-types'; import React, { PureComponent } from 'react'; -import { Animated } from 'react-native'; +import { Animated, Text } from 'react-native'; import styles from './styles'; @@ -43,7 +43,7 @@ export default class Label extends PureComponent { y1: PropTypes.number, }), - style: Animated.Text.propTypes.style, + style: Text.propTypes.style, label: PropTypes.string, }; From 6a019ca5256dfd971c5de6533c2092338f78cbf2 Mon Sep 17 00:00:00 2001 From: Anas Masood Date: Fri, 4 Jun 2021 06:41:02 -0700 Subject: [PATCH 2/4] Add new option to align text input --- src/components/field/index.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/field/index.js b/src/components/field/index.js index 281b7451..29b96c87 100644 --- a/src/components/field/index.js +++ b/src/components/field/index.js @@ -609,6 +609,7 @@ export default class TextField extends PureComponent { editable, tintColor, style: inputStyleOverrides, + textInputStyle, } = this.props; let props = this.inputProps(); @@ -620,7 +621,7 @@ export default class TextField extends PureComponent { {...props} - style={[styles.input, inputStyle, inputStyleOverrides]} + style={[styles.input, inputStyle, inputStyleOverrides, textInputStyle]} editable={!disabled && editable} onChange={this.onChange} onChangeText={this.onChangeText} From 8cddf2d8e3a314fd5761483e3877d8b10df68eea Mon Sep 17 00:00:00 2001 From: Anas Masood Date: Mon, 7 Jun 2021 04:29:39 -0700 Subject: [PATCH 3/4] Updates package json file for update --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 1e63b0fb..a6a041ed 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "react-native-material-textfield", + "name": "@anasmasood94/react-native-material-textfield", "version": "0.16.1", "license": "BSD-3-Clause", "author": "Alexander Nazarov ", @@ -25,7 +25,7 @@ "repository": { "type": "git", - "url": "git://github.com/n4kz/react-native-material-textfield.git" + "url": "git://github.com/anasmasood94/react-native-material-textfield.git" }, "dependencies": { From 61198815b15dea607dc05ccec58feb968efb4423 Mon Sep 17 00:00:00 2001 From: Anas Masood Date: Tue, 15 Jun 2021 05:16:37 -0700 Subject: [PATCH 4/4] Fix state update issue and renderAccessory function issue --- package.json | 2 +- src/components/field/index.js | 16 ++++++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index a6a041ed..6a3c083b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@anasmasood94/react-native-material-textfield", - "version": "0.16.1", + "version": "0.16.2", "license": "BSD-3-Clause", "author": "Alexander Nazarov ", diff --git a/src/components/field/index.js b/src/components/field/index.js index 29b96c87..1487b077 100644 --- a/src/components/field/index.js +++ b/src/components/field/index.js @@ -82,6 +82,14 @@ export default class TextField extends PureComponent { bottom: PropTypes.number, }), + value: PropTypes.arrayOf(PropTypes.oneOfType([ + PropTypes.string, + PropTypes.number, + ])) || PropTypes.oneOfType([ + PropTypes.string, + PropTypes.number, + ]), + labelOffset: Label.propTypes.offset, labelTextStyle: Text.propTypes.style, @@ -113,6 +121,7 @@ export default class TextField extends PureComponent { renderLeftAccessory: PropTypes.func, renderRightAccessory: PropTypes.func, + renderAccessory: PropTypes.func, prefix: PropTypes.string, suffix: PropTypes.string, @@ -205,6 +214,10 @@ export default class TextField extends PureComponent { let errorState = errorStateFromProps(this.props); let prevErrorState = errorStateFromProps(prevProps); + if (this.state.text != this.props.value) { + this.setState({ text: this.props.value }); + } + if (errorState ^ prevErrorState) { this.startFocusAnimation(); } @@ -521,7 +534,7 @@ export default class TextField extends PureComponent { } renderAccessory(prop) { - let { [prop]: renderAccessory } = this.props; + let { renderAccessory } = this.props; return 'function' === typeof renderAccessory? renderAccessory(): @@ -707,7 +720,6 @@ export default class TextField extends PureComponent { {this.renderLine(lineProps)} - {this.renderAccessory('renderLeftAccessory')} {this.renderLabel(styleProps)}