@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 CHANGED
@@ -8,26 +8,51 @@ var reactDom = require('react-dom');
8
8
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
9
 
10
10
  function _interopNamespace(e) {
11
- if (e && e.__esModule) return e;
12
- var n = Object.create(null);
13
- if (e) {
14
- Object.keys(e).forEach(function (k) {
15
- if (k !== 'default') {
16
- var d = Object.getOwnPropertyDescriptor(e, k);
17
- Object.defineProperty(n, k, d.get ? d : {
18
- enumerable: true,
19
- get: function () { return e[k]; }
11
+ if (e && e.__esModule) return e;
12
+ var n = Object.create(null);
13
+ if (e) {
14
+ Object.keys(e).forEach(function (k) {
15
+ if (k !== 'default') {
16
+ var d = Object.getOwnPropertyDescriptor(e, k);
17
+ Object.defineProperty(n, k, d.get ? d : {
18
+ enumerable: true,
19
+ get: function () { return e[k]; }
20
+ });
21
+ }
20
22
  });
21
- }
22
- });
23
- }
24
- n["default"] = e;
25
- return Object.freeze(n);
23
+ }
24
+ n["default"] = e;
25
+ return Object.freeze(n);
26
26
  }
27
27
 
28
28
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
29
29
  var React__namespace = /*#__PURE__*/_interopNamespace(React);
30
30
 
31
+ /*! *****************************************************************************
32
+ Copyright (c) Microsoft Corporation.
33
+
34
+ Permission to use, copy, modify, and/or distribute this software for any
35
+ purpose with or without fee is hereby granted.
36
+
37
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
38
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
39
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
40
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
41
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
42
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
43
+ PERFORMANCE OF THIS SOFTWARE.
44
+ ***************************************************************************** */
45
+
46
+ function __awaiter(thisArg, _arguments, P, generator) {
47
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
48
+ return new (P || (P = Promise))(function (resolve, reject) {
49
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
50
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
51
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
52
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
53
+ });
54
+ }
55
+
31
56
  // eslint-disable-next-line @typescript-eslint/unbound-method
32
57
  const objectToString = Object.prototype.toString;
33
58
 
@@ -6053,9 +6078,9 @@ function _getEventFilterUrl(event) {
6053
6078
  }
6054
6079
 
6055
6080
  var Integrations = /*#__PURE__*/Object.freeze({
6056
- __proto__: null,
6057
- FunctionToString: FunctionToString,
6058
- InboundFilters: InboundFilters
6081
+ __proto__: null,
6082
+ FunctionToString: FunctionToString,
6083
+ InboundFilters: InboundFilters
6059
6084
  });
6060
6085
 
6061
6086
  const WINDOW$1 = GLOBAL_OBJ ;
@@ -8279,13 +8304,13 @@ function startSessionTracking() {
8279
8304
  }
8280
8305
 
8281
8306
  var index$1 = /*#__PURE__*/Object.freeze({
8282
- __proto__: null,
8283
- GlobalHandlers: GlobalHandlers,
8284
- TryCatch: TryCatch,
8285
- Breadcrumbs: Breadcrumbs,
8286
- LinkedErrors: LinkedErrors,
8287
- HttpContext: HttpContext,
8288
- Dedupe: Dedupe
8307
+ __proto__: null,
8308
+ GlobalHandlers: GlobalHandlers,
8309
+ TryCatch: TryCatch,
8310
+ Breadcrumbs: Breadcrumbs,
8311
+ LinkedErrors: LinkedErrors,
8312
+ HttpContext: HttpContext,
8313
+ Dedupe: Dedupe
8289
8314
  });
8290
8315
 
8291
8316
  // exporting a separate copy of `WINDOW` rather than exporting the one from `@sentry/browser`
@@ -25586,6 +25611,7 @@ var STATES$5;
25586
25611
  STATES["RE_INIT_RECORDER__NEXT_QUESTION"] = "reInitRecorderNextQuestion";
25587
25612
  STATES["UPLOADING"] = "uploading";
25588
25613
  STATES["CONFIRM"] = "confirm";
25614
+ STATES["CONFIRM_WATING"] = "confirmWaiting";
25589
25615
  STATES["FINISHED"] = "finished";
25590
25616
  STATES["ERROR"] = "error";
25591
25617
  })(STATES$5 || (STATES$5 = {}));
