react-native-share 7.6.6 → 7.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ios/EmailShare.m +1 -1
- package/ios/FacebookStories.m +6 -3
- package/ios/GenericShare.m +1 -1
- package/ios/GooglePlusShare.m +7 -2
- package/ios/InstagramShare.m +22 -13
- package/ios/InstagramStories.m +6 -3
- package/ios/RNShare.m +1 -1
- package/ios/TelegramShare.m +1 -1
- package/ios/ViberShare.m +1 -1
- package/ios/WhatsAppShare.m +3 -3
- package/lib/commonjs/index.js +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/package.json +5 -2
- package/src/index.tsx +1 -1
- package/windows/.gitignore +16 -2
- package/windows/ExperimentalFeatures.props +10 -0
- package/windows/NuGet.Config +14 -0
- package/windows/ReactNativeShare/PropertySheet.props +16 -0
- package/windows/ReactNativeShare/ReactNativeModule.h +108 -0
- package/windows/ReactNativeShare/ReactNativeShare.def +3 -0
- package/windows/ReactNativeShare/ReactNativeShare.vcxproj +160 -0
- package/windows/ReactNativeShare/ReactNativeShare.vcxproj.filters +20 -0
- package/windows/ReactNativeShare/ReactPackageProvider.cpp +19 -0
- package/windows/ReactNativeShare/ReactPackageProvider.h +21 -0
- package/windows/ReactNativeShare/ReactPackageProvider.idl +9 -0
- package/windows/ReactNativeShare/packages.config +6 -0
- package/windows/ReactNativeShare/pch.cpp +1 -0
- package/windows/ReactNativeShare/pch.h +18 -0
- package/windows/ReactNativeShare.sln +156 -0
- package/windows/RNShare/Properties/AssemblyInfo.cs +0 -29
- package/windows/RNShare/Properties/RNShare.rd.xml +0 -33
- package/windows/RNShare/RNShare.csproj +0 -183
- package/windows/RNShare/RNShareModule.cs +0 -118
- package/windows/RNShare/RNSharePackage.cs +0 -53
- package/windows/RNShare/project.json +0 -16
- package/windows/RNShare.sln +0 -86
package/ios/EmailShare.m
CHANGED
package/ios/FacebookStories.m
CHANGED
|
@@ -21,7 +21,9 @@ RCT_EXPORT_MODULE();
|
|
|
21
21
|
|
|
22
22
|
NSURL *urlScheme = [NSURL URLWithString:@"facebook-stories://share"];
|
|
23
23
|
if (![[UIApplication sharedApplication] canOpenURL:urlScheme]) {
|
|
24
|
-
[self fallbackFacebook];
|
|
24
|
+
NSError* error = [self fallbackFacebook];
|
|
25
|
+
failureCallback(error);
|
|
26
|
+
return;
|
|
25
27
|
}
|
|
26
28
|
|
|
27
29
|
// Create dictionary of assets and attribution
|
|
@@ -78,10 +80,10 @@ RCT_EXPORT_MODULE();
|
|
|
78
80
|
[[UIPasteboard generalPasteboard] setItems:pasteboardItems options:pasteboardOptions];
|
|
79
81
|
[[UIApplication sharedApplication] openURL:urlScheme options:@{} completionHandler:nil];
|
|
80
82
|
|
|
81
|
-
successCallback(@[]);
|
|
83
|
+
successCallback(@[@true, @""]);
|
|
82
84
|
}
|
|
83
85
|
|
|
84
|
-
- (
|
|
86
|
+
- (NSError*)fallbackFacebook {
|
|
85
87
|
// Cannot open facebook
|
|
86
88
|
NSString *stringURL = @"https://itunes.apple.com/app/facebook/id284882215";
|
|
87
89
|
NSURL *url = [NSURL URLWithString:stringURL];
|
|
@@ -92,5 +94,6 @@ RCT_EXPORT_MODULE();
|
|
|
92
94
|
NSError *error = [NSError errorWithDomain:@"com.rnshare" code:1 userInfo:userInfo];
|
|
93
95
|
|
|
94
96
|
NSLog(errorMessage);
|
|
97
|
+
return error;
|
|
95
98
|
}
|
|
96
99
|
@end
|
package/ios/GenericShare.m
CHANGED
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
|
|
48
48
|
UIViewController *ctrl = RCTPresentedViewController();
|
|
49
49
|
[ctrl presentViewController:composeController animated:YES completion:Nil];
|
|
50
|
-
successCallback(@[]);
|
|
50
|
+
successCallback(@[@true, @""]);
|
|
51
51
|
} else {
|
|
52
52
|
NSString *errorMessage = @"Not installed";
|
|
53
53
|
NSDictionary *userInfo = @{NSLocalizedFailureReasonErrorKey: NSLocalizedString(errorMessage, nil)};
|
package/ios/GooglePlusShare.m
CHANGED
|
@@ -22,10 +22,15 @@
|
|
|
22
22
|
|
|
23
23
|
if ([[UIApplication sharedApplication] canOpenURL: gplusURL]) {
|
|
24
24
|
[[UIApplication sharedApplication] openURL:gplusURL];
|
|
25
|
-
successCallback(@[]);
|
|
25
|
+
successCallback(@[@true, @""]);
|
|
26
26
|
} else {
|
|
27
27
|
// Cannot open gplus
|
|
28
|
-
|
|
28
|
+
NSString *errorMessage = @"Not installed";
|
|
29
|
+
NSDictionary *userInfo = @{NSLocalizedFailureReasonErrorKey: NSLocalizedString(errorMessage, nil)};
|
|
30
|
+
NSError *error = [NSError errorWithDomain:@"com.rnshare" code:1 userInfo:userInfo];
|
|
31
|
+
|
|
32
|
+
NSLog(errorMessage);
|
|
33
|
+
failureCallback(error);
|
|
29
34
|
}
|
|
30
35
|
}
|
|
31
36
|
}
|
package/ios/InstagramShare.m
CHANGED
|
@@ -16,17 +16,26 @@
|
|
|
16
16
|
successCallback:(RCTResponseSenderBlock)successCallback {
|
|
17
17
|
|
|
18
18
|
NSLog(@"Try open view");
|
|
19
|
-
|
|
20
|
-
NSURL * fileURL = [NSURL URLWithString: options[@"url"]];
|
|
21
|
-
AVURLAsset* videoAsset = [AVURLAsset URLAssetWithURL:fileURL options:nil];
|
|
22
|
-
CMTime videoDuration = videoAsset.duration;
|
|
23
|
-
float videoDurationSeconds = CMTimeGetSeconds(videoDuration);
|
|
24
|
-
|
|
25
|
-
NSLog(@"Video duration: %f seconds for file %@", videoDurationSeconds, videoAsset.URL.absoluteString);
|
|
26
|
-
|
|
19
|
+
|
|
27
20
|
NSURL * shareURL;
|
|
28
|
-
|
|
29
|
-
|
|
21
|
+
float videoDurationSeconds = 0.0f;
|
|
22
|
+
NSString* url = options[@"url"];
|
|
23
|
+
if (url) {
|
|
24
|
+
NSURL * fileURL = [NSURL URLWithString: options[@"url"]];
|
|
25
|
+
AVURLAsset* videoAsset = [AVURLAsset URLAssetWithURL:fileURL options:nil];
|
|
26
|
+
CMTime videoDuration = videoAsset.duration;
|
|
27
|
+
float videoDurationSeconds = CMTimeGetSeconds(videoDuration);
|
|
28
|
+
|
|
29
|
+
NSLog(@"Video duration: %f seconds for file %@", videoDurationSeconds, videoAsset.URL.absoluteString);
|
|
30
|
+
} else {
|
|
31
|
+
//this will send message directly to instagram DM with plain text
|
|
32
|
+
shareURL = [NSURL URLWithString:[NSString stringWithFormat:@"instagram://sharesheet?text=%@", options[@"message"]]];
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
if (shareURL) {
|
|
36
|
+
NSLog(@"url is already available, no need to do anything");
|
|
37
|
+
} else if (videoDurationSeconds <= 60.0f) {
|
|
38
|
+
// Instagram doesn't allow sharing videos longer than 60 seconds on iOS anymore. (next button is not responding, trim is unavailable)
|
|
30
39
|
NSString *phIdentifier= [options[@"url"] stringByReplacingOccurrencesOfString:@"ph://" withString:@""];
|
|
31
40
|
NSString * urlString = [NSString stringWithFormat:@"instagram://library?LocalIdentifier=%@", phIdentifier];
|
|
32
41
|
shareURL = [NSURL URLWithString:urlString];
|
|
@@ -36,7 +45,7 @@
|
|
|
36
45
|
|
|
37
46
|
if ([[UIApplication sharedApplication] canOpenURL: shareURL]) {
|
|
38
47
|
[[UIApplication sharedApplication] openURL: shareURL];
|
|
39
|
-
successCallback(@[]);
|
|
48
|
+
successCallback(@[@true, @""]);
|
|
40
49
|
} else {
|
|
41
50
|
// Cannot open instagram
|
|
42
51
|
NSString *stringURL = @"https://itunes.apple.com/app/instagram/id389801252";
|
|
@@ -76,7 +85,7 @@
|
|
|
76
85
|
}
|
|
77
86
|
} else {
|
|
78
87
|
[[UIApplication sharedApplication] openURL: [NSURL URLWithString:@"instagram://camera"]];
|
|
79
|
-
successCallback(@[]);
|
|
88
|
+
successCallback(@[@true, @""]);
|
|
80
89
|
}
|
|
81
90
|
}
|
|
82
91
|
|
|
@@ -104,7 +113,7 @@
|
|
|
104
113
|
[[UIApplication sharedApplication] openURL:instagramURL options:@{} completionHandler:NULL];
|
|
105
114
|
}
|
|
106
115
|
if (successCallback != NULL) {
|
|
107
|
-
successCallback(@[]);
|
|
116
|
+
successCallback(@[@true, @""]);
|
|
108
117
|
}
|
|
109
118
|
}
|
|
110
119
|
}
|
package/ios/InstagramStories.m
CHANGED
|
@@ -20,7 +20,9 @@ RCT_EXPORT_MODULE();
|
|
|
20
20
|
|
|
21
21
|
NSURL *urlScheme = [NSURL URLWithString:@"instagram-stories://share"];
|
|
22
22
|
if (![[UIApplication sharedApplication] canOpenURL:urlScheme]) {
|
|
23
|
-
[self fallbackInstagram];
|
|
23
|
+
NSError* error = [self fallbackInstagram];
|
|
24
|
+
failureCallback(error);
|
|
25
|
+
return;
|
|
24
26
|
}
|
|
25
27
|
|
|
26
28
|
// Create dictionary of assets and attribution
|
|
@@ -75,10 +77,10 @@ RCT_EXPORT_MODULE();
|
|
|
75
77
|
[[UIPasteboard generalPasteboard] setItems:pasteboardItems options:pasteboardOptions];
|
|
76
78
|
[[UIApplication sharedApplication] openURL:urlScheme options:@{} completionHandler:nil];
|
|
77
79
|
|
|
78
|
-
successCallback(@[]);
|
|
80
|
+
successCallback(@[@true, @""]);
|
|
79
81
|
}
|
|
80
82
|
|
|
81
|
-
- (
|
|
83
|
+
- (NSError*)fallbackInstagram {
|
|
82
84
|
// Cannot open instagram
|
|
83
85
|
NSString *stringURL = @"https://itunes.apple.com/app/instagram/id389801252";
|
|
84
86
|
NSURL *url = [NSURL URLWithString:stringURL];
|
|
@@ -89,6 +91,7 @@ RCT_EXPORT_MODULE();
|
|
|
89
91
|
NSError *error = [NSError errorWithDomain:@"com.rnshare" code:1 userInfo:userInfo];
|
|
90
92
|
|
|
91
93
|
NSLog(errorMessage);
|
|
94
|
+
return error;
|
|
92
95
|
}
|
|
93
96
|
// https://instagram.fhrk1-1.fna.fbcdn.net/vp/80c479ffc246a9320e614fa4def6a3dc/5C667D3F/t51.12442-15/e35/50679864_1663709050595244_6964601913751831460_n.jpg?_nc_ht=instagram.fhrk1-1.fna.fbcdn.net
|
|
94
97
|
@end
|
package/ios/RNShare.m
CHANGED
|
@@ -63,7 +63,7 @@ EmailShare *shareCtl;
|
|
|
63
63
|
|
|
64
64
|
- (BOOL)isImageMimeType:(NSString *)data {
|
|
65
65
|
NSRange range = [data rangeOfString:@"data:image" options:NSCaseInsensitiveSearch];
|
|
66
|
-
if (range.location != NSNotFound) {
|
|
66
|
+
if (data && range.location != NSNotFound) {
|
|
67
67
|
return true;
|
|
68
68
|
} else {
|
|
69
69
|
return false;
|
package/ios/TelegramShare.m
CHANGED
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
|
|
29
29
|
if ([[UIApplication sharedApplication] canOpenURL: shareURL]) {
|
|
30
30
|
[[UIApplication sharedApplication] openURL: shareURL];
|
|
31
|
-
successCallback(@[]);
|
|
31
|
+
successCallback(@[@true, @""]);
|
|
32
32
|
} else {
|
|
33
33
|
// Cannot open telegram
|
|
34
34
|
NSString *stringURL = @"https://itunes.apple.com/app/telegram-messenger/id686449807";
|
package/ios/ViberShare.m
CHANGED
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
if ([[UIApplication sharedApplication] canOpenURL: shareURL]) {
|
|
28
28
|
[[UIApplication sharedApplication] openURL: shareURL];
|
|
29
|
-
successCallback(@[]);
|
|
29
|
+
successCallback(@[@true, @""]);
|
|
30
30
|
} else {
|
|
31
31
|
// Cannot open viber
|
|
32
32
|
NSString *stringURL = @"https://apps.apple.com/app/viber-messenger-chats-calls/id382617920";
|
package/ios/WhatsAppShare.m
CHANGED
|
@@ -46,7 +46,7 @@ RCT_EXPORT_MODULE();
|
|
|
46
46
|
|
|
47
47
|
[documentInteractionController presentOpenInMenuFromRect:CGRectZero inView:[[[[[UIApplication sharedApplication] delegate] window] rootViewController] view] animated:YES];
|
|
48
48
|
NSLog(@"Done whatsapp movie");
|
|
49
|
-
successCallback(@[]);
|
|
49
|
+
successCallback(@[@true, @""]);
|
|
50
50
|
} else if ([options[@"url"] rangeOfString:@"png"].location != NSNotFound || [options[@"url"] rangeOfString:@"jpeg"].location != NSNotFound || [options[@"url"] rangeOfString:@"jpg"].location != NSNotFound || [options[@"url"] rangeOfString:@"gif"].location != NSNotFound) {
|
|
51
51
|
UIImage * image;
|
|
52
52
|
NSURL *imageURL = [RCTConvert NSURL:options[@"url"]];
|
|
@@ -71,7 +71,7 @@ RCT_EXPORT_MODULE();
|
|
|
71
71
|
documentInteractionController.delegate = self;
|
|
72
72
|
|
|
73
73
|
[documentInteractionController presentOpenInMenuFromRect:CGRectZero inView:[[[[[UIApplication sharedApplication] delegate] window] rootViewController] view] animated:YES];
|
|
74
|
-
successCallback(@[]);
|
|
74
|
+
successCallback(@[@true, @""]);
|
|
75
75
|
}
|
|
76
76
|
} else {
|
|
77
77
|
NSError *error = [NSError errorWithDomain:@"com.rnshare" code:3 userInfo:@{ NSLocalizedDescriptionKey:@"Something went wrong"}];
|
|
@@ -85,7 +85,7 @@ RCT_EXPORT_MODULE();
|
|
|
85
85
|
|
|
86
86
|
if ([[UIApplication sharedApplication] canOpenURL: whatsappURL]) {
|
|
87
87
|
[[UIApplication sharedApplication] openURL: whatsappURL];
|
|
88
|
-
successCallback(@[]);
|
|
88
|
+
successCallback(@[@true, @""]);
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
91
|
}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.tsx"],"names":["RNShare","Button","ShareSheet","Overlay","Sheet","Social","FACEBOOK","NativeModules","Facebook","FACEBOOK_STORIES","FACEBOOKSTORIES","FacebookStories","PAGESMANAGER","Pagesmanager","TWITTER","Twitter","WHATSAPP","Whatsapp","WHATSAPPBUSINESS","Whatsappbusiness","INSTAGRAM","Instagram","INSTAGRAM_STORIES","INSTAGRAMSTORIES","InstagramStories","GOOGLEPLUS","Googleplus","EMAIL","Email","PINTEREST","Pinterest","LINKEDIN","Linkedin","SMS","Sms","TELEGRAM","Telegram","MESSENGER","Messenger","SNAPCHAT","Snapchat","VIBER","Viber","open","options","Promise","resolve","reject","then","Platform","OS","url","urls","filename","filenames","error","success","message","failOnCancel","dismissedAction","Error","catch","e","shareSingle","isPackageInstalled","packageName","isInstalled"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["index.tsx"],"names":["RNShare","Button","ShareSheet","Overlay","Sheet","Social","FACEBOOK","NativeModules","Facebook","FACEBOOK_STORIES","FACEBOOKSTORIES","FacebookStories","PAGESMANAGER","Pagesmanager","TWITTER","Twitter","WHATSAPP","Whatsapp","WHATSAPPBUSINESS","Whatsappbusiness","INSTAGRAM","Instagram","INSTAGRAM_STORIES","INSTAGRAMSTORIES","InstagramStories","GOOGLEPLUS","Googleplus","EMAIL","Email","PINTEREST","Pinterest","LINKEDIN","Linkedin","SMS","Sms","TELEGRAM","Telegram","MESSENGER","Messenger","SNAPCHAT","Snapchat","VIBER","Viber","open","options","Promise","resolve","reject","then","Platform","OS","url","urls","filename","filenames","error","success","message","failOnCancel","dismissedAction","Error","catch","e","shareSingle","Boolean","isPackageInstalled","packageName","isInstalled"],"mappings":"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","sourcesContent":["import { NativeModules, Platform } from 'react-native';\n\nimport Overlay from './components/Overlay';\nimport Sheet from './components/Sheet';\nimport Button from './components/Button';\nimport ShareSheet from './components/ShareSheet';\nimport requireAndAskPermissions from './helpers/requireAndAskPermissions';\nimport {\n Social,\n IsPackageInstalledResult,\n ActivityType,\n ShareOpenResult,\n ShareAsset,\n ShareOptions,\n ShareSingleOptions,\n ShareSingleResult,\n} from './types';\n\nconst RNShare = {\n Button,\n ShareSheet,\n Overlay,\n Sheet,\n\n Social: {\n FACEBOOK: NativeModules.RNShare.FACEBOOK || Social.Facebook,\n FACEBOOK_STORIES: NativeModules.RNShare.FACEBOOKSTORIES || Social.FacebookStories,\n PAGESMANAGER: NativeModules.RNShare.PAGESMANAGER || Social.Pagesmanager,\n TWITTER: NativeModules.RNShare.TWITTER || Social.Twitter,\n WHATSAPP: NativeModules.RNShare.WHATSAPP || Social.Whatsapp,\n WHATSAPPBUSINESS: NativeModules.RNShare.WHATSAPPBUSINESS || Social.Whatsappbusiness,\n INSTAGRAM: NativeModules.RNShare.INSTAGRAM || Social.Instagram,\n INSTAGRAM_STORIES: NativeModules.RNShare.INSTAGRAMSTORIES || Social.InstagramStories,\n GOOGLEPLUS: NativeModules.RNShare.GOOGLEPLUS || Social.Googleplus,\n EMAIL: NativeModules.RNShare.EMAIL || Social.Email,\n PINTEREST: NativeModules.RNShare.PINTEREST || Social.Pinterest,\n LINKEDIN: NativeModules.RNShare.LINKEDIN || Social.Linkedin,\n SMS: NativeModules.RNShare.SMS || Social.Sms,\n TELEGRAM: NativeModules.RNShare.TELEGRAM || Social.Telegram,\n MESSENGER: NativeModules.RNShare.MESSENGER || Social.Messenger,\n SNAPCHAT: NativeModules.RNShare.SNAPCHAT || Social.Snapchat,\n VIBER: NativeModules.RNShare.VIBER || Social.Viber,\n },\n\n open(options: ShareOptions): Promise<ShareOpenResult | never> {\n return new Promise((resolve, reject) => {\n requireAndAskPermissions(options)\n .then(() => {\n if (Platform.OS === 'ios' && options.url && !options.urls) {\n // Backward compatibility with { Share } from react-native\n const url = options.url;\n delete options.url;\n\n options.urls = [url];\n\n if (options.filename && !options.filenames) {\n options.filenames = [options.filename];\n delete options.filename;\n }\n }\n\n NativeModules.RNShare.open(\n options,\n (error) => {\n return reject({ error });\n },\n (success, message) => {\n if (success) {\n return resolve({\n success,\n message,\n });\n } else if (options.failOnCancel === false) {\n return resolve({\n dismissedAction: true,\n success,\n message,\n });\n } else {\n reject(new Error('User did not share'));\n }\n },\n );\n })\n .catch((e: unknown) => reject(e));\n });\n },\n\n shareSingle(options: ShareSingleOptions): Promise<ShareSingleResult | never> {\n if (Platform.OS === 'ios' || Platform.OS === 'android') {\n return new Promise((resolve, reject) => {\n requireAndAskPermissions(options)\n .then(() => {\n if (options.url) {\n options.urls = [options.url];\n }\n\n NativeModules.RNShare.shareSingle(\n options,\n (error) => {\n return reject({ error });\n },\n (success, message) => {\n return resolve({\n success: Boolean(success),\n message,\n });\n },\n );\n })\n .catch((e: unknown) => reject(e));\n });\n } else {\n throw new Error('Not implemented');\n }\n },\n\n isPackageInstalled(packageName: string): Promise<IsPackageInstalledResult | never> {\n if (Platform.OS === 'android') {\n return new Promise((resolve, reject) => {\n NativeModules.RNShare.isPackageInstalled(\n packageName,\n (error) => {\n return reject({ error });\n },\n (isInstalled) => {\n return resolve({\n isInstalled,\n message: 'Package is Installed',\n });\n },\n );\n });\n } else {\n throw new Error('Not implemented');\n }\n },\n} as const;\n\nexport { Overlay, Sheet, Button, ShareSheet, ShareAsset, Social };\nexport type { ShareSingleOptions, ShareOptions, ActivityType, IsPackageInstalledResult };\nexport type { OverlayProps } from './components/Overlay';\nexport type { SheetProps } from './components/Sheet';\nexport type { ButtonProps } from './components/Button';\nexport type { ShareSheetProps } from './components/ShareSheet';\nexport default RNShare;\n"]}
|
package/lib/module/index.js
CHANGED
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.tsx"],"names":["NativeModules","Platform","Overlay","Sheet","Button","ShareSheet","requireAndAskPermissions","Social","ShareAsset","RNShare","FACEBOOK","Facebook","FACEBOOK_STORIES","FACEBOOKSTORIES","FacebookStories","PAGESMANAGER","Pagesmanager","TWITTER","Twitter","WHATSAPP","Whatsapp","WHATSAPPBUSINESS","Whatsappbusiness","INSTAGRAM","Instagram","INSTAGRAM_STORIES","INSTAGRAMSTORIES","InstagramStories","GOOGLEPLUS","Googleplus","EMAIL","Email","PINTEREST","Pinterest","LINKEDIN","Linkedin","SMS","Sms","TELEGRAM","Telegram","MESSENGER","Messenger","SNAPCHAT","Snapchat","VIBER","Viber","open","options","Promise","resolve","reject","then","OS","url","urls","filename","filenames","error","success","message","failOnCancel","dismissedAction","Error","catch","e","shareSingle","isPackageInstalled","packageName","isInstalled"],"mappings":"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","sourcesContent":["import { NativeModules, Platform } from 'react-native';\n\nimport Overlay from './components/Overlay';\nimport Sheet from './components/Sheet';\nimport Button from './components/Button';\nimport ShareSheet from './components/ShareSheet';\nimport requireAndAskPermissions from './helpers/requireAndAskPermissions';\nimport {\n Social,\n IsPackageInstalledResult,\n ActivityType,\n ShareOpenResult,\n ShareAsset,\n ShareOptions,\n ShareSingleOptions,\n ShareSingleResult,\n} from './types';\n\nconst RNShare = {\n Button,\n ShareSheet,\n Overlay,\n Sheet,\n\n Social: {\n FACEBOOK: NativeModules.RNShare.FACEBOOK || Social.Facebook,\n FACEBOOK_STORIES: NativeModules.RNShare.FACEBOOKSTORIES || Social.FacebookStories,\n PAGESMANAGER: NativeModules.RNShare.PAGESMANAGER || Social.Pagesmanager,\n TWITTER: NativeModules.RNShare.TWITTER || Social.Twitter,\n WHATSAPP: NativeModules.RNShare.WHATSAPP || Social.Whatsapp,\n WHATSAPPBUSINESS: NativeModules.RNShare.WHATSAPPBUSINESS || Social.Whatsappbusiness,\n INSTAGRAM: NativeModules.RNShare.INSTAGRAM || Social.Instagram,\n INSTAGRAM_STORIES: NativeModules.RNShare.INSTAGRAMSTORIES || Social.InstagramStories,\n GOOGLEPLUS: NativeModules.RNShare.GOOGLEPLUS || Social.Googleplus,\n EMAIL: NativeModules.RNShare.EMAIL || Social.Email,\n PINTEREST: NativeModules.RNShare.PINTEREST || Social.Pinterest,\n LINKEDIN: NativeModules.RNShare.LINKEDIN || Social.Linkedin,\n SMS: NativeModules.RNShare.SMS || Social.Sms,\n TELEGRAM: NativeModules.RNShare.TELEGRAM || Social.Telegram,\n MESSENGER: NativeModules.RNShare.MESSENGER || Social.Messenger,\n SNAPCHAT: NativeModules.RNShare.SNAPCHAT || Social.Snapchat,\n VIBER: NativeModules.RNShare.VIBER || Social.Viber,\n },\n\n open(options: ShareOptions): Promise<ShareOpenResult | never> {\n return new Promise((resolve, reject) => {\n requireAndAskPermissions(options)\n .then(() => {\n if (Platform.OS === 'ios' && options.url && !options.urls) {\n // Backward compatibility with { Share } from react-native\n const url = options.url;\n delete options.url;\n\n options.urls = [url];\n\n if (options.filename && !options.filenames) {\n options.filenames = [options.filename];\n delete options.filename;\n }\n }\n\n NativeModules.RNShare.open(\n options,\n (error) => {\n return reject({ error });\n },\n (success, message) => {\n if (success) {\n return resolve({\n success,\n message,\n });\n } else if (options.failOnCancel === false) {\n return resolve({\n dismissedAction: true,\n success,\n message,\n });\n } else {\n reject(new Error('User did not share'));\n }\n },\n );\n })\n .catch((e: unknown) => reject(e));\n });\n },\n\n shareSingle(options: ShareSingleOptions): Promise<ShareSingleResult | never> {\n if (Platform.OS === 'ios' || Platform.OS === 'android') {\n return new Promise((resolve, reject) => {\n requireAndAskPermissions(options)\n .then(() => {\n if (options.url) {\n options.urls = [options.url];\n }\n\n NativeModules.RNShare.shareSingle(\n options,\n (error) => {\n return reject({ error });\n },\n (success, message) => {\n return resolve({\n success,\n message,\n });\n },\n );\n })\n .catch((e: unknown) => reject(e));\n });\n } else {\n throw new Error('Not implemented');\n }\n },\n\n isPackageInstalled(packageName: string): Promise<IsPackageInstalledResult | never> {\n if (Platform.OS === 'android') {\n return new Promise((resolve, reject) => {\n NativeModules.RNShare.isPackageInstalled(\n packageName,\n (error) => {\n return reject({ error });\n },\n (isInstalled) => {\n return resolve({\n isInstalled,\n message: 'Package is Installed',\n });\n },\n );\n });\n } else {\n throw new Error('Not implemented');\n }\n },\n} as const;\n\nexport { Overlay, Sheet, Button, ShareSheet, ShareAsset, Social };\nexport type { ShareSingleOptions, ShareOptions, ActivityType, IsPackageInstalledResult };\nexport type { OverlayProps } from './components/Overlay';\nexport type { SheetProps } from './components/Sheet';\nexport type { ButtonProps } from './components/Button';\nexport type { ShareSheetProps } from './components/ShareSheet';\nexport default RNShare;\n"]}
|
|
1
|
+
{"version":3,"sources":["index.tsx"],"names":["NativeModules","Platform","Overlay","Sheet","Button","ShareSheet","requireAndAskPermissions","Social","ShareAsset","RNShare","FACEBOOK","Facebook","FACEBOOK_STORIES","FACEBOOKSTORIES","FacebookStories","PAGESMANAGER","Pagesmanager","TWITTER","Twitter","WHATSAPP","Whatsapp","WHATSAPPBUSINESS","Whatsappbusiness","INSTAGRAM","Instagram","INSTAGRAM_STORIES","INSTAGRAMSTORIES","InstagramStories","GOOGLEPLUS","Googleplus","EMAIL","Email","PINTEREST","Pinterest","LINKEDIN","Linkedin","SMS","Sms","TELEGRAM","Telegram","MESSENGER","Messenger","SNAPCHAT","Snapchat","VIBER","Viber","open","options","Promise","resolve","reject","then","OS","url","urls","filename","filenames","error","success","message","failOnCancel","dismissedAction","Error","catch","e","shareSingle","Boolean","isPackageInstalled","packageName","isInstalled"],"mappings":"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","sourcesContent":["import { NativeModules, Platform } from 'react-native';\n\nimport Overlay from './components/Overlay';\nimport Sheet from './components/Sheet';\nimport Button from './components/Button';\nimport ShareSheet from './components/ShareSheet';\nimport requireAndAskPermissions from './helpers/requireAndAskPermissions';\nimport {\n Social,\n IsPackageInstalledResult,\n ActivityType,\n ShareOpenResult,\n ShareAsset,\n ShareOptions,\n ShareSingleOptions,\n ShareSingleResult,\n} from './types';\n\nconst RNShare = {\n Button,\n ShareSheet,\n Overlay,\n Sheet,\n\n Social: {\n FACEBOOK: NativeModules.RNShare.FACEBOOK || Social.Facebook,\n FACEBOOK_STORIES: NativeModules.RNShare.FACEBOOKSTORIES || Social.FacebookStories,\n PAGESMANAGER: NativeModules.RNShare.PAGESMANAGER || Social.Pagesmanager,\n TWITTER: NativeModules.RNShare.TWITTER || Social.Twitter,\n WHATSAPP: NativeModules.RNShare.WHATSAPP || Social.Whatsapp,\n WHATSAPPBUSINESS: NativeModules.RNShare.WHATSAPPBUSINESS || Social.Whatsappbusiness,\n INSTAGRAM: NativeModules.RNShare.INSTAGRAM || Social.Instagram,\n INSTAGRAM_STORIES: NativeModules.RNShare.INSTAGRAMSTORIES || Social.InstagramStories,\n GOOGLEPLUS: NativeModules.RNShare.GOOGLEPLUS || Social.Googleplus,\n EMAIL: NativeModules.RNShare.EMAIL || Social.Email,\n PINTEREST: NativeModules.RNShare.PINTEREST || Social.Pinterest,\n LINKEDIN: NativeModules.RNShare.LINKEDIN || Social.Linkedin,\n SMS: NativeModules.RNShare.SMS || Social.Sms,\n TELEGRAM: NativeModules.RNShare.TELEGRAM || Social.Telegram,\n MESSENGER: NativeModules.RNShare.MESSENGER || Social.Messenger,\n SNAPCHAT: NativeModules.RNShare.SNAPCHAT || Social.Snapchat,\n VIBER: NativeModules.RNShare.VIBER || Social.Viber,\n },\n\n open(options: ShareOptions): Promise<ShareOpenResult | never> {\n return new Promise((resolve, reject) => {\n requireAndAskPermissions(options)\n .then(() => {\n if (Platform.OS === 'ios' && options.url && !options.urls) {\n // Backward compatibility with { Share } from react-native\n const url = options.url;\n delete options.url;\n\n options.urls = [url];\n\n if (options.filename && !options.filenames) {\n options.filenames = [options.filename];\n delete options.filename;\n }\n }\n\n NativeModules.RNShare.open(\n options,\n (error) => {\n return reject({ error });\n },\n (success, message) => {\n if (success) {\n return resolve({\n success,\n message,\n });\n } else if (options.failOnCancel === false) {\n return resolve({\n dismissedAction: true,\n success,\n message,\n });\n } else {\n reject(new Error('User did not share'));\n }\n },\n );\n })\n .catch((e: unknown) => reject(e));\n });\n },\n\n shareSingle(options: ShareSingleOptions): Promise<ShareSingleResult | never> {\n if (Platform.OS === 'ios' || Platform.OS === 'android') {\n return new Promise((resolve, reject) => {\n requireAndAskPermissions(options)\n .then(() => {\n if (options.url) {\n options.urls = [options.url];\n }\n\n NativeModules.RNShare.shareSingle(\n options,\n (error) => {\n return reject({ error });\n },\n (success, message) => {\n return resolve({\n success: Boolean(success),\n message,\n });\n },\n );\n })\n .catch((e: unknown) => reject(e));\n });\n } else {\n throw new Error('Not implemented');\n }\n },\n\n isPackageInstalled(packageName: string): Promise<IsPackageInstalledResult | never> {\n if (Platform.OS === 'android') {\n return new Promise((resolve, reject) => {\n NativeModules.RNShare.isPackageInstalled(\n packageName,\n (error) => {\n return reject({ error });\n },\n (isInstalled) => {\n return resolve({\n isInstalled,\n message: 'Package is Installed',\n });\n },\n );\n });\n } else {\n throw new Error('Not implemented');\n }\n },\n} as const;\n\nexport { Overlay, Sheet, Button, ShareSheet, ShareAsset, Social };\nexport type { ShareSingleOptions, ShareOptions, ActivityType, IsPackageInstalledResult };\nexport type { OverlayProps } from './components/Overlay';\nexport type { SheetProps } from './components/Sheet';\nexport type { ButtonProps } from './components/Button';\nexport type { ShareSheetProps } from './components/ShareSheet';\nexport default RNShare;\n"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-share",
|
|
3
3
|
"description": "Social share, sending simple data to other apps.",
|
|
4
|
-
"version": "7.
|
|
4
|
+
"version": "7.8.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "git+https://github.com/react-native-community/react-native-share.git"
|
|
@@ -41,12 +41,14 @@
|
|
|
41
41
|
"eslint-config-satya164": "3.1.10",
|
|
42
42
|
"husky": "4.3.0",
|
|
43
43
|
"lint-staged": "10.3.0",
|
|
44
|
+
"metro-config": "^0.66.2",
|
|
44
45
|
"metro-react-native-babel-preset": "^0.66.2",
|
|
45
46
|
"pre-commit": "1.2.2",
|
|
46
47
|
"prettier": "^2.2.1",
|
|
47
48
|
"react": "17.0.2",
|
|
48
49
|
"react-native": "0.66.4",
|
|
49
50
|
"react-native-builder-bob": "^0.18.1",
|
|
51
|
+
"react-native-windows": "0.66.4",
|
|
50
52
|
"semantic-release": "^19.0.3",
|
|
51
53
|
"typescript": "4.2.4"
|
|
52
54
|
},
|
|
@@ -80,7 +82,8 @@
|
|
|
80
82
|
"typescript": "tsc --noEmit",
|
|
81
83
|
"validate": "yarn lint && yarn typescript",
|
|
82
84
|
"ci:publish": "npx semantic-release",
|
|
83
|
-
"prepare": "bob build"
|
|
85
|
+
"prepare": "bob build",
|
|
86
|
+
"windows": "react-native run-windows"
|
|
84
87
|
},
|
|
85
88
|
"husky": {
|
|
86
89
|
"hooks": {
|
package/src/index.tsx
CHANGED
package/windows/.gitignore
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
*AppPackages*
|
|
2
2
|
*BundleArtifacts*
|
|
3
|
-
*ReactAssets*
|
|
4
3
|
|
|
5
4
|
#OS junk files
|
|
6
5
|
[Tt]humbs.db
|
|
@@ -36,6 +35,17 @@ ipch/
|
|
|
36
35
|
[Rr]elease*/
|
|
37
36
|
Ankh.NoLoad
|
|
38
37
|
|
|
38
|
+
# Visual C++ cache files
|
|
39
|
+
ipch/
|
|
40
|
+
*.aps
|
|
41
|
+
*.ncb
|
|
42
|
+
*.opendb
|
|
43
|
+
*.opensdf
|
|
44
|
+
*.sdf
|
|
45
|
+
*.cachefile
|
|
46
|
+
*.VC.db
|
|
47
|
+
*.VC.VC.opendb
|
|
48
|
+
|
|
39
49
|
#MonoDevelop
|
|
40
50
|
*.pidb
|
|
41
51
|
*.userprefs
|
|
@@ -75,4 +85,8 @@ packages/
|
|
|
75
85
|
#Other files
|
|
76
86
|
*.DotSettings
|
|
77
87
|
.vs/
|
|
78
|
-
*project.lock.json
|
|
88
|
+
*project.lock.json
|
|
89
|
+
|
|
90
|
+
#Files generated by the VS build
|
|
91
|
+
**/Generated Files/**
|
|
92
|
+
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
3
|
+
|
|
4
|
+
<!--
|
|
5
|
+
Application projects contain a file with this name to specify some important settings
|
|
6
|
+
that will apply globally for the app and *all* native modules the app consumes. These
|
|
7
|
+
values are set by the app developer.
|
|
8
|
+
-->
|
|
9
|
+
|
|
10
|
+
</Project>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<configuration>
|
|
3
|
+
<config>
|
|
4
|
+
<add key="repositoryPath" value="packages" />
|
|
5
|
+
</config>
|
|
6
|
+
<packageSources>
|
|
7
|
+
<clear />
|
|
8
|
+
<add key="react-native" value="https://pkgs.dev.azure.com/ms/react-native/_packaging/react-native-public/nuget/v3/index.json" />
|
|
9
|
+
<add key="Nuget.org" value="https://api.nuget.org/v3/index.json" />
|
|
10
|
+
</packageSources>
|
|
11
|
+
<disabledPackageSources>
|
|
12
|
+
<clear />
|
|
13
|
+
</disabledPackageSources>
|
|
14
|
+
</configuration>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
3
|
+
<ImportGroup Label="PropertySheets" />
|
|
4
|
+
<PropertyGroup Label="UserMacros" />
|
|
5
|
+
<!--
|
|
6
|
+
To customize common C++/WinRT project properties:
|
|
7
|
+
* right-click the project node
|
|
8
|
+
* expand the Common Properties item
|
|
9
|
+
* select the C++/WinRT property page
|
|
10
|
+
|
|
11
|
+
For more advanced scenarios, and complete documentation, please see:
|
|
12
|
+
https://github.com/Microsoft/xlang/tree/master/src/package/cppwinrt/nuget
|
|
13
|
+
-->
|
|
14
|
+
<PropertyGroup />
|
|
15
|
+
<ItemDefinitionGroup />
|
|
16
|
+
</Project>
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
#include "JSValue.h"
|
|
4
|
+
#include "NativeModules.h"
|
|
5
|
+
#include <winrt/Windows.ApplicationModel.DataTransfer.h>
|
|
6
|
+
|
|
7
|
+
using namespace winrt::Microsoft::ReactNative;
|
|
8
|
+
using namespace winrt::Windows::ApplicationModel::DataTransfer;
|
|
9
|
+
|
|
10
|
+
namespace winrt::ReactNativeShare
|
|
11
|
+
{
|
|
12
|
+
|
|
13
|
+
REACT_STRUCT(RequestData)
|
|
14
|
+
struct RequestData
|
|
15
|
+
{
|
|
16
|
+
std::wstring title;
|
|
17
|
+
std::wstring message;
|
|
18
|
+
std::wstring url;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
REACT_MODULE(ReactNativeShare, L"RNShare")
|
|
22
|
+
struct ReactNativeShare
|
|
23
|
+
{
|
|
24
|
+
REACT_INIT(Initialize)
|
|
25
|
+
void Initialize(ReactContext const &reactContext) noexcept
|
|
26
|
+
{
|
|
27
|
+
context = reactContext;
|
|
28
|
+
|
|
29
|
+
context.UIDispatcher().Post([&]() {
|
|
30
|
+
DataTransferManager dataTransferManager = DataTransferManager::GetForCurrentView();
|
|
31
|
+
auto dataRequestedToken = dataTransferManager.DataRequested(TypedEventHandler<DataTransferManager, DataRequestedEventArgs>(this, &ReactNativeShare::handleDataRequest));
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
REACT_METHOD(open)
|
|
36
|
+
void open(JSValueObject options, std::function<void(JSValue)> errorCallback, std::function<void(JSValue, JSValue)> successCallback) noexcept
|
|
37
|
+
{
|
|
38
|
+
if (options["title"] == nullptr) {
|
|
39
|
+
errorCallback("no_title_provided");
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
if ((options["message"] == nullptr) && (options["url"] == nullptr))
|
|
44
|
+
{
|
|
45
|
+
errorCallback("no_message_or_url_provided");
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
requestData.title = to_hstring(options["title"].AsString());
|
|
50
|
+
|
|
51
|
+
if (options["message"] != nullptr)
|
|
52
|
+
{
|
|
53
|
+
requestData.message = to_hstring(options["message"].AsString());
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
if (options["url"] != nullptr){
|
|
57
|
+
requestData.url = to_hstring(options["url"].AsString());
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
context.UIDispatcher().Post([&, errorCallback, successCallback]() {
|
|
61
|
+
try
|
|
62
|
+
{
|
|
63
|
+
DataTransferManager::ShowShareUI();
|
|
64
|
+
successCallback(true, "OK");
|
|
65
|
+
}
|
|
66
|
+
catch (hresult_error const& e)
|
|
67
|
+
{
|
|
68
|
+
errorCallback("not_available");
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
REACT_METHOD(addListener);
|
|
74
|
+
void addListener(std::string) noexcept
|
|
75
|
+
{
|
|
76
|
+
// Keep: Required for RN built in Event Emitter Calls.
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
REACT_METHOD(removeListeners);
|
|
80
|
+
void removeListeners(int64_t) noexcept
|
|
81
|
+
{
|
|
82
|
+
// Keep: Required for RN built in Event Emitter Calls.
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
void handleDataRequest(DataTransferManager sender, DataRequestedEventArgs e)
|
|
86
|
+
{
|
|
87
|
+
e.Request().Data().Properties().Title(requestData.title);
|
|
88
|
+
|
|
89
|
+
if (!requestData.message.empty())
|
|
90
|
+
{
|
|
91
|
+
e.Request().Data().SetText(requestData.message);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
if (!requestData.url.empty())
|
|
95
|
+
{
|
|
96
|
+
Windows::Foundation::Uri uri{ requestData.url };
|
|
97
|
+
e.Request().Data().SetUri(uri);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
requestData = {};
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
private:
|
|
104
|
+
ReactContext context;
|
|
105
|
+
RequestData requestData = {};
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
} // namespace winrt::ReactNativeShare
|