mirror of
https://github.com/status-im/react-native.git
synced 2025-02-21 13:48:13 +00:00
Move and Rename custom propType definitions in LayoutPropTypes (#21370)
Summary: related #21342 TODO * move LayoutPropType.js * fix flow error CheckList - [x] `yarn prettier` - [x] `yarn flow-check-android` - [x] `yarn flow-check-ios` All flow checks pass. [GENERAL] [ENHANCEMENT] [DeprecatedLayoutPropTypes.js] - Created. [GENERAL] [ENHANCEMENT] [StyleSheetTypes.js] - add comments. Pull Request resolved: https://github.com/facebook/react-native/pull/21370 Differential Revision: D10099715 Pulled By: RSNara fbshipit-source-id: d0515fe0d56d9ed2fde50cc0bfb75b63aded1f5d
This commit is contained in:
parent
d6f3d37802
commit
b6b0fc1f27
@ -10,13 +10,13 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const DeprecatedColorPropType = require('DeprecatedColorPropType');
|
const DeprecatedColorPropType = require('DeprecatedColorPropType');
|
||||||
|
const DeprecatedLayoutPropTypes = require('DeprecatedLayoutPropTypes');
|
||||||
|
const ReactPropTypes = require('prop-types');
|
||||||
const DeprecatedShadowPropTypesIOS = require('DeprecatedShadowPropTypesIOS');
|
const DeprecatedShadowPropTypesIOS = require('DeprecatedShadowPropTypesIOS');
|
||||||
const DeprecatedTransformPropTypes = require('DeprecatedTransformPropTypes');
|
const DeprecatedTransformPropTypes = require('DeprecatedTransformPropTypes');
|
||||||
const LayoutPropTypes = require('LayoutPropTypes');
|
|
||||||
const ReactPropTypes = require('prop-types');
|
|
||||||
|
|
||||||
const ImageStylePropTypes = {
|
const ImageStylePropTypes = {
|
||||||
...LayoutPropTypes,
|
...DeprecatedLayoutPropTypes,
|
||||||
...DeprecatedShadowPropTypesIOS,
|
...DeprecatedShadowPropTypesIOS,
|
||||||
...DeprecatedTransformPropTypes,
|
...DeprecatedTransformPropTypes,
|
||||||
resizeMode: ReactPropTypes.oneOf([
|
resizeMode: ReactPropTypes.oneOf([
|
||||||
|
190
Libraries/DeprecatedPropTypes/DeprecatedLayoutPropTypes.js
Normal file
190
Libraries/DeprecatedPropTypes/DeprecatedLayoutPropTypes.js
Normal file
@ -0,0 +1,190 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||||
|
*
|
||||||
|
* This source code is licensed under the MIT license found in the
|
||||||
|
* LICENSE file in the root directory of this source tree.
|
||||||
|
*
|
||||||
|
* @format
|
||||||
|
* @flow strict
|
||||||
|
*/
|
||||||
|
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
const ReactPropTypes = require('prop-types');
|
||||||
|
|
||||||
|
const LayoutPropTypes = {
|
||||||
|
display: ReactPropTypes.oneOf(['none', 'flex']),
|
||||||
|
width: ReactPropTypes.oneOfType([
|
||||||
|
ReactPropTypes.number,
|
||||||
|
ReactPropTypes.string,
|
||||||
|
]),
|
||||||
|
height: ReactPropTypes.oneOfType([
|
||||||
|
ReactPropTypes.number,
|
||||||
|
ReactPropTypes.string,
|
||||||
|
]),
|
||||||
|
start: ReactPropTypes.oneOfType([
|
||||||
|
ReactPropTypes.number,
|
||||||
|
ReactPropTypes.string,
|
||||||
|
]),
|
||||||
|
end: ReactPropTypes.oneOfType([ReactPropTypes.number, ReactPropTypes.string]),
|
||||||
|
top: ReactPropTypes.oneOfType([ReactPropTypes.number, ReactPropTypes.string]),
|
||||||
|
left: ReactPropTypes.oneOfType([
|
||||||
|
ReactPropTypes.number,
|
||||||
|
ReactPropTypes.string,
|
||||||
|
]),
|
||||||
|
right: ReactPropTypes.oneOfType([
|
||||||
|
ReactPropTypes.number,
|
||||||
|
ReactPropTypes.string,
|
||||||
|
]),
|
||||||
|
bottom: ReactPropTypes.oneOfType([
|
||||||
|
ReactPropTypes.number,
|
||||||
|
ReactPropTypes.string,
|
||||||
|
]),
|
||||||
|
minWidth: ReactPropTypes.oneOfType([
|
||||||
|
ReactPropTypes.number,
|
||||||
|
ReactPropTypes.string,
|
||||||
|
]),
|
||||||
|
maxWidth: ReactPropTypes.oneOfType([
|
||||||
|
ReactPropTypes.number,
|
||||||
|
ReactPropTypes.string,
|
||||||
|
]),
|
||||||
|
minHeight: ReactPropTypes.oneOfType([
|
||||||
|
ReactPropTypes.number,
|
||||||
|
ReactPropTypes.string,
|
||||||
|
]),
|
||||||
|
maxHeight: ReactPropTypes.oneOfType([
|
||||||
|
ReactPropTypes.number,
|
||||||
|
ReactPropTypes.string,
|
||||||
|
]),
|
||||||
|
margin: ReactPropTypes.oneOfType([
|
||||||
|
ReactPropTypes.number,
|
||||||
|
ReactPropTypes.string,
|
||||||
|
]),
|
||||||
|
marginVertical: ReactPropTypes.oneOfType([
|
||||||
|
ReactPropTypes.number,
|
||||||
|
ReactPropTypes.string,
|
||||||
|
]),
|
||||||
|
marginHorizontal: ReactPropTypes.oneOfType([
|
||||||
|
ReactPropTypes.number,
|
||||||
|
ReactPropTypes.string,
|
||||||
|
]),
|
||||||
|
marginTop: ReactPropTypes.oneOfType([
|
||||||
|
ReactPropTypes.number,
|
||||||
|
ReactPropTypes.string,
|
||||||
|
]),
|
||||||
|
marginBottom: ReactPropTypes.oneOfType([
|
||||||
|
ReactPropTypes.number,
|
||||||
|
ReactPropTypes.string,
|
||||||
|
]),
|
||||||
|
marginLeft: ReactPropTypes.oneOfType([
|
||||||
|
ReactPropTypes.number,
|
||||||
|
ReactPropTypes.string,
|
||||||
|
]),
|
||||||
|
marginRight: ReactPropTypes.oneOfType([
|
||||||
|
ReactPropTypes.number,
|
||||||
|
ReactPropTypes.string,
|
||||||
|
]),
|
||||||
|
marginStart: ReactPropTypes.oneOfType([
|
||||||
|
ReactPropTypes.number,
|
||||||
|
ReactPropTypes.string,
|
||||||
|
]),
|
||||||
|
marginEnd: ReactPropTypes.oneOfType([
|
||||||
|
ReactPropTypes.number,
|
||||||
|
ReactPropTypes.string,
|
||||||
|
]),
|
||||||
|
padding: ReactPropTypes.oneOfType([
|
||||||
|
ReactPropTypes.number,
|
||||||
|
ReactPropTypes.string,
|
||||||
|
]),
|
||||||
|
paddingVertical: ReactPropTypes.oneOfType([
|
||||||
|
ReactPropTypes.number,
|
||||||
|
ReactPropTypes.string,
|
||||||
|
]),
|
||||||
|
paddingHorizontal: ReactPropTypes.oneOfType([
|
||||||
|
ReactPropTypes.number,
|
||||||
|
ReactPropTypes.string,
|
||||||
|
]),
|
||||||
|
paddingTop: ReactPropTypes.oneOfType([
|
||||||
|
ReactPropTypes.number,
|
||||||
|
ReactPropTypes.string,
|
||||||
|
]),
|
||||||
|
paddingBottom: ReactPropTypes.oneOfType([
|
||||||
|
ReactPropTypes.number,
|
||||||
|
ReactPropTypes.string,
|
||||||
|
]),
|
||||||
|
paddingLeft: ReactPropTypes.oneOfType([
|
||||||
|
ReactPropTypes.number,
|
||||||
|
ReactPropTypes.string,
|
||||||
|
]),
|
||||||
|
paddingRight: ReactPropTypes.oneOfType([
|
||||||
|
ReactPropTypes.number,
|
||||||
|
ReactPropTypes.string,
|
||||||
|
]),
|
||||||
|
paddingStart: ReactPropTypes.oneOfType([
|
||||||
|
ReactPropTypes.number,
|
||||||
|
ReactPropTypes.string,
|
||||||
|
]),
|
||||||
|
paddingEnd: ReactPropTypes.oneOfType([
|
||||||
|
ReactPropTypes.number,
|
||||||
|
ReactPropTypes.string,
|
||||||
|
]),
|
||||||
|
borderWidth: ReactPropTypes.number,
|
||||||
|
borderTopWidth: ReactPropTypes.number,
|
||||||
|
borderStartWidth: ReactPropTypes.number,
|
||||||
|
borderEndWidth: ReactPropTypes.number,
|
||||||
|
borderRightWidth: ReactPropTypes.number,
|
||||||
|
borderBottomWidth: ReactPropTypes.number,
|
||||||
|
borderLeftWidth: ReactPropTypes.number,
|
||||||
|
position: ReactPropTypes.oneOf(['absolute', 'relative']),
|
||||||
|
flexDirection: ReactPropTypes.oneOf([
|
||||||
|
'row',
|
||||||
|
'row-reverse',
|
||||||
|
'column',
|
||||||
|
'column-reverse',
|
||||||
|
]),
|
||||||
|
flexWrap: ReactPropTypes.oneOf(['wrap', 'nowrap', 'wrap-reverse']),
|
||||||
|
justifyContent: ReactPropTypes.oneOf([
|
||||||
|
'flex-start',
|
||||||
|
'flex-end',
|
||||||
|
'center',
|
||||||
|
'space-between',
|
||||||
|
'space-around',
|
||||||
|
'space-evenly',
|
||||||
|
]),
|
||||||
|
alignItems: ReactPropTypes.oneOf([
|
||||||
|
'flex-start',
|
||||||
|
'flex-end',
|
||||||
|
'center',
|
||||||
|
'stretch',
|
||||||
|
'baseline',
|
||||||
|
]),
|
||||||
|
alignSelf: ReactPropTypes.oneOf([
|
||||||
|
'auto',
|
||||||
|
'flex-start',
|
||||||
|
'flex-end',
|
||||||
|
'center',
|
||||||
|
'stretch',
|
||||||
|
'baseline',
|
||||||
|
]),
|
||||||
|
alignContent: ReactPropTypes.oneOf([
|
||||||
|
'flex-start',
|
||||||
|
'flex-end',
|
||||||
|
'center',
|
||||||
|
'stretch',
|
||||||
|
'space-between',
|
||||||
|
'space-around',
|
||||||
|
]),
|
||||||
|
overflow: ReactPropTypes.oneOf(['visible', 'hidden', 'scroll']),
|
||||||
|
flex: ReactPropTypes.number,
|
||||||
|
flexGrow: ReactPropTypes.number,
|
||||||
|
flexShrink: ReactPropTypes.number,
|
||||||
|
flexBasis: ReactPropTypes.oneOfType([
|
||||||
|
ReactPropTypes.number,
|
||||||
|
ReactPropTypes.string,
|
||||||
|
]),
|
||||||
|
aspectRatio: ReactPropTypes.number,
|
||||||
|
zIndex: ReactPropTypes.number,
|
||||||
|
direction: ReactPropTypes.oneOf(['inherit', 'ltr', 'rtl']),
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = LayoutPropTypes;
|
@ -11,7 +11,7 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const DeprecatedColorPropType = require('DeprecatedColorPropType');
|
const DeprecatedColorPropType = require('DeprecatedColorPropType');
|
||||||
const LayoutPropTypes = require('LayoutPropTypes');
|
const DeprecatedLayoutPropTypes = require('DeprecatedLayoutPropTypes');
|
||||||
const ReactPropTypes = require('prop-types');
|
const ReactPropTypes = require('prop-types');
|
||||||
const DeprecatedShadowPropTypesIOS = require('DeprecatedShadowPropTypesIOS');
|
const DeprecatedShadowPropTypesIOS = require('DeprecatedShadowPropTypesIOS');
|
||||||
const DeprecatedTransformPropTypes = require('DeprecatedTransformPropTypes');
|
const DeprecatedTransformPropTypes = require('DeprecatedTransformPropTypes');
|
||||||
@ -20,7 +20,7 @@ const DeprecatedTransformPropTypes = require('DeprecatedTransformPropTypes');
|
|||||||
* Warning: Some of these properties may not be supported in all releases.
|
* Warning: Some of these properties may not be supported in all releases.
|
||||||
*/
|
*/
|
||||||
const DeprecatedViewStylePropTypes = {
|
const DeprecatedViewStylePropTypes = {
|
||||||
...LayoutPropTypes,
|
...DeprecatedLayoutPropTypes,
|
||||||
...DeprecatedShadowPropTypesIOS,
|
...DeprecatedShadowPropTypesIOS,
|
||||||
...DeprecatedTransformPropTypes,
|
...DeprecatedTransformPropTypes,
|
||||||
backfaceVisibility: ReactPropTypes.oneOf(['visible', 'hidden']),
|
backfaceVisibility: ReactPropTypes.oneOf(['visible', 'hidden']),
|
||||||
|
@ -1,561 +0,0 @@
|
|||||||
/**
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*
|
|
||||||
* @format
|
|
||||||
* @flow strict
|
|
||||||
*/
|
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
const ReactPropTypes = require('prop-types');
|
|
||||||
|
|
||||||
/**
|
|
||||||
* React Native's layout system is based on Flexbox and is powered both
|
|
||||||
* on iOS and Android by an open source project called `Yoga`:
|
|
||||||
* https://github.com/facebook/yoga
|
|
||||||
*
|
|
||||||
* The implementation in Yoga is slightly different from what the
|
|
||||||
* Flexbox spec defines - for example, we chose more sensible default
|
|
||||||
* values. Since our layout docs are generated from the comments in this
|
|
||||||
* file, please keep a brief comment describing each prop type.
|
|
||||||
*
|
|
||||||
* These properties are a subset of our styles that are consumed by the layout
|
|
||||||
* algorithm and affect the positioning and sizing of views.
|
|
||||||
*/
|
|
||||||
const LayoutPropTypes = {
|
|
||||||
/** `display` sets the display type of this component.
|
|
||||||
*
|
|
||||||
* It works similarly to `display` in CSS, but only support 'flex' and 'none'.
|
|
||||||
* 'flex' is the default.
|
|
||||||
*/
|
|
||||||
display: ReactPropTypes.oneOf(['none', 'flex']),
|
|
||||||
|
|
||||||
/** `width` sets the width of this component.
|
|
||||||
*
|
|
||||||
* It works similarly to `width` in CSS, but in React Native you
|
|
||||||
* must use points or percentages. Ems and other units are not supported.
|
|
||||||
* See https://developer.mozilla.org/en-US/docs/Web/CSS/width for more details.
|
|
||||||
*/
|
|
||||||
width: ReactPropTypes.oneOfType([
|
|
||||||
ReactPropTypes.number,
|
|
||||||
ReactPropTypes.string,
|
|
||||||
]),
|
|
||||||
|
|
||||||
/** `height` sets the height of this component.
|
|
||||||
*
|
|
||||||
* It works similarly to `height` in CSS, but in React Native you
|
|
||||||
* must use points or percentages. Ems and other units are not supported.
|
|
||||||
* See https://developer.mozilla.org/en-US/docs/Web/CSS/height for more details.
|
|
||||||
*/
|
|
||||||
height: ReactPropTypes.oneOfType([
|
|
||||||
ReactPropTypes.number,
|
|
||||||
ReactPropTypes.string,
|
|
||||||
]),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* When the direction is `ltr`, `start` is equivalent to `left`.
|
|
||||||
* When the direction is `rtl`, `start` is equivalent to `right`.
|
|
||||||
*
|
|
||||||
* This style takes precedence over the `left`, `right`, and `end` styles.
|
|
||||||
*/
|
|
||||||
start: ReactPropTypes.oneOfType([
|
|
||||||
ReactPropTypes.number,
|
|
||||||
ReactPropTypes.string,
|
|
||||||
]),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* When the direction is `ltr`, `end` is equivalent to `right`.
|
|
||||||
* When the direction is `rtl`, `end` is equivalent to `left`.
|
|
||||||
*
|
|
||||||
* This style takes precedence over the `left` and `right` styles.
|
|
||||||
*/
|
|
||||||
end: ReactPropTypes.oneOfType([ReactPropTypes.number, ReactPropTypes.string]),
|
|
||||||
|
|
||||||
/** `top` is the number of logical pixels to offset the top edge of
|
|
||||||
* this component.
|
|
||||||
*
|
|
||||||
* It works similarly to `top` in CSS, but in React Native you
|
|
||||||
* must use points or percentages. Ems and other units are not supported.
|
|
||||||
*
|
|
||||||
* See https://developer.mozilla.org/en-US/docs/Web/CSS/top
|
|
||||||
* for more details of how `top` affects layout.
|
|
||||||
*/
|
|
||||||
top: ReactPropTypes.oneOfType([ReactPropTypes.number, ReactPropTypes.string]),
|
|
||||||
|
|
||||||
/** `left` is the number of logical pixels to offset the left edge of
|
|
||||||
* this component.
|
|
||||||
*
|
|
||||||
* It works similarly to `left` in CSS, but in React Native you
|
|
||||||
* must use points or percentages. Ems and other units are not supported.
|
|
||||||
*
|
|
||||||
* See https://developer.mozilla.org/en-US/docs/Web/CSS/left
|
|
||||||
* for more details of how `left` affects layout.
|
|
||||||
*/
|
|
||||||
left: ReactPropTypes.oneOfType([
|
|
||||||
ReactPropTypes.number,
|
|
||||||
ReactPropTypes.string,
|
|
||||||
]),
|
|
||||||
|
|
||||||
/** `right` is the number of logical pixels to offset the right edge of
|
|
||||||
* this component.
|
|
||||||
*
|
|
||||||
* It works similarly to `right` in CSS, but in React Native you
|
|
||||||
* must use points or percentages. Ems and other units are not supported.
|
|
||||||
*
|
|
||||||
* See https://developer.mozilla.org/en-US/docs/Web/CSS/right
|
|
||||||
* for more details of how `right` affects layout.
|
|
||||||
*/
|
|
||||||
right: ReactPropTypes.oneOfType([
|
|
||||||
ReactPropTypes.number,
|
|
||||||
ReactPropTypes.string,
|
|
||||||
]),
|
|
||||||
|
|
||||||
/** `bottom` is the number of logical pixels to offset the bottom edge of
|
|
||||||
* this component.
|
|
||||||
*
|
|
||||||
* It works similarly to `bottom` in CSS, but in React Native you
|
|
||||||
* must use points or percentages. Ems and other units are not supported.
|
|
||||||
*
|
|
||||||
* See https://developer.mozilla.org/en-US/docs/Web/CSS/bottom
|
|
||||||
* for more details of how `bottom` affects layout.
|
|
||||||
*/
|
|
||||||
bottom: ReactPropTypes.oneOfType([
|
|
||||||
ReactPropTypes.number,
|
|
||||||
ReactPropTypes.string,
|
|
||||||
]),
|
|
||||||
|
|
||||||
/** `minWidth` is the minimum width for this component, in logical pixels.
|
|
||||||
*
|
|
||||||
* It works similarly to `min-width` in CSS, but in React Native you
|
|
||||||
* must use points or percentages. Ems and other units are not supported.
|
|
||||||
*
|
|
||||||
* See https://developer.mozilla.org/en-US/docs/Web/CSS/min-width
|
|
||||||
* for more details.
|
|
||||||
*/
|
|
||||||
minWidth: ReactPropTypes.oneOfType([
|
|
||||||
ReactPropTypes.number,
|
|
||||||
ReactPropTypes.string,
|
|
||||||
]),
|
|
||||||
|
|
||||||
/** `maxWidth` is the maximum width for this component, in logical pixels.
|
|
||||||
*
|
|
||||||
* It works similarly to `max-width` in CSS, but in React Native you
|
|
||||||
* must use points or percentages. Ems and other units are not supported.
|
|
||||||
*
|
|
||||||
* See https://developer.mozilla.org/en-US/docs/Web/CSS/max-width
|
|
||||||
* for more details.
|
|
||||||
*/
|
|
||||||
maxWidth: ReactPropTypes.oneOfType([
|
|
||||||
ReactPropTypes.number,
|
|
||||||
ReactPropTypes.string,
|
|
||||||
]),
|
|
||||||
|
|
||||||
/** `minHeight` is the minimum height for this component, in logical pixels.
|
|
||||||
*
|
|
||||||
* It works similarly to `min-height` in CSS, but in React Native you
|
|
||||||
* must use points or percentages. Ems and other units are not supported.
|
|
||||||
*
|
|
||||||
* See https://developer.mozilla.org/en-US/docs/Web/CSS/min-height
|
|
||||||
* for more details.
|
|
||||||
*/
|
|
||||||
minHeight: ReactPropTypes.oneOfType([
|
|
||||||
ReactPropTypes.number,
|
|
||||||
ReactPropTypes.string,
|
|
||||||
]),
|
|
||||||
|
|
||||||
/** `maxHeight` is the maximum height for this component, in logical pixels.
|
|
||||||
*
|
|
||||||
* It works similarly to `max-height` in CSS, but in React Native you
|
|
||||||
* must use points or percentages. Ems and other units are not supported.
|
|
||||||
*
|
|
||||||
* See https://developer.mozilla.org/en-US/docs/Web/CSS/max-height
|
|
||||||
* for more details.
|
|
||||||
*/
|
|
||||||
maxHeight: ReactPropTypes.oneOfType([
|
|
||||||
ReactPropTypes.number,
|
|
||||||
ReactPropTypes.string,
|
|
||||||
]),
|
|
||||||
|
|
||||||
/** Setting `margin` has the same effect as setting each of
|
|
||||||
* `marginTop`, `marginLeft`, `marginBottom`, and `marginRight`.
|
|
||||||
* See https://developer.mozilla.org/en-US/docs/Web/CSS/margin
|
|
||||||
* for more details.
|
|
||||||
*/
|
|
||||||
margin: ReactPropTypes.oneOfType([
|
|
||||||
ReactPropTypes.number,
|
|
||||||
ReactPropTypes.string,
|
|
||||||
]),
|
|
||||||
|
|
||||||
/** Setting `marginVertical` has the same effect as setting both
|
|
||||||
* `marginTop` and `marginBottom`.
|
|
||||||
*/
|
|
||||||
marginVertical: ReactPropTypes.oneOfType([
|
|
||||||
ReactPropTypes.number,
|
|
||||||
ReactPropTypes.string,
|
|
||||||
]),
|
|
||||||
|
|
||||||
/** Setting `marginHorizontal` has the same effect as setting
|
|
||||||
* both `marginLeft` and `marginRight`.
|
|
||||||
*/
|
|
||||||
marginHorizontal: ReactPropTypes.oneOfType([
|
|
||||||
ReactPropTypes.number,
|
|
||||||
ReactPropTypes.string,
|
|
||||||
]),
|
|
||||||
|
|
||||||
/** `marginTop` works like `margin-top` in CSS.
|
|
||||||
* See https://developer.mozilla.org/en-US/docs/Web/CSS/margin-top
|
|
||||||
* for more details.
|
|
||||||
*/
|
|
||||||
marginTop: ReactPropTypes.oneOfType([
|
|
||||||
ReactPropTypes.number,
|
|
||||||
ReactPropTypes.string,
|
|
||||||
]),
|
|
||||||
|
|
||||||
/** `marginBottom` works like `margin-bottom` in CSS.
|
|
||||||
* See https://developer.mozilla.org/en-US/docs/Web/CSS/margin-bottom
|
|
||||||
* for more details.
|
|
||||||
*/
|
|
||||||
marginBottom: ReactPropTypes.oneOfType([
|
|
||||||
ReactPropTypes.number,
|
|
||||||
ReactPropTypes.string,
|
|
||||||
]),
|
|
||||||
|
|
||||||
/** `marginLeft` works like `margin-left` in CSS.
|
|
||||||
* See https://developer.mozilla.org/en-US/docs/Web/CSS/margin-left
|
|
||||||
* for more details.
|
|
||||||
*/
|
|
||||||
marginLeft: ReactPropTypes.oneOfType([
|
|
||||||
ReactPropTypes.number,
|
|
||||||
ReactPropTypes.string,
|
|
||||||
]),
|
|
||||||
|
|
||||||
/** `marginRight` works like `margin-right` in CSS.
|
|
||||||
* See https://developer.mozilla.org/en-US/docs/Web/CSS/margin-right
|
|
||||||
* for more details.
|
|
||||||
*/
|
|
||||||
marginRight: ReactPropTypes.oneOfType([
|
|
||||||
ReactPropTypes.number,
|
|
||||||
ReactPropTypes.string,
|
|
||||||
]),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* When direction is `ltr`, `marginStart` is equivalent to `marginLeft`.
|
|
||||||
* When direction is `rtl`, `marginStart` is equivalent to `marginRight`.
|
|
||||||
*/
|
|
||||||
marginStart: ReactPropTypes.oneOfType([
|
|
||||||
ReactPropTypes.number,
|
|
||||||
ReactPropTypes.string,
|
|
||||||
]),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* When direction is `ltr`, `marginEnd` is equivalent to `marginRight`.
|
|
||||||
* When direction is `rtl`, `marginEnd` is equivalent to `marginLeft`.
|
|
||||||
*/
|
|
||||||
marginEnd: ReactPropTypes.oneOfType([
|
|
||||||
ReactPropTypes.number,
|
|
||||||
ReactPropTypes.string,
|
|
||||||
]),
|
|
||||||
|
|
||||||
/** Setting `padding` has the same effect as setting each of
|
|
||||||
* `paddingTop`, `paddingBottom`, `paddingLeft`, and `paddingRight`.
|
|
||||||
* See https://developer.mozilla.org/en-US/docs/Web/CSS/padding
|
|
||||||
* for more details.
|
|
||||||
*/
|
|
||||||
padding: ReactPropTypes.oneOfType([
|
|
||||||
ReactPropTypes.number,
|
|
||||||
ReactPropTypes.string,
|
|
||||||
]),
|
|
||||||
|
|
||||||
/** Setting `paddingVertical` is like setting both of
|
|
||||||
* `paddingTop` and `paddingBottom`.
|
|
||||||
*/
|
|
||||||
paddingVertical: ReactPropTypes.oneOfType([
|
|
||||||
ReactPropTypes.number,
|
|
||||||
ReactPropTypes.string,
|
|
||||||
]),
|
|
||||||
|
|
||||||
/** Setting `paddingHorizontal` is like setting both of
|
|
||||||
* `paddingLeft` and `paddingRight`.
|
|
||||||
*/
|
|
||||||
paddingHorizontal: ReactPropTypes.oneOfType([
|
|
||||||
ReactPropTypes.number,
|
|
||||||
ReactPropTypes.string,
|
|
||||||
]),
|
|
||||||
|
|
||||||
/** `paddingTop` works like `padding-top` in CSS.
|
|
||||||
* See https://developer.mozilla.org/en-US/docs/Web/CSS/padding-top
|
|
||||||
* for more details.
|
|
||||||
*/
|
|
||||||
paddingTop: ReactPropTypes.oneOfType([
|
|
||||||
ReactPropTypes.number,
|
|
||||||
ReactPropTypes.string,
|
|
||||||
]),
|
|
||||||
|
|
||||||
/** `paddingBottom` works like `padding-bottom` in CSS.
|
|
||||||
* See https://developer.mozilla.org/en-US/docs/Web/CSS/padding-bottom
|
|
||||||
* for more details.
|
|
||||||
*/
|
|
||||||
paddingBottom: ReactPropTypes.oneOfType([
|
|
||||||
ReactPropTypes.number,
|
|
||||||
ReactPropTypes.string,
|
|
||||||
]),
|
|
||||||
|
|
||||||
/** `paddingLeft` works like `padding-left` in CSS.
|
|
||||||
* See https://developer.mozilla.org/en-US/docs/Web/CSS/padding-left
|
|
||||||
* for more details.
|
|
||||||
*/
|
|
||||||
paddingLeft: ReactPropTypes.oneOfType([
|
|
||||||
ReactPropTypes.number,
|
|
||||||
ReactPropTypes.string,
|
|
||||||
]),
|
|
||||||
|
|
||||||
/** `paddingRight` works like `padding-right` in CSS.
|
|
||||||
* See https://developer.mozilla.org/en-US/docs/Web/CSS/padding-right
|
|
||||||
* for more details.
|
|
||||||
*/
|
|
||||||
paddingRight: ReactPropTypes.oneOfType([
|
|
||||||
ReactPropTypes.number,
|
|
||||||
ReactPropTypes.string,
|
|
||||||
]),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* When direction is `ltr`, `paddingStart` is equivalent to `paddingLeft`.
|
|
||||||
* When direction is `rtl`, `paddingStart` is equivalent to `paddingRight`.
|
|
||||||
*/
|
|
||||||
paddingStart: ReactPropTypes.oneOfType([
|
|
||||||
ReactPropTypes.number,
|
|
||||||
ReactPropTypes.string,
|
|
||||||
]),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* When direction is `ltr`, `paddingEnd` is equivalent to `paddingRight`.
|
|
||||||
* When direction is `rtl`, `paddingEnd` is equivalent to `paddingLeft`.
|
|
||||||
*/
|
|
||||||
paddingEnd: ReactPropTypes.oneOfType([
|
|
||||||
ReactPropTypes.number,
|
|
||||||
ReactPropTypes.string,
|
|
||||||
]),
|
|
||||||
|
|
||||||
/** `borderWidth` works like `border-width` in CSS.
|
|
||||||
* See https://developer.mozilla.org/en-US/docs/Web/CSS/border-width
|
|
||||||
* for more details.
|
|
||||||
*/
|
|
||||||
borderWidth: ReactPropTypes.number,
|
|
||||||
|
|
||||||
/** `borderTopWidth` works like `border-top-width` in CSS.
|
|
||||||
* See https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-width
|
|
||||||
* for more details.
|
|
||||||
*/
|
|
||||||
borderTopWidth: ReactPropTypes.number,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* When direction is `ltr`, `borderStartWidth` is equivalent to `borderLeftWidth`.
|
|
||||||
* When direction is `rtl`, `borderStartWidth` is equivalent to `borderRightWidth`.
|
|
||||||
*/
|
|
||||||
borderStartWidth: ReactPropTypes.number,
|
|
||||||
|
|
||||||
/**
|
|
||||||
* When direction is `ltr`, `borderEndWidth` is equivalent to `borderRightWidth`.
|
|
||||||
* When direction is `rtl`, `borderEndWidth` is equivalent to `borderLeftWidth`.
|
|
||||||
*/
|
|
||||||
borderEndWidth: ReactPropTypes.number,
|
|
||||||
|
|
||||||
/** `borderRightWidth` works like `border-right-width` in CSS.
|
|
||||||
* See https://developer.mozilla.org/en-US/docs/Web/CSS/border-right-width
|
|
||||||
* for more details.
|
|
||||||
*/
|
|
||||||
borderRightWidth: ReactPropTypes.number,
|
|
||||||
|
|
||||||
/** `borderBottomWidth` works like `border-bottom-width` in CSS.
|
|
||||||
* See https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-width
|
|
||||||
* for more details.
|
|
||||||
*/
|
|
||||||
borderBottomWidth: ReactPropTypes.number,
|
|
||||||
|
|
||||||
/** `borderLeftWidth` works like `border-left-width` in CSS.
|
|
||||||
* See https://developer.mozilla.org/en-US/docs/Web/CSS/border-left-width
|
|
||||||
* for more details.
|
|
||||||
*/
|
|
||||||
borderLeftWidth: ReactPropTypes.number,
|
|
||||||
|
|
||||||
/** `position` in React Native is similar to regular CSS, but
|
|
||||||
* everything is set to `relative` by default, so `absolute`
|
|
||||||
* positioning is always just relative to the parent.
|
|
||||||
*
|
|
||||||
* If you want to position a child using specific numbers of logical
|
|
||||||
* pixels relative to its parent, set the child to have `absolute`
|
|
||||||
* position.
|
|
||||||
*
|
|
||||||
* If you want to position a child relative to something
|
|
||||||
* that is not its parent, just don't use styles for that. Use the
|
|
||||||
* component tree.
|
|
||||||
*
|
|
||||||
* See https://github.com/facebook/yoga
|
|
||||||
* for more details on how `position` differs between React Native
|
|
||||||
* and CSS.
|
|
||||||
*/
|
|
||||||
position: ReactPropTypes.oneOf(['absolute', 'relative']),
|
|
||||||
|
|
||||||
/** `flexDirection` controls which directions children of a container go.
|
|
||||||
* `row` goes left to right, `column` goes top to bottom, and you may
|
|
||||||
* be able to guess what the other two do. It works like `flex-direction`
|
|
||||||
* in CSS, except the default is `column`.
|
|
||||||
* See https://developer.mozilla.org/en-US/docs/Web/CSS/flex-direction
|
|
||||||
* for more details.
|
|
||||||
*/
|
|
||||||
flexDirection: ReactPropTypes.oneOf([
|
|
||||||
'row',
|
|
||||||
'row-reverse',
|
|
||||||
'column',
|
|
||||||
'column-reverse',
|
|
||||||
]),
|
|
||||||
|
|
||||||
/** `flexWrap` controls whether children can wrap around after they
|
|
||||||
* hit the end of a flex container.
|
|
||||||
* It works like `flex-wrap` in CSS (default: nowrap).
|
|
||||||
* See https://developer.mozilla.org/en-US/docs/Web/CSS/flex-wrap
|
|
||||||
* for more details.
|
|
||||||
*/
|
|
||||||
flexWrap: ReactPropTypes.oneOf(['wrap', 'nowrap', 'wrap-reverse']),
|
|
||||||
|
|
||||||
/** `justifyContent` aligns children in the main direction.
|
|
||||||
* For example, if children are flowing vertically, `justifyContent`
|
|
||||||
* controls how they align vertically.
|
|
||||||
* It works like `justify-content` in CSS (default: flex-start).
|
|
||||||
* See https://developer.mozilla.org/en-US/docs/Web/CSS/justify-content
|
|
||||||
* for more details.
|
|
||||||
*/
|
|
||||||
justifyContent: ReactPropTypes.oneOf([
|
|
||||||
'flex-start',
|
|
||||||
'flex-end',
|
|
||||||
'center',
|
|
||||||
'space-between',
|
|
||||||
'space-around',
|
|
||||||
'space-evenly',
|
|
||||||
]),
|
|
||||||
|
|
||||||
/** `alignItems` aligns children in the cross direction.
|
|
||||||
* For example, if children are flowing vertically, `alignItems`
|
|
||||||
* controls how they align horizontally.
|
|
||||||
* It works like `align-items` in CSS (default: stretch).
|
|
||||||
* See https://developer.mozilla.org/en-US/docs/Web/CSS/align-items
|
|
||||||
* for more details.
|
|
||||||
*/
|
|
||||||
alignItems: ReactPropTypes.oneOf([
|
|
||||||
'flex-start',
|
|
||||||
'flex-end',
|
|
||||||
'center',
|
|
||||||
'stretch',
|
|
||||||
'baseline',
|
|
||||||
]),
|
|
||||||
|
|
||||||
/** `alignSelf` controls how a child aligns in the cross direction,
|
|
||||||
* overriding the `alignItems` of the parent. It works like `align-self`
|
|
||||||
* in CSS (default: auto).
|
|
||||||
* See https://developer.mozilla.org/en-US/docs/Web/CSS/align-self
|
|
||||||
* for more details.
|
|
||||||
*/
|
|
||||||
alignSelf: ReactPropTypes.oneOf([
|
|
||||||
'auto',
|
|
||||||
'flex-start',
|
|
||||||
'flex-end',
|
|
||||||
'center',
|
|
||||||
'stretch',
|
|
||||||
'baseline',
|
|
||||||
]),
|
|
||||||
|
|
||||||
/** `alignContent` controls how rows align in the cross direction,
|
|
||||||
* overriding the `alignContent` of the parent.
|
|
||||||
* See https://developer.mozilla.org/en-US/docs/Web/CSS/align-content
|
|
||||||
* for more details.
|
|
||||||
*/
|
|
||||||
alignContent: ReactPropTypes.oneOf([
|
|
||||||
'flex-start',
|
|
||||||
'flex-end',
|
|
||||||
'center',
|
|
||||||
'stretch',
|
|
||||||
'space-between',
|
|
||||||
'space-around',
|
|
||||||
]),
|
|
||||||
|
|
||||||
/** `overflow` controls how children are measured and displayed.
|
|
||||||
* `overflow: hidden` causes views to be clipped while `overflow: scroll`
|
|
||||||
* causes views to be measured independently of their parents main axis.
|
|
||||||
* It works like `overflow` in CSS (default: visible).
|
|
||||||
* See https://developer.mozilla.org/en/docs/Web/CSS/overflow
|
|
||||||
* for more details.
|
|
||||||
* `overflow: visible` only works on iOS. On Android, all views will clip
|
|
||||||
* their children.
|
|
||||||
*/
|
|
||||||
overflow: ReactPropTypes.oneOf(['visible', 'hidden', 'scroll']),
|
|
||||||
|
|
||||||
/** In React Native `flex` does not work the same way that it does in CSS.
|
|
||||||
* `flex` is a number rather than a string, and it works
|
|
||||||
* according to the `Yoga` library
|
|
||||||
* at https://github.com/facebook/yoga
|
|
||||||
*
|
|
||||||
* When `flex` is a positive number, it makes the component flexible
|
|
||||||
* and it will be sized proportional to its flex value. So a
|
|
||||||
* component with `flex` set to 2 will take twice the space as a
|
|
||||||
* component with `flex` set to 1.
|
|
||||||
*
|
|
||||||
* When `flex` is 0, the component is sized according to `width`
|
|
||||||
* and `height` and it is inflexible.
|
|
||||||
*
|
|
||||||
* When `flex` is -1, the component is normally sized according
|
|
||||||
* `width` and `height`. However, if there's not enough space,
|
|
||||||
* the component will shrink to its `minWidth` and `minHeight`.
|
|
||||||
*
|
|
||||||
* flexGrow, flexShrink, and flexBasis work the same as in CSS.
|
|
||||||
*/
|
|
||||||
flex: ReactPropTypes.number,
|
|
||||||
flexGrow: ReactPropTypes.number,
|
|
||||||
flexShrink: ReactPropTypes.number,
|
|
||||||
flexBasis: ReactPropTypes.oneOfType([
|
|
||||||
ReactPropTypes.number,
|
|
||||||
ReactPropTypes.string,
|
|
||||||
]),
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Aspect ratio control the size of the undefined dimension of a node. Aspect ratio is a
|
|
||||||
* non-standard property only available in react native and not CSS.
|
|
||||||
*
|
|
||||||
* - On a node with a set width/height aspect ratio control the size of the unset dimension
|
|
||||||
* - On a node with a set flex basis aspect ratio controls the size of the node in the cross axis
|
|
||||||
* if unset
|
|
||||||
* - On a node with a measure function aspect ratio works as though the measure function measures
|
|
||||||
* the flex basis
|
|
||||||
* - On a node with flex grow/shrink aspect ratio controls the size of the node in the cross axis
|
|
||||||
* if unset
|
|
||||||
* - Aspect ratio takes min/max dimensions into account
|
|
||||||
*/
|
|
||||||
aspectRatio: ReactPropTypes.number,
|
|
||||||
|
|
||||||
/** `zIndex` controls which components display on top of others.
|
|
||||||
* Normally, you don't use `zIndex`. Components render according to
|
|
||||||
* their order in the document tree, so later components draw over
|
|
||||||
* earlier ones. `zIndex` may be useful if you have animations or custom
|
|
||||||
* modal interfaces where you don't want this behavior.
|
|
||||||
*
|
|
||||||
* It works like the CSS `z-index` property - components with a larger
|
|
||||||
* `zIndex` will render on top. Think of the z-direction like it's
|
|
||||||
* pointing from the phone into your eyeball.
|
|
||||||
* See https://developer.mozilla.org/en-US/docs/Web/CSS/z-index for
|
|
||||||
* more details.
|
|
||||||
*/
|
|
||||||
zIndex: ReactPropTypes.number,
|
|
||||||
|
|
||||||
/** `direction` specifies the directional flow of the user interface.
|
|
||||||
* The default is `inherit`, except for root node which will have
|
|
||||||
* value based on the current locale.
|
|
||||||
* See https://facebook.github.io/yoga/docs/rtl/
|
|
||||||
* for more details.
|
|
||||||
* @platform ios
|
|
||||||
*/
|
|
||||||
direction: ReactPropTypes.oneOf(['inherit', 'ltr', 'rtl']),
|
|
||||||
};
|
|
||||||
|
|
||||||
module.exports = LayoutPropTypes;
|
|
@ -15,48 +15,333 @@ const AnimatedNode = require('AnimatedNode');
|
|||||||
export type ColorValue = null | string;
|
export type ColorValue = null | string;
|
||||||
export type DimensionValue = null | number | string | AnimatedNode;
|
export type DimensionValue = null | number | string | AnimatedNode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* React Native's layout system is based on Flexbox and is powered both
|
||||||
|
* on iOS and Android by an open source project called `Yoga`:
|
||||||
|
* https://github.com/facebook/yoga
|
||||||
|
*
|
||||||
|
* The implementation in Yoga is slightly different from what the
|
||||||
|
* Flexbox spec defines - for example, we chose more sensible default
|
||||||
|
* values. Since our layout docs are generated from the comments in this
|
||||||
|
* file, please keep a brief comment describing each prop type.
|
||||||
|
*
|
||||||
|
* These properties are a subset of our styles that are consumed by the layout
|
||||||
|
* algorithm and affect the positioning and sizing of views.
|
||||||
|
*/
|
||||||
export type ____LayoutStyle_Internal = $ReadOnly<{|
|
export type ____LayoutStyle_Internal = $ReadOnly<{|
|
||||||
|
/** `display` sets the display type of this component.
|
||||||
|
*
|
||||||
|
* It works similarly to `display` in CSS, but only support 'flex' and 'none'.
|
||||||
|
* 'flex' is the default.
|
||||||
|
*/
|
||||||
display?: 'none' | 'flex',
|
display?: 'none' | 'flex',
|
||||||
|
|
||||||
|
/** `width` sets the width of this component.
|
||||||
|
*
|
||||||
|
* It works similarly to `width` in CSS, but in React Native you
|
||||||
|
* must use points or percentages. Ems and other units are not supported.
|
||||||
|
* See https://developer.mozilla.org/en-US/docs/Web/CSS/width for more details.
|
||||||
|
*/
|
||||||
width?: DimensionValue,
|
width?: DimensionValue,
|
||||||
|
|
||||||
|
/** `height` sets the height of this component.
|
||||||
|
*
|
||||||
|
* It works similarly to `height` in CSS, but in React Native you
|
||||||
|
* must use points or percentages. Ems and other units are not supported.
|
||||||
|
* See https://developer.mozilla.org/en-US/docs/Web/CSS/height for more details.
|
||||||
|
*/
|
||||||
height?: DimensionValue,
|
height?: DimensionValue,
|
||||||
|
|
||||||
|
/** `bottom` is the number of logical pixels to offset the bottom edge of
|
||||||
|
* this component.
|
||||||
|
*
|
||||||
|
* It works similarly to `bottom` in CSS, but in React Native you
|
||||||
|
* must use points or percentages. Ems and other units are not supported.
|
||||||
|
*
|
||||||
|
* See https://developer.mozilla.org/en-US/docs/Web/CSS/bottom
|
||||||
|
* for more details of how `bottom` affects layout.
|
||||||
|
*/
|
||||||
bottom?: DimensionValue,
|
bottom?: DimensionValue,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* When the direction is `ltr`, `end` is equivalent to `right`.
|
||||||
|
* When the direction is `rtl`, `end` is equivalent to `left`.
|
||||||
|
*
|
||||||
|
* This style takes precedence over the `left` and `right` styles.
|
||||||
|
*/
|
||||||
end?: DimensionValue,
|
end?: DimensionValue,
|
||||||
|
|
||||||
|
/** `left` is the number of logical pixels to offset the left edge of
|
||||||
|
* this component.
|
||||||
|
*
|
||||||
|
* It works similarly to `left` in CSS, but in React Native you
|
||||||
|
* must use points or percentages. Ems and other units are not supported.
|
||||||
|
*
|
||||||
|
* See https://developer.mozilla.org/en-US/docs/Web/CSS/left
|
||||||
|
* for more details of how `left` affects layout.
|
||||||
|
*/
|
||||||
left?: DimensionValue,
|
left?: DimensionValue,
|
||||||
|
|
||||||
|
/** `right` is the number of logical pixels to offset the right edge of
|
||||||
|
* this component.
|
||||||
|
*
|
||||||
|
* It works similarly to `right` in CSS, but in React Native you
|
||||||
|
* must use points or percentages. Ems and other units are not supported.
|
||||||
|
*
|
||||||
|
* See https://developer.mozilla.org/en-US/docs/Web/CSS/right
|
||||||
|
* for more details of how `right` affects layout.
|
||||||
|
*/
|
||||||
right?: DimensionValue,
|
right?: DimensionValue,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* When the direction is `ltr`, `start` is equivalent to `left`.
|
||||||
|
* When the direction is `rtl`, `start` is equivalent to `right`.
|
||||||
|
*
|
||||||
|
* This style takes precedence over the `left`, `right`, and `end` styles.
|
||||||
|
*/
|
||||||
start?: DimensionValue,
|
start?: DimensionValue,
|
||||||
|
|
||||||
|
/** `top` is the number of logical pixels to offset the top edge of
|
||||||
|
* this component.
|
||||||
|
*
|
||||||
|
* It works similarly to `top` in CSS, but in React Native you
|
||||||
|
* must use points or percentages. Ems and other units are not supported.
|
||||||
|
*
|
||||||
|
* See https://developer.mozilla.org/en-US/docs/Web/CSS/top
|
||||||
|
* for more details of how `top` affects layout.
|
||||||
|
*/
|
||||||
top?: DimensionValue,
|
top?: DimensionValue,
|
||||||
|
|
||||||
|
/** `minWidth` is the minimum width for this component, in logical pixels.
|
||||||
|
*
|
||||||
|
* It works similarly to `min-width` in CSS, but in React Native you
|
||||||
|
* must use points or percentages. Ems and other units are not supported.
|
||||||
|
*
|
||||||
|
* See https://developer.mozilla.org/en-US/docs/Web/CSS/min-width
|
||||||
|
* for more details.
|
||||||
|
*/
|
||||||
minWidth?: DimensionValue,
|
minWidth?: DimensionValue,
|
||||||
|
|
||||||
|
/** `maxWidth` is the maximum width for this component, in logical pixels.
|
||||||
|
*
|
||||||
|
* It works similarly to `max-width` in CSS, but in React Native you
|
||||||
|
* must use points or percentages. Ems and other units are not supported.
|
||||||
|
*
|
||||||
|
* See https://developer.mozilla.org/en-US/docs/Web/CSS/max-width
|
||||||
|
* for more details.
|
||||||
|
*/
|
||||||
maxWidth?: DimensionValue,
|
maxWidth?: DimensionValue,
|
||||||
|
|
||||||
|
/** `minHeight` is the minimum height for this component, in logical pixels.
|
||||||
|
*
|
||||||
|
* It works similarly to `min-height` in CSS, but in React Native you
|
||||||
|
* must use points or percentages. Ems and other units are not supported.
|
||||||
|
*
|
||||||
|
* See https://developer.mozilla.org/en-US/docs/Web/CSS/min-height
|
||||||
|
* for more details.
|
||||||
|
*/
|
||||||
minHeight?: DimensionValue,
|
minHeight?: DimensionValue,
|
||||||
|
|
||||||
|
/** `maxHeight` is the maximum height for this component, in logical pixels.
|
||||||
|
*
|
||||||
|
* It works similarly to `max-height` in CSS, but in React Native you
|
||||||
|
* must use points or percentages. Ems and other units are not supported.
|
||||||
|
*
|
||||||
|
* See https://developer.mozilla.org/en-US/docs/Web/CSS/max-height
|
||||||
|
* for more details.
|
||||||
|
*/
|
||||||
maxHeight?: DimensionValue,
|
maxHeight?: DimensionValue,
|
||||||
|
|
||||||
|
/** Setting `margin` has the same effect as setting each of
|
||||||
|
* `marginTop`, `marginLeft`, `marginBottom`, and `marginRight`.
|
||||||
|
* See https://developer.mozilla.org/en-US/docs/Web/CSS/margin
|
||||||
|
* for more details.
|
||||||
|
*/
|
||||||
margin?: DimensionValue,
|
margin?: DimensionValue,
|
||||||
|
|
||||||
|
/** `marginBottom` works like `margin-bottom` in CSS.
|
||||||
|
* See https://developer.mozilla.org/en-US/docs/Web/CSS/margin-bottom
|
||||||
|
* for more details.
|
||||||
|
*/
|
||||||
marginBottom?: DimensionValue,
|
marginBottom?: DimensionValue,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* When direction is `ltr`, `marginEnd` is equivalent to `marginRight`.
|
||||||
|
* When direction is `rtl`, `marginEnd` is equivalent to `marginLeft`.
|
||||||
|
*/
|
||||||
marginEnd?: DimensionValue,
|
marginEnd?: DimensionValue,
|
||||||
|
|
||||||
|
/** Setting `marginHorizontal` has the same effect as setting
|
||||||
|
* both `marginLeft` and `marginRight`.
|
||||||
|
*/
|
||||||
marginHorizontal?: DimensionValue,
|
marginHorizontal?: DimensionValue,
|
||||||
|
|
||||||
|
/** `marginLeft` works like `margin-left` in CSS.
|
||||||
|
* See https://developer.mozilla.org/en-US/docs/Web/CSS/margin-left
|
||||||
|
* for more details.
|
||||||
|
*/
|
||||||
marginLeft?: DimensionValue,
|
marginLeft?: DimensionValue,
|
||||||
|
|
||||||
|
/** `marginRight` works like `margin-right` in CSS.
|
||||||
|
* See https://developer.mozilla.org/en-US/docs/Web/CSS/margin-right
|
||||||
|
* for more details.
|
||||||
|
*/
|
||||||
marginRight?: DimensionValue,
|
marginRight?: DimensionValue,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* When direction is `ltr`, `marginStart` is equivalent to `marginLeft`.
|
||||||
|
* When direction is `rtl`, `marginStart` is equivalent to `marginRight`.
|
||||||
|
*/
|
||||||
marginStart?: DimensionValue,
|
marginStart?: DimensionValue,
|
||||||
|
|
||||||
|
/** `marginTop` works like `margin-top` in CSS.
|
||||||
|
* See https://developer.mozilla.org/en-US/docs/Web/CSS/margin-top
|
||||||
|
* for more details.
|
||||||
|
*/
|
||||||
marginTop?: DimensionValue,
|
marginTop?: DimensionValue,
|
||||||
|
|
||||||
|
/** Setting `marginVertical` has the same effect as setting both
|
||||||
|
* `marginTop` and `marginBottom`.
|
||||||
|
*/
|
||||||
marginVertical?: DimensionValue,
|
marginVertical?: DimensionValue,
|
||||||
|
|
||||||
|
/** Setting `padding` has the same effect as setting each of
|
||||||
|
* `paddingTop`, `paddingBottom`, `paddingLeft`, and `paddingRight`.
|
||||||
|
* See https://developer.mozilla.org/en-US/docs/Web/CSS/padding
|
||||||
|
* for more details.
|
||||||
|
*/
|
||||||
padding?: DimensionValue,
|
padding?: DimensionValue,
|
||||||
|
|
||||||
|
/** `paddingBottom` works like `padding-bottom` in CSS.
|
||||||
|
* See https://developer.mozilla.org/en-US/docs/Web/CSS/padding-bottom
|
||||||
|
* for more details.
|
||||||
|
*/
|
||||||
paddingBottom?: DimensionValue,
|
paddingBottom?: DimensionValue,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* When direction is `ltr`, `paddingEnd` is equivalent to `paddingRight`.
|
||||||
|
* When direction is `rtl`, `paddingEnd` is equivalent to `paddingLeft`.
|
||||||
|
*/
|
||||||
paddingEnd?: DimensionValue,
|
paddingEnd?: DimensionValue,
|
||||||
|
|
||||||
|
/** Setting `paddingHorizontal` is like setting both of
|
||||||
|
* `paddingLeft` and `paddingRight`.
|
||||||
|
*/
|
||||||
paddingHorizontal?: DimensionValue,
|
paddingHorizontal?: DimensionValue,
|
||||||
|
|
||||||
|
/** `paddingLeft` works like `padding-left` in CSS.
|
||||||
|
* See https://developer.mozilla.org/en-US/docs/Web/CSS/padding-left
|
||||||
|
* for more details.
|
||||||
|
*/
|
||||||
paddingLeft?: DimensionValue,
|
paddingLeft?: DimensionValue,
|
||||||
|
|
||||||
|
/** `paddingRight` works like `padding-right` in CSS.
|
||||||
|
* See https://developer.mozilla.org/en-US/docs/Web/CSS/padding-right
|
||||||
|
* for more details.
|
||||||
|
*/
|
||||||
paddingRight?: DimensionValue,
|
paddingRight?: DimensionValue,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* When direction is `ltr`, `paddingStart` is equivalent to `paddingLeft`.
|
||||||
|
* When direction is `rtl`, `paddingStart` is equivalent to `paddingRight`.
|
||||||
|
*/
|
||||||
paddingStart?: DimensionValue,
|
paddingStart?: DimensionValue,
|
||||||
|
|
||||||
|
/** `paddingTop` works like `padding-top` in CSS.
|
||||||
|
* See https://developer.mozilla.org/en-US/docs/Web/CSS/padding-top
|
||||||
|
* for more details.
|
||||||
|
*/
|
||||||
paddingTop?: DimensionValue,
|
paddingTop?: DimensionValue,
|
||||||
|
|
||||||
|
/** Setting `paddingVertical` is like setting both of
|
||||||
|
* `paddingTop` and `paddingBottom`.
|
||||||
|
*/
|
||||||
paddingVertical?: DimensionValue,
|
paddingVertical?: DimensionValue,
|
||||||
|
|
||||||
|
/** `borderWidth` works like `border-width` in CSS.
|
||||||
|
* See https://developer.mozilla.org/en-US/docs/Web/CSS/border-width
|
||||||
|
* for more details.
|
||||||
|
*/
|
||||||
borderWidth?: number,
|
borderWidth?: number,
|
||||||
|
|
||||||
|
/** `borderBottomWidth` works like `border-bottom-width` in CSS.
|
||||||
|
* See https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-width
|
||||||
|
* for more details.
|
||||||
|
*/
|
||||||
borderBottomWidth?: number,
|
borderBottomWidth?: number,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* When direction is `ltr`, `borderEndWidth` is equivalent to `borderRightWidth`.
|
||||||
|
* When direction is `rtl`, `borderEndWidth` is equivalent to `borderLeftWidth`.
|
||||||
|
*/
|
||||||
borderEndWidth?: number,
|
borderEndWidth?: number,
|
||||||
|
|
||||||
|
/** `borderLeftWidth` works like `border-left-width` in CSS.
|
||||||
|
* See https://developer.mozilla.org/en-US/docs/Web/CSS/border-left-width
|
||||||
|
* for more details.
|
||||||
|
*/
|
||||||
borderLeftWidth?: number,
|
borderLeftWidth?: number,
|
||||||
|
|
||||||
|
/** `borderRightWidth` works like `border-right-width` in CSS.
|
||||||
|
* See https://developer.mozilla.org/en-US/docs/Web/CSS/border-right-width
|
||||||
|
* for more details.
|
||||||
|
*/
|
||||||
borderRightWidth?: number,
|
borderRightWidth?: number,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* When direction is `ltr`, `borderStartWidth` is equivalent to `borderLeftWidth`.
|
||||||
|
* When direction is `rtl`, `borderStartWidth` is equivalent to `borderRightWidth`.
|
||||||
|
*/
|
||||||
borderStartWidth?: number,
|
borderStartWidth?: number,
|
||||||
|
|
||||||
|
/** `borderTopWidth` works like `border-top-width` in CSS.
|
||||||
|
* See https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-width
|
||||||
|
* for more details.
|
||||||
|
*/
|
||||||
borderTopWidth?: number,
|
borderTopWidth?: number,
|
||||||
|
|
||||||
|
/** `position` in React Native is similar to regular CSS, but
|
||||||
|
* everything is set to `relative` by default, so `absolute`
|
||||||
|
* positioning is always just relative to the parent.
|
||||||
|
*
|
||||||
|
* If you want to position a child using specific numbers of logical
|
||||||
|
* pixels relative to its parent, set the child to have `absolute`
|
||||||
|
* position.
|
||||||
|
*
|
||||||
|
* If you want to position a child relative to something
|
||||||
|
* that is not its parent, just don't use styles for that. Use the
|
||||||
|
* component tree.
|
||||||
|
*
|
||||||
|
* See https://github.com/facebook/yoga
|
||||||
|
* for more details on how `position` differs between React Native
|
||||||
|
* and CSS.
|
||||||
|
*/
|
||||||
position?: 'absolute' | 'relative',
|
position?: 'absolute' | 'relative',
|
||||||
|
|
||||||
|
/** `flexDirection` controls which directions children of a container go.
|
||||||
|
* `row` goes left to right, `column` goes top to bottom, and you may
|
||||||
|
* be able to guess what the other two do. It works like `flex-direction`
|
||||||
|
* in CSS, except the default is `column`.
|
||||||
|
* See https://developer.mozilla.org/en-US/docs/Web/CSS/flex-direction
|
||||||
|
* for more details.
|
||||||
|
*/
|
||||||
flexDirection?: 'row' | 'row-reverse' | 'column' | 'column-reverse',
|
flexDirection?: 'row' | 'row-reverse' | 'column' | 'column-reverse',
|
||||||
|
|
||||||
|
/** `flexWrap` controls whether children can wrap around after they
|
||||||
|
* hit the end of a flex container.
|
||||||
|
* It works like `flex-wrap` in CSS (default: nowrap).
|
||||||
|
* See https://developer.mozilla.org/en-US/docs/Web/CSS/flex-wrap
|
||||||
|
* for more details.
|
||||||
|
*/
|
||||||
flexWrap?: 'wrap' | 'nowrap' | 'wrap-reverse',
|
flexWrap?: 'wrap' | 'nowrap' | 'wrap-reverse',
|
||||||
|
|
||||||
|
/** `justifyContent` aligns children in the main direction.
|
||||||
|
* For example, if children are flowing vertically, `justifyContent`
|
||||||
|
* controls how they align vertically.
|
||||||
|
* It works like `justify-content` in CSS (default: flex-start).
|
||||||
|
* See https://developer.mozilla.org/en-US/docs/Web/CSS/justify-content
|
||||||
|
* for more details.
|
||||||
|
*/
|
||||||
justifyContent?:
|
justifyContent?:
|
||||||
| 'flex-start'
|
| 'flex-start'
|
||||||
| 'flex-end'
|
| 'flex-end'
|
||||||
@ -64,7 +349,22 @@ export type ____LayoutStyle_Internal = $ReadOnly<{|
|
|||||||
| 'space-between'
|
| 'space-between'
|
||||||
| 'space-around'
|
| 'space-around'
|
||||||
| 'space-evenly',
|
| 'space-evenly',
|
||||||
|
|
||||||
|
/** `alignItems` aligns children in the cross direction.
|
||||||
|
* For example, if children are flowing vertically, `alignItems`
|
||||||
|
* controls how they align horizontally.
|
||||||
|
* It works like `align-items` in CSS (default: stretch).
|
||||||
|
* See https://developer.mozilla.org/en-US/docs/Web/CSS/align-items
|
||||||
|
* for more details.
|
||||||
|
*/
|
||||||
alignItems?: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline',
|
alignItems?: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline',
|
||||||
|
|
||||||
|
/** `alignSelf` controls how a child aligns in the cross direction,
|
||||||
|
* overriding the `alignItems` of the parent. It works like `align-self`
|
||||||
|
* in CSS (default: auto).
|
||||||
|
* See https://developer.mozilla.org/en-US/docs/Web/CSS/align-self
|
||||||
|
* for more details.
|
||||||
|
*/
|
||||||
alignSelf?:
|
alignSelf?:
|
||||||
| 'auto'
|
| 'auto'
|
||||||
| 'flex-start'
|
| 'flex-start'
|
||||||
@ -72,6 +372,12 @@ export type ____LayoutStyle_Internal = $ReadOnly<{|
|
|||||||
| 'center'
|
| 'center'
|
||||||
| 'stretch'
|
| 'stretch'
|
||||||
| 'baseline',
|
| 'baseline',
|
||||||
|
|
||||||
|
/** `alignContent` controls how rows align in the cross direction,
|
||||||
|
* overriding the `alignContent` of the parent.
|
||||||
|
* See https://developer.mozilla.org/en-US/docs/Web/CSS/align-content
|
||||||
|
* for more details.
|
||||||
|
*/
|
||||||
alignContent?:
|
alignContent?:
|
||||||
| 'flex-start'
|
| 'flex-start'
|
||||||
| 'flex-end'
|
| 'flex-end'
|
||||||
@ -79,13 +385,78 @@ export type ____LayoutStyle_Internal = $ReadOnly<{|
|
|||||||
| 'stretch'
|
| 'stretch'
|
||||||
| 'space-between'
|
| 'space-between'
|
||||||
| 'space-around',
|
| 'space-around',
|
||||||
|
|
||||||
|
/** `overflow` controls how children are measured and displayed.
|
||||||
|
* `overflow: hidden` causes views to be clipped while `overflow: scroll`
|
||||||
|
* causes views to be measured independently of their parents main axis.
|
||||||
|
* It works like `overflow` in CSS (default: visible).
|
||||||
|
* See https://developer.mozilla.org/en/docs/Web/CSS/overflow
|
||||||
|
* for more details.
|
||||||
|
* `overflow: visible` only works on iOS. On Android, all views will clip
|
||||||
|
* their children.
|
||||||
|
*/
|
||||||
overflow?: 'visible' | 'hidden' | 'scroll',
|
overflow?: 'visible' | 'hidden' | 'scroll',
|
||||||
|
|
||||||
|
/** In React Native `flex` does not work the same way that it does in CSS.
|
||||||
|
* `flex` is a number rather than a string, and it works
|
||||||
|
* according to the `Yoga` library
|
||||||
|
* at https://github.com/facebook/yoga
|
||||||
|
*
|
||||||
|
* When `flex` is a positive number, it makes the component flexible
|
||||||
|
* and it will be sized proportional to its flex value. So a
|
||||||
|
* component with `flex` set to 2 will take twice the space as a
|
||||||
|
* component with `flex` set to 1.
|
||||||
|
*
|
||||||
|
* When `flex` is 0, the component is sized according to `width`
|
||||||
|
* and `height` and it is inflexible.
|
||||||
|
*
|
||||||
|
* When `flex` is -1, the component is normally sized according
|
||||||
|
* `width` and `height`. However, if there's not enough space,
|
||||||
|
* the component will shrink to its `minWidth` and `minHeight`.
|
||||||
|
*
|
||||||
|
* flexGrow, flexShrink, and flexBasis work the same as in CSS.
|
||||||
|
*/
|
||||||
flex?: number,
|
flex?: number,
|
||||||
flexGrow?: number,
|
flexGrow?: number,
|
||||||
flexShrink?: number,
|
flexShrink?: number,
|
||||||
flexBasis?: number | string,
|
flexBasis?: number | string,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Aspect ratio control the size of the undefined dimension of a node. Aspect ratio is a
|
||||||
|
* non-standard property only available in react native and not CSS.
|
||||||
|
*
|
||||||
|
* - On a node with a set width/height aspect ratio control the size of the unset dimension
|
||||||
|
* - On a node with a set flex basis aspect ratio controls the size of the node in the cross axis
|
||||||
|
* if unset
|
||||||
|
* - On a node with a measure function aspect ratio works as though the measure function measures
|
||||||
|
* the flex basis
|
||||||
|
* - On a node with flex grow/shrink aspect ratio controls the size of the node in the cross axis
|
||||||
|
* if unset
|
||||||
|
* - Aspect ratio takes min/max dimensions into account
|
||||||
|
*/
|
||||||
aspectRatio?: number,
|
aspectRatio?: number,
|
||||||
|
|
||||||
|
/** `zIndex` controls which components display on top of others.
|
||||||
|
* Normally, you don't use `zIndex`. Components render according to
|
||||||
|
* their order in the document tree, so later components draw over
|
||||||
|
* earlier ones. `zIndex` may be useful if you have animations or custom
|
||||||
|
* modal interfaces where you don't want this behavior.
|
||||||
|
*
|
||||||
|
* It works like the CSS `z-index` property - components with a larger
|
||||||
|
* `zIndex` will render on top. Think of the z-direction like it's
|
||||||
|
* pointing from the phone into your eyeball.
|
||||||
|
* See https://developer.mozilla.org/en-US/docs/Web/CSS/z-index for
|
||||||
|
* more details.
|
||||||
|
*/
|
||||||
zIndex?: number,
|
zIndex?: number,
|
||||||
|
|
||||||
|
/** `direction` specifies the directional flow of the user interface.
|
||||||
|
* The default is `inherit`, except for root node which will have
|
||||||
|
* value based on the current locale.
|
||||||
|
* See https://facebook.github.io/yoga/docs/rtl/
|
||||||
|
* for more details.
|
||||||
|
* @platform ios
|
||||||
|
*/
|
||||||
direction?: 'inherit' | 'ltr' | 'rtl',
|
direction?: 'inherit' | 'ltr' | 'rtl',
|
||||||
|}>;
|
|}>;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user