UNPKG

2.31 kBSource Map (JSON)View Raw
1{"version":3,"sources":["extendReactClass.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAae,UAAC,SAAD,EAAoB,aAApB,EAA2C,OAA3C,EAA+D;AAC1E,QAAM;;;;;;;;;mCACF,2BAAU;AACN,gBAAI,qBAAJ;gBACI,eADJ,CADM;;AAIN,2BAAe,KAAf,CAJM;;AAMN,gBAAI,KAAK,KAAL,CAAW,MAAX,EAAmB;AACnB,yBAAS,KAAK,KAAL,CAAW,MAAX,CADU;aAAvB,MAEO,IAAI,wBAAW,aAAX,CAAJ,EAA+B;AAClC,qBAAK,KAAL,GAAa,sBAAS,EAAT,EAAa,KAAK,KAAL,EAAY;AAClC,4BAAQ,aAAR;iBADS,CAAb,CADkC;;AAKlC,+BAAe,IAAf,CALkC;AAMlC,yBAAS,aAAT,CANkC;aAA/B,MAOA;AACH,yBAAS,EAAT,CADG;aAPA;;AAWP,gBAAM,eAAe,qBAAM,MAAN,WAAf,CAnBA;;AAqBN,gBAAI,YAAJ,EAAkB;AACd,uBAAO,KAAK,KAAL,CAAW,MAAX,CADO;aAAlB;;AAIA,gBAAI,YAAJ,EAAkB;AACd,uBAAO,yBAAU,YAAV,EAAwB,MAAxB,EAAgC,OAAhC,CAAP,CADc;aAAlB;;AAIA,mBAAO,gBAAM,aAAN,CAAoB,UAApB,CAAP,CA7BM;;;eADR;MAAiC,UAAjC,CADoE;;AAmC1E,WAAO,oCAAqB,gBAArB,EAAuC,SAAvC,CAAP,CAnC0E;CAA/D","file":"extendReactClass.js","sourcesContent":["/* eslint-disable react/prop-types */\n\nimport linkClass from './linkClass';\nimport React from 'react';\nimport _ from 'lodash';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\n\n/**\n * @param {ReactClass} Component\n * @param {Object} defaultStyles\n * @param {Object} options\n * @returns {ReactClass}\n */\nexport default (Component: Object, defaultStyles: Object, options: Object) => {\n const WrappedComponent = class extends Component {\n render () {\n let propsChanged,\n styles;\n\n propsChanged = false;\n\n if (this.props.styles) {\n styles = this.props.styles;\n } else if (_.isObject(defaultStyles)) {\n this.props = _.assign({}, this.props, {\n styles: defaultStyles\n });\n\n propsChanged = true;\n styles = defaultStyles;\n } else {\n styles = {};\n }\n\n const renderResult = super.render();\n\n if (propsChanged) {\n delete this.props.styles;\n }\n\n if (renderResult) {\n return linkClass(renderResult, styles, options);\n }\n\n return React.createElement('noscript');\n }\n };\n\n return hoistNonReactStatics(WrappedComponent, Component);\n};\n"],"sourceRoot":"/source/"}
\No newline at end of file