@@ -25639,6 +25665,7 @@ var ACTIONS$6;
25639
25665
  ACTIONS["RESET_FAILED_RECORDING_ATTEMPTS"] = "resetFailedRecordingAttempts";
25640
25666
  ACTIONS["CLEAR_VIDEO_ERROR"] = "clearVideoError";
25641
25667
  ACTIONS["UPDATE_VIDEO_DIMENSIONS"] = "updateVideoDimensions";
25668
+ ACTIONS["UPDATE_UPLOADED_FALSE_COUNT"] = "updateUploadedFalseCount";
25642
25669
  })(ACTIONS$6 || (ACTIONS$6 = {}));
25643
25670
  var EVENTS$5;
25644
25671
  (function (EVENTS) {
@@ -25694,6 +25721,7 @@ var GUARDS$3;
25694
25721
  GUARDS["IS_RECORDER_READY"] = "isRecorderReady";
25695
25722
  GUARDS["IS_ASSESSMENT_QUESTION"] = "isAssessmentQuestion";
25696
25723
  GUARDS["IS_TIMES_UP"] = "isTimesUp";
25724
+ GUARDS["SHOULD_TRY_TO_CONFIRM"] = "shouldTryToConfirm";
25697
25725
  })(GUARDS$3 || (GUARDS$3 = {}));
25698
25726
  var TAGS;
25699
25727
  (function (TAGS) {
@@ -25703,6 +25731,7 @@ var TAGS;
25703
25731
  TAGS["DISPLAY_OUTER_VIEW"] = "displayOuterView";
25704
25732
  TAGS["DISPLAY_QUESTION"] = "displayQuestion";
25705
25733
  TAGS["DISPLAY_QUESTIONS_LIST"] = "displayQuestionsList";
25734
+ TAGS["DISPLAY_UPLOAD"] = "displayUpload";
25706
25735
  TAGS["LOADING"] = "loading";
25707
25736
  })(TAGS || (TAGS = {}));
25708
25737
 
@@ -30897,6 +30926,7 @@ const SECONDS_LEFT_HIGHLIGHT = 10;
30897
30926
  const DEFAULT_ASSESSMENT_MAX_CHARS = 300;
30898
30927
  const DEFAULT_ASSESSMENT_DURATION = 0;
30899
30928
  const DEFAULT_VIDEO_DIMENSIONS = { width: 1280, height: 720 }; // Transcoder default dimensions (720p)
30929
+ const MAX_CONFIRM_ATTEMPTS = 5;
30900
30930
  // Font
30901
30931
  const FONT_URL = 'https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600;700&display=swap';
30902
30932
  var RETAKE_SPEED;
@@ -35057,8 +35087,8 @@ function memoizeOne(resultFn, isEqual) {
35057
35087
  }
35058
35088
 
35059
35089
  var memoizeOne_esm = /*#__PURE__*/Object.freeze({
35060
- __proto__: null,
35061
- 'default': memoizeOne
35090
+ __proto__: null,
35091
+ 'default': memoizeOne
35062
35092
  });
35063
35093
 
35064
35094
  var require$$2 = /*@__PURE__*/getAugmentedNamespace(memoizeOne_esm);
@@ -39018,6 +39048,11 @@ var EVENT_TYPES;
39018
39048
  EVENT_TYPES["SOUND_RESTORED"] = "soundRestored";
39019
39049
  EVENT_TYPES["TIMES_UP"] = "timesUp";
39020
39050
  EVENT_TYPES["COMPLETED_INTERVIEW"] = "completedInterview";
39051
+ EVENT_TYPES["RECONNECTED"] = "reconnected";
39052
+ EVENT_TYPES["CONFIRM_UPLOADED_FAILED"] = "confirmUploadedFailed";
39053
+ EVENT_TYPES["FINISHED"] = "finished";
39054
+ EVENT_TYPES["ON_FINISH_SUCCEED"] = "onFinishSucceed";
39055
+ EVENT_TYPES["ON_FINISH_FAILED"] = "onFinishFailed";
39021
39056
  })(EVENT_TYPES || (EVENT_TYPES = {}));
39022
39057
  let event_id;
39023
39058
  const updateEventId = (eventId) => { event_id = eventId; };
