diff --git a/iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/CKComponent+Sonar.mm b/iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/CKComponent+Sonar.mm index 9e9c8f12e..e4ac743e7 100644 --- a/iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/CKComponent+Sonar.mm +++ b/iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/CKComponent+Sonar.mm @@ -27,6 +27,7 @@ #import "CKInsetComponent+Sonar.h" #import "CKStatelessComponent+Sonar.h" #import "FKDataStorageForLiveEditing.h" +#import "Utils.h" /** This protocol isn't actually adopted anywhere, it just lets us use the SEL below */ @protocol SonarKitLayoutComponentKitOverrideInformalProtocol @@ -138,6 +139,7 @@ static CK::StaticMutex _mutex = CK_MUTEX_INITIALIZER; withValue: @{ @"frame": SKObject(self.viewContext.frame), @"controller": SKObject(NSStringFromClass([self.controller class])), + @"size": SKObject(ckcomponentSize([self size])), }]]; auto const canBeReusedCounter = self.flipper_canBeReusedCounter; diff --git a/iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKComponentLayoutDescriptor.mm b/iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKComponentLayoutDescriptor.mm index 0069bab0c..aa0015608 100644 --- a/iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKComponentLayoutDescriptor.mm +++ b/iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/SKComponentLayoutDescriptor.mm @@ -130,6 +130,7 @@ @"flexGrow": SKObject(@(child.flexGrow)), @"flexShrink": SKObject(@(child.flexShrink)), @"zIndex": SKObject(@(child.zIndex)), + @"sizeConstraints": SKObject(ckcomponentSize(child.sizeConstraints)), @"useTextRounding": SKObject(@(child.useTextRounding)), @"margin": flexboxRect(child.margin), @"flexBasis": relativeDimension(child.flexBasis), diff --git a/iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/Utils.h b/iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/Utils.h index fa8ec58c8..bd590bf0e 100644 --- a/iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/Utils.h +++ b/iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/Utils.h @@ -10,3 +10,4 @@ NSString *relativeDimension(CKRelativeDimension dimension); NSDictionary *flexboxRect(CKFlexboxSpacing spacing); CKRelativeDimension relativeStructDimension(NSString *dimension); +NSDictionary *ckcomponentSize(CKComponentSize size); diff --git a/iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/Utils.mm b/iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/Utils.mm index 62c81114b..4ae1f9f40 100644 --- a/iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/Utils.mm +++ b/iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/Utils.mm @@ -39,4 +39,15 @@ NSDictionary *flexboxRect(CKFlexboxSpacing spacing) { }; } +NSDictionary *ckcomponentSize(CKComponentSize size) { + return @{ + @"width": relativeDimension(size.width), + @"height": relativeDimension(size.height), + @"minWidth": relativeDimension(size.minWidth), + @"minHeight": relativeDimension(size.minHeight), + @"maxWidth": relativeDimension(size.maxWidth), + @"maxHeight": relativeDimension(size.maxHeight), + }; +} + #endif