cobrowse-sdk-react-native 2.15.0 → 2.16.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.
Files changed (93) hide show
  1. package/.github/workflows/lint.yaml +0 -2
  2. package/android/src/main/java/io/cobrowse/reactnative/CobrowseIOModule.java +23 -0
  3. package/ios/RCTCobrowseIO.m +4 -0
  4. package/js/CBIOBroadcastPickerView.tsx +15 -0
  5. package/js/CobrowseAccessibilityService.ts +15 -0
  6. package/js/CobrowseIO.ts +156 -0
  7. package/js/CobrowseView.tsx +150 -0
  8. package/js/{Redacted.js → Redacted.tsx} +3 -2
  9. package/js/Session.ts +128 -0
  10. package/js/SessionControl.ts +38 -0
  11. package/js/Unredacted.tsx +106 -0
  12. package/js/{index.js → index.ts} +1 -0
  13. package/js/{useSession.js → useSession.ts} +5 -4
  14. package/lib/commonjs/CBIOBroadcastPickerView.js +15 -0
  15. package/lib/commonjs/CBIOBroadcastPickerView.js.map +1 -0
  16. package/lib/commonjs/CobrowseAccessibilityService.js +22 -0
  17. package/lib/commonjs/CobrowseAccessibilityService.js.map +1 -0
  18. package/lib/commonjs/CobrowseIO.js +149 -0
  19. package/lib/commonjs/CobrowseIO.js.map +1 -0
  20. package/lib/commonjs/CobrowseView.js +146 -0
  21. package/lib/commonjs/CobrowseView.js.map +1 -0
  22. package/lib/commonjs/Redacted.js +14 -0
  23. package/lib/commonjs/Redacted.js.map +1 -0
  24. package/lib/commonjs/Session.js +100 -0
  25. package/lib/commonjs/Session.js.map +1 -0
  26. package/lib/commonjs/SessionControl.js +39 -0
  27. package/lib/commonjs/SessionControl.js.map +1 -0
  28. package/lib/commonjs/Unredacted.js +82 -0
  29. package/lib/commonjs/Unredacted.js.map +1 -0
  30. package/lib/commonjs/index.js +77 -0
  31. package/lib/commonjs/index.js.map +1 -0
  32. package/lib/commonjs/useSession.js +35 -0
  33. package/lib/commonjs/useSession.js.map +1 -0
  34. package/lib/module/CBIOBroadcastPickerView.js +8 -0
  35. package/lib/module/CBIOBroadcastPickerView.js.map +1 -0
  36. package/lib/module/CobrowseAccessibilityService.js +13 -0
  37. package/lib/module/CobrowseAccessibilityService.js.map +1 -0
  38. package/lib/module/CobrowseIO.js +141 -0
  39. package/lib/module/CobrowseIO.js.map +1 -0
  40. package/lib/module/CobrowseView.js +136 -0
  41. package/lib/module/CobrowseView.js.map +1 -0
  42. package/lib/module/Redacted.js +7 -0
  43. package/lib/module/Redacted.js.map +1 -0
  44. package/lib/module/Session.js +93 -0
  45. package/lib/module/Session.js.map +1 -0
  46. package/lib/module/SessionControl.js +31 -0
  47. package/lib/module/SessionControl.js.map +1 -0
  48. package/lib/module/Unredacted.js +71 -0
  49. package/lib/module/Unredacted.js.map +1 -0
  50. package/lib/module/index.js +9 -0
  51. package/lib/module/index.js.map +1 -0
  52. package/lib/module/useSession.js +28 -0
  53. package/lib/module/useSession.js.map +1 -0
  54. package/lib/typescript/CBIOBroadcastPickerView.d.ts +8 -0
  55. package/lib/typescript/CBIOBroadcastPickerView.d.ts.map +1 -0
  56. package/lib/typescript/CobrowseAccessibilityService.d.ts +8 -0
  57. package/lib/typescript/CobrowseAccessibilityService.d.ts.map +1 -0
  58. package/lib/typescript/CobrowseIO.d.ts +30 -0
  59. package/lib/typescript/CobrowseIO.d.ts.map +1 -0
  60. package/lib/typescript/CobrowseView.d.ts +25 -0
  61. package/lib/typescript/CobrowseView.d.ts.map +1 -0
  62. package/lib/typescript/Redacted.d.ts +4 -0
  63. package/lib/typescript/Redacted.d.ts.map +1 -0
  64. package/lib/typescript/Session.d.ts +42 -0
  65. package/lib/typescript/Session.d.ts.map +1 -0
  66. package/lib/typescript/SessionControl.d.ts +17 -0
  67. package/lib/typescript/SessionControl.d.ts.map +1 -0
  68. package/lib/typescript/Unredacted.d.ts +10 -0
  69. package/lib/typescript/Unredacted.d.ts.map +1 -0
  70. package/lib/typescript/index.d.ts +10 -0
  71. package/lib/typescript/index.d.ts.map +1 -0
  72. package/lib/typescript/useSession.d.ts +3 -0
  73. package/lib/typescript/useSession.d.ts.map +1 -0
  74. package/package.json +25 -4
  75. package/tsconfig.build.json +5 -0
  76. package/tsconfig.json +28 -0
  77. package/js/CBIOBroadcastPickerView.js +0 -11
  78. package/js/CobrowseAccessibilityService.js +0 -11
  79. package/js/CobrowseIO.js +0 -145
  80. package/js/CobrowseView.js +0 -129
  81. package/js/Session.js +0 -107
  82. package/js/SessionControl.js +0 -26
  83. package/js/Unredacted.js +0 -82
  84. package/ts/CBIOBroadcastPickerView.d.ts +0 -8
  85. package/ts/CobrowseAccessibilityService.d.ts +0 -6
  86. package/ts/CobrowseIO.d.ts +0 -29
  87. package/ts/CobrowseView.d.ts +0 -20
  88. package/ts/Redacted.d.ts +0 -8
  89. package/ts/Session.d.ts +0 -58
  90. package/ts/SessionControl.d.ts +0 -9
  91. package/ts/Unredacted.d.ts +0 -16
  92. package/ts/index.d.ts +0 -7
  93. package/ts/useSession.d.ts +0 -3
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_lodash","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","CobrowseIONative","NativeModules","CobrowseIO","mergeRefs","refs","value","forEach","ref","current","unredactedTags","Set","sendUnredactionUpdates","throttle","setUnredactedTags","leading","removeUnredactedView","view","delete","useUnredaction","shouldWarnUnhandledRefs","undefined","componentName","useRef","setRef","useCallback","node","hasRemovedRef","findNodeHandle","add","console","warn","useEffect","unredact","Component","forwardRef","ComponentFromHOC","props","localRef","displayName","useMemo","createElement","Unredacted","View","_default","exports"],"sourceRoot":"../../js","sources":["Unredacted.tsx"],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "CBIOBroadcastPickerView", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _CBIOBroadcastPickerView.default;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "CobrowseAccessibilityService", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _CobrowseAccessibilityService.default;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "CobrowseView", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _CobrowseView.default;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "Redacted", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _Redacted.default;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "SessionControl", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _SessionControl.default;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "Unredacted", {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _Unredacted.default;
40
+ }
41
+ });
42
+ Object.defineProperty(exports, "default", {
43
+ enumerable: true,
44
+ get: function () {
45
+ return _CobrowseIO.default;
46
+ }
47
+ });
48
+ Object.defineProperty(exports, "unredact", {
49
+ enumerable: true,
50
+ get: function () {
51
+ return _Unredacted.unredact;
52
+ }
53
+ });
54
+ Object.defineProperty(exports, "useSession", {
55
+ enumerable: true,
56
+ get: function () {
57
+ return _useSession.useSession;
58
+ }
59
+ });
60
+ Object.defineProperty(exports, "useUnredaction", {
61
+ enumerable: true,
62
+ get: function () {
63
+ return _Unredacted.useUnredaction;
64
+ }
65
+ });
66
+ var _CobrowseIO = _interopRequireDefault(require("./CobrowseIO"));
67
+ var _CobrowseView = _interopRequireDefault(require("./CobrowseView"));
68
+ var _Redacted = _interopRequireDefault(require("./Redacted"));
69
+ var _Unredacted = _interopRequireWildcard(require("./Unredacted"));
70
+ var _SessionControl = _interopRequireDefault(require("./SessionControl"));
71
+ var _CobrowseAccessibilityService = _interopRequireDefault(require("./CobrowseAccessibilityService"));
72
+ var _CBIOBroadcastPickerView = _interopRequireDefault(require("./CBIOBroadcastPickerView"));
73
+ var _useSession = require("./useSession");
74
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
75
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && 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; }
76
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
77
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_CobrowseIO","_interopRequireDefault","require","_CobrowseView","_Redacted","_Unredacted","_interopRequireWildcard","_SessionControl","_CobrowseAccessibilityService","_CBIOBroadcastPickerView","_useSession","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set"],"sourceRoot":"../../js","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,SAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,WAAA,GAAAC,uBAAA,CAAAJ,OAAA;AACA,IAAAK,eAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,6BAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,wBAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,WAAA,GAAAR,OAAA;AAAyC,SAAAS,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAN,wBAAAU,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAAA,SAAArB,uBAAAe,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useSession = useSession;
7
+ var _react = require("react");
8
+ var _CobrowseIO = _interopRequireDefault(require("./CobrowseIO"));
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ function useSession() {
11
+ const [session, setSession] = (0, _react.useState)(null);
12
+
13
+ // initial value
14
+ (0, _react.useEffect)(() => {
15
+ let isMounted = true;
16
+ async function getSession() {
17
+ const session = await _CobrowseIO.default.currentSession();
18
+ if (isMounted) {
19
+ setSession(session);
20
+ }
21
+ }
22
+ void getSession();
23
+ return () => {
24
+ isMounted = false;
25
+ };
26
+ }, []);
27
+
28
+ // listen to session updates
29
+ (0, _react.useEffect)(() => {
30
+ const subscription = _CobrowseIO.default.addListener(_CobrowseIO.default.SESSION_UPDATED, setSession);
31
+ return () => subscription.remove();
32
+ }, []);
33
+ return session;
34
+ }
35
+ //# sourceMappingURL=useSession.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_CobrowseIO","_interopRequireDefault","obj","__esModule","default","useSession","session","setSession","useState","useEffect","isMounted","getSession","CobrowseIO","currentSession","subscription","addListener","SESSION_UPDATED","remove"],"sourceRoot":"../../js","sources":["useSession.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAqC,SAAAE,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAG9B,SAASG,UAAUA,CAAA,EAAoB;EAC5C,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAC,eAAQ,EAAiB,IAAI,CAAC;;EAE5D;EACA,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAIC,SAAS,GAAG,IAAI;IACpB,eAAeC,UAAUA,CAAA,EAAmB;MAC1C,MAAML,OAAO,GAAG,MAAMM,mBAAU,CAACC,cAAc,CAAC,CAAC;MAEjD,IAAIH,SAAS,EAAE;QACbH,UAAU,CAACD,OAAO,CAAC;MACrB;IACF;IAEA,KAAKK,UAAU,CAAC,CAAC;IAEjB,OAAO,MAAM;MACXD,SAAS,GAAG,KAAK;IACnB,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA,IAAAD,gBAAS,EAAC,MAAM;IACd,MAAMK,YAAY,GAAGF,mBAAU,CAACG,WAAW,CAACH,mBAAU,CAACI,eAAe,EAAET,UAAU,CAAC;IAEnF,OAAO,MAAMO,YAAY,CAACG,MAAM,CAAC,CAAC;EACpC,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOX,OAAO;AAChB"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { Platform, requireNativeComponent } from 'react-native';
3
+ const CBIOBroadcastPickerViewNativeView = requireNativeComponent('CBIOBroadcastPickerView');
4
+ export default function CBIOBroadcastPickerView(props) {
5
+ // this native component is only available on iOS
6
+ return Platform.OS === 'ios' ? /*#__PURE__*/React.createElement(CBIOBroadcastPickerViewNativeView, props) : null;
7
+ }
8
+ //# sourceMappingURL=CBIOBroadcastPickerView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Platform","requireNativeComponent","CBIOBroadcastPickerViewNativeView","CBIOBroadcastPickerView","props","OS","createElement"],"sourceRoot":"../../js","sources":["CBIOBroadcastPickerView.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,EAAEC,sBAAsB,QAAwB,cAAc;AAE/E,MAAMC,iCAAiC,GAAGD,sBAAsB,CAC9D,yBACF,CAAC;AAMD,eAAe,SAASE,uBAAuBA,CAAEC,KAAmC,EAAsB;EACxG;EACA,OAAOJ,QAAQ,CAACK,EAAE,KAAK,KAAK,gBAAGN,KAAA,CAAAO,aAAA,CAACJ,iCAAiC,EAAKE,KAAQ,CAAC,GAAG,IAAI;AACxF"}
@@ -0,0 +1,13 @@
1
+ import { NativeModules } from 'react-native';
2
+ const CobrowseIONative = NativeModules.CobrowseIO;
3
+ export function showSetup() {
4
+ return CobrowseIONative.accessibilityServiceShowSetup();
5
+ }
6
+ export function isRunning() {
7
+ return CobrowseIONative.accessibilityServiceIsRunning();
8
+ }
9
+ export default {
10
+ showSetup,
11
+ isRunning
12
+ };
13
+ //# sourceMappingURL=CobrowseAccessibilityService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeModules","CobrowseIONative","CobrowseIO","showSetup","accessibilityServiceShowSetup","isRunning","accessibilityServiceIsRunning"],"sourceRoot":"../../js","sources":["CobrowseAccessibilityService.ts"],"mappings":"AAAA,SAASA,aAAa,QAAQ,cAAc;AAC5C,MAAMC,gBAAgB,GAAGD,aAAa,CAACE,UAAU;AAEjD,OAAO,SAASC,SAASA,CAAA,EAAU;EACjC,OAAOF,gBAAgB,CAACG,6BAA6B,CAAC,CAAC;AACzD;AAEA,OAAO,SAASC,SAASA,CAAA,EAAa;EACpC,OAAOJ,gBAAgB,CAACK,6BAA6B,CAAC,CAAC;AACzD;AAEA,eAAe;EACbH,SAAS;EACTE;AACF,CAAC"}
@@ -0,0 +1,141 @@
1
+ import { Platform, Alert, NativeEventEmitter, NativeModules } from 'react-native';
2
+ import Session from './Session';
3
+ const CobrowseIONative = NativeModules.CobrowseIO;
4
+ const emitter = new NativeEventEmitter(CobrowseIONative);
5
+
6
+ // eslint-disable-next-line @typescript-eslint/no-extraneous-class
7
+ export default class CobrowseIO {
8
+ static sessionRequestShown = false;
9
+ static remoteControlRequestShown = false;
10
+
11
+ /** @deprecated */
12
+ static get SESSION_UPDATED() {
13
+ return 'session.updated';
14
+ }
15
+
16
+ /** @deprecated */
17
+ static get SESSION_ENDED() {
18
+ return 'session.ended';
19
+ }
20
+ static handleSessionRequest(session) {
21
+ if (this.sessionRequestShown) return;
22
+ this.sessionRequestShown = true;
23
+ Alert.alert('Support Request', 'A support agent would like to use this app with you. Do you accept?', [{
24
+ text: 'Reject',
25
+ onPress: () => {
26
+ this.sessionRequestShown = false;
27
+ void session.end();
28
+ },
29
+ style: 'cancel'
30
+ }, {
31
+ text: 'Accept',
32
+ onPress: () => {
33
+ this.sessionRequestShown = false;
34
+ void session.activate();
35
+ }
36
+ }], {
37
+ cancelable: false
38
+ });
39
+ }
40
+ static handleRemoteControlRequest(session) {
41
+ if (this.remoteControlRequestShown) return;
42
+ this.remoteControlRequestShown = true;
43
+ Alert.alert('Remote Control Request', 'A support agent would like to take remote control of this app. Do you accept?', [{
44
+ text: 'Reject',
45
+ onPress: () => {
46
+ this.remoteControlRequestShown = false;
47
+ void session.setRemoteControl('rejected');
48
+ },
49
+ style: 'cancel'
50
+ }, {
51
+ text: 'Accept',
52
+ onPress: () => {
53
+ this.remoteControlRequestShown = false;
54
+ void session.setRemoteControl('on');
55
+ }
56
+ }], {
57
+ cancelable: false
58
+ });
59
+ }
60
+ static addListener(event, cb) {
61
+ return emitter.addListener(event, session => cb(new Session(session)));
62
+ }
63
+ static start() {
64
+ CobrowseIONative.start();
65
+ }
66
+ static stop() {
67
+ CobrowseIONative.stop();
68
+ }
69
+
70
+ // eslint-disable-next-line accessor-pairs
71
+ static set api(api) {
72
+ CobrowseIONative.api(api);
73
+ }
74
+
75
+ // eslint-disable-next-line accessor-pairs
76
+ static set license(license) {
77
+ CobrowseIONative.license(license);
78
+ }
79
+
80
+ // eslint-disable-next-line accessor-pairs
81
+ static set customData(customData) {
82
+ CobrowseIONative.customData(customData);
83
+ }
84
+
85
+ // eslint-disable-next-line accessor-pairs
86
+ static set capabilities(capabilities) {
87
+ CobrowseIONative.capabilities(capabilities);
88
+ }
89
+
90
+ // eslint-disable-next-line accessor-pairs
91
+ static set deviceToken(token) {
92
+ CobrowseIONative.deviceToken(token);
93
+ }
94
+ static currentSession() {
95
+ return CobrowseIONative.currentSession().then(session => session != null ? new Session(session) : null);
96
+ }
97
+ static createSession() {
98
+ return CobrowseIONative.createSession().then(session => session != null ? new Session(session) : null);
99
+ }
100
+ static getSession(codeOrId) {
101
+ return CobrowseIONative.getSession(codeOrId).then(session => session != null ? new Session(session) : null);
102
+ }
103
+
104
+ /** @deprecated */
105
+ static activateSession() {
106
+ return CobrowseIONative.activateSession().then(session => session != null ? new Session(session) : null);
107
+ }
108
+
109
+ /** @deprecated */
110
+ static endSession() {
111
+ return CobrowseIONative.endSession();
112
+ }
113
+ static showSessionControls = null;
114
+ static handleFullDeviceRequest = null;
115
+ }
116
+
117
+ // the session.requested event is considered internal, it should
118
+ // not be used outside these bindings
119
+ CobrowseIO.addListener('session.requested', session => {
120
+ if (CobrowseIO.showSessionControls === false) {
121
+ CobrowseIONative.overwriteSessionIndicator();
122
+ }
123
+ if (Platform.OS === 'ios' && CobrowseIO.handleFullDeviceRequest != null) {
124
+ CobrowseIONative.overwriteFullControlUI();
125
+ }
126
+ CobrowseIO.handleSessionRequest(session);
127
+ });
128
+ CobrowseIO.addListener('session.updated', session => {
129
+ if (session.isActive() && session.remote_control === 'requested') {
130
+ CobrowseIO.handleRemoteControlRequest(session);
131
+ }
132
+ if (session.isActive() && session.full_device_state === 'requested') {
133
+ if (CobrowseIO.handleFullDeviceRequest != null) {
134
+ CobrowseIO.handleFullDeviceRequest(session);
135
+ } else if (Platform.OS === 'android') {
136
+ // accept the incoming connection by default
137
+ void session.setFullDevice('on');
138
+ }
139
+ }
140
+ });
141
+ //# sourceMappingURL=CobrowseIO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Platform","Alert","NativeEventEmitter","NativeModules","Session","CobrowseIONative","CobrowseIO","emitter","sessionRequestShown","remoteControlRequestShown","SESSION_UPDATED","SESSION_ENDED","handleSessionRequest","session","alert","text","onPress","end","style","activate","cancelable","handleRemoteControlRequest","setRemoteControl","addListener","event","cb","start","stop","api","license","customData","capabilities","deviceToken","token","currentSession","then","createSession","getSession","codeOrId","activateSession","endSession","showSessionControls","handleFullDeviceRequest","overwriteSessionIndicator","OS","overwriteFullControlUI","isActive","remote_control","full_device_state","setFullDevice"],"sourceRoot":"../../js","sources":["CobrowseIO.ts"],"mappings":"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"}
@@ -0,0 +1,136 @@
1
+ import React, { Component } from 'react';
2
+ import { View, Text, ActivityIndicator, TouchableOpacity, StyleSheet } from 'react-native';
3
+ import CobrowseIO from './CobrowseIO';
4
+ const styles = StyleSheet.create({
5
+ container: {
6
+ flex: 1,
7
+ justifyContent: 'flex-end'
8
+ },
9
+ text: {
10
+ textAlign: 'center',
11
+ margin: 15,
12
+ fontSize: 15,
13
+ lineHeight: 20
14
+ },
15
+ code: {
16
+ fontSize: 29,
17
+ padding: 20,
18
+ fontWeight: 'bold',
19
+ textAlign: 'center'
20
+ },
21
+ button: {
22
+ color: 'rgb(0, 122, 255)',
23
+ fontSize: 18,
24
+ margin: 10
25
+ }
26
+ });
27
+ export default class CobrowseView extends Component {
28
+ _updateListener = null;
29
+ _endListener = null;
30
+ constructor(props) {
31
+ super(props);
32
+ this.state = {
33
+ error: null,
34
+ session: null
35
+ };
36
+ }
37
+ async componentDidMount() {
38
+ if (this.props.license != null) {
39
+ console.warn('Passing license to view is deprecated. Use CobrowseIO.license = "..." instead');
40
+ CobrowseIO.license = this.props.license;
41
+ }
42
+ try {
43
+ const current = await CobrowseIO.currentSession();
44
+ if (current != null) this.setState({
45
+ session: current
46
+ });else {
47
+ const session = await CobrowseIO.createSession();
48
+ this.setState({
49
+ session
50
+ });
51
+ }
52
+ } catch (error) {
53
+ this.setState({
54
+ error: error
55
+ });
56
+ }
57
+ this._updateListener = CobrowseIO.addListener('session.updated', session => {
58
+ this.setState({
59
+ session
60
+ });
61
+ });
62
+ this._endListener = CobrowseIO.addListener('session.ended', () => {
63
+ if (this.props.onEnded != null) this.props.onEnded();
64
+ this.setState({
65
+ session: null
66
+ });
67
+ });
68
+ }
69
+ componentWillUnmount() {
70
+ if (this._updateListener != null) this._updateListener.remove();
71
+ if (this._endListener != null) this._endListener.remove();
72
+ }
73
+ async endSession() {
74
+ try {
75
+ const {
76
+ session
77
+ } = this.state;
78
+ if (session == null) {
79
+ throw new Error('No session to end');
80
+ }
81
+ await session.end();
82
+ this.setState({
83
+ session: null
84
+ });
85
+ } catch (error) {
86
+ this.setState({
87
+ error: error
88
+ });
89
+ }
90
+ }
91
+ renderError(error) {
92
+ return /*#__PURE__*/React.createElement(Text, {
93
+ style: [styles.text]
94
+ }, error.message);
95
+ }
96
+ renderCode() {
97
+ var _this$state$session;
98
+ let code = (_this$state$session = this.state.session) === null || _this$state$session === void 0 ? void 0 : _this$state$session.code;
99
+ if (code != null) code = code.substr(0, 3) + '-' + code.substr(3);
100
+ return /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(Text, {
101
+ style: [styles.code, {
102
+ opacity: code != null ? 1 : 0.2
103
+ }]
104
+ }, code ?? '000-000'), /*#__PURE__*/React.createElement(Text, {
105
+ style: [styles.text]
106
+ }, "Provide this code to your support agent to begin screen sharing."), /*#__PURE__*/React.createElement(ActivityIndicator, null));
107
+ }
108
+ renderManageSession() {
109
+ return /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(Text, {
110
+ style: [styles.text]
111
+ }, "You're sharing screens from this app with a support agent."), /*#__PURE__*/React.createElement(TouchableOpacity, {
112
+ onPress: () => this.endSession
113
+ }, /*#__PURE__*/React.createElement(Text, {
114
+ style: [styles.text, styles.button]
115
+ }, "End Session")));
116
+ }
117
+ renderContent() {
118
+ const {
119
+ error,
120
+ session
121
+ } = this.state;
122
+ if (error != null) {
123
+ return this.renderError(error);
124
+ } else if (session == null || session.state === 'pending' || session.state === 'authorizing') {
125
+ return this.renderCode();
126
+ } else {
127
+ return this.renderManageSession();
128
+ }
129
+ }
130
+ render() {
131
+ return /*#__PURE__*/React.createElement(View, {
132
+ style: styles.container
133
+ }, this.renderContent());
134
+ }
135
+ }
136
+ //# sourceMappingURL=CobrowseView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Component","View","Text","ActivityIndicator","TouchableOpacity","StyleSheet","CobrowseIO","styles","create","container","flex","justifyContent","text","textAlign","margin","fontSize","lineHeight","code","padding","fontWeight","button","color","CobrowseView","_updateListener","_endListener","constructor","props","state","error","session","componentDidMount","license","console","warn","current","currentSession","setState","createSession","addListener","onEnded","componentWillUnmount","remove","endSession","Error","end","renderError","createElement","style","message","renderCode","_this$state$session","substr","opacity","renderManageSession","onPress","renderContent","render"],"sourceRoot":"../../js","sources":["CobrowseView.tsx"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { requireNativeComponent } from 'react-native';
3
+ const CBIOCobrowseRedacted = requireNativeComponent('CBIOCobrowseRedacted');
4
+ export default function Redacted(props) {
5
+ return /*#__PURE__*/React.createElement(CBIOCobrowseRedacted, props, props.children);
6
+ }
7
+ //# sourceMappingURL=Redacted.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","requireNativeComponent","CBIOCobrowseRedacted","Redacted","props","createElement","children"],"sourceRoot":"../../js","sources":["Redacted.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,sBAAsB,QAAwB,cAAc;AAErE,MAAMC,oBAAoB,GAAGD,sBAAsB,CAAC,sBAAsB,CAAC;AAE3E,eAAe,SAASE,QAAQA,CAAEC,KAAgB,EAAe;EAC/D,oBAAOJ,KAAA,CAAAK,aAAA,CAACH,oBAAoB,EAAKE,KAAK,EAAGA,KAAK,CAACE,QAA+B,CAAC;AACjF"}
@@ -0,0 +1,93 @@
1
+ import { NativeEventEmitter, NativeModules } from 'react-native';
2
+ const CobrowseIONative = NativeModules.CobrowseIO;
3
+ const emitter = new NativeEventEmitter(CobrowseIONative);
4
+ export default class Session {
5
+ constructor() {
6
+ let session = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7
+ this.session = session;
8
+ this._listen();
9
+ }
10
+ _update(session, onMatch) {
11
+ if (this.session.id === undefined || session != null && this.session.id === session.id) {
12
+ this.session = session;
13
+ if (typeof onMatch === 'function') onMatch();
14
+ }
15
+ }
16
+ _listen() {
17
+ const updates = emitter.addListener('session.updated', session => this._update(session));
18
+ const ended = emitter.addListener('session.ended', session => {
19
+ this._update(session, () => {
20
+ updates.remove();
21
+ ended.remove();
22
+ });
23
+ });
24
+ }
25
+ addListener(eventType, listener) {
26
+ let mappedEventsType;
27
+ // TODO: this class should extend EventEmitter and forward
28
+ // on the non-namespaced versions of these events
29
+ switch (eventType) {
30
+ case 'ended':
31
+ mappedEventsType = 'session.updated';
32
+ break;
33
+ case 'updated':
34
+ mappedEventsType = 'session.ended';
35
+ break;
36
+ }
37
+ return emitter.addListener(mappedEventsType ?? eventType, session => {
38
+ this._update(session, () => {
39
+ listener(this);
40
+ });
41
+ });
42
+ }
43
+ get id() {
44
+ return this.session.id;
45
+ }
46
+ get code() {
47
+ return this.session.code;
48
+ }
49
+ get state() {
50
+ return this.session.state;
51
+ }
52
+ get full_device() {
53
+ return this.session.full_device ?? false;
54
+ }
55
+ get full_device_state() {
56
+ return this.session.full_device_state ?? 'off';
57
+ }
58
+ get remote_control() {
59
+ return this.session.remote_control;
60
+ }
61
+ get agent() {
62
+ return this.session.agent;
63
+ }
64
+ async activate() {
65
+ return CobrowseIONative.activateSession().then(() => {});
66
+ }
67
+ async end() {
68
+ return CobrowseIONative.endSession();
69
+ }
70
+ isActive() {
71
+ return this.session.state === 'active';
72
+ }
73
+ isAuthorizing() {
74
+ return this.session.state === 'authorizing';
75
+ }
76
+ isPending() {
77
+ return this.session.state === 'pending';
78
+ }
79
+ isEnded() {
80
+ return this.session.state === 'ended';
81
+ }
82
+ async setFullDevice(state) {
83
+ return CobrowseIONative.updateSession({
84
+ full_device: state
85
+ });
86
+ }
87
+ async setRemoteControl(state) {
88
+ return CobrowseIONative.updateSession({
89
+ remote_control: state
90
+ });
91
+ }
92
+ }
93
+ //# sourceMappingURL=Session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeEventEmitter","NativeModules","CobrowseIONative","CobrowseIO","emitter","Session","constructor","session","arguments","length","undefined","_listen","_update","onMatch","id","updates","addListener","ended","remove","eventType","listener","mappedEventsType","code","state","full_device","full_device_state","remote_control","agent","activate","activateSession","then","end","endSession","isActive","isAuthorizing","isPending","isEnded","setFullDevice","updateSession","setRemoteControl"],"sourceRoot":"../../js","sources":["Session.ts"],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { Component } from 'react';
2
+ import CobrowseIO from './CobrowseIO';
3
+ export default class SessionControl extends Component {
4
+ _updateListener = null;
5
+ constructor(props) {
6
+ super(props);
7
+ this.state = {
8
+ session: null
9
+ };
10
+ }
11
+ async componentDidMount() {
12
+ this.setState({
13
+ session: await CobrowseIO.currentSession()
14
+ });
15
+ this._updateListener = CobrowseIO.addListener(CobrowseIO.SESSION_UPDATED, session => {
16
+ this.setState({
17
+ session
18
+ });
19
+ });
20
+ }
21
+ componentWillUnmount() {
22
+ if (this._updateListener != null) this._updateListener.remove();
23
+ }
24
+ render() {
25
+ const {
26
+ session
27
+ } = this.state;
28
+ if ((session === null || session === void 0 ? void 0 : session.isActive()) === true) return this.props.children;else return null;
29
+ }
30
+ }
31
+ //# sourceMappingURL=SessionControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Component","CobrowseIO","SessionControl","_updateListener","constructor","props","state","session","componentDidMount","setState","currentSession","addListener","SESSION_UPDATED","componentWillUnmount","remove","render","isActive","children"],"sourceRoot":"../../js","sources":["SessionControl.ts"],"mappings":"AAAA,SAAgBA,SAAS,QAAQ,OAAO;AACxC,OAAOC,UAAU,MAAM,cAAc;AAYrC,eAAe,MAAMC,cAAc,SAASF,SAAS,CAA2C;EACtFG,eAAe,GAA+B,IAAI;EAE1DC,WAAWA,CAAEC,KAA0B,EAAE;IACvC,KAAK,CAACA,KAAK,CAAC;IACZ,IAAI,CAACC,KAAK,GAAG;MAAEC,OAAO,EAAE;IAAK,CAAC;EAChC;EAEA,MAAMC,iBAAiBA,CAAA,EAAmB;IACxC,IAAI,CAACC,QAAQ,CAAC;MAAEF,OAAO,EAAE,MAAMN,UAAU,CAACS,cAAc,CAAC;IAAE,CAAC,CAAC;IAC7D,IAAI,CAACP,eAAe,GAAGF,UAAU,CAACU,WAAW,CAACV,UAAU,CAACW,eAAe,EAAGL,OAAO,IAAK;MACrF,IAAI,CAACE,QAAQ,CAAC;QAAEF;MAAQ,CAAC,CAAC;IAC5B,CAAC,CAAC;EACJ;EAEAM,oBAAoBA,CAAA,EAAU;IAC5B,IAAI,IAAI,CAACV,eAAe,IAAI,IAAI,EAAE,IAAI,CAACA,eAAe,CAACW,MAAM,CAAC,CAAC;EACjE;EAEAC,MAAMA,CAAA,EAA4B;IAChC,MAAM;MAAER;IAAQ,CAAC,GAAG,IAAI,CAACD,KAAK;IAC9B,IAAI,CAAAC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAES,QAAQ,CAAC,CAAC,MAAK,IAAI,EAAE,OAAO,IAAI,CAACX,KAAK,CAACY,QAAQ,MACvD,OAAO,IAAI;EAClB;AACF"}