2018-02-12 09:28:31 -08:00
|
|
|
/**
|
|
|
|
* Copyright (c) 2014-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.
|
|
|
|
*
|
|
|
|
* @flow
|
|
|
|
* @format
|
|
|
|
*/
|
|
|
|
|
|
|
|
import {Record, List} from 'immutable';
|
|
|
|
import type {RecordOf} from 'immutable';
|
|
|
|
import PositionRecord from './PositionRecord';
|
|
|
|
import type {PositionRecordT} from './PositionRecord';
|
2018-02-13 06:13:25 -08:00
|
|
|
import yoga from 'yoga-layout/dist/entry-browser';
|
2018-02-12 09:28:31 -08:00
|
|
|
|
|
|
|
import type {
|
|
|
|
Yoga$Align,
|
|
|
|
Yoga$JustifyContent,
|
|
|
|
Yoga$FlexDirection,
|
|
|
|
Yoga$FlexWrap,
|
|
|
|
Yoga$Yoga$PositionType,
|
|
|
|
} from 'yoga-layout';
|
|
|
|
|
|
|
|
export type LayoutRecordT = RecordOf<{
|
|
|
|
width?: ?number,
|
|
|
|
height?: ?number,
|
|
|
|
justifyContent?: Yoga$JustifyContent,
|
|
|
|
padding: PositionRecordT,
|
|
|
|
border: PositionRecordT,
|
|
|
|
margin: PositionRecordT,
|
|
|
|
position: PositionRecordT,
|
|
|
|
positionType: Yoga$Yoga$PositionType,
|
|
|
|
alignItems?: Yoga$Align,
|
|
|
|
alignSelf?: Yoga$Align,
|
|
|
|
alignContent?: Yoga$Align,
|
|
|
|
flexDirection?: Yoga$FlexDirection,
|
|
|
|
flexGrow?: number,
|
|
|
|
flexShrink?: number,
|
|
|
|
padding?: number,
|
|
|
|
flexWrap?: Yoga$FlexWrap,
|
|
|
|
aspectRatio?: number,
|
|
|
|
children?: List<LayoutDefinition>,
|
|
|
|
}>;
|
|
|
|
|
|
|
|
const r: LayoutRecordT = Record({
|
|
|
|
width: 100,
|
|
|
|
height: 100,
|
|
|
|
justifyContent: yoga.JUSTIFY_FLEX_START,
|
|
|
|
alignItems: yoga.ALIGN_STRETCH,
|
|
|
|
alignSelf: yoga.ALIGN_AUTO,
|
|
|
|
alignContent: yoga.ALIGN_STRETCH,
|
|
|
|
flexDirection: yoga.FLEX_DIRECTION_ROW,
|
|
|
|
padding: PositionRecord(),
|
|
|
|
margin: PositionRecord(),
|
|
|
|
border: PositionRecord(),
|
|
|
|
position: PositionRecord(),
|
|
|
|
positionType: yoga.POSITION_TYPE_RELATIVE,
|
|
|
|
flexWrap: yoga.WRAP_NO_WRAP,
|
|
|
|
flexGrow: 0,
|
|
|
|
flexShrink: 1,
|
|
|
|
children: List(),
|
|
|
|
aspectRatio: 'auto',
|
|
|
|
});
|
|
|
|
|
|
|
|
export default r;
|