@@ -39567,31 +39602,6 @@ const Setup = ({ widgetMachine, sendToWidget, isPracticeDisabled, recordWithoutV
39567
39602
  React__default["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()))));
39568
39603
  };
39569
39604
 
39570
- /*! *****************************************************************************
39571
- Copyright (c) Microsoft Corporation.
39572
-
39573
- Permission to use, copy, modify, and/or distribute this software for any
39574
- purpose with or without fee is hereby granted.
39575
-
39576
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
39577
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
39578
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
39579
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
39580
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
39581
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
39582
- PERFORMANCE OF THIS SOFTWARE.
39583
- ***************************************************************************** */
39584
-
39585
- function __awaiter(thisArg, _arguments, P, generator) {
39586
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
39587
- return new (P || (P = Promise))(function (resolve, reject) {
39588
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39589
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
39590
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
39591
- step((generator = generator.apply(thisArg, _arguments || [])).next());
39592
- });
39593
- }
39594
-
39595
39605
  const uploadToS3 = (url, data, onProgress, timeout = 0) => s3AxiosInstance.put(url, data, {
39596
39606
  headers: { 'Content-Type': 'video/webm' }, onUploadProgress: onProgress, timeout,
39597
39607
  });
@@ -39662,8 +39672,8 @@ const OuterView = ({ widgetMachine, sendToWidget, recorderRef }) => {
39662
39672
  const isQuestionDisplayed = widgetMachine.hasTag(TAGS.DISPLAY_QUESTION) || (isVideoQuestionState && !currentQuestionObj.thinkingTime);
39663
39673
  const isPreviewState = widgetMachine.matches(STATES$5.PREVIEW);
39664
39674
  const isUploadingState = widgetMachine.matches(STATES$5.UPLOADING);
39665
- const isConfirmState = widgetMachine.matches(STATES$5.CONFIRM);
39666
39675
  const isQuestionsListDisplayed = widgetMachine.hasTag(TAGS.DISPLAY_QUESTIONS_LIST);
39676
+ const isUploadDisplayed = widgetMachine.hasTag(TAGS.DISPLAY_UPLOAD);
39667
39677
  const isRecording = recorderMachine.matches({ [STATES$6.RECORDING]: STATES$6.COLLECTING_BLOBS });
39668
39678
  const isCountDown = recorderMachine.matches({ [STATES$6.RECORDING]: STATES$6.COUNT_DOWN });
39669
39679
  const isPracticeMode = recordingType === TAKE_TYPES.PRACTICE;
@@ -39681,7 +39691,7 @@ const OuterView = ({ widgetMachine, sendToWidget, recorderRef }) => {
39681
39691
  isSetupState && React__default["default"].createElement(Setup, { recordWithoutVideo: recordWithoutVideo, widgetMachine: widgetMachine, sendToWidget: sendToWidget, isPracticeDisabled: !!config.disablePractice }),
39682
39692
  isQuestionsListDisplayed && React__default["default"].createElement(QuestionsList, { questions: questions, currentQuestion: currentQuestion, isPracticeMode: isPracticeMode, questionsStatus: questionsStatus }),
39683
39693
  isQuestionDisplayed && React__default["default"].createElement(Question, { questionObj: currentQuestionObj }),
39684
- (isUploadingState || isConfirmState) && (React__default["default"].createElement(Upload, { isConnected: isConnected, totalFileSize: totalFileSize, totalUploadedFilesSize: totalUploadedFilesSize, totalUploadSpeed: totalUploadSpeed }))));
39694
+ isUploadDisplayed && (React__default["default"].createElement(Upload, { isConnected: isConnected, totalFileSize: totalFileSize, totalUploadedFilesSize: totalUploadedFilesSize, totalUploadSpeed: totalUploadSpeed }))));
39685
39695
  };
39686
39696
 
39687
39697
  var actions = {};
@@ -44778,7 +44788,7 @@ const accUploaderMachine = createMachine({
44778
44788
  actions: [ACTIONS$2.SENTRY],
44779
44789
  },
44780
44790
  {
44781
- actions: [ACTIONS$2.SET_UPLOADED, ACTIONS$2.SENTRY],
44791
+ actions: [ACTIONS$2.SENTRY],
44782
44792
  target: `#uploader.${STATES$2.UPLOADED}`, // In case the video already uploaded
44783
44793
  },
44784
44794
  ],
