react-native-share 7.4.0 → 7.6.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/android/src/main/java/cl/json/RNShareModule.java +5 -1
- package/android/src/main/java/cl/json/social/ViberShare.java +41 -0
- package/ios/EmailShare.h +1 -31
- package/ios/EmailShare.m +61 -51
- package/ios/FacebookStories.h +0 -30
- package/ios/FacebookStories.m +0 -6
- package/ios/GenericShare.h +0 -30
- package/ios/GooglePlusShare.h +0 -30
- package/ios/InstagramShare.h +0 -30
- package/ios/InstagramStories.h +0 -30
- package/ios/InstagramStories.m +0 -6
- package/ios/RNShare.h +0 -6
- package/ios/RNShare.m +7 -31
- package/ios/RNShareActivityItemSource.m +0 -12
- package/ios/TelegramShare.h +0 -30
- package/ios/ViberShare.h +21 -0
- package/ios/ViberShare.m +46 -0
- package/ios/WhatsAppShare.h +0 -30
- package/lib/commonjs/index.js +6 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/types.js +1 -0
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/typings/react-native.d.js.map +1 -1
- package/lib/module/index.js +6 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/types.js +1 -0
- package/lib/module/types.js.map +1 -1
- package/lib/module/typings/react-native.d.js.map +1 -1
- package/lib/typescript/index.d.ts +1 -0
- package/lib/typescript/types.d.ts +3 -1
- package/package.json +1 -1
- package/src/index.tsx +5 -0
- package/src/types.ts +2 -0
- package/src/typings/react-native.d.ts +1 -0
|
@@ -36,6 +36,7 @@ import cl.json.social.SnapChatShare;
|
|
|
36
36
|
import cl.json.social.SMSShare;
|
|
37
37
|
import cl.json.social.MessengerShare;
|
|
38
38
|
import cl.json.social.LinkedinShare;
|
|
39
|
+
import cl.json.social.ViberShare;
|
|
39
40
|
|
|
40
41
|
public class RNShareModule extends ReactContextBaseJavaModule implements ActivityEventListener {
|
|
41
42
|
|
|
@@ -80,7 +81,8 @@ public class RNShareModule extends ReactContextBaseJavaModule implements Activit
|
|
|
80
81
|
snapchat,
|
|
81
82
|
sms,
|
|
82
83
|
linkedin,
|
|
83
|
-
telegram
|
|
84
|
+
telegram,
|
|
85
|
+
viber;
|
|
84
86
|
|
|
85
87
|
|
|
86
88
|
public static ShareIntent getShareClass(String social, ReactApplicationContext reactContext) {
|
|
@@ -120,6 +122,8 @@ public class RNShareModule extends ReactContextBaseJavaModule implements Activit
|
|
|
120
122
|
return new LinkedinShare(reactContext);
|
|
121
123
|
case telegram:
|
|
122
124
|
return new TelegramShare(reactContext);
|
|
125
|
+
case viber:
|
|
126
|
+
return new ViberShare(reactContext);
|
|
123
127
|
default:
|
|
124
128
|
return null;
|
|
125
129
|
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
package cl.json.social;
|
|
2
|
+
|
|
3
|
+
import android.content.ActivityNotFoundException;
|
|
4
|
+
|
|
5
|
+
import com.facebook.react.bridge.ReactApplicationContext;
|
|
6
|
+
import com.facebook.react.bridge.ReadableMap;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Created by Jacob on 06-06-2022.
|
|
10
|
+
*/
|
|
11
|
+
public class ViberShare extends SingleShareIntent {
|
|
12
|
+
|
|
13
|
+
private static final String PACKAGE = "com.viber.voip";
|
|
14
|
+
|
|
15
|
+
private static final String PLAY_STORE_LINK = "market://details?id=com.viber.voip";
|
|
16
|
+
|
|
17
|
+
public ViberShare(ReactApplicationContext reactContext) {
|
|
18
|
+
super(reactContext);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
@Override
|
|
22
|
+
public void open(ReadableMap options) throws ActivityNotFoundException {
|
|
23
|
+
super.open(options);
|
|
24
|
+
// extra params here
|
|
25
|
+
this.openIntentChooser();
|
|
26
|
+
}
|
|
27
|
+
@Override
|
|
28
|
+
protected String getPackage() {
|
|
29
|
+
return PACKAGE;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
@Override
|
|
33
|
+
protected String getDefaultWebLink() {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
@Override
|
|
38
|
+
protected String getPlayStoreLink() {
|
|
39
|
+
return PLAY_STORE_LINK;
|
|
40
|
+
}
|
|
41
|
+
}
|
package/ios/EmailShare.h
CHANGED
|
@@ -8,46 +8,16 @@
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
#import <UIKit/UIKit.h>
|
|
11
|
-
// import
|
|
12
|
-
#if __has_include(<React/RCTConvert.h>)
|
|
11
|
+
// import RCTConvertttt
|
|
13
12
|
#import <React/RCTConvert.h>
|
|
14
|
-
#elif __has_include("RCTConvert.h")
|
|
15
|
-
#import "RCTConvert.h"
|
|
16
|
-
#else
|
|
17
|
-
#import "React/RCTConvert.h" // Required when used as a Pod in a Swift project
|
|
18
|
-
#endif
|
|
19
13
|
// import RCTBridge
|
|
20
|
-
#if __has_include(<React/RCTBridge.h>)
|
|
21
14
|
#import <React/RCTBridge.h>
|
|
22
|
-
#elif __has_include("RCTBridge.h")
|
|
23
|
-
#import "RCTBridge.h"
|
|
24
|
-
#else
|
|
25
|
-
#import "React/RCTBridge.h" // Required when used as a Pod in a Swift project
|
|
26
|
-
#endif
|
|
27
15
|
// import RCTUIManager
|
|
28
|
-
#if __has_include(<React/RCTUIManager.h>)
|
|
29
16
|
#import <React/RCTUIManager.h>
|
|
30
|
-
#elif __has_include("RCTUIManager.h")
|
|
31
|
-
#import "RCTUIManager.h"
|
|
32
|
-
#else
|
|
33
|
-
#import "React/RCTUIManager.h" // Required when used as a Pod in a Swift project
|
|
34
|
-
#endif
|
|
35
17
|
// import RCTLog
|
|
36
|
-
#if __has_include(<React/RCTLog.h>)
|
|
37
18
|
#import <React/RCTLog.h>
|
|
38
|
-
#elif __has_include("RCTLog.h")
|
|
39
|
-
#import "RCTLog.h"
|
|
40
|
-
#else
|
|
41
|
-
#import "React/RCTLog.h" // Required when used as a Pod in a Swift project
|
|
42
|
-
#endif
|
|
43
19
|
// import RCTUtils
|
|
44
|
-
#if __has_include(<React/RCTUtils.h>)
|
|
45
20
|
#import <React/RCTUtils.h>
|
|
46
|
-
#elif __has_include("RCTUtils.h")
|
|
47
|
-
#import "RCTUtils.h"
|
|
48
|
-
#else
|
|
49
|
-
#import "React/RCTUtils.h" // Required when used as a Pod in a Swift project
|
|
50
|
-
#endif
|
|
51
21
|
#import <MessageUI/MessageUI.h>
|
|
52
22
|
@interface EmailShare : NSObject <MFMailComposeViewControllerDelegate>
|
|
53
23
|
|
package/ios/EmailShare.m
CHANGED
|
@@ -52,63 +52,73 @@
|
|
|
52
52
|
[mc setSubject:subject];
|
|
53
53
|
[mc setMessageBody:message isHTML:NO];
|
|
54
54
|
|
|
55
|
-
if ([options objectForKey:@"
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
NSString *mime = @"application/octet-stream";
|
|
73
|
-
NSString *filename = @"file";
|
|
74
|
-
|
|
75
|
-
if([options objectForKey:@"type"]){
|
|
76
|
-
mime = [RCTConvert NSString:options[@"type"]];
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
if([options objectForKey:@"filename"]){
|
|
80
|
-
filename = [RCTConvert NSString:options[@"filename"]];
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
// add extension just like Android for consistency
|
|
84
|
-
// file name should not include extension
|
|
85
|
-
if(URL.isFileURL){
|
|
86
|
-
NSString *ext = [[URL.absoluteString componentsSeparatedByString:@"."] lastObject];
|
|
87
|
-
|
|
88
|
-
filename = [filename stringByAppendingString: [@"." stringByAppendingString:ext]];
|
|
55
|
+
if ([options objectForKey:@"urls"] && [options objectForKey:@"urls"] != [NSNull null]) {
|
|
56
|
+
NSArray *urlsArray = options[@"urls"];
|
|
57
|
+
|
|
58
|
+
for (int i=0; i<urlsArray.count; i++) {
|
|
59
|
+
NSURL *URL = [RCTConvert NSURL:urlsArray[i]];
|
|
60
|
+
|
|
61
|
+
if (URL) {
|
|
62
|
+
BOOL isDataScheme = [URL.scheme.lowercaseString isEqualToString:@"data"];
|
|
63
|
+
|
|
64
|
+
if (URL.fileURL || isDataScheme) {
|
|
65
|
+
NSError *error;
|
|
66
|
+
NSData *data = [NSData dataWithContentsOfURL:URL
|
|
67
|
+
options:(NSDataReadingOptions)0
|
|
68
|
+
error:&error];
|
|
69
|
+
if (!data) {
|
|
70
|
+
failureCallback(error);
|
|
71
|
+
return;
|
|
89
72
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
73
|
+
|
|
74
|
+
NSString *mime = @"application/octet-stream";
|
|
75
|
+
NSString *filename = @"file";
|
|
76
|
+
|
|
77
|
+
if([options objectForKey:@"type"]){
|
|
78
|
+
if(urlsArray.count == 1){
|
|
79
|
+
mime = [RCTConvert NSString:options[@"type"]];
|
|
80
|
+
} else {
|
|
81
|
+
RCTLogWarn(@"key 'type' is ignored when it has more than one url");
|
|
95
82
|
}
|
|
96
83
|
}
|
|
97
|
-
}
|
|
98
|
-
else if(URL.fileURL){
|
|
99
|
-
NSArray *parts = [URL.absoluteString componentsSeparatedByString:@"/"];
|
|
100
|
-
filename = [parts lastObject];
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
[mc addAttachmentData:data mimeType:mime fileName:filename];
|
|
104
84
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
85
|
+
if([options objectForKey:@"filename"]){
|
|
86
|
+
if(urlsArray.count == 1){
|
|
87
|
+
filename = [RCTConvert NSString:options[@"filename"]];
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
// add extension just like Android for consistency
|
|
91
|
+
// file name should not include extension
|
|
92
|
+
if(URL.isFileURL){
|
|
93
|
+
NSString *ext = [[URL.absoluteString componentsSeparatedByString:@"."] lastObject];
|
|
94
|
+
|
|
95
|
+
filename = [filename stringByAppendingString: [@"." stringByAppendingString:ext]];
|
|
96
|
+
}
|
|
97
|
+
else if (isDataScheme){
|
|
98
|
+
NSString *ext = [RNShareUtils getExtensionFromBase64: URL.absoluteString];
|
|
99
|
+
|
|
100
|
+
if(ext){
|
|
101
|
+
filename = [filename stringByAppendingString: [@"." stringByAppendingString:ext]];
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
} else {
|
|
105
|
+
RCTLogWarn(@"key 'filename' is ignored when it has more than one url");
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
else if(URL.fileURL){
|
|
109
|
+
NSArray *parts = [URL.absoluteString componentsSeparatedByString:@"/"];
|
|
110
|
+
filename = [parts lastObject];
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
[mc addAttachmentData:data mimeType:mime fileName:filename];
|
|
114
|
+
|
|
115
|
+
} else {
|
|
116
|
+
// if not a file, just append it to message
|
|
117
|
+
message = [message stringByAppendingString: [@" " stringByAppendingString: [RCTConvert NSString:urlsArray[i]]] ];
|
|
118
|
+
[mc setMessageBody:message isHTML:NO];
|
|
119
|
+
}
|
|
109
120
|
}
|
|
110
121
|
}
|
|
111
|
-
|
|
112
122
|
}
|
|
113
123
|
|
|
114
124
|
dispatch_async(dispatch_get_main_queue(), ^{
|
package/ios/FacebookStories.h
CHANGED
|
@@ -9,45 +9,15 @@
|
|
|
9
9
|
|
|
10
10
|
#import <UIKit/UIKit.h>
|
|
11
11
|
// import RCTConvert
|
|
12
|
-
#if __has_include(<React/RCTConvert.h>)
|
|
13
12
|
#import <React/RCTConvert.h>
|
|
14
|
-
#elif __has_include("RCTConvert.h")
|
|
15
|
-
#import "RCTConvert.h"
|
|
16
|
-
#else
|
|
17
|
-
#import "React/RCTConvert.h" // Required when used as a Pod in a Swift project
|
|
18
|
-
#endif
|
|
19
13
|
// import RCTBridge
|
|
20
|
-
#if __has_include(<React/RCTBridge.h>)
|
|
21
14
|
#import <React/RCTBridge.h>
|
|
22
|
-
#elif __has_include("RCTBridge.h")
|
|
23
|
-
#import "RCTBridge.h"
|
|
24
|
-
#else
|
|
25
|
-
#import "React/RCTBridge.h" // Required when used as a Pod in a Swift project
|
|
26
|
-
#endif
|
|
27
15
|
// import RCTUIManager
|
|
28
|
-
#if __has_include(<React/RCTUIManager.h>)
|
|
29
16
|
#import <React/RCTUIManager.h>
|
|
30
|
-
#elif __has_include("RCTUIManager.h")
|
|
31
|
-
#import "RCTUIManager.h"
|
|
32
|
-
#else
|
|
33
|
-
#import "React/RCTUIManager.h" // Required when used as a Pod in a Swift project
|
|
34
|
-
#endif
|
|
35
17
|
// import RCTLog
|
|
36
|
-
#if __has_include(<React/RCTLog.h>)
|
|
37
18
|
#import <React/RCTLog.h>
|
|
38
|
-
#elif __has_include("RCTLog.h")
|
|
39
|
-
#import "RCTLog.h"
|
|
40
|
-
#else
|
|
41
|
-
#import "React/RCTLog.h" // Required when used as a Pod in a Swift project
|
|
42
|
-
#endif
|
|
43
19
|
// import RCTUtils
|
|
44
|
-
#if __has_include(<React/RCTUtils.h>)
|
|
45
20
|
#import <React/RCTUtils.h>
|
|
46
|
-
#elif __has_include("RCTUtils.h")
|
|
47
|
-
#import "RCTUtils.h"
|
|
48
|
-
#else
|
|
49
|
-
#import "React/RCTUtils.h" // Required when used as a Pod in a Swift project
|
|
50
|
-
#endif
|
|
51
21
|
@interface FacebookStories : NSObject <RCTBridgeModule>
|
|
52
22
|
|
|
53
23
|
- (void *) shareSingle:(NSDictionary *)options failureCallback:(RCTResponseErrorBlock)failureCallback successCallback:(RCTResponseSenderBlock)successCallback;
|
package/ios/FacebookStories.m
CHANGED
|
@@ -8,13 +8,7 @@
|
|
|
8
8
|
//
|
|
9
9
|
|
|
10
10
|
// import RCTLog
|
|
11
|
-
#if __has_include(<React/RCTLog.h>)
|
|
12
11
|
#import <React/RCTLog.h>
|
|
13
|
-
#elif __has_include("RCTLog.h")
|
|
14
|
-
#import "RCTLog.h"
|
|
15
|
-
#else
|
|
16
|
-
#import "React/RCTLog.h" // Required when used as a Pod in a Swift project
|
|
17
|
-
#endif
|
|
18
12
|
|
|
19
13
|
#import "FacebookStories.h"
|
|
20
14
|
|
package/ios/GenericShare.h
CHANGED
|
@@ -10,45 +10,15 @@
|
|
|
10
10
|
#import <Social/Social.h>
|
|
11
11
|
#import <UIKit/UIKit.h>
|
|
12
12
|
// import RCTConvert
|
|
13
|
-
#if __has_include(<React/RCTConvert.h>)
|
|
14
13
|
#import <React/RCTConvert.h>
|
|
15
|
-
#elif __has_include("RCTConvert.h")
|
|
16
|
-
#import "RCTConvert.h"
|
|
17
|
-
#else
|
|
18
|
-
#import "React/RCTConvert.h" // Required when used as a Pod in a Swift project
|
|
19
|
-
#endif
|
|
20
14
|
// import RCTBridge
|
|
21
|
-
#if __has_include(<React/RCTBridge.h>)
|
|
22
15
|
#import <React/RCTBridge.h>
|
|
23
|
-
#elif __has_include("RCTBridge.h")
|
|
24
|
-
#import "RCTBridge.h"
|
|
25
|
-
#else
|
|
26
|
-
#import "React/RCTBridge.h" // Required when used as a Pod in a Swift project
|
|
27
|
-
#endif
|
|
28
16
|
// import RCTUIManager
|
|
29
|
-
#if __has_include(<React/RCTUIManager.h>)
|
|
30
17
|
#import <React/RCTUIManager.h>
|
|
31
|
-
#elif __has_include("RCTUIManager.h")
|
|
32
|
-
#import "RCTUIManager.h"
|
|
33
|
-
#else
|
|
34
|
-
#import "React/RCTUIManager.h" // Required when used as a Pod in a Swift project
|
|
35
|
-
#endif
|
|
36
18
|
// import RCTLog
|
|
37
|
-
#if __has_include(<React/RCTLog.h>)
|
|
38
19
|
#import <React/RCTLog.h>
|
|
39
|
-
#elif __has_include("RCTLog.h")
|
|
40
|
-
#import "RCTLog.h"
|
|
41
|
-
#else
|
|
42
|
-
#import "React/RCTLog.h" // Required when used as a Pod in a Swift project
|
|
43
|
-
#endif
|
|
44
20
|
// import RCTUtils
|
|
45
|
-
#if __has_include(<React/RCTUtils.h>)
|
|
46
21
|
#import <React/RCTUtils.h>
|
|
47
|
-
#elif __has_include("RCTUtils.h")
|
|
48
|
-
#import "RCTUtils.h"
|
|
49
|
-
#else
|
|
50
|
-
#import "React/RCTUtils.h" // Required when used as a Pod in a Swift project
|
|
51
|
-
#endif
|
|
52
22
|
@interface GenericShare : NSObject <RCTBridgeModule>
|
|
53
23
|
|
|
54
24
|
- (void) shareSingle:(NSDictionary *)options failureCallback:(RCTResponseErrorBlock)failureCallback successCallback:(RCTResponseSenderBlock)successCallback serviceType:(NSString*)serviceType
|
package/ios/GooglePlusShare.h
CHANGED
|
@@ -7,45 +7,15 @@
|
|
|
7
7
|
//
|
|
8
8
|
#import <UIKit/UIKit.h>
|
|
9
9
|
// import RCTConvert
|
|
10
|
-
#if __has_include(<React/RCTConvert.h>)
|
|
11
10
|
#import <React/RCTConvert.h>
|
|
12
|
-
#elif __has_include("RCTConvert.h")
|
|
13
|
-
#import "RCTConvert.h"
|
|
14
|
-
#else
|
|
15
|
-
#import "React/RCTConvert.h" // Required when used as a Pod in a Swift project
|
|
16
|
-
#endif
|
|
17
11
|
// import RCTBridge
|
|
18
|
-
#if __has_include(<React/RCTBridge.h>)
|
|
19
12
|
#import <React/RCTBridge.h>
|
|
20
|
-
#elif __has_include("RCTBridge.h")
|
|
21
|
-
#import "RCTBridge.h"
|
|
22
|
-
#else
|
|
23
|
-
#import "React/RCTBridge.h" // Required when used as a Pod in a Swift project
|
|
24
|
-
#endif
|
|
25
13
|
// import RCTUIManager
|
|
26
|
-
#if __has_include(<React/RCTUIManager.h>)
|
|
27
14
|
#import <React/RCTUIManager.h>
|
|
28
|
-
#elif __has_include("RCTUIManager.h")
|
|
29
|
-
#import "RCTUIManager.h"
|
|
30
|
-
#else
|
|
31
|
-
#import "React/RCTUIManager.h" // Required when used as a Pod in a Swift project
|
|
32
|
-
#endif
|
|
33
15
|
// import RCTLog
|
|
34
|
-
#if __has_include(<React/RCTLog.h>)
|
|
35
16
|
#import <React/RCTLog.h>
|
|
36
|
-
#elif __has_include("RCTLog.h")
|
|
37
|
-
#import "RCTLog.h"
|
|
38
|
-
#else
|
|
39
|
-
#import "React/RCTLog.h" // Required when used as a Pod in a Swift project
|
|
40
|
-
#endif
|
|
41
17
|
// import RCTUtils
|
|
42
|
-
#if __has_include(<React/RCTUtils.h>)
|
|
43
18
|
#import <React/RCTUtils.h>
|
|
44
|
-
#elif __has_include("RCTUtils.h")
|
|
45
|
-
#import "RCTUtils.h"
|
|
46
|
-
#else
|
|
47
|
-
#import "React/RCTUtils.h" // Required when used as a Pod in a Swift project
|
|
48
|
-
#endif
|
|
49
19
|
@interface GooglePlusShare : NSObject <RCTBridgeModule>
|
|
50
20
|
|
|
51
21
|
- (void) shareSingle:(NSDictionary *)options failureCallback:(RCTResponseErrorBlock)failureCallback successCallback:(RCTResponseSenderBlock)successCallback;
|
package/ios/InstagramShare.h
CHANGED
|
@@ -7,45 +7,15 @@
|
|
|
7
7
|
|
|
8
8
|
#import <UIKit/UIKit.h>
|
|
9
9
|
// import RCTConvert
|
|
10
|
-
#if __has_include(<React/RCTConvert.h>)
|
|
11
10
|
#import <React/RCTConvert.h>
|
|
12
|
-
#elif __has_include("RCTConvert.h")
|
|
13
|
-
#import "RCTConvert.h"
|
|
14
|
-
#else
|
|
15
|
-
#import "React/RCTConvert.h" // Required when used as a Pod in a Swift project
|
|
16
|
-
#endif
|
|
17
11
|
// import RCTBridge
|
|
18
|
-
#if __has_include(<React/RCTBridge.h>)
|
|
19
12
|
#import <React/RCTBridge.h>
|
|
20
|
-
#elif __has_include("RCTBridge.h")
|
|
21
|
-
#import "RCTBridge.h"
|
|
22
|
-
#else
|
|
23
|
-
#import "React/RCTBridge.h" // Required when used as a Pod in a Swift project
|
|
24
|
-
#endif
|
|
25
13
|
// import RCTUIManager
|
|
26
|
-
#if __has_include(<React/RCTUIManager.h>)
|
|
27
14
|
#import <React/RCTUIManager.h>
|
|
28
|
-
#elif __has_include("RCTUIManager.h")
|
|
29
|
-
#import "RCTUIManager.h"
|
|
30
|
-
#else
|
|
31
|
-
#import "React/RCTUIManager.h" // Required when used as a Pod in a Swift project
|
|
32
|
-
#endif
|
|
33
15
|
// import RCTLog
|
|
34
|
-
#if __has_include(<React/RCTLog.h>)
|
|
35
16
|
#import <React/RCTLog.h>
|
|
36
|
-
#elif __has_include("RCTLog.h")
|
|
37
|
-
#import "RCTLog.h"
|
|
38
|
-
#else
|
|
39
|
-
#import "React/RCTLog.h" // Required when used as a Pod in a Swift project
|
|
40
|
-
#endif
|
|
41
17
|
// import RCTUtils
|
|
42
|
-
#if __has_include(<React/RCTUtils.h>)
|
|
43
18
|
#import <React/RCTUtils.h>
|
|
44
|
-
#elif __has_include("RCTUtils.h")
|
|
45
|
-
#import "RCTUtils.h"
|
|
46
|
-
#else
|
|
47
|
-
#import "React/RCTUtils.h" // Required when used as a Pod in a Swift project
|
|
48
|
-
#endif
|
|
49
19
|
@interface InstagramShare : NSObject <RCTBridgeModule>
|
|
50
20
|
|
|
51
21
|
- (void) shareSingle:(NSDictionary *)options failureCallback:(RCTResponseErrorBlock)failureCallback successCallback:(RCTResponseSenderBlock)successCallback;
|
package/ios/InstagramStories.h
CHANGED
|
@@ -8,45 +8,15 @@
|
|
|
8
8
|
|
|
9
9
|
#import <UIKit/UIKit.h>
|
|
10
10
|
// import RCTConvert
|
|
11
|
-
#if __has_include(<React/RCTConvert.h>)
|
|
12
11
|
#import <React/RCTConvert.h>
|
|
13
|
-
#elif __has_include("RCTConvert.h")
|
|
14
|
-
#import "RCTConvert.h"
|
|
15
|
-
#else
|
|
16
|
-
#import "React/RCTConvert.h" // Required when used as a Pod in a Swift project
|
|
17
|
-
#endif
|
|
18
12
|
// import RCTBridge
|
|
19
|
-
#if __has_include(<React/RCTBridge.h>)
|
|
20
13
|
#import <React/RCTBridge.h>
|
|
21
|
-
#elif __has_include("RCTBridge.h")
|
|
22
|
-
#import "RCTBridge.h"
|
|
23
|
-
#else
|
|
24
|
-
#import "React/RCTBridge.h" // Required when used as a Pod in a Swift project
|
|
25
|
-
#endif
|
|
26
14
|
// import RCTUIManager
|
|
27
|
-
#if __has_include(<React/RCTUIManager.h>)
|
|
28
15
|
#import <React/RCTUIManager.h>
|
|
29
|
-
#elif __has_include("RCTUIManager.h")
|
|
30
|
-
#import "RCTUIManager.h"
|
|
31
|
-
#else
|
|
32
|
-
#import "React/RCTUIManager.h" // Required when used as a Pod in a Swift project
|
|
33
|
-
#endif
|
|
34
16
|
// import RCTLog
|
|
35
|
-
#if __has_include(<React/RCTLog.h>)
|
|
36
17
|
#import <React/RCTLog.h>
|
|
37
|
-
#elif __has_include("RCTLog.h")
|
|
38
|
-
#import "RCTLog.h"
|
|
39
|
-
#else
|
|
40
|
-
#import "React/RCTLog.h" // Required when used as a Pod in a Swift project
|
|
41
|
-
#endif
|
|
42
18
|
// import RCTUtils
|
|
43
|
-
#if __has_include(<React/RCTUtils.h>)
|
|
44
19
|
#import <React/RCTUtils.h>
|
|
45
|
-
#elif __has_include("RCTUtils.h")
|
|
46
|
-
#import "RCTUtils.h"
|
|
47
|
-
#else
|
|
48
|
-
#import "React/RCTUtils.h" // Required when used as a Pod in a Swift project
|
|
49
|
-
#endif
|
|
50
20
|
@interface InstagramStories : NSObject <RCTBridgeModule>
|
|
51
21
|
|
|
52
22
|
- (void *) shareSingle:(NSDictionary *)options failureCallback:(RCTResponseErrorBlock)failureCallback successCallback:(RCTResponseSenderBlock)successCallback;
|
package/ios/InstagramStories.m
CHANGED
|
@@ -7,13 +7,7 @@
|
|
|
7
7
|
//
|
|
8
8
|
|
|
9
9
|
// import RCTLog
|
|
10
|
-
#if __has_include(<React/RCTLog.h>)
|
|
11
10
|
#import <React/RCTLog.h>
|
|
12
|
-
#elif __has_include("RCTLog.h")
|
|
13
|
-
#import "RCTLog.h"
|
|
14
|
-
#else
|
|
15
|
-
#import "React/RCTLog.h" // Required when used as a Pod in a Swift project
|
|
16
|
-
#endif
|
|
17
11
|
|
|
18
12
|
#import "InstagramStories.h"
|
|
19
13
|
|
package/ios/RNShare.h
CHANGED
|
@@ -1,12 +1,6 @@
|
|
|
1
1
|
@import UIKit;
|
|
2
2
|
// import RCTBridgeModule
|
|
3
|
-
#if __has_include(<React/RCTBridgeModule.h>)
|
|
4
3
|
#import <React/RCTBridgeModule.h>
|
|
5
|
-
#elif __has_include("RCTBridgeModule.h")
|
|
6
|
-
#import "RCTBridgeModule.h"
|
|
7
|
-
#else
|
|
8
|
-
#import "React/RCTBridgeModule.h" // Required when used as a Pod in a Swift project
|
|
9
|
-
#endif
|
|
10
4
|
|
|
11
5
|
@interface RNShare : NSObject <RCTBridgeModule, UIDocumentPickerDelegate>
|
|
12
6
|
|
package/ios/RNShare.m
CHANGED
|
@@ -1,45 +1,15 @@
|
|
|
1
1
|
#import <MessageUI/MessageUI.h>
|
|
2
2
|
#import "RNShare.h"
|
|
3
3
|
// import RCTConvert
|
|
4
|
-
#if __has_include(<React/RCTConvert.h>)
|
|
5
4
|
#import <React/RCTConvert.h>
|
|
6
|
-
#elif __has_include("RCTConvert.h")
|
|
7
|
-
#import "RCTConvert.h"
|
|
8
|
-
#else
|
|
9
|
-
#import "React/RCTConvert.h" // Required when used as a Pod in a Swift project
|
|
10
|
-
#endif
|
|
11
5
|
// import RCTLog
|
|
12
|
-
#if __has_include(<React/RCTLog.h>)
|
|
13
6
|
#import <React/RCTLog.h>
|
|
14
|
-
#elif __has_include("RCTLog.h")
|
|
15
|
-
#import "RCTLog.h"
|
|
16
|
-
#else
|
|
17
|
-
#import "React/RCTLog.h" // Required when used as a Pod in a Swift project
|
|
18
|
-
#endif
|
|
19
7
|
// import RCTUtils
|
|
20
|
-
#if __has_include(<React/RCTUtils.h>)
|
|
21
8
|
#import <React/RCTUtils.h>
|
|
22
|
-
#elif __has_include("RCTUtils.h")
|
|
23
|
-
#import "RCTUtils.h"
|
|
24
|
-
#else
|
|
25
|
-
#import "React/RCTUtils.h" // Required when used as a Pod in a Swift project
|
|
26
|
-
#endif
|
|
27
9
|
// import RCTBridge
|
|
28
|
-
#if __has_include(<React/RCTBridge.h>)
|
|
29
10
|
#import <React/RCTBridge.h>
|
|
30
|
-
#elif __has_include("RCTBridge.h")
|
|
31
|
-
#import "RCTBridge.h"
|
|
32
|
-
#else
|
|
33
|
-
#import "React/RCTBridge.h" // Required when used as a Pod in a Swift project
|
|
34
|
-
#endif
|
|
35
11
|
// import RCTBridge
|
|
36
|
-
#if __has_include(<React/RCTUIManager.h>)
|
|
37
12
|
#import <React/RCTUIManager.h>
|
|
38
|
-
#elif __has_include("RCTUIManager.h")
|
|
39
|
-
#import "RCTUIManager.h"
|
|
40
|
-
#else
|
|
41
|
-
#import "React/RCTUIManager.h" // Required when used as a Pod in a Swift project
|
|
42
|
-
#endif
|
|
43
13
|
#import "GenericShare.h"
|
|
44
14
|
#import "WhatsAppShare.h"
|
|
45
15
|
#import "InstagramShare.h"
|
|
@@ -48,6 +18,7 @@
|
|
|
48
18
|
#import "GooglePlusShare.h"
|
|
49
19
|
#import "EmailShare.h"
|
|
50
20
|
#import "TelegramShare.h"
|
|
21
|
+
#import "ViberShare.h"
|
|
51
22
|
#import "RNShareActivityItemSource.h"
|
|
52
23
|
#import "RNShareUtils.h"
|
|
53
24
|
|
|
@@ -113,6 +84,7 @@ RCT_EXPORT_MODULE()
|
|
|
113
84
|
@"INSTAGRAMSTORIES": @"instagramstories",
|
|
114
85
|
@"TELEGRAM": @"telegram",
|
|
115
86
|
@"EMAIL": @"email",
|
|
87
|
+
@"VIBER": @"viber",
|
|
116
88
|
|
|
117
89
|
@"SHARE_BACKGROUND_IMAGE": @"shareBackgroundImage",
|
|
118
90
|
@"SHARE_BACKGROUND_VIDEO": @"shareBackgroundVideo",
|
|
@@ -173,7 +145,11 @@ RCT_EXPORT_METHOD(shareSingle:(NSDictionary *)options
|
|
|
173
145
|
} else if([social isEqualToString:@"email"]) {
|
|
174
146
|
NSLog(@"TRY OPEN email");
|
|
175
147
|
[shareCtl shareSingle:options failureCallback: failureCallback successCallback: successCallback];
|
|
176
|
-
}
|
|
148
|
+
} else if([social isEqualToString:@"viber"]) {
|
|
149
|
+
NSLog(@"TRY OPEN viber");
|
|
150
|
+
ViberShare *shareCtl = [[ViberShare alloc] init];
|
|
151
|
+
[shareCtl shareSingle:options failureCallback: failureCallback successCallback: successCallback];
|
|
152
|
+
}
|
|
177
153
|
} else {
|
|
178
154
|
RCTLogError(@"key 'social' missing in options");
|
|
179
155
|
return;
|
|
@@ -5,22 +5,10 @@
|
|
|
5
5
|
#endif
|
|
6
6
|
|
|
7
7
|
// import RCTBridgeModule
|
|
8
|
-
#if __has_include(<React/RCTBridgeModule.h>)
|
|
9
8
|
#import <React/RCTBridgeModule.h>
|
|
10
|
-
#elif __has_include("RCTBridgeModule.h")
|
|
11
|
-
#import "RCTBridgeModule.h"
|
|
12
|
-
#else
|
|
13
|
-
#import "React/RCTBridgeModule.h" // Required when used as a Pod in a Swift project
|
|
14
|
-
#endif
|
|
15
9
|
|
|
16
10
|
// import RCTConvert
|
|
17
|
-
#if __has_include(<React/RCTConvert.h>)
|
|
18
11
|
#import <React/RCTConvert.h>
|
|
19
|
-
#elif __has_include("RCTConvert.h")
|
|
20
|
-
#import "RCTConvert.h"
|
|
21
|
-
#else
|
|
22
|
-
#import "React/RCTConvert.h" // Required when used as a Pod in a Swift project
|
|
23
|
-
#endif
|
|
24
12
|
|
|
25
13
|
@implementation RNShareActivityItemSource {
|
|
26
14
|
id placeholderItem;
|
package/ios/TelegramShare.h
CHANGED
|
@@ -7,45 +7,15 @@
|
|
|
7
7
|
|
|
8
8
|
#import <UIKit/UIKit.h>
|
|
9
9
|
// import RCTConvert
|
|
10
|
-
#if __has_include(<React/RCTConvert.h>)
|
|
11
10
|
#import <React/RCTConvert.h>
|
|
12
|
-
#elif __has_include("RCTConvert.h")
|
|
13
|
-
#import "RCTConvert.h"
|
|
14
|
-
#else
|
|
15
|
-
#import "React/RCTConvert.h" // Required when used as a Pod in a Swift project
|
|
16
|
-
#endif
|
|
17
11
|
// import RCTBridge
|
|
18
|
-
#if __has_include(<React/RCTBridge.h>)
|
|
19
12
|
#import <React/RCTBridge.h>
|
|
20
|
-
#elif __has_include("RCTBridge.h")
|
|
21
|
-
#import "RCTBridge.h"
|
|
22
|
-
#else
|
|
23
|
-
#import "React/RCTBridge.h" // Required when used as a Pod in a Swift project
|
|
24
|
-
#endif
|
|
25
13
|
// import RCTUIManager
|
|
26
|
-
#if __has_include(<React/RCTUIManager.h>)
|
|
27
14
|
#import <React/RCTUIManager.h>
|
|
28
|
-
#elif __has_include("RCTUIManager.h")
|
|
29
|
-
#import "RCTUIManager.h"
|
|
30
|
-
#else
|
|
31
|
-
#import "React/RCTUIManager.h" // Required when used as a Pod in a Swift project
|
|
32
|
-
#endif
|
|
33
15
|
// import RCTLog
|
|
34
|
-
#if __has_include(<React/RCTLog.h>)
|
|
35
16
|
#import <React/RCTLog.h>
|
|
36
|
-
#elif __has_include("RCTLog.h")
|
|
37
|
-
#import "RCTLog.h"
|
|
38
|
-
#else
|
|
39
|
-
#import "React/RCTLog.h" // Required when used as a Pod in a Swift project
|
|
40
|
-
#endif
|
|
41
17
|
// import RCTUtils
|
|
42
|
-
#if __has_include(<React/RCTUtils.h>)
|
|
43
18
|
#import <React/RCTUtils.h>
|
|
44
|
-
#elif __has_include("RCTUtils.h")
|
|
45
|
-
#import "RCTUtils.h"
|
|
46
|
-
#else
|
|
47
|
-
#import "React/RCTUtils.h" // Required when used as a Pod in a Swift project
|
|
48
|
-
#endif
|
|
49
19
|
@interface TelegramShare : NSObject <RCTBridgeModule>
|
|
50
20
|
|
|
51
21
|
- (void) shareSingle:(NSDictionary *)options failureCallback:(RCTResponseErrorBlock)failureCallback successCallback:(RCTResponseSenderBlock)successCallback;
|
package/ios/ViberShare.h
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
//
|
|
2
|
+
// TelegranShare.h
|
|
3
|
+
// RNShare
|
|
4
|
+
//
|
|
5
|
+
|
|
6
|
+
#import <UIKit/UIKit.h>
|
|
7
|
+
// import RCTConvert
|
|
8
|
+
#import <React/RCTConvert.h>
|
|
9
|
+
// import RCTBridge
|
|
10
|
+
#import <React/RCTBridge.h>
|
|
11
|
+
// import RCTUIManager
|
|
12
|
+
#import <React/RCTUIManager.h>
|
|
13
|
+
// import RCTLog
|
|
14
|
+
#import <React/RCTLog.h>
|
|
15
|
+
// import RCTUtils
|
|
16
|
+
#import <React/RCTUtils.h>
|
|
17
|
+
@interface ViberShare : NSObject <RCTBridgeModule>
|
|
18
|
+
|
|
19
|
+
- (void) shareSingle:(NSDictionary *)options failureCallback:(RCTResponseErrorBlock)failureCallback successCallback:(RCTResponseSenderBlock)successCallback;
|
|
20
|
+
|
|
21
|
+
@end
|
package/ios/ViberShare.m
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
//
|
|
2
|
+
// ViberShare.m.m
|
|
3
|
+
// RNShare
|
|
4
|
+
//
|
|
5
|
+
|
|
6
|
+
#import "ViberShare.h"
|
|
7
|
+
#import <AVFoundation/AVFoundation.h>
|
|
8
|
+
@import Photos;
|
|
9
|
+
|
|
10
|
+
@implementation ViberShare
|
|
11
|
+
RCT_EXPORT_MODULE();
|
|
12
|
+
- (void)shareSingle:(NSDictionary *)options
|
|
13
|
+
failureCallback:(RCTResponseErrorBlock)failureCallback
|
|
14
|
+
successCallback:(RCTResponseSenderBlock)successCallback {
|
|
15
|
+
|
|
16
|
+
NSString *text = [RCTConvert NSString:options[@"message"]];
|
|
17
|
+
text = (NSString*)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(NULL,(CFStringRef) text, NULL,CFSTR("!*'();:@&=+$,/?%#[]"),kCFStringEncodingUTF8));
|
|
18
|
+
|
|
19
|
+
NSString *url = [RCTConvert NSString:options[@"url"]];
|
|
20
|
+
|
|
21
|
+
NSString *viberMsg = [NSString stringWithFormat:@"viber://forward?text=%@", text];
|
|
22
|
+
NSString *viberMsgUrl = [NSString stringWithFormat:@"viber://forward?text=%@ %@", text, url];
|
|
23
|
+
|
|
24
|
+
NSString * urlViber = url ? viberMsgUrl : viberMsg;
|
|
25
|
+
NSURL * shareURL = [NSURL URLWithString:urlViber];
|
|
26
|
+
|
|
27
|
+
if ([[UIApplication sharedApplication] canOpenURL: shareURL]) {
|
|
28
|
+
[[UIApplication sharedApplication] openURL: shareURL];
|
|
29
|
+
successCallback(@[]);
|
|
30
|
+
} else {
|
|
31
|
+
// Cannot open viber
|
|
32
|
+
NSString *stringURL = @"https://apps.apple.com/app/viber-messenger-chats-calls/id382617920";
|
|
33
|
+
NSURL *url = [NSURL URLWithString:stringURL];
|
|
34
|
+
|
|
35
|
+
[[UIApplication sharedApplication] openURL:url options:@{} completionHandler:^(BOOL success) {}];
|
|
36
|
+
|
|
37
|
+
NSString *errorMessage = @"Not installed";
|
|
38
|
+
NSDictionary *userInfo = @{NSLocalizedFailureReasonErrorKey: NSLocalizedString(errorMessage, nil)};
|
|
39
|
+
NSError *error = [NSError errorWithDomain:@"com.rnshare" code:1 userInfo:userInfo];
|
|
40
|
+
|
|
41
|
+
NSLog(@"%@", errorMessage);
|
|
42
|
+
failureCallback(error);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
@end
|
package/ios/WhatsAppShare.h
CHANGED
|
@@ -8,45 +8,15 @@
|
|
|
8
8
|
|
|
9
9
|
#import <UIKit/UIKit.h>
|
|
10
10
|
// import RCTConvert
|
|
11
|
-
#if __has_include(<React/RCTConvert.h>)
|
|
12
11
|
#import <React/RCTConvert.h>
|
|
13
|
-
#elif __has_include("RCTConvert.h")
|
|
14
|
-
#import "RCTConvert.h"
|
|
15
|
-
#else
|
|
16
|
-
#import "React/RCTConvert.h" // Required when used as a Pod in a Swift project
|
|
17
|
-
#endif
|
|
18
12
|
// import RCTBridge
|
|
19
|
-
#if __has_include(<React/RCTBridge.h>)
|
|
20
13
|
#import <React/RCTBridge.h>
|
|
21
|
-
#elif __has_include("RCTBridge.h")
|
|
22
|
-
#import "RCTBridge.h"
|
|
23
|
-
#else
|
|
24
|
-
#import "React/RCTBridge.h" // Required when used as a Pod in a Swift project
|
|
25
|
-
#endif
|
|
26
14
|
// import RCTUIManager
|
|
27
|
-
#if __has_include(<React/RCTUIManager.h>)
|
|
28
15
|
#import <React/RCTUIManager.h>
|
|
29
|
-
#elif __has_include("RCTUIManager.h")
|
|
30
|
-
#import "RCTUIManager.h"
|
|
31
|
-
#else
|
|
32
|
-
#import "React/RCTUIManager.h" // Required when used as a Pod in a Swift project
|
|
33
|
-
#endif
|
|
34
16
|
// import RCTLog
|
|
35
|
-
#if __has_include(<React/RCTLog.h>)
|
|
36
17
|
#import <React/RCTLog.h>
|
|
37
|
-
#elif __has_include("RCTLog.h")
|
|
38
|
-
#import "RCTLog.h"
|
|
39
|
-
#else
|
|
40
|
-
#import "React/RCTLog.h" // Required when used as a Pod in a Swift project
|
|
41
|
-
#endif
|
|
42
18
|
// import RCTUtils
|
|
43
|
-
#if __has_include(<React/RCTUtils.h>)
|
|
44
19
|
#import <React/RCTUtils.h>
|
|
45
|
-
#elif __has_include("RCTUtils.h")
|
|
46
|
-
#import "RCTUtils.h"
|
|
47
|
-
#else
|
|
48
|
-
#import "React/RCTUtils.h" // Required when used as a Pod in a Swift project
|
|
49
|
-
#endif
|
|
50
20
|
@interface WhatsAppShare : NSObject <RCTBridgeModule,UIDocumentInteractionControllerDelegate>
|
|
51
21
|
|
|
52
22
|
- (void) shareSingle:(NSDictionary *)options failureCallback:(RCTResponseErrorBlock)failureCallback successCallback:(RCTResponseSenderBlock)successCallback;
|
package/lib/commonjs/index.js
CHANGED
|
@@ -78,7 +78,8 @@ const RNShare = {
|
|
|
78
78
|
SMS: _reactNative.NativeModules.RNShare.SMS || _types.Social.Sms,
|
|
79
79
|
TELEGRAM: _reactNative.NativeModules.RNShare.TELEGRAM || _types.Social.Telegram,
|
|
80
80
|
MESSENGER: _reactNative.NativeModules.RNShare.MESSENGER || _types.Social.Messenger,
|
|
81
|
-
SNAPCHAT: _reactNative.NativeModules.RNShare.SNAPCHAT || _types.Social.Snapchat
|
|
81
|
+
SNAPCHAT: _reactNative.NativeModules.RNShare.SNAPCHAT || _types.Social.Snapchat,
|
|
82
|
+
VIBER: _reactNative.NativeModules.RNShare.VIBER || _types.Social.Viber
|
|
82
83
|
},
|
|
83
84
|
|
|
84
85
|
open(options) {
|
|
@@ -124,6 +125,10 @@ const RNShare = {
|
|
|
124
125
|
if (_reactNative.Platform.OS === 'ios' || _reactNative.Platform.OS === 'android') {
|
|
125
126
|
return new Promise((resolve, reject) => {
|
|
126
127
|
(0, _requireAndAskPermissions.default)(options).then(() => {
|
|
128
|
+
if (options.url) {
|
|
129
|
+
options.urls = [options.url];
|
|
130
|
+
}
|
|
131
|
+
|
|
127
132
|
_reactNative.NativeModules.RNShare.shareSingle(options, error => {
|
|
128
133
|
return reject({
|
|
129
134
|
error
|
|
@@ -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","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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAWA,MAAMA,OAAO,GAAG;AACdC,EAAAA,MAAM,EAANA,eADc;AAEdC,EAAAA,UAAU,EAAVA,mBAFc;AAGdC,EAAAA,OAAO,EAAPA,gBAHc;AAIdC,EAAAA,KAAK,EAALA,cAJc;AAMdC,EAAAA,MAAM,EAAE;AACNC,IAAAA,QAAQ,EAAEC,2BAAcP,OAAd,CAAsBM,QAAtB,IAAkCD,cAAOG,QAD7C;AAENC,IAAAA,gBAAgB,EAAEF,2BAAcP,OAAd,CAAsBU,eAAtB,IAAyCL,cAAOM,eAF5D;AAGNC,IAAAA,YAAY,EAAEL,2BAAcP,OAAd,CAAsBY,YAAtB,IAAsCP,cAAOQ,YAHrD;AAINC,IAAAA,OAAO,EAAEP,2BAAcP,OAAd,CAAsBc,OAAtB,IAAiCT,cAAOU,OAJ3C;AAKNC,IAAAA,QAAQ,EAAET,2BAAcP,OAAd,CAAsBgB,QAAtB,IAAkCX,cAAOY,QAL7C;AAMNC,IAAAA,gBAAgB,EAAEX,2BAAcP,OAAd,CAAsBkB,gBAAtB,IAA0Cb,cAAOc,gBAN7D;AAONC,IAAAA,SAAS,EAAEb,2BAAcP,OAAd,CAAsBoB,SAAtB,IAAmCf,cAAOgB,SAP/C;AAQNC,IAAAA,iBAAiB,EAAEf,2BAAcP,OAAd,CAAsBuB,gBAAtB,IAA0ClB,cAAOmB,gBAR9D;AASNC,IAAAA,UAAU,EAAElB,2BAAcP,OAAd,CAAsByB,UAAtB,IAAoCpB,cAAOqB,UATjD;AAUNC,IAAAA,KAAK,EAAEpB,2BAAcP,OAAd,CAAsB2B,KAAtB,IAA+BtB,cAAOuB,KAVvC;AAWNC,IAAAA,SAAS,EAAEtB,2BAAcP,OAAd,CAAsB6B,SAAtB,IAAmCxB,cAAOyB,SAX/C;AAYNC,IAAAA,QAAQ,EAAExB,2BAAcP,OAAd,CAAsB+B,QAAtB,IAAkC1B,cAAO2B,QAZ7C;AAaNC,IAAAA,GAAG,EAAE1B,2BAAcP,OAAd,CAAsBiC,GAAtB,IAA6B5B,cAAO6B,GAbnC;AAcNC,IAAAA,QAAQ,EAAE5B,2BAAcP,OAAd,CAAsBmC,QAAtB,IAAkC9B,cAAO+B,QAd7C;AAeNC,IAAAA,SAAS,EAAE9B,2BAAcP,OAAd,CAAsBqC,SAAtB,IAAmChC,cAAOiC,SAf/C;AAgBNC,IAAAA,QAAQ,EAAEhC,2BAAcP,OAAd,CAAsBuC,QAAtB,IAAkClC,cAAOmC;
|
|
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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","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"]}
|
package/lib/commonjs/types.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["types.ts"],"names":["Social","ShareAsset"],"mappings":";;;;;;IAAYA,M;;;WAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;GAAAA,M,sBAAAA,M;;
|
|
1
|
+
{"version":3,"sources":["types.ts"],"names":["Social","ShareAsset"],"mappings":";;;;;;IAAYA,M;;;WAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;GAAAA,M,sBAAAA,M;;IAoBAC,U;;;WAAAA,U;AAAAA,EAAAA,U;AAAAA,EAAAA,U;AAAAA,EAAAA,U;AAAAA,EAAAA,U;GAAAA,U,0BAAAA,U","sourcesContent":["export enum Social {\n Facebook = 'facebook',\n FacebookStories = 'facebookstories',\n Pagesmanager = 'pagesmanager',\n Twitter = 'twitter',\n Whatsapp = 'whatsapp',\n Whatsappbusiness = 'whatsappbusiness',\n Instagram = 'instagram',\n InstagramStories = 'instagramstories',\n Googleplus = 'googleplus',\n Email = 'email',\n Pinterest = 'pinterest',\n Linkedin = 'linkedin',\n Sms = 'sms',\n Telegram = 'telegram',\n Snapchat = 'snapchat',\n Messenger = 'messenger',\n Viber = 'viber',\n}\n\nexport enum ShareAsset {\n BackgroundImage = 'shareBackgroundImage',\n BackgroundVideo = 'shareBackgroundVideo',\n StickerImage = 'shareStickerImage',\n BackgroundAndStickerImage = 'shareBackgroundAndStickerImage',\n}\n\nexport interface LinkMetadata {\n originalUrl?: string;\n url?: string;\n title?: string;\n icon?: string;\n image?: string;\n remoteVideoUrl?: string;\n video?: string;\n}\n\nexport interface ActivityItem {\n type: 'text' | 'url';\n content: string;\n}\n\nexport interface ActivityItemSource {\n placeholderItem: ActivityItem;\n item: { [key in ActivityType]?: ActivityItem | null | undefined };\n subject?: { [key in ActivityType]?: string };\n dataTypeIdentifier?: { [key in ActivityType]?: string };\n thumbnailImage?: { [key in ActivityType]?: string };\n linkMetadata?: LinkMetadata;\n}\n\ninterface BaseShareSingleOptions {\n urls?: string[];\n url?: string;\n type?: string;\n filename?: string;\n message?: string;\n title?: string;\n subject?: string;\n email?: string;\n recipient?: string;\n social: Exclude<Social, Social.FacebookStories | Social.InstagramStories>;\n forceDialog?: boolean;\n}\n\ninterface BaseSocialStoriesShareSingleOptions extends Omit<BaseShareSingleOptions, 'social'> {\n backgroundImage?: string;\n stickerImage?: string;\n backgroundBottomColor?: string;\n backgroundTopColor?: string;\n attributionURL?: string;\n backgroundVideo?: string;\n}\n\nexport interface InstagramStoriesShareSingleOptions extends BaseSocialStoriesShareSingleOptions {\n social: Social.InstagramStories;\n}\n\nexport interface FacebookStoriesShareSingleOptions extends BaseSocialStoriesShareSingleOptions {\n social: Social.FacebookStories;\n method: Exclude<ShareAsset, ShareAsset.BackgroundVideo>;\n appId: string;\n}\n\nexport type ShareSingleOptions =\n | BaseShareSingleOptions\n | InstagramStoriesShareSingleOptions\n | FacebookStoriesShareSingleOptions;\n\nexport interface ShareOptions {\n message?: string;\n title?: string;\n url?: string;\n urls?: string[];\n type?: string;\n subject?: string;\n email?: string;\n recipient?: string;\n excludedActivityTypes?: ActivityType[];\n failOnCancel?: boolean;\n showAppsToView?: boolean;\n filename?: string;\n filenames?: string[];\n saveToFiles?: boolean;\n activityItemSources?: ActivityItemSource[];\n isNewTask?: boolean;\n}\n\nexport type ActivityType =\n | 'default'\n | 'addToReadingList'\n | 'airDrop'\n | 'assignToContact'\n | 'copyToPasteBoard'\n | 'mail'\n | 'message'\n | 'openInIBooks' // iOS 9 or later\n | 'postToFacebook'\n | 'postToFlickr'\n | 'postToTencentWeibo'\n | 'postToTwitter'\n | 'postToVimeo'\n | 'postToWeibo'\n | 'print'\n | 'saveToCameraRoll'\n | 'markupAsPDF'; // iOS 11 or late\n\nexport interface ShareSingleResult {\n message: string;\n success: boolean;\n}\n\nexport interface ShareOpenResult extends ShareSingleResult {\n dismissedAction?: boolean;\n}\nexport interface IsPackageInstalledResult {\n message: string;\n isInstalled: boolean;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["react-native.d.ts"],"names":[],"mappings":";;AAAA","sourcesContent":["import 'react-native';\n\nimport { ShareAsset, ShareSingleOptions, ShareOptions, Social } from '../types';\n\ndeclare module 'react-native' {\n export interface RNShare {\n FACEBOOK: Social.Facebook;\n FACEBOOKSTORIES: Social.FacebookStories;\n PAGESMANAGER: Social.Pagesmanager;\n TWITTER: Social.Twitter;\n WHATSAPP: Social.Whatsapp;\n WHATSAPPBUSINESS: Social.Whatsappbusiness;\n INSTAGRAM: Social.Instagram;\n INSTAGRAMSTORIES: Social.InstagramStories;\n GOOGLEPLUS: Social.Googleplus;\n EMAIL: Social.Email;\n PINTEREST: Social.Pinterest;\n LINKEDIN: Social.Linkedin;\n SMS: Social.Sms;\n TELEGRAM: Social.Telegram;\n SNAPCHAT: Social.Snapchat;\n MESSENGER: Social.Messenger;\n\n SHARE_BACKGROUND_IMAGE: ShareAsset.BackgroundImage;\n SHARE_BACKGROUND_VIDEO: ShareAsset.BackgroundVideo;\n SHARE_STICKER_IMAGE: ShareAsset.StickerImage;\n SHARE_BACKGROUND_AND_STICKER_IMAGE: ShareAsset.BackgroundAndStickerImage;\n\n open(\n options: ShareOptions,\n errorCallback: (error: string) => void,\n successCallback: (success: boolean, message: string) => void,\n ): Promise<void>;\n\n shareSingle(\n options: ShareSingleOptions,\n errorCallback: (error: string) => void,\n successCallback: (success: boolean, message: string) => void,\n ): Promise<void>;\n\n isPackageInstalled(\n packageName: string,\n errorCallback: (error: string) => void,\n successCallback: (isInstalled: boolean) => void,\n ): Promise<void>;\n\n isBase64File(\n url: string,\n errorCallback: (error: string) => void,\n successCallback: (isBase64: boolean) => void,\n ): Promise<void>;\n }\n\n interface NativeModulesStatic {\n RNShare: RNShare;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["react-native.d.ts"],"names":[],"mappings":";;AAAA","sourcesContent":["import 'react-native';\n\nimport { ShareAsset, ShareSingleOptions, ShareOptions, Social } from '../types';\n\ndeclare module 'react-native' {\n export interface RNShare {\n FACEBOOK: Social.Facebook;\n FACEBOOKSTORIES: Social.FacebookStories;\n PAGESMANAGER: Social.Pagesmanager;\n TWITTER: Social.Twitter;\n WHATSAPP: Social.Whatsapp;\n WHATSAPPBUSINESS: Social.Whatsappbusiness;\n INSTAGRAM: Social.Instagram;\n INSTAGRAMSTORIES: Social.InstagramStories;\n GOOGLEPLUS: Social.Googleplus;\n EMAIL: Social.Email;\n PINTEREST: Social.Pinterest;\n LINKEDIN: Social.Linkedin;\n SMS: Social.Sms;\n TELEGRAM: Social.Telegram;\n SNAPCHAT: Social.Snapchat;\n MESSENGER: Social.Messenger;\n VIBER: Social.Viber;\n\n SHARE_BACKGROUND_IMAGE: ShareAsset.BackgroundImage;\n SHARE_BACKGROUND_VIDEO: ShareAsset.BackgroundVideo;\n SHARE_STICKER_IMAGE: ShareAsset.StickerImage;\n SHARE_BACKGROUND_AND_STICKER_IMAGE: ShareAsset.BackgroundAndStickerImage;\n\n open(\n options: ShareOptions,\n errorCallback: (error: string) => void,\n successCallback: (success: boolean, message: string) => void,\n ): Promise<void>;\n\n shareSingle(\n options: ShareSingleOptions,\n errorCallback: (error: string) => void,\n successCallback: (success: boolean, message: string) => void,\n ): Promise<void>;\n\n isPackageInstalled(\n packageName: string,\n errorCallback: (error: string) => void,\n successCallback: (isInstalled: boolean) => void,\n ): Promise<void>;\n\n isBase64File(\n url: string,\n errorCallback: (error: string) => void,\n successCallback: (isBase64: boolean) => void,\n ): Promise<void>;\n }\n\n interface NativeModulesStatic {\n RNShare: RNShare;\n }\n}\n"]}
|
package/lib/module/index.js
CHANGED
|
@@ -26,7 +26,8 @@ const RNShare = {
|
|
|
26
26
|
SMS: NativeModules.RNShare.SMS || Social.Sms,
|
|
27
27
|
TELEGRAM: NativeModules.RNShare.TELEGRAM || Social.Telegram,
|
|
28
28
|
MESSENGER: NativeModules.RNShare.MESSENGER || Social.Messenger,
|
|
29
|
-
SNAPCHAT: NativeModules.RNShare.SNAPCHAT || Social.Snapchat
|
|
29
|
+
SNAPCHAT: NativeModules.RNShare.SNAPCHAT || Social.Snapchat,
|
|
30
|
+
VIBER: NativeModules.RNShare.VIBER || Social.Viber
|
|
30
31
|
},
|
|
31
32
|
|
|
32
33
|
open(options) {
|
|
@@ -72,6 +73,10 @@ const RNShare = {
|
|
|
72
73
|
if (Platform.OS === 'ios' || Platform.OS === 'android') {
|
|
73
74
|
return new Promise((resolve, reject) => {
|
|
74
75
|
requireAndAskPermissions(options).then(() => {
|
|
76
|
+
if (options.url) {
|
|
77
|
+
options.urls = [options.url];
|
|
78
|
+
}
|
|
79
|
+
|
|
75
80
|
NativeModules.RNShare.shareSingle(options, error => {
|
|
76
81
|
return reject({
|
|
77
82
|
error
|
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","open","options","Promise","resolve","reject","then","OS","url","urls","filename","filenames","error","success","message","failOnCancel","dismissedAction","Error","catch","e","shareSingle","isPackageInstalled","packageName","isInstalled"],"mappings":"AAAA,SAASA,aAAT,EAAwBC,QAAxB,QAAwC,cAAxC;AAEA,OAAOC,OAAP,MAAoB,sBAApB;AACA,OAAOC,KAAP,MAAkB,oBAAlB;AACA,OAAOC,MAAP,MAAmB,qBAAnB;AACA,OAAOC,UAAP,MAAuB,yBAAvB;AACA,OAAOC,wBAAP,MAAqC,oCAArC;AACA,SACEC,MADF,EAKEC,UALF,QASO,SATP;AAWA,MAAMC,OAAO,GAAG;AACdL,EAAAA,MADc;AAEdC,EAAAA,UAFc;AAGdH,EAAAA,OAHc;AAIdC,EAAAA,KAJc;AAMdI,EAAAA,MAAM,EAAE;AACNG,IAAAA,QAAQ,EAAEV,aAAa,CAACS,OAAd,CAAsBC,QAAtB,IAAkCH,MAAM,CAACI,QAD7C;AAENC,IAAAA,gBAAgB,EAAEZ,aAAa,CAACS,OAAd,CAAsBI,eAAtB,IAAyCN,MAAM,CAACO,eAF5D;AAGNC,IAAAA,YAAY,EAAEf,aAAa,CAACS,OAAd,CAAsBM,YAAtB,IAAsCR,MAAM,CAACS,YAHrD;AAINC,IAAAA,OAAO,EAAEjB,aAAa,CAACS,OAAd,CAAsBQ,OAAtB,IAAiCV,MAAM,CAACW,OAJ3C;AAKNC,IAAAA,QAAQ,EAAEnB,aAAa,CAACS,OAAd,CAAsBU,QAAtB,IAAkCZ,MAAM,CAACa,QAL7C;AAMNC,IAAAA,gBAAgB,EAAErB,aAAa,CAACS,OAAd,CAAsBY,gBAAtB,IAA0Cd,MAAM,CAACe,gBAN7D;AAONC,IAAAA,SAAS,EAAEvB,aAAa,CAACS,OAAd,CAAsBc,SAAtB,IAAmChB,MAAM,CAACiB,SAP/C;AAQNC,IAAAA,iBAAiB,EAAEzB,aAAa,CAACS,OAAd,CAAsBiB,gBAAtB,IAA0CnB,MAAM,CAACoB,gBAR9D;AASNC,IAAAA,UAAU,EAAE5B,aAAa,CAACS,OAAd,CAAsBmB,UAAtB,IAAoCrB,MAAM,CAACsB,UATjD;AAUNC,IAAAA,KAAK,EAAE9B,aAAa,CAACS,OAAd,CAAsBqB,KAAtB,IAA+BvB,MAAM,CAACwB,KAVvC;AAWNC,IAAAA,SAAS,EAAEhC,aAAa,CAACS,OAAd,CAAsBuB,SAAtB,IAAmCzB,MAAM,CAAC0B,SAX/C;AAYNC,IAAAA,QAAQ,EAAElC,aAAa,CAACS,OAAd,CAAsByB,QAAtB,IAAkC3B,MAAM,CAAC4B,QAZ7C;AAaNC,IAAAA,GAAG,EAAEpC,aAAa,CAACS,OAAd,CAAsB2B,GAAtB,IAA6B7B,MAAM,CAAC8B,GAbnC;AAcNC,IAAAA,QAAQ,EAAEtC,aAAa,CAACS,OAAd,CAAsB6B,QAAtB,IAAkC/B,MAAM,CAACgC,QAd7C;AAeNC,IAAAA,SAAS,EAAExC,aAAa,CAACS,OAAd,CAAsB+B,SAAtB,IAAmCjC,MAAM,CAACkC,SAf/C;AAgBNC,IAAAA,QAAQ,EAAE1C,aAAa,CAACS,OAAd,CAAsBiC,QAAtB,IAAkCnC,MAAM,CAACoC;
|
|
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"]}
|
package/lib/module/types.js
CHANGED
package/lib/module/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["types.ts"],"names":["Social","ShareAsset"],"mappings":"AAAA,WAAYA,MAAZ;;WAAYA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;GAAAA,M,KAAAA,M;;
|
|
1
|
+
{"version":3,"sources":["types.ts"],"names":["Social","ShareAsset"],"mappings":"AAAA,WAAYA,MAAZ;;WAAYA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;AAAAA,EAAAA,M;GAAAA,M,KAAAA,M;;AAoBZ,WAAYC,UAAZ;;WAAYA,U;AAAAA,EAAAA,U;AAAAA,EAAAA,U;AAAAA,EAAAA,U;AAAAA,EAAAA,U;GAAAA,U,KAAAA,U","sourcesContent":["export enum Social {\n Facebook = 'facebook',\n FacebookStories = 'facebookstories',\n Pagesmanager = 'pagesmanager',\n Twitter = 'twitter',\n Whatsapp = 'whatsapp',\n Whatsappbusiness = 'whatsappbusiness',\n Instagram = 'instagram',\n InstagramStories = 'instagramstories',\n Googleplus = 'googleplus',\n Email = 'email',\n Pinterest = 'pinterest',\n Linkedin = 'linkedin',\n Sms = 'sms',\n Telegram = 'telegram',\n Snapchat = 'snapchat',\n Messenger = 'messenger',\n Viber = 'viber',\n}\n\nexport enum ShareAsset {\n BackgroundImage = 'shareBackgroundImage',\n BackgroundVideo = 'shareBackgroundVideo',\n StickerImage = 'shareStickerImage',\n BackgroundAndStickerImage = 'shareBackgroundAndStickerImage',\n}\n\nexport interface LinkMetadata {\n originalUrl?: string;\n url?: string;\n title?: string;\n icon?: string;\n image?: string;\n remoteVideoUrl?: string;\n video?: string;\n}\n\nexport interface ActivityItem {\n type: 'text' | 'url';\n content: string;\n}\n\nexport interface ActivityItemSource {\n placeholderItem: ActivityItem;\n item: { [key in ActivityType]?: ActivityItem | null | undefined };\n subject?: { [key in ActivityType]?: string };\n dataTypeIdentifier?: { [key in ActivityType]?: string };\n thumbnailImage?: { [key in ActivityType]?: string };\n linkMetadata?: LinkMetadata;\n}\n\ninterface BaseShareSingleOptions {\n urls?: string[];\n url?: string;\n type?: string;\n filename?: string;\n message?: string;\n title?: string;\n subject?: string;\n email?: string;\n recipient?: string;\n social: Exclude<Social, Social.FacebookStories | Social.InstagramStories>;\n forceDialog?: boolean;\n}\n\ninterface BaseSocialStoriesShareSingleOptions extends Omit<BaseShareSingleOptions, 'social'> {\n backgroundImage?: string;\n stickerImage?: string;\n backgroundBottomColor?: string;\n backgroundTopColor?: string;\n attributionURL?: string;\n backgroundVideo?: string;\n}\n\nexport interface InstagramStoriesShareSingleOptions extends BaseSocialStoriesShareSingleOptions {\n social: Social.InstagramStories;\n}\n\nexport interface FacebookStoriesShareSingleOptions extends BaseSocialStoriesShareSingleOptions {\n social: Social.FacebookStories;\n method: Exclude<ShareAsset, ShareAsset.BackgroundVideo>;\n appId: string;\n}\n\nexport type ShareSingleOptions =\n | BaseShareSingleOptions\n | InstagramStoriesShareSingleOptions\n | FacebookStoriesShareSingleOptions;\n\nexport interface ShareOptions {\n message?: string;\n title?: string;\n url?: string;\n urls?: string[];\n type?: string;\n subject?: string;\n email?: string;\n recipient?: string;\n excludedActivityTypes?: ActivityType[];\n failOnCancel?: boolean;\n showAppsToView?: boolean;\n filename?: string;\n filenames?: string[];\n saveToFiles?: boolean;\n activityItemSources?: ActivityItemSource[];\n isNewTask?: boolean;\n}\n\nexport type ActivityType =\n | 'default'\n | 'addToReadingList'\n | 'airDrop'\n | 'assignToContact'\n | 'copyToPasteBoard'\n | 'mail'\n | 'message'\n | 'openInIBooks' // iOS 9 or later\n | 'postToFacebook'\n | 'postToFlickr'\n | 'postToTencentWeibo'\n | 'postToTwitter'\n | 'postToVimeo'\n | 'postToWeibo'\n | 'print'\n | 'saveToCameraRoll'\n | 'markupAsPDF'; // iOS 11 or late\n\nexport interface ShareSingleResult {\n message: string;\n success: boolean;\n}\n\nexport interface ShareOpenResult extends ShareSingleResult {\n dismissedAction?: boolean;\n}\nexport interface IsPackageInstalledResult {\n message: string;\n isInstalled: boolean;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["react-native.d.ts"],"names":[],"mappings":"AAAA,OAAO,cAAP","sourcesContent":["import 'react-native';\n\nimport { ShareAsset, ShareSingleOptions, ShareOptions, Social } from '../types';\n\ndeclare module 'react-native' {\n export interface RNShare {\n FACEBOOK: Social.Facebook;\n FACEBOOKSTORIES: Social.FacebookStories;\n PAGESMANAGER: Social.Pagesmanager;\n TWITTER: Social.Twitter;\n WHATSAPP: Social.Whatsapp;\n WHATSAPPBUSINESS: Social.Whatsappbusiness;\n INSTAGRAM: Social.Instagram;\n INSTAGRAMSTORIES: Social.InstagramStories;\n GOOGLEPLUS: Social.Googleplus;\n EMAIL: Social.Email;\n PINTEREST: Social.Pinterest;\n LINKEDIN: Social.Linkedin;\n SMS: Social.Sms;\n TELEGRAM: Social.Telegram;\n SNAPCHAT: Social.Snapchat;\n MESSENGER: Social.Messenger;\n\n SHARE_BACKGROUND_IMAGE: ShareAsset.BackgroundImage;\n SHARE_BACKGROUND_VIDEO: ShareAsset.BackgroundVideo;\n SHARE_STICKER_IMAGE: ShareAsset.StickerImage;\n SHARE_BACKGROUND_AND_STICKER_IMAGE: ShareAsset.BackgroundAndStickerImage;\n\n open(\n options: ShareOptions,\n errorCallback: (error: string) => void,\n successCallback: (success: boolean, message: string) => void,\n ): Promise<void>;\n\n shareSingle(\n options: ShareSingleOptions,\n errorCallback: (error: string) => void,\n successCallback: (success: boolean, message: string) => void,\n ): Promise<void>;\n\n isPackageInstalled(\n packageName: string,\n errorCallback: (error: string) => void,\n successCallback: (isInstalled: boolean) => void,\n ): Promise<void>;\n\n isBase64File(\n url: string,\n errorCallback: (error: string) => void,\n successCallback: (isBase64: boolean) => void,\n ): Promise<void>;\n }\n\n interface NativeModulesStatic {\n RNShare: RNShare;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["react-native.d.ts"],"names":[],"mappings":"AAAA,OAAO,cAAP","sourcesContent":["import 'react-native';\n\nimport { ShareAsset, ShareSingleOptions, ShareOptions, Social } from '../types';\n\ndeclare module 'react-native' {\n export interface RNShare {\n FACEBOOK: Social.Facebook;\n FACEBOOKSTORIES: Social.FacebookStories;\n PAGESMANAGER: Social.Pagesmanager;\n TWITTER: Social.Twitter;\n WHATSAPP: Social.Whatsapp;\n WHATSAPPBUSINESS: Social.Whatsappbusiness;\n INSTAGRAM: Social.Instagram;\n INSTAGRAMSTORIES: Social.InstagramStories;\n GOOGLEPLUS: Social.Googleplus;\n EMAIL: Social.Email;\n PINTEREST: Social.Pinterest;\n LINKEDIN: Social.Linkedin;\n SMS: Social.Sms;\n TELEGRAM: Social.Telegram;\n SNAPCHAT: Social.Snapchat;\n MESSENGER: Social.Messenger;\n VIBER: Social.Viber;\n\n SHARE_BACKGROUND_IMAGE: ShareAsset.BackgroundImage;\n SHARE_BACKGROUND_VIDEO: ShareAsset.BackgroundVideo;\n SHARE_STICKER_IMAGE: ShareAsset.StickerImage;\n SHARE_BACKGROUND_AND_STICKER_IMAGE: ShareAsset.BackgroundAndStickerImage;\n\n open(\n options: ShareOptions,\n errorCallback: (error: string) => void,\n successCallback: (success: boolean, message: string) => void,\n ): Promise<void>;\n\n shareSingle(\n options: ShareSingleOptions,\n errorCallback: (error: string) => void,\n successCallback: (success: boolean, message: string) => void,\n ): Promise<void>;\n\n isPackageInstalled(\n packageName: string,\n errorCallback: (error: string) => void,\n successCallback: (isInstalled: boolean) => void,\n ): Promise<void>;\n\n isBase64File(\n url: string,\n errorCallback: (error: string) => void,\n successCallback: (isBase64: boolean) => void,\n ): Promise<void>;\n }\n\n interface NativeModulesStatic {\n RNShare: RNShare;\n }\n}\n"]}
|
|
@@ -25,6 +25,7 @@ declare const RNShare: {
|
|
|
25
25
|
readonly TELEGRAM: Social.Telegram;
|
|
26
26
|
readonly MESSENGER: Social.Messenger;
|
|
27
27
|
readonly SNAPCHAT: Social.Snapchat;
|
|
28
|
+
readonly VIBER: Social.Viber;
|
|
28
29
|
};
|
|
29
30
|
readonly open: (options: ShareOptions) => Promise<ShareOpenResult | never>;
|
|
30
31
|
readonly shareSingle: (options: ShareSingleOptions) => Promise<ShareSingleResult | never>;
|
|
@@ -14,7 +14,8 @@ export declare enum Social {
|
|
|
14
14
|
Sms = "sms",
|
|
15
15
|
Telegram = "telegram",
|
|
16
16
|
Snapchat = "snapchat",
|
|
17
|
-
Messenger = "messenger"
|
|
17
|
+
Messenger = "messenger",
|
|
18
|
+
Viber = "viber"
|
|
18
19
|
}
|
|
19
20
|
export declare enum ShareAsset {
|
|
20
21
|
BackgroundImage = "shareBackgroundImage",
|
|
@@ -52,6 +53,7 @@ export interface ActivityItemSource {
|
|
|
52
53
|
linkMetadata?: LinkMetadata;
|
|
53
54
|
}
|
|
54
55
|
interface BaseShareSingleOptions {
|
|
56
|
+
urls?: string[];
|
|
55
57
|
url?: string;
|
|
56
58
|
type?: string;
|
|
57
59
|
filename?: string;
|
package/package.json
CHANGED
package/src/index.tsx
CHANGED
|
@@ -39,6 +39,7 @@ const RNShare = {
|
|
|
39
39
|
TELEGRAM: NativeModules.RNShare.TELEGRAM || Social.Telegram,
|
|
40
40
|
MESSENGER: NativeModules.RNShare.MESSENGER || Social.Messenger,
|
|
41
41
|
SNAPCHAT: NativeModules.RNShare.SNAPCHAT || Social.Snapchat,
|
|
42
|
+
VIBER: NativeModules.RNShare.VIBER || Social.Viber,
|
|
42
43
|
},
|
|
43
44
|
|
|
44
45
|
open(options: ShareOptions): Promise<ShareOpenResult | never> {
|
|
@@ -90,6 +91,10 @@ const RNShare = {
|
|
|
90
91
|
return new Promise((resolve, reject) => {
|
|
91
92
|
requireAndAskPermissions(options)
|
|
92
93
|
.then(() => {
|
|
94
|
+
if (options.url) {
|
|
95
|
+
options.urls = [options.url];
|
|
96
|
+
}
|
|
97
|
+
|
|
93
98
|
NativeModules.RNShare.shareSingle(
|
|
94
99
|
options,
|
|
95
100
|
(error) => {
|
package/src/types.ts
CHANGED
|
@@ -15,6 +15,7 @@ export enum Social {
|
|
|
15
15
|
Telegram = 'telegram',
|
|
16
16
|
Snapchat = 'snapchat',
|
|
17
17
|
Messenger = 'messenger',
|
|
18
|
+
Viber = 'viber',
|
|
18
19
|
}
|
|
19
20
|
|
|
20
21
|
export enum ShareAsset {
|
|
@@ -49,6 +50,7 @@ export interface ActivityItemSource {
|
|
|
49
50
|
}
|
|
50
51
|
|
|
51
52
|
interface BaseShareSingleOptions {
|
|
53
|
+
urls?: string[];
|
|
52
54
|
url?: string;
|
|
53
55
|
type?: string;
|
|
54
56
|
filename?: string;
|