@newtonschool/react_proctoring_library 0.0.67-staging → 0.0.69
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/dist/components/fullscreen/index.js +8 -1
- package/dist/components/permissions/index.js +30 -19
- package/dist/components/permissions/permission-body.js +48 -25
- package/dist/components/proctor-app/Loadable.js +2 -1
- package/dist/components/proctor-app/index.js +43 -41
- package/dist/components/proctor-context-app/Loadable.js +2 -1
- package/dist/components/proctor-context-app/index.js +7 -4
- package/dist/components/screenshare-activity-tracker/electron.js +3 -0
- package/dist/components/screenshare-activity-tracker/index.js +3 -2
- package/dist/components/screenshare-activity-tracker/web.js +2 -1
- package/dist/components/webcam-activity-tracker/electron.js +23 -2
- package/dist/components/webcam-activity-tracker/index.js +3 -2
- package/dist/components/webcam-activity-tracker/web.js +21 -19
- package/dist/hooks/electron/useKishokMode.js +43 -0
- package/dist/hooks/web/useFullScreenData.js +1 -1
- package/dist/index.js +9 -1
- package/dist/utils/browserUtils.js +9 -0
- package/dist/utils/gpuUtils.js +6 -3
- package/dist/utils/loadable.js +11 -3
- package/package.json +1 -1
|
@@ -8,6 +8,7 @@ require("core-js/modules/es.symbol.description.js");
|
|
|
8
8
|
var _react = require("react");
|
|
9
9
|
var _useGenericFullScreenData = _interopRequireDefault(require("../../hooks/useGenericFullScreenData"));
|
|
10
10
|
var _ElectronContext = require("../../contexts/ElectronContext");
|
|
11
|
+
var _useKishokMode = _interopRequireDefault(require("../../hooks/electron/useKishokMode"));
|
|
11
12
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
13
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
13
14
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -16,12 +17,18 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
|
|
|
16
17
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
17
18
|
function FullScreen(_ref) {
|
|
18
19
|
let {
|
|
19
|
-
setAskPermissionAction
|
|
20
|
+
setAskPermissionAction,
|
|
21
|
+
proctoredContext,
|
|
22
|
+
proctorParams
|
|
20
23
|
} = _ref;
|
|
21
24
|
const isElectronApp = (0, _react.useContext)(_ElectronContext.ElectronContext);
|
|
22
25
|
const {
|
|
23
26
|
setFullscreen
|
|
24
27
|
} = (0, _useGenericFullScreenData.default)(isElectronApp);
|
|
28
|
+
(0, _useKishokMode.default)({
|
|
29
|
+
proctoredContext,
|
|
30
|
+
proctorParams
|
|
31
|
+
});
|
|
25
32
|
(0, _react.useEffect)(() => {
|
|
26
33
|
setAskPermissionAction(oldAskPermissionAction => _objectSpread(_objectSpread({}, oldAskPermissionAction), {}, {
|
|
27
34
|
fullscreen: () => setFullscreen(true)
|
|
@@ -13,6 +13,7 @@ var text = _interopRequireWildcard(require("../../constants/text"));
|
|
|
13
13
|
var _permissionBody = require("./permission-body");
|
|
14
14
|
var _breachUtils = require("../../utils/breachUtils");
|
|
15
15
|
var _permission = require("../../utils/permission");
|
|
16
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
17
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
17
18
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
18
19
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -23,28 +24,38 @@ const Permission = _ref => {
|
|
|
23
24
|
askPermission
|
|
24
25
|
} = _ref;
|
|
25
26
|
const showPermissionModal = !(0, _permission.hasAllPermissions)((0, _breachUtils.getRequiredPermissionsFromProctorParams)(proctorParams), permissions);
|
|
26
|
-
return /*#__PURE__*/
|
|
27
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactBootstrap.Modal, {
|
|
27
28
|
show: showPermissionModal,
|
|
28
29
|
size: "lg",
|
|
29
30
|
backdrop: "static",
|
|
30
31
|
"aria-labelledby": "contained-modal-title-vcenter",
|
|
31
|
-
centered: true
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
32
|
+
centered: true,
|
|
33
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Modal.Header, {
|
|
34
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Modal.Title, {
|
|
35
|
+
children: text.PERMISSION_TITLE
|
|
36
|
+
})
|
|
37
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Modal.Body, {
|
|
38
|
+
className: "font-medium",
|
|
39
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_permissionBody.PermissionBody, {
|
|
40
|
+
showFullscreenText: !permissions.fullscreen && proctorParams.fullscreenExit,
|
|
41
|
+
showAudioPermissionText: !permissions.audio && (0, _breachUtils.isAudioRequired)(proctorParams),
|
|
42
|
+
showVideoPermissionText: !permissions.video && (0, _breachUtils.isWebcamRequired)(proctorParams),
|
|
43
|
+
showScreensharePermission: !permissions.screenshare && proctorParams.screenshareSnapshots
|
|
44
|
+
})
|
|
45
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactBootstrap.Modal.Footer, {
|
|
46
|
+
children: [!permissions.screenshare && proctorParams.screenshareSnapshots && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Button, {
|
|
47
|
+
onClick: () => {
|
|
48
|
+
askPermission(['screenshare']);
|
|
49
|
+
},
|
|
50
|
+
children: text.ALLOW_SCREENSHARE
|
|
51
|
+
}), !permissions.fullscreen && proctorParams.fullscreenExit && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Button, {
|
|
52
|
+
variant: "primary",
|
|
53
|
+
onClick: () => {
|
|
54
|
+
askPermission(['fullscreen']);
|
|
55
|
+
},
|
|
56
|
+
children: text.ALLOW_FULLSCREEN
|
|
57
|
+
})]
|
|
58
|
+
})]
|
|
59
|
+
});
|
|
49
60
|
};
|
|
50
61
|
exports.Permission = Permission;
|
|
@@ -11,6 +11,7 @@ var _urlVideoPermissionHighlight = _interopRequireDefault(require("../../assets/
|
|
|
11
11
|
require("./index.scss");
|
|
12
12
|
var text = _interopRequireWildcard(require("../../constants/text"));
|
|
13
13
|
var _browserUtils = require("../../utils/browserUtils");
|
|
14
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
15
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
15
16
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
16
17
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -21,30 +22,52 @@ const PermissionBody = _ref => {
|
|
|
21
22
|
showVideoPermissionText,
|
|
22
23
|
showScreensharePermission
|
|
23
24
|
} = _ref;
|
|
24
|
-
return /*#__PURE__*/
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
25
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
26
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
27
|
+
className: "mb-2",
|
|
28
|
+
children: text.PERMISSION_GENERIC
|
|
29
|
+
}), showScreensharePermission && /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
30
|
+
className: "mb-2",
|
|
31
|
+
children: [!(0, _browserUtils.isChrome)() && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
32
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("strong", {
|
|
33
|
+
children: "Please switch to chrome"
|
|
34
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("br", {})]
|
|
35
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
36
|
+
className: "pr-2 font-weight-bold",
|
|
37
|
+
children: "Screenshare:"
|
|
38
|
+
}), text.PERMISSION_SCREENSHARE]
|
|
39
|
+
}), showAudioPermissionText && showVideoPermissionText ? /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
40
|
+
className: "mb-2",
|
|
41
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
42
|
+
className: "pr-2 font-weight-bold",
|
|
43
|
+
children: "Camera/Microphone:"
|
|
44
|
+
}), text.PERMISSION_AUDIO_VIDEO]
|
|
45
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
46
|
+
children: [showVideoPermissionText && /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
47
|
+
className: "mb-2",
|
|
48
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
49
|
+
className: "pr-2 font-weight-bold",
|
|
50
|
+
children: "Camera:"
|
|
51
|
+
}), text.PERMISSION_VIDEO]
|
|
52
|
+
}), showAudioPermissionText && /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
53
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
54
|
+
className: "pr-2 font-weight-bold",
|
|
55
|
+
children: "Microphone:"
|
|
56
|
+
}), text.PERMISSION_AUDIO]
|
|
57
|
+
})]
|
|
58
|
+
}), (showAudioPermissionText || showVideoPermissionText) && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
59
|
+
className: "d-flex justify-content-center",
|
|
60
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
|
|
61
|
+
className: "video-permission-img",
|
|
62
|
+
alt: "url_video_permission_highlight",
|
|
63
|
+
src: _urlVideoPermissionHighlight.default
|
|
64
|
+
})
|
|
65
|
+
}), showFullscreenText && /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
66
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
67
|
+
className: "pr-2 font-weight-bold",
|
|
68
|
+
children: "Fullscreen:"
|
|
69
|
+
}), text.PERMISSION_FULLSCREEN]
|
|
70
|
+
})]
|
|
71
|
+
});
|
|
49
72
|
};
|
|
50
73
|
exports.PermissionBody = PermissionBody;
|
|
@@ -9,11 +9,12 @@ require("core-js/modules/es.weak-map.js");
|
|
|
9
9
|
require("core-js/modules/web.dom-collections.iterator.js");
|
|
10
10
|
var _react = _interopRequireDefault(require("react"));
|
|
11
11
|
var _loadable = _interopRequireDefault(require("../../utils/loadable"));
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
14
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
14
15
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } /**
|
|
15
16
|
* Asynchronously loads the component for FeaturePage
|
|
16
17
|
*/
|
|
17
18
|
var _default = exports.default = (0, _loadable.default)(() => Promise.resolve().then(() => _interopRequireWildcard(require("./index"))), {
|
|
18
|
-
fallback: /*#__PURE__*/
|
|
19
|
+
fallback: /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {})
|
|
19
20
|
});
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
require("core-js/modules/es.symbol.description.js");
|
|
4
|
-
require("core-js/modules/es.object.assign.js");
|
|
5
4
|
require("core-js/modules/es.weak-map.js");
|
|
6
5
|
Object.defineProperty(exports, "__esModule", {
|
|
7
6
|
value: true
|
|
@@ -20,10 +19,10 @@ var _fullscreen = _interopRequireDefault(require("../fullscreen"));
|
|
|
20
19
|
var _ElectronContext = require("../../contexts/ElectronContext");
|
|
21
20
|
var _useGenericWakeUpLock = _interopRequireDefault(require("../../hooks/useGenericWakeUpLock"));
|
|
22
21
|
var _breachParameters = _interopRequireDefault(require("../breach-parameters"));
|
|
22
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
23
23
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
24
24
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
25
25
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
26
|
-
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
27
26
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
28
27
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
29
28
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
@@ -72,45 +71,48 @@ const ProctorApp = _ref => {
|
|
|
72
71
|
}
|
|
73
72
|
});
|
|
74
73
|
}, [permissions, askPermissionAction]);
|
|
75
|
-
return /*#__PURE__*/
|
|
76
|
-
className: "".concat(proctorParams.copyPasteProctoring ? 'disable-copy-paste fullwidth fullheight' : 'fullwidth fullheight')
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
74
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
75
|
+
className: "".concat(proctorParams.copyPasteProctoring ? 'disable-copy-paste fullwidth fullheight' : 'fullwidth fullheight'),
|
|
76
|
+
children: [shouldShowProctoredComponent && children, !shouldShowProctoredComponent && customPermissionView && /*#__PURE__*/(0, _jsxRuntime.jsx)(CustomPermissionView, _objectSpread({
|
|
77
|
+
permissions: permissions,
|
|
78
|
+
proctorParams: proctorParams,
|
|
79
|
+
references: references,
|
|
80
|
+
actions: {
|
|
81
|
+
askPermission
|
|
82
|
+
},
|
|
83
|
+
browserDetails: (0, _browserUtils.getBrowserDetails)(),
|
|
84
|
+
permissionErrors: permissionErrors
|
|
85
|
+
}, permissionPassedProps)), !shouldShowProctoredComponent && !customPermissionView && /*#__PURE__*/(0, _jsxRuntime.jsx)(_permissions.Permission, {
|
|
86
|
+
permissions: permissions,
|
|
87
|
+
proctorParams: proctorParams,
|
|
88
|
+
askPermission: askPermission
|
|
89
|
+
}), proctorParams.webcamSnapshots && /*#__PURE__*/(0, _jsxRuntime.jsx)(_webcamActivityTracker.default, {
|
|
90
|
+
logger: logger,
|
|
91
|
+
config: config,
|
|
92
|
+
proctorParams: proctorParams,
|
|
93
|
+
proctoredContext: proctoredContext,
|
|
94
|
+
getWebcamSnapshot: getWebcamSnapshot,
|
|
95
|
+
proctoringIdentifier: proctoringIdentifier,
|
|
96
|
+
setAskPermissionAction: setAskPermissionAction
|
|
97
|
+
}), proctorParams.screenshareSnapshots && /*#__PURE__*/(0, _jsxRuntime.jsx)(_screenshareActivityTracker.default, {
|
|
98
|
+
config: config,
|
|
99
|
+
getScreengrab: getScreengrab,
|
|
100
|
+
proctorParams: proctorParams,
|
|
101
|
+
proctoredContext: proctoredContext,
|
|
102
|
+
proctoringIdentifier: proctoringIdentifier,
|
|
103
|
+
setAskPermissionAction: setAskPermissionAction
|
|
104
|
+
}), proctorParams.fullscreenExit && /*#__PURE__*/(0, _jsxRuntime.jsx)(_fullscreen.default, {
|
|
105
|
+
setAskPermissionAction: setAskPermissionAction,
|
|
106
|
+
proctorParams: proctorParams,
|
|
107
|
+
proctoredContext: proctoredContext
|
|
108
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_breachParameters.default, {
|
|
109
|
+
config: config,
|
|
110
|
+
getProctorParamValues: getProctorParamValues,
|
|
111
|
+
permissions: permissions,
|
|
112
|
+
proctorParams: proctorParams,
|
|
113
|
+
proctoringIdentifier: proctoringIdentifier
|
|
114
|
+
})]
|
|
115
|
+
});
|
|
114
116
|
};
|
|
115
117
|
exports.ProctorApp = ProctorApp;
|
|
116
118
|
var _default = exports.default = ProctorApp;
|
|
@@ -9,11 +9,12 @@ require("core-js/modules/es.weak-map.js");
|
|
|
9
9
|
require("core-js/modules/web.dom-collections.iterator.js");
|
|
10
10
|
var _react = _interopRequireDefault(require("react"));
|
|
11
11
|
var _loadable = _interopRequireDefault(require("../../utils/loadable"));
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
14
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
14
15
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } /**
|
|
15
16
|
* Asynchronously loads the component for FeaturePage
|
|
16
17
|
*/
|
|
17
18
|
var _default = exports.default = (0, _loadable.default)(() => Promise.resolve().then(() => _interopRequireWildcard(require("./index"))), {
|
|
18
|
-
fallback: /*#__PURE__*/
|
|
19
|
+
fallback: /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {})
|
|
19
20
|
});
|
|
@@ -12,6 +12,7 @@ var _defaults = require("../../constants/defaults");
|
|
|
12
12
|
var _useIsElectron = _interopRequireDefault(require("../../hooks/electron/useIsElectron"));
|
|
13
13
|
var _ElectronContext = require("../../contexts/ElectronContext");
|
|
14
14
|
var _useGenericFullScreenData = _interopRequireDefault(require("../../hooks/useGenericFullScreenData"));
|
|
15
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
16
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
17
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
17
18
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -66,7 +67,7 @@ const ProctoredContextApp = _ref => {
|
|
|
66
67
|
// endTest
|
|
67
68
|
// })
|
|
68
69
|
|
|
69
|
-
return /*#__PURE__*/
|
|
70
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Context.Provider, {
|
|
70
71
|
value: _objectSpread(_objectSpread({}, customContext), {}, {
|
|
71
72
|
permissions,
|
|
72
73
|
permissionSetter: {
|
|
@@ -91,9 +92,11 @@ const ProctoredContextApp = _ref => {
|
|
|
91
92
|
screenshareReference
|
|
92
93
|
},
|
|
93
94
|
screenshareStream
|
|
95
|
+
}),
|
|
96
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ElectronContext.ElectronContextProvider, {
|
|
97
|
+
value: isElectronApp,
|
|
98
|
+
children: children
|
|
94
99
|
})
|
|
95
|
-
}
|
|
96
|
-
value: isElectronApp
|
|
97
|
-
}, children));
|
|
100
|
+
});
|
|
98
101
|
};
|
|
99
102
|
var _default = exports.default = ProctoredContextApp;
|
|
@@ -36,6 +36,9 @@ function ElectronScreenShare(_ref) {
|
|
|
36
36
|
try {
|
|
37
37
|
await window.electron.permissions.requestScreenCapturePermission();
|
|
38
38
|
const streams = await window.electron.streams.getScreenStream();
|
|
39
|
+
if (streams.length > 1) {
|
|
40
|
+
throw new Error('Multiple Screens found. Please use only one during proctoring');
|
|
41
|
+
}
|
|
39
42
|
const startedScreenShareRecording = await window.electron.actions.startScreenShareRecording(streams[0].id);
|
|
40
43
|
if (!startedScreenShareRecording) {
|
|
41
44
|
throw new Error('Error starting screen share recording');
|
|
@@ -10,6 +10,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
10
10
|
var _ElectronContext = require("../../contexts/ElectronContext");
|
|
11
11
|
var _electron = _interopRequireDefault(require("./electron"));
|
|
12
12
|
var _web = _interopRequireDefault(require("./web"));
|
|
13
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
14
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
15
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
15
16
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -24,14 +25,14 @@ const ScreenShare = _ref => {
|
|
|
24
25
|
} = _ref;
|
|
25
26
|
const isElectronApp = (0, _react.useContext)(_ElectronContext.ElectronContext);
|
|
26
27
|
if (isElectronApp) {
|
|
27
|
-
return /*#__PURE__*/
|
|
28
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_electron.default, {
|
|
28
29
|
setAskPermissionAction: setAskPermissionAction,
|
|
29
30
|
proctorParams: proctorParams,
|
|
30
31
|
proctoredContext: proctoredContext,
|
|
31
32
|
config: config
|
|
32
33
|
});
|
|
33
34
|
}
|
|
34
|
-
return /*#__PURE__*/
|
|
35
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_web.default, {
|
|
35
36
|
proctoredContext: proctoredContext,
|
|
36
37
|
setAskPermissionAction: setAskPermissionAction,
|
|
37
38
|
getScreengrab: getScreengrab,
|
|
@@ -12,6 +12,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
12
12
|
var _webcamMicrophoneUtils = require("../../utils/webcamMicrophoneUtils");
|
|
13
13
|
var _dom = require("../../constants/dom");
|
|
14
14
|
var _useBreachData = require("../../hooks/useBreachData");
|
|
15
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
16
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
16
17
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
17
18
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
@@ -86,7 +87,7 @@ function WebScreenShare(_ref) {
|
|
|
86
87
|
sendScreengrab();
|
|
87
88
|
}
|
|
88
89
|
}, [breachData]);
|
|
89
|
-
return /*#__PURE__*/
|
|
90
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("video", {
|
|
90
91
|
ref: screenShareReference,
|
|
91
92
|
className: "captured-video-canvas hide",
|
|
92
93
|
id: _dom.SCREENSHARE_REFERENCE_ID
|
|
@@ -1,17 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
require("core-js/modules/es.symbol.description.js");
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
7
|
exports.default = ElectronWebCam;
|
|
7
8
|
require("core-js/modules/es.promise.js");
|
|
8
|
-
require("core-js/modules/es.
|
|
9
|
+
require("core-js/modules/es.weak-map.js");
|
|
10
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
9
11
|
var _react = require("react");
|
|
12
|
+
var _loadable = _interopRequireDefault(require("../../utils/loadable"));
|
|
13
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
15
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
11
16
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
12
17
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
13
18
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
14
19
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
20
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
21
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
22
|
+
const Webcam = (0, _loadable.default)(() => Promise.resolve().then(() => _interopRequireWildcard(require('react-webcam'))));
|
|
15
23
|
function ElectronWebCam(_ref) {
|
|
16
24
|
let {
|
|
17
25
|
setAskPermissionAction,
|
|
@@ -21,11 +29,13 @@ function ElectronWebCam(_ref) {
|
|
|
21
29
|
} = _ref;
|
|
22
30
|
const {
|
|
23
31
|
permissionSetter,
|
|
32
|
+
permissions,
|
|
24
33
|
references,
|
|
25
34
|
setPermissionErrors,
|
|
26
35
|
device
|
|
27
36
|
} = (0, _react.useContext)(proctoredContext);
|
|
28
37
|
const setVideoPermission = permissionSetter.video;
|
|
38
|
+
const isVideoTurnedOn = permissions.video;
|
|
29
39
|
const webcamReference = references.webcamReference;
|
|
30
40
|
const {
|
|
31
41
|
recurring = false,
|
|
@@ -45,6 +55,9 @@ function ElectronWebCam(_ref) {
|
|
|
45
55
|
throw new Error('Electron app does not have permission to access webcam');
|
|
46
56
|
}
|
|
47
57
|
const devices = await window.electron.streams.getWebcamStream();
|
|
58
|
+
if (devices.length === 0) {
|
|
59
|
+
throw new Error('No webcam devices found');
|
|
60
|
+
}
|
|
48
61
|
const permissionGranted = await window.electron.actions.startWebCamRecording(devices[0].deviceId);
|
|
49
62
|
if (permissionGranted) {
|
|
50
63
|
device.setWebCamDeviceId(devices[0].deviceId);
|
|
@@ -106,5 +119,13 @@ function ElectronWebCam(_ref) {
|
|
|
106
119
|
};
|
|
107
120
|
}
|
|
108
121
|
}, [deviceId]);
|
|
109
|
-
return
|
|
122
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
123
|
+
children: isVideoTurnedOn && /*#__PURE__*/(0, _jsxRuntime.jsx)(Webcam, {
|
|
124
|
+
audio: false,
|
|
125
|
+
screenshotFormat: "image/jpeg",
|
|
126
|
+
ref: webcamReference,
|
|
127
|
+
className: "captured-video-canvas hide",
|
|
128
|
+
id: 'WEBCAM_REFERENCE_ID'
|
|
129
|
+
})
|
|
130
|
+
});
|
|
110
131
|
}
|
|
@@ -10,6 +10,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
10
10
|
var _ElectronContext = require("../../contexts/ElectronContext");
|
|
11
11
|
var _electron = _interopRequireDefault(require("./electron"));
|
|
12
12
|
var _web = _interopRequireDefault(require("./web"));
|
|
13
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
14
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
15
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
15
16
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -25,14 +26,14 @@ const WebCam = _ref => {
|
|
|
25
26
|
} = _ref;
|
|
26
27
|
const isElectronApp = (0, _react.useContext)(_ElectronContext.ElectronContext);
|
|
27
28
|
if (isElectronApp) {
|
|
28
|
-
return /*#__PURE__*/
|
|
29
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_electron.default, {
|
|
29
30
|
setAskPermissionAction: setAskPermissionAction,
|
|
30
31
|
proctorParams: proctorParams,
|
|
31
32
|
proctoredContext: proctoredContext,
|
|
32
33
|
config: config
|
|
33
34
|
});
|
|
34
35
|
}
|
|
35
|
-
return /*#__PURE__*/
|
|
36
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_web.default, {
|
|
36
37
|
proctoredContext: proctoredContext,
|
|
37
38
|
setAskPermissionAction: setAskPermissionAction,
|
|
38
39
|
proctorParams: proctorParams,
|
|
@@ -16,6 +16,7 @@ var _browserUtils = require("../../utils/browserUtils");
|
|
|
16
16
|
var _webcamMicrophoneUtils = require("../../utils/webcamMicrophoneUtils");
|
|
17
17
|
var _dom = require("../../constants/dom");
|
|
18
18
|
var _useBreachData = require("../../hooks/useBreachData");
|
|
19
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
20
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
20
21
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
21
22
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -103,24 +104,25 @@ const WebWebCam = _ref => {
|
|
|
103
104
|
}
|
|
104
105
|
}
|
|
105
106
|
}, [setVideoPermission, setAudioPermission, proctorParams]);
|
|
106
|
-
return /*#__PURE__*/
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
107
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
108
|
+
children: (0, _breachUtils.isWebcamRequired)(proctorParams) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactWebcam.default, {
|
|
109
|
+
audio: (0, _breachUtils.isAudioRequired)(),
|
|
110
|
+
screenshotFormat: "image/jpeg",
|
|
111
|
+
ref: webcamReference,
|
|
112
|
+
onUserMedia: () => {
|
|
113
|
+
setVideoPermission(true);
|
|
114
|
+
},
|
|
115
|
+
onUserMediaError: err => {
|
|
116
|
+
logger("Retry Count = ".concat(retryCount, " | Webcam error, onUserMediaError | ").concat(err.toString()));
|
|
117
|
+
if (retryCount === 0) {
|
|
118
|
+
setVideoPermission(false);
|
|
119
|
+
} else {
|
|
120
|
+
setRetryCount(retryCount - 1);
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
className: "captured-video-canvas hide",
|
|
124
|
+
id: _dom.WEBCAM_REFERENCE_ID
|
|
125
|
+
}, retryCount)
|
|
126
|
+
});
|
|
125
127
|
};
|
|
126
128
|
var _default = exports.default = WebWebCam;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = useKishokMode;
|
|
7
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
var _breachUtils = require("../../utils/breachUtils");
|
|
10
|
+
var _useGenericFullScreenData = _interopRequireDefault(require("../useGenericFullScreenData"));
|
|
11
|
+
var _ElectronContext = require("../../contexts/ElectronContext");
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
|
+
function useKishokMode(_ref) {
|
|
14
|
+
let {
|
|
15
|
+
proctoredContext,
|
|
16
|
+
proctorParams
|
|
17
|
+
} = _ref;
|
|
18
|
+
const {
|
|
19
|
+
permissions
|
|
20
|
+
} = (0, _react.useContext)(proctoredContext);
|
|
21
|
+
const [connectedToInternet, setConnectedToInternet] = (0, _react.useState)(true);
|
|
22
|
+
const isElectronApp = (0, _react.useContext)(_ElectronContext.ElectronContext);
|
|
23
|
+
const {
|
|
24
|
+
isFullscreen
|
|
25
|
+
} = (0, _useGenericFullScreenData.default)(isElectronApp);
|
|
26
|
+
const shouldShowProctoredComponent = (0, _breachUtils.showProctoredComponent)(proctorParams, permissions);
|
|
27
|
+
(0, _react.useEffect)(() => {
|
|
28
|
+
const updateOnlineStatus = () => {
|
|
29
|
+
setConnectedToInternet(window.navigator.onLine);
|
|
30
|
+
};
|
|
31
|
+
window.addEventListener('online', updateOnlineStatus);
|
|
32
|
+
window.addEventListener('offline', updateOnlineStatus);
|
|
33
|
+
updateOnlineStatus();
|
|
34
|
+
}, []);
|
|
35
|
+
(0, _react.useEffect)(() => {
|
|
36
|
+
if (typeof window !== 'undefined' && shouldShowProctoredComponent && isFullscreen && isElectronApp && connectedToInternet) {
|
|
37
|
+
window.electron.actions.enableKioskMode();
|
|
38
|
+
} else {
|
|
39
|
+
var _window$electron, _window$electron$acti;
|
|
40
|
+
(_window$electron = window.electron) === null || _window$electron === void 0 ? void 0 : (_window$electron$acti = _window$electron.actions) === null || _window$electron$acti === void 0 ? void 0 : _window$electron$acti.disableKioskMode();
|
|
41
|
+
}
|
|
42
|
+
}, [isFullscreen, shouldShowProctoredComponent, isElectronApp]);
|
|
43
|
+
}
|
|
@@ -12,7 +12,7 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
12
12
|
const browserFullscreenElementProp = (0, _utils.getBrowserFullscreenElementProp)();
|
|
13
13
|
function useFullscreenData() {
|
|
14
14
|
const fullScreenElement = (0, _react.useRef)(document.documentElement);
|
|
15
|
-
const [isFullscreen, setIsFullscreen] = (0, _react.useState)(
|
|
15
|
+
const [isFullscreen, setIsFullscreen] = (0, _react.useState)(typeof window !== 'undefined' && (document[browserFullscreenElementProp] != null || !!window.NS_TESTING_ENVIRONMENT));
|
|
16
16
|
const setFullscreen = (0, _react.useCallback)(() => {
|
|
17
17
|
var _fullScreenElement$cu, _fullScreenElement$cu2, _fullScreenElement$cu3, _fullScreenElement$cu4, _fullScreenElement$cu5, _fullScreenElement$cu6;
|
|
18
18
|
if (!fullScreenElement || !fullScreenElement.current) {
|
package/dist/index.js
CHANGED
|
@@ -15,4 +15,12 @@ Object.defineProperty(exports, "ProctoredContextApp", {
|
|
|
15
15
|
return _components.ProctoredContextApp;
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
|
-
|
|
18
|
+
Object.defineProperty(exports, "useIsElectron", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function get() {
|
|
21
|
+
return _useIsElectron.default;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
var _components = require("./components");
|
|
25
|
+
var _useIsElectron = _interopRequireDefault(require("./hooks/electron/useIsElectron"));
|
|
26
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -13,6 +13,9 @@ const PROPERTY_TYPES = {
|
|
|
13
13
|
BLUR: 'blur'
|
|
14
14
|
};
|
|
15
15
|
const getBrowserPropPrefix = () => {
|
|
16
|
+
if (typeof window === 'undefined') {
|
|
17
|
+
return '';
|
|
18
|
+
}
|
|
16
19
|
if (typeof document.msHidden !== 'undefined') {
|
|
17
20
|
return 'ms';
|
|
18
21
|
} else if (typeof document.webkitHidden !== 'undefined') {
|
|
@@ -21,6 +24,9 @@ const getBrowserPropPrefix = () => {
|
|
|
21
24
|
return '';
|
|
22
25
|
};
|
|
23
26
|
const getBrowserPropForHidden = () => {
|
|
27
|
+
if (typeof window === 'undefined') {
|
|
28
|
+
return 'hidden';
|
|
29
|
+
}
|
|
24
30
|
if (typeof document.hidden !== 'undefined') {
|
|
25
31
|
return 'hidden';
|
|
26
32
|
}
|
|
@@ -49,6 +55,9 @@ exports.getFocusEventName = getFocusEventName;
|
|
|
49
55
|
const getBlurEventName = () => getBrowserDocumentProp(PROPERTY_TYPES.BLUR);
|
|
50
56
|
exports.getBlurEventName = getBlurEventName;
|
|
51
57
|
const getBrowserFullscreenElementProp = () => {
|
|
58
|
+
if (typeof document === 'undefined') {
|
|
59
|
+
return '';
|
|
60
|
+
}
|
|
52
61
|
if (typeof document.fullscreenElement !== 'undefined') {
|
|
53
62
|
return 'fullscreenElement';
|
|
54
63
|
} else if (typeof document.mozFullScreenElement !== 'undefined') {
|
package/dist/utils/gpuUtils.js
CHANGED
|
@@ -9,9 +9,12 @@ require("core-js/modules/es.array.includes.js");
|
|
|
9
9
|
require("core-js/modules/es.string.includes.js");
|
|
10
10
|
var _defaults = require("../constants/defaults");
|
|
11
11
|
const isGPUAvailable = () => {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
if (typeof window === 'undefined') {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
const canvas = document.createElement('canvas');
|
|
16
|
+
const webgl = canvas.getContext('webgl') || canvas.getContext('experimental-webgl');
|
|
17
|
+
const debugInfo = webgl === null || webgl === void 0 ? void 0 : webgl.getExtension('webgl_debug_renderer_info');
|
|
15
18
|
if (!debugInfo) {
|
|
16
19
|
return false;
|
|
17
20
|
}
|
package/dist/utils/loadable.js
CHANGED
|
@@ -6,9 +6,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
|
+
require("core-js/modules/es.symbol.description.js");
|
|
9
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
12
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
11
13
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
14
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
15
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
16
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
17
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
18
|
+
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
12
19
|
const loadable = function loadable(importFunc) {
|
|
13
20
|
let {
|
|
14
21
|
fallback = null
|
|
@@ -16,8 +23,9 @@ const loadable = function loadable(importFunc) {
|
|
|
16
23
|
fallback: null
|
|
17
24
|
};
|
|
18
25
|
const LazyComponent = /*#__PURE__*/(0, _react.lazy)(importFunc);
|
|
19
|
-
return props => /*#__PURE__*/
|
|
20
|
-
fallback: fallback
|
|
21
|
-
|
|
26
|
+
return props => /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Suspense, {
|
|
27
|
+
fallback: fallback,
|
|
28
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(LazyComponent, _objectSpread({}, props))
|
|
29
|
+
});
|
|
22
30
|
};
|
|
23
31
|
var _default = exports.default = loadable;
|