@@ -44795,7 +44805,6 @@ const accUploaderMachine = createMachine({
44795
44805
  id: 'uploadToS3',
44796
44806
  src: ({ signedUrl, file }) => (callback) => uploadToS3(signedUrl, file, callback),
44797
44807
  onDone: {
44798
- // actions: [ACTIONS.SET_UPLOADED],
44799
44808
  target: `#uploader.${STATES$2.UPLOADED}`,
44800
44809
  },
44801
44810
  onError: {
@@ -45151,10 +45160,14 @@ const accWidgetMachine = createMachine({
45151
45160
  failedRecordingMessage: VIDEO_CORRUPTED_STATES.NO_ERROR,
45152
45161
  isResumed: false,
45153
45162
  videoDimensions: DEFAULT_VIDEO_DIMENSIONS,
45163
+ confirmUploadedFalseCount: 0,
45154
45164
  },
45155
45165
  on: {
45156
45166
  [EVENTS$1.CONNECTION_CHANGED]: {
45157
- actions: [ACTIONS$6.SET_CONNECTION],
45167
+ actions: [
45168
+ ACTIONS$6.SET_CONNECTION,
45169
+ { type: ACTIONS$6.EMIT_TRACKING_EVENT, data: { eventType: EVENT_TYPES.RECONNECTED } },
45170
+ ],
45158
45171
  },
45159
45172
  [EVENTS$5.UPLOADER_PROGRESS]: {
45160
45173
  actions: [ACTIONS$6.UPDATE_TOTAL_UPLOADED_FILES_SIZE],
@@ -45681,7 +45694,7 @@ const accWidgetMachine = createMachine({
45681
45694
  },
45682
45695
  },
45683
45696
  [STATES$5.UPLOADING]: {
45684
- tags: [TAGS.DISPLAY_OUTER_VIEW],
45697
+ tags: [TAGS.DISPLAY_OUTER_VIEW, TAGS.DISPLAY_UPLOAD],
45685
45698
  entry: [
45686
45699
  { type: ACTIONS$6.SESSION_EVENT, data: { event: 'widget_completed', type: 'date' } },
45687
45700
  { type: ACTIONS$6.CONSOLE_DEBUG, data: { message: DEBUG.UPLOADING_STATE } },
@@ -45695,30 +45708,57 @@ const accWidgetMachine = createMachine({
45695
45708
  },
45696
45709
  },
45697
45710
  },
45711
+ [STATES$5.CONFIRM_WATING]: {
45712
+ tags: [TAGS.DISPLAY_OUTER_VIEW, TAGS.DISPLAY_UPLOAD],
45713
+ always: {
45714
+ target: STATES$5.CONFIRM,
45715
+ cond: GUARDS$3.IS_CONNECTED,
45716
+ },
45717
+ },
45698
45718
  [STATES$5.CONFIRM]: {
45699
- tags: [TAGS.DISPLAY_OUTER_VIEW],
45719
+ tags: [TAGS.DISPLAY_OUTER_VIEW, TAGS.DISPLAY_UPLOAD],
45700
45720
  invoke: {
45701
45721
  id: 'getVideo',
45702
45722
  src: (context) => { var _a; return getVideo(((_a = context.widgetConfig.video) === null || _a === void 0 ? void 0 : _a.video_id) || ''); },
45703
- onDone: {
45704
- target: STATES$5.FINISHED,
45705
- cond: (_, event) => !!event.data.data.data.video.uploaded,
45706
- },
45723
+ onDone: [
45724
+ {
45725
+ target: STATES$5.FINISHED,
45726
+ cond: (_, event) => !!event.data.data.data.video.uploaded,
45727
+ },
45728
+ {
45729
+ actions: [
45730
+ ACTIONS$6.UPDATE_UPLOADED_FALSE_COUNT,
45731
+ { type: ACTIONS$6.SENTRY, data: { eventName: 'CONFIRM::UPLOADED_FALSE' } },
45732
+ ],
45733
+ target: STATES$5.CONFIRM_WATING,
45734
+ cond: GUARDS$3.SHOULD_TRY_TO_CONFIRM,
45735
+ },
45736
+ {
45737
+ actions: [
45738
+ { type: ACTIONS$6.SET_VIDEO_ERROR, data: { errorMessage: 'Error, Please contact support' } },
45739
+ { type: ACTIONS$6.EMIT_TRACKING_EVENT, data: { eventType: EVENT_TYPES.CONFIRM_UPLOADED_FAILED } },
45740
+ ],
45741
+ target: STATES$5.ERROR,
45742
+ },
45743
+ ],
45707
45744
  onError: [
45708
45745
  {
45709
- actions: [() => console.error('UPDATE_VIDEO_UPLADED_ERROR:'), console.error, ACTIONS$6.SENTRY],
45746
+ actions: [() => console.error('UPDATE_VIDEO_UPLADED_ERROR:'), console.error, { type: ACTIONS$6.SENTRY, data: { eventName: 'CONFIRM::ERROR__NOT_FOUND' } }],
45710
45747
  target: STATES$5.FINISHED,
45711
45748
  cond: (_, event) => event.data.response.status === STATUS_CODES.NOT_FOUND,
45712
45749
  },
45713
45750
  {
45714
- actions: [ACTIONS$6.SENTRY],
45715
- target: STATES$5.CONFIRM,
45751
+ actions: [() => console.error('UPDATE_VIDEO_UPLADED_ERROR:'), console.error, { type: ACTIONS$6.SENTRY, data: { eventName: 'CONFIRM::ERROR' } }],
45752
+ target: STATES$5.CONFIRM_WATING,
45716
45753
  },
45717
45754
  ],
45718
45755
  },
45719
45756
  },
45720
45757
  [STATES$5.FINISHED]: {
45721
- entry: [{ type: ACTIONS$6.CONSOLE_DEBUG, data: { message: DEBUG.INTERVIEW_SUBMITTED } }],
45758
+ entry: [
45759
+ { type: ACTIONS$6.CONSOLE_DEBUG, data: { message: DEBUG.INTERVIEW_SUBMITTED } },
45760
+ { type: ACTIONS$6.EMIT_TRACKING_EVENT, data: { eventType: EVENT_TYPES.FINISHED } },
45761
+ ],
45722
45762
  type: 'final',
45723
45763
  },
45724
45764
  [STATES$5.ERROR]: {
@@ -45914,9 +45954,12 @@ const accWidgetMachine = createMachine({
45914
45954
  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)) }) }),
45915
45955
  });
45916
45956
  }),
