diff --git a/iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/CKInsetComponent+Sonar.mm b/iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/CKInsetComponent+Sonar.mm index 42df36c06..985fb80ad 100644 --- a/iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/CKInsetComponent+Sonar.mm +++ b/iOS/Plugins/FlipperKitLayoutPlugin/FlipperKitLayoutComponentKitSupport/CKInsetComponent+Sonar.mm @@ -19,7 +19,33 @@ FB_LINKABLE(CKInsetComponent_Sonar) - (NSArray *> *> *)sonar_additionalDataOverride { - return @[[SKNamed newWithName:@"CKInsetComponent" withValue:@{@"insets": SKObject([[self valueForKey: @"_insets"] UIEdgeInsetsValue])}]]; + return @[[SKNamed newWithName:@"CKInsetComponent" withValue:@{@"insets": SKMutableObject([[self valueForKey:@"_insets"] UIEdgeInsetsValue])}]]; +} + +- (void)setMutableData:(id)data { + [self setValue:data forKey:@"_insets"]; +} + +- (NSDictionary *)sonar_getDataMutationsChanged { + __block UIEdgeInsets insets = [[self valueForKey:@"_insets"] UIEdgeInsetsValue]; + return @{ + @"CKInsetComponent.insets.bottom": ^(NSNumber *value) { + insets.bottom = value.floatValue; + return [NSValue valueWithUIEdgeInsets:insets]; + }, + @"CKInsetComponent.insets.left": ^(NSNumber *value) { + insets.left = value.floatValue; + return [NSValue valueWithUIEdgeInsets:insets]; + }, + @"CKInsetComponent.insets.right": ^(NSNumber *value) { + insets.right = value.floatValue; + return [NSValue valueWithUIEdgeInsets:insets]; + }, + @"CKInsetComponent.insets.top": ^(NSNumber *value) { + insets.top = value.floatValue; + return [NSValue valueWithUIEdgeInsets:insets]; + }, + }; } @end