omnipay-reactnative-sdk 0.2.3 → 0.2.4

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.
@@ -0,0 +1,180 @@
1
+ import React, { useCallback, useRef, useState } from 'react';
2
+ import { ActivityIndicator, Linking, PermissionsAndroid, Platform, StyleSheet, View } from 'react-native';
3
+ import WebView from 'react-native-webview';
4
+ import { selectContactPhone } from 'react-native-select-contact';
5
+ export const OmnipayContext = /*#__PURE__*/React.createContext(null);
6
+ export const OmnipayProvider = _ref => {
7
+ let {
8
+ children,
9
+ publicKey,
10
+ env,
11
+ color
12
+ } = _ref;
13
+ const [webviewUrl, setWebviewUrl] = useState("");
14
+ const [webviewStatus, setWebviewStatus] = useState('loading');
15
+ const [useFullscreen, setUseFullScreen] = useState(false);
16
+ const webviewRef = useRef(null);
17
+ const webHost = getWebHost();
18
+ const webviewStyle = getWebviewStyle();
19
+ console.log(useFullscreen);
20
+ function getWebviewStyle() {
21
+ if (webviewUrl === "") {
22
+ return {
23
+ opacity: 0,
24
+ height: 0,
25
+ width: 0,
26
+ flex: 0
27
+ };
28
+ }
29
+ return styles.webview;
30
+ }
31
+ function getWebHost() {
32
+ if (env === 'dev') {
33
+ return 'https://omnipay-websdk.vercel.app/';
34
+ }
35
+ return 'https://sdk.omnipay.ng/';
36
+ }
37
+ const onWebviewMount = `
38
+ window.nativeOs = ${Platform.OS};
39
+ true;
40
+ `;
41
+ function postMessage(data) {
42
+ if (!webviewRef.current) {
43
+ return;
44
+ }
45
+ try {
46
+ webviewRef.current.postMessage(JSON.stringify(data));
47
+ } catch (error) {}
48
+ }
49
+ async function onWebviewMessage(e) {
50
+ try {
51
+ if (e.nativeEvent && e.nativeEvent.data) {
52
+ const eventData = JSON.parse(e.nativeEvent.data);
53
+ const {
54
+ dataKey,
55
+ dataValue
56
+ } = eventData;
57
+ if (dataKey === 'chooseContact') {
58
+ const contactDetails = await getContact();
59
+ postMessage({
60
+ dataKey: 'contactSelected',
61
+ dataValue: contactDetails
62
+ });
63
+ }
64
+ if (dataKey === 'openLink') {
65
+ Linking.openURL(dataValue);
66
+ }
67
+ if (dataKey === 'modalOpen') {
68
+ setUseFullScreen(true);
69
+ }
70
+ if (dataKey === 'modalClosed') {
71
+ setUseFullScreen(false);
72
+ }
73
+ }
74
+ } catch (error) {}
75
+ }
76
+ async function getContact() {
77
+ try {
78
+ const isPermissionGranted = await checkPermisionStatus();
79
+ if (!isPermissionGranted) {
80
+ return {
81
+ name: '',
82
+ phoneNumber: ''
83
+ };
84
+ }
85
+ const result = await selectContactPhone();
86
+ if (!result) {
87
+ return {
88
+ name: '',
89
+ phoneNumber: ''
90
+ };
91
+ }
92
+ let {
93
+ contact,
94
+ selectedPhone
95
+ } = result;
96
+ return {
97
+ name: contact.name,
98
+ phoneNumber: selectedPhone.number
99
+ };
100
+ } catch (error) {
101
+ return {
102
+ name: '',
103
+ phoneNumber: ''
104
+ };
105
+ }
106
+ }
107
+ async function checkPermisionStatus() {
108
+ if (Platform.OS === 'ios') {
109
+ return true;
110
+ }
111
+ if (PermissionsAndroid.PERMISSIONS.READ_CONTACTS) {
112
+ const granted = await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.READ_CONTACTS, {
113
+ title: 'Allow us access your contact list',
114
+ message: 'This will enable you choose a phone number to buy airtime or data for from your contact list',
115
+ buttonNegative: 'Cancel',
116
+ buttonPositive: 'OK'
117
+ });
118
+ if (granted === PermissionsAndroid.RESULTS.GRANTED) {
119
+ return true;
120
+ }
121
+ }
122
+ return false;
123
+ }
124
+ const _initiateBills = useCallback(phoneNumber => {
125
+ if (phoneNumber) {
126
+ if (phoneNumber.length === 11) {
127
+ const webUrl = `${webHost}?theme=${color}&view=bills&publicKey=${publicKey}&phoneNumber=${phoneNumber}`;
128
+ setWebviewUrl(webUrl);
129
+ }
130
+ }
131
+ }, []);
132
+ return /*#__PURE__*/React.createElement(OmnipayContext.Provider, {
133
+ value: {
134
+ initiateBills: _initiateBills
135
+ }
136
+ }, children, /*#__PURE__*/React.createElement(WebView, {
137
+ source: {
138
+ uri: webviewUrl
139
+ },
140
+ style: webviewStyle,
141
+ injectedJavaScriptBeforeContentLoaded: onWebviewMount,
142
+ onMessage: onWebviewMessage,
143
+ ref: webviewRef,
144
+ onLoadStart: () => setWebviewStatus("loading"),
145
+ onLoadEnd: () => setWebviewStatus('success')
146
+ }), webviewStatus === 'loading' && webviewUrl !== "" && /*#__PURE__*/React.createElement(View, {
147
+ style: styles.webviewLoader
148
+ }, /*#__PURE__*/React.createElement(ActivityIndicator, {
149
+ size: "small",
150
+ color: color
151
+ })));
152
+ };
153
+ const styles = StyleSheet.create({
154
+ hide: {
155
+ display: 'none'
156
+ },
157
+ full: {
158
+ flex: 1,
159
+ width: '100%',
160
+ height: '100%'
161
+ },
162
+ webview: {
163
+ flex: 1,
164
+ width: '100%',
165
+ height: '100%'
166
+ },
167
+ webviewLoader: {
168
+ zIndex: 3,
169
+ backgroundColor: 'white',
170
+ alignItems: 'center',
171
+ justifyContent: 'center',
172
+ flex: 1,
173
+ width: '100%',
174
+ height: '100%',
175
+ position: 'absolute',
176
+ top: 0,
177
+ left: 0
178
+ }
179
+ });
180
+ //# sourceMappingURL=OmnipayProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useCallback","useRef","useState","ActivityIndicator","Linking","PermissionsAndroid","Platform","StyleSheet","View","WebView","selectContactPhone","OmnipayContext","createContext","OmnipayProvider","children","publicKey","env","color","webviewUrl","setWebviewUrl","webviewStatus","setWebviewStatus","useFullscreen","setUseFullScreen","webviewRef","webHost","getWebHost","webviewStyle","getWebviewStyle","console","log","opacity","height","width","flex","styles","webview","onWebviewMount","OS","postMessage","data","current","JSON","stringify","error","onWebviewMessage","e","nativeEvent","eventData","parse","dataKey","dataValue","contactDetails","getContact","openURL","isPermissionGranted","checkPermisionStatus","name","phoneNumber","result","contact","selectedPhone","number","PERMISSIONS","READ_CONTACTS","granted","request","title","message","buttonNegative","buttonPositive","RESULTS","GRANTED","_initiateBills","length","webUrl","initiateBills","uri","webviewLoader","create","hide","display","full","zIndex","backgroundColor","alignItems","justifyContent","position","top","left"],"sourceRoot":"../../src","sources":["OmnipayProvider.tsx"],"mappings":"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"}
@@ -0,0 +1,177 @@
1
+ import React, { Fragment, useRef, useState } from 'react';
2
+ import { StyleSheet, View, Platform, PermissionsAndroid, ActivityIndicator, Text, Linking } from 'react-native';
3
+ import { WebView } from 'react-native-webview';
4
+ import { selectContactPhone } from 'react-native-select-contact';
5
+ const OmnipayView = _ref => {
6
+ let {
7
+ color,
8
+ env,
9
+ publicKey,
10
+ phoneNumber,
11
+ view,
12
+ onEnterFullScreen,
13
+ onExitFullScreen
14
+ } = _ref;
15
+ const webviewRef = useRef(null);
16
+ const [webviewStatus, setWebviewStatus] = useState('loading');
17
+ const webHost = getWebHost();
18
+ const webUrl = `${webHost}?theme=${color}&view=${view}&publicKey=${publicKey}&phoneNumber=${phoneNumber}`;
19
+ function getWebHost() {
20
+ if (env === 'dev') {
21
+ return 'https://omnipay-websdk.vercel.app/';
22
+ }
23
+ return 'https://sdk.omnipay.ng/';
24
+ }
25
+ const onWebviewMount = `
26
+ window.nativeOs = ${Platform.OS};
27
+ true;
28
+ `;
29
+ function postMessage(data) {
30
+ if (!webviewRef.current) {
31
+ return;
32
+ }
33
+ try {
34
+ webviewRef.current.postMessage(JSON.stringify(data));
35
+ } catch (error) {}
36
+ }
37
+ async function onWebviewMessage(e) {
38
+ try {
39
+ if (e.nativeEvent && e.nativeEvent.data) {
40
+ const eventData = JSON.parse(e.nativeEvent.data);
41
+ const {
42
+ dataKey,
43
+ dataValue
44
+ } = eventData;
45
+ if (dataKey === 'chooseContact') {
46
+ const contactDetails = await getContact();
47
+ postMessage({
48
+ dataKey: 'contactSelected',
49
+ dataValue: contactDetails
50
+ });
51
+ }
52
+ if (dataKey === 'modalOpen') {
53
+ if (onEnterFullScreen) {
54
+ onEnterFullScreen();
55
+ }
56
+ }
57
+ if (dataKey === 'modalClosed') {
58
+ if (onExitFullScreen) {
59
+ onExitFullScreen();
60
+ }
61
+ }
62
+ if (dataKey === 'openLink') {
63
+ Linking.openURL(dataValue);
64
+ }
65
+ }
66
+ } catch (error) {}
67
+ }
68
+ async function getContact() {
69
+ try {
70
+ const isPermissionGranted = await checkPermisionStatus();
71
+ if (!isPermissionGranted) {
72
+ return {
73
+ name: '',
74
+ phoneNumber: ''
75
+ };
76
+ }
77
+ const result = await selectContactPhone();
78
+ if (!result) {
79
+ return {
80
+ name: '',
81
+ phoneNumber: ''
82
+ };
83
+ }
84
+ let {
85
+ contact,
86
+ selectedPhone
87
+ } = result;
88
+ return {
89
+ name: contact.name,
90
+ phoneNumber: selectedPhone.number
91
+ };
92
+ } catch (error) {
93
+ return {
94
+ name: '',
95
+ phoneNumber: ''
96
+ };
97
+ }
98
+ }
99
+ async function checkPermisionStatus() {
100
+ if (Platform.OS === 'ios') {
101
+ return true;
102
+ }
103
+ if (PermissionsAndroid.PERMISSIONS.READ_CONTACTS) {
104
+ const granted = await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.READ_CONTACTS, {
105
+ title: 'Allow us access your contact list',
106
+ message: 'This will enable you choose a phone number to buy airtime or data for from your contact list',
107
+ buttonNegative: 'Cancel',
108
+ buttonPositive: 'OK'
109
+ });
110
+ if (granted === PermissionsAndroid.RESULTS.GRANTED) {
111
+ return true;
112
+ }
113
+ }
114
+ return false;
115
+ }
116
+ if (view !== 'bills') {
117
+ return /*#__PURE__*/React.createElement(Text, null, "Invalid view");
118
+ }
119
+ if (!publicKey.includes('OMNIPUBKEY_')) {
120
+ return /*#__PURE__*/React.createElement(Text, null, "Invalid public key");
121
+ }
122
+ if (phoneNumber.length !== 11) {
123
+ return /*#__PURE__*/React.createElement(Text, null, "Invalid phone number");
124
+ }
125
+ if (color.length < 3) {
126
+ return /*#__PURE__*/React.createElement(Text, null, "Invalid color");
127
+ }
128
+ if (!['dev', 'prod'].includes(env)) {
129
+ return /*#__PURE__*/React.createElement(Text, null, "Invalid environment");
130
+ }
131
+ return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(View, {
132
+ style: styles.full
133
+ }, /*#__PURE__*/React.createElement(WebView, {
134
+ source: {
135
+ uri: webUrl
136
+ },
137
+ style: styles.webview,
138
+ injectedJavaScriptBeforeContentLoaded: onWebviewMount,
139
+ onMessage: onWebviewMessage,
140
+ ref: webviewRef,
141
+ onLoadEnd: () => setWebviewStatus('success')
142
+ }), webviewStatus === 'loading' && /*#__PURE__*/React.createElement(View, {
143
+ style: styles.webviewLoader
144
+ }, /*#__PURE__*/React.createElement(ActivityIndicator, {
145
+ size: "small",
146
+ color: color
147
+ }))));
148
+ };
149
+ const styles = StyleSheet.create({
150
+ hide: {
151
+ display: 'none'
152
+ },
153
+ full: {
154
+ flex: 1,
155
+ width: '100%',
156
+ height: '100%'
157
+ },
158
+ webview: {
159
+ flex: 1,
160
+ width: '100%',
161
+ height: '100%'
162
+ },
163
+ webviewLoader: {
164
+ zIndex: 3,
165
+ backgroundColor: 'white',
166
+ alignItems: 'center',
167
+ justifyContent: 'center',
168
+ flex: 1,
169
+ width: '100%',
170
+ height: '100%',
171
+ position: 'absolute',
172
+ top: 0,
173
+ left: 0
174
+ }
175
+ });
176
+ export default OmnipayView;
177
+ //# sourceMappingURL=OmnipayView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Fragment","useRef","useState","StyleSheet","View","Platform","PermissionsAndroid","ActivityIndicator","Text","Linking","WebView","selectContactPhone","OmnipayView","color","env","publicKey","phoneNumber","view","onEnterFullScreen","onExitFullScreen","webviewRef","webviewStatus","setWebviewStatus","webHost","getWebHost","webUrl","onWebviewMount","OS","postMessage","data","current","JSON","stringify","error","onWebviewMessage","e","nativeEvent","eventData","parse","dataKey","dataValue","contactDetails","getContact","openURL","isPermissionGranted","checkPermisionStatus","name","result","contact","selectedPhone","number","PERMISSIONS","READ_CONTACTS","granted","request","title","message","buttonNegative","buttonPositive","RESULTS","GRANTED","includes","length","styles","full","uri","webview","webviewLoader","create","hide","display","flex","width","height","zIndex","backgroundColor","alignItems","justifyContent","position","top","left"],"sourceRoot":"../../src","sources":["OmnipayView.tsx"],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { useContext } from 'react';
2
+ import { OmnipayContext } from 'src/components/OmnipayProvider';
3
+ export function useOmnipay() {
4
+ const {
5
+ initiateBills
6
+ } = useContext(OmnipayContext);
7
+ return {
8
+ initiateBills: initiateBills
9
+ };
10
+ }
11
+ ;
12
+ //# sourceMappingURL=useOmnipay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useContext","OmnipayContext","useOmnipay","initiateBills"],"sourceRoot":"../../src","sources":["useOmnipay.tsx"],"mappings":"AAAA,SAASA,UAAU,QAAQ,OAAO;AAClC,SAASC,cAAc,QAA4B,gCAAgC;AAEnF,OAAO,SAASC,UAAU,GAAG;EACzB,MAAM;IAAEC;EAAc,CAAC,GAAGH,UAAU,CAACC,cAAc,CAAuB;EAC1E,OAAO;IACHE,aAAa,EAAEA;EACnB,CAAC;AACL;AAAC"}
@@ -1,177 +1,5 @@
1
- import React, { Fragment, useRef, useState } from 'react';
2
- import { StyleSheet, View, Platform, PermissionsAndroid, ActivityIndicator, Text, Linking } from 'react-native';
3
- import { WebView } from 'react-native-webview';
4
- import { selectContactPhone } from 'react-native-select-contact';
5
- const Omnipay = _ref => {
6
- let {
7
- color,
8
- env,
9
- publicKey,
10
- phoneNumber,
11
- view,
12
- onEnterFullScreen,
13
- onExitFullScreen
14
- } = _ref;
15
- const webviewRef = useRef(null);
16
- const [webviewStatus, setWebviewStatus] = useState('loading');
17
- const webHost = getWebHost();
18
- const webUrl = `${webHost}?theme=${color}&view=${view}&publicKey=${publicKey}&phoneNumber=${phoneNumber}`;
19
- function getWebHost() {
20
- if (env === 'dev') {
21
- return 'https://omnipay-websdk.vercel.app/';
22
- }
23
- return 'https://sdk.omnipay.ng/';
24
- }
25
- const onWebviewMount = `
26
- window.nativeOs = ${Platform.OS};
27
- true;
28
- `;
29
- function postMessage(data) {
30
- if (!webviewRef.current) {
31
- return;
32
- }
33
- try {
34
- webviewRef.current.postMessage(JSON.stringify(data));
35
- } catch (error) {}
36
- }
37
- async function onWebviewMessage(e) {
38
- try {
39
- if (e.nativeEvent && e.nativeEvent.data) {
40
- const eventData = JSON.parse(e.nativeEvent.data);
41
- const {
42
- dataKey,
43
- dataValue
44
- } = eventData;
45
- if (dataKey === 'chooseContact') {
46
- const contactDetails = await getContact();
47
- postMessage({
48
- dataKey: 'contactSelected',
49
- dataValue: contactDetails
50
- });
51
- }
52
- if (dataKey === 'modalOpen') {
53
- if (onEnterFullScreen) {
54
- onEnterFullScreen();
55
- }
56
- }
57
- if (dataKey === 'modalClosed') {
58
- if (onExitFullScreen) {
59
- onExitFullScreen();
60
- }
61
- }
62
- if (dataKey === 'openLink') {
63
- Linking.openURL(dataValue);
64
- }
65
- }
66
- } catch (error) {}
67
- }
68
- async function getContact() {
69
- try {
70
- const isPermissionGranted = await checkPermisionStatus();
71
- if (!isPermissionGranted) {
72
- return {
73
- name: '',
74
- phoneNumber: ''
75
- };
76
- }
77
- const result = await selectContactPhone();
78
- if (!result) {
79
- return {
80
- name: '',
81
- phoneNumber: ''
82
- };
83
- }
84
- let {
85
- contact,
86
- selectedPhone
87
- } = result;
88
- return {
89
- name: contact.name,
90
- phoneNumber: selectedPhone.number
91
- };
92
- } catch (error) {
93
- return {
94
- name: '',
95
- phoneNumber: ''
96
- };
97
- }
98
- }
99
- async function checkPermisionStatus() {
100
- if (Platform.OS === 'ios') {
101
- return true;
102
- }
103
- if (PermissionsAndroid.PERMISSIONS.READ_CONTACTS) {
104
- const granted = await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.READ_CONTACTS, {
105
- title: 'Allow us access your contact list',
106
- message: 'This will enable you choose a phone number to buy airtime or data for from your contact list',
107
- buttonNegative: 'Cancel',
108
- buttonPositive: 'OK'
109
- });
110
- if (granted === PermissionsAndroid.RESULTS.GRANTED) {
111
- return true;
112
- }
113
- }
114
- return false;
115
- }
116
- if (view !== 'bills') {
117
- return /*#__PURE__*/React.createElement(Text, null, "Invalid view");
118
- }
119
- if (!publicKey.includes('OMNIPUBKEY_')) {
120
- return /*#__PURE__*/React.createElement(Text, null, "Invalid public key");
121
- }
122
- if (phoneNumber.length !== 11) {
123
- return /*#__PURE__*/React.createElement(Text, null, "Invalid phone number");
124
- }
125
- if (color.length < 3) {
126
- return /*#__PURE__*/React.createElement(Text, null, "Invalid color");
127
- }
128
- if (!['dev', 'prod'].includes(env)) {
129
- return /*#__PURE__*/React.createElement(Text, null, "Invalid environment");
130
- }
131
- return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(View, {
132
- style: styles.full
133
- }, /*#__PURE__*/React.createElement(WebView, {
134
- source: {
135
- uri: webUrl
136
- },
137
- style: styles.webview,
138
- injectedJavaScriptBeforeContentLoaded: onWebviewMount,
139
- onMessage: onWebviewMessage,
140
- ref: webviewRef,
141
- onLoadEnd: () => setWebviewStatus('success')
142
- }), webviewStatus === 'loading' && /*#__PURE__*/React.createElement(View, {
143
- style: styles.webviewLoader
144
- }, /*#__PURE__*/React.createElement(ActivityIndicator, {
145
- size: "small",
146
- color: color
147
- }))));
148
- };
149
- const styles = StyleSheet.create({
150
- hide: {
151
- display: 'none'
152
- },
153
- full: {
154
- flex: 1,
155
- width: '100%',
156
- height: '100%'
157
- },
158
- webview: {
159
- flex: 1,
160
- width: '100%',
161
- height: '100%'
162
- },
163
- webviewLoader: {
164
- zIndex: 3,
165
- backgroundColor: 'white',
166
- alignItems: 'center',
167
- justifyContent: 'center',
168
- flex: 1,
169
- width: '100%',
170
- height: '100%',
171
- position: 'absolute',
172
- top: 0,
173
- left: 0
174
- }
175
- });
176
- export default Omnipay;
1
+ import { OmnipayProvider } from "./components/OmnipayProvider";
2
+ import OmnipayView from "./components/OmnipayView";
3
+ export { OmnipayProvider };
4
+ export { OmnipayView };
177
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Fragment","useRef","useState","StyleSheet","View","Platform","PermissionsAndroid","ActivityIndicator","Text","Linking","WebView","selectContactPhone","Omnipay","color","env","publicKey","phoneNumber","view","onEnterFullScreen","onExitFullScreen","webviewRef","webviewStatus","setWebviewStatus","webHost","getWebHost","webUrl","onWebviewMount","OS","postMessage","data","current","JSON","stringify","error","onWebviewMessage","e","nativeEvent","eventData","parse","dataKey","dataValue","contactDetails","getContact","openURL","isPermissionGranted","checkPermisionStatus","name","result","contact","selectedPhone","number","PERMISSIONS","READ_CONTACTS","granted","request","title","message","buttonNegative","buttonPositive","RESULTS","GRANTED","includes","length","styles","full","uri","webview","webviewLoader","create","hide","display","flex","width","height","zIndex","backgroundColor","alignItems","justifyContent","position","top","left"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["OmnipayProvider","OmnipayView"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,eAAe,QAAQ,8BAA8B;AAC9D,OAAOC,WAAW,MAAM,0BAA0B;AAElD,SAASD,eAAe;AACxB,SAASC,WAAW"}
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ declare type OmnipayProviderProps = {
3
+ publicKey: string;
4
+ env: 'dev' | 'prod';
5
+ color: string;
6
+ children: React.ReactElement | React.ReactElement[];
7
+ };
8
+ export declare type OmnipayContextType = {
9
+ initiateBills: (color: string, phoneNumber: string) => void;
10
+ };
11
+ export declare const OmnipayContext: React.Context<OmnipayContextType | null>;
12
+ export declare const OmnipayProvider: ({ children, publicKey, env, color }: OmnipayProviderProps) => JSX.Element;
13
+ export {};
14
+ //# sourceMappingURL=OmnipayProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OmnipayProvider.d.ts","sourceRoot":"","sources":["../../../src/components/OmnipayProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAK7D,aAAK,oBAAoB,GAAG;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,KAAK,GAAG,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,EAAE,CAAA;CACtD,CAAA;AAQD,oBAAY,kBAAkB,GAAG;IAC7B,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/D,CAAA;AAED,eAAO,MAAM,cAAc,0CAAuD,CAAC;AAEnF,eAAO,MAAM,eAAe,wCAAyC,oBAAoB,gBA4IxF,CAAC"}
@@ -0,0 +1,12 @@
1
+ declare type OmnipayProps = {
2
+ color: string;
3
+ env: 'dev' | 'prod';
4
+ publicKey: string;
5
+ phoneNumber: string;
6
+ view: 'bills';
7
+ onEnterFullScreen?: () => void;
8
+ onExitFullScreen?: () => void;
9
+ };
10
+ declare const OmnipayView: ({ color, env, publicKey, phoneNumber, view, onEnterFullScreen, onExitFullScreen, }: OmnipayProps) => JSX.Element;
11
+ export default OmnipayView;
12
+ //# sourceMappingURL=OmnipayView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OmnipayView.d.ts","sourceRoot":"","sources":["../../../src/components/OmnipayView.tsx"],"names":[],"mappings":"AAaA,aAAK,YAAY,GAAG;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,KAAK,GAAG,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;CACjC,CAAC;AAQF,QAAA,MAAM,WAAW,uFAQd,YAAY,KAAG,WAwIjB,CAAC;AA8BF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare function useOmnipay(): {
2
+ initiateBills: (color: string, phoneNumber: string) => void;
3
+ };
4
+ //# sourceMappingURL=useOmnipay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOmnipay.d.ts","sourceRoot":"","sources":["../../../src/hooks/useOmnipay.tsx"],"names":[],"mappings":"AAGA,wBAAgB,UAAU;;EAKzB"}
@@ -1,12 +1,5 @@
1
- declare type OmnipayProps = {
2
- color: string;
3
- env: 'dev' | 'prod';
4
- publicKey: string;
5
- phoneNumber: string;
6
- view: 'bills';
7
- onEnterFullScreen?: () => void;
8
- onExitFullScreen?: () => void;
9
- };
10
- declare const Omnipay: ({ color, env, publicKey, phoneNumber, view, onEnterFullScreen, onExitFullScreen, }: OmnipayProps) => JSX.Element;
11
- export default Omnipay;
1
+ import { OmnipayProvider } from "./components/OmnipayProvider";
2
+ import OmnipayView from "./components/OmnipayView";
3
+ export { OmnipayProvider };
4
+ export { OmnipayView };
12
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAaA,aAAK,YAAY,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,KAAK,GAAG,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;CAC/B,CAAC;AAQF,QAAA,MAAM,OAAO,uFAQV,YAAY,KAAG,WAwIjB,CAAC;AA8BF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,WAAW,MAAM,0BAA0B,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,CAAA"}