tunoltd / emoji-mart-native

One component to pick them all 👊🏼
https://tunoltd.github.io/emoji-mart-native
BSD 3-Clause "New" or "Revised" License
86 stars 31 forks source link

Patch for "Invariant Violation: ViewPropTypes has been removed from React Native" #221

Closed pang0018 closed 1 year ago

pang0018 commented 2 years ago

I ran into this when updating to react-native 0.70.1 this is the patch package I made to make it work

diff --git a/node_modules/emoji-mart-native/dist/components/not-found.js b/node_modules/emoji-mart-native/dist/components/not-found.js
index ccf7421..6e9b5a8 100644
--- a/node_modules/emoji-mart-native/dist/components/not-found.js
+++ b/node_modules/emoji-mart-native/dist/components/not-found.js
@@ -1 +1 @@
-"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _inherits2=_interopRequireDefault(require("@babel/runtime/helpers/inherits"));var _possibleConstructorReturn2=_interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));var _getPrototypeOf2=_interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _react=_interopRequireDefault(require("react"));var _propTypes=_interopRequireDefault(require("prop-types"));var _reactNative=require("react-native");var _nimbleEmoji=_interopRequireDefault(require("./emoji/nimble-emoji"));function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=(0,_getPrototypeOf2["default"])(Derived),result;if(hasNativeReflectConstruct){var NewTarget=(0,_getPrototypeOf2["default"])(this).constructor;result=Reflect.construct(Super,arguments,NewTarget);}else{result=Super.apply(this,arguments);}return(0,_possibleConstructorReturn2["default"])(this,result);};}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true;}catch(e){return false;}}var styles=_reactNative.StyleSheet.create({labelText:{fontWeight:'bold'},labelTextLight:{color:'#414141'},labelTextDark:{color:'#bebebe'},notFound:{flex:1,alignSelf:'center',flexDirection:'column',alignItems:'center',justifyContent:'center'}});var NotFound=function(_React$PureComponent){(0,_inherits2["default"])(NotFound,_React$PureComponent);var _super=_createSuper(NotFound);function NotFound(){(0,_classCallCheck2["default"])(this,NotFound);return _super.apply(this,arguments);}(0,_createClass2["default"])(NotFound,[{key:"render",value:function render(){var _this$props=this.props,data=_this$props.data,emojiProps=_this$props.emojiProps,i18n=_this$props.i18n,notFound=_this$props.notFound,notFoundEmoji=_this$props.notFoundEmoji,style=_this$props.style,theme=_this$props.theme,fontSize=_this$props.fontSize;var component=_react["default"].createElement(_reactNative.View,{style:[style?style:null,styles.notFound]},notFound&&notFound()||_react["default"].createElement(_reactNative.View,{style:styles.notFound},_react["default"].createElement(_reactNative.View,null,_react["default"].createElement(_nimbleEmoji["default"],(0,_extends2["default"])({data:data},emojiProps,{emoji:notFoundEmoji,onPress:null,onLongPress:null}))),_react["default"].createElement(_reactNative.View,null,_react["default"].createElement(_reactNative.Text,{style:[styles.labelText,theme==='light'?styles.labelTextLight:styles.labelTextDark,{fontSize:fontSize}]},i18n.notfound))));return component;}}]);return NotFound;}(_react["default"].PureComponent);exports["default"]=NotFound;(0,_defineProperty2["default"])(NotFound,"propTypes",{notFound:_propTypes["default"].func.isRequired,notFoundEmoji:_propTypes["default"].string.isRequired,emojiProps:_propTypes["default"].object.isRequired,style:_reactNative.ViewPropTypes.style,theme:_propTypes["default"].oneOf(['light','dark']),fontSize:_propTypes["default"].number});(0,_defineProperty2["default"])(NotFound,"defaultProps",{theme:'light',fontSize:15});
\ No newline at end of file
+"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _inherits2=_interopRequireDefault(require("@babel/runtime/helpers/inherits"));var _possibleConstructorReturn2=_interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));var _getPrototypeOf2=_interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _react=_interopRequireDefault(require("react"));var _propTypes=_interopRequireDefault(require("prop-types"));var _reactNative=require("react-native");var _depReactNative=require("deprecated-react-native-prop-types");var _nimbleEmoji=_interopRequireDefault(require("./emoji/nimble-emoji"));function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=(0,_getPrototypeOf2["default"])(Derived),result;if(hasNativeReflectConstruct){var NewTarget=(0,_getPrototypeOf2["default"])(this).constructor;result=Reflect.construct(Super,arguments,NewTarget);}else{result=Super.apply(this,arguments);}return(0,_possibleConstructorReturn2["default"])(this,result);};}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true;}catch(e){return false;}}var styles=_reactNative.StyleSheet.create({labelText:{fontWeight:'bold'},labelTextLight:{color:'#414141'},labelTextDark:{color:'#bebebe'},notFound:{flex:1,alignSelf:'center',flexDirection:'column',alignItems:'center',justifyContent:'center'}});var NotFound=function(_React$PureComponent){(0,_inherits2["default"])(NotFound,_React$PureComponent);var _super=_createSuper(NotFound);function NotFound(){(0,_classCallCheck2["default"])(this,NotFound);return _super.apply(this,arguments);}(0,_createClass2["default"])(NotFound,[{key:"render",value:function render(){var _this$props=this.props,data=_this$props.data,emojiProps=_this$props.emojiProps,i18n=_this$props.i18n,notFound=_this$props.notFound,notFoundEmoji=_this$props.notFoundEmoji,style=_this$props.style,theme=_this$props.theme,fontSize=_this$props.fontSize;var component=_react["default"].createElement(_reactNative.View,{style:[style?style:null,styles.notFound]},notFound&&notFound()||_react["default"].createElement(_reactNative.View,{style:styles.notFound},_react["default"].createElement(_reactNative.View,null,_react["default"].createElement(_nimbleEmoji["default"],(0,_extends2["default"])({data:data},emojiProps,{emoji:notFoundEmoji,onPress:null,onLongPress:null}))),_react["default"].createElement(_reactNative.View,null,_react["default"].createElement(_reactNative.Text,{style:[styles.labelText,theme==='light'?styles.labelTextLight:styles.labelTextDark,{fontSize:fontSize}]},i18n.notfound))));return component;}}]);return NotFound;}(_react["default"].PureComponent);exports["default"]=NotFound;(0,_defineProperty2["default"])(NotFound,"propTypes",{notFound:_propTypes["default"].func.isRequired,notFoundEmoji:_propTypes["default"].string.isRequired,emojiProps:_propTypes["default"].object.isRequired,style:_depReactNative.ViewPropTypes.style,theme:_propTypes["default"].oneOf(['light','dark']),fontSize:_propTypes["default"].number});(0,_defineProperty2["default"])(NotFound,"defaultProps",{theme:'light',fontSize:15});
\ No newline at end of file

Cheers!

pederjohnsen commented 2 years ago

Thanks, will take a look

ahmadsyed commented 1 year ago

@pederjohnsen This is now very common issue after RN 0.68 , A lot of NPM packages are having this issue. Is there any plans for new Version?

pederjohnsen commented 1 year ago

@ahmadsyed yes, it's in my pipeline, just in a bit of a rough situation atm.

PRs are welcomed 🙏🏻

pederjohnsen commented 1 year ago

@pang0018 @ahmadsyed sorry for the delay both, I've just published a new version 0.6.5-beta with this patch 👌🏻