diff --git a/Libraries/StyleSheet/TransformPropTypes.js b/Libraries/StyleSheet/TransformPropTypes.js index c9f403f75..06728d0b7 100644 --- a/Libraries/StyleSheet/TransformPropTypes.js +++ b/Libraries/StyleSheet/TransformPropTypes.js @@ -17,6 +17,10 @@ var TransformPropTypes = { transform: ReactPropTypes.arrayOf( ReactPropTypes.oneOfType([ ReactPropTypes.shape({rotate: ReactPropTypes.string}), + ReactPropTypes.shape({rotateX: ReactPropTypes.string}), + ReactPropTypes.shape({rotateY: ReactPropTypes.string}), + ReactPropTypes.shape({rotateZ: ReactPropTypes.string}), + ReactPropTypes.shape({scale: ReactPropTypes.number}), ReactPropTypes.shape({scaleX: ReactPropTypes.number}), ReactPropTypes.shape({scaleY: ReactPropTypes.number}), ReactPropTypes.shape({translateX: ReactPropTypes.number}), diff --git a/Libraries/StyleSheet/precomputeStyle.js b/Libraries/StyleSheet/precomputeStyle.js index 3294494fa..0e166e1c4 100644 --- a/Libraries/StyleSheet/precomputeStyle.js +++ b/Libraries/StyleSheet/precomputeStyle.js @@ -58,7 +58,14 @@ function _precomputeTransforms(style: Object): Object { case 'matrix': MatrixMath.multiplyInto(result, result, value); break; + case 'rotateX': + _multiplyTransform(result, MatrixMath.reuseRotateXCommand, [_convertToRadians(value)]); + break; + case 'rotateY': + _multiplyTransform(result, MatrixMath.reuseRotateYCommand, [_convertToRadians(value)]); + break; case 'rotate': + case 'rotateZ': _multiplyTransform(result, MatrixMath.reuseRotateZCommand, [_convertToRadians(value)]); break; case 'scale': @@ -156,6 +163,9 @@ function _validateTransform(key, value, transformation) { break; case 'translate': break; + case 'rotateX': + case 'rotateY': + case 'rotateZ': case 'rotate': invariant( typeof value === 'string',