45917
- [ACTIONS$6.SET_VIDEO_ERROR]: assign$2((_, event) => ({
45918
- error: event.data.response.data || { errorMessage: event.data.message },
45919
- })),
45957
+ [ACTIONS$6.SET_VIDEO_ERROR]: assign$2((_, event, meta) => {
45958
+ var _a, _b, _c, _d;
45959
+ return ({
45960
+ 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) },
45961
+ });
45962
+ }),
45920
45963
  [ACTIONS$6.REVOKE_MEMORY]: send$2((_, event) => ({ type: EVENTS$4.REMOVE_TAKES, data: { questionToRemove: event.data.questionNumber } }), { to: ({ storageRef }) => storageRef }),
45921
45964
  [ACTIONS$6.UPDATE_VIDEO_OBJECT]: assign$2(({ widgetConfig, recordingType }) => {
45922
45965
  var _a, _b;
@@ -45950,6 +45993,9 @@ const accWidgetMachine = createMachine({
45950
45993
  height: event.data.height,
45951
45994
  },
45952
45995
  })),
45996
+ [ACTIONS$6.UPDATE_UPLOADED_FALSE_COUNT]: assign$2(({ confirmUploadedFalseCount }) => ({
45997
+ confirmUploadedFalseCount: confirmUploadedFalseCount + 1,
45998
+ })),
45953
45999
  },
