@newtonschool/react_proctoring_library 0.0.38 → 0.0.39

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.
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ require("core-js/modules/es.symbol.description.js");
3
4
  require("core-js/modules/es.object.assign.js");
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
@@ -24,7 +25,9 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
24
25
  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); }
25
26
  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; }
26
27
  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; }
27
- 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; }
28
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
29
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
30
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
28
31
  const isWebcamProcessingReliable = (0, _utils.isGPUAvailable)();
29
32
  const ProctorApp = _ref => {
30
33
  let {
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  require("core-js/modules/web.dom-collections.iterator.js");
8
+ require("core-js/modules/es.symbol.description.js");
8
9
  var _react = _interopRequireWildcard(require("react"));
9
10
  var _hooks = require("../../hooks");
10
11
  var _webcamMicrophoneUtils = require("../../utils/webcamMicrophoneUtils");
@@ -13,7 +14,9 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
13
14
  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; }
14
15
  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; }
15
16
  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; }
16
- 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; }
17
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
18
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
19
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
17
20
  const ProctoredContextApp = _ref => {
18
21
  let {
19
22
  contextProvider,
@@ -7,17 +7,22 @@ exports.default = usePageVisibility;
7
7
  require("core-js/modules/web.dom-collections.iterator.js");
8
8
  var _react = require("react");
9
9
  var _utils = require("../utils");
10
- const visibilityChangeEvent = (0, _utils.getVisibilityChangeEventName)();
10
+ const focusEvent = (0, _utils.getFocusEventName)();
11
+ const blurEvent = (0, _utils.getBlurEventName)();
11
12
  function usePageVisibility(isProctorParam) {
12
- const [isVisible, setIsVisible] = (0, _react.useState)((0, _utils.getIsDocumentVisible)());
13
- const updateVisibility = () => {
14
- setIsVisible((0, _utils.getIsDocumentVisible)());
13
+ const [isVisible, setIsVisible] = (0, _react.useState)(true);
14
+ const updateVisibilityOnFocus = () => {
15
+ setIsVisible(true);
16
+ };
17
+ const updateVisibilityOnBlur = () => {
18
+ setIsVisible(false);
15
19
  };
16
20
  (0, _react.useEffect)(() => {
17
- updateVisibility();
18
- document.addEventListener(visibilityChangeEvent, updateVisibility, false);
21
+ document.addEventListener(focusEvent, updateVisibilityOnFocus, false);
22
+ document.addEventListener(blurEvent, updateVisibilityOnBlur, false);
19
23
  return () => {
20
- document.removeEventListener(visibilityChangeEvent, updateVisibility);
24
+ document.removeEventListener(focusEvent, updateVisibilityOnFocus);
25
+ document.removeEventListener(blurEvent, updateVisibilityOnBlur);
21
26
  };
22
27
  }, []);
23
28
  return isVisible && isProctorParam;
@@ -4,10 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.showProctoredComponent = exports.isWebcamRequired = exports.getRequiredPermissionsFromProctorParams = exports.getInitialStats = exports.getDataOnBreach = void 0;
7
+ require("core-js/modules/es.symbol.description.js");
7
8
  var _defaults = require("../constants/defaults");
8
9
  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; }
9
10
  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; }
10
- 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; }
11
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
12
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
13
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
11
14
  const getInitialStats = proctorParams => {
12
15
  const initialStats = {};
13
16
  if (proctorParams.people) {
@@ -3,12 +3,14 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.isChrome = exports.getVisibilityChangeEventName = exports.getIsDocumentVisible = exports.getBrowserFullscreenElementProp = void 0;
6
+ exports.isChrome = exports.getVisibilityChangeEventName = exports.getIsDocumentVisible = exports.getFocusEventName = exports.getBrowserFullscreenElementProp = exports.getBlurEventName = void 0;
7
7
  require("core-js/modules/es.regexp.exec.js");
8
8
  require("core-js/modules/es.string.match.js");
9
9
  const PROPERTY_TYPES = {
10
10
  HIDDEN: "hidden",
11
- VISIBILITY_CHANGE: "visibilitychange"
11
+ VISIBILITY_CHANGE: "visibilitychange",
12
+ FOCUS: "focus",
13
+ BLUR: "blur"
12
14
  };
13
15
  const getBrowserPropPrefix = () => {
14
16
  if (typeof document.msHidden !== "undefined") {
@@ -30,6 +32,10 @@ const getBrowserDocumentProp = type => {
30
32
  return getBrowserPropForHidden();
31
33
  case PROPERTY_TYPES.VISIBILITY_CHANGE:
32
34
  return "".concat(getBrowserPropPrefix(), "visibilitychange");
35
+ case PROPERTY_TYPES.FOCUS:
36
+ return "focus";
37
+ case PROPERTY_TYPES.BLUR:
38
+ return "blur";
33
39
  default:
34
40
  return "";
35
41
  }
@@ -38,6 +44,10 @@ const getIsDocumentVisible = () => !document[getBrowserDocumentProp(PROPERTY_TYP
38
44
  exports.getIsDocumentVisible = getIsDocumentVisible;
39
45
  const getVisibilityChangeEventName = () => getBrowserDocumentProp(PROPERTY_TYPES.VISIBILITY_CHANGE);
40
46
  exports.getVisibilityChangeEventName = getVisibilityChangeEventName;
47
+ const getFocusEventName = () => getBrowserDocumentProp(PROPERTY_TYPES.FOCUS);
48
+ exports.getFocusEventName = getFocusEventName;
49
+ const getBlurEventName = () => getBrowserDocumentProp(PROPERTY_TYPES.BLUR);
50
+ exports.getBlurEventName = getBlurEventName;
41
51
  const getBrowserFullscreenElementProp = () => {
42
52
  if (typeof document.fullscreenElement !== "undefined") {
43
53
  return "fullscreenElement";
@@ -21,12 +21,24 @@ Object.defineProperty(exports, "getAudioVideoPermission", {
21
21
  return _webcamMicrophoneUtils.getAudioVideoPermission;
22
22
  }
23
23
  });
24
+ Object.defineProperty(exports, "getBlurEventName", {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _browserUtils.getBlurEventName;
28
+ }
29
+ });
24
30
  Object.defineProperty(exports, "getBrowserFullscreenElementProp", {
25
31
  enumerable: true,
26
32
  get: function get() {
27
33
  return _browserUtils.getBrowserFullscreenElementProp;
28
34
  }
29
35
  });
36
+ Object.defineProperty(exports, "getFocusEventName", {
37
+ enumerable: true,
38
+ get: function get() {
39
+ return _browserUtils.getFocusEventName;
40
+ }
41
+ });
30
42
  Object.defineProperty(exports, "getIsDocumentVisible", {
31
43
  enumerable: true,
32
44
  get: function get() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@newtonschool/react_proctoring_library",
3
- "version": "0.0.38",
3
+ "version": "0.0.39",
4
4
  "description": "Used to proctor online tests",
5
5
  "author": "ayushkagrawal,shreyachandra,weastel",
6
6
  "main": "dist/index.js",