react-native-share 8.0.1 → 8.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ios/RNShare.m +7 -0
- package/ios/RNShareActivityItemSource.m +1 -1
- package/ios/RNShareUtils.h +1 -0
- package/ios/RNShareUtils.m +11 -0
- package/lib/commonjs/components/Button.js.map +1 -1
- package/lib/commonjs/components/Overlay.js +24 -39
- package/lib/commonjs/components/Overlay.js.map +1 -1
- package/lib/commonjs/components/ShareSheet.js +34 -38
- package/lib/commonjs/components/ShareSheet.js.map +1 -1
- package/lib/commonjs/components/Sheet.js +15 -25
- package/lib/commonjs/components/Sheet.js.map +1 -1
- package/lib/commonjs/index.js +0 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/module/components/Button.js.map +1 -1
- package/lib/module/components/Overlay.js +24 -39
- package/lib/module/components/Overlay.js.map +1 -1
- package/lib/module/components/ShareSheet.js +32 -36
- package/lib/module/components/ShareSheet.js.map +1 -1
- package/lib/module/components/Sheet.js +15 -25
- package/lib/module/components/Sheet.js.map +1 -1
- package/lib/module/index.js +0 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/typescript/components/Button.d.ts +1 -1
- package/lib/typescript/components/Overlay.d.ts +1 -19
- package/lib/typescript/components/ShareSheet.d.ts +2 -8
- package/lib/typescript/components/Sheet.d.ts +1 -11
- package/lib/typescript/index.d.ts +5 -4
- package/lib/typescript/types.d.ts +5 -4
- package/package.json +1 -1
- package/src/components/Button.tsx +7 -1
- package/src/components/Overlay.tsx +17 -30
- package/src/components/ShareSheet.tsx +38 -33
- package/src/components/Sheet.tsx +8 -18
- package/src/index.tsx +0 -1
- package/src/types.ts +6 -4
package/ios/RNShare.m
CHANGED
|
@@ -177,6 +177,8 @@ RCT_EXPORT_METHOD(open:(NSDictionary *)options
|
|
|
177
177
|
[items addObject:message];
|
|
178
178
|
}
|
|
179
179
|
BOOL saveToFiles = [RCTConvert BOOL:options[@"saveToFiles"]];
|
|
180
|
+
NSString *filename = [RCTConvert NSString:options[@"filename"]];
|
|
181
|
+
|
|
180
182
|
NSArray *urlsArray = options[@"urls"];
|
|
181
183
|
for (int i=0; i<urlsArray.count; i++) {
|
|
182
184
|
NSURL *URL = [RCTConvert NSURL:urlsArray[i]];
|
|
@@ -195,6 +197,11 @@ RCT_EXPORT_METHOD(open:(NSDictionary *)options
|
|
|
195
197
|
if (filePath) {
|
|
196
198
|
[items addObject: filePath];
|
|
197
199
|
}
|
|
200
|
+
} else if (filename.length > 0) {
|
|
201
|
+
NSURL *filePath = [RNShareUtils getPathFromFilename:filename with:data];
|
|
202
|
+
if (filePath) {
|
|
203
|
+
[items addObject: filePath];
|
|
204
|
+
}
|
|
198
205
|
} else {
|
|
199
206
|
[items addObject:data];
|
|
200
207
|
}
|
package/ios/RNShareUtils.h
CHANGED
package/ios/RNShareUtils.m
CHANGED
|
@@ -47,4 +47,15 @@
|
|
|
47
47
|
return NULL;
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
+
/**
|
|
51
|
+
Given a filename string and Data, writes a temp file with the filename.
|
|
52
|
+
*/
|
|
53
|
+
+(NSURL*)getPathFromFilename:(NSString*)filename with:(NSData*)data {
|
|
54
|
+
NSString *writePath = [NSTemporaryDirectory() stringByAppendingPathComponent:filename];
|
|
55
|
+
if ([data writeToFile:writePath atomically:YES]) {
|
|
56
|
+
return [NSURL fileURLWithPath:writePath];
|
|
57
|
+
}
|
|
58
|
+
return NULL;
|
|
59
|
+
}
|
|
60
|
+
|
|
50
61
|
@end
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Button.tsx"],"names":["Button","buttonStyle","onPress","iconSrc","textStyle","children","styles","button","icon","buttonText","StyleSheet","create","backgroundColor","flexDirection","height","padding","color","fontSize","fontWeight","textAlign","textAlignVertical","marginLeft","marginRight","width"],"mappings":";;;;;;;AAAA;;AACA;;;;;;AAmBA,MAAMA,
|
|
1
|
+
{"version":3,"sources":["Button.tsx"],"names":["Button","buttonStyle","onPress","iconSrc","textStyle","children","styles","button","icon","buttonText","StyleSheet","create","backgroundColor","flexDirection","height","padding","color","fontSize","fontWeight","textAlign","textAlignVertical","marginLeft","marginRight","width"],"mappings":";;;;;;;AAAA;;AACA;;;;;;AAmBA,MAAMA,MAA6B,GAAG,CAAC;AACrCC,EAAAA,WADqC;AAErCC,EAAAA,OAFqC;AAGrCC,EAAAA,OAHqC;AAIrCC,EAAAA,SAJqC;AAKrCC,EAAAA;AALqC,CAAD,kBAOpC,oBAAC,6BAAD;AAAkB,EAAA,aAAa,EAAE,GAAjC;AAAsC,EAAA,KAAK,EAAE,CAACC,MAAM,CAACC,MAAR,EAAgBN,WAAhB,CAA7C;AAA2E,EAAA,OAAO,EAAEC;AAApF,gBACE,oBAAC,kBAAD;AAAO,EAAA,KAAK,EAAEI,MAAM,CAACE,IAArB;AAA2B,EAAA,MAAM,EAAEL;AAAnC,EADF,eAEE,oBAAC,iBAAD;AAAM,EAAA,KAAK,EAAE,CAACG,MAAM,CAACG,UAAR,EAAoBL,SAApB;AAAb,GAA8CC,QAA9C,CAFF,CAPF;;eAaeL,M;;;AAEf,MAAMM,MAAM,GAAGI,wBAAWC,MAAX,CAAkB;AAC/BJ,EAAAA,MAAM,EAAE;AACNK,IAAAA,eAAe,EAAE,OADX;AAENC,IAAAA,aAAa,EAAE,KAFT;AAGNC,IAAAA,MAAM,EAAE,EAHF;AAINC,IAAAA,OAAO,EAAE;AAJH,GADuB;AAO/BN,EAAAA,UAAU,EAAE;AACVO,IAAAA,KAAK,EAAE,SADG;AAEVC,IAAAA,QAAQ,EAAE,EAFA;AAGVC,IAAAA,UAAU,EAAE,MAHF;AAIVC,IAAAA,SAAS,EAAE,MAJD;AAKVC,IAAAA,iBAAiB,EAAE;AALT,GAPmB;AAc/BZ,EAAAA,IAAI,EAAE;AACJM,IAAAA,MAAM,EAAE,EADJ;AAEJO,IAAAA,UAAU,EAAE,EAFR;AAGJC,IAAAA,WAAW,EAAE,EAHT;AAIJC,IAAAA,KAAK,EAAE;AAJH;AAdyB,CAAlB,CAAf","sourcesContent":["import * as React from 'react';\nimport {\n StyleSheet,\n Text,\n TouchableOpacity,\n Image,\n ImageSourcePropType,\n StyleProp,\n TextStyle,\n ViewStyle,\n} from 'react-native';\n\nexport interface ButtonProps {\n onPress: () => void;\n iconSrc: ImageSourcePropType;\n buttonStyle?: StyleProp<ViewStyle>;\n textStyle?: StyleProp<TextStyle>;\n children: React.ReactNode;\n}\n\nconst Button: React.FC<ButtonProps> = ({\n buttonStyle,\n onPress,\n iconSrc,\n textStyle,\n children,\n}: ButtonProps) => (\n <TouchableOpacity activeOpacity={0.5} style={[styles.button, buttonStyle]} onPress={onPress}>\n <Image style={styles.icon} source={iconSrc} />\n <Text style={[styles.buttonText, textStyle]}>{children}</Text>\n </TouchableOpacity>\n);\n\nexport default Button;\n\nconst styles = StyleSheet.create({\n button: {\n backgroundColor: 'white',\n flexDirection: 'row',\n height: 50,\n padding: 10,\n },\n buttonText: {\n color: '#2c2c2c',\n fontSize: 16,\n fontWeight: 'bold',\n textAlign: 'left',\n textAlignVertical: 'center',\n },\n icon: {\n height: 28,\n marginLeft: 10,\n marginRight: 30,\n width: 28,\n },\n});\n"]}
|
|
@@ -13,8 +13,6 @@ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return
|
|
|
13
13
|
|
|
14
14
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
15
15
|
|
|
16
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
17
|
-
|
|
18
16
|
const DEFAULT_ANIMATE_TIME = 300;
|
|
19
17
|
|
|
20
18
|
const styles = _reactNative.StyleSheet.create({
|
|
@@ -34,47 +32,34 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
34
32
|
}
|
|
35
33
|
});
|
|
36
34
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
});
|
|
35
|
+
const Overlay = ({
|
|
36
|
+
visible,
|
|
37
|
+
children
|
|
38
|
+
}) => {
|
|
39
|
+
const [fadeAnim] = React.useState(new _reactNative.Animated.Value(0));
|
|
40
|
+
const [overlayStyle, setOverlayStyle] = React.useState(styles.emptyOverlay);
|
|
41
|
+
const onAnimatedEnd = React.useCallback(() => {
|
|
42
|
+
if (!visible) {
|
|
43
|
+
setOverlayStyle(styles.emptyOverlay);
|
|
44
|
+
}
|
|
45
|
+
}, [visible]);
|
|
46
|
+
React.useEffect(() => {
|
|
47
|
+
if (visible) {
|
|
48
|
+
setOverlayStyle(styles.fullOverlay);
|
|
52
49
|
}
|
|
53
50
|
|
|
54
|
-
return _reactNative.Animated.timing(
|
|
55
|
-
toValue:
|
|
51
|
+
return _reactNative.Animated.timing(fadeAnim, {
|
|
52
|
+
toValue: visible ? 1 : 0,
|
|
56
53
|
duration: DEFAULT_ANIMATE_TIME,
|
|
57
54
|
useNativeDriver: false
|
|
58
|
-
}).start(
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
render() {
|
|
70
|
-
return /*#__PURE__*/React.createElement(_reactNative.Animated.View, {
|
|
71
|
-
style: [this.state.overlayStyle, {
|
|
72
|
-
opacity: this.state.fadeAnim
|
|
73
|
-
}]
|
|
74
|
-
}, this.props.children);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
}
|
|
55
|
+
}).start(onAnimatedEnd);
|
|
56
|
+
}, [visible, fadeAnim, onAnimatedEnd]);
|
|
57
|
+
return /*#__PURE__*/React.createElement(_reactNative.Animated.View, {
|
|
58
|
+
style: [overlayStyle, {
|
|
59
|
+
opacity: fadeAnim
|
|
60
|
+
}]
|
|
61
|
+
}, children);
|
|
62
|
+
};
|
|
78
63
|
|
|
79
64
|
var _default = Overlay;
|
|
80
65
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Overlay.tsx"],"names":["DEFAULT_ANIMATE_TIME","styles","StyleSheet","create","emptyOverlay","backgroundColor","height","position","width","fullOverlay","bottom","left","right","top","Overlay","
|
|
1
|
+
{"version":3,"sources":["Overlay.tsx"],"names":["DEFAULT_ANIMATE_TIME","styles","StyleSheet","create","emptyOverlay","backgroundColor","height","position","width","fullOverlay","bottom","left","right","top","Overlay","visible","children","fadeAnim","React","useState","Animated","Value","overlayStyle","setOverlayStyle","onAnimatedEnd","useCallback","useEffect","timing","toValue","duration","useNativeDriver","start","opacity"],"mappings":";;;;;;;AAAA;;AACA;;;;;;AAEA,MAAMA,oBAAoB,GAAG,GAA7B;;AACA,MAAMC,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BC,EAAAA,YAAY,EAAE;AACZC,IAAAA,eAAe,EAAE,aADL;AAEZC,IAAAA,MAAM,EAAE,CAFI;AAGZC,IAAAA,QAAQ,EAAE,UAHE;AAIZC,IAAAA,KAAK,EAAE;AAJK,GADiB;AAO/BC,EAAAA,WAAW,EAAE;AACXJ,IAAAA,eAAe,EAAE,aADN;AAEXK,IAAAA,MAAM,EAAE,CAFG;AAGXC,IAAAA,IAAI,EAAE,CAHK;AAIXJ,IAAAA,QAAQ,EAAE,UAJC;AAKXK,IAAAA,KAAK,EAAE,CALI;AAMXC,IAAAA,GAAG,EAAE;AANM;AAPkB,CAAlB,CAAf;;AAqBA,MAAMC,OAAwD,GAAG,CAAC;AAAEC,EAAAA,OAAF;AAAWC,EAAAA;AAAX,CAAD,KAA2B;AAC1F,QAAM,CAACC,QAAD,IAAaC,KAAK,CAACC,QAAN,CAAe,IAAIC,sBAASC,KAAb,CAAmB,CAAnB,CAAf,CAAnB;AACA,QAAM,CAACC,YAAD,EAAeC,eAAf,IAAkCL,KAAK,CAACC,QAAN,CAAqClB,MAAM,CAACG,YAA5C,CAAxC;AAEA,QAAMoB,aAAa,GAAGN,KAAK,CAACO,WAAN,CAAkB,MAAM;AAC5C,QAAI,CAACV,OAAL,EAAc;AACZQ,MAAAA,eAAe,CAACtB,MAAM,CAACG,YAAR,CAAf;AACD;AACF,GAJqB,EAInB,CAACW,OAAD,CAJmB,CAAtB;AAMAG,EAAAA,KAAK,CAACQ,SAAN,CAAgB,MAAM;AACpB,QAAIX,OAAJ,EAAa;AACXQ,MAAAA,eAAe,CAACtB,MAAM,CAACQ,WAAR,CAAf;AACD;;AACD,WAAOW,sBAASO,MAAT,CAAgBV,QAAhB,EAA0B;AAC/BW,MAAAA,OAAO,EAAEb,OAAO,GAAG,CAAH,GAAO,CADQ;AAE/Bc,MAAAA,QAAQ,EAAE7B,oBAFqB;AAG/B8B,MAAAA,eAAe,EAAE;AAHc,KAA1B,EAIJC,KAJI,CAIEP,aAJF,CAAP;AAKD,GATD,EASG,CAACT,OAAD,EAAUE,QAAV,EAAoBO,aAApB,CATH;AAWA,sBAAO,oBAAC,qBAAD,CAAU,IAAV;AAAe,IAAA,KAAK,EAAE,CAACF,YAAD,EAAe;AAAEU,MAAAA,OAAO,EAAEf;AAAX,KAAf;AAAtB,KAA8DD,QAA9D,CAAP;AACD,CAtBD;;eAwBeF,O","sourcesContent":["import * as React from 'react';\nimport { Animated, StyleProp, StyleSheet, ViewStyle } from 'react-native';\n\nconst DEFAULT_ANIMATE_TIME = 300;\nconst styles = StyleSheet.create({\n emptyOverlay: {\n backgroundColor: 'transparent',\n height: 0,\n position: 'absolute',\n width: 0,\n },\n fullOverlay: {\n backgroundColor: 'transparent',\n bottom: 0,\n left: 0,\n position: 'absolute',\n right: 0,\n top: 0,\n },\n});\n\nexport interface OverlayProps {\n visible: boolean;\n}\n\nconst Overlay: React.FC<React.PropsWithChildren<OverlayProps>> = ({ visible, children }) => {\n const [fadeAnim] = React.useState(new Animated.Value(0));\n const [overlayStyle, setOverlayStyle] = React.useState<StyleProp<ViewStyle>>(styles.emptyOverlay);\n\n const onAnimatedEnd = React.useCallback(() => {\n if (!visible) {\n setOverlayStyle(styles.emptyOverlay);\n }\n }, [visible]);\n\n React.useEffect(() => {\n if (visible) {\n setOverlayStyle(styles.fullOverlay);\n }\n return Animated.timing(fadeAnim, {\n toValue: visible ? 1 : 0,\n duration: DEFAULT_ANIMATE_TIME,\n useNativeDriver: false,\n }).start(onAnimatedEnd);\n }, [visible, fadeAnim, onAnimatedEnd]);\n\n return <Animated.View style={[overlayStyle, { opacity: fadeAnim }]}>{children}</Animated.View>;\n};\n\nexport default Overlay;\n"]}
|
|
@@ -19,48 +19,41 @@ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return
|
|
|
19
19
|
|
|
20
20
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
backButtonHandler() {
|
|
34
|
-
if (this.props.visible) {
|
|
35
|
-
this.props.onCancel();
|
|
22
|
+
const ShareSheet = ({
|
|
23
|
+
style = {},
|
|
24
|
+
overlayStyle = {},
|
|
25
|
+
visible,
|
|
26
|
+
onCancel,
|
|
27
|
+
children
|
|
28
|
+
}) => {
|
|
29
|
+
const backButtonHandler = React.useCallback(() => {
|
|
30
|
+
if (visible) {
|
|
31
|
+
onCancel();
|
|
36
32
|
return true;
|
|
37
33
|
}
|
|
38
34
|
|
|
39
35
|
return false;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
var _default = ShareSheet;
|
|
63
|
-
exports.default = _default;
|
|
36
|
+
}, [visible, onCancel]);
|
|
37
|
+
React.useEffect(() => {
|
|
38
|
+
_reactNative.BackHandler.addEventListener('hardwareBackPress', backButtonHandler);
|
|
39
|
+
|
|
40
|
+
return () => {
|
|
41
|
+
_reactNative.BackHandler.removeEventListener('hardwareBackPress', backButtonHandler);
|
|
42
|
+
};
|
|
43
|
+
}, [backButtonHandler]);
|
|
44
|
+
return /*#__PURE__*/React.createElement(_Overlay.default, {
|
|
45
|
+
visible: visible
|
|
46
|
+
}, /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
47
|
+
style: [styles.actionSheetContainer, overlayStyle]
|
|
48
|
+
}, /*#__PURE__*/React.createElement(_reactNative.TouchableOpacity, {
|
|
49
|
+
style: styles.button,
|
|
50
|
+
onPress: onCancel
|
|
51
|
+
}), /*#__PURE__*/React.createElement(_Sheet.default, {
|
|
52
|
+
visible: visible
|
|
53
|
+
}, /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
54
|
+
style: [styles.buttonContainer, style]
|
|
55
|
+
}, children))));
|
|
56
|
+
};
|
|
64
57
|
|
|
65
58
|
const styles = _reactNative.StyleSheet.create({
|
|
66
59
|
actionSheetContainer: {
|
|
@@ -80,4 +73,7 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
80
73
|
flex: 1
|
|
81
74
|
}
|
|
82
75
|
});
|
|
76
|
+
|
|
77
|
+
var _default = ShareSheet;
|
|
78
|
+
exports.default = _default;
|
|
83
79
|
//# sourceMappingURL=ShareSheet.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ShareSheet.tsx"],"names":["ShareSheet","
|
|
1
|
+
{"version":3,"sources":["ShareSheet.tsx"],"names":["ShareSheet","style","overlayStyle","visible","onCancel","children","backButtonHandler","React","useCallback","useEffect","BackHandler","addEventListener","removeEventListener","styles","actionSheetContainer","button","buttonContainer","StyleSheet","create","backgroundColor","flex","justifyContent","paddingBottom","paddingTop","overflow"],"mappings":";;;;;;;AAAA;;AACA;;AASA;;AACA;;;;;;;;AASA,MAAMA,UAA8D,GAAG,CAAC;AACtEC,EAAAA,KAAK,GAAG,EAD8D;AAEtEC,EAAAA,YAAY,GAAG,EAFuD;AAGtEC,EAAAA,OAHsE;AAItEC,EAAAA,QAJsE;AAKtEC,EAAAA;AALsE,CAAD,KAMjE;AACJ,QAAMC,iBAAiB,GAAGC,KAAK,CAACC,WAAN,CAAkB,MAAM;AAChD,QAAIL,OAAJ,EAAa;AACXC,MAAAA,QAAQ;AACR,aAAO,IAAP;AACD;;AACD,WAAO,KAAP;AACD,GANyB,EAMvB,CAACD,OAAD,EAAUC,QAAV,CANuB,CAA1B;AAQAG,EAAAA,KAAK,CAACE,SAAN,CAAgB,MAAM;AACpBC,6BAAYC,gBAAZ,CAA6B,mBAA7B,EAAkDL,iBAAlD;;AACA,WAAO,MAAM;AACXI,+BAAYE,mBAAZ,CAAgC,mBAAhC,EAAqDN,iBAArD;AACD,KAFD;AAGD,GALD,EAKG,CAACA,iBAAD,CALH;AAOA,sBACE,oBAAC,gBAAD;AAAS,IAAA,OAAO,EAAEH;AAAlB,kBACE,oBAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAACU,MAAM,CAACC,oBAAR,EAA8BZ,YAA9B;AAAb,kBACE,oBAAC,6BAAD;AAAkB,IAAA,KAAK,EAAEW,MAAM,CAACE,MAAhC;AAAwC,IAAA,OAAO,EAAEX;AAAjD,IADF,eAEE,oBAAC,cAAD;AAAO,IAAA,OAAO,EAAED;AAAhB,kBACE,oBAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAACU,MAAM,CAACG,eAAR,EAAyBf,KAAzB;AAAb,KAA+CI,QAA/C,CADF,CAFF,CADF,CADF;AAUD,CAhCD;;AAkCA,MAAMQ,MAAM,GAAGI,wBAAWC,MAAX,CAAkB;AAC/BJ,EAAAA,oBAAoB,EAAE;AACpBK,IAAAA,eAAe,EAAE,oBADG;AAEpBC,IAAAA,IAAI,EAAE,CAFc;AAGpBC,IAAAA,cAAc,EAAE,UAHI;AAIpBC,IAAAA,aAAa,EAAE,CAJK;AAKpBC,IAAAA,UAAU,EAAE;AALQ,GADS;AAQ/BP,EAAAA,eAAe,EAAE;AACfG,IAAAA,eAAe,EAAE,OADF;AAEfK,IAAAA,QAAQ,EAAE,QAFK;AAGfF,IAAAA,aAAa,EAAE,CAHA;AAIfC,IAAAA,UAAU,EAAE;AAJG,GARc;AAc/BR,EAAAA,MAAM,EAAE;AACNK,IAAAA,IAAI,EAAE;AADA;AAduB,CAAlB,CAAf;;eAmBepB,U","sourcesContent":["import * as React from 'react';\nimport {\n View,\n TouchableOpacity,\n BackHandler,\n ViewStyle,\n StyleProp,\n StyleSheet,\n} from 'react-native';\n\nimport Overlay from './Overlay';\nimport Sheet from './Sheet';\n\nexport interface ShareSheetProps {\n visible: boolean;\n onCancel: () => void;\n style?: StyleProp<ViewStyle>;\n overlayStyle?: StyleProp<ViewStyle>;\n}\n\nconst ShareSheet: React.FC<React.PropsWithChildren<ShareSheetProps>> = ({\n style = {},\n overlayStyle = {},\n visible,\n onCancel,\n children,\n}) => {\n const backButtonHandler = React.useCallback(() => {\n if (visible) {\n onCancel();\n return true;\n }\n return false;\n }, [visible, onCancel]);\n\n React.useEffect(() => {\n BackHandler.addEventListener('hardwareBackPress', backButtonHandler);\n return () => {\n BackHandler.removeEventListener('hardwareBackPress', backButtonHandler);\n };\n }, [backButtonHandler]);\n\n return (\n <Overlay visible={visible}>\n <View style={[styles.actionSheetContainer, overlayStyle]}>\n <TouchableOpacity style={styles.button} onPress={onCancel} />\n <Sheet visible={visible}>\n <View style={[styles.buttonContainer, style]}>{children}</View>\n </Sheet>\n </View>\n </Overlay>\n );\n};\n\nconst styles = StyleSheet.create({\n actionSheetContainer: {\n backgroundColor: 'rgba(0, 0, 0, 0.5)',\n flex: 1,\n justifyContent: 'flex-end',\n paddingBottom: 0,\n paddingTop: 10,\n },\n buttonContainer: {\n backgroundColor: 'white',\n overflow: 'hidden',\n paddingBottom: 5,\n paddingTop: 5,\n },\n button: {\n flex: 1,\n },\n});\n\nexport default ShareSheet;\n"]}
|
|
@@ -13,37 +13,27 @@ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return
|
|
|
13
13
|
|
|
14
14
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
15
15
|
|
|
16
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
17
|
-
|
|
18
16
|
const DEFAULT_BOTTOM = -300;
|
|
19
17
|
const DEFAULT_ANIMATE_TIME = 300;
|
|
20
18
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
UNSAFE_componentWillReceiveProps(newProps) {
|
|
31
|
-
return _reactNative.Animated.timing(this.state.bottom, {
|
|
32
|
-
toValue: newProps.visible ? 0 : DEFAULT_BOTTOM,
|
|
19
|
+
const Sheet = ({
|
|
20
|
+
visible,
|
|
21
|
+
children
|
|
22
|
+
}) => {
|
|
23
|
+
const [bottom] = React.useState(new _reactNative.Animated.Value(DEFAULT_BOTTOM));
|
|
24
|
+
React.useEffect(() => {
|
|
25
|
+
return _reactNative.Animated.timing(bottom, {
|
|
26
|
+
toValue: visible ? 0 : DEFAULT_BOTTOM,
|
|
33
27
|
duration: DEFAULT_ANIMATE_TIME,
|
|
34
28
|
useNativeDriver: false
|
|
35
29
|
}).start();
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}, this.props.children);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
}
|
|
30
|
+
}, [visible, bottom]);
|
|
31
|
+
return /*#__PURE__*/React.createElement(_reactNative.Animated.View, {
|
|
32
|
+
style: {
|
|
33
|
+
bottom
|
|
34
|
+
}
|
|
35
|
+
}, children);
|
|
36
|
+
};
|
|
47
37
|
|
|
48
38
|
var _default = Sheet;
|
|
49
39
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Sheet.tsx"],"names":["DEFAULT_BOTTOM","DEFAULT_ANIMATE_TIME","Sheet","
|
|
1
|
+
{"version":3,"sources":["Sheet.tsx"],"names":["DEFAULT_BOTTOM","DEFAULT_ANIMATE_TIME","Sheet","visible","children","bottom","React","useState","Animated","Value","useEffect","timing","toValue","duration","useNativeDriver","start"],"mappings":";;;;;;;AAAA;;AACA;;;;;;AAEA,MAAMA,cAAc,GAAG,CAAC,GAAxB;AACA,MAAMC,oBAAoB,GAAG,GAA7B;;AAMA,MAAMC,KAAoD,GAAG,CAAC;AAAEC,EAAAA,OAAF;AAAWC,EAAAA;AAAX,CAAD,KAA2B;AACtF,QAAM,CAACC,MAAD,IAAWC,KAAK,CAACC,QAAN,CAAe,IAAIC,sBAASC,KAAb,CAAmBT,cAAnB,CAAf,CAAjB;AAEAM,EAAAA,KAAK,CAACI,SAAN,CAAgB,MAAM;AACpB,WAAOF,sBAASG,MAAT,CAAgBN,MAAhB,EAAwB;AAC7BO,MAAAA,OAAO,EAAET,OAAO,GAAG,CAAH,GAAOH,cADM;AAE7Ba,MAAAA,QAAQ,EAAEZ,oBAFmB;AAG7Ba,MAAAA,eAAe,EAAE;AAHY,KAAxB,EAIJC,KAJI,EAAP;AAKD,GAND,EAMG,CAACZ,OAAD,EAAUE,MAAV,CANH;AAQA,sBAAO,oBAAC,qBAAD,CAAU,IAAV;AAAe,IAAA,KAAK,EAAE;AAAEA,MAAAA;AAAF;AAAtB,KAAmCD,QAAnC,CAAP;AACD,CAZD;;eAceF,K","sourcesContent":["import * as React from 'react';\nimport { Animated } from 'react-native';\n\nconst DEFAULT_BOTTOM = -300;\nconst DEFAULT_ANIMATE_TIME = 300;\n\nexport interface SheetProps {\n visible: boolean;\n}\n\nconst Sheet: React.FC<React.PropsWithChildren<SheetProps>> = ({ visible, children }) => {\n const [bottom] = React.useState(new Animated.Value(DEFAULT_BOTTOM));\n\n React.useEffect(() => {\n return Animated.timing(bottom, {\n toValue: visible ? 0 : DEFAULT_BOTTOM,\n duration: DEFAULT_ANIMATE_TIME,\n useNativeDriver: false,\n }).start();\n }, [visible, bottom]);\n\n return <Animated.View style={{ bottom }}>{children}</Animated.View>;\n};\n\nexport default Sheet;\n"]}
|
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","social","appId","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 if (options.social === RNShare.Social.INSTAGRAM_STORIES && !options.appId) {\n return reject({\n success: false,\n message: 'Instagram Story share requires an appId based on Meta policy.',\n });\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"]}
|
|
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","social","appId","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 }\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 if (options.social === RNShare.Social.INSTAGRAM_STORIES && !options.appId) {\n return reject({\n success: false,\n message: 'Instagram Story share requires an appId based on Meta policy.',\n });\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"]}
|
|
@@ -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;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
|
|
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 ActivityTypeItemSource]?: ActivityItem | null | undefined };\n subject?: { [key in ActivityTypeItemSource]?: string };\n dataTypeIdentifier?: { [key in ActivityTypeItemSource]?: string };\n thumbnailImage?: { [key in ActivityTypeItemSource]?: 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 appId: string;\n}\n\nexport interface FacebookStoriesShareSingleOptions extends BaseSocialStoriesShareSingleOptions {\n social: Social.FacebookStories;\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[] | string[];\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 type ActivityTypeItemSource = ActivityType | string;\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":["Button.tsx"],"names":["React","StyleSheet","Text","TouchableOpacity","Image","Button","buttonStyle","onPress","iconSrc","textStyle","children","styles","button","icon","buttonText","create","backgroundColor","flexDirection","height","padding","color","fontSize","fontWeight","textAlign","textAlignVertical","marginLeft","marginRight","width"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SACEC,UADF,EAEEC,IAFF,EAGEC,gBAHF,EAIEC,KAJF,QASO,cATP;;AAmBA,MAAMC,
|
|
1
|
+
{"version":3,"sources":["Button.tsx"],"names":["React","StyleSheet","Text","TouchableOpacity","Image","Button","buttonStyle","onPress","iconSrc","textStyle","children","styles","button","icon","buttonText","create","backgroundColor","flexDirection","height","padding","color","fontSize","fontWeight","textAlign","textAlignVertical","marginLeft","marginRight","width"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SACEC,UADF,EAEEC,IAFF,EAGEC,gBAHF,EAIEC,KAJF,QASO,cATP;;AAmBA,MAAMC,MAA6B,GAAG,CAAC;AACrCC,EAAAA,WADqC;AAErCC,EAAAA,OAFqC;AAGrCC,EAAAA,OAHqC;AAIrCC,EAAAA,SAJqC;AAKrCC,EAAAA;AALqC,CAAD,kBAOpC,oBAAC,gBAAD;AAAkB,EAAA,aAAa,EAAE,GAAjC;AAAsC,EAAA,KAAK,EAAE,CAACC,MAAM,CAACC,MAAR,EAAgBN,WAAhB,CAA7C;AAA2E,EAAA,OAAO,EAAEC;AAApF,gBACE,oBAAC,KAAD;AAAO,EAAA,KAAK,EAAEI,MAAM,CAACE,IAArB;AAA2B,EAAA,MAAM,EAAEL;AAAnC,EADF,eAEE,oBAAC,IAAD;AAAM,EAAA,KAAK,EAAE,CAACG,MAAM,CAACG,UAAR,EAAoBL,SAApB;AAAb,GAA8CC,QAA9C,CAFF,CAPF;;AAaA,eAAeL,MAAf;AAEA,MAAMM,MAAM,GAAGV,UAAU,CAACc,MAAX,CAAkB;AAC/BH,EAAAA,MAAM,EAAE;AACNI,IAAAA,eAAe,EAAE,OADX;AAENC,IAAAA,aAAa,EAAE,KAFT;AAGNC,IAAAA,MAAM,EAAE,EAHF;AAINC,IAAAA,OAAO,EAAE;AAJH,GADuB;AAO/BL,EAAAA,UAAU,EAAE;AACVM,IAAAA,KAAK,EAAE,SADG;AAEVC,IAAAA,QAAQ,EAAE,EAFA;AAGVC,IAAAA,UAAU,EAAE,MAHF;AAIVC,IAAAA,SAAS,EAAE,MAJD;AAKVC,IAAAA,iBAAiB,EAAE;AALT,GAPmB;AAc/BX,EAAAA,IAAI,EAAE;AACJK,IAAAA,MAAM,EAAE,EADJ;AAEJO,IAAAA,UAAU,EAAE,EAFR;AAGJC,IAAAA,WAAW,EAAE,EAHT;AAIJC,IAAAA,KAAK,EAAE;AAJH;AAdyB,CAAlB,CAAf","sourcesContent":["import * as React from 'react';\nimport {\n StyleSheet,\n Text,\n TouchableOpacity,\n Image,\n ImageSourcePropType,\n StyleProp,\n TextStyle,\n ViewStyle,\n} from 'react-native';\n\nexport interface ButtonProps {\n onPress: () => void;\n iconSrc: ImageSourcePropType;\n buttonStyle?: StyleProp<ViewStyle>;\n textStyle?: StyleProp<TextStyle>;\n children: React.ReactNode;\n}\n\nconst Button: React.FC<ButtonProps> = ({\n buttonStyle,\n onPress,\n iconSrc,\n textStyle,\n children,\n}: ButtonProps) => (\n <TouchableOpacity activeOpacity={0.5} style={[styles.button, buttonStyle]} onPress={onPress}>\n <Image style={styles.icon} source={iconSrc} />\n <Text style={[styles.buttonText, textStyle]}>{children}</Text>\n </TouchableOpacity>\n);\n\nexport default Button;\n\nconst styles = StyleSheet.create({\n button: {\n backgroundColor: 'white',\n flexDirection: 'row',\n height: 50,\n padding: 10,\n },\n buttonText: {\n color: '#2c2c2c',\n fontSize: 16,\n fontWeight: 'bold',\n textAlign: 'left',\n textAlignVertical: 'center',\n },\n icon: {\n height: 28,\n marginLeft: 10,\n marginRight: 30,\n width: 28,\n },\n});\n"]}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
-
|
|
3
1
|
import * as React from 'react';
|
|
4
2
|
import { Animated, StyleSheet } from 'react-native';
|
|
5
3
|
const DEFAULT_ANIMATE_TIME = 300;
|
|
@@ -20,47 +18,34 @@ const styles = StyleSheet.create({
|
|
|
20
18
|
}
|
|
21
19
|
});
|
|
22
20
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
});
|
|
21
|
+
const Overlay = ({
|
|
22
|
+
visible,
|
|
23
|
+
children
|
|
24
|
+
}) => {
|
|
25
|
+
const [fadeAnim] = React.useState(new Animated.Value(0));
|
|
26
|
+
const [overlayStyle, setOverlayStyle] = React.useState(styles.emptyOverlay);
|
|
27
|
+
const onAnimatedEnd = React.useCallback(() => {
|
|
28
|
+
if (!visible) {
|
|
29
|
+
setOverlayStyle(styles.emptyOverlay);
|
|
30
|
+
}
|
|
31
|
+
}, [visible]);
|
|
32
|
+
React.useEffect(() => {
|
|
33
|
+
if (visible) {
|
|
34
|
+
setOverlayStyle(styles.fullOverlay);
|
|
38
35
|
}
|
|
39
36
|
|
|
40
|
-
return Animated.timing(
|
|
41
|
-
toValue:
|
|
37
|
+
return Animated.timing(fadeAnim, {
|
|
38
|
+
toValue: visible ? 1 : 0,
|
|
42
39
|
duration: DEFAULT_ANIMATE_TIME,
|
|
43
40
|
useNativeDriver: false
|
|
44
|
-
}).start(
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
render() {
|
|
56
|
-
return /*#__PURE__*/React.createElement(Animated.View, {
|
|
57
|
-
style: [this.state.overlayStyle, {
|
|
58
|
-
opacity: this.state.fadeAnim
|
|
59
|
-
}]
|
|
60
|
-
}, this.props.children);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
}
|
|
41
|
+
}).start(onAnimatedEnd);
|
|
42
|
+
}, [visible, fadeAnim, onAnimatedEnd]);
|
|
43
|
+
return /*#__PURE__*/React.createElement(Animated.View, {
|
|
44
|
+
style: [overlayStyle, {
|
|
45
|
+
opacity: fadeAnim
|
|
46
|
+
}]
|
|
47
|
+
}, children);
|
|
48
|
+
};
|
|
64
49
|
|
|
65
50
|
export default Overlay;
|
|
66
51
|
//# sourceMappingURL=Overlay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Overlay.tsx"],"names":["React","Animated","StyleSheet","DEFAULT_ANIMATE_TIME","styles","create","emptyOverlay","backgroundColor","height","position","width","fullOverlay","bottom","left","right","top","Overlay","
|
|
1
|
+
{"version":3,"sources":["Overlay.tsx"],"names":["React","Animated","StyleSheet","DEFAULT_ANIMATE_TIME","styles","create","emptyOverlay","backgroundColor","height","position","width","fullOverlay","bottom","left","right","top","Overlay","visible","children","fadeAnim","useState","Value","overlayStyle","setOverlayStyle","onAnimatedEnd","useCallback","useEffect","timing","toValue","duration","useNativeDriver","start","opacity"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,QAAT,EAA8BC,UAA9B,QAA2D,cAA3D;AAEA,MAAMC,oBAAoB,GAAG,GAA7B;AACA,MAAMC,MAAM,GAAGF,UAAU,CAACG,MAAX,CAAkB;AAC/BC,EAAAA,YAAY,EAAE;AACZC,IAAAA,eAAe,EAAE,aADL;AAEZC,IAAAA,MAAM,EAAE,CAFI;AAGZC,IAAAA,QAAQ,EAAE,UAHE;AAIZC,IAAAA,KAAK,EAAE;AAJK,GADiB;AAO/BC,EAAAA,WAAW,EAAE;AACXJ,IAAAA,eAAe,EAAE,aADN;AAEXK,IAAAA,MAAM,EAAE,CAFG;AAGXC,IAAAA,IAAI,EAAE,CAHK;AAIXJ,IAAAA,QAAQ,EAAE,UAJC;AAKXK,IAAAA,KAAK,EAAE,CALI;AAMXC,IAAAA,GAAG,EAAE;AANM;AAPkB,CAAlB,CAAf;;AAqBA,MAAMC,OAAwD,GAAG,CAAC;AAAEC,EAAAA,OAAF;AAAWC,EAAAA;AAAX,CAAD,KAA2B;AAC1F,QAAM,CAACC,QAAD,IAAanB,KAAK,CAACoB,QAAN,CAAe,IAAInB,QAAQ,CAACoB,KAAb,CAAmB,CAAnB,CAAf,CAAnB;AACA,QAAM,CAACC,YAAD,EAAeC,eAAf,IAAkCvB,KAAK,CAACoB,QAAN,CAAqChB,MAAM,CAACE,YAA5C,CAAxC;AAEA,QAAMkB,aAAa,GAAGxB,KAAK,CAACyB,WAAN,CAAkB,MAAM;AAC5C,QAAI,CAACR,OAAL,EAAc;AACZM,MAAAA,eAAe,CAACnB,MAAM,CAACE,YAAR,CAAf;AACD;AACF,GAJqB,EAInB,CAACW,OAAD,CAJmB,CAAtB;AAMAjB,EAAAA,KAAK,CAAC0B,SAAN,CAAgB,MAAM;AACpB,QAAIT,OAAJ,EAAa;AACXM,MAAAA,eAAe,CAACnB,MAAM,CAACO,WAAR,CAAf;AACD;;AACD,WAAOV,QAAQ,CAAC0B,MAAT,CAAgBR,QAAhB,EAA0B;AAC/BS,MAAAA,OAAO,EAAEX,OAAO,GAAG,CAAH,GAAO,CADQ;AAE/BY,MAAAA,QAAQ,EAAE1B,oBAFqB;AAG/B2B,MAAAA,eAAe,EAAE;AAHc,KAA1B,EAIJC,KAJI,CAIEP,aAJF,CAAP;AAKD,GATD,EASG,CAACP,OAAD,EAAUE,QAAV,EAAoBK,aAApB,CATH;AAWA,sBAAO,oBAAC,QAAD,CAAU,IAAV;AAAe,IAAA,KAAK,EAAE,CAACF,YAAD,EAAe;AAAEU,MAAAA,OAAO,EAAEb;AAAX,KAAf;AAAtB,KAA8DD,QAA9D,CAAP;AACD,CAtBD;;AAwBA,eAAeF,OAAf","sourcesContent":["import * as React from 'react';\nimport { Animated, StyleProp, StyleSheet, ViewStyle } from 'react-native';\n\nconst DEFAULT_ANIMATE_TIME = 300;\nconst styles = StyleSheet.create({\n emptyOverlay: {\n backgroundColor: 'transparent',\n height: 0,\n position: 'absolute',\n width: 0,\n },\n fullOverlay: {\n backgroundColor: 'transparent',\n bottom: 0,\n left: 0,\n position: 'absolute',\n right: 0,\n top: 0,\n },\n});\n\nexport interface OverlayProps {\n visible: boolean;\n}\n\nconst Overlay: React.FC<React.PropsWithChildren<OverlayProps>> = ({ visible, children }) => {\n const [fadeAnim] = React.useState(new Animated.Value(0));\n const [overlayStyle, setOverlayStyle] = React.useState<StyleProp<ViewStyle>>(styles.emptyOverlay);\n\n const onAnimatedEnd = React.useCallback(() => {\n if (!visible) {\n setOverlayStyle(styles.emptyOverlay);\n }\n }, [visible]);\n\n React.useEffect(() => {\n if (visible) {\n setOverlayStyle(styles.fullOverlay);\n }\n return Animated.timing(fadeAnim, {\n toValue: visible ? 1 : 0,\n duration: DEFAULT_ANIMATE_TIME,\n useNativeDriver: false,\n }).start(onAnimatedEnd);\n }, [visible, fadeAnim, onAnimatedEnd]);\n\n return <Animated.View style={[overlayStyle, { opacity: fadeAnim }]}>{children}</Animated.View>;\n};\n\nexport default Overlay;\n"]}
|