react-native-macos/Libraries/StyleSheet/TransformPropTypes.js

75 строки
2.5 KiB
JavaScript

/**
* Copyright (c) 2015-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @providesModule TransformPropTypes
* @flow
*/
'use strict';
var deprecatedPropType = require('deprecatedPropType');
var ReactPropTypes = require('React').PropTypes;
var TransformMatrixPropType = function(
props : Object,
propName : string,
componentName : string
) : ?Error {
if (props[propName]) {
return new Error(
'The transformMatrix style property is deprecated. ' +
'Use `transform: [{ matrix: ... }]` instead.'
);
}
};
var DecomposedMatrixPropType = function(
props : Object,
propName : string,
componentName : string
) : ?Error {
if (props[propName]) {
return new Error(
'The decomposedMatrix style property is deprecated. ' +
'Use `transform: [...]` instead.'
);
}
};
var TransformPropTypes = {
transform: ReactPropTypes.arrayOf(
ReactPropTypes.oneOfType([
ReactPropTypes.shape({perspective: ReactPropTypes.number}),
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}),
ReactPropTypes.shape({translateY: ReactPropTypes.number}),
ReactPropTypes.shape({skewX: ReactPropTypes.string}),
ReactPropTypes.shape({skewY: ReactPropTypes.string})
])
),
/* Deprecated */
transformMatrix: TransformMatrixPropType,
decomposedMatrix: DecomposedMatrixPropType,
/* Deprecated transform props used on Android only */
scaleX: deprecatedPropType(ReactPropTypes.number, 'Use the transform prop instead.'),
scaleY: deprecatedPropType(ReactPropTypes.number, 'Use the transform prop instead.'),
rotation: deprecatedPropType(ReactPropTypes.number, 'Use the transform prop instead.'),
translateX: deprecatedPropType(ReactPropTypes.number, 'Use the transform prop instead.'),
translateY: deprecatedPropType(ReactPropTypes.number, 'Use the transform prop instead.'),
};
module.exports = TransformPropTypes;