@duffel/react-native-components-assistant 0.4.1 → 0.4.2
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 +7 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/DuffelAssistantProps.d.ts +12 -1
- package/lib/typescript/src/DuffelAssistantProps.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/DuffelAssistantProps.ts +14 -1
- package/src/index.tsx +19 -1
package/lib/module/index.js
CHANGED
|
@@ -33,6 +33,9 @@ export const DuffelAssistant = ({
|
|
|
33
33
|
if (!clientKeyIncludesResource && properties.context) {
|
|
34
34
|
throw new Error('The context prop is only supported when the client key includes a resource id.');
|
|
35
35
|
}
|
|
36
|
+
if (properties.showMinimiseButton && typeof properties.onMinimise !== 'function') {
|
|
37
|
+
console.warn('The showMinimiseButton prop is set to true, but the onMinimise callback is not provided. Make sure to listen to the onMinimise callback to handle the minimisation of the Assistant.');
|
|
38
|
+
}
|
|
36
39
|
return /*#__PURE__*/_jsx(Modal, {
|
|
37
40
|
visible: isOpen,
|
|
38
41
|
onRequestClose: () => onClose(),
|
|
@@ -53,9 +56,12 @@ export const DuffelAssistant = ({
|
|
|
53
56
|
if (event.nativeEvent.data === 'duffel-assistant-close') {
|
|
54
57
|
onClose();
|
|
55
58
|
}
|
|
59
|
+
if (typeof properties.onMinimise === 'function' && event.nativeEvent.data === 'duffel-assistant-minimise') {
|
|
60
|
+
properties.onMinimise();
|
|
61
|
+
}
|
|
56
62
|
try {
|
|
57
63
|
const parsedData = JSON.parse(event.nativeEvent.data);
|
|
58
|
-
if (parsedData.type === 'duffel-assistant-new-message' && typeof parsedData.userId === 'string' && typeof parsedData.resourceId === 'string' && onNewMessage
|
|
64
|
+
if (parsedData.type === 'duffel-assistant-new-message' && typeof parsedData.userId === 'string' && typeof parsedData.resourceId === 'string' && typeof onNewMessage === 'function') {
|
|
59
65
|
onNewMessage({
|
|
60
66
|
userId: parsedData.userId,
|
|
61
67
|
resourceId: parsedData.resourceId
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Modal","Platform","StyleSheet","View","WebView","hasJsonWebTokenFormat","getClientKeyPayload","jsx","_jsx","DuffelAssistant","isOpen","onClose","onNewMessage","properties","clientKey","Error","clientKeyPayload","clientKeyIncludesResource","order_id","undefined","booking_id","issueType","console","warn","context","visible","onRequestClose","animationType","children","style","styles","container","OS","injectedJavaScriptObject","source","uri","onMessage","event","nativeEvent","data","parsedData","JSON","parse","type","userId","resourceId","error","injectedJavaScript","stringify","create","height","width","paddingHorizontal","paddingTop","paddingBottom"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,KAAK,EAAEC,QAAQ,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAChE,SAASC,OAAO,QAAQ,sBAAsB;AAE9C,SAASC,qBAAqB,QAAQ,gCAA6B;AACnE,SAASC,mBAAmB,QAAQ,8BAA2B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAIhE,OAAO,MAAMC,eAA+C,GAAGA,CAAC;EAC9DC,MAAM;EACNC,OAAO;EACPC,YAAY;EACZ,GAAGC;AACL,CAAC,KAAK;EACJ,IAAI,CAACR,qBAAqB,CAACQ,UAAU,CAACC,SAAS,CAAC,EAAE;IAChD,MAAM,IAAIC,KAAK,CAAC,yDAAyD,CAAC;EAC5E;EAEA,MAAMC,gBAAgB,GAAGV,mBAAmB,CAACO,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;EAE3C,IAAI,EAAE,SAAS,IAAIH,gBAAgB,CAAC,EAAE;IACpC,MAAM,IAAID,KAAK,CACb,oIACF,CAAC;EACH;EAEA,IAAI,OAAOF,UAAU,CAACQ,SAAS,KAAK,WAAW,EAAE;IAC/CC,OAAO,CAACC,IAAI,CACV,4HACF,CAAC;EACH;EAEA,IACE,CAACN,yBAAyB,IAC1B,OAAOJ,UAAU,CAACQ,SAAS,KAAK,WAAW,EAC3C;IACAC,OAAO,CAACC,IAAI,CACV,sGACF,CAAC;IACD,OAAOV,UAAU,CAACQ,SAAS;EAC7B;EAEA,IAAI,CAACJ,yBAAyB,IAAIJ,UAAU,CAACW,OAAO,EAAE;IACpD,MAAM,IAAIT,KAAK,CACb,gFACF,CAAC;EACH;EAEA,
|
|
1
|
+
{"version":3,"names":["React","Modal","Platform","StyleSheet","View","WebView","hasJsonWebTokenFormat","getClientKeyPayload","jsx","_jsx","DuffelAssistant","isOpen","onClose","onNewMessage","properties","clientKey","Error","clientKeyPayload","clientKeyIncludesResource","order_id","undefined","booking_id","issueType","console","warn","context","showMinimiseButton","onMinimise","visible","onRequestClose","animationType","children","style","styles","container","OS","injectedJavaScriptObject","source","uri","onMessage","event","nativeEvent","data","parsedData","JSON","parse","type","userId","resourceId","error","injectedJavaScript","stringify","create","height","width","paddingHorizontal","paddingTop","paddingBottom"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -21,9 +21,20 @@ export interface DuffelAssistantProps {
|
|
|
21
21
|
*/
|
|
22
22
|
isOpen: boolean;
|
|
23
23
|
/**
|
|
24
|
-
* This function callback is called when the user click to close
|
|
24
|
+
* This function callback is called when the user click to close the Assistant.
|
|
25
25
|
*/
|
|
26
26
|
onClose: () => void;
|
|
27
|
+
/**
|
|
28
|
+
* This prop is used to control whether the minimise button is shown.
|
|
29
|
+
* Listen to the `onMinimise` callback to handle the minimisation of the Assistant.
|
|
30
|
+
*
|
|
31
|
+
* @default false
|
|
32
|
+
*/
|
|
33
|
+
showMinimiseButton?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* This callback is triggered when the user click to minimise the Assistant.
|
|
36
|
+
*/
|
|
37
|
+
onMinimise?: () => void;
|
|
27
38
|
/**
|
|
28
39
|
* This is used to authenticate requests to the Duffel API.
|
|
29
40
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DuffelAssistantProps.d.ts","sourceRoot":"","sources":["../../../src/DuffelAssistantProps.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,cAAc,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEnE,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB;;;;;;OAMG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,SAAS,GAAG,YAAY,GAAG,aAAa,CAAC;IAEvD;;OAEG;IACH,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAE7B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAE9E;;;;OAIG;IACH,OAAO,CAAC,EAAE,sBAAsB,CAAC;CAClC"}
|
|
1
|
+
{"version":3,"file":"DuffelAssistantProps.d.ts","sourceRoot":"","sources":["../../../src/DuffelAssistantProps.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,cAAc,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEnE,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IAExB;;;;;;OAMG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,SAAS,GAAG,YAAY,GAAG,aAAa,CAAC;IAEvD;;OAEG;IACH,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAE7B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAE9E;;;;OAIG;IACH,OAAO,CAAC,EAAE,sBAAsB,CAAC;CAClC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,KAAK,oBAAoB,IAAI,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AAInG,MAAM,MAAM,oBAAoB,GAAG,4BAA4B,CAAC;AAEhE,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,KAAK,oBAAoB,IAAI,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AAInG,MAAM,MAAM,oBAAoB,GAAG,4BAA4B,CAAC;AAEhE,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA+H1D,CAAC"}
|
package/package.json
CHANGED
|
@@ -25,10 +25,23 @@ export interface DuffelAssistantProps {
|
|
|
25
25
|
isOpen: boolean;
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
|
-
* This function callback is called when the user click to close
|
|
28
|
+
* This function callback is called when the user click to close the Assistant.
|
|
29
29
|
*/
|
|
30
30
|
onClose: () => void;
|
|
31
31
|
|
|
32
|
+
/**
|
|
33
|
+
* This prop is used to control whether the minimise button is shown.
|
|
34
|
+
* Listen to the `onMinimise` callback to handle the minimisation of the Assistant.
|
|
35
|
+
*
|
|
36
|
+
* @default false
|
|
37
|
+
*/
|
|
38
|
+
showMinimiseButton?: boolean;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* This callback is triggered when the user click to minimise the Assistant.
|
|
42
|
+
*/
|
|
43
|
+
onMinimise?: () => void;
|
|
44
|
+
|
|
32
45
|
/**
|
|
33
46
|
* This is used to authenticate requests to the Duffel API.
|
|
34
47
|
*
|
package/src/index.tsx
CHANGED
|
@@ -56,6 +56,15 @@ export const DuffelAssistant: React.FC<DuffelAssistantProps> = ({
|
|
|
56
56
|
);
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
+
if (
|
|
60
|
+
properties.showMinimiseButton &&
|
|
61
|
+
typeof properties.onMinimise !== 'function'
|
|
62
|
+
) {
|
|
63
|
+
console.warn(
|
|
64
|
+
'The showMinimiseButton prop is set to true, but the onMinimise callback is not provided. Make sure to listen to the onMinimise callback to handle the minimisation of the Assistant.'
|
|
65
|
+
);
|
|
66
|
+
}
|
|
67
|
+
|
|
59
68
|
return (
|
|
60
69
|
<Modal
|
|
61
70
|
visible={isOpen}
|
|
@@ -75,13 +84,22 @@ export const DuffelAssistant: React.FC<DuffelAssistantProps> = ({
|
|
|
75
84
|
if (event.nativeEvent.data === 'duffel-assistant-close') {
|
|
76
85
|
onClose();
|
|
77
86
|
}
|
|
87
|
+
|
|
88
|
+
if (
|
|
89
|
+
typeof properties.onMinimise === 'function' &&
|
|
90
|
+
event.nativeEvent.data === 'duffel-assistant-minimise'
|
|
91
|
+
) {
|
|
92
|
+
properties.onMinimise();
|
|
93
|
+
}
|
|
94
|
+
|
|
78
95
|
try {
|
|
79
96
|
const parsedData = JSON.parse(event.nativeEvent.data);
|
|
97
|
+
|
|
80
98
|
if (
|
|
81
99
|
parsedData.type === 'duffel-assistant-new-message' &&
|
|
82
100
|
typeof parsedData.userId === 'string' &&
|
|
83
101
|
typeof parsedData.resourceId === 'string' &&
|
|
84
|
-
onNewMessage
|
|
102
|
+
typeof onNewMessage === 'function'
|
|
85
103
|
) {
|
|
86
104
|
onNewMessage({
|
|
87
105
|
userId: parsedData.userId,
|