From b1cdb7d553146160f99319f9dbe4083b18db60e4 Mon Sep 17 00:00:00 2001 From: Agastya Darma Date: Wed, 31 Jan 2018 10:03:26 -0800 Subject: [PATCH] Implementing space-evenly Summary: So in v0.52.0 space-evenly is introduced but not yet implemented (1050e0b by woehrl01). This pull request implements the space-evenly. Manual Testing. ![notes marker](https://i.imgur.com/IXmezVY.png) [IOS] [FEATURE] [Yoga] Adding space-evenly on justify-content in iOS [ANDROID] [FEATURE] [Yoga] - Adding space-evenly on justify-content in Android Closes https://github.com/facebook/react-native/pull/17805 Differential Revision: D6858294 Pulled By: shergin fbshipit-source-id: 7a705ca05f58603ef4588e1bfd16c16a78f8a390 --- Libraries/StyleSheet/LayoutPropTypes.js | 3 ++- Libraries/StyleSheet/StyleSheetTypes.js | 3 ++- React/Base/RCTConvert.m | 3 ++- .../java/com/facebook/react/uimanager/LayoutShadowNode.java | 4 ++++ 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/Libraries/StyleSheet/LayoutPropTypes.js b/Libraries/StyleSheet/LayoutPropTypes.js index a4d7a5de3b83bc..03f49e3ce99cab 100644 --- a/Libraries/StyleSheet/LayoutPropTypes.js +++ b/Libraries/StyleSheet/LayoutPropTypes.js @@ -449,7 +449,8 @@ var LayoutPropTypes = { 'flex-end', 'center', 'space-between', - 'space-around' + 'space-around', + 'space-evenly' ]), /** `alignItems` aligns children in the cross direction. diff --git a/Libraries/StyleSheet/StyleSheetTypes.js b/Libraries/StyleSheet/StyleSheetTypes.js index 0ca284852ead0e..73fb354435fb1a 100644 --- a/Libraries/StyleSheet/StyleSheetTypes.js +++ b/Libraries/StyleSheet/StyleSheetTypes.js @@ -67,7 +67,8 @@ export type LayoutStyle<+Dimension = DimensionValue> = { | 'flex-end' | 'center' | 'space-between' - | 'space-around', + | 'space-around' + | 'space-evenly', +alignItems?: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline', +alignSelf?: | 'auto' diff --git a/React/Base/RCTConvert.m b/React/Base/RCTConvert.m index 6be303046efcc1..f2410f60f7f21d 100644 --- a/React/Base/RCTConvert.m +++ b/React/Base/RCTConvert.m @@ -659,7 +659,8 @@ + (NSPropertyList)NSPropertyList:(id)json @"flex-end": @(YGJustifyFlexEnd), @"center": @(YGJustifyCenter), @"space-between": @(YGJustifySpaceBetween), - @"space-around": @(YGJustifySpaceAround) + @"space-around": @(YGJustifySpaceAround), + @"space-evenly": @(YGJustifySpaceEvenly) }), YGJustifyFlexStart, intValue) RCT_ENUM_CONVERTER(YGAlign, (@{ diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java index 46716716691d95..ea83f81abc5134 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java @@ -486,6 +486,10 @@ public void setJustifyContent(@Nullable String justifyContent) { setJustifyContent(YogaJustify.SPACE_AROUND); break; } + case "space-evenly": { + setJustifyContent(YogaJustify.SPACE_EVENLY); + break; + } default: { throw new JSApplicationIllegalArgumentException( "invalid value for justifyContent: " + justifyContent);