@duffel/react-native-components-assistant 0.4.5 → 0.5.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/README.md +4 -0
- package/lib/module/index.js +3 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/DuffelAssistantProps.d.ts +23 -0
- package/lib/typescript/src/DuffelAssistantProps.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -4
- package/src/DuffelAssistantProps.ts +26 -0
- package/src/index.tsx +9 -0
package/README.md
CHANGED
package/lib/module/index.js
CHANGED
|
@@ -43,6 +43,9 @@ export const DuffelAssistant = ({
|
|
|
43
43
|
if (!clientKeyIncludesResource && properties.context) {
|
|
44
44
|
throw new Error('The context prop is only supported when the client key includes a resource id.');
|
|
45
45
|
}
|
|
46
|
+
if (typeof properties.supportChannels !== 'undefined' && properties.supportChannels.chat !== true) {
|
|
47
|
+
throw new Error('The supportChannels prop must keep chat enabled. Phone-only support isn’t offered.');
|
|
48
|
+
}
|
|
46
49
|
if (properties.showMinimiseButton && typeof properties.onMinimise !== 'function') {
|
|
47
50
|
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.');
|
|
48
51
|
}
|
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","showMinimiseButton","onMinimise","handleMessage","event","nativeEvent","data","parsedData","JSON","parse","type","userId","resourceId","handleShouldStartLoadWithRequest","request","OS","navigationType","openURL","catch","visible","onRequestClose","animationType","children","style","styles","container","injectedJavaScriptObject","source","uri","onMessage","onShouldStartLoadWithRequest","injectedJavaScript","stringify","create","height","width","paddingHorizontal","paddingTop","paddingBottom"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,OAAO,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AACzE,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,
|
|
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","container","injectedJavaScriptObject","source","uri","onMessage","onShouldStartLoadWithRequest","injectedJavaScript","stringify","create","height","width","paddingHorizontal","paddingTop","paddingBottom"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -15,6 +15,20 @@ export type DuffelAssistantContext = {
|
|
|
15
15
|
*/
|
|
16
16
|
issueType?: SupportIssueType;
|
|
17
17
|
};
|
|
18
|
+
export type DuffelAssistantSupportChannels = {
|
|
19
|
+
/**
|
|
20
|
+
* Chat support must stay enabled whenever supportChannels is provided.
|
|
21
|
+
* Phone-only support is not supported.
|
|
22
|
+
*/
|
|
23
|
+
chat: true;
|
|
24
|
+
/**
|
|
25
|
+
* Enable phone as an additional support channel when it has been configured
|
|
26
|
+
* for your organisation by Duffel.
|
|
27
|
+
*
|
|
28
|
+
* @default false
|
|
29
|
+
*/
|
|
30
|
+
phone: boolean;
|
|
31
|
+
};
|
|
18
32
|
export interface DuffelAssistantProps {
|
|
19
33
|
/**
|
|
20
34
|
* This prop is used to control whether the Assistant is open/visible or closed.
|
|
@@ -74,5 +88,14 @@ export interface DuffelAssistantProps {
|
|
|
74
88
|
* @default undefined
|
|
75
89
|
*/
|
|
76
90
|
context?: DuffelAssistantContext;
|
|
91
|
+
/**
|
|
92
|
+
* Configure which support channels the Assistant should offer.
|
|
93
|
+
* When omitted, the Assistant will continue to offer chat only.
|
|
94
|
+
*
|
|
95
|
+
* Chat must remain enabled whenever this prop is provided.
|
|
96
|
+
*
|
|
97
|
+
* @default undefined
|
|
98
|
+
*/
|
|
99
|
+
supportChannels?: DuffelAssistantSupportChannels;
|
|
77
100
|
}
|
|
78
101
|
//# sourceMappingURL=DuffelAssistantProps.d.ts.map
|
|
@@ -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;;;;;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;
|
|
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,MAAM,8BAA8B,GAAG;IAC3C;;;OAGG;IACH,IAAI,EAAE,IAAI,CAAC;IAEX;;;;;OAKG;IACH,KAAK,EAAE,OAAO,CAAC;CAChB,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;IAEjC;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,8BAA8B,CAAC;CAClD"}
|
|
@@ -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;AA2BhE,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;AA2BhE,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAyJ1D,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@duffel/react-native-components-assistant",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Duffel Assistant component in React Native",
|
|
5
5
|
"main": "./lib/module/index.js",
|
|
6
6
|
"types": "./lib/typescript/src/index.d.ts",
|
|
@@ -152,8 +152,5 @@
|
|
|
152
152
|
"languages": "js",
|
|
153
153
|
"type": "library",
|
|
154
154
|
"version": "0.51.1"
|
|
155
|
-
},
|
|
156
|
-
"dependencies": {
|
|
157
|
-
"expo": "~54.0.33"
|
|
158
155
|
}
|
|
159
156
|
}
|
|
@@ -18,6 +18,22 @@ export type DuffelAssistantContext = {
|
|
|
18
18
|
issueType?: SupportIssueType;
|
|
19
19
|
};
|
|
20
20
|
|
|
21
|
+
export type DuffelAssistantSupportChannels = {
|
|
22
|
+
/**
|
|
23
|
+
* Chat support must stay enabled whenever supportChannels is provided.
|
|
24
|
+
* Phone-only support is not supported.
|
|
25
|
+
*/
|
|
26
|
+
chat: true;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Enable phone as an additional support channel when it has been configured
|
|
30
|
+
* for your organisation by Duffel.
|
|
31
|
+
*
|
|
32
|
+
* @default false
|
|
33
|
+
*/
|
|
34
|
+
phone: boolean;
|
|
35
|
+
};
|
|
36
|
+
|
|
21
37
|
export interface DuffelAssistantProps {
|
|
22
38
|
/**
|
|
23
39
|
* This prop is used to control whether the Assistant is open/visible or closed.
|
|
@@ -83,4 +99,14 @@ export interface DuffelAssistantProps {
|
|
|
83
99
|
* @default undefined
|
|
84
100
|
*/
|
|
85
101
|
context?: DuffelAssistantContext;
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Configure which support channels the Assistant should offer.
|
|
105
|
+
* When omitted, the Assistant will continue to offer chat only.
|
|
106
|
+
*
|
|
107
|
+
* Chat must remain enabled whenever this prop is provided.
|
|
108
|
+
*
|
|
109
|
+
* @default undefined
|
|
110
|
+
*/
|
|
111
|
+
supportChannels?: DuffelAssistantSupportChannels;
|
|
86
112
|
}
|
package/src/index.tsx
CHANGED
|
@@ -82,6 +82,15 @@ export const DuffelAssistant: React.FC<DuffelAssistantProps> = ({
|
|
|
82
82
|
);
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
+
if (
|
|
86
|
+
typeof properties.supportChannels !== 'undefined' &&
|
|
87
|
+
properties.supportChannels.chat !== true
|
|
88
|
+
) {
|
|
89
|
+
throw new Error(
|
|
90
|
+
'The supportChannels prop must keep chat enabled. Phone-only support isn’t offered.'
|
|
91
|
+
);
|
|
92
|
+
}
|
|
93
|
+
|
|
85
94
|
if (
|
|
86
95
|
properties.showMinimiseButton &&
|
|
87
96
|
typeof properties.onMinimise !== 'function'
|