@duffel/react-native-components-assistant 0.5.0 → 0.5.1-canary.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/module/index.js +53 -22
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/index.tsx +69 -31
package/lib/module/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import React from 'react';
|
|
4
|
-
import { Linking, Modal, Platform, StyleSheet, View } from 'react-native';
|
|
4
|
+
import { KeyboardAvoidingView, Linking, Modal, Platform, StyleSheet, View } from 'react-native';
|
|
5
5
|
import { WebView } from 'react-native-webview';
|
|
6
6
|
import { hasJsonWebTokenFormat } from "./lib/hasJsonWebTokenFormat.js";
|
|
7
7
|
import { getClientKeyPayload } from "./lib/getClientKeyPayload.js";
|
|
@@ -78,13 +78,47 @@ export const DuffelAssistant = ({
|
|
|
78
78
|
Linking.openURL(request.url).catch(() => {});
|
|
79
79
|
return false;
|
|
80
80
|
};
|
|
81
|
+
if (Platform.OS === 'android') {
|
|
82
|
+
return /*#__PURE__*/_jsx(Modal, {
|
|
83
|
+
visible: isOpen,
|
|
84
|
+
onRequestClose: () => onClose(),
|
|
85
|
+
animationType: "slide",
|
|
86
|
+
children: /*#__PURE__*/_jsx(KeyboardAvoidingView, {
|
|
87
|
+
behavior: 'padding',
|
|
88
|
+
enabled: true,
|
|
89
|
+
style: styles.keyboardAvoidingView,
|
|
90
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
91
|
+
style: styles.androidContainer,
|
|
92
|
+
children: /*#__PURE__*/_jsx(WebView
|
|
93
|
+
// Required for Android
|
|
94
|
+
, {
|
|
95
|
+
injectedJavaScript: `
|
|
96
|
+
postMessage(
|
|
97
|
+
{
|
|
98
|
+
type: "duffel-assistant-open",
|
|
99
|
+
properties: ${JSON.stringify(properties)},
|
|
100
|
+
},
|
|
101
|
+
"*",
|
|
102
|
+
);
|
|
103
|
+
true;`,
|
|
104
|
+
source: {
|
|
105
|
+
uri: assistantIframeUrl
|
|
106
|
+
},
|
|
107
|
+
onMessage: handleMessage,
|
|
108
|
+
onShouldStartLoadWithRequest: handleShouldStartLoadWithRequest,
|
|
109
|
+
style: styles.webView
|
|
110
|
+
})
|
|
111
|
+
})
|
|
112
|
+
})
|
|
113
|
+
});
|
|
114
|
+
}
|
|
81
115
|
return /*#__PURE__*/_jsx(Modal, {
|
|
82
116
|
visible: isOpen,
|
|
83
117
|
onRequestClose: () => onClose(),
|
|
84
118
|
animationType: "slide",
|
|
85
119
|
children: /*#__PURE__*/_jsx(View, {
|
|
86
120
|
style: styles.container,
|
|
87
|
-
children:
|
|
121
|
+
children: /*#__PURE__*/_jsx(WebView, {
|
|
88
122
|
injectedJavaScriptObject: properties
|
|
89
123
|
// When you are running this in development iOS doesn't allow request from hosts with invalid https certificates.
|
|
90
124
|
// If you try ngrok with the local esbuild server it will fail because ngrok requests in https and the dev server rejects http requests.
|
|
@@ -95,35 +129,32 @@ export const DuffelAssistant = ({
|
|
|
95
129
|
uri: assistantIframeUrl
|
|
96
130
|
},
|
|
97
131
|
onMessage: handleMessage,
|
|
98
|
-
onShouldStartLoadWithRequest: handleShouldStartLoadWithRequest
|
|
99
|
-
|
|
100
|
-
// Required for Android
|
|
101
|
-
, {
|
|
102
|
-
injectedJavaScript: `
|
|
103
|
-
postMessage(
|
|
104
|
-
{
|
|
105
|
-
type: "duffel-assistant-open",
|
|
106
|
-
properties: ${JSON.stringify(properties)},
|
|
107
|
-
},
|
|
108
|
-
"*",
|
|
109
|
-
);
|
|
110
|
-
true;`,
|
|
111
|
-
source: {
|
|
112
|
-
uri: assistantIframeUrl
|
|
113
|
-
},
|
|
114
|
-
onMessage: handleMessage,
|
|
115
|
-
onShouldStartLoadWithRequest: handleShouldStartLoadWithRequest
|
|
132
|
+
onShouldStartLoadWithRequest: handleShouldStartLoadWithRequest,
|
|
133
|
+
style: styles.webView
|
|
116
134
|
})
|
|
117
135
|
})
|
|
118
136
|
});
|
|
119
137
|
};
|
|
120
138
|
const styles = StyleSheet.create({
|
|
139
|
+
keyboardAvoidingView: {
|
|
140
|
+
flex: 1
|
|
141
|
+
},
|
|
121
142
|
container: {
|
|
122
|
-
|
|
143
|
+
flex: 1,
|
|
144
|
+
width: '100%',
|
|
145
|
+
paddingHorizontal: 12,
|
|
146
|
+
paddingTop: 50,
|
|
147
|
+
paddingBottom: 10
|
|
148
|
+
},
|
|
149
|
+
androidContainer: {
|
|
150
|
+
flex: 1,
|
|
123
151
|
width: '100%',
|
|
124
152
|
paddingHorizontal: 12,
|
|
125
153
|
paddingTop: 50,
|
|
126
|
-
paddingBottom:
|
|
154
|
+
paddingBottom: 10
|
|
155
|
+
},
|
|
156
|
+
webView: {
|
|
157
|
+
flex: 1
|
|
127
158
|
}
|
|
128
159
|
});
|
|
129
160
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Linking","Modal","Platform","StyleSheet","View","WebView","hasJsonWebTokenFormat","getClientKeyPayload","jsx","_jsx","assistantIframeUrl","isHttpUrl","url","test","isAssistantIframeUrl","parsedUrl","URL","origin","pathname","error","DuffelAssistant","isOpen","onClose","onNewMessage","properties","clientKey","Error","clientKeyPayload","clientKeyIncludesResource","order_id","undefined","booking_id","cars_booking_id","issueType","console","warn","context","supportChannels","chat","showMinimiseButton","onMinimise","handleMessage","event","nativeEvent","data","parsedData","JSON","parse","type","userId","resourceId","handleShouldStartLoadWithRequest","request","OS","navigationType","openURL","catch","visible","onRequestClose","animationType","children","style","styles","
|
|
1
|
+
{"version":3,"names":["React","KeyboardAvoidingView","Linking","Modal","Platform","StyleSheet","View","WebView","hasJsonWebTokenFormat","getClientKeyPayload","jsx","_jsx","assistantIframeUrl","isHttpUrl","url","test","isAssistantIframeUrl","parsedUrl","URL","origin","pathname","error","DuffelAssistant","isOpen","onClose","onNewMessage","properties","clientKey","Error","clientKeyPayload","clientKeyIncludesResource","order_id","undefined","booking_id","cars_booking_id","issueType","console","warn","context","supportChannels","chat","showMinimiseButton","onMinimise","handleMessage","event","nativeEvent","data","parsedData","JSON","parse","type","userId","resourceId","handleShouldStartLoadWithRequest","request","OS","navigationType","openURL","catch","visible","onRequestClose","animationType","children","behavior","enabled","style","styles","keyboardAvoidingView","androidContainer","injectedJavaScript","stringify","source","uri","onMessage","onShouldStartLoadWithRequest","webView","container","injectedJavaScriptObject","create","flex","width","paddingHorizontal","paddingTop","paddingBottom"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACEC,oBAAoB,EACpBC,OAAO,EACPC,KAAK,EACLC,QAAQ,EACRC,UAAU,EACVC,IAAI,QACC,cAAc;AACrB,SAASC,OAAO,QAAQ,sBAAsB;AAE9C,SAASC,qBAAqB,QAAQ,gCAA6B;AACnE,SAASC,mBAAmB,QAAQ,8BAA2B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAIhE,MAAMC,kBAAkB,GAAG,iDAAiD;AAa5E,MAAMC,SAAS,GAAIC,GAAW,IAAK,cAAc,CAACC,IAAI,CAACD,GAAG,CAAC;AAE3D,MAAME,oBAAoB,GAAIF,GAAW,IAAK;EAC5C,IAAI;IACF,MAAMG,SAAS,GAAG,IAAIC,GAAG,CAACJ,GAAG,CAAC;IAE9B,OAAO,GAAGG,SAAS,CAACE,MAAM,GAAGF,SAAS,CAACG,QAAQ,EAAE,KAAKR,kBAAkB;EAC1E,CAAC,CAAC,OAAOS,KAAK,EAAE;IACd,OAAO,KAAK;EACd;AACF,CAAC;AAED,OAAO,MAAMC,eAA+C,GAAGA,CAAC;EAC9DC,MAAM;EACNC,OAAO;EACPC,YAAY;EACZ,GAAGC;AACL,CAAC,KAAK;EACJ,IAAI,CAAClB,qBAAqB,CAACkB,UAAU,CAACC,SAAS,CAAC,EAAE;IAChD,MAAM,IAAIC,KAAK,CAAC,yDAAyD,CAAC;EAC5E;EAEA,MAAMC,gBAAgB,GAAGpB,mBAAmB,CAACiB,UAAU,CAACC,SAAS,CAAC;EAClE,IAAI,CAACE,gBAAgB,EAAE;IACrB,MAAM,IAAID,KAAK,CACb,8EACF,CAAC;EACH;EAEA,MAAME,yBAAyB,GAC7BD,gBAAgB,CAACE,QAAQ,KAAKC,SAAS,IACvCH,gBAAgB,CAACI,UAAU,KAAKD,SAAS,IACzCH,gBAAgB,CAACK,eAAe,KAAKF,SAAS;EAEhD,IAAI,EAAE,SAAS,IAAIH,gBAAgB,CAAC,EAAE;IACpC,MAAM,IAAID,KAAK,CACb,oIACF,CAAC;EACH;EAEA,IAAI,OAAOF,UAAU,CAACS,SAAS,KAAK,WAAW,EAAE;IAC/CC,OAAO,CAACC,IAAI,CACV,4HACF,CAAC;EACH;EAEA,IACE,CAACP,yBAAyB,IAC1B,OAAOJ,UAAU,CAACS,SAAS,KAAK,WAAW,EAC3C;IACAC,OAAO,CAACC,IAAI,CACV,sGACF,CAAC;IACD,OAAOX,UAAU,CAACS,SAAS;EAC7B;EAEA,IAAI,CAACL,yBAAyB,IAAIJ,UAAU,CAACY,OAAO,EAAE;IACpD,MAAM,IAAIV,KAAK,CACb,gFACF,CAAC;EACH;EAEA,IACE,OAAOF,UAAU,CAACa,eAAe,KAAK,WAAW,IACjDb,UAAU,CAACa,eAAe,CAACC,IAAI,KAAK,IAAI,EACxC;IACA,MAAM,IAAIZ,KAAK,CACb,oFACF,CAAC;EACH;EAEA,IACEF,UAAU,CAACe,kBAAkB,IAC7B,OAAOf,UAAU,CAACgB,UAAU,KAAK,UAAU,EAC3C;IACAN,OAAO,CAACC,IAAI,CACV,sLACF,CAAC;EACH;EAEA,MAAMM,aAAa,GAAIC,KAA0B,IAAK;IACpD,IAAIA,KAAK,CAACC,WAAW,CAACC,IAAI,KAAK,wBAAwB,EAAE;MACvDtB,OAAO,CAAC,CAAC;IACX;IAEA,IACE,OAAOE,UAAU,CAACgB,UAAU,KAAK,UAAU,IAC3CE,KAAK,CAACC,WAAW,CAACC,IAAI,KAAK,2BAA2B,EACtD;MACApB,UAAU,CAACgB,UAAU,CAAC,CAAC;IACzB;IAEA,IAAI;MACF,MAAMK,UAAU,GAAGC,IAAI,CAACC,KAAK,CAACL,KAAK,CAACC,WAAW,CAACC,IAAI,CAAC;MAErD,IACEC,UAAU,CAACG,IAAI,KAAK,8BAA8B,IAClD,OAAOH,UAAU,CAACI,MAAM,KAAK,QAAQ,IACrC,OAAOJ,UAAU,CAACK,UAAU,KAAK,QAAQ,IACzC,OAAO3B,YAAY,KAAK,UAAU,EAClC;QACAA,YAAY,CAAC;UACX0B,MAAM,EAAEJ,UAAU,CAACI,MAAM;UACzBC,UAAU,EAAEL,UAAU,CAACK;QACzB,CAAC,CAAC;MACJ;IACF,CAAC,CAAC,OAAO/B,KAAK,EAAE;MACd;IAAA;EAEJ,CAAC;EAED,MAAMgC,gCAAgC,GACpCC,OAA+B,IAC5B;IACH,IAAI,CAACzC,SAAS,CAACyC,OAAO,CAACxC,GAAG,CAAC,IAAIE,oBAAoB,CAACsC,OAAO,CAACxC,GAAG,CAAC,EAAE;MAChE,OAAO,IAAI;IACb;IAEA,IAAIV,QAAQ,CAACmD,EAAE,KAAK,KAAK,IAAID,OAAO,CAACE,cAAc,KAAK,OAAO,EAAE;MAC/D,OAAO,IAAI;IACb;IAEAtD,OAAO,CAACuD,OAAO,CAACH,OAAO,CAACxC,GAAG,CAAC,CAAC4C,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAE5C,OAAO,KAAK;EACd,CAAC;EAED,IAAItD,QAAQ,CAACmD,EAAE,KAAK,SAAS,EAAE;IAC7B,oBACE5C,IAAA,CAACR,KAAK;MACJwD,OAAO,EAAEpC,MAAO;MAChBqC,cAAc,EAAEA,CAAA,KAAMpC,OAAO,CAAC,CAAE;MAChCqC,aAAa,EAAC,OAAO;MAAAC,QAAA,eAErBnD,IAAA,CAACV,oBAAoB;QACnB8D,QAAQ,EAAE,SAAU;QACpBC,OAAO,EAAE,IAAK;QACdC,KAAK,EAAEC,MAAM,CAACC,oBAAqB;QAAAL,QAAA,eAEnCnD,IAAA,CAACL,IAAI;UAAC2D,KAAK,EAAEC,MAAM,CAACE,gBAAiB;UAAAN,QAAA,eACnCnD,IAAA,CAACJ;UACC;UAAA;YACA8D,kBAAkB,EAAE;AAClC;AACA;AACA;AACA,8BAA8BrB,IAAI,CAACsB,SAAS,CAAC5C,UAAU,CAAC;AACxD;AACA;AACA;AACA,kBAAmB;YACL6C,MAAM,EAAE;cAAEC,GAAG,EAAE5D;YAAmB,CAAE;YACpC6D,SAAS,EAAE9B,aAAc;YACzB+B,4BAA4B,EAAErB,gCAAiC;YAC/DY,KAAK,EAAEC,MAAM,CAACS;UAAQ,CACvB;QAAC,CACE;MAAC,CACa;IAAC,CAClB,CAAC;EAEZ;EAEA,oBACEhE,IAAA,CAACR,KAAK;IACJwD,OAAO,EAAEpC,MAAO;IAChBqC,cAAc,EAAEA,CAAA,KAAMpC,OAAO,CAAC,CAAE;IAChCqC,aAAa,EAAC,OAAO;IAAAC,QAAA,eAErBnD,IAAA,CAACL,IAAI;MAAC2D,KAAK,EAAEC,MAAM,CAACU,SAAU;MAAAd,QAAA,eAC5BnD,IAAA,CAACJ,OAAO;QACNsE,wBAAwB,EAAEnD;QAC1B;QACA;QACA;QACA;QAAA;QACA6C,MAAM,EAAE;UAAEC,GAAG,EAAE5D;QAAmB,CAAE;QACpC6D,SAAS,EAAE9B,aAAc;QACzB+B,4BAA4B,EAAErB,gCAAiC;QAC/DY,KAAK,EAAEC,MAAM,CAACS;MAAQ,CACvB;IAAC,CACE;EAAC,CACF,CAAC;AAEZ,CAAC;AAED,MAAMT,MAAM,GAAG7D,UAAU,CAACyE,MAAM,CAAC;EAC/BX,oBAAoB,EAAE;IACpBY,IAAI,EAAE;EACR,CAAC;EACDH,SAAS,EAAE;IACTG,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,MAAM;IACbC,iBAAiB,EAAE,EAAE;IACrBC,UAAU,EAAE,EAAE;IACdC,aAAa,EAAE;EACjB,CAAC;EACDf,gBAAgB,EAAE;IAChBW,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,MAAM;IACbC,iBAAiB,EAAE,EAAE;IACrBC,UAAU,EAAE,EAAE;IACdC,aAAa,EAAE;EACjB,CAAC;EACDR,OAAO,EAAE;IACPI,IAAI,EAAE;EACR;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,OAAO,EAAE,KAAK,oBAAoB,IAAI,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AAInG,MAAM,MAAM,oBAAoB,GAAG,4BAA4B,CAAC;AA2BhE,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA2K1D,CAAC"}
|
package/package.json
CHANGED
package/src/index.tsx
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
KeyboardAvoidingView,
|
|
4
|
+
Linking,
|
|
5
|
+
Modal,
|
|
6
|
+
Platform,
|
|
7
|
+
StyleSheet,
|
|
8
|
+
View,
|
|
9
|
+
} from 'react-native';
|
|
3
10
|
import { WebView } from 'react-native-webview';
|
|
4
11
|
import { type DuffelAssistantProps as DuffelAssistantPropsImported } from './DuffelAssistantProps';
|
|
5
12
|
import { hasJsonWebTokenFormat } from './lib/hasJsonWebTokenFormat';
|
|
@@ -147,6 +154,41 @@ export const DuffelAssistant: React.FC<DuffelAssistantProps> = ({
|
|
|
147
154
|
return false;
|
|
148
155
|
};
|
|
149
156
|
|
|
157
|
+
if (Platform.OS === 'android') {
|
|
158
|
+
return (
|
|
159
|
+
<Modal
|
|
160
|
+
visible={isOpen}
|
|
161
|
+
onRequestClose={() => onClose()}
|
|
162
|
+
animationType="slide"
|
|
163
|
+
>
|
|
164
|
+
<KeyboardAvoidingView
|
|
165
|
+
behavior={'padding'}
|
|
166
|
+
enabled={true}
|
|
167
|
+
style={styles.keyboardAvoidingView}
|
|
168
|
+
>
|
|
169
|
+
<View style={styles.androidContainer}>
|
|
170
|
+
<WebView
|
|
171
|
+
// Required for Android
|
|
172
|
+
injectedJavaScript={`
|
|
173
|
+
postMessage(
|
|
174
|
+
{
|
|
175
|
+
type: "duffel-assistant-open",
|
|
176
|
+
properties: ${JSON.stringify(properties)},
|
|
177
|
+
},
|
|
178
|
+
"*",
|
|
179
|
+
);
|
|
180
|
+
true;`}
|
|
181
|
+
source={{ uri: assistantIframeUrl }}
|
|
182
|
+
onMessage={handleMessage}
|
|
183
|
+
onShouldStartLoadWithRequest={handleShouldStartLoadWithRequest}
|
|
184
|
+
style={styles.webView}
|
|
185
|
+
/>
|
|
186
|
+
</View>
|
|
187
|
+
</KeyboardAvoidingView>
|
|
188
|
+
</Modal>
|
|
189
|
+
);
|
|
190
|
+
}
|
|
191
|
+
|
|
150
192
|
return (
|
|
151
193
|
<Modal
|
|
152
194
|
visible={isOpen}
|
|
@@ -154,45 +196,41 @@ export const DuffelAssistant: React.FC<DuffelAssistantProps> = ({
|
|
|
154
196
|
animationType="slide"
|
|
155
197
|
>
|
|
156
198
|
<View style={styles.container}>
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
) : (
|
|
169
|
-
<WebView
|
|
170
|
-
// Required for Android
|
|
171
|
-
injectedJavaScript={`
|
|
172
|
-
postMessage(
|
|
173
|
-
{
|
|
174
|
-
type: "duffel-assistant-open",
|
|
175
|
-
properties: ${JSON.stringify(properties)},
|
|
176
|
-
},
|
|
177
|
-
"*",
|
|
178
|
-
);
|
|
179
|
-
true;`}
|
|
180
|
-
source={{ uri: assistantIframeUrl }}
|
|
181
|
-
onMessage={handleMessage}
|
|
182
|
-
onShouldStartLoadWithRequest={handleShouldStartLoadWithRequest}
|
|
183
|
-
/>
|
|
184
|
-
)}
|
|
199
|
+
<WebView
|
|
200
|
+
injectedJavaScriptObject={properties}
|
|
201
|
+
// When you are running this in development iOS doesn't allow request from hosts with invalid https certificates.
|
|
202
|
+
// If you try ngrok with the local esbuild server it will fail because ngrok requests in https and the dev server rejects http requests.
|
|
203
|
+
// Easiest solution is to use the production URL with test data.
|
|
204
|
+
// If that's not possible, you can also upload the assistant built assets to a different folder in assets.duffel and work with that.
|
|
205
|
+
source={{ uri: assistantIframeUrl }}
|
|
206
|
+
onMessage={handleMessage}
|
|
207
|
+
onShouldStartLoadWithRequest={handleShouldStartLoadWithRequest}
|
|
208
|
+
style={styles.webView}
|
|
209
|
+
/>
|
|
185
210
|
</View>
|
|
186
211
|
</Modal>
|
|
187
212
|
);
|
|
188
213
|
};
|
|
189
214
|
|
|
190
215
|
const styles = StyleSheet.create({
|
|
216
|
+
keyboardAvoidingView: {
|
|
217
|
+
flex: 1,
|
|
218
|
+
},
|
|
191
219
|
container: {
|
|
192
|
-
|
|
220
|
+
flex: 1,
|
|
193
221
|
width: '100%',
|
|
194
222
|
paddingHorizontal: 12,
|
|
195
223
|
paddingTop: 50,
|
|
196
|
-
paddingBottom:
|
|
224
|
+
paddingBottom: 10,
|
|
225
|
+
},
|
|
226
|
+
androidContainer: {
|
|
227
|
+
flex: 1,
|
|
228
|
+
width: '100%',
|
|
229
|
+
paddingHorizontal: 12,
|
|
230
|
+
paddingTop: 50,
|
|
231
|
+
paddingBottom: 10,
|
|
232
|
+
},
|
|
233
|
+
webView: {
|
|
234
|
+
flex: 1,
|
|
197
235
|
},
|
|
198
236
|
});
|