@myinterview/widget-react 1.0.60-experimental → 1.0.61-experimental
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/components/AnswerInstructions.d.ts +7 -0
- package/dist/cjs/components/AssessmentController.d.ts +12 -0
- package/dist/cjs/components/AssessmentFreeText.d.ts +8 -0
- package/dist/cjs/components/AssessmentMultiSelect.d.ts +9 -0
- package/dist/cjs/components/AssessmentSingleSelect.d.ts +9 -0
- package/dist/cjs/components/CharactersLimit.d.ts +7 -0
- package/dist/cjs/components/CountDown.d.ts +3 -1
- package/dist/cjs/components/Errors.d.ts +2 -2
- package/dist/cjs/components/Explanation.d.ts +2 -1
- package/dist/cjs/components/Question.d.ts +2 -3
- package/dist/cjs/components/QuestionItem.d.ts +2 -2
- package/dist/cjs/components/QuestionParamaters.d.ts +9 -0
- package/dist/cjs/components/QuestionsList.d.ts +2 -2
- package/dist/cjs/components/RecorderModal.d.ts +2 -4
- package/dist/cjs/components/VideoCamera.d.ts +3 -2
- package/dist/cjs/components/ui/DotSeparator.d.ts +2 -0
- package/dist/cjs/components/ui/StartRecordingButton.d.ts +1 -0
- package/dist/cjs/i18n/config.d.ts +28 -0
- package/dist/cjs/index.js +2223 -11602
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/interfaces/candidateSessionInterface.d.ts +1 -1
- package/dist/cjs/interfaces/configInterface.d.ts +6 -6
- package/dist/cjs/interfaces/countDownInterface.d.ts +23 -0
- package/dist/cjs/interfaces/jobInterface.d.ts +43 -3
- package/dist/cjs/interfaces/recorderInterface.d.ts +6 -2
- package/dist/cjs/interfaces/uploaderInterface.d.ts +5 -3
- package/dist/cjs/interfaces/videoInterface.d.ts +25 -1
- package/dist/cjs/interfaces/widgetInterface.d.ts +22 -9
- package/dist/cjs/machines/acceleratorMachines/counterMachine.d.ts +5 -0
- package/dist/cjs/services/session.service.d.ts +1 -1
- package/dist/cjs/services/video.service.d.ts +3 -3
- package/dist/cjs/utils/constants.utils.d.ts +1 -0
- package/dist/cjs/utils/device.utils.d.ts +1 -1
- package/dist/cjs/utils/formatters.utils.d.ts +1 -1
- package/dist/esm/components/AnswerInstructions.d.ts +7 -0
- package/dist/esm/components/AssessmentController.d.ts +12 -0
- package/dist/esm/components/AssessmentFreeText.d.ts +8 -0
- package/dist/esm/components/AssessmentMultiSelect.d.ts +9 -0
- package/dist/esm/components/AssessmentSingleSelect.d.ts +9 -0
- package/dist/esm/components/CharactersLimit.d.ts +7 -0
- package/dist/esm/components/CountDown.d.ts +3 -1
- package/dist/esm/components/Errors.d.ts +2 -2
- package/dist/esm/components/Explanation.d.ts +2 -1
- package/dist/esm/components/Question.d.ts +2 -3
- package/dist/esm/components/QuestionItem.d.ts +2 -2
- package/dist/esm/components/QuestionParamaters.d.ts +9 -0
- package/dist/esm/components/QuestionsList.d.ts +2 -2
- package/dist/esm/components/RecorderModal.d.ts +2 -4
- package/dist/esm/components/VideoCamera.d.ts +3 -2
- package/dist/esm/components/ui/DotSeparator.d.ts +2 -0
- package/dist/esm/components/ui/StartRecordingButton.d.ts +1 -0
- package/dist/esm/i18n/config.d.ts +28 -0
- package/dist/esm/index.js +2223 -11602
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/interfaces/candidateSessionInterface.d.ts +1 -1
- package/dist/esm/interfaces/configInterface.d.ts +6 -6
- package/dist/esm/interfaces/countDownInterface.d.ts +23 -0
- package/dist/esm/interfaces/jobInterface.d.ts +43 -3
- package/dist/esm/interfaces/recorderInterface.d.ts +6 -2
- package/dist/esm/interfaces/uploaderInterface.d.ts +5 -3
- package/dist/esm/interfaces/videoInterface.d.ts +25 -1
- package/dist/esm/interfaces/widgetInterface.d.ts +22 -9
- package/dist/esm/machines/acceleratorMachines/counterMachine.d.ts +5 -0
- package/dist/esm/services/session.service.d.ts +1 -1
- package/dist/esm/services/video.service.d.ts +3 -3
- package/dist/esm/utils/constants.utils.d.ts +1 -0
- package/dist/esm/utils/device.utils.d.ts +1 -1
- package/dist/esm/utils/formatters.utils.d.ts +1 -1
- package/dist/index.d.ts +68 -9
- package/package.json +3 -3
|
@@ -31,7 +31,7 @@ export declare const enum CandidateSessionWarnings {
|
|
|
31
31
|
OverconstrainedError = "OverconstrainedError",
|
|
32
32
|
SecurityError = "SecurityError"
|
|
33
33
|
}
|
|
34
|
-
export type CandidateSessionSourceType = 'direct' | 'email' | 'sms' | 'email_reminder' | 'sms_reminder';
|
|
34
|
+
export declare type CandidateSessionSourceType = 'direct' | 'email' | 'sms' | 'email_reminder' | 'sms_reminder';
|
|
35
35
|
export declare const enum CandidateSessionSourceMap {
|
|
36
36
|
direct_start_inter = "direct",
|
|
37
37
|
reminder_start_inter = "email_reminder",
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { CSSProperties } from 'react';
|
|
2
2
|
import { ICandidate } from './candidateInterface';
|
|
3
3
|
import { ICompany } from './companyInterface';
|
|
4
|
-
import { IClientJob, IClientQuestion, IJob
|
|
4
|
+
import { ALL_JOB_QUESTIONS_TYPE, IClientJob, IClientQuestion, IJob } from './jobInterface';
|
|
5
5
|
import { IVideo } from './videoInterface';
|
|
6
|
-
export type IMessageType = 'completed' | 'deadline' | 'applied' | 'inactiveJob';
|
|
6
|
+
export declare type IMessageType = 'completed' | 'deadline' | 'applied' | 'inactiveJob';
|
|
7
7
|
export interface IOnFinish {
|
|
8
8
|
redirectUrl?: string;
|
|
9
9
|
video_id: string;
|
|
@@ -11,7 +11,7 @@ export interface IOnFinish {
|
|
|
11
11
|
export interface IOnError {
|
|
12
12
|
messageType: IMessageType;
|
|
13
13
|
}
|
|
14
|
-
export type IEnv = 'dev' | 'staging' | 'production' | 'development' | 'local';
|
|
14
|
+
export declare type IEnv = 'dev' | 'staging' | 'production' | 'development' | 'local';
|
|
15
15
|
interface IConfig {
|
|
16
16
|
auth: string;
|
|
17
17
|
onWidgetClicked?: () => void;
|
|
@@ -20,7 +20,7 @@ interface IConfig {
|
|
|
20
20
|
onWidgetClose?: () => void;
|
|
21
21
|
openAnimation?: boolean;
|
|
22
22
|
debug?: boolean;
|
|
23
|
-
practiceQuestions?:
|
|
23
|
+
practiceQuestions?: ALL_JOB_QUESTIONS_TYPE[];
|
|
24
24
|
overlay?: string;
|
|
25
25
|
introVideo?: string;
|
|
26
26
|
welcomeTitle?: string;
|
|
@@ -31,7 +31,7 @@ interface IConfig {
|
|
|
31
31
|
hideIntercom?: boolean;
|
|
32
32
|
disablePractice?: boolean;
|
|
33
33
|
}
|
|
34
|
-
export type IClientConfig = Omit<IConfig, 'practiceQuestions'> & {
|
|
34
|
+
export declare type IClientConfig = Omit<IConfig, 'practiceQuestions'> & {
|
|
35
35
|
practiceQuestions?: IClientQuestion[];
|
|
36
36
|
};
|
|
37
37
|
export interface IWidgetConfig {
|
|
@@ -47,7 +47,7 @@ export interface IWidgetConfig {
|
|
|
47
47
|
styleUrls?: string | string[];
|
|
48
48
|
fontsUrls?: string | string[];
|
|
49
49
|
}
|
|
50
|
-
export type IClientWidgetConfig = Omit<IWidgetConfig, 'job' | 'config'> & {
|
|
50
|
+
export declare type IClientWidgetConfig = Omit<IWidgetConfig, 'job' | 'config'> & {
|
|
51
51
|
job: IClientJob;
|
|
52
52
|
config: IClientConfig;
|
|
53
53
|
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export interface CounterInterface {
|
|
2
|
+
counterRef: any;
|
|
3
|
+
ms: number;
|
|
4
|
+
isAutoStart: boolean;
|
|
5
|
+
callback: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const enum GUARDS {
|
|
8
|
+
IS_AUTO_START = "isAutoStart"
|
|
9
|
+
}
|
|
10
|
+
export declare const enum STATES {
|
|
11
|
+
IDLE = "idle",
|
|
12
|
+
COUNTING = "counting",
|
|
13
|
+
PAUSED = "paused"
|
|
14
|
+
}
|
|
15
|
+
export declare const enum ACTIONS {
|
|
16
|
+
TICK = "tick",
|
|
17
|
+
INIT_OBSERVER = "initObserver"
|
|
18
|
+
}
|
|
19
|
+
export declare const enum EVENTS {
|
|
20
|
+
TICK = "TICK",
|
|
21
|
+
START = "START",
|
|
22
|
+
PAUSE = "PAUSE"
|
|
23
|
+
}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
export declare const enum ANSWER_TYPES {
|
|
2
|
+
VIDEO = "video",
|
|
3
|
+
TEXT = "text",
|
|
4
|
+
MULTIPLE = "multiple_choice",
|
|
5
|
+
SINGLE = "single_choice"
|
|
6
|
+
}
|
|
1
7
|
export interface IQuestion {
|
|
2
8
|
question: string;
|
|
3
9
|
numOfRetakes: number;
|
|
@@ -7,11 +13,44 @@ export interface IQuestion {
|
|
|
7
13
|
videoQuestion?: string;
|
|
8
14
|
description?: string;
|
|
9
15
|
}
|
|
10
|
-
export
|
|
16
|
+
export interface IQuestionDefault extends IQuestion {
|
|
17
|
+
answerType?: `${ANSWER_TYPES.VIDEO}`;
|
|
18
|
+
}
|
|
19
|
+
export interface IQuestionTextAnswer extends IQuestion {
|
|
20
|
+
answerType: `${ANSWER_TYPES.TEXT}`;
|
|
21
|
+
config?: {
|
|
22
|
+
minChars: number;
|
|
23
|
+
maxChars?: number;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export interface IMultipleChoiceOptionDefinition {
|
|
27
|
+
id: string;
|
|
28
|
+
label: string;
|
|
29
|
+
}
|
|
30
|
+
export interface IQuestionChoiceAnswer extends IQuestion {
|
|
31
|
+
config?: {
|
|
32
|
+
shuffle?: boolean;
|
|
33
|
+
answers: IMultipleChoiceOptionDefinition[];
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
export interface IQuestionMultipleAnswer extends IQuestionChoiceAnswer {
|
|
37
|
+
answerType: `${ANSWER_TYPES.MULTIPLE}`;
|
|
38
|
+
config?: {
|
|
39
|
+
minAnswers?: number;
|
|
40
|
+
maxAnswers?: number;
|
|
41
|
+
} & IQuestionChoiceAnswer['config'];
|
|
42
|
+
}
|
|
43
|
+
export interface IQuestionSingleAnswer extends IQuestionChoiceAnswer {
|
|
44
|
+
answerType: `${ANSWER_TYPES.SINGLE}`;
|
|
45
|
+
}
|
|
46
|
+
declare type leanQuestion<T> = Omit<T, 'numOfRetakes' | 'partDuration' | 'thinkingTime'> & {
|
|
11
47
|
attempts?: number;
|
|
12
48
|
duration?: number;
|
|
13
49
|
thinkingTime?: number;
|
|
14
50
|
};
|
|
51
|
+
export declare type ALL_JOB_QUESTIONS_TYPE = IQuestionDefault | IQuestionTextAnswer | IQuestionMultipleAnswer | IQuestionSingleAnswer;
|
|
52
|
+
export declare type ASSESSMENT_QUESTIONS_TYPE = Exclude<ALL_JOB_QUESTIONS_TYPE, IQuestionDefault>;
|
|
53
|
+
export declare type IClientQuestion = leanQuestion<IQuestionDefault> | leanQuestion<IQuestionTextAnswer> | leanQuestion<IQuestionMultipleAnswer> | leanQuestion<IQuestionSingleAnswer>;
|
|
15
54
|
export interface IJob {
|
|
16
55
|
language?: string;
|
|
17
56
|
transcriptLanguage?: string;
|
|
@@ -19,7 +58,7 @@ export interface IJob {
|
|
|
19
58
|
company?: string;
|
|
20
59
|
job_id?: string;
|
|
21
60
|
logo?: string;
|
|
22
|
-
questions?:
|
|
61
|
+
questions?: ALL_JOB_QUESTIONS_TYPE[];
|
|
23
62
|
old_jobID?: string;
|
|
24
63
|
termsUrl?: string;
|
|
25
64
|
privacyUrl?: string;
|
|
@@ -27,6 +66,7 @@ export interface IJob {
|
|
|
27
66
|
company_id?: string;
|
|
28
67
|
jobID?: string;
|
|
29
68
|
}
|
|
30
|
-
export type IClientJob = Omit<IJob, 'questions'> & {
|
|
69
|
+
export declare type IClientJob = Omit<IJob, 'questions'> & {
|
|
31
70
|
questions?: IClientQuestion[];
|
|
32
71
|
};
|
|
72
|
+
export {};
|
|
@@ -5,8 +5,8 @@ export declare const enum SPEED_TEST_LEVEL {
|
|
|
5
5
|
MEDIUM = 1,
|
|
6
6
|
HIGH = 2
|
|
7
7
|
}
|
|
8
|
-
export type mediaDeviceType = 'video' | 'audio';
|
|
9
|
-
type ConstrainProps = {
|
|
8
|
+
export declare type mediaDeviceType = 'video' | 'audio';
|
|
9
|
+
declare type ConstrainProps = {
|
|
10
10
|
video: {
|
|
11
11
|
width: {
|
|
12
12
|
min?: number;
|
|
@@ -23,6 +23,7 @@ interface FacingMode {
|
|
|
23
23
|
export interface RecorderInterface {
|
|
24
24
|
facingMode: FacingMode;
|
|
25
25
|
microphoneRef: ActorRef<DoneInvokeEvent<any>> | null;
|
|
26
|
+
countDownRef: ActorRef<DoneInvokeEvent<any>> | null;
|
|
26
27
|
mediaStream?: MediaStream;
|
|
27
28
|
mediaRecorder?: MediaRecorder;
|
|
28
29
|
videoDevices: MediaDeviceInfo[];
|
|
@@ -60,6 +61,8 @@ export declare const enum STATES {
|
|
|
60
61
|
RECORDER_SENDING_BLOBS = "recorderSendingBlobs"
|
|
61
62
|
}
|
|
62
63
|
export declare const enum ACTIONS {
|
|
64
|
+
STOP_COUNT_DOWN_ACTOR = "STOP_COUNT_DOWN_ACTOR",
|
|
65
|
+
INIT_COUNT_DOWN_ACTOR = "INIT_COUNT_DOWN_ACTOR",
|
|
63
66
|
SESSION_EVENT = "SESSION_EVENT",
|
|
64
67
|
SENTRY = "SENTRY",
|
|
65
68
|
CONSOLE_LOG = "CONSOLE_LOG",
|
|
@@ -93,6 +96,7 @@ export declare const enum ACTIONS {
|
|
|
93
96
|
SET_MIC_ERROR = "SET_MIC_ERROR"
|
|
94
97
|
}
|
|
95
98
|
export declare const enum EVENTS {
|
|
99
|
+
SEND_RECORDER_TO_WAITING_STATE = "SEND_RECORDER_TO_WAITING_STATE",
|
|
96
100
|
CHANGE_VIDEO_DEVICE = "CHANGE_VIDEO_DEVICE",
|
|
97
101
|
CHANGE_AUDIO_DEVICE = "CHANGE_AUDIO_DEVICE",
|
|
98
102
|
START_RECORDING = "START_RECORDING",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ALL_VIDEO_FILE_TYPES } from './videoInterface';
|
|
2
2
|
interface ILastUploadChunkl {
|
|
3
3
|
loaded: number;
|
|
4
4
|
timeStamp: number;
|
|
@@ -11,10 +11,11 @@ export interface InitialState {
|
|
|
11
11
|
uploadSpeed: number;
|
|
12
12
|
lastUploadChunk: ILastUploadChunkl;
|
|
13
13
|
videoId: string;
|
|
14
|
-
videoFile:
|
|
14
|
+
videoFile: ALL_VIDEO_FILE_TYPES;
|
|
15
15
|
}
|
|
16
16
|
export declare const enum STATES {
|
|
17
17
|
IDLE = "idle",
|
|
18
|
+
UPLOAD_CONTROLLER = "uploadController",
|
|
18
19
|
UPLOADING = "uploading",
|
|
19
20
|
GET_SIGNED_URL = "getSignedUrl",
|
|
20
21
|
UPLOAD_TO_S3 = "uploadToS3",
|
|
@@ -34,6 +35,7 @@ export declare const enum ACTIONS {
|
|
|
34
35
|
SENTRY = "sentry"
|
|
35
36
|
}
|
|
36
37
|
export declare const enum GUARDS {
|
|
37
|
-
CAN_UPLOAD = "canUplaod"
|
|
38
|
+
CAN_UPLOAD = "canUplaod",
|
|
39
|
+
IS_ASSESSMENT_QUESTION = "isAssessmentQuestion"
|
|
38
40
|
}
|
|
39
41
|
export {};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ANSWER_TYPES } from './jobInterface';
|
|
1
2
|
export interface IVideoPlatformOS {
|
|
2
3
|
architecture: number;
|
|
3
4
|
family: string;
|
|
@@ -25,6 +26,29 @@ export interface IVideoFile {
|
|
|
25
26
|
question?: string;
|
|
26
27
|
selectedTake?: number;
|
|
27
28
|
}
|
|
29
|
+
export interface IVideoFileDefault extends IVideoFile {
|
|
30
|
+
answerType?: ANSWER_TYPES.VIDEO;
|
|
31
|
+
}
|
|
32
|
+
export interface IMultipleAnswer {
|
|
33
|
+
id: string;
|
|
34
|
+
label: string;
|
|
35
|
+
selected: boolean;
|
|
36
|
+
}
|
|
37
|
+
export interface IVideoFileTextAnswer extends IVideoFile {
|
|
38
|
+
answerType: ANSWER_TYPES.TEXT;
|
|
39
|
+
answer: string;
|
|
40
|
+
}
|
|
41
|
+
export interface IVideoFileMultipleAnswer extends IVideoFile {
|
|
42
|
+
answerType: ANSWER_TYPES.MULTIPLE;
|
|
43
|
+
answer: IMultipleAnswer[];
|
|
44
|
+
}
|
|
45
|
+
export interface IVideoFileSingleAnswer extends IVideoFile {
|
|
46
|
+
answerType: ANSWER_TYPES.SINGLE;
|
|
47
|
+
answer: IMultipleAnswer[];
|
|
48
|
+
}
|
|
49
|
+
export declare type ALL_VIDEO_FILE_TYPES = IVideoFileDefault | IVideoFileTextAnswer | IVideoFileMultipleAnswer | IVideoFileSingleAnswer;
|
|
50
|
+
export declare type ASSESSMENT_VIDEO_FILE_TYPES = Exclude<ALL_VIDEO_FILE_TYPES, IVideoFileDefault>;
|
|
51
|
+
export declare type CURRENT_QUESTION_ANSWER_TYPES = ASSESSMENT_VIDEO_FILE_TYPES['answer'];
|
|
28
52
|
export interface IVideo {
|
|
29
53
|
video_id?: string;
|
|
30
54
|
bandwidth?: string;
|
|
@@ -37,7 +61,7 @@ export interface IVideo {
|
|
|
37
61
|
quality?: string;
|
|
38
62
|
referrer?: string;
|
|
39
63
|
cvUrl?: string;
|
|
40
|
-
videos?:
|
|
64
|
+
videos?: ALL_VIDEO_FILE_TYPES[];
|
|
41
65
|
processTime?: number;
|
|
42
66
|
files?: string[];
|
|
43
67
|
personalInfo?: Record<string, string>;
|
|
@@ -3,9 +3,9 @@ import { ActorRef, BaseActionObject, DoneInvokeEvent, Event, EventData, ResolveT
|
|
|
3
3
|
import { IWidgetConfig } from './configInterface';
|
|
4
4
|
import { CAMERA_STATES_MESSAGES, INTERNET_STATES_MESSAGES, MICROPHONE_STATES_MESSAGES } from '../utils/messages.utils';
|
|
5
5
|
import { TAKE_TYPES } from './storageInterface';
|
|
6
|
-
import {
|
|
6
|
+
import { ALL_JOB_QUESTIONS_TYPE } from './jobInterface';
|
|
7
7
|
import { IVideoError } from '../utils/errors.utils';
|
|
8
|
-
type IUploaderRef = {
|
|
8
|
+
declare type IUploaderRef = {
|
|
9
9
|
[uploaderRef: string]: ActorRef<DoneInvokeEvent<any>>;
|
|
10
10
|
};
|
|
11
11
|
export declare const VIDEO_ERROR_MESSAGES: {
|
|
@@ -13,10 +13,10 @@ export declare const VIDEO_ERROR_MESSAGES: {
|
|
|
13
13
|
REDIRECT: "REDIRECT";
|
|
14
14
|
NO_ERROR: "";
|
|
15
15
|
};
|
|
16
|
-
export type ICameraStateKey = keyof typeof CAMERA_STATES_MESSAGES;
|
|
17
|
-
export type IMicrophoneStateKey = keyof typeof MICROPHONE_STATES_MESSAGES;
|
|
18
|
-
export type IInternetStateKey = keyof typeof INTERNET_STATES_MESSAGES;
|
|
19
|
-
export type IVideoCorruptedMessagesKey = keyof typeof VIDEO_ERROR_MESSAGES;
|
|
16
|
+
export declare type ICameraStateKey = keyof typeof CAMERA_STATES_MESSAGES;
|
|
17
|
+
export declare type IMicrophoneStateKey = keyof typeof MICROPHONE_STATES_MESSAGES;
|
|
18
|
+
export declare type IInternetStateKey = keyof typeof INTERNET_STATES_MESSAGES;
|
|
19
|
+
export declare type IVideoCorruptedMessagesKey = keyof typeof VIDEO_ERROR_MESSAGES;
|
|
20
20
|
export declare const CAMERA_STATES: {
|
|
21
21
|
[K in ICameraStateKey]: K;
|
|
22
22
|
};
|
|
@@ -47,7 +47,7 @@ interface IChecksMessage {
|
|
|
47
47
|
export interface InitialState {
|
|
48
48
|
speedTestResult: number;
|
|
49
49
|
widgetConfig: IWidgetConfig;
|
|
50
|
-
questions:
|
|
50
|
+
questions: ALL_JOB_QUESTIONS_TYPE[];
|
|
51
51
|
isConnected: boolean;
|
|
52
52
|
videoRef: RefObject<HTMLVideoElement>;
|
|
53
53
|
networkRef: ActorRef<DoneInvokeEvent<any>> | null;
|
|
@@ -55,6 +55,8 @@ export interface InitialState {
|
|
|
55
55
|
storageRef: ActorRef<DoneInvokeEvent<any>> | null;
|
|
56
56
|
previewRef: ActorRef<DoneInvokeEvent<any>> | null;
|
|
57
57
|
uploaderRefs: IUploaderRef;
|
|
58
|
+
countDownRef: ActorRef<DoneInvokeEvent<any>> | null;
|
|
59
|
+
timer: number;
|
|
58
60
|
currentQuestion: number;
|
|
59
61
|
currentTake: number;
|
|
60
62
|
selectedTake: number | null;
|
|
@@ -103,8 +105,11 @@ export declare const enum STATES {
|
|
|
103
105
|
INTERVIEW__EXPLANATION = "interviewExplanation",
|
|
104
106
|
INTERVIEW__QUESTION = "interviewQuestion",
|
|
105
107
|
INTERVIEW__VIDEO_QUESTION = "interviewVideoQuestion",
|
|
108
|
+
INTERVIEW__ANSWER_SELECTOR = "interviewAnswerSelector",
|
|
109
|
+
INTERVIEW__ASSESSMENT = "interviewAssessment",
|
|
106
110
|
INTERVIEW__RECORDING = "interviewRecording",
|
|
107
111
|
PREVIEW = "preview",
|
|
112
|
+
NEXT_QUESTION_MIDDLEWARE = "nextQuestionMiddleware",
|
|
108
113
|
RE_INIT_RECORDER = "reInitRecorder",
|
|
109
114
|
RE_INIT_RECORDER__NEXT_RETAKE = "reInitRecorderNextRetake",
|
|
110
115
|
RE_INIT_RECORDER__NEXT_QUESTION = "reInitRecorderNextQuestion",
|
|
@@ -128,8 +133,10 @@ export declare const enum ACTIONS {
|
|
|
128
133
|
SPAWN_UPLOADER = "spawnUploader",
|
|
129
134
|
SPAWN_STORAGE = "spawnStorage",
|
|
130
135
|
SPAWN_PREVIEW = "spawnPreview",
|
|
136
|
+
SPAWN_COUNT_DOWN = "spawnCountDown",
|
|
131
137
|
STOP_RECORDER = "stopRecorder",
|
|
132
138
|
STOP_PREVIEW = "stopPreview",
|
|
139
|
+
STOP_COUNT_DOWN = "stopCountDown",
|
|
133
140
|
STORE_TAKE = "storeTake",
|
|
134
141
|
GET_TAKE = "getTake",
|
|
135
142
|
GET_TAKES = "getTakes",
|
|
@@ -139,8 +146,10 @@ export declare const enum ACTIONS {
|
|
|
139
146
|
UPDATE_TOTAL_UPLOADED_FILES_SIZE = "updateTotalUploadedFileSize",
|
|
140
147
|
UPDATE_QUESTION_NUMBER = "updateQuestionNumber",
|
|
141
148
|
UPDATE_RETAKES_NUMBER = "updateRetakesNumber",
|
|
149
|
+
UPDATE_TIMER = "updateTimer",
|
|
142
150
|
UPDATE_AXION_AUTH = "updateAxiosAuth",
|
|
143
151
|
RECORDER_RE_INIT = "recorderReInit",
|
|
152
|
+
DEACTIVATE_RECORDER = "deactivateRecorder",
|
|
144
153
|
RECORDER_RE_INIT_AUTO_START = "recorderReInitAutoStart",
|
|
145
154
|
UPDATE_RECORDER_PARAMS = "updateRecorderParams",
|
|
146
155
|
UPDATE_TOTAL_UPLOADED = "updateTotalUploaded",
|
|
@@ -175,7 +184,8 @@ export declare const enum EVENTS {
|
|
|
175
184
|
UPLOADER_PROGRESS = "UPLOADER_PROGRESS",
|
|
176
185
|
UPLOADER_FINISHED = "UPLOADER_FINISHED",
|
|
177
186
|
RECORDER_ERROR = "RECORDER_ERROR",
|
|
178
|
-
RETRY = "RETRY"
|
|
187
|
+
RETRY = "RETRY",
|
|
188
|
+
UPDATE_TIMER = "UPDATE_TIMER"
|
|
179
189
|
}
|
|
180
190
|
export declare const enum SERVICES {
|
|
181
191
|
UPDATE_VIDEO_OBJECT_CALL = "updateVideoObjectCall",
|
|
@@ -199,7 +209,10 @@ export declare const enum GUARDS {
|
|
|
199
209
|
IS_NO_SOUND_ERROR = "isNoSoundError",
|
|
200
210
|
IS_VIDEO_CORRUPTED = "isVideoCorrupted",
|
|
201
211
|
IS_AUDIO_ERROR = "isAudioError",
|
|
202
|
-
IS_VIDEO_ERROR = "isVideoError"
|
|
212
|
+
IS_VIDEO_ERROR = "isVideoError",
|
|
213
|
+
THERE_ARE_NO_VIDEO_QUESTIONS_TYPE = "thereAreNoVideoQuestionType",
|
|
214
|
+
IS_RECORDER_READY = "isRecorderReady",
|
|
215
|
+
IS_ASSESSMENT_QUESTION = "isAssessmentQuestion"
|
|
203
216
|
}
|
|
204
217
|
export declare const enum TAGS {
|
|
205
218
|
SETUP = "setup",
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { CounterInterface } from '../../interfaces/countDownInterface';
|
|
2
|
+
export declare const counterMachine: import("xstate").StateMachine<CounterInterface, any, import("xstate").AnyEventObject, {
|
|
3
|
+
value: any;
|
|
4
|
+
context: CounterInterface;
|
|
5
|
+
}, import("xstate").BaseActionObject, import("xstate").ServiceMap, import("xstate").ResolveTypegenMeta<import("xstate").TypegenDisabled, import("xstate").AnyEventObject, import("xstate").BaseActionObject, import("xstate").ServiceMap>>;
|
|
@@ -27,7 +27,7 @@ export declare function getSessionIdFromCache(): string | undefined | null;
|
|
|
27
27
|
*/
|
|
28
28
|
export declare function deleteSession(): void;
|
|
29
29
|
/** ehehehe this is a type that takes 2 types and matches all the keys of type V from type K */
|
|
30
|
-
type KeysMatching<T, V> = {
|
|
30
|
+
declare type KeysMatching<T, V> = {
|
|
31
31
|
[K in keyof T]-?: T[K] extends (V | undefined) ? K : never;
|
|
32
32
|
}[keyof T];
|
|
33
33
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { IWidgetConfigRequest, IWidgetConfigResponse } from '../interfaces/configInterface';
|
|
2
|
-
import { IVideo,
|
|
2
|
+
import { IVideo, ALL_VIDEO_FILE_TYPES } from '../interfaces/videoInterface';
|
|
3
3
|
export declare const createVideo: (widgetConfig: IWidgetConfigRequest) => Promise<IWidgetConfigResponse>;
|
|
4
4
|
export declare const getVideo: (videoId: string) => Promise<IWidgetConfigResponse>;
|
|
5
|
-
export declare const updateVideo: ({ video_id, completed, uploaded, bandwidth }: IVideo) => Promise<IWidgetConfigResponse>;
|
|
6
|
-
export declare const updateVideoFile: (videoId: string, videoFile:
|
|
5
|
+
export declare const updateVideo: ({ video_id, started, completed, uploaded, bandwidth }: IVideo) => Promise<IWidgetConfigResponse>;
|
|
6
|
+
export declare const updateVideoFile: (videoId: string, videoFile: ALL_VIDEO_FILE_TYPES) => Promise<IWidgetConfigResponse>;
|
|
7
7
|
export declare const getUploadUrl: (videoId: string, fileName: string, typeExtension: string) => Promise<IWidgetConfigResponse>;
|
|
@@ -11,4 +11,5 @@ export declare const VIDEO_INACTIVE_TIMEOUT = 2000;
|
|
|
11
11
|
export declare const MICROPHONE_NO_SOUND_ERROR_CODE = 777;
|
|
12
12
|
export declare const MAX_FAILED_RECORDING_ATTEMPTS = 2;
|
|
13
13
|
export declare const MICROPHONE_RETAKE_COUNT = 100;
|
|
14
|
+
export declare const SECONDS_LEFT_HIGHLIGHT = 10;
|
|
14
15
|
export declare const FONT_URL = "https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600;700&display=swap";
|
|
@@ -4,7 +4,7 @@ export declare const isSupportedIosDevice: boolean;
|
|
|
4
4
|
export declare const isSupportedDevice: boolean;
|
|
5
5
|
declare const PLATFORMS_OPTIONS: readonly ["ANDROID", "IOS", "MACBOOK", "WINDOWS"];
|
|
6
6
|
declare const BROWSERS_OPTIONS: readonly ["CHROME", "SAFARI", "FIREFOX", "SAMSUNG"];
|
|
7
|
-
type DEVICE_TYPE = {
|
|
7
|
+
declare type DEVICE_TYPE = {
|
|
8
8
|
PLATFORM: typeof PLATFORMS_OPTIONS[number];
|
|
9
9
|
BROWSER: typeof BROWSERS_OPTIONS[number];
|
|
10
10
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const twoDigitsNumber: (num: number) => string;
|
|
2
2
|
export declare const timeFormatter: (number: number) => string;
|
|
3
3
|
export declare const timeLeftInMinutesFormatter: (number: number) => string;
|
|
4
|
-
export declare const timerCountDown: (number: number) => string;
|
|
4
|
+
export declare const timerCountDown: (number: number) => string[];
|
|
5
5
|
export declare const formattedDuration: (number: number) => string;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ASSESSMENT_QUESTIONS_TYPE } from '../interfaces/jobInterface';
|
|
3
|
+
import { IMultipleAnswer } from '../interfaces/videoInterface';
|
|
4
|
+
interface IProps {
|
|
5
|
+
currentQuestionObj: ASSESSMENT_QUESTIONS_TYPE;
|
|
6
|
+
currentQuestion: number;
|
|
7
|
+
numberOfQuestions: number;
|
|
8
|
+
timer: number;
|
|
9
|
+
onSubmitAssessment: (answer: IMultipleAnswer[] | string) => void;
|
|
10
|
+
}
|
|
11
|
+
export declare const AssessmentController: React.FC<IProps>;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { IMultipleChoiceOptionDefinition } from '../interfaces/jobInterface';
|
|
3
|
+
import { IMultipleAnswer } from '../interfaces/videoInterface';
|
|
4
|
+
interface IProps {
|
|
5
|
+
answerOptions: IMultipleChoiceOptionDefinition[];
|
|
6
|
+
onAnswer: (answers: IMultipleAnswer[]) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const AssessmentMultiSelect: React.FC<IProps>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { IMultipleChoiceOptionDefinition } from '../interfaces/jobInterface';
|
|
3
|
+
import { IMultipleAnswer } from '../interfaces/videoInterface';
|
|
4
|
+
interface IProps {
|
|
5
|
+
answerOptions: IMultipleChoiceOptionDefinition[];
|
|
6
|
+
onAnswer: (answer: IMultipleAnswer[]) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const AssessmentSingleSelect: React.FC<IProps>;
|
|
9
|
+
export {};
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
interface CountDownProps {
|
|
3
3
|
countDown: number;
|
|
4
|
+
forceMobileCounter?: boolean;
|
|
5
|
+
numberOfSecondsToHighlight?: number;
|
|
4
6
|
}
|
|
5
|
-
export declare const CountDown: ({ countDown }: CountDownProps) => JSX.Element;
|
|
7
|
+
export declare const CountDown: ({ countDown, forceMobileCounter, numberOfSecondsToHighlight }: CountDownProps) => JSX.Element;
|
|
6
8
|
export {};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { IVideoCorruptedMessagesKey } from '../interfaces/widgetInterface';
|
|
3
3
|
import { IDeviceSelectorList } from './DeviceSelectorList';
|
|
4
|
-
export type VIDEO_ERRORS = Exclude<IVideoCorruptedMessagesKey, 'NO_ERROR'>;
|
|
5
|
-
export type MODAL_ERROR_KEY = 'MEDIA_PERMISSION' | 'NO_SOUND' | 'CONNECTION' | VIDEO_ERRORS;
|
|
4
|
+
export declare type VIDEO_ERRORS = Exclude<IVideoCorruptedMessagesKey, 'NO_ERROR'>;
|
|
5
|
+
export declare type MODAL_ERROR_KEY = 'MEDIA_PERMISSION' | 'NO_SOUND' | 'CONNECTION' | VIDEO_ERRORS;
|
|
6
6
|
interface IProps extends Partial<IDeviceSelectorList> {
|
|
7
7
|
errorType: MODAL_ERROR_KEY;
|
|
8
8
|
onDisplayPermissionSteps?: () => void;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { ALL_JOB_QUESTIONS_TYPE } from '../interfaces/jobInterface';
|
|
3
3
|
interface IProps {
|
|
4
|
-
questionObj:
|
|
5
|
-
currentQuestion: number;
|
|
4
|
+
questionObj: ALL_JOB_QUESTIONS_TYPE;
|
|
6
5
|
isInner?: boolean;
|
|
7
6
|
}
|
|
8
7
|
export declare const Question: React.FC<IProps>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { ALL_JOB_QUESTIONS_TYPE } from '../interfaces/jobInterface';
|
|
3
3
|
import { VIDEO_STATUS } from '../interfaces/videoInterface';
|
|
4
4
|
interface IProps {
|
|
5
|
-
questionObj:
|
|
5
|
+
questionObj: ALL_JOB_QUESTIONS_TYPE;
|
|
6
6
|
questionNumber: number;
|
|
7
7
|
currentQuestion: number;
|
|
8
8
|
isPracticeMode: boolean;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { ALL_JOB_QUESTIONS_TYPE } from '../interfaces/jobInterface';
|
|
3
3
|
import { VIDEO_STATUS } from '../interfaces/videoInterface';
|
|
4
4
|
interface IProps {
|
|
5
|
-
questions:
|
|
5
|
+
questions: ALL_JOB_QUESTIONS_TYPE[];
|
|
6
6
|
currentQuestion: number;
|
|
7
7
|
isPracticeMode: boolean;
|
|
8
8
|
questionsStatus: VIDEO_STATUS[];
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { ALL_JOB_QUESTIONS_TYPE } from '../interfaces/jobInterface';
|
|
3
3
|
import { IDeviceSelectorList } from './DeviceSelectorList';
|
|
4
4
|
import { MODAL_ERROR_KEY } from './Errors';
|
|
5
5
|
interface IProps extends IDeviceSelectorList {
|
|
6
6
|
errorType: MODAL_ERROR_KEY | null;
|
|
7
7
|
onDisplayPermissionSteps: () => void;
|
|
8
8
|
onReInitRecorder: () => void;
|
|
9
|
-
|
|
10
|
-
numberOfQuestions: number;
|
|
11
|
-
currentQuestionObj: IQuestion | undefined;
|
|
9
|
+
currentQuestionObj: ALL_JOB_QUESTIONS_TYPE | undefined;
|
|
12
10
|
isRecording: boolean;
|
|
13
11
|
}
|
|
14
12
|
export declare const RecorderModal: React.FC<IProps>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ActorRef, DoneInvokeEvent } from 'xstate';
|
|
3
|
-
import {
|
|
3
|
+
import { ALL_JOB_QUESTIONS_TYPE } from '../interfaces/jobInterface';
|
|
4
4
|
import { IDeviceSelectorProps } from './DeviceSelector';
|
|
5
5
|
import { MODAL_ERROR_KEY } from './Errors';
|
|
6
6
|
interface IProps extends IDeviceSelectorProps {
|
|
@@ -17,7 +17,7 @@ interface IProps extends IDeviceSelectorProps {
|
|
|
17
17
|
canStartRecording: boolean;
|
|
18
18
|
currentQuestion: number;
|
|
19
19
|
numberOfQuestions: number;
|
|
20
|
-
currentQuestionObj:
|
|
20
|
+
currentQuestionObj: ALL_JOB_QUESTIONS_TYPE | undefined;
|
|
21
21
|
isRecording: boolean;
|
|
22
22
|
durations: number;
|
|
23
23
|
recordingTime: number;
|
|
@@ -25,6 +25,7 @@ interface IProps extends IDeviceSelectorProps {
|
|
|
25
25
|
countdown: number;
|
|
26
26
|
isQuestionDisplayed: boolean;
|
|
27
27
|
myinterviewRef: React.RefObject<HTMLDivElement>;
|
|
28
|
+
isAssessment: boolean;
|
|
28
29
|
}
|
|
29
30
|
export declare const VideoCamera: React.ForwardRefExoticComponent<IProps & React.RefAttributes<HTMLVideoElement>>;
|
|
30
31
|
export {};
|