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.
- package/.github/workflows/lint.yaml +0 -2
- package/android/src/main/java/io/cobrowse/reactnative/CobrowseIOModule.java +23 -0
- package/ios/RCTCobrowseIO.m +4 -0
- package/js/CBIOBroadcastPickerView.tsx +15 -0
- package/js/CobrowseAccessibilityService.ts +15 -0
- package/js/CobrowseIO.ts +156 -0
- package/js/CobrowseView.tsx +150 -0
- package/js/{Redacted.js → Redacted.tsx} +3 -2
- package/js/Session.ts +128 -0
- package/js/SessionControl.ts +38 -0
- package/js/Unredacted.tsx +106 -0
- package/js/{index.js → index.ts} +1 -0
- package/js/{useSession.js → useSession.ts} +5 -4
- package/lib/commonjs/CBIOBroadcastPickerView.js +15 -0
- package/lib/commonjs/CBIOBroadcastPickerView.js.map +1 -0
- package/lib/commonjs/CobrowseAccessibilityService.js +22 -0
- package/lib/commonjs/CobrowseAccessibilityService.js.map +1 -0
- package/lib/commonjs/CobrowseIO.js +149 -0
- package/lib/commonjs/CobrowseIO.js.map +1 -0
- package/lib/commonjs/CobrowseView.js +146 -0
- package/lib/commonjs/CobrowseView.js.map +1 -0
- package/lib/commonjs/Redacted.js +14 -0
- package/lib/commonjs/Redacted.js.map +1 -0
- package/lib/commonjs/Session.js +100 -0
- package/lib/commonjs/Session.js.map +1 -0
- package/lib/commonjs/SessionControl.js +39 -0
- package/lib/commonjs/SessionControl.js.map +1 -0
- package/lib/commonjs/Unredacted.js +82 -0
- package/lib/commonjs/Unredacted.js.map +1 -0
- package/lib/commonjs/index.js +77 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/useSession.js +35 -0
- package/lib/commonjs/useSession.js.map +1 -0
- package/lib/module/CBIOBroadcastPickerView.js +8 -0
- package/lib/module/CBIOBroadcastPickerView.js.map +1 -0
- package/lib/module/CobrowseAccessibilityService.js +13 -0
- package/lib/module/CobrowseAccessibilityService.js.map +1 -0
- package/lib/module/CobrowseIO.js +141 -0
- package/lib/module/CobrowseIO.js.map +1 -0
- package/lib/module/CobrowseView.js +136 -0
- package/lib/module/CobrowseView.js.map +1 -0
- package/lib/module/Redacted.js +7 -0
- package/lib/module/Redacted.js.map +1 -0
- package/lib/module/Session.js +93 -0
- package/lib/module/Session.js.map +1 -0
- package/lib/module/SessionControl.js +31 -0
- package/lib/module/SessionControl.js.map +1 -0
- package/lib/module/Unredacted.js +71 -0
- package/lib/module/Unredacted.js.map +1 -0
- package/lib/module/index.js +9 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/useSession.js +28 -0
- package/lib/module/useSession.js.map +1 -0
- package/lib/typescript/CBIOBroadcastPickerView.d.ts +8 -0
- package/lib/typescript/CBIOBroadcastPickerView.d.ts.map +1 -0
- package/lib/typescript/CobrowseAccessibilityService.d.ts +8 -0
- package/lib/typescript/CobrowseAccessibilityService.d.ts.map +1 -0
- package/lib/typescript/CobrowseIO.d.ts +30 -0
- package/lib/typescript/CobrowseIO.d.ts.map +1 -0
- package/lib/typescript/CobrowseView.d.ts +25 -0
- package/lib/typescript/CobrowseView.d.ts.map +1 -0
- package/lib/typescript/Redacted.d.ts +4 -0
- package/lib/typescript/Redacted.d.ts.map +1 -0
- package/lib/typescript/Session.d.ts +42 -0
- package/lib/typescript/Session.d.ts.map +1 -0
- package/lib/typescript/SessionControl.d.ts +17 -0
- package/lib/typescript/SessionControl.d.ts.map +1 -0
- package/lib/typescript/Unredacted.d.ts +10 -0
- package/lib/typescript/Unredacted.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +10 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/useSession.d.ts +3 -0
- package/lib/typescript/useSession.d.ts.map +1 -0
- package/package.json +25 -4
- package/tsconfig.build.json +5 -0
- package/tsconfig.json +28 -0
- package/js/CBIOBroadcastPickerView.js +0 -11
- package/js/CobrowseAccessibilityService.js +0 -11
- package/js/CobrowseIO.js +0 -145
- package/js/CobrowseView.js +0 -129
- package/js/Session.js +0 -107
- package/js/SessionControl.js +0 -26
- package/js/Unredacted.js +0 -82
- package/ts/CBIOBroadcastPickerView.d.ts +0 -8
- package/ts/CobrowseAccessibilityService.d.ts +0 -6
- package/ts/CobrowseIO.d.ts +0 -29
- package/ts/CobrowseView.d.ts +0 -20
- package/ts/Redacted.d.ts +0 -8
- package/ts/Session.d.ts +0 -58
- package/ts/SessionControl.d.ts +0 -9
- package/ts/Unredacted.d.ts +0 -16
- package/ts/index.d.ts +0 -7
- package/ts/useSession.d.ts +0 -3
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
import React, { forwardRef, useMemo, useRef, useCallback, useEffect } from 'react';
|
|
3
|
+
import { View, findNodeHandle, NativeModules } from 'react-native';
|
|
4
|
+
import { throttle } from 'lodash';
|
|
5
|
+
const CobrowseIONative = NativeModules.CobrowseIO;
|
|
6
|
+
function mergeRefs(refs) {
|
|
7
|
+
return value => {
|
|
8
|
+
refs.forEach(ref => {
|
|
9
|
+
if (typeof ref === 'function') {
|
|
10
|
+
ref(value);
|
|
11
|
+
} else if (ref != null) {
|
|
12
|
+
ref.current = value;
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
const unredactedTags = new Set();
|
|
18
|
+
const sendUnredactionUpdates = throttle(() => {
|
|
19
|
+
CobrowseIONative.setUnredactedTags([...unredactedTags]);
|
|
20
|
+
}, 50, {
|
|
21
|
+
leading: false
|
|
22
|
+
});
|
|
23
|
+
function removeUnredactedView(view) {
|
|
24
|
+
if (view != null) {
|
|
25
|
+
unredactedTags.delete(view);
|
|
26
|
+
sendUnredactionUpdates();
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
export function useUnredaction() {
|
|
30
|
+
let shouldWarnUnhandledRefs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
31
|
+
let componentName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
32
|
+
const ref = useRef(null);
|
|
33
|
+
const setRef = useCallback(node => {
|
|
34
|
+
let hasRemovedRef = false;
|
|
35
|
+
if (ref.current != null) {
|
|
36
|
+
hasRemovedRef = true;
|
|
37
|
+
removeUnredactedView(ref.current);
|
|
38
|
+
}
|
|
39
|
+
if (node != null) {
|
|
40
|
+
const view = findNodeHandle(node);
|
|
41
|
+
if (view != null) {
|
|
42
|
+
unredactedTags.add(view);
|
|
43
|
+
sendUnredactionUpdates();
|
|
44
|
+
ref.current = view;
|
|
45
|
+
} else {
|
|
46
|
+
console.warn(`Failed to apply unredact() to ${componentName} due to view not found`);
|
|
47
|
+
}
|
|
48
|
+
} else if (!hasRemovedRef) {
|
|
49
|
+
console.warn(`Failed to apply unredact() to ${componentName} due to null node handle – make sure you are forwarding refs`);
|
|
50
|
+
}
|
|
51
|
+
}, []);
|
|
52
|
+
useEffect(() => {
|
|
53
|
+
if (shouldWarnUnhandledRefs && ref.current == null) {
|
|
54
|
+
console.warn(`Failed to apply unredact() to ${componentName} due to null node handle – make sure the setRef function is called with the ref`);
|
|
55
|
+
}
|
|
56
|
+
return () => removeUnredactedView(ref.current);
|
|
57
|
+
}, []);
|
|
58
|
+
return setRef;
|
|
59
|
+
}
|
|
60
|
+
export function unredact(Component) {
|
|
61
|
+
return /*#__PURE__*/forwardRef(function ComponentFromHOC(props, ref) {
|
|
62
|
+
const localRef = useUnredaction(true, Component === null || Component === void 0 ? void 0 : Component.displayName);
|
|
63
|
+
const refs = useMemo(() => mergeRefs([localRef, ref]), [localRef, ref]);
|
|
64
|
+
return /*#__PURE__*/React.createElement(Component, _extends({}, props, {
|
|
65
|
+
ref: refs
|
|
66
|
+
}));
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
const Unredacted = unredact(View);
|
|
70
|
+
export default Unredacted;
|
|
71
|
+
//# sourceMappingURL=Unredacted.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","forwardRef","useMemo","useRef","useCallback","useEffect","View","findNodeHandle","NativeModules","throttle","CobrowseIONative","CobrowseIO","mergeRefs","refs","value","forEach","ref","current","unredactedTags","Set","sendUnredactionUpdates","setUnredactedTags","leading","removeUnredactedView","view","delete","useUnredaction","shouldWarnUnhandledRefs","arguments","length","undefined","componentName","setRef","node","hasRemovedRef","add","console","warn","unredact","Component","ComponentFromHOC","props","localRef","displayName","createElement","_extends","Unredacted"],"sourceRoot":"../../js","sources":["Unredacted.tsx"],"mappings":";AAAA,OAAOA,KAAK,IACVC,UAAU,EACVC,OAAO,EACPC,MAAM,EACNC,WAAW,EACXC,SAAS,QASJ,OAAO;AACd,SAA2BC,IAAI,EAAgCC,cAAc,EAAEC,aAAa,QAAQ,cAAc;AAClH,SAASC,QAAQ,QAAQ,QAAQ;AAEjC,MAAMC,gBAAgB,GAAGF,aAAa,CAACG,UAAU;AAMjD,SAASC,SAASA,CAAKC,IAA4B,EAAU;EAC3D,OAAQC,KAAK,IAAK;IAChBD,IAAI,CAACE,OAAO,CAAEC,GAAG,IAAK;MACpB,IAAI,OAAOA,GAAG,KAAK,UAAU,EAAE;QAC7BA,GAAG,CAACF,KAAK,CAAC;MACZ,CAAC,MAAM,IAAIE,GAAG,IAAI,IAAI,EAAE;QACtBA,GAAG,CAACC,OAAO,GAAGH,KAAK;MACrB;IACF,CAAC,CAAC;EACJ,CAAC;AACH;AAEA,MAAMI,cAAc,GAAG,IAAIC,GAAG,CAAC,CAAC;AAChC,MAAMC,sBAAsB,GAAGX,QAAQ,CAAC,MAAM;EAC5CC,gBAAgB,CAACW,iBAAiB,CAAC,CAAC,GAAGH,cAAc,CAAC,CAAC;AACzD,CAAC,EAAE,EAAE,EAAE;EAAEI,OAAO,EAAE;AAAM,CAAC,CAAC;AAE1B,SAASC,oBAAoBA,CAAEC,IAAmB,EAAQ;EACxD,IAAIA,IAAI,IAAI,IAAI,EAAE;IAChBN,cAAc,CAACO,MAAM,CAACD,IAAI,CAAC;IAC3BJ,sBAAsB,CAAC,CAAC;EAC1B;AACF;AAEA,OAAO,SAASM,cAAcA,CAAA,EAAkL;EAAA,IAArEC,uBAAuB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EAAA,IAAEG,aAAa,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAC3L,MAAMZ,GAAG,GAAGb,MAAM,CAAgB,IAAI,CAAC;EAEvC,MAAM6B,MAAM,GAAG5B,WAAW,CAAE6B,IAAc,IAAK;IAC7C,IAAIC,aAAa,GAAG,KAAK;IACzB,IAAIlB,GAAG,CAACC,OAAO,IAAI,IAAI,EAAE;MACvBiB,aAAa,GAAG,IAAI;MACpBX,oBAAoB,CAACP,GAAG,CAACC,OAAO,CAAC;IACnC;IAEA,IAAIgB,IAAI,IAAI,IAAI,EAAE;MAChB,MAAMT,IAAI,GAAGjB,cAAc,CAAC0B,IAAI,CAAC;MAEjC,IAAIT,IAAI,IAAI,IAAI,EAAE;QAChBN,cAAc,CAACiB,GAAG,CAACX,IAAI,CAAC;QACxBJ,sBAAsB,CAAC,CAAC;QAExBJ,GAAG,CAACC,OAAO,GAAGO,IAAI;MACpB,CAAC,MAAM;QACLY,OAAO,CAACC,IAAI,CAAE,iCAAgCN,aAAc,wBAAuB,CAAC;MACtF;IACF,CAAC,MAAM,IAAI,CAACG,aAAa,EAAE;MACzBE,OAAO,CAACC,IAAI,CACT,iCAAgCN,aAAc,8DACjD,CAAC;IACH;EACF,CAAC,EAAE,EAAE,CAAC;EAEN1B,SAAS,CAAC,MAAM;IACd,IAAIsB,uBAAuB,IAAIX,GAAG,CAACC,OAAO,IAAI,IAAI,EAAE;MAClDmB,OAAO,CAACC,IAAI,CACT,iCAAgCN,aAAc,iFACjD,CAAC;IACH;IAEA,OAAO,MAAMR,oBAAoB,CAACP,GAAG,CAACC,OAAO,CAAC;EAChD,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOe,MAAM;AACf;AAEA,OAAO,SAASM,QAAQA,CACtBC,SAAqC,EAC6B;EAClE,oBAAOtC,UAAU,CACf,SAASuC,gBAAgBA,CAAEC,KAAK,EAAEzB,GAAG,EAAE;IACrC,MAAM0B,QAAQ,GAAGhB,cAAc,CAAC,IAAI,EAAEa,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEI,WAAW,CAAoB;IAChF,MAAM9B,IAAI,GAAGX,OAAO,CAAC,MAAMU,SAAS,CAAC,CAAC8B,QAAQ,EAAE1B,GAAG,CAAC,CAAC,EAAE,CAAC0B,QAAQ,EAAE1B,GAAG,CAAC,CAAC;IAEvE,oBACEhB,KAAA,CAAA4C,aAAA,CAACL,SAAS,EAAAM,QAAA,KAAMJ,KAAK;MAAGzB,GAAG,EAAEH;IAAK,EAAE,CAAC;EAEzC,CACF,CAAC;AACH;AAEA,MAAMiC,UAAU,GAAGR,QAAQ,CAAChC,IAAI,CAAC;AACjC,eAAewC,UAAU"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { default } from './CobrowseIO';
|
|
2
|
+
export { default as CobrowseView } from './CobrowseView';
|
|
3
|
+
export { default as Redacted } from './Redacted';
|
|
4
|
+
export { default as Unredacted, unredact, useUnredaction } from './Unredacted';
|
|
5
|
+
export { default as SessionControl } from './SessionControl';
|
|
6
|
+
export { default as CobrowseAccessibilityService } from './CobrowseAccessibilityService';
|
|
7
|
+
export { default as CBIOBroadcastPickerView } from './CBIOBroadcastPickerView';
|
|
8
|
+
export { useSession } from './useSession';
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["default","CobrowseView","Redacted","Unredacted","unredact","useUnredaction","SessionControl","CobrowseAccessibilityService","CBIOBroadcastPickerView","useSession"],"sourceRoot":"../../js","sources":["index.ts"],"mappings":"AAAA,SAASA,OAAO,QAAQ,cAAc;AACtC,SAASA,OAAO,IAAIC,YAAY,QAAQ,gBAAgB;AACxD,SAASD,OAAO,IAAIE,QAAQ,QAAQ,YAAY;AAChD,SAASF,OAAO,IAAIG,UAAU,EAAEC,QAAQ,EAAEC,cAAc,QAAQ,cAAc;AAC9E,SAASL,OAAO,IAAIM,cAAc,QAAQ,kBAAkB;AAC5D,SAASN,OAAO,IAAIO,4BAA4B,QAAQ,gCAAgC;AACxF,SAASP,OAAO,IAAIQ,uBAAuB,QAAQ,2BAA2B;AAC9E,SAASC,UAAU,QAAQ,cAAc"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { useEffect, useState } from 'react';
|
|
2
|
+
import CobrowseIO from './CobrowseIO';
|
|
3
|
+
export function useSession() {
|
|
4
|
+
const [session, setSession] = useState(null);
|
|
5
|
+
|
|
6
|
+
// initial value
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
let isMounted = true;
|
|
9
|
+
async function getSession() {
|
|
10
|
+
const session = await CobrowseIO.currentSession();
|
|
11
|
+
if (isMounted) {
|
|
12
|
+
setSession(session);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
void getSession();
|
|
16
|
+
return () => {
|
|
17
|
+
isMounted = false;
|
|
18
|
+
};
|
|
19
|
+
}, []);
|
|
20
|
+
|
|
21
|
+
// listen to session updates
|
|
22
|
+
useEffect(() => {
|
|
23
|
+
const subscription = CobrowseIO.addListener(CobrowseIO.SESSION_UPDATED, setSession);
|
|
24
|
+
return () => subscription.remove();
|
|
25
|
+
}, []);
|
|
26
|
+
return session;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=useSession.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useEffect","useState","CobrowseIO","useSession","session","setSession","isMounted","getSession","currentSession","subscription","addListener","SESSION_UPDATED","remove"],"sourceRoot":"../../js","sources":["useSession.ts"],"mappings":"AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,OAAOC,UAAU,MAAM,cAAc;AAGrC,OAAO,SAASC,UAAUA,CAAA,EAAoB;EAC5C,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGJ,QAAQ,CAAiB,IAAI,CAAC;;EAE5D;EACAD,SAAS,CAAC,MAAM;IACd,IAAIM,SAAS,GAAG,IAAI;IACpB,eAAeC,UAAUA,CAAA,EAAmB;MAC1C,MAAMH,OAAO,GAAG,MAAMF,UAAU,CAACM,cAAc,CAAC,CAAC;MAEjD,IAAIF,SAAS,EAAE;QACbD,UAAU,CAACD,OAAO,CAAC;MACrB;IACF;IAEA,KAAKG,UAAU,CAAC,CAAC;IAEjB,OAAO,MAAM;MACXD,SAAS,GAAG,KAAK;IACnB,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;;EAEN;EACAN,SAAS,CAAC,MAAM;IACd,MAAMS,YAAY,GAAGP,UAAU,CAACQ,WAAW,CAACR,UAAU,CAACS,eAAe,EAAEN,UAAU,CAAC;IAEnF,OAAO,MAAMI,YAAY,CAACG,MAAM,CAAC,CAAC;EACpC,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOR,OAAO;AAChB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { type ViewProps } from 'react-native';
|
|
3
|
+
declare type CBIOBroadcastPickerViewProps = {
|
|
4
|
+
buttonColor: string;
|
|
5
|
+
} & ViewProps;
|
|
6
|
+
export default function CBIOBroadcastPickerView(props: CBIOBroadcastPickerViewProps): JSX.Element | null;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=CBIOBroadcastPickerView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CBIOBroadcastPickerView.d.ts","sourceRoot":"","sources":["../../js/CBIOBroadcastPickerView.tsx"],"names":[],"mappings":";AACA,OAAO,EAAoC,KAAK,SAAS,EAAE,MAAM,cAAc,CAAA;AAM/E,aAAK,4BAA4B,GAAG;IAClC,WAAW,EAAE,MAAM,CAAA;CACpB,GAAG,SAAS,CAAA;AAEb,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAE,KAAK,EAAE,4BAA4B,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAGxG"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare function showSetup(): void;
|
|
2
|
+
export declare function isRunning(): boolean;
|
|
3
|
+
declare const _default: {
|
|
4
|
+
showSetup: typeof showSetup;
|
|
5
|
+
isRunning: typeof isRunning;
|
|
6
|
+
};
|
|
7
|
+
export default _default;
|
|
8
|
+
//# sourceMappingURL=CobrowseAccessibilityService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CobrowseAccessibilityService.d.ts","sourceRoot":"","sources":["../../js/CobrowseAccessibilityService.ts"],"names":[],"mappings":"AAGA,wBAAgB,SAAS,IAAK,IAAI,CAEjC;AAED,wBAAgB,SAAS,IAAK,OAAO,CAEpC;;;;;AAED,wBAGC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { EmitterSubscription } from 'react-native';
|
|
2
|
+
import Session, { type CobrowseSessionEvents } from './Session';
|
|
3
|
+
export default class CobrowseIO {
|
|
4
|
+
private static sessionRequestShown;
|
|
5
|
+
private static remoteControlRequestShown;
|
|
6
|
+
/** @deprecated */
|
|
7
|
+
static get SESSION_UPDATED(): 'session.updated';
|
|
8
|
+
/** @deprecated */
|
|
9
|
+
static get SESSION_ENDED(): 'session.ended';
|
|
10
|
+
static handleSessionRequest(session: Session): void;
|
|
11
|
+
static handleRemoteControlRequest(session: Session): void;
|
|
12
|
+
static addListener(event: CobrowseSessionEvents | 'session.requested', cb: (session: Session) => void): EmitterSubscription;
|
|
13
|
+
static start(): void;
|
|
14
|
+
static stop(): void;
|
|
15
|
+
static set api(api: string);
|
|
16
|
+
static set license(license: string);
|
|
17
|
+
static set customData(customData: Record<string, unknown>);
|
|
18
|
+
static set capabilities(capabilities: Array<'drawing' | 'full_device' | 'keypress' | 'laser' | 'pointer'>);
|
|
19
|
+
static set deviceToken(token: string);
|
|
20
|
+
static currentSession(): Session | null;
|
|
21
|
+
static createSession(): Session | null;
|
|
22
|
+
static getSession(codeOrId: string): Session | null;
|
|
23
|
+
/** @deprecated */
|
|
24
|
+
static activateSession(): Session | null;
|
|
25
|
+
/** @deprecated */
|
|
26
|
+
static endSession(): void;
|
|
27
|
+
static showSessionControls: Boolean | null;
|
|
28
|
+
static handleFullDeviceRequest: null | ((s: Session) => void);
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=CobrowseIO.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CobrowseIO.d.ts","sourceRoot":"","sources":["../../js/CobrowseIO.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,mBAAmB,EAAiB,MAAM,cAAc,CAAA;AACtG,OAAO,OAAO,EAAE,EAAE,KAAK,qBAAqB,EAAoB,MAAM,WAAW,CAAA;AAMjF,MAAM,CAAC,OAAO,OAAO,UAAU;IAC7B,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAQ;IAC1C,OAAO,CAAC,MAAM,CAAC,yBAAyB,CAAQ;IAEhD,kBAAkB;IAClB,MAAM,KAAK,eAAe,IAAK,iBAAiB,CAE/C;IAED,kBAAkB;IAClB,MAAM,KAAK,aAAa,IAAK,eAAe,CAE3C;IAED,MAAM,CAAC,oBAAoB,CAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAsBpD,MAAM,CAAC,0BAA0B,CAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAsB1D,MAAM,CAAC,WAAW,CAAE,KAAK,EAAE,qBAAqB,GAAG,mBAAmB,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,mBAAmB;IAI5H,MAAM,CAAC,KAAK,IAAK,IAAI;IAIrB,MAAM,CAAC,IAAI,IAAK,IAAI;IAKpB,MAAM,KAAK,GAAG,CAAE,GAAG,EAAE,MAAM,EAE1B;IAGD,MAAM,KAAK,OAAO,CAAE,OAAO,EAAE,MAAM,EAElC;IAGD,MAAM,KAAK,UAAU,CAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEzD;IAGD,MAAM,KAAK,YAAY,CAAE,YAAY,EAAE,KAAK,CAAC,SAAS,GAAG,aAAa,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC,EAEzG;IAGD,MAAM,KAAK,WAAW,CAAE,KAAK,EAAE,MAAM,EAEpC;IAED,MAAM,CAAC,cAAc,IAAK,OAAO,GAAG,IAAI;IAIxC,MAAM,CAAC,aAAa,IAAK,OAAO,GAAG,IAAI;IAIvC,MAAM,CAAC,UAAU,CAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAIpD,kBAAkB;IAClB,MAAM,CAAC,eAAe,IAAK,OAAO,GAAG,IAAI;IAIzC,kBAAkB;IAClB,MAAM,CAAC,UAAU,IAAK,IAAI;IAI1B,MAAM,CAAC,mBAAmB,EAAE,OAAO,GAAG,IAAI,CAAO;IACjD,MAAM,CAAC,uBAAuB,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC,CAAO;CACrE"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Component } from 'react';
|
|
2
|
+
import type Session from './Session';
|
|
3
|
+
interface CobrowseViewProps {
|
|
4
|
+
license?: string;
|
|
5
|
+
onEnded?: () => void;
|
|
6
|
+
}
|
|
7
|
+
interface CobrowseViewState {
|
|
8
|
+
error: Error | null;
|
|
9
|
+
session: Session | null;
|
|
10
|
+
}
|
|
11
|
+
export default class CobrowseView extends Component<CobrowseViewProps, CobrowseViewState> {
|
|
12
|
+
private _updateListener;
|
|
13
|
+
private _endListener;
|
|
14
|
+
constructor(props: CobrowseViewProps);
|
|
15
|
+
componentDidMount(): Promise<void>;
|
|
16
|
+
componentWillUnmount(): void;
|
|
17
|
+
endSession(): Promise<void>;
|
|
18
|
+
renderError(error: Error): JSX.Element;
|
|
19
|
+
renderCode(): JSX.Element;
|
|
20
|
+
renderManageSession(): JSX.Element;
|
|
21
|
+
renderContent(): JSX.Element;
|
|
22
|
+
render(): JSX.Element;
|
|
23
|
+
}
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=CobrowseView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CobrowseView.d.ts","sourceRoot":"","sources":["../../js/CobrowseView.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAUxC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AA0BpC,UAAU,iBAAiB;IAEzB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB;AAED,UAAU,iBAAiB;IACzB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IACnB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;CACxB;AAED,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IACvF,OAAO,CAAC,eAAe,CAAmC;IAC1D,OAAO,CAAC,YAAY,CAAmC;gBAE1C,KAAK,EAAE,iBAAiB;IAK/B,iBAAiB,IAAK,OAAO,CAAC,IAAI,CAAC;IA0BzC,oBAAoB,IAAK,IAAI;IAKvB,UAAU,IAAK,OAAO,CAAC,IAAI,CAAC;IAelC,WAAW,CAAE,KAAK,EAAE,KAAK,GAAG,GAAG,CAAC,OAAO;IAMvC,UAAU,IAAK,GAAG,CAAC,OAAO;IAY1B,mBAAmB,IAAK,GAAG,CAAC,OAAO;IAWnC,aAAa,IAAK,GAAG,CAAC,OAAO;IAW7B,MAAM,IAAK,GAAG,CAAC,OAAO;CAOvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Redacted.d.ts","sourceRoot":"","sources":["../../js/Redacted.tsx"],"names":[],"mappings":";AACA,OAAO,EAA0B,KAAK,SAAS,EAAE,MAAM,cAAc,CAAA;AAIrE,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAE,KAAK,EAAE,SAAS,GAAG,GAAG,CAAC,OAAO,CAE/D"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { EmitterSubscription } from 'react-native';
|
|
2
|
+
export declare type SessionEvent = 'updated' | 'ended';
|
|
3
|
+
export declare type CobrowseSessionEvents = `session.${SessionEvent}`;
|
|
4
|
+
export declare type SessionState = 'active' | 'authorizing' | 'ended' | 'pending';
|
|
5
|
+
export declare type RemoteControlState = 'on' | 'requested' | 'rejected' | 'off';
|
|
6
|
+
export declare type FullDeviceState = 'on' | 'requested' | 'rejected' | 'off';
|
|
7
|
+
export interface Agent {
|
|
8
|
+
id: string;
|
|
9
|
+
name: string;
|
|
10
|
+
}
|
|
11
|
+
export interface SessionLike {
|
|
12
|
+
id: string;
|
|
13
|
+
code: string;
|
|
14
|
+
state: SessionState;
|
|
15
|
+
full_device: boolean;
|
|
16
|
+
remote_control: RemoteControlState;
|
|
17
|
+
agent: Agent;
|
|
18
|
+
full_device_state: FullDeviceState;
|
|
19
|
+
}
|
|
20
|
+
export default class Session {
|
|
21
|
+
private session;
|
|
22
|
+
constructor(session?: SessionLike | Record<string, never>);
|
|
23
|
+
private _update;
|
|
24
|
+
_listen(): void;
|
|
25
|
+
addListener(eventType: SessionEvent, listener: (session: Session) => void): EmitterSubscription;
|
|
26
|
+
get id(): string | null;
|
|
27
|
+
get code(): string | null;
|
|
28
|
+
get state(): SessionState | null;
|
|
29
|
+
get full_device(): boolean;
|
|
30
|
+
get full_device_state(): FullDeviceState;
|
|
31
|
+
get remote_control(): RemoteControlState | null;
|
|
32
|
+
get agent(): Agent | null;
|
|
33
|
+
activate(): Promise<void>;
|
|
34
|
+
end(): Promise<void>;
|
|
35
|
+
isActive(): boolean;
|
|
36
|
+
isAuthorizing(): boolean;
|
|
37
|
+
isPending(): boolean;
|
|
38
|
+
isEnded(): boolean;
|
|
39
|
+
setFullDevice(state: boolean | FullDeviceState): Promise<void>;
|
|
40
|
+
setRemoteControl(state: RemoteControlState): Promise<void>;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=Session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Session.d.ts","sourceRoot":"","sources":["../../js/Session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAqC,MAAM,cAAc,CAAA;AAKrF,oBAAY,YAAY,GAAG,SAAS,GAAG,OAAO,CAAA;AAC9C,oBAAY,qBAAqB,GAAG,WAAW,YAAY,EAAE,CAAA;AAC7D,oBAAY,YAAY,GAAG,QAAQ,GAAG,aAAa,GAAG,OAAO,GAAG,SAAS,CAAA;AACzE,oBAAY,kBAAkB,GAAG,IAAI,GAAG,WAAW,GAAG,UAAU,GAAG,KAAK,CAAA;AACxE,oBAAY,eAAe,GAAG,IAAI,GAAG,WAAW,GAAG,UAAU,GAAG,KAAK,CAAA;AAErE,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,YAAY,CAAA;IACnB,WAAW,EAAE,OAAO,CAAA;IACpB,cAAc,EAAE,kBAAkB,CAAA;IAClC,KAAK,EAAE,KAAK,CAAA;IACZ,iBAAiB,EAAE,eAAe,CAAA;CACnC;AAED,MAAM,CAAC,OAAO,OAAO,OAAO;IACb,OAAO,CAAC,OAAO;gBAAP,OAAO,GAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAM;IAItE,OAAO,CAAC,OAAO;IAOf,OAAO,IAAK,IAAI;IAUhB,WAAW,CAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,mBAAmB;IAoBhG,IAAI,EAAE,IAAK,MAAM,GAAG,IAAI,CAEvB;IAED,IAAI,IAAI,IAAK,MAAM,GAAG,IAAI,CAEzB;IAED,IAAI,KAAK,IAAK,YAAY,GAAG,IAAI,CAEhC;IAED,IAAI,WAAW,IAAK,OAAO,CAE1B;IAED,IAAI,iBAAiB,IAAK,eAAe,CAExC;IAED,IAAI,cAAc,IAAK,kBAAkB,GAAG,IAAI,CAE/C;IAED,IAAI,KAAK,IAAK,KAAK,GAAG,IAAI,CAEzB;IAEK,QAAQ,IAAK,OAAO,CAAC,IAAI,CAAC;IAI1B,GAAG,IAAK,OAAO,CAAC,IAAI,CAAC;IAI3B,QAAQ,IAAK,OAAO;IAIpB,aAAa,IAAK,OAAO;IAIzB,SAAS,IAAK,OAAO;IAIrB,OAAO,IAAK,OAAO;IAIb,aAAa,CAAE,KAAK,EAAE,OAAO,GAAG,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D,gBAAgB,CAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;CAGlE"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React, { Component } from 'react';
|
|
2
|
+
import type Session from './Session';
|
|
3
|
+
interface SessionControlProps {
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
}
|
|
6
|
+
interface SessionControlState {
|
|
7
|
+
session: Session | null;
|
|
8
|
+
}
|
|
9
|
+
export default class SessionControl extends Component<SessionControlProps, SessionControlState> {
|
|
10
|
+
private _updateListener;
|
|
11
|
+
constructor(props: SessionControlProps);
|
|
12
|
+
componentDidMount(): Promise<void>;
|
|
13
|
+
componentWillUnmount(): void;
|
|
14
|
+
render(): React.ReactNode | null;
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=SessionControl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionControl.d.ts","sourceRoot":"","sources":["../../js/SessionControl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGxC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AAEpC,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAED,UAAU,mBAAmB;IAC3B,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;CACxB;AAED,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,SAAS,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAC7F,OAAO,CAAC,eAAe,CAAmC;gBAE7C,KAAK,EAAE,mBAAmB;IAKjC,iBAAiB,IAAK,OAAO,CAAC,IAAI,CAAC;IAOzC,oBAAoB,IAAK,IAAI;IAI7B,MAAM,IAAK,KAAK,CAAC,SAAS,GAAG,IAAI;CAKlC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React, { Component as ReactComponentType, PropsWithoutRef, type ForwardRefExoticComponent, type RefAttributes, type ComponentClass, type Ref, type PropsWithChildren, type ForwardedRef } from 'react';
|
|
2
|
+
import { ScrollView, Text, View, SectionList, FlatList, Image } from 'react-native';
|
|
3
|
+
declare type RefHandlingComponent<T, P> = ComponentClass<P & {
|
|
4
|
+
ref?: Ref<T>;
|
|
5
|
+
}, any> | ForwardRefExoticComponent<PropsWithChildren<P> & RefAttributes<T>>;
|
|
6
|
+
export declare function useUnredaction<C extends ComponentClass | ReactComponentType = View | ScrollView | Text | Image | FlatList | SectionList>(shouldWarnUnhandledRefs?: boolean, componentName?: string): ForwardedRef<C>;
|
|
7
|
+
export declare function unredact<T, P extends {}>(Component: RefHandlingComponent<T, P>): ForwardRefExoticComponent<PropsWithoutRef<P> & RefAttributes<T>>;
|
|
8
|
+
declare const Unredacted: React.ForwardRefExoticComponent<import("react-native").ViewProps & React.RefAttributes<unknown>>;
|
|
9
|
+
export default Unredacted;
|
|
10
|
+
//# sourceMappingURL=Unredacted.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Unredacted.d.ts","sourceRoot":"","sources":["../../js/Unredacted.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAMZ,SAAS,IAAI,kBAAkB,EAC/B,eAAe,EACf,KAAK,yBAAyB,EAC9B,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,GAAG,EACR,KAAK,iBAAiB,EACtB,KAAK,YAAY,EAClB,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAiC,MAAM,cAAc,CAAA;AAKlH,aAAK,oBAAoB,CAAC,CAAC,EAAE,CAAC,IAC1B,cAAc,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;CAAE,EAAE,GAAG,CAAC,GACzC,yBAAyB,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;AA0BtE,wBAAgB,cAAc,CAAC,CAAC,SAAS,cAAc,GAAG,kBAAkB,GAAG,IAAI,GAAG,UAAU,GAAG,IAAI,GAAG,KAAK,GAAG,QAAQ,GAAG,WAAW,EAAG,uBAAuB,UAAO,EAAE,aAAa,SAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAuC9M;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,EACtC,SAAS,EAAE,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,GACpC,yBAAyB,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAWlE;AAED,QAAA,MAAM,UAAU,kGAAiB,CAAA;AACjC,eAAe,UAAU,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { default } from './CobrowseIO';
|
|
2
|
+
export { default as CobrowseView } from './CobrowseView';
|
|
3
|
+
export { default as Redacted } from './Redacted';
|
|
4
|
+
export { default as Unredacted, unredact, useUnredaction } from './Unredacted';
|
|
5
|
+
export { default as SessionControl } from './SessionControl';
|
|
6
|
+
export { default as CobrowseAccessibilityService } from './CobrowseAccessibilityService';
|
|
7
|
+
export { default as CBIOBroadcastPickerView } from './CBIOBroadcastPickerView';
|
|
8
|
+
export { useSession } from './useSession';
|
|
9
|
+
export type { default as Session, CobrowseSessionEvents } from './Session';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../js/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC9E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,gCAAgC,CAAA;AACxF,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,YAAY,EAAE,OAAO,IAAI,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSession.d.ts","sourceRoot":"","sources":["../../js/useSession.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AAEpC,wBAAgB,UAAU,IAAK,OAAO,GAAG,IAAI,CA6B5C"}
|
package/package.json
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cobrowse-sdk-react-native",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.16.0",
|
|
4
4
|
"description": "Cobrowse SDK for React Native",
|
|
5
|
-
"main": "
|
|
6
|
-
"
|
|
5
|
+
"main": "lib/module/index",
|
|
6
|
+
"module": "lib/module/index",
|
|
7
|
+
"types": "lib/typescript/index.d.ts",
|
|
8
|
+
"react-native": "js/index",
|
|
7
9
|
"scripts": {
|
|
8
10
|
"lint": "ts-standard",
|
|
9
11
|
"lint:fix": "npm run lint -- --fix",
|
|
10
12
|
"start:dev": "nodemon --exec ./scripts/copy.sh",
|
|
11
|
-
"
|
|
13
|
+
"prepack": "bob build"
|
|
12
14
|
},
|
|
13
15
|
"author": {
|
|
14
16
|
"name": "Andy Pritchard"
|
|
@@ -36,9 +38,11 @@
|
|
|
36
38
|
"lodash": "^4.17.21"
|
|
37
39
|
},
|
|
38
40
|
"devDependencies": {
|
|
41
|
+
"@types/lodash": "^4.14.194",
|
|
39
42
|
"@types/react": "^18.0.24",
|
|
40
43
|
"@types/react-native": "^0.70.6",
|
|
41
44
|
"nodemon": "^2.0.20",
|
|
45
|
+
"react-native-builder-bob": "^0.20.4",
|
|
42
46
|
"ts-standard": "^12.0.2",
|
|
43
47
|
"typescript": "^4.8.4"
|
|
44
48
|
},
|
|
@@ -46,6 +50,23 @@
|
|
|
46
50
|
"project": "tsconfig.eslint.json",
|
|
47
51
|
"env": [
|
|
48
52
|
"jest"
|
|
53
|
+
],
|
|
54
|
+
"ignore": [
|
|
55
|
+
"lib"
|
|
56
|
+
]
|
|
57
|
+
},
|
|
58
|
+
"react-native-builder-bob": {
|
|
59
|
+
"source": "js",
|
|
60
|
+
"output": "lib",
|
|
61
|
+
"targets": [
|
|
62
|
+
"commonjs",
|
|
63
|
+
"module",
|
|
64
|
+
[
|
|
65
|
+
"typescript",
|
|
66
|
+
{
|
|
67
|
+
"project": "tsconfig.build.json"
|
|
68
|
+
}
|
|
69
|
+
]
|
|
49
70
|
]
|
|
50
71
|
}
|
|
51
72
|
}
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"baseUrl": "./*",
|
|
4
|
+
"paths": {
|
|
5
|
+
"cobrowse-sdk-react-native": ["./js/index"]
|
|
6
|
+
},
|
|
7
|
+
"allowUnreachableCode": false,
|
|
8
|
+
"allowUnusedLabels": false,
|
|
9
|
+
"esModuleInterop": true,
|
|
10
|
+
"importsNotUsedAsValues": "error",
|
|
11
|
+
"forceConsistentCasingInFileNames": true,
|
|
12
|
+
"jsx": "react",
|
|
13
|
+
"lib": ["esnext"],
|
|
14
|
+
"module": "esnext",
|
|
15
|
+
"moduleResolution": "node",
|
|
16
|
+
"noFallthroughCasesInSwitch": true,
|
|
17
|
+
"noImplicitReturns": true,
|
|
18
|
+
"noImplicitUseStrict": false,
|
|
19
|
+
"noStrictGenericChecks": false,
|
|
20
|
+
"noUncheckedIndexedAccess": true,
|
|
21
|
+
"noUnusedLocals": true,
|
|
22
|
+
"noUnusedParameters": true,
|
|
23
|
+
"resolveJsonModule": true,
|
|
24
|
+
"skipLibCheck": true,
|
|
25
|
+
"strict": true,
|
|
26
|
+
"target": "esnext"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
import { Platform, requireNativeComponent } from 'react-native'
|
|
3
|
-
|
|
4
|
-
const CBIOBroadcastPickerView = requireNativeComponent(
|
|
5
|
-
'CBIOBroadcastPickerView'
|
|
6
|
-
)
|
|
7
|
-
|
|
8
|
-
export default function (props) {
|
|
9
|
-
// this native component is only available on iOS
|
|
10
|
-
return Platform.OS === 'ios' ? <CBIOBroadcastPickerView {...props} /> : null
|
|
11
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
const CobrowseIONative = require('react-native').NativeModules.CobrowseIO
|
|
2
|
-
|
|
3
|
-
export default class CobrowseAccessibilityService {
|
|
4
|
-
static showSetup () {
|
|
5
|
-
return CobrowseIONative.accessibilityServiceShowSetup()
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
static isRunning () {
|
|
9
|
-
return CobrowseIONative.accessibilityServiceIsRunning()
|
|
10
|
-
}
|
|
11
|
-
}
|
package/js/CobrowseIO.js
DELETED
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
import { Platform, Alert } from 'react-native'
|
|
2
|
-
import Session from './Session'
|
|
3
|
-
const CobrowseIONative = require('react-native').NativeModules.CobrowseIO
|
|
4
|
-
const NativeEventEmitter = require('react-native').NativeEventEmitter
|
|
5
|
-
|
|
6
|
-
const emitter = new NativeEventEmitter(CobrowseIONative)
|
|
7
|
-
|
|
8
|
-
export default class CobrowseIO {
|
|
9
|
-
/** @deprecated */
|
|
10
|
-
static get SESSION_UPDATED () {
|
|
11
|
-
return 'session.updated'
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
/** @deprecated */
|
|
15
|
-
static get SESSION_ENDED () {
|
|
16
|
-
return 'session.ended'
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
static handleSessionRequest (session) {
|
|
20
|
-
if (this._sessionRequestShown) return
|
|
21
|
-
this._sessionRequestShown = true
|
|
22
|
-
Alert.alert(
|
|
23
|
-
'Support Request',
|
|
24
|
-
'A support agent would like to use this app with you. Do you accept?',
|
|
25
|
-
[{
|
|
26
|
-
text: 'Reject',
|
|
27
|
-
onPress: () => {
|
|
28
|
-
this._sessionRequestShown = false
|
|
29
|
-
session.end()
|
|
30
|
-
},
|
|
31
|
-
style: 'cancel'
|
|
32
|
-
}, {
|
|
33
|
-
text: 'Accept',
|
|
34
|
-
onPress: () => {
|
|
35
|
-
this._sessionRequestShown = false
|
|
36
|
-
session.activate()
|
|
37
|
-
}
|
|
38
|
-
}], { cancelable: false })
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
static handleRemoteControlRequest (session) {
|
|
42
|
-
if (this._remoteControlRequestShown) return
|
|
43
|
-
this._remoteControlRequestShown = true
|
|
44
|
-
Alert.alert(
|
|
45
|
-
'Remote Control Request',
|
|
46
|
-
'A support agent would like to take remote control of this app. Do you accept?',
|
|
47
|
-
[{
|
|
48
|
-
text: 'Reject',
|
|
49
|
-
onPress: () => {
|
|
50
|
-
this._remoteControlRequestShown = false
|
|
51
|
-
session.setRemoteControl('rejected')
|
|
52
|
-
},
|
|
53
|
-
style: 'cancel'
|
|
54
|
-
}, {
|
|
55
|
-
text: 'Accept',
|
|
56
|
-
onPress: () => {
|
|
57
|
-
this._remoteControlRequestShown = false
|
|
58
|
-
session.setRemoteControl('on')
|
|
59
|
-
}
|
|
60
|
-
}], { cancelable: false })
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
static addListener (event, cb) {
|
|
64
|
-
return emitter.addListener(event, (session) => cb(new Session(session)))
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
static start () {
|
|
68
|
-
return CobrowseIONative.start()
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
static stop () {
|
|
72
|
-
return CobrowseIONative.stop()
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
// eslint-disable-next-line accessor-pairs
|
|
76
|
-
static set api (api) {
|
|
77
|
-
CobrowseIONative.api(api)
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
// eslint-disable-next-line accessor-pairs
|
|
81
|
-
static set license (license) {
|
|
82
|
-
CobrowseIONative.license(license)
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
// eslint-disable-next-line accessor-pairs
|
|
86
|
-
static set customData (customData) {
|
|
87
|
-
CobrowseIONative.customData(customData)
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
// eslint-disable-next-line accessor-pairs
|
|
91
|
-
static set deviceToken (token) {
|
|
92
|
-
CobrowseIONative.deviceToken(token)
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
static currentSession () {
|
|
96
|
-
return CobrowseIONative.currentSession().then((session) => session ? new Session(session) : null)
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
static createSession () {
|
|
100
|
-
return CobrowseIONative.createSession().then((session) => session ? new Session(session) : null)
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
static getSession (codeOrId) {
|
|
104
|
-
return CobrowseIONative.getSession(codeOrId).then((session) => session ? new Session(session) : null)
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
/** @deprecated */
|
|
108
|
-
static activateSession () {
|
|
109
|
-
return CobrowseIONative.activateSession().then((session) => session ? new Session(session) : null)
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
/** @deprecated */
|
|
113
|
-
static endSession () {
|
|
114
|
-
return CobrowseIONative.endSession()
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
// the session.requested event is considered internal, it should
|
|
119
|
-
// not be used outside these bindings
|
|
120
|
-
CobrowseIO.addListener('session.requested', (session) => {
|
|
121
|
-
if (CobrowseIO.showSessionControls === false) {
|
|
122
|
-
CobrowseIONative.overwriteSessionIndicator()
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
if (Platform.OS === 'ios' && CobrowseIO.handleFullDeviceRequest) {
|
|
126
|
-
CobrowseIONative.overwriteFullControlUI()
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
CobrowseIO.handleSessionRequest(session)
|
|
130
|
-
})
|
|
131
|
-
|
|
132
|
-
CobrowseIO.addListener('session.updated', (session) => {
|
|
133
|
-
if (session.isActive() && session.remote_control === 'requested') {
|
|
134
|
-
CobrowseIO.handleRemoteControlRequest(session)
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
if (session.isActive() && session.full_device_state === 'requested') {
|
|
138
|
-
if (CobrowseIO.handleFullDeviceRequest) {
|
|
139
|
-
CobrowseIO.handleFullDeviceRequest(session)
|
|
140
|
-
} else if (Platform.OS === 'android') {
|
|
141
|
-
// accept the incoming connection by default
|
|
142
|
-
session.setFullDevice('on')
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
})
|