text: /**
   * 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 LayoutPropTypes
   * @flow
   */
  'use strict';
  
  var ReactPropTypes = require('ReactPropTypes');
  
  /**
   * React Native's layout system is based on Flexbox and is powered both
   * on iOS and Android by an open source project called css-layout:
   * https://github.com/facebook/css-layout
   *
   * The implementation in css-layout is slightly different from what the
   * Flexbox spec defines - for example, we chose more sensible default
   * values. Please refer to the css-layout README for details.
   *
   * These properties are a subset of our styles that are consumed by the layout
   * algorithm and affect the positioning and sizing of views.
   */
  var LayoutPropTypes = {
    width: ReactPropTypes.number,
    maxWidth: ReactPropTypes.number,
    minWidth: ReactPropTypes.number,
    height: ReactPropTypes.number,
    maxHeight: ReactPropTypes.number,
    minHeight: ReactPropTypes.number,
    top: ReactPropTypes.number,
    left: ReactPropTypes.number,
    right: ReactPropTypes.number,
    bottom: ReactPropTypes.number,
    margin: ReactPropTypes.number,
    marginVertical: ReactPropTypes.number,
    marginHorizontal: ReactPropTypes.number,
    marginTop: ReactPropTypes.number,
    marginBottom: ReactPropTypes.number,
    marginLeft: ReactPropTypes.number,
    marginRight: ReactPropTypes.number,
    padding: ReactPropTypes.number,
    paddingVertical: ReactPropTypes.number,
    paddingHorizontal: ReactPropTypes.number,
    paddingTop: ReactPropTypes.number,
    paddingBottom: ReactPropTypes.number,
    paddingLeft: ReactPropTypes.number,
    paddingRight: ReactPropTypes.number,
    borderWidth: ReactPropTypes.number,
    borderTopWidth: ReactPropTypes.number,
    borderRightWidth: ReactPropTypes.number,
    borderBottomWidth: ReactPropTypes.number,
    borderLeftWidth: ReactPropTypes.number,
  
    position: ReactPropTypes.oneOf([
      'absolute',
      'relative'
    ]),
  
    // https://developer.mozilla.org/en-US/docs/Web/CSS/flex-direction
    flexDirection: ReactPropTypes.oneOf([
      'row',
  	'row-reverse',
      'column'
    ]),
  
    // https://developer.mozilla.org/en-US/docs/Web/CSS/flex-wrap
    flexWrap: ReactPropTypes.oneOf([
      'wrap',
      'nowrap'
    ]),
  
    // How to align children in the main direction
    // https://developer.mozilla.org/en-US/docs/Web/CSS/justify-content
    justifyContent: ReactPropTypes.oneOf([
      'flex-start',
      'flex-end',
      'center',
      'space-between',
      'space-around'
    ]),
  
    // How to align children in the cross direction
    // https://developer.mozilla.org/en-US/docs/Web/CSS/align-items
    alignItems: ReactPropTypes.oneOf([
      'flex-start',
      'flex-end',
      'center',
      'stretch'
    ]),
  
    // How to align the element in the cross direction
    // https://developer.mozilla.org/en-US/docs/Web/CSS/align-items
    alignSelf: ReactPropTypes.oneOf([
      'auto',
      'flex-start',
      'flex-end',
      'center',
      'stretch'
    ]),
  
    // https://developer.mozilla.org/en-US/docs/Web/CSS/flex
    flex: ReactPropTypes.number,
  };
  
  module.exports = LayoutPropTypes;
  