diff --git a/packages/react-native/React/Views/RCTLayout.m b/packages/react-native/React/Views/RCTLayout.m index 944b728684c5..356866a420c6 100644 --- a/packages/react-native/React/Views/RCTLayout.m +++ b/packages/react-native/React/Views/RCTLayout.m @@ -128,11 +128,12 @@ RCTDisplayType RCTReactDisplayTypeFromYogaDisplayType(YGDisplay displayType) { switch (displayType) { case YGDisplayFlex: + case YGDisplayContents: + case YGDisplayGrid: return RCTDisplayTypeFlex; case YGDisplayNone: return RCTDisplayTypeNone; - case YGDisplayContents: - RCTAssert(NO, @"YGDisplayContents cannot be converted to RCTDisplayType value."); - return RCTDisplayTypeNone; + default: + return RCTDisplayTypeFlex; } } diff --git a/packages/react-native/ReactCommon/react/renderer/components/view/conversions.h b/packages/react-native/ReactCommon/react/renderer/components/view/conversions.h index 929fe68cd58c..56520df3e660 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/view/conversions.h +++ b/packages/react-native/ReactCommon/react/renderer/components/view/conversions.h @@ -133,6 +133,8 @@ inline DisplayType displayTypeFromYGDisplay(YGDisplay display) return DisplayType::Contents; case YGDisplayFlex: return DisplayType::Flex; + case YGDisplayGrid: + return DisplayType::Grid; } } diff --git a/packages/react-native/ReactCommon/react/renderer/core/LayoutMetrics.cpp b/packages/react-native/ReactCommon/react/renderer/core/LayoutMetrics.cpp index a7add9fd041d..a0cf58c74ddd 100644 --- a/packages/react-native/ReactCommon/react/renderer/core/LayoutMetrics.cpp +++ b/packages/react-native/ReactCommon/react/renderer/core/LayoutMetrics.cpp @@ -44,9 +44,11 @@ std::vector getDebugProps( ",bottom:" + getDebugDescription(object.overflowInset.bottom, {}) + ",left:" + getDebugDescription(object.overflowInset.left, {}) + "}"}, {.name = "displayType", - .value = object.displayType == DisplayType::None - ? "None" - : (object.displayType == DisplayType::Flex ? "Flex" : "Inline")}, + .value = object.displayType == DisplayType::None ? "None" + : object.displayType == DisplayType::Flex ? "Flex" + : object.displayType == DisplayType::Grid ? "Grid" + : object.displayType == DisplayType::Contents ? "Contents" + : "Unknown"}, {.name = "layoutDirection", .value = object.layoutDirection == LayoutDirection::Undefined ? "Undefined" diff --git a/packages/react-native/ReactCommon/react/renderer/core/LayoutPrimitives.h b/packages/react-native/ReactCommon/react/renderer/core/LayoutPrimitives.h index d2e50ff73553..f5ac9f04f09c 100644 --- a/packages/react-native/ReactCommon/react/renderer/core/LayoutPrimitives.h +++ b/packages/react-native/ReactCommon/react/renderer/core/LayoutPrimitives.h @@ -20,6 +20,7 @@ enum class DisplayType { None = 0, Flex = 1, Contents = 2, + Grid = 3, }; enum class PositionType { diff --git a/packages/react-native/ReactCommon/react/renderer/core/conversions.h b/packages/react-native/ReactCommon/react/renderer/core/conversions.h index 74796174353a..d40427c40ded 100644 --- a/packages/react-native/ReactCommon/react/renderer/core/conversions.h +++ b/packages/react-native/ReactCommon/react/renderer/core/conversions.h @@ -44,6 +44,8 @@ inline int toInt(const DisplayType &displayType) return 1; case DisplayType::Contents: return 2; + case DisplayType::Grid: + return 3; } } @@ -56,6 +58,8 @@ inline std::string toString(const DisplayType &displayType) return "flex"; case DisplayType::Contents: return "contents"; + case DisplayType::Grid: + return "grid"; } }