mirror of
https://github.com/zoriya/react-native-web.git
synced 2026-06-02 10:35:54 +00:00
Update LayoutPropTypes
* Consolidates certain style props under LayoutPropTypes. * Adds 'direction' style prop. * Adds 'scroll' to 'overflow' style prop. * Filter out 'aspectRatio' for now. Ref #420
This commit is contained in:
@@ -78,6 +78,7 @@ const createReducer = (style, styleProps) => {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
// ignore React Native styles
|
// ignore React Native styles
|
||||||
|
case 'aspectRatio':
|
||||||
case 'elevation':
|
case 'elevation':
|
||||||
case 'overlayColor':
|
case 'overlayColor':
|
||||||
case 'resizeMode':
|
case 'resizeMode':
|
||||||
|
|||||||
@@ -6,17 +6,13 @@ import ShadowPropTypes from '../../propTypes/ShadowPropTypes';
|
|||||||
import TransformPropTypes from '../../propTypes/TransformPropTypes';
|
import TransformPropTypes from '../../propTypes/TransformPropTypes';
|
||||||
import { number, oneOf, string } from 'prop-types';
|
import { number, oneOf, string } from 'prop-types';
|
||||||
|
|
||||||
const hiddenOrVisible = oneOf(['hidden', 'visible']);
|
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
...BorderPropTypes,
|
...BorderPropTypes,
|
||||||
...LayoutPropTypes,
|
...LayoutPropTypes,
|
||||||
...ShadowPropTypes,
|
...ShadowPropTypes,
|
||||||
...TransformPropTypes,
|
...TransformPropTypes,
|
||||||
backfaceVisibility: hiddenOrVisible,
|
|
||||||
backgroundColor: ColorPropType,
|
backgroundColor: ColorPropType,
|
||||||
opacity: number,
|
opacity: number,
|
||||||
overflow: hiddenOrVisible,
|
|
||||||
resizeMode: oneOf(Object.keys(ImageResizeMode)),
|
resizeMode: oneOf(Object.keys(ImageResizeMode)),
|
||||||
/**
|
/**
|
||||||
* @platform unsupported
|
* @platform unsupported
|
||||||
@@ -26,6 +22,5 @@ module.exports = {
|
|||||||
/**
|
/**
|
||||||
* @platform web
|
* @platform web
|
||||||
*/
|
*/
|
||||||
boxShadow: string,
|
boxShadow: string
|
||||||
visibility: hiddenOrVisible
|
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -6,20 +6,14 @@ import ShadowPropTypes from '../../propTypes/ShadowPropTypes';
|
|||||||
import TransformPropTypes from '../../propTypes/TransformPropTypes';
|
import TransformPropTypes from '../../propTypes/TransformPropTypes';
|
||||||
import { number, oneOf, oneOfType, string } from 'prop-types';
|
import { number, oneOf, oneOfType, string } from 'prop-types';
|
||||||
|
|
||||||
const autoOrHiddenOrVisible = oneOf(['auto', 'hidden', 'visible']);
|
|
||||||
const hiddenOrVisible = oneOf(['hidden', 'visible']);
|
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
...AnimationPropTypes,
|
...AnimationPropTypes,
|
||||||
...BorderPropTypes,
|
...BorderPropTypes,
|
||||||
...LayoutPropTypes,
|
...LayoutPropTypes,
|
||||||
...ShadowPropTypes,
|
...ShadowPropTypes,
|
||||||
...TransformPropTypes,
|
...TransformPropTypes,
|
||||||
backfaceVisibility: hiddenOrVisible,
|
|
||||||
backgroundColor: ColorPropType,
|
backgroundColor: ColorPropType,
|
||||||
opacity: number,
|
opacity: number,
|
||||||
overflow: autoOrHiddenOrVisible,
|
|
||||||
zIndex: number,
|
|
||||||
/**
|
/**
|
||||||
* @platform unsupported
|
* @platform unsupported
|
||||||
*/
|
*/
|
||||||
@@ -37,8 +31,6 @@ module.exports = {
|
|||||||
boxShadow: string,
|
boxShadow: string,
|
||||||
cursor: string,
|
cursor: string,
|
||||||
outline: string,
|
outline: string,
|
||||||
overflowX: autoOrHiddenOrVisible,
|
|
||||||
overflowY: autoOrHiddenOrVisible,
|
|
||||||
perspective: oneOfType([number, string]),
|
perspective: oneOfType([number, string]),
|
||||||
perspectiveOrigin: string,
|
perspectiveOrigin: string,
|
||||||
transitionDelay: string,
|
transitionDelay: string,
|
||||||
@@ -46,7 +38,6 @@ module.exports = {
|
|||||||
transitionProperty: string,
|
transitionProperty: string,
|
||||||
transitionTimingFunction: string,
|
transitionTimingFunction: string,
|
||||||
userSelect: string,
|
userSelect: string,
|
||||||
visibility: hiddenOrVisible,
|
|
||||||
willChange: string,
|
willChange: string,
|
||||||
WebkitOverflowScrolling: oneOf(['auto', 'touch'])
|
WebkitOverflowScrolling: oneOf(['auto', 'touch'])
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,16 +1,39 @@
|
|||||||
import { number, oneOf, oneOfType, string } from 'prop-types';
|
import { number, oneOf, oneOfType, string } from 'prop-types';
|
||||||
|
const OverflowPropType = oneOf(['auto', 'hidden', 'scroll', 'visible']);
|
||||||
|
const hiddenOrVisible = oneOf(['hidden', 'visible']);
|
||||||
const numberOrString = oneOfType([number, string]);
|
const numberOrString = oneOfType([number, string]);
|
||||||
|
|
||||||
const LayoutPropTypes = {
|
const LayoutPropTypes = {
|
||||||
// box model
|
alignContent: oneOf([
|
||||||
|
'center',
|
||||||
|
'flex-end',
|
||||||
|
'flex-start',
|
||||||
|
'space-around',
|
||||||
|
'space-between',
|
||||||
|
'stretch'
|
||||||
|
]),
|
||||||
|
alignItems: oneOf(['baseline', 'center', 'flex-end', 'flex-start', 'stretch']),
|
||||||
|
alignSelf: oneOf(['auto', 'baseline', 'center', 'flex-end', 'flex-start', 'stretch']),
|
||||||
|
aspectRatio: number,
|
||||||
|
backfaceVisibility: hiddenOrVisible,
|
||||||
borderWidth: numberOrString,
|
borderWidth: numberOrString,
|
||||||
borderBottomWidth: numberOrString,
|
borderBottomWidth: numberOrString,
|
||||||
borderLeftWidth: numberOrString,
|
borderLeftWidth: numberOrString,
|
||||||
borderRightWidth: numberOrString,
|
borderRightWidth: numberOrString,
|
||||||
borderTopWidth: numberOrString,
|
borderTopWidth: numberOrString,
|
||||||
|
bottom: numberOrString,
|
||||||
boxSizing: string,
|
boxSizing: string,
|
||||||
|
direction: oneOf(['inherit', 'ltr', 'rtl']),
|
||||||
display: string,
|
display: string,
|
||||||
|
flex: number,
|
||||||
|
flexBasis: numberOrString,
|
||||||
|
flexDirection: oneOf(['column', 'column-reverse', 'row', 'row-reverse']),
|
||||||
|
flexGrow: number,
|
||||||
|
flexShrink: number,
|
||||||
|
flexWrap: oneOf(['nowrap', 'wrap', 'wrap-reverse']),
|
||||||
height: numberOrString,
|
height: numberOrString,
|
||||||
|
justifyContent: oneOf(['center', 'flex-end', 'flex-start', 'space-around', 'space-between']),
|
||||||
|
left: numberOrString,
|
||||||
margin: numberOrString,
|
margin: numberOrString,
|
||||||
marginBottom: numberOrString,
|
marginBottom: numberOrString,
|
||||||
marginHorizontal: numberOrString,
|
marginHorizontal: numberOrString,
|
||||||
@@ -22,6 +45,10 @@ const LayoutPropTypes = {
|
|||||||
maxWidth: numberOrString,
|
maxWidth: numberOrString,
|
||||||
minHeight: numberOrString,
|
minHeight: numberOrString,
|
||||||
minWidth: numberOrString,
|
minWidth: numberOrString,
|
||||||
|
order: number,
|
||||||
|
overflow: OverflowPropType,
|
||||||
|
overflowX: OverflowPropType,
|
||||||
|
overflowY: OverflowPropType,
|
||||||
padding: numberOrString,
|
padding: numberOrString,
|
||||||
paddingBottom: numberOrString,
|
paddingBottom: numberOrString,
|
||||||
paddingHorizontal: numberOrString,
|
paddingHorizontal: numberOrString,
|
||||||
@@ -29,32 +56,12 @@ const LayoutPropTypes = {
|
|||||||
paddingRight: numberOrString,
|
paddingRight: numberOrString,
|
||||||
paddingTop: numberOrString,
|
paddingTop: numberOrString,
|
||||||
paddingVertical: numberOrString,
|
paddingVertical: numberOrString,
|
||||||
width: numberOrString,
|
|
||||||
// flexbox
|
|
||||||
alignContent: oneOf([
|
|
||||||
'center',
|
|
||||||
'flex-end',
|
|
||||||
'flex-start',
|
|
||||||
'space-around',
|
|
||||||
'space-between',
|
|
||||||
'stretch'
|
|
||||||
]),
|
|
||||||
alignItems: oneOf(['baseline', 'center', 'flex-end', 'flex-start', 'stretch']),
|
|
||||||
alignSelf: oneOf(['auto', 'baseline', 'center', 'flex-end', 'flex-start', 'stretch']),
|
|
||||||
flex: number,
|
|
||||||
flexBasis: numberOrString,
|
|
||||||
flexDirection: oneOf(['column', 'column-reverse', 'row', 'row-reverse']),
|
|
||||||
flexGrow: number,
|
|
||||||
flexShrink: number,
|
|
||||||
flexWrap: oneOf(['nowrap', 'wrap', 'wrap-reverse']),
|
|
||||||
justifyContent: oneOf(['center', 'flex-end', 'flex-start', 'space-around', 'space-between']),
|
|
||||||
order: number,
|
|
||||||
// position
|
|
||||||
bottom: numberOrString,
|
|
||||||
left: numberOrString,
|
|
||||||
position: oneOf(['absolute', 'fixed', 'relative', 'static']),
|
position: oneOf(['absolute', 'fixed', 'relative', 'static']),
|
||||||
right: numberOrString,
|
right: numberOrString,
|
||||||
top: numberOrString
|
top: numberOrString,
|
||||||
|
visibility: hiddenOrVisible,
|
||||||
|
width: numberOrString,
|
||||||
|
zIndex: number
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = LayoutPropTypes;
|
module.exports = LayoutPropTypes;
|
||||||
|
|||||||
Reference in New Issue
Block a user