@@ -871,6 +871,7 @@ RCT_EXPORT_MODULE(MacOSScrollView)
871871@property (nonatomic, copy) NSString *url;
872872@property (nonatomic, copy) NSString *stateMachineName;
873873@property (nonatomic, copy) NSString *artboardName;
874+@property (nonatomic, copy) NSString *fit;
874875@property (nonatomic, assign) BOOL autoplay;
875876@end
876877
@@ -879,10 +880,28 @@ RCT_EXPORT_MODULE(MacOSScrollView)
879880- (instancetype)initWithFrame:(NSRect)frame {
880881 if (self = [super initWithFrame:frame]) {
881882 _autoplay = YES;
883+ _fit = @"contain";
882884 }
883885 return self;
884886}
885887
888+- (enum RiveFit)parseFit {
889+ if ([_fit isEqualToString:@"cover"]) return cover;
890+ if ([_fit isEqualToString:@"fill"]) return fill;
891+ if ([_fit isEqualToString:@"fitWidth"]) return fitWidth;
892+ if ([_fit isEqualToString:@"fitHeight"]) return fitHeight;
893+ if ([_fit isEqualToString:@"scaleDown"]) return scaleDown;
894+ if ([_fit isEqualToString:@"noFit"]) return noFit;
895+ return contain;
896+}
897+
898+- (void)setFit:(NSString *)fit {
899+ if ([_fit isEqualToString:fit]) return;
900+ _fit = fit;
901+ if (_resourceName.length > 0) [self loadFromResource];
902+ else if (_url.length > 0) [self loadFromURL];
903+}
904+
886905- (void)setResourceName:(NSString *)resourceName {
887906 if ([_resourceName isEqualToString:resourceName]) return;
888907 _resourceName = resourceName;
@@ -904,12 +923,13 @@ RCT_EXPORT_MODULE(MacOSScrollView)
904923 BOOL ap = _autoplay;
905924 __weak typeof(self) weakSelf = self;
906925 dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
926+ enum RiveFit f = [weakSelf parseFit];
907927 RiveViewModel *vm = [[RiveViewModel alloc]
908928 initWithFileName:name
909929 extension:@"riv"
910930 in:[NSBundle mainBundle]
911931 stateMachineName:sm
912− fit:contain
932+ fit:f
913933 alignment:center
914934 autoPlay:ap
915935 artboardName:ab
@@ -933,10 +953,11 @@ RCT_EXPORT_MODULE(MacOSScrollView)
933953 BOOL ap = _autoplay;
934954 __weak typeof(self) weakSelf = self;
935955 dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
956+ enum RiveFit f = [weakSelf parseFit];
936957 RiveViewModel *vm = [[RiveViewModel alloc]
937958 initWithWebURL:u
938959 stateMachineName:sm
939− fit:contain
960+ fit:f
940961 alignment:center
941962 autoPlay:ap
942963 loadCdn:YES
@@ -986,4 +1007,5 @@ RCT_EXPORT_VIEW_PROPERTY(url, NSString)
9861007RCT_EXPORT_VIEW_PROPERTY(stateMachineName, NSString)
9871008RCT_EXPORT_VIEW_PROPERTY(artboardName, NSString)
9881009RCT_EXPORT_VIEW_PROPERTY(autoplay, BOOL)
1010+RCT_EXPORT_VIEW_PROPERTY(fit, NSString)
9891011@end