@newtonschool/react_proctoring_library 0.0.30 → 0.0.32
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/package.json +1 -1
- package/dist/assets/images/newton-school-logo.png +0 -0
- package/dist/assets/images/url-video-permission-highlight.png +0 -0
- package/dist/assets/videos/ask-permission.mp4 +0 -0
- package/dist/components/ProctorApp.js +0 -181
- package/dist/components/ProctoredContextApp.js +0 -109
- package/dist/components/activity-tracker/index.js +0 -150
- package/dist/components/activity-tracker/index.scss +0 -7
- package/dist/components/index.js +0 -47
- package/dist/components/index.scss +0 -8
- package/dist/components/permissions/index.js +0 -77
- package/dist/components/permissions/index.scss +0 -6
- package/dist/components/permissions/permission-body.js +0 -60
- package/dist/components/proctor-app/Loadable.js +0 -26
- package/dist/components/proctor-app/index.js +0 -181
- package/dist/components/proctor-app/index.scss +0 -12
- package/dist/components/proctor-context-app/Loadable.js +0 -26
- package/dist/components/proctor-context-app/index.js +0 -108
- package/dist/components/screenshare/index.js +0 -40
- package/dist/components/screenshare/index.scss +0 -4
- package/dist/constants/defaults.js +0 -54
- package/dist/constants/text.js +0 -60
- package/dist/hooks/index.js +0 -23
- package/dist/hooks/useFullScreenData.js +0 -43
- package/dist/hooks/usePageVisibility.js +0 -31
- package/dist/hooks/useTabSwitchCount.js +0 -25
- package/dist/hooks/useWebcamData.js +0 -82
- package/dist/index.js +0 -19
- package/dist/proctoringTracker/tracker.js +0 -17
- package/dist/proctoringTracker/trackerWrapper.js +0 -1
- package/dist/utils/arrayUtils.js +0 -16
- package/dist/utils/breachUtils.js +0 -135
- package/dist/utils/browserUtils.js +0 -72
- package/dist/utils/gpuUtils.js +0 -29
- package/dist/utils/index.js +0 -79
- package/dist/utils/loadable.js +0 -29
- package/dist/utils/webcamMicrophoneUtils.js +0 -223
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.PermissionBody = void 0;
|
|
9
|
-
|
|
10
|
-
var _react = _interopRequireDefault(require("react"));
|
|
11
|
-
|
|
12
|
-
var _urlVideoPermissionHighlight = _interopRequireDefault(require("../../assets/images/url-video-permission-highlight.png"));
|
|
13
|
-
|
|
14
|
-
require("./index.scss");
|
|
15
|
-
|
|
16
|
-
var text = _interopRequireWildcard(require("../../constants/text"));
|
|
17
|
-
|
|
18
|
-
var _browserUtils = require("../../utils/browserUtils");
|
|
19
|
-
|
|
20
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
21
|
-
|
|
22
|
-
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; }
|
|
23
|
-
|
|
24
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
|
-
|
|
26
|
-
const PermissionBody = _ref => {
|
|
27
|
-
let {
|
|
28
|
-
showFullscreenText,
|
|
29
|
-
showAudioPermissionText,
|
|
30
|
-
showVideoPermissionText,
|
|
31
|
-
showScreensharePermission
|
|
32
|
-
} = _ref;
|
|
33
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
34
|
-
className: "mb-2"
|
|
35
|
-
}, text.PERMISSION_GENERIC), showScreensharePermission && /*#__PURE__*/_react.default.createElement("div", {
|
|
36
|
-
className: "mb-2"
|
|
37
|
-
}, !(0, _browserUtils.isChrome)() && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("strong", null, "Please switch to chrome"), /*#__PURE__*/_react.default.createElement("br", null)), /*#__PURE__*/_react.default.createElement("span", {
|
|
38
|
-
className: "pr-2 font-weight-bold"
|
|
39
|
-
}, "Screenshare:"), text.PERMISSION_SCREENSHARE), showAudioPermissionText && showVideoPermissionText ? /*#__PURE__*/_react.default.createElement("div", {
|
|
40
|
-
className: "mb-2"
|
|
41
|
-
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
42
|
-
className: "pr-2 font-weight-bold"
|
|
43
|
-
}, "Camera/Microphone:"), text.PERMISSION_AUDIO_VIDEO) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, showVideoPermissionText && /*#__PURE__*/_react.default.createElement("div", {
|
|
44
|
-
className: "mb-2"
|
|
45
|
-
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
46
|
-
className: "pr-2 font-weight-bold"
|
|
47
|
-
}, "Camera:"), text.PERMISSION_VIDEO), showAudioPermissionText && /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("span", {
|
|
48
|
-
className: "pr-2 font-weight-bold"
|
|
49
|
-
}, "Microphone:"), text.PERMISSION_AUDIO)), (showAudioPermissionText || showVideoPermissionText) && /*#__PURE__*/_react.default.createElement("div", {
|
|
50
|
-
className: "d-flex justify-content-center"
|
|
51
|
-
}, /*#__PURE__*/_react.default.createElement("img", {
|
|
52
|
-
className: "video-permission-img",
|
|
53
|
-
alt: "url_video_permission_highlight",
|
|
54
|
-
src: _urlVideoPermissionHighlight.default
|
|
55
|
-
})), showFullscreenText && /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("span", {
|
|
56
|
-
className: "pr-2 font-weight-bold"
|
|
57
|
-
}, "Fullscreen:"), text.PERMISSION_FULLSCREEN));
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
exports.PermissionBody = PermissionBody;
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
require("core-js/modules/es.promise.js");
|
|
9
|
-
|
|
10
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
11
|
-
|
|
12
|
-
var _react = _interopRequireDefault(require("react"));
|
|
13
|
-
|
|
14
|
-
var _loadable = _interopRequireDefault(require("../../utils/loadable"));
|
|
15
|
-
|
|
16
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
-
|
|
18
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
19
|
-
|
|
20
|
-
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; }
|
|
21
|
-
|
|
22
|
-
var _default = (0, _loadable.default)(() => Promise.resolve().then(() => _interopRequireWildcard(require("./index"))), {
|
|
23
|
-
fallback: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null)
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
exports.default = _default;
|
|
@@ -1,181 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
require("core-js/modules/es.object.assign.js");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = exports.ProctorApp = void 0;
|
|
9
|
-
|
|
10
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
11
|
-
|
|
12
|
-
require("core-js/modules/es.promise.js");
|
|
13
|
-
|
|
14
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
-
|
|
16
|
-
require("./index.scss");
|
|
17
|
-
|
|
18
|
-
var _utils = require("../../utils");
|
|
19
|
-
|
|
20
|
-
var _hooks = require("../../hooks");
|
|
21
|
-
|
|
22
|
-
var _permissions = require("../permissions");
|
|
23
|
-
|
|
24
|
-
var _useWebcamData = _interopRequireDefault(require("../../hooks/useWebcamData"));
|
|
25
|
-
|
|
26
|
-
var _breachUtils = require("../../utils/breachUtils");
|
|
27
|
-
|
|
28
|
-
var _webcamMicrophoneUtils = require("../../utils/webcamMicrophoneUtils");
|
|
29
|
-
|
|
30
|
-
var _defaults = require("../../constants/defaults");
|
|
31
|
-
|
|
32
|
-
var _activityTracker = _interopRequireDefault(require("../activity-tracker"));
|
|
33
|
-
|
|
34
|
-
var _browserUtils = require("../../utils/browserUtils");
|
|
35
|
-
|
|
36
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
37
|
-
|
|
38
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
39
|
-
|
|
40
|
-
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; }
|
|
41
|
-
|
|
42
|
-
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); }
|
|
43
|
-
|
|
44
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
45
|
-
|
|
46
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
47
|
-
|
|
48
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
49
|
-
|
|
50
|
-
const isWebcamProcessingReliable = (0, _utils.isGPUAvailable)();
|
|
51
|
-
|
|
52
|
-
const ProctorApp = _ref => {
|
|
53
|
-
let {
|
|
54
|
-
proctoringIdentifier,
|
|
55
|
-
customPermissionView = null,
|
|
56
|
-
shouldRenderChildren = false,
|
|
57
|
-
permissionPassedProps = {},
|
|
58
|
-
children,
|
|
59
|
-
proctoredContext,
|
|
60
|
-
config,
|
|
61
|
-
getProctorParamValues = () => {},
|
|
62
|
-
getWebcamSnapshot = () => {},
|
|
63
|
-
getScreengrab = () => {}
|
|
64
|
-
} = _ref;
|
|
65
|
-
const [renderChildren, setRenderChildren] = (0, _react.useState)();
|
|
66
|
-
const context = (0, _react.useContext)(proctoredContext);
|
|
67
|
-
const {
|
|
68
|
-
actions,
|
|
69
|
-
permissions,
|
|
70
|
-
references,
|
|
71
|
-
permissionSetter,
|
|
72
|
-
customProps,
|
|
73
|
-
customSetter
|
|
74
|
-
} = context;
|
|
75
|
-
(0, _react.useEffect)(() => {
|
|
76
|
-
if (customProps.childrenRenderer === undefined) {
|
|
77
|
-
setRenderChildren(!shouldRenderChildren);
|
|
78
|
-
} else {
|
|
79
|
-
setRenderChildren(customProps.childrenRenderer);
|
|
80
|
-
}
|
|
81
|
-
}, [customProps]);
|
|
82
|
-
const CustomPermissionView = customPermissionView;
|
|
83
|
-
const browserDetails = {
|
|
84
|
-
isChrome: (0, _browserUtils.isChrome)()
|
|
85
|
-
};
|
|
86
|
-
const proctorParams = (0, _react.useMemo)(() => _objectSpread(_objectSpread({}, _defaults.defaultConfig), config.proctorParams), [config.proctorParams]);
|
|
87
|
-
const statistics = (0, _react.useRef)((0, _breachUtils.getInitialStats)(proctorParams));
|
|
88
|
-
const {
|
|
89
|
-
recurring = false,
|
|
90
|
-
recurringFetchInterval = 0
|
|
91
|
-
} = config;
|
|
92
|
-
const recurringFetchIntervalRef = (0, _react.useRef)(null);
|
|
93
|
-
const sendScreengrab = (0, _react.useCallback)(async function () {
|
|
94
|
-
let isBreach = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
95
|
-
let breachedParam = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
|
|
96
|
-
|
|
97
|
-
if (proctorParams.screenshareSnapshots && permissions.screenshare) {
|
|
98
|
-
const screenshot = await (0, _webcamMicrophoneUtils.captureScreenshot)();
|
|
99
|
-
getScreengrab(proctoringIdentifier, screenshot, isBreach, breachedParam);
|
|
100
|
-
}
|
|
101
|
-
}, [getScreengrab, proctoringIdentifier, proctorParams.screenshareSnapshots, permissions.screenshare]);
|
|
102
|
-
const sendWebcamSnapshot = (0, _react.useCallback)(function () {
|
|
103
|
-
let isBreach = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
104
|
-
let breachedParam = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
|
|
105
|
-
|
|
106
|
-
if (proctorParams.webcamSnapshots && permissions.video) {
|
|
107
|
-
const webcamSnapshot = (0, _utils.captureWebcamSnapshot)(references.webcamReference);
|
|
108
|
-
|
|
109
|
-
if (references.webcamReference) {
|
|
110
|
-
getWebcamSnapshot(proctoringIdentifier, webcamSnapshot, isBreach, breachedParam);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}, [proctoringIdentifier, getWebcamSnapshot, proctorParams.webcamSnapshots, permissions.video, references.webcamReference]);
|
|
114
|
-
const sendProctoredParamValues = (0, _react.useCallback)(function () {
|
|
115
|
-
let isBreach = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
116
|
-
let breachParam = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
|
|
117
|
-
getProctorParamValues(proctoringIdentifier, statistics.current, isBreach, breachParam);
|
|
118
|
-
}, [proctoringIdentifier, getProctorParamValues]);
|
|
119
|
-
const [userCount, lookedAwayCount] = (0, _useWebcamData.default)(references.webcamReference, references.canvasReference, proctorParams);
|
|
120
|
-
const isTabSwitched = !(0, _hooks.usePageVisibility)(proctorParams.tabSwitch);
|
|
121
|
-
(0, _react.useEffect)(() => {
|
|
122
|
-
if (recurring) {
|
|
123
|
-
recurringFetchIntervalRef.current = setInterval(() => {
|
|
124
|
-
sendProctoredParamValues();
|
|
125
|
-
sendWebcamSnapshot();
|
|
126
|
-
sendScreengrab();
|
|
127
|
-
}, recurringFetchInterval);
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
return () => {
|
|
131
|
-
clearInterval(recurringFetchIntervalRef.current);
|
|
132
|
-
};
|
|
133
|
-
}, [recurring, recurringFetchInterval, sendProctoredParamValues, sendWebcamSnapshot, sendScreengrab]);
|
|
134
|
-
(0, _react.useEffect)(() => {
|
|
135
|
-
const currentStats = {
|
|
136
|
-
userCount,
|
|
137
|
-
isTabSwitched,
|
|
138
|
-
isFullScreen: permissions.fullscreen,
|
|
139
|
-
lookedAwayCount,
|
|
140
|
-
isWebcamDataNotReliable: !isWebcamProcessingReliable
|
|
141
|
-
};
|
|
142
|
-
const breachData = (0, _breachUtils.getDataOnBreach)(statistics, currentStats, proctorParams);
|
|
143
|
-
(0, _utils.updateStatistics)(statistics, currentStats, proctorParams);
|
|
144
|
-
|
|
145
|
-
if (breachData) {
|
|
146
|
-
sendProctoredParamValues(true, breachData.breachedParam);
|
|
147
|
-
sendWebcamSnapshot(true, breachData.breachedParam);
|
|
148
|
-
sendScreengrab(true, breachData.breachedParam);
|
|
149
|
-
}
|
|
150
|
-
}, [userCount, isTabSwitched, permissions.fullscreen, lookedAwayCount, sendProctoredParamValues, sendWebcamSnapshot, sendScreengrab, proctorParams]);
|
|
151
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
152
|
-
className: "".concat(proctorParams.copyPasteProctoring ? "disable-copy-paste fullwidth fullheight" : "fullwidth fullheight")
|
|
153
|
-
}, (0, _breachUtils.showProctoredComponent)(proctorParams, actions.hasAllPermission) && renderChildren && children, !((0, _breachUtils.showProctoredComponent)(proctorParams, actions.hasAllPermission) && renderChildren) && customPermissionView && /*#__PURE__*/_react.default.createElement(CustomPermissionView, _extends({
|
|
154
|
-
permissions: permissions,
|
|
155
|
-
hasAllPermission: actions.hasAllPermission,
|
|
156
|
-
askPermission: actions.askPermission,
|
|
157
|
-
references: references,
|
|
158
|
-
actions: actions,
|
|
159
|
-
browserDetails: browserDetails,
|
|
160
|
-
renderChildren: () => {
|
|
161
|
-
setRenderChildren(true);
|
|
162
|
-
customSetter.childrenRenderer(true);
|
|
163
|
-
}
|
|
164
|
-
}, permissionPassedProps)), !((0, _breachUtils.showProctoredComponent)(proctorParams, actions.hasAllPermission) && renderChildren) && !customPermissionView && /*#__PURE__*/_react.default.createElement(_permissions.Permission, {
|
|
165
|
-
proctorParams: proctorParams,
|
|
166
|
-
permissions: permissions,
|
|
167
|
-
askPermission: actions.askPermission,
|
|
168
|
-
hasAllPermission: actions.hasAllPermission
|
|
169
|
-
}), /*#__PURE__*/_react.default.createElement(_activityTracker.default, {
|
|
170
|
-
proctorParams: proctorParams,
|
|
171
|
-
setAudioPermission: permissionSetter.audio,
|
|
172
|
-
setVideoPermission: permissionSetter.video,
|
|
173
|
-
webcamReference: references.webcamReference,
|
|
174
|
-
canvasReference: references.canvasReference,
|
|
175
|
-
screenshareReference: references.screenshareReference
|
|
176
|
-
}));
|
|
177
|
-
};
|
|
178
|
-
|
|
179
|
-
exports.ProctorApp = ProctorApp;
|
|
180
|
-
var _default = ProctorApp;
|
|
181
|
-
exports.default = _default;
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
require("core-js/modules/es.promise.js");
|
|
9
|
-
|
|
10
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
11
|
-
|
|
12
|
-
var _react = _interopRequireDefault(require("react"));
|
|
13
|
-
|
|
14
|
-
var _loadable = _interopRequireDefault(require("../../utils/loadable"));
|
|
15
|
-
|
|
16
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
-
|
|
18
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
19
|
-
|
|
20
|
-
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; }
|
|
21
|
-
|
|
22
|
-
var _default = (0, _loadable.default)(() => Promise.resolve().then(() => _interopRequireWildcard(require("./index"))), {
|
|
23
|
-
fallback: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null)
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
exports.default = _default;
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
9
|
-
|
|
10
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
-
|
|
12
|
-
var _hooks = require("../../hooks");
|
|
13
|
-
|
|
14
|
-
var _webcamMicrophoneUtils = require("../../utils/webcamMicrophoneUtils");
|
|
15
|
-
|
|
16
|
-
var _defaults = require("../../constants/defaults");
|
|
17
|
-
|
|
18
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
19
|
-
|
|
20
|
-
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; }
|
|
21
|
-
|
|
22
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
23
|
-
|
|
24
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
25
|
-
|
|
26
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
27
|
-
|
|
28
|
-
const ProctoredContextApp = _ref => {
|
|
29
|
-
let {
|
|
30
|
-
contextProvider,
|
|
31
|
-
config = {
|
|
32
|
-
proctorParams: _defaults.defaultConfig
|
|
33
|
-
},
|
|
34
|
-
children
|
|
35
|
-
} = _ref;
|
|
36
|
-
const proctorParams = (0, _react.useMemo)(() => _objectSpread(_objectSpread({}, _defaults.defaultConfig), config.proctorParams), [config.proctorParams]);
|
|
37
|
-
const {
|
|
38
|
-
isFullscreen,
|
|
39
|
-
setFullscreen
|
|
40
|
-
} = (0, _hooks.useFullscreenData)(proctorParams.fullscreenExit);
|
|
41
|
-
const [audioPermisison, setAudioPermission] = (0, _react.useState)();
|
|
42
|
-
const [videoPermission, setVideoPermission] = (0, _react.useState)();
|
|
43
|
-
const [screensharePermission, setScreensharePermission] = (0, _react.useState)();
|
|
44
|
-
const [customRenderer, setCustomRenderer] = (0, _react.useState)();
|
|
45
|
-
const webcamReference = (0, _react.useRef)(null);
|
|
46
|
-
const canvasReference = (0, _react.useRef)(null);
|
|
47
|
-
const screenshareReference = (0, _react.useRef)(null);
|
|
48
|
-
const Context = contextProvider;
|
|
49
|
-
const askPermissionAction = (0, _react.useMemo)(() => ({
|
|
50
|
-
screenshare: () => {
|
|
51
|
-
(0, _webcamMicrophoneUtils.setupScreensharePermission)(setScreensharePermission, screenshareReference);
|
|
52
|
-
},
|
|
53
|
-
fullscreen: () => {
|
|
54
|
-
setFullscreen();
|
|
55
|
-
}
|
|
56
|
-
}), [screenshareReference, setFullscreen]);
|
|
57
|
-
const getPermissionObj = (0, _react.useMemo)(() => ({
|
|
58
|
-
video: videoPermission,
|
|
59
|
-
audio: audioPermisison,
|
|
60
|
-
fullscreen: isFullscreen,
|
|
61
|
-
screenshare: screensharePermission
|
|
62
|
-
}), [videoPermission, audioPermisison, isFullscreen, screensharePermission]);
|
|
63
|
-
const askPermission = (0, _react.useCallback)(requiredPermissions => {
|
|
64
|
-
requiredPermissions.forEach(element => {
|
|
65
|
-
if (!getPermissionObj[element] && askPermissionAction[element]) {
|
|
66
|
-
askPermissionAction[element]();
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
}, [getPermissionObj, askPermissionAction]);
|
|
70
|
-
const hasAllPermission = (0, _react.useCallback)(requiredPermissions => {
|
|
71
|
-
let hasPermission = true;
|
|
72
|
-
requiredPermissions.forEach(element => {
|
|
73
|
-
if (!getPermissionObj[element]) {
|
|
74
|
-
hasPermission = hasPermission && false;
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
return hasPermission;
|
|
78
|
-
}, [getPermissionObj]);
|
|
79
|
-
return /*#__PURE__*/_react.default.createElement(Context.Provider, {
|
|
80
|
-
value: {
|
|
81
|
-
permissions: getPermissionObj,
|
|
82
|
-
permissionSetter: {
|
|
83
|
-
audio: setAudioPermission,
|
|
84
|
-
video: setVideoPermission,
|
|
85
|
-
screenshare: setScreensharePermission
|
|
86
|
-
},
|
|
87
|
-
customProps: {
|
|
88
|
-
childrenRenderer: customRenderer
|
|
89
|
-
},
|
|
90
|
-
customSetter: {
|
|
91
|
-
childrenRenderer: setCustomRenderer
|
|
92
|
-
},
|
|
93
|
-
proctorParams,
|
|
94
|
-
actions: {
|
|
95
|
-
askPermission: askPermission,
|
|
96
|
-
hasAllPermission: hasAllPermission
|
|
97
|
-
},
|
|
98
|
-
references: {
|
|
99
|
-
webcamReference: webcamReference,
|
|
100
|
-
canvasReference: canvasReference,
|
|
101
|
-
screenshareReference: screenshareReference
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
}, children);
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
var _default = ProctoredContextApp;
|
|
108
|
-
exports.default = _default;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.ScreenshareTracker = void 0;
|
|
7
|
-
|
|
8
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
9
|
-
|
|
10
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
-
|
|
12
|
-
var _webcamMicrophoneUtils = require("../../utils/webcamMicrophoneUtils");
|
|
13
|
-
|
|
14
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
15
|
-
|
|
16
|
-
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; }
|
|
17
|
-
|
|
18
|
-
const ScreenshareTracker = _ref => {
|
|
19
|
-
let {
|
|
20
|
-
triggerRequestPermission,
|
|
21
|
-
permissionChangeCallback
|
|
22
|
-
} = _ref;
|
|
23
|
-
const [screensharePermission, setScreensharePermission] = (0, _react.useState)();
|
|
24
|
-
const screenshareReference = (0, _react.useRef)(null);
|
|
25
|
-
(0, _react.useEffect)(() => {
|
|
26
|
-
permissionChangeCallback(screensharePermission);
|
|
27
|
-
}, [screensharePermission, permissionChangeCallback]);
|
|
28
|
-
(0, _react.useEffect)(() => {
|
|
29
|
-
if (triggerRequestPermission) {
|
|
30
|
-
(0, _webcamMicrophoneUtils.setupScreensharePermission)(setScreensharePermission, screenshareReference);
|
|
31
|
-
}
|
|
32
|
-
}, [triggerRequestPermission]);
|
|
33
|
-
return /*#__PURE__*/_react.default.createElement("video", {
|
|
34
|
-
ref: screenshareReference,
|
|
35
|
-
className: "captured-video-canvas",
|
|
36
|
-
id: "ss-ref"
|
|
37
|
-
});
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
exports.ScreenshareTracker = ScreenshareTracker;
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.proctorParamsToPermission = exports.initialValues = exports.gpuTypes = exports.evaluateVideoIntervalInSeconds = exports.defaultConfig = exports.STATS_PARAMS = exports.INITIAL_STATISTICS = void 0;
|
|
7
|
-
const defaultConfig = {
|
|
8
|
-
people: true,
|
|
9
|
-
tabSwitch: true,
|
|
10
|
-
fullscreenExit: true,
|
|
11
|
-
lookedAway: true,
|
|
12
|
-
webcamSnapshots: true,
|
|
13
|
-
screenshareSnapshots: true,
|
|
14
|
-
copyPasteProctoring: true
|
|
15
|
-
};
|
|
16
|
-
exports.defaultConfig = defaultConfig;
|
|
17
|
-
const initialValues = {
|
|
18
|
-
isTabSwitched: false,
|
|
19
|
-
userCount: 0,
|
|
20
|
-
isWebcamDataNotReliable: true,
|
|
21
|
-
isWatching: true,
|
|
22
|
-
canOpenFullScreen: false,
|
|
23
|
-
isFullscreen: false,
|
|
24
|
-
lookedAwayCount: 0,
|
|
25
|
-
firstTimeFullScreen: true
|
|
26
|
-
};
|
|
27
|
-
exports.initialValues = initialValues;
|
|
28
|
-
const STATS_PARAMS = {
|
|
29
|
-
isTabSwitched: "IS_TAB_SWITCHED",
|
|
30
|
-
isFullscreen: "IS_FULLSCREEN",
|
|
31
|
-
lookedAwayCount: "LOOKED_AWAY_COUNT",
|
|
32
|
-
userCountMax: "USER_COUNT_MAX",
|
|
33
|
-
isWebcamNotReliable: "IS_WEBCAM_DATA_NOT_RELIABLE"
|
|
34
|
-
};
|
|
35
|
-
exports.STATS_PARAMS = STATS_PARAMS;
|
|
36
|
-
const INITIAL_STATISTICS = {
|
|
37
|
-
[STATS_PARAMS.isTabSwitched]: initialValues.isTabSwitched,
|
|
38
|
-
[STATS_PARAMS.isFullscreen]: initialValues.isFullscreen,
|
|
39
|
-
[STATS_PARAMS.lookedAwayCount]: initialValues.lookedAwayCount,
|
|
40
|
-
[STATS_PARAMS.userCountMax]: initialValues.userCount,
|
|
41
|
-
[STATS_PARAMS.isWebcamNotReliable]: initialValues.isWebcamDataNotReliable
|
|
42
|
-
};
|
|
43
|
-
exports.INITIAL_STATISTICS = INITIAL_STATISTICS;
|
|
44
|
-
const proctorParamsToPermission = {
|
|
45
|
-
fullscreenExit: "fullscreen",
|
|
46
|
-
lookedAway: "video",
|
|
47
|
-
webcamSnapshots: "video",
|
|
48
|
-
screenshareSnapshots: "screenshare"
|
|
49
|
-
};
|
|
50
|
-
exports.proctorParamsToPermission = proctorParamsToPermission;
|
|
51
|
-
const evaluateVideoIntervalInSeconds = 5;
|
|
52
|
-
exports.evaluateVideoIntervalInSeconds = evaluateVideoIntervalInSeconds;
|
|
53
|
-
const gpuTypes = ["intel", "apple", "amd", "radeon", "nvidia", "geforce"];
|
|
54
|
-
exports.gpuTypes = gpuTypes;
|
package/dist/constants/text.js
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.WATCHING_SCREEN = exports.VIDEO_UNSUPPORTED_IN_BROWSER = exports.USER_COUNT_LABEL = exports.REQUEST_VIDEO_AUDIO_PERMISSIONS_HEADING = exports.REQUEST_VIDEO_AUDIO_PERMISSIONS_DESC = exports.REQUEST_PERMISSION = exports.PERMISSION_VIDEO = exports.PERMISSION_TITLE = exports.PERMISSION_SCREENSHARE = exports.PERMISSION_GENERIC = exports.PERMISSION_FULLSCREEN = exports.PERMISSION_AUDIO_VIDEO = exports.PERMISSION_AUDIO = exports.NO_CAMERA_AVAILABLE = exports.NO_AUDIO_DEVICE_AVAILABLE = exports.NOT_WATCHING_SCREEN = exports.MESSAGE = exports.FULLSCREEN_ERROR_MESSAGE = exports.DENY_FULLSCREEN = exports.CAMERA_UNAVAILABLE_INSECURE_CONN = exports.BROWSER_BLOCKED_PERMISSION_RESOLVED_RECHECK = exports.BROWSER_BLOCKED_PERMISSION_NEXT_STEP = exports.BROWSER_BLOCKED_PERMISSION_DIRECTION = exports.BROWSER_BLOCKED_PERMISSION_DIALOG = exports.BROWSER_BLOCKED_PERMISSION = exports.ALLOW_SCREENSHARE = exports.ALLOW_FULLSCREEN = void 0;
|
|
7
|
-
const WATCHING_SCREEN = "You are watching the screen";
|
|
8
|
-
exports.WATCHING_SCREEN = WATCHING_SCREEN;
|
|
9
|
-
const NOT_WATCHING_SCREEN = "You are not watching the screen";
|
|
10
|
-
exports.NOT_WATCHING_SCREEN = NOT_WATCHING_SCREEN;
|
|
11
|
-
const USER_COUNT_LABEL = "User count";
|
|
12
|
-
exports.USER_COUNT_LABEL = USER_COUNT_LABEL;
|
|
13
|
-
const PERMISSION_TITLE = "Permissions";
|
|
14
|
-
exports.PERMISSION_TITLE = PERMISSION_TITLE;
|
|
15
|
-
const MESSAGE = "This screen can only be accessed in fullscreen mode. Please allow us to switch your screen to fullscreen mode for continuous access of the screen.";
|
|
16
|
-
exports.MESSAGE = MESSAGE;
|
|
17
|
-
const FULLSCREEN_ERROR_MESSAGE = "This screen is only accessible in fullscreen mode";
|
|
18
|
-
exports.FULLSCREEN_ERROR_MESSAGE = FULLSCREEN_ERROR_MESSAGE;
|
|
19
|
-
const DENY_FULLSCREEN = "Deny";
|
|
20
|
-
exports.DENY_FULLSCREEN = DENY_FULLSCREEN;
|
|
21
|
-
const ALLOW_FULLSCREEN = "Switch to Fullscreen";
|
|
22
|
-
exports.ALLOW_FULLSCREEN = ALLOW_FULLSCREEN;
|
|
23
|
-
const ALLOW_SCREENSHARE = "Share Screen";
|
|
24
|
-
exports.ALLOW_SCREENSHARE = ALLOW_SCREENSHARE;
|
|
25
|
-
const NO_CAMERA_AVAILABLE = "No Camera available for use.";
|
|
26
|
-
exports.NO_CAMERA_AVAILABLE = NO_CAMERA_AVAILABLE;
|
|
27
|
-
const NO_AUDIO_DEVICE_AVAILABLE = "No audio device available for use";
|
|
28
|
-
exports.NO_AUDIO_DEVICE_AVAILABLE = NO_AUDIO_DEVICE_AVAILABLE;
|
|
29
|
-
const CAMERA_UNAVAILABLE_INSECURE_CONN = "Camera can only be used in secure connection. Please check that you are in https mode";
|
|
30
|
-
exports.CAMERA_UNAVAILABLE_INSECURE_CONN = CAMERA_UNAVAILABLE_INSECURE_CONN;
|
|
31
|
-
const VIDEO_UNSUPPORTED_IN_BROWSER = "This page requires a browser, such as Google Chrome or Firefox, that supports the video tag.";
|
|
32
|
-
exports.VIDEO_UNSUPPORTED_IN_BROWSER = VIDEO_UNSUPPORTED_IN_BROWSER;
|
|
33
|
-
const BROWSER_BLOCKED_PERMISSION = "It seems your browser is blocked from accessing your camera and microphone.";
|
|
34
|
-
exports.BROWSER_BLOCKED_PERMISSION = BROWSER_BLOCKED_PERMISSION;
|
|
35
|
-
const REQUEST_VIDEO_AUDIO_PERMISSIONS_HEADING = "To access this page, you will need to give us video and audio permissions";
|
|
36
|
-
exports.REQUEST_VIDEO_AUDIO_PERMISSIONS_HEADING = REQUEST_VIDEO_AUDIO_PERMISSIONS_HEADING;
|
|
37
|
-
const REQUEST_VIDEO_AUDIO_PERMISSIONS_DESC = "Without these permissions, you won't be able to access the screen";
|
|
38
|
-
exports.REQUEST_VIDEO_AUDIO_PERMISSIONS_DESC = REQUEST_VIDEO_AUDIO_PERMISSIONS_DESC;
|
|
39
|
-
const REQUEST_PERMISSION = "Request Permission";
|
|
40
|
-
exports.REQUEST_PERMISSION = REQUEST_PERMISSION;
|
|
41
|
-
const BROWSER_BLOCKED_PERMISSION_DIRECTION = "Somewhere near right corner of url bar you will find icon like below, please click it.";
|
|
42
|
-
exports.BROWSER_BLOCKED_PERMISSION_DIRECTION = BROWSER_BLOCKED_PERMISSION_DIRECTION;
|
|
43
|
-
const BROWSER_BLOCKED_PERMISSION_DIALOG = "It will open dialog box like the one shown below, please allow us the permissions.";
|
|
44
|
-
exports.BROWSER_BLOCKED_PERMISSION_DIALOG = BROWSER_BLOCKED_PERMISSION_DIALOG;
|
|
45
|
-
const BROWSER_BLOCKED_PERMISSION_NEXT_STEP = "Click on the button below, after completing above steps.";
|
|
46
|
-
exports.BROWSER_BLOCKED_PERMISSION_NEXT_STEP = BROWSER_BLOCKED_PERMISSION_NEXT_STEP;
|
|
47
|
-
const BROWSER_BLOCKED_PERMISSION_RESOLVED_RECHECK = "I've given permission, Check Again";
|
|
48
|
-
exports.BROWSER_BLOCKED_PERMISSION_RESOLVED_RECHECK = BROWSER_BLOCKED_PERMISSION_RESOLVED_RECHECK;
|
|
49
|
-
const PERMISSION_GENERIC = "This screen requires following permissions for continuous access. Without these permissions, you won't be able to access the screen.";
|
|
50
|
-
exports.PERMISSION_GENERIC = PERMISSION_GENERIC;
|
|
51
|
-
const PERMISSION_FULLSCREEN = "Please allow us to switch your screen to fullscreen mode.";
|
|
52
|
-
exports.PERMISSION_FULLSCREEN = PERMISSION_FULLSCREEN;
|
|
53
|
-
const PERMISSION_AUDIO_VIDEO = "Your browser or system settings have disallowed Microphone and Camera permissions. Please permit this website to access microphone and camera. Refresh after you've given the permission to access the screen";
|
|
54
|
-
exports.PERMISSION_AUDIO_VIDEO = PERMISSION_AUDIO_VIDEO;
|
|
55
|
-
const PERMISSION_VIDEO = "Your browser or system settings have disallowed Camera permissions. Please permit this website to access the camera. Refresh after you've given the permission to access the screen";
|
|
56
|
-
exports.PERMISSION_VIDEO = PERMISSION_VIDEO;
|
|
57
|
-
const PERMISSION_AUDIO = "Your browser or system settings have disallowed Microphone permissions. Please permit this website to access the microphone. Refresh after you've given the permission to access the screen";
|
|
58
|
-
exports.PERMISSION_AUDIO = PERMISSION_AUDIO;
|
|
59
|
-
const PERMISSION_SCREENSHARE = "Please share your entire screen";
|
|
60
|
-
exports.PERMISSION_SCREENSHARE = PERMISSION_SCREENSHARE;
|
package/dist/hooks/index.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
Object.defineProperty(exports, "useFullscreenData", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function get() {
|
|
9
|
-
return _useFullScreenData.default;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
Object.defineProperty(exports, "usePageVisibility", {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: function get() {
|
|
15
|
-
return _usePageVisibility.default;
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
var _useFullScreenData = _interopRequireDefault(require("./useFullScreenData"));
|
|
20
|
-
|
|
21
|
-
var _usePageVisibility = _interopRequireDefault(require("./usePageVisibility"));
|
|
22
|
-
|
|
23
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = useFullscreenData;
|
|
7
|
-
|
|
8
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
9
|
-
|
|
10
|
-
var _react = require("react");
|
|
11
|
-
|
|
12
|
-
var _utils = require("../utils");
|
|
13
|
-
|
|
14
|
-
const browserFullscreenElementProp = (0, _utils.getBrowserFullscreenElementProp)();
|
|
15
|
-
|
|
16
|
-
function useFullscreenData(isProctorParam) {
|
|
17
|
-
const fullScreenElement = (0, _react.useRef)(document.documentElement);
|
|
18
|
-
const [isFullscreen, setIsFullscreen] = (0, _react.useState)(document[browserFullscreenElementProp] != null);
|
|
19
|
-
|
|
20
|
-
const setFullscreen = () => {
|
|
21
|
-
if (!fullScreenElement || !fullScreenElement.current) {
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
fullScreenElement.current.requestFullscreen().then(() => {
|
|
26
|
-
setIsFullscreen(document[browserFullscreenElementProp] != null);
|
|
27
|
-
}).catch(() => {
|
|
28
|
-
setIsFullscreen(false);
|
|
29
|
-
});
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
(0, _react.useEffect)(() => {
|
|
33
|
-
if (isProctorParam) {
|
|
34
|
-
document.onfullscreenchange = () => setIsFullscreen(document[browserFullscreenElementProp] != null);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
return () => document.onfullscreenchange = undefined;
|
|
38
|
-
}, [isProctorParam]);
|
|
39
|
-
return {
|
|
40
|
-
isFullscreen,
|
|
41
|
-
setFullscreen
|
|
42
|
-
};
|
|
43
|
-
}
|