45954
46000
  services: {
45955
46001
  [SERVICES$1.UPDATE_VIDEO_OBJECT_CALL]: ({ widgetConfig: { video }, recordingType, speedTestResult }, event, meta) => (callback, onReceive) => {
@@ -45993,6 +46039,7 @@ const accWidgetMachine = createMachine({
45993
46039
  [GUARDS$3.IS_RECORDER_READY]: ({ recorderRef }) => (recorderRef === null || recorderRef === void 0 ? void 0 : recorderRef.getSnapshot().value) === STATES$6.IDLE,
45994
46040
  [GUARDS$3.IS_ASSESSMENT_QUESTION]: ({ questions, currentQuestion }) => !!questions[currentQuestion - 1].answerType && questions[currentQuestion - 1].answerType !== ANSWER_TYPES.VIDEO,
45995
46041
  [GUARDS$3.IS_TIMES_UP]: (_, event) => !!event.data.isTimesUp,
46042
+ [GUARDS$3.SHOULD_TRY_TO_CONFIRM]: ({ confirmUploadedFalseCount }) => confirmUploadedFalseCount <= MAX_CONFIRM_ATTEMPTS,
45996
46043
  },
45997
46044
  });
45998
46045
 
@@ -48515,10 +48562,25 @@ const Main = ({ widgetConfig, setShouldShowWaterMark, myinterviewRef, isWidgetMi
48515
48562
  React.useEffect(() => {
48516
48563
  setShouldShowWaterMark(!!(company === null || company === void 0 ? void 0 : company.shouldShowWaterMark));
48517
48564
  }, [company === null || company === void 0 ? void 0 : company.shouldShowWaterMark]);
48565
+ 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) || '' }); });
48518
48566
  React.useEffect(() => {
48519
- var _a, _b;
48520
48567
  if (machine.done) {
48521
- (_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) || '' });
48568
+ if (widgetConfig.config.onFinish) {
48569
+ _onFinish().then(() => {
48570
+ emitTrackEvent({ eventType: EVENT_TYPES.ON_FINISH_SUCCEED });
48571
+ }).catch((err) => {
48572
+ var _a;
48573
+ let errorMessage = '';
48574
+ try {
48575
+ 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);
48576
+ }
48577
+ catch (_b) {
48578
+ //
48579
+ }
48580
+ emitTrackEvent({ eventType: EVENT_TYPES.ON_FINISH_FAILED, extraData: { errorMessage } });
48581
+ throw err;
48582
+ });
48583
+ }
48522
48584
  }
48523
48585
  }, [machine.done]);
48524
48586
  React.useEffect(() => {
@@ -48534,11 +48596,16 @@ const Main = ({ widgetConfig, setShouldShowWaterMark, myinterviewRef, isWidgetMi
48534
48596
  });
48535
48597
  }
48536
48598
  }, [candidate, job === null || job === void 0 ? void 0 : job.language]);
48599
+ const setBackgroundOpacity = () => {
48600
+ var _a;
48601
+ (_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');
48602
+ };
48537
48603
  React.useEffect(() => {
48538
48604
  var _a, _b;
48539
48605
  if (isErrorState && (error === null || error === void 0 ? void 0 : error.statusCode) === 400) {
48540
48606
  (_b = (_a = widgetConfig.config).onError) === null || _b === void 0 ? void 0 : _b.call(_a, { messageType: 'applied' });
48541
48607
  }
48608
+ setBackgroundOpacity();
48542
48609
  }, [isErrorState]);
48543
48610
  const isResumed = React.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]);
48544
48611
  const handleScroll = (e) => {
@@ -48548,8 +48615,7 @@ const Main = ({ widgetConfig, setShouldShowWaterMark, myinterviewRef, isWidgetMi
48548
48615
  (_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');
48549
48616
  };
48550
48617
  React.useEffect(() => {
48551
- var _a;
48552
- (_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');
48618
+ setBackgroundOpacity();
48553
48619
  }, [isLoading]);
48554
48620
  const onRetry = () => {
48555
48621
  send(EVENTS$5.RETRY);
@@ -48747,15 +48813,15 @@ const Widget = ({ candidate, job, video, config, disabled = false, buttonText =
48747
48813
  revertBodyStyling();
48748
48814
  setIsWidgetOpen(false);
48749
48815
  };
48750
- const onInterviewCompleted = (data) => {
48816
+ const onInterviewCompleted = (data) => __awaiter(void 0, void 0, void 0, function* () {
48751
48817
  var _a;
48752
- (_a = config.onFinish) === null || _a === void 0 ? void 0 : _a.call(config, data);
48753
48818
  onCloseWidget();
48754
- };
48819
+ yield ((_a = config.onFinish) === null || _a === void 0 ? void 0 : _a.call(config, data));
48820
+ });
48755
48821
  const onError = (data) => {
48756
48822
  var _a;
48757
- (_a = config.onError) === null || _a === void 0 ? void 0 : _a.call(config, data);
48758
48823
  onCloseWidget();
48824
+ (_a = config.onError) === null || _a === void 0 ? void 0 : _a.call(config, data);
48759
48825
  };
48760
48826
  const openWidget = () => {
48761
48827
  var _a;