@myinterview/widget-react 1.1.23-development-b93fb54 → 1.1.23-development-3a50d6c
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/cjs/index.js +143 -77
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/interfaces/widgetInterface.d.ts +7 -2
- package/dist/cjs/services/event.service.d.ts +6 -1
- package/dist/cjs/utils/constants.utils.d.ts +1 -0
- package/dist/esm/index.js +129 -63
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/interfaces/widgetInterface.d.ts +7 -2
- package/dist/esm/services/event.service.d.ts +6 -1
- package/dist/esm/utils/constants.utils.d.ts +1 -0
- package/package.json +1 -1
|
@@ -78,6 +78,7 @@ export interface InitialState {
|
|
|
78
78
|
failedRecordingMessage: IVideoCorruptedMessagesKey;
|
|
79
79
|
isResumed: boolean;
|
|
80
80
|
videoDimensions: IVideoDimensions;
|
|
81
|
+
confirmUploadedFalseCount: number;
|
|
81
82
|
}
|
|
82
83
|
export interface IWidgetMachineProps {
|
|
83
84
|
widgetMachine: State<InitialState, DoneInvokeEvent<any>, any, {
|
|
@@ -122,6 +123,7 @@ export declare const enum STATES {
|
|
|
122
123
|
RE_INIT_RECORDER__NEXT_QUESTION = "reInitRecorderNextQuestion",
|
|
123
124
|
UPLOADING = "uploading",
|
|
124
125
|
CONFIRM = "confirm",
|
|
126
|
+
CONFIRM_WATING = "confirmWaiting",
|
|
125
127
|
FINISHED = "finished",
|
|
126
128
|
ERROR = "error"
|
|
127
129
|
}
|
|
@@ -173,7 +175,8 @@ export declare const enum ACTIONS {
|
|
|
173
175
|
INCREASE_FAILED_RECORDING_ATTEMPTS = "increaseFailedRecordingAttempts",
|
|
174
176
|
RESET_FAILED_RECORDING_ATTEMPTS = "resetFailedRecordingAttempts",
|
|
175
177
|
CLEAR_VIDEO_ERROR = "clearVideoError",
|
|
176
|
-
UPDATE_VIDEO_DIMENSIONS = "updateVideoDimensions"
|
|
178
|
+
UPDATE_VIDEO_DIMENSIONS = "updateVideoDimensions",
|
|
179
|
+
UPDATE_UPLOADED_FALSE_COUNT = "updateUploadedFalseCount"
|
|
177
180
|
}
|
|
178
181
|
export declare const enum EVENTS {
|
|
179
182
|
SPAWN_UPLOADER = "SPAWN_UPLOADER",
|
|
@@ -225,7 +228,8 @@ export declare const enum GUARDS {
|
|
|
225
228
|
THERE_ARE_NO_VIDEO_QUESTIONS_TYPE = "thereAreNoVideoQuestionType",
|
|
226
229
|
IS_RECORDER_READY = "isRecorderReady",
|
|
227
230
|
IS_ASSESSMENT_QUESTION = "isAssessmentQuestion",
|
|
228
|
-
IS_TIMES_UP = "isTimesUp"
|
|
231
|
+
IS_TIMES_UP = "isTimesUp",
|
|
232
|
+
SHOULD_TRY_TO_CONFIRM = "shouldTryToConfirm"
|
|
229
233
|
}
|
|
230
234
|
export declare const enum TAGS {
|
|
231
235
|
SETUP = "setup",
|
|
@@ -234,6 +238,7 @@ export declare const enum TAGS {
|
|
|
234
238
|
DISPLAY_OUTER_VIEW = "displayOuterView",
|
|
235
239
|
DISPLAY_QUESTION = "displayQuestion",
|
|
236
240
|
DISPLAY_QUESTIONS_LIST = "displayQuestionsList",
|
|
241
|
+
DISPLAY_UPLOAD = "displayUpload",
|
|
237
242
|
LOADING = "loading"
|
|
238
243
|
}
|
|
239
244
|
export {};
|
|
@@ -43,7 +43,12 @@ export declare const enum EVENT_TYPES {
|
|
|
43
43
|
MICROPHONE_CHANGED = "microphoneChanged",
|
|
44
44
|
SOUND_RESTORED = "soundRestored",
|
|
45
45
|
TIMES_UP = "timesUp",
|
|
46
|
-
COMPLETED_INTERVIEW = "completedInterview"
|
|
46
|
+
COMPLETED_INTERVIEW = "completedInterview",
|
|
47
|
+
RECONNECTED = "reconnected",
|
|
48
|
+
CONFIRM_UPLOADED_FAILED = "confirmUploadedFailed",
|
|
49
|
+
FINISHED = "finished",
|
|
50
|
+
ON_FINISH_SUCCEED = "onFinishSucceed",
|
|
51
|
+
ON_FINISH_FAILED = "onFinishFailed"
|
|
47
52
|
}
|
|
48
53
|
export type IEventType = `${EVENT_TYPES}`;
|
|
49
54
|
export interface ITrackEvent {
|
|
@@ -17,6 +17,7 @@ export declare const DEFAULT_VIDEO_DIMENSIONS: {
|
|
|
17
17
|
width: number;
|
|
18
18
|
height: number;
|
|
19
19
|
};
|
|
20
|
+
export declare const MAX_CONFIRM_ATTEMPTS = 5;
|
|
20
21
|
export declare const FONT_URL = "https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600;700&display=swap";
|
|
21
22
|
export declare enum RETAKE_SPEED {
|
|
22
23
|
FAST = 300,
|
package/dist/esm/index.js
CHANGED
|
@@ -2,6 +2,31 @@ import * as React from 'react';
|
|
|
2
2
|
import React__default, { createContext, forwardRef, useRef, useEffect, useState, useLayoutEffect, useImperativeHandle, useDebugValue, useContext, createElement, useCallback, useMemo } from 'react';
|
|
3
3
|
import { createPortal } from 'react-dom';
|
|
4
4
|
|
|
5
|
+
/*! *****************************************************************************
|
|
6
|
+
Copyright (c) Microsoft Corporation.
|
|
7
|
+
|
|
8
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
9
|
+
purpose with or without fee is hereby granted.
|
|
10
|
+
|
|
11
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
12
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
13
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
14
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
15
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
16
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
17
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
18
|
+
***************************************************************************** */
|
|
19
|
+
|
|
20
|
+
function __awaiter(thisArg, _arguments, P, generator) {
|
|
21
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
22
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
23
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
24
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
25
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
26
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
|
|
5
30
|
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
6
31
|
const objectToString = Object.prototype.toString;
|
|
7
32
|
|
|
@@ -6027,9 +6052,9 @@ function _getEventFilterUrl(event) {
|
|
|
6027
6052
|
}
|
|
6028
6053
|
|
|
6029
6054
|
var Integrations = /*#__PURE__*/Object.freeze({
|
|
6030
|
-
|
|
6031
|
-
|
|
6032
|
-
|
|
6055
|
+
__proto__: null,
|
|
6056
|
+
FunctionToString: FunctionToString,
|
|
6057
|
+
InboundFilters: InboundFilters
|
|
6033
6058
|
});
|
|
6034
6059
|
|
|
6035
6060
|
const WINDOW$1 = GLOBAL_OBJ ;
|
|
@@ -8253,13 +8278,13 @@ function startSessionTracking() {
|
|
|
8253
8278
|
}
|
|
8254
8279
|
|
|
8255
8280
|
var index$1 = /*#__PURE__*/Object.freeze({
|
|
8256
|
-
|
|
8257
|
-
|
|
8258
|
-
|
|
8259
|
-
|
|
8260
|
-
|
|
8261
|
-
|
|
8262
|
-
|
|
8281
|
+
__proto__: null,
|
|
8282
|
+
GlobalHandlers: GlobalHandlers,
|
|
8283
|
+
TryCatch: TryCatch,
|
|
8284
|
+
Breadcrumbs: Breadcrumbs,
|
|
8285
|
+
LinkedErrors: LinkedErrors,
|
|
8286
|
+
HttpContext: HttpContext,
|
|
8287
|
+
Dedupe: Dedupe
|
|
8263
8288
|
});
|
|
8264
8289
|
|
|
8265
8290
|
// exporting a separate copy of `WINDOW` rather than exporting the one from `@sentry/browser`
|
|
@@ -25560,6 +25585,7 @@ var STATES$5;
|
|
|
25560
25585
|
STATES["RE_INIT_RECORDER__NEXT_QUESTION"] = "reInitRecorderNextQuestion";
|
|
25561
25586
|
STATES["UPLOADING"] = "uploading";
|
|
25562
25587
|
STATES["CONFIRM"] = "confirm";
|
|
25588
|
+
STATES["CONFIRM_WATING"] = "confirmWaiting";
|
|
25563
25589
|
STATES["FINISHED"] = "finished";
|
|
25564
25590
|
STATES["ERROR"] = "error";
|
|
25565
25591
|
})(STATES$5 || (STATES$5 = {}));
|
|
@@ -25613,6 +25639,7 @@ var ACTIONS$6;
|
|
|
25613
25639
|
ACTIONS["RESET_FAILED_RECORDING_ATTEMPTS"] = "resetFailedRecordingAttempts";
|
|
25614
25640
|
ACTIONS["CLEAR_VIDEO_ERROR"] = "clearVideoError";
|
|
25615
25641
|
ACTIONS["UPDATE_VIDEO_DIMENSIONS"] = "updateVideoDimensions";
|
|
25642
|
+
ACTIONS["UPDATE_UPLOADED_FALSE_COUNT"] = "updateUploadedFalseCount";
|
|
25616
25643
|
})(ACTIONS$6 || (ACTIONS$6 = {}));
|
|
25617
25644
|
var EVENTS$5;
|
|
25618
25645
|
(function (EVENTS) {
|
|
@@ -25668,6 +25695,7 @@ var GUARDS$3;
|
|
|
25668
25695
|
GUARDS["IS_RECORDER_READY"] = "isRecorderReady";
|
|
25669
25696
|
GUARDS["IS_ASSESSMENT_QUESTION"] = "isAssessmentQuestion";
|
|
25670
25697
|
GUARDS["IS_TIMES_UP"] = "isTimesUp";
|
|
25698
|
+
GUARDS["SHOULD_TRY_TO_CONFIRM"] = "shouldTryToConfirm";
|
|
25671
25699
|
})(GUARDS$3 || (GUARDS$3 = {}));
|
|
25672
25700
|
var TAGS;
|
|
25673
25701
|
(function (TAGS) {
|
|
@@ -25677,6 +25705,7 @@ var TAGS;
|
|
|
25677
25705
|
TAGS["DISPLAY_OUTER_VIEW"] = "displayOuterView";
|
|
25678
25706
|
TAGS["DISPLAY_QUESTION"] = "displayQuestion";
|
|
25679
25707
|
TAGS["DISPLAY_QUESTIONS_LIST"] = "displayQuestionsList";
|
|
25708
|
+
TAGS["DISPLAY_UPLOAD"] = "displayUpload";
|
|
25680
25709
|
TAGS["LOADING"] = "loading";
|
|
25681
25710
|
})(TAGS || (TAGS = {}));
|
|
25682
25711
|
|
|
@@ -30871,6 +30900,7 @@ const SECONDS_LEFT_HIGHLIGHT = 10;
|
|
|
30871
30900
|
const DEFAULT_ASSESSMENT_MAX_CHARS = 300;
|
|
30872
30901
|
const DEFAULT_ASSESSMENT_DURATION = 0;
|
|
30873
30902
|
const DEFAULT_VIDEO_DIMENSIONS = { width: 1280, height: 720 }; // Transcoder default dimensions (720p)
|
|
30903
|
+
const MAX_CONFIRM_ATTEMPTS = 5;
|
|
30874
30904
|
// Font
|
|
30875
30905
|
const FONT_URL = 'https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600;700&display=swap';
|
|
30876
30906
|
var RETAKE_SPEED;
|
|
@@ -35031,8 +35061,8 @@ function memoizeOne(resultFn, isEqual) {
|
|
|
35031
35061
|
}
|
|
35032
35062
|
|
|
35033
35063
|
var memoizeOne_esm = /*#__PURE__*/Object.freeze({
|
|
35034
|
-
|
|
35035
|
-
|
|
35064
|
+
__proto__: null,
|
|
35065
|
+
'default': memoizeOne
|
|
35036
35066
|
});
|
|
35037
35067
|
|
|
35038
35068
|
var require$$2 = /*@__PURE__*/getAugmentedNamespace(memoizeOne_esm);
|
|
@@ -38992,6 +39022,11 @@ var EVENT_TYPES;
|
|
|
38992
39022
|
EVENT_TYPES["SOUND_RESTORED"] = "soundRestored";
|
|
38993
39023
|
EVENT_TYPES["TIMES_UP"] = "timesUp";
|
|
38994
39024
|
EVENT_TYPES["COMPLETED_INTERVIEW"] = "completedInterview";
|
|
39025
|
+
EVENT_TYPES["RECONNECTED"] = "reconnected";
|
|
39026
|
+
EVENT_TYPES["CONFIRM_UPLOADED_FAILED"] = "confirmUploadedFailed";
|
|
39027
|
+
EVENT_TYPES["FINISHED"] = "finished";
|
|
39028
|
+
EVENT_TYPES["ON_FINISH_SUCCEED"] = "onFinishSucceed";
|
|
39029
|
+
EVENT_TYPES["ON_FINISH_FAILED"] = "onFinishFailed";
|
|
38995
39030
|
})(EVENT_TYPES || (EVENT_TYPES = {}));
|
|
38996
39031
|
let event_id;
|
|
38997
39032
|
const updateEventId = (eventId) => { event_id = eventId; };
|
|
@@ -39541,31 +39576,6 @@ const Setup = ({ widgetMachine, sendToWidget, isPracticeDisabled, recordWithoutV
|
|
|
39541
39576
|
React__default.createElement(C, { className: startButtonClassNames, color: "special", backgroundColor: "white", onClick: () => sendToWidget(EVENTS$5.QUESTION_MODE), disabled: !canStartInterview }, t(isResumed ? 'welcome.resumeInterview' : 'buttons.btn_start').toUpperCase()))));
|
|
39542
39577
|
};
|
|
39543
39578
|
|
|
39544
|
-
/*! *****************************************************************************
|
|
39545
|
-
Copyright (c) Microsoft Corporation.
|
|
39546
|
-
|
|
39547
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
|
39548
|
-
purpose with or without fee is hereby granted.
|
|
39549
|
-
|
|
39550
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
39551
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
39552
|
-
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
39553
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
39554
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
39555
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
39556
|
-
PERFORMANCE OF THIS SOFTWARE.
|
|
39557
|
-
***************************************************************************** */
|
|
39558
|
-
|
|
39559
|
-
function __awaiter(thisArg, _arguments, P, generator) {
|
|
39560
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
39561
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
39562
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39563
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
39564
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
39565
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
39566
|
-
});
|
|
39567
|
-
}
|
|
39568
|
-
|
|
39569
39579
|
const uploadToS3 = (url, data, onProgress, timeout = 0) => s3AxiosInstance.put(url, data, {
|
|
39570
39580
|
headers: { 'Content-Type': 'video/webm' }, onUploadProgress: onProgress, timeout,
|
|
39571
39581
|
});
|
|
@@ -39636,8 +39646,8 @@ const OuterView = ({ widgetMachine, sendToWidget, recorderRef }) => {
|
|
|
39636
39646
|
const isQuestionDisplayed = widgetMachine.hasTag(TAGS.DISPLAY_QUESTION) || (isVideoQuestionState && !currentQuestionObj.thinkingTime);
|
|
39637
39647
|
const isPreviewState = widgetMachine.matches(STATES$5.PREVIEW);
|
|
39638
39648
|
const isUploadingState = widgetMachine.matches(STATES$5.UPLOADING);
|
|
39639
|
-
const isConfirmState = widgetMachine.matches(STATES$5.CONFIRM);
|
|
39640
39649
|
const isQuestionsListDisplayed = widgetMachine.hasTag(TAGS.DISPLAY_QUESTIONS_LIST);
|
|
39650
|
+
const isUploadDisplayed = widgetMachine.hasTag(TAGS.DISPLAY_UPLOAD);
|
|
39641
39651
|
const isRecording = recorderMachine.matches({ [STATES$6.RECORDING]: STATES$6.COLLECTING_BLOBS });
|
|
39642
39652
|
const isCountDown = recorderMachine.matches({ [STATES$6.RECORDING]: STATES$6.COUNT_DOWN });
|
|
39643
39653
|
const isPracticeMode = recordingType === TAKE_TYPES.PRACTICE;
|
|
@@ -39655,7 +39665,7 @@ const OuterView = ({ widgetMachine, sendToWidget, recorderRef }) => {
|
|
|
39655
39665
|
isSetupState && React__default.createElement(Setup, { recordWithoutVideo: recordWithoutVideo, widgetMachine: widgetMachine, sendToWidget: sendToWidget, isPracticeDisabled: !!config.disablePractice }),
|
|
39656
39666
|
isQuestionsListDisplayed && React__default.createElement(QuestionsList, { questions: questions, currentQuestion: currentQuestion, isPracticeMode: isPracticeMode, questionsStatus: questionsStatus }),
|
|
39657
39667
|
isQuestionDisplayed && React__default.createElement(Question, { questionObj: currentQuestionObj }),
|
|
39658
|
-
|
|
39668
|
+
isUploadDisplayed && (React__default.createElement(Upload, { isConnected: isConnected, totalFileSize: totalFileSize, totalUploadedFilesSize: totalUploadedFilesSize, totalUploadSpeed: totalUploadSpeed }))));
|
|
39659
39669
|
};
|
|
39660
39670
|
|
|
39661
39671
|
var actions = {};
|
|
@@ -44752,7 +44762,7 @@ const accUploaderMachine = createMachine({
|
|
|
44752
44762
|
actions: [ACTIONS$2.SENTRY],
|
|
44753
44763
|
},
|
|
44754
44764
|
{
|
|
44755
|
-
actions: [ACTIONS$2.
|
|
44765
|
+
actions: [ACTIONS$2.SENTRY],
|
|
44756
44766
|
target: `#uploader.${STATES$2.UPLOADED}`, // In case the video already uploaded
|
|
44757
44767
|
},
|
|
44758
44768
|
],
|
|
@@ -44769,7 +44779,6 @@ const accUploaderMachine = createMachine({
|
|
|
44769
44779
|
id: 'uploadToS3',
|
|
44770
44780
|
src: ({ signedUrl, file }) => (callback) => uploadToS3(signedUrl, file, callback),
|
|
44771
44781
|
onDone: {
|
|
44772
|
-
// actions: [ACTIONS.SET_UPLOADED],
|
|
44773
44782
|
target: `#uploader.${STATES$2.UPLOADED}`,
|
|
44774
44783
|
},
|
|
44775
44784
|
onError: {
|
|
@@ -45125,10 +45134,14 @@ const accWidgetMachine = createMachine({
|
|
|
45125
45134
|
failedRecordingMessage: VIDEO_CORRUPTED_STATES.NO_ERROR,
|
|
45126
45135
|
isResumed: false,
|
|
45127
45136
|
videoDimensions: DEFAULT_VIDEO_DIMENSIONS,
|
|
45137
|
+
confirmUploadedFalseCount: 0,
|
|
45128
45138
|
},
|
|
45129
45139
|
on: {
|
|
45130
45140
|
[EVENTS$1.CONNECTION_CHANGED]: {
|
|
45131
|
-
actions: [
|
|
45141
|
+
actions: [
|
|
45142
|
+
ACTIONS$6.SET_CONNECTION,
|
|
45143
|
+
{ type: ACTIONS$6.EMIT_TRACKING_EVENT, data: { eventType: EVENT_TYPES.RECONNECTED } },
|
|
45144
|
+
],
|
|
45132
45145
|
},
|
|
45133
45146
|
[EVENTS$5.UPLOADER_PROGRESS]: {
|
|
45134
45147
|
actions: [ACTIONS$6.UPDATE_TOTAL_UPLOADED_FILES_SIZE],
|
|
@@ -45655,7 +45668,7 @@ const accWidgetMachine = createMachine({
|
|
|
45655
45668
|
},
|
|
45656
45669
|
},
|
|
45657
45670
|
[STATES$5.UPLOADING]: {
|
|
45658
|
-
tags: [TAGS.DISPLAY_OUTER_VIEW],
|
|
45671
|
+
tags: [TAGS.DISPLAY_OUTER_VIEW, TAGS.DISPLAY_UPLOAD],
|
|
45659
45672
|
entry: [
|
|
45660
45673
|
{ type: ACTIONS$6.SESSION_EVENT, data: { event: 'widget_completed', type: 'date' } },
|
|
45661
45674
|
{ type: ACTIONS$6.CONSOLE_DEBUG, data: { message: DEBUG.UPLOADING_STATE } },
|
|
@@ -45669,30 +45682,57 @@ const accWidgetMachine = createMachine({
|
|
|
45669
45682
|
},
|
|
45670
45683
|
},
|
|
45671
45684
|
},
|
|
45685
|
+
[STATES$5.CONFIRM_WATING]: {
|
|
45686
|
+
tags: [TAGS.DISPLAY_OUTER_VIEW, TAGS.DISPLAY_UPLOAD],
|
|
45687
|
+
always: {
|
|
45688
|
+
target: STATES$5.CONFIRM,
|
|
45689
|
+
cond: GUARDS$3.IS_CONNECTED,
|
|
45690
|
+
},
|
|
45691
|
+
},
|
|
45672
45692
|
[STATES$5.CONFIRM]: {
|
|
45673
|
-
tags: [TAGS.DISPLAY_OUTER_VIEW],
|
|
45693
|
+
tags: [TAGS.DISPLAY_OUTER_VIEW, TAGS.DISPLAY_UPLOAD],
|
|
45674
45694
|
invoke: {
|
|
45675
45695
|
id: 'getVideo',
|
|
45676
45696
|
src: (context) => { var _a; return getVideo(((_a = context.widgetConfig.video) === null || _a === void 0 ? void 0 : _a.video_id) || ''); },
|
|
45677
|
-
onDone:
|
|
45678
|
-
|
|
45679
|
-
|
|
45680
|
-
|
|
45697
|
+
onDone: [
|
|
45698
|
+
{
|
|
45699
|
+
target: STATES$5.FINISHED,
|
|
45700
|
+
cond: (_, event) => !!event.data.data.data.video.uploaded,
|
|
45701
|
+
},
|
|
45702
|
+
{
|
|
45703
|
+
actions: [
|
|
45704
|
+
ACTIONS$6.UPDATE_UPLOADED_FALSE_COUNT,
|
|
45705
|
+
{ type: ACTIONS$6.SENTRY, data: { eventName: 'CONFIRM::UPLOADED_FALSE' } },
|
|
45706
|
+
],
|
|
45707
|
+
target: STATES$5.CONFIRM_WATING,
|
|
45708
|
+
cond: GUARDS$3.SHOULD_TRY_TO_CONFIRM,
|
|
45709
|
+
},
|
|
45710
|
+
{
|
|
45711
|
+
actions: [
|
|
45712
|
+
{ type: ACTIONS$6.SET_VIDEO_ERROR, data: { errorMessage: 'Error, Please contact support' } },
|
|
45713
|
+
{ type: ACTIONS$6.EMIT_TRACKING_EVENT, data: { eventType: EVENT_TYPES.CONFIRM_UPLOADED_FAILED } },
|
|
45714
|
+
],
|
|
45715
|
+
target: STATES$5.ERROR,
|
|
45716
|
+
},
|
|
45717
|
+
],
|
|
45681
45718
|
onError: [
|
|
45682
45719
|
{
|
|
45683
|
-
actions: [() => console.error('UPDATE_VIDEO_UPLADED_ERROR:'), console.error, ACTIONS$6.SENTRY],
|
|
45720
|
+
actions: [() => console.error('UPDATE_VIDEO_UPLADED_ERROR:'), console.error, { type: ACTIONS$6.SENTRY, data: { eventName: 'CONFIRM::ERROR__NOT_FOUND' } }],
|
|
45684
45721
|
target: STATES$5.FINISHED,
|
|
45685
45722
|
cond: (_, event) => event.data.response.status === STATUS_CODES.NOT_FOUND,
|
|
45686
45723
|
},
|
|
45687
45724
|
{
|
|
45688
|
-
actions: [ACTIONS$6.SENTRY],
|
|
45689
|
-
target: STATES$5.
|
|
45725
|
+
actions: [() => console.error('UPDATE_VIDEO_UPLADED_ERROR:'), console.error, { type: ACTIONS$6.SENTRY, data: { eventName: 'CONFIRM::ERROR' } }],
|
|
45726
|
+
target: STATES$5.CONFIRM_WATING,
|
|
45690
45727
|
},
|
|
45691
45728
|
],
|
|
45692
45729
|
},
|
|
45693
45730
|
},
|
|
45694
45731
|
[STATES$5.FINISHED]: {
|
|
45695
|
-
entry: [
|
|
45732
|
+
entry: [
|
|
45733
|
+
{ type: ACTIONS$6.CONSOLE_DEBUG, data: { message: DEBUG.INTERVIEW_SUBMITTED } },
|
|
45734
|
+
{ type: ACTIONS$6.EMIT_TRACKING_EVENT, data: { eventType: EVENT_TYPES.FINISHED } },
|
|
45735
|
+
],
|
|
45696
45736
|
type: 'final',
|
|
45697
45737
|
},
|
|
45698
45738
|
[STATES$5.ERROR]: {
|
|
@@ -45888,9 +45928,12 @@ const accWidgetMachine = createMachine({
|
|
|
45888
45928
|
widgetConfig: Object.assign(Object.assign({}, widgetConfig), { video: Object.assign(Object.assign({}, widgetConfig.video), { videos: (_b = (_a = widgetConfig.video) === null || _a === void 0 ? void 0 : _a.videos) === null || _b === void 0 ? void 0 : _b.map((video, idx) => ((idx !== questionNumber - 1) ? video : videoFile)) }) }),
|
|
45889
45929
|
});
|
|
45890
45930
|
}),
|
|
45891
|
-
[ACTIONS$6.SET_VIDEO_ERROR]: assign$2((_, event) =>
|
|
45892
|
-
|
|
45893
|
-
|
|
45931
|
+
[ACTIONS$6.SET_VIDEO_ERROR]: assign$2((_, event, meta) => {
|
|
45932
|
+
var _a, _b, _c, _d;
|
|
45933
|
+
return ({
|
|
45934
|
+
error: ((_b = (_a = event.data) === null || _a === void 0 ? void 0 : _a.response) === null || _b === void 0 ? void 0 : _b.data) || { errorMessage: ((_c = event.data) === null || _c === void 0 ? void 0 : _c.message) || ((_d = meta.action.data) === null || _d === void 0 ? void 0 : _d.errorMessage) },
|
|
45935
|
+
});
|
|
45936
|
+
}),
|
|
45894
45937
|
[ACTIONS$6.REVOKE_MEMORY]: send$2((_, event) => ({ type: EVENTS$4.REMOVE_TAKES, data: { questionToRemove: event.data.questionNumber } }), { to: ({ storageRef }) => storageRef }),
|
|
45895
45938
|
[ACTIONS$6.UPDATE_VIDEO_OBJECT]: assign$2(({ widgetConfig, recordingType }) => {
|
|
45896
45939
|
var _a, _b;
|
|
@@ -45924,6 +45967,9 @@ const accWidgetMachine = createMachine({
|
|
|
45924
45967
|
height: event.data.height,
|
|
45925
45968
|
},
|
|
45926
45969
|
})),
|
|
45970
|
+
[ACTIONS$6.UPDATE_UPLOADED_FALSE_COUNT]: assign$2(({ confirmUploadedFalseCount }) => ({
|
|
45971
|
+
confirmUploadedFalseCount: confirmUploadedFalseCount + 1,
|
|
45972
|
+
})),
|
|
45927
45973
|
},
|
|
45928
45974
|
services: {
|
|
45929
45975
|
[SERVICES$1.UPDATE_VIDEO_OBJECT_CALL]: ({ widgetConfig: { video }, recordingType, speedTestResult }, event, meta) => (callback, onReceive) => {
|
|
@@ -45967,6 +46013,7 @@ const accWidgetMachine = createMachine({
|
|
|
45967
46013
|
[GUARDS$3.IS_RECORDER_READY]: ({ recorderRef }) => (recorderRef === null || recorderRef === void 0 ? void 0 : recorderRef.getSnapshot().value) === STATES$6.IDLE,
|
|
45968
46014
|
[GUARDS$3.IS_ASSESSMENT_QUESTION]: ({ questions, currentQuestion }) => !!questions[currentQuestion - 1].answerType && questions[currentQuestion - 1].answerType !== ANSWER_TYPES.VIDEO,
|
|
45969
46015
|
[GUARDS$3.IS_TIMES_UP]: (_, event) => !!event.data.isTimesUp,
|
|
46016
|
+
[GUARDS$3.SHOULD_TRY_TO_CONFIRM]: ({ confirmUploadedFalseCount }) => confirmUploadedFalseCount <= MAX_CONFIRM_ATTEMPTS,
|
|
45970
46017
|
},
|
|
45971
46018
|
});
|
|
45972
46019
|
|
|
@@ -48489,10 +48536,25 @@ const Main = ({ widgetConfig, setShouldShowWaterMark, myinterviewRef, isWidgetMi
|
|
|
48489
48536
|
useEffect(() => {
|
|
48490
48537
|
setShouldShowWaterMark(!!(company === null || company === void 0 ? void 0 : company.shouldShowWaterMark));
|
|
48491
48538
|
}, [company === null || company === void 0 ? void 0 : company.shouldShowWaterMark]);
|
|
48539
|
+
const _onFinish = () => __awaiter(void 0, void 0, void 0, function* () { var _a, _b; return (_b = (_a = widgetConfig.config).onFinish) === null || _b === void 0 ? void 0 : _b.call(_a, { redirectUrl: candidate.redirectUrl, video_id: (video === null || video === void 0 ? void 0 : video.video_id) || '' }); });
|
|
48492
48540
|
useEffect(() => {
|
|
48493
|
-
var _a, _b;
|
|
48494
48541
|
if (machine.done) {
|
|
48495
|
-
|
|
48542
|
+
if (widgetConfig.config.onFinish) {
|
|
48543
|
+
_onFinish().then(() => {
|
|
48544
|
+
emitTrackEvent({ eventType: EVENT_TYPES.ON_FINISH_SUCCEED });
|
|
48545
|
+
}).catch((err) => {
|
|
48546
|
+
var _a;
|
|
48547
|
+
let errorMessage = '';
|
|
48548
|
+
try {
|
|
48549
|
+
errorMessage = (err === null || err === void 0 ? void 0 : err.message) || (err === null || err === void 0 ? void 0 : err.msg) || ((_a = err === null || err === void 0 ? void 0 : err.data) === null || _a === void 0 ? void 0 : _a.message);
|
|
48550
|
+
}
|
|
48551
|
+
catch (_b) {
|
|
48552
|
+
//
|
|
48553
|
+
}
|
|
48554
|
+
emitTrackEvent({ eventType: EVENT_TYPES.ON_FINISH_FAILED, extraData: { errorMessage } });
|
|
48555
|
+
throw err;
|
|
48556
|
+
});
|
|
48557
|
+
}
|
|
48496
48558
|
}
|
|
48497
48559
|
}, [machine.done]);
|
|
48498
48560
|
useEffect(() => {
|
|
@@ -48508,11 +48570,16 @@ const Main = ({ widgetConfig, setShouldShowWaterMark, myinterviewRef, isWidgetMi
|
|
|
48508
48570
|
});
|
|
48509
48571
|
}
|
|
48510
48572
|
}, [candidate, job === null || job === void 0 ? void 0 : job.language]);
|
|
48573
|
+
const setBackgroundOpacity = () => {
|
|
48574
|
+
var _a;
|
|
48575
|
+
(_a = myinterviewRef === null || myinterviewRef === void 0 ? void 0 : myinterviewRef.current) === null || _a === void 0 ? void 0 : _a.style.setProperty('--myinterview-background-opacity', isLoading || isErrorState ? '0' : '1');
|
|
48576
|
+
};
|
|
48511
48577
|
useEffect(() => {
|
|
48512
48578
|
var _a, _b;
|
|
48513
48579
|
if (isErrorState && (error === null || error === void 0 ? void 0 : error.statusCode) === 400) {
|
|
48514
48580
|
(_b = (_a = widgetConfig.config).onError) === null || _b === void 0 ? void 0 : _b.call(_a, { messageType: 'applied' });
|
|
48515
48581
|
}
|
|
48582
|
+
setBackgroundOpacity();
|
|
48516
48583
|
}, [isErrorState]);
|
|
48517
48584
|
const isResumed = useMemo(() => { var _a, _b; return !!((_b = (_a = widgetConfig.video) === null || _a === void 0 ? void 0 : _a.videos) === null || _b === void 0 ? void 0 : _b.some((v) => v.uploaded)); }, [widgetConfig.video]);
|
|
48518
48585
|
const handleScroll = (e) => {
|
|
@@ -48522,8 +48589,7 @@ const Main = ({ widgetConfig, setShouldShowWaterMark, myinterviewRef, isWidgetMi
|
|
|
48522
48589
|
(_b = viewsRef === null || viewsRef === void 0 ? void 0 : viewsRef.current) === null || _b === void 0 ? void 0 : _b.style.setProperty('--myinterview-widget-practice-opacity', scrollTop > 10 ? '0' : '1');
|
|
48523
48590
|
};
|
|
48524
48591
|
useEffect(() => {
|
|
48525
|
-
|
|
48526
|
-
(_a = myinterviewRef === null || myinterviewRef === void 0 ? void 0 : myinterviewRef.current) === null || _a === void 0 ? void 0 : _a.style.setProperty('--myinterview-background-opacity', isLoading || isErrorState ? '0' : '1');
|
|
48592
|
+
setBackgroundOpacity();
|
|
48527
48593
|
}, [isLoading]);
|
|
48528
48594
|
const onRetry = () => {
|
|
48529
48595
|
send(EVENTS$5.RETRY);
|
|
@@ -48721,15 +48787,15 @@ const Widget = ({ candidate, job, video, config, disabled = false, buttonText =
|
|
|
48721
48787
|
revertBodyStyling();
|
|
48722
48788
|
setIsWidgetOpen(false);
|
|
48723
48789
|
};
|
|
48724
|
-
const onInterviewCompleted = (data) => {
|
|
48790
|
+
const onInterviewCompleted = (data) => __awaiter(void 0, void 0, void 0, function* () {
|
|
48725
48791
|
var _a;
|
|
48726
|
-
(_a = config.onFinish) === null || _a === void 0 ? void 0 : _a.call(config, data);
|
|
48727
48792
|
onCloseWidget();
|
|
48728
|
-
|
|
48793
|
+
yield ((_a = config.onFinish) === null || _a === void 0 ? void 0 : _a.call(config, data));
|
|
48794
|
+
});
|
|
48729
48795
|
const onError = (data) => {
|
|
48730
48796
|
var _a;
|
|
48731
|
-
(_a = config.onError) === null || _a === void 0 ? void 0 : _a.call(config, data);
|
|
48732
48797
|
onCloseWidget();
|
|
48798
|
+
(_a = config.onError) === null || _a === void 0 ? void 0 : _a.call(config, data);
|
|
48733
48799
|
};
|
|
48734
48800
|
const openWidget = () => {
|
|
48735
48801
|
var _a;
|