react-native-share 7.6.5 → 7.7.1
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/android/src/main/java/cl/json/social/InstagramStoriesShare.java +3 -1
- 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 +3 -3
- package/ios/InstagramStories.m +6 -3
- 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
|
@@ -86,14 +86,16 @@ public class InstagramStoriesShare extends SingleShareIntent {
|
|
|
86
86
|
|
|
87
87
|
if (hasBackgroundAsset) {
|
|
88
88
|
String backgroundFileName = "";
|
|
89
|
+
String backgroundType = "image/jpeg";
|
|
89
90
|
|
|
90
91
|
if (this.hasValidKey("backgroundImage", options)) {
|
|
91
92
|
backgroundFileName = options.getString("backgroundImage");
|
|
92
93
|
} else if (this.hasValidKey("backgroundVideo", options)) {
|
|
93
94
|
backgroundFileName = options.getString("backgroundVideo");
|
|
95
|
+
backgroundType = "video/*";
|
|
94
96
|
}
|
|
95
97
|
|
|
96
|
-
ShareFile backgroundAsset = new ShareFile(backgroundFileName,
|
|
98
|
+
ShareFile backgroundAsset = new ShareFile(backgroundFileName, backgroundType, "background", useInternalStorage, this.reactContext);
|
|
97
99
|
|
|
98
100
|
this.intent.setDataAndType(backgroundAsset.getURI(), backgroundAsset.getType());
|
|
99
101
|
this.intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
|
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
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
|
|
37
37
|
if ([[UIApplication sharedApplication] canOpenURL: shareURL]) {
|
|
38
38
|
[[UIApplication sharedApplication] openURL: shareURL];
|
|
39
|
-
successCallback(@[]);
|
|
39
|
+
successCallback(@[@true, @""]);
|
|
40
40
|
} else {
|
|
41
41
|
// Cannot open instagram
|
|
42
42
|
NSString *stringURL = @"https://itunes.apple.com/app/instagram/id389801252";
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
}
|
|
77
77
|
} else {
|
|
78
78
|
[[UIApplication sharedApplication] openURL: [NSURL URLWithString:@"instagram://camera"]];
|
|
79
|
-
successCallback(@[]);
|
|
79
|
+
successCallback(@[@true, @""]);
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
|
|
@@ -104,7 +104,7 @@
|
|
|
104
104
|
[[UIApplication sharedApplication] openURL:instagramURL options:@{} completionHandler:NULL];
|
|
105
105
|
}
|
|
106
106
|
if (successCallback != NULL) {
|
|
107
|
-
successCallback(@[]);
|
|
107
|
+
successCallback(@[@true, @""]);
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
110
|
}
|
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/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.7.1",
|
|
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
|