@myinterview/widget-react 1.0.88 → 1.1.0-beta-fcdd2f1
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/README.md +4 -4
- package/dist/cjs/{types/App.d.ts → App.d.ts} +1 -0
- 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 +7 -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 +8 -0
- package/dist/cjs/{types/components → components}/Counter.d.ts +0 -0
- package/dist/{esm/types → cjs}/components/DeviceSelector.d.ts +3 -2
- package/dist/cjs/{types/components → components}/DeviceSelectorList.d.ts +0 -0
- package/dist/cjs/{types/components → components}/DeviceSelectorListNative.d.ts +0 -0
- package/dist/cjs/{types/components → components}/Error.d.ts +0 -0
- package/dist/cjs/{types/components → components}/ErrorBoundaries.d.ts +0 -0
- package/dist/cjs/components/Errors.d.ts +12 -0
- package/dist/cjs/{types/components → components}/Explanation.d.ts +2 -1
- package/dist/cjs/{types/components → components}/Footer.d.ts +0 -0
- package/dist/cjs/{types/components → components}/Header.d.ts +0 -0
- package/dist/cjs/{types/components → components}/InnerView.d.ts +3 -0
- package/dist/cjs/components/Main.d.ts +11 -0
- package/dist/cjs/{types/components → components}/OuterView.d.ts +0 -0
- package/dist/cjs/{types/components → components}/PermissionSteps.d.ts +0 -0
- package/dist/cjs/components/PracticeModeInfo.d.ts +2 -0
- package/dist/cjs/components/PreviewItem.d.ts +20 -0
- package/dist/cjs/{types/components → components}/PreviewList.d.ts +1 -0
- package/dist/cjs/{types/components → components}/Question.d.ts +2 -3
- package/dist/{esm/types → cjs}/components/QuestionItem.d.ts +2 -2
- package/dist/cjs/components/QuestionParamaters.d.ts +9 -0
- package/dist/{esm/types → cjs}/components/QuestionsList.d.ts +2 -2
- package/dist/cjs/{types/components → components}/RecorderModal.d.ts +3 -4
- package/dist/cjs/{types/components → components}/Setup.d.ts +1 -0
- package/dist/cjs/{types/components → components}/SetupChecks.d.ts +0 -0
- package/dist/cjs/{types/components → components}/SliderModal.d.ts +0 -0
- package/dist/cjs/components/TopTips.d.ts +2 -0
- package/dist/cjs/{types/components → components}/Upload.d.ts +0 -0
- package/dist/cjs/{types/components → components}/VideoCamera.d.ts +5 -2
- package/dist/cjs/{types/components → components}/VideoQuestion.d.ts +1 -0
- package/dist/cjs/{types/components → components}/VideoTimeBar.d.ts +0 -0
- package/dist/cjs/{types/components → components}/WelcomePage.d.ts +6 -1
- package/dist/cjs/components/Widget.d.ts +3 -0
- package/dist/cjs/{types/components → components}/icons/ClockIcon.d.ts +0 -0
- package/dist/cjs/{types/components → components}/icons/Loading.d.ts +0 -0
- package/dist/cjs/{types/components → components}/icons/NoCameraMic.d.ts +0 -0
- package/dist/cjs/{types/components → components}/icons/PlayIcon.d.ts +0 -0
- package/dist/cjs/{types/components → components}/icons/Retake.d.ts +0 -0
- package/dist/cjs/{types/components → components}/icons/RotateScreenIcon.d.ts +0 -0
- package/dist/cjs/components/ui/DotSeparator.d.ts +2 -0
- package/dist/cjs/{types/components → components}/ui/Loader.d.ts +0 -0
- package/dist/cjs/{types/components → components}/ui/MicrophoneIndicator.d.ts +0 -0
- package/dist/cjs/components/ui/MinimizeButton.d.ts +6 -0
- package/dist/cjs/{types/components → components}/ui/PracticeMode.d.ts +0 -0
- package/dist/cjs/{types/components → components}/ui/Progress.d.ts +0 -0
- package/dist/cjs/{types/components → components}/ui/QuestionDuration.d.ts +0 -0
- package/dist/cjs/{types/components → components}/ui/QuestionNumber.d.ts +0 -0
- package/dist/cjs/{types/components → components}/ui/RecordingButton.d.ts +0 -0
- package/dist/cjs/{types/components → components}/ui/RotateScreen.d.ts +0 -0
- package/dist/cjs/{types/components → components}/ui/Signal.d.ts +0 -0
- package/dist/cjs/{types/components → components}/ui/StartNowButton.d.ts +0 -0
- package/dist/{esm/types → cjs}/components/ui/StartRecordingButton.d.ts +1 -0
- package/dist/cjs/{types/components → components}/ui/StopRecordingButton.d.ts +0 -0
- package/dist/cjs/{types/components → components}/ui/UnsupportedModal.d.ts +0 -0
- package/dist/cjs/{types/config → config}/index.d.ts +2 -1
- package/dist/cjs/{types/config → config}/local.env.d.ts +0 -0
- package/dist/cjs/{types/config → config}/prod.env.d.ts +0 -0
- package/dist/cjs/{types/config → config}/staging.env.d.ts +0 -0
- package/dist/{esm/types → cjs}/i18n/config.d.ts +528 -16
- package/dist/cjs/index.d.ts +4 -0
- package/dist/cjs/index.js +26002 -21303
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/{types/interfaces → interfaces}/candidateInterface.d.ts +5 -1
- package/dist/cjs/{types/interfaces → interfaces}/candidateSessionInterface.d.ts +11 -6
- package/dist/cjs/{types/interfaces → interfaces}/companyInterface.d.ts +1 -0
- package/dist/cjs/interfaces/configInterface.d.ts +64 -0
- package/dist/cjs/interfaces/countDownInterface.d.ts +23 -0
- package/dist/cjs/interfaces/jobInterface.d.ts +72 -0
- package/dist/{esm/types → cjs}/interfaces/microphoneInterface.d.ts +5 -0
- package/dist/cjs/{types/interfaces → interfaces}/networkInterface.d.ts +0 -0
- package/dist/cjs/{types/interfaces → interfaces}/previewInterface.d.ts +0 -0
- package/dist/cjs/interfaces/recorderInterface.d.ts +203 -0
- package/dist/cjs/{types/interfaces → interfaces}/storageInterface.d.ts +0 -0
- package/dist/cjs/{types/interfaces → interfaces}/uploaderInterface.d.ts +5 -3
- package/dist/{esm/types → cjs}/interfaces/videoInterface.d.ts +32 -2
- package/dist/cjs/{types/interfaces → interfaces}/widgetInterface.d.ts +51 -12
- package/dist/cjs/{types/machines → machines}/acceleratorMachines/accUploaderMachine.d.ts +0 -0
- package/dist/cjs/{types/machines → machines}/acceleratorMachines/accWidgetMachine.d.ts +0 -0
- package/dist/cjs/machines/acceleratorMachines/counterMachine.d.ts +5 -0
- package/dist/cjs/{types/machines → machines}/acceleratorMachines/microphoneMachine.d.ts +0 -0
- package/dist/cjs/{types/machines → machines}/acceleratorMachines/networkMachine.d.ts +0 -0
- package/dist/cjs/{types/machines → machines}/acceleratorMachines/previewMachine.d.ts +0 -0
- package/dist/cjs/{types/machines → machines}/acceleratorMachines/recorderMachineV2.d.ts +0 -0
- package/dist/cjs/{types/machines → machines}/acceleratorMachines/storageMachine.d.ts +0 -0
- package/dist/cjs/{types/reportWebVitals.d.ts → reportWebVitals.d.ts} +0 -0
- package/dist/{esm/types → cjs}/services/axiosInstances.service.d.ts +1 -0
- package/dist/cjs/{types/services → services}/s3.service.d.ts +0 -0
- package/dist/{esm/types → cjs}/services/session.service.d.ts +13 -2
- package/dist/cjs/{types/services → services}/speedTest.service.d.ts +0 -0
- package/dist/cjs/services/video.service.d.ts +7 -0
- package/dist/cjs/{types/setupTests.d.ts → setupTests.d.ts} +0 -0
- package/dist/cjs/{types/utils → utils}/authToken.utils.d.ts +0 -0
- package/dist/cjs/utils/constants.utils.d.ts +21 -0
- package/dist/cjs/utils/convertor.utils.d.ts +2 -0
- package/dist/cjs/{types/utils → utils}/debug.utils.d.ts +0 -0
- package/dist/cjs/{types/utils → utils}/device.utils.d.ts +1 -1
- package/dist/cjs/{types/utils → utils}/errors.utils.d.ts +0 -0
- package/dist/cjs/{types/utils → utils}/formatters.utils.d.ts +1 -1
- package/dist/cjs/utils/languages.utils.d.ts +1 -0
- package/dist/cjs/{types/utils → utils}/messages.utils.d.ts +0 -0
- package/dist/cjs/utils/recorderErrors.utils.d.ts +29 -0
- package/dist/cjs/utils/sentry.utils.d.ts +6 -0
- package/dist/cjs/{types/utils → utils}/statusCodes.utils.d.ts +0 -0
- package/dist/cjs/workers/microphone.worker.d.ts +2 -0
- package/dist/cjs/workers/worker-builder.d.ts +3 -0
- package/dist/esm/{types/App.d.ts → App.d.ts} +1 -0
- 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 +7 -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 +8 -0
- package/dist/esm/{types/components → components}/Counter.d.ts +0 -0
- package/dist/{cjs/types → esm}/components/DeviceSelector.d.ts +3 -2
- package/dist/esm/{types/components → components}/DeviceSelectorList.d.ts +0 -0
- package/dist/esm/{types/components → components}/DeviceSelectorListNative.d.ts +0 -0
- package/dist/esm/{types/components → components}/Error.d.ts +0 -0
- package/dist/esm/{types/components → components}/ErrorBoundaries.d.ts +0 -0
- package/dist/esm/components/Errors.d.ts +12 -0
- package/dist/esm/{types/components → components}/Explanation.d.ts +2 -1
- package/dist/esm/{types/components → components}/Footer.d.ts +0 -0
- package/dist/esm/{types/components → components}/Header.d.ts +0 -0
- package/dist/esm/{types/components → components}/InnerView.d.ts +3 -0
- package/dist/esm/components/Main.d.ts +11 -0
- package/dist/esm/{types/components → components}/OuterView.d.ts +0 -0
- package/dist/esm/{types/components → components}/PermissionSteps.d.ts +0 -0
- package/dist/esm/components/PracticeModeInfo.d.ts +2 -0
- package/dist/esm/components/PreviewItem.d.ts +20 -0
- package/dist/esm/{types/components → components}/PreviewList.d.ts +1 -0
- package/dist/esm/{types/components → components}/Question.d.ts +2 -3
- package/dist/{cjs/types → esm}/components/QuestionItem.d.ts +2 -2
- package/dist/esm/components/QuestionParamaters.d.ts +9 -0
- package/dist/{cjs/types → esm}/components/QuestionsList.d.ts +2 -2
- package/dist/esm/{types/components → components}/RecorderModal.d.ts +3 -4
- package/dist/esm/{types/components → components}/Setup.d.ts +1 -0
- package/dist/esm/{types/components → components}/SetupChecks.d.ts +0 -0
- package/dist/esm/{types/components → components}/SliderModal.d.ts +0 -0
- package/dist/esm/components/TopTips.d.ts +2 -0
- package/dist/esm/{types/components → components}/Upload.d.ts +0 -0
- package/dist/esm/{types/components → components}/VideoCamera.d.ts +5 -2
- package/dist/esm/{types/components → components}/VideoQuestion.d.ts +1 -0
- package/dist/esm/{types/components → components}/VideoTimeBar.d.ts +0 -0
- package/dist/esm/{types/components → components}/WelcomePage.d.ts +6 -1
- package/dist/esm/components/Widget.d.ts +3 -0
- package/dist/esm/{types/components → components}/icons/ClockIcon.d.ts +0 -0
- package/dist/esm/{types/components → components}/icons/Loading.d.ts +0 -0
- package/dist/esm/{types/components → components}/icons/NoCameraMic.d.ts +0 -0
- package/dist/esm/{types/components → components}/icons/PlayIcon.d.ts +0 -0
- package/dist/esm/{types/components → components}/icons/Retake.d.ts +0 -0
- package/dist/esm/{types/components → components}/icons/RotateScreenIcon.d.ts +0 -0
- package/dist/esm/components/ui/DotSeparator.d.ts +2 -0
- package/dist/esm/{types/components → components}/ui/Loader.d.ts +0 -0
- package/dist/esm/{types/components → components}/ui/MicrophoneIndicator.d.ts +0 -0
- package/dist/esm/components/ui/MinimizeButton.d.ts +6 -0
- package/dist/esm/{types/components → components}/ui/PracticeMode.d.ts +0 -0
- package/dist/esm/{types/components → components}/ui/Progress.d.ts +0 -0
- package/dist/esm/{types/components → components}/ui/QuestionDuration.d.ts +0 -0
- package/dist/esm/{types/components → components}/ui/QuestionNumber.d.ts +0 -0
- package/dist/esm/{types/components → components}/ui/RecordingButton.d.ts +0 -0
- package/dist/esm/{types/components → components}/ui/RotateScreen.d.ts +0 -0
- package/dist/esm/{types/components → components}/ui/Signal.d.ts +0 -0
- package/dist/esm/{types/components → components}/ui/StartNowButton.d.ts +0 -0
- package/dist/{cjs/types → esm}/components/ui/StartRecordingButton.d.ts +1 -0
- package/dist/esm/{types/components → components}/ui/StopRecordingButton.d.ts +0 -0
- package/dist/esm/{types/components → components}/ui/UnsupportedModal.d.ts +0 -0
- package/dist/esm/{types/config → config}/index.d.ts +2 -1
- package/dist/esm/{types/config → config}/local.env.d.ts +0 -0
- package/dist/esm/{types/config → config}/prod.env.d.ts +0 -0
- package/dist/esm/{types/config → config}/staging.env.d.ts +0 -0
- package/dist/esm/i18n/config.d.ts +1490 -0
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.js +26216 -22269
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/{types/interfaces → interfaces}/candidateInterface.d.ts +5 -1
- package/dist/esm/{types/interfaces → interfaces}/candidateSessionInterface.d.ts +11 -6
- package/dist/esm/{types/interfaces → interfaces}/companyInterface.d.ts +1 -0
- package/dist/esm/interfaces/configInterface.d.ts +64 -0
- package/dist/esm/interfaces/countDownInterface.d.ts +23 -0
- package/dist/esm/interfaces/jobInterface.d.ts +72 -0
- package/dist/{cjs/types → esm}/interfaces/microphoneInterface.d.ts +5 -0
- package/dist/esm/{types/interfaces → interfaces}/networkInterface.d.ts +0 -0
- package/dist/esm/{types/interfaces → interfaces}/previewInterface.d.ts +0 -0
- package/dist/esm/interfaces/recorderInterface.d.ts +203 -0
- package/dist/esm/{types/interfaces → interfaces}/storageInterface.d.ts +0 -0
- package/dist/esm/{types/interfaces → interfaces}/uploaderInterface.d.ts +5 -3
- package/dist/{cjs/types → esm}/interfaces/videoInterface.d.ts +32 -2
- package/dist/esm/{types/interfaces → interfaces}/widgetInterface.d.ts +51 -12
- package/dist/esm/{types/machines → machines}/acceleratorMachines/accUploaderMachine.d.ts +0 -0
- package/dist/esm/{types/machines → machines}/acceleratorMachines/accWidgetMachine.d.ts +0 -0
- package/dist/esm/machines/acceleratorMachines/counterMachine.d.ts +5 -0
- package/dist/esm/{types/machines → machines}/acceleratorMachines/microphoneMachine.d.ts +0 -0
- package/dist/esm/{types/machines → machines}/acceleratorMachines/networkMachine.d.ts +0 -0
- package/dist/esm/{types/machines → machines}/acceleratorMachines/previewMachine.d.ts +0 -0
- package/dist/esm/{types/machines → machines}/acceleratorMachines/recorderMachineV2.d.ts +0 -0
- package/dist/esm/{types/machines → machines}/acceleratorMachines/storageMachine.d.ts +0 -0
- package/dist/esm/{types/reportWebVitals.d.ts → reportWebVitals.d.ts} +0 -0
- package/dist/{cjs/types → esm}/services/axiosInstances.service.d.ts +1 -0
- package/dist/esm/{types/services → services}/s3.service.d.ts +0 -0
- package/dist/{cjs/types → esm}/services/session.service.d.ts +13 -2
- package/dist/esm/{types/services → services}/speedTest.service.d.ts +0 -0
- package/dist/esm/services/video.service.d.ts +7 -0
- package/dist/esm/{types/setupTests.d.ts → setupTests.d.ts} +0 -0
- package/dist/esm/{types/utils → utils}/authToken.utils.d.ts +0 -0
- package/dist/esm/utils/constants.utils.d.ts +21 -0
- package/dist/esm/utils/convertor.utils.d.ts +2 -0
- package/dist/esm/{types/utils → utils}/debug.utils.d.ts +0 -0
- package/dist/esm/{types/utils → utils}/device.utils.d.ts +1 -1
- package/dist/esm/{types/utils → utils}/errors.utils.d.ts +0 -0
- package/dist/esm/{types/utils → utils}/formatters.utils.d.ts +1 -1
- package/dist/esm/utils/languages.utils.d.ts +1 -0
- package/dist/esm/{types/utils → utils}/messages.utils.d.ts +0 -0
- package/dist/esm/utils/recorderErrors.utils.d.ts +29 -0
- package/dist/esm/utils/sentry.utils.d.ts +6 -0
- package/dist/esm/{types/utils → utils}/statusCodes.utils.d.ts +0 -0
- package/dist/esm/workers/microphone.worker.d.ts +2 -0
- package/dist/esm/workers/worker-builder.d.ts +3 -0
- package/dist/index.d.ts +123 -18
- package/package.json +122 -16
- package/dist/cjs/types/components/CountDown.d.ts +0 -6
- package/dist/cjs/types/components/Errors.d.ts +0 -9
- package/dist/cjs/types/components/Main.d.ts +0 -8
- package/dist/cjs/types/components/PracticeModeInfo.d.ts +0 -8
- package/dist/cjs/types/components/PreviewItem.d.ts +0 -10
- package/dist/cjs/types/components/Widget.d.ts +0 -9
- package/dist/cjs/types/i18n/config.d.ts +0 -430
- package/dist/cjs/types/index.d.ts +0 -2
- package/dist/cjs/types/interfaces/configInterface.d.ts +0 -33
- package/dist/cjs/types/interfaces/jobInterface.d.ts +0 -22
- package/dist/cjs/types/interfaces/recorderInterface.d.ts +0 -110
- package/dist/cjs/types/services/video.service.d.ts +0 -7
- package/dist/cjs/types/utils/constants.utils.d.ts +0 -9
- package/dist/cjs/types/utils/permissionSteps.utils.d.ts +0 -19
- package/dist/cjs/types/utils/practiceQuestions.utils.d.ts +0 -2
- package/dist/cjs/types/utils/sentry.utils.d.ts +0 -4
- package/dist/esm/types/components/CountDown.d.ts +0 -6
- package/dist/esm/types/components/Errors.d.ts +0 -9
- package/dist/esm/types/components/Main.d.ts +0 -8
- package/dist/esm/types/components/PracticeModeInfo.d.ts +0 -8
- package/dist/esm/types/components/PreviewItem.d.ts +0 -10
- package/dist/esm/types/components/Widget.d.ts +0 -9
- package/dist/esm/types/index.d.ts +0 -2
- package/dist/esm/types/interfaces/configInterface.d.ts +0 -33
- package/dist/esm/types/interfaces/jobInterface.d.ts +0 -22
- package/dist/esm/types/interfaces/recorderInterface.d.ts +0 -110
- package/dist/esm/types/services/video.service.d.ts +0 -7
- package/dist/esm/types/utils/constants.utils.d.ts +0 -9
- package/dist/esm/types/utils/permissionSteps.utils.d.ts +0 -19
- package/dist/esm/types/utils/practiceQuestions.utils.d.ts +0 -2
- package/dist/esm/types/utils/sentry.utils.d.ts +0 -4
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
import { RefObject } from 'react';
|
|
2
2
|
import { ActorRef, BaseActionObject, DoneInvokeEvent, Event, EventData, ResolveTypegenMeta, SCXML, ServiceMap, SingleOrArray, State, TypegenDisabled } from 'xstate';
|
|
3
|
-
import {
|
|
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
|
-
|
|
8
|
+
import { IVideoDimensions } from './videoInterface';
|
|
9
|
+
type IUploaderRef = {
|
|
9
10
|
[uploaderRef: string]: ActorRef<DoneInvokeEvent<any>>;
|
|
10
11
|
};
|
|
11
|
-
export declare
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
export declare const VIDEO_ERROR_MESSAGES: {
|
|
13
|
+
RETRY: "RETRY";
|
|
14
|
+
REDIRECT: "REDIRECT";
|
|
15
|
+
NO_ERROR: "";
|
|
16
|
+
};
|
|
17
|
+
export type ICameraStateKey = keyof typeof CAMERA_STATES_MESSAGES;
|
|
18
|
+
export type IMicrophoneStateKey = keyof typeof MICROPHONE_STATES_MESSAGES;
|
|
19
|
+
export type IInternetStateKey = keyof typeof INTERNET_STATES_MESSAGES;
|
|
20
|
+
export type IVideoCorruptedMessagesKey = keyof typeof VIDEO_ERROR_MESSAGES;
|
|
14
21
|
export declare const CAMERA_STATES: {
|
|
15
22
|
[K in ICameraStateKey]: K;
|
|
16
23
|
};
|
|
@@ -20,6 +27,9 @@ export declare const MICROPHONE_STATES: {
|
|
|
20
27
|
export declare const INTERNET_STATES: {
|
|
21
28
|
[K in IInternetStateKey]: K;
|
|
22
29
|
};
|
|
30
|
+
export declare const VIDEO_CORRUPTED_STATES: {
|
|
31
|
+
[K in IVideoCorruptedMessagesKey]: K;
|
|
32
|
+
};
|
|
23
33
|
export interface IChecksMetaObj {
|
|
24
34
|
key: 'camera' | 'microphone' | 'internet';
|
|
25
35
|
state: ICameraStateKey | IMicrophoneStateKey | IInternetStateKey;
|
|
@@ -37,8 +47,8 @@ interface IChecksMessage {
|
|
|
37
47
|
}
|
|
38
48
|
export interface InitialState {
|
|
39
49
|
speedTestResult: number;
|
|
40
|
-
|
|
41
|
-
questions:
|
|
50
|
+
widgetConfig: IWidgetConfig;
|
|
51
|
+
questions: ALL_JOB_QUESTIONS_TYPE[];
|
|
42
52
|
isConnected: boolean;
|
|
43
53
|
videoRef: RefObject<HTMLVideoElement>;
|
|
44
54
|
networkRef: ActorRef<DoneInvokeEvent<any>> | null;
|
|
@@ -46,6 +56,8 @@ export interface InitialState {
|
|
|
46
56
|
storageRef: ActorRef<DoneInvokeEvent<any>> | null;
|
|
47
57
|
previewRef: ActorRef<DoneInvokeEvent<any>> | null;
|
|
48
58
|
uploaderRefs: IUploaderRef;
|
|
59
|
+
countDownRef: ActorRef<DoneInvokeEvent<any>> | null;
|
|
60
|
+
timer: number;
|
|
49
61
|
currentQuestion: number;
|
|
50
62
|
currentTake: number;
|
|
51
63
|
selectedTake: number | null;
|
|
@@ -60,6 +72,10 @@ export interface InitialState {
|
|
|
60
72
|
[questionNumber: string]: number;
|
|
61
73
|
};
|
|
62
74
|
error: IVideoError | null;
|
|
75
|
+
failedRecordingAttempts: number;
|
|
76
|
+
failedRecordingMessage: IVideoCorruptedMessagesKey;
|
|
77
|
+
isResumed: boolean;
|
|
78
|
+
videoDimensions: IVideoDimensions;
|
|
63
79
|
}
|
|
64
80
|
export interface IWidgetMachineProps {
|
|
65
81
|
widgetMachine: State<InitialState, DoneInvokeEvent<any>, any, {
|
|
@@ -70,6 +86,7 @@ export interface IWidgetMachineProps {
|
|
|
70
86
|
}
|
|
71
87
|
export declare const enum STATES {
|
|
72
88
|
INIT = "init",
|
|
89
|
+
WELCOME = "welcome",
|
|
73
90
|
SETUP = "setup",
|
|
74
91
|
SETUP__INIT_STORAGE = "initStorage",
|
|
75
92
|
SETUP__INIT_RECORDER = "initRecorder",
|
|
@@ -91,8 +108,11 @@ export declare const enum STATES {
|
|
|
91
108
|
INTERVIEW__EXPLANATION = "interviewExplanation",
|
|
92
109
|
INTERVIEW__QUESTION = "interviewQuestion",
|
|
93
110
|
INTERVIEW__VIDEO_QUESTION = "interviewVideoQuestion",
|
|
111
|
+
INTERVIEW__ANSWER_SELECTOR = "interviewAnswerSelector",
|
|
112
|
+
INTERVIEW__ASSESSMENT = "interviewAssessment",
|
|
94
113
|
INTERVIEW__RECORDING = "interviewRecording",
|
|
95
114
|
PREVIEW = "preview",
|
|
115
|
+
NEXT_QUESTION_MIDDLEWARE = "nextQuestionMiddleware",
|
|
96
116
|
RE_INIT_RECORDER = "reInitRecorder",
|
|
97
117
|
RE_INIT_RECORDER__NEXT_RETAKE = "reInitRecorderNextRetake",
|
|
98
118
|
RE_INIT_RECORDER__NEXT_QUESTION = "reInitRecorderNextQuestion",
|
|
@@ -103,6 +123,7 @@ export declare const enum STATES {
|
|
|
103
123
|
}
|
|
104
124
|
export declare const enum ACTIONS {
|
|
105
125
|
CONSOLE_LOG = "consoleLog",
|
|
126
|
+
CONSOLE_DEBUG = "consoleDebug",
|
|
106
127
|
SET_CONNECTION = "setConnection",
|
|
107
128
|
SET_CONFIG = "getConfig",
|
|
108
129
|
SET_NEXT_QUESTION = "setNextQuestion",
|
|
@@ -115,8 +136,10 @@ export declare const enum ACTIONS {
|
|
|
115
136
|
SPAWN_UPLOADER = "spawnUploader",
|
|
116
137
|
SPAWN_STORAGE = "spawnStorage",
|
|
117
138
|
SPAWN_PREVIEW = "spawnPreview",
|
|
139
|
+
SPAWN_COUNT_DOWN = "spawnCountDown",
|
|
118
140
|
STOP_RECORDER = "stopRecorder",
|
|
119
141
|
STOP_PREVIEW = "stopPreview",
|
|
142
|
+
STOP_COUNT_DOWN = "stopCountDown",
|
|
120
143
|
STORE_TAKE = "storeTake",
|
|
121
144
|
GET_TAKE = "getTake",
|
|
122
145
|
GET_TAKES = "getTakes",
|
|
@@ -126,8 +149,11 @@ export declare const enum ACTIONS {
|
|
|
126
149
|
UPDATE_TOTAL_UPLOADED_FILES_SIZE = "updateTotalUploadedFileSize",
|
|
127
150
|
UPDATE_QUESTION_NUMBER = "updateQuestionNumber",
|
|
128
151
|
UPDATE_RETAKES_NUMBER = "updateRetakesNumber",
|
|
152
|
+
UPDATE_TIMER = "updateTimer",
|
|
129
153
|
UPDATE_AXION_AUTH = "updateAxiosAuth",
|
|
130
154
|
RECORDER_RE_INIT = "recorderReInit",
|
|
155
|
+
DEACTIVATE_RECORDER = "deactivateRecorder",
|
|
156
|
+
RECORDER_RE_INIT_AUTO_START = "recorderReInitAutoStart",
|
|
131
157
|
UPDATE_RECORDER_PARAMS = "updateRecorderParams",
|
|
132
158
|
UPDATE_TOTAL_UPLOADED = "updateTotalUploaded",
|
|
133
159
|
SET_VIDEO_ERROR = "setVideoError",
|
|
@@ -137,7 +163,11 @@ export declare const enum ACTIONS {
|
|
|
137
163
|
SESSION_EVENT = "sessionEvent",
|
|
138
164
|
REVOKE_MEMORY = "revokeMemory",
|
|
139
165
|
UPDATE_VIDEO_OBJECT = "updateVideoObject",
|
|
140
|
-
UPDATE_VIDEO_PART = "updateVideoPart"
|
|
166
|
+
UPDATE_VIDEO_PART = "updateVideoPart",
|
|
167
|
+
INCREASE_FAILED_RECORDING_ATTEMPTS = "increaseFailedRecordingAttempts",
|
|
168
|
+
RESET_FAILED_RECORDING_ATTEMPTS = "resetFailedRecordingAttempts",
|
|
169
|
+
CLEAR_VIDEO_ERROR = "clearVideoError",
|
|
170
|
+
UPDATE_VIDEO_DIMENSIONS = "updateVideoDimensions"
|
|
141
171
|
}
|
|
142
172
|
export declare const enum EVENTS {
|
|
143
173
|
SPAWN_UPLOADER = "SPAWN_UPLOADER",
|
|
@@ -158,7 +188,9 @@ export declare const enum EVENTS {
|
|
|
158
188
|
UPLOADER_PROGRESS = "UPLOADER_PROGRESS",
|
|
159
189
|
UPLOADER_FINISHED = "UPLOADER_FINISHED",
|
|
160
190
|
RECORDER_ERROR = "RECORDER_ERROR",
|
|
161
|
-
RETRY = "RETRY"
|
|
191
|
+
RETRY = "RETRY",
|
|
192
|
+
UPDATE_TIMER = "UPDATE_TIMER",
|
|
193
|
+
UPDATE_VIDEO_DIMENSIONS = "UPDATE_VIDEO_DIMENSIONS"
|
|
162
194
|
}
|
|
163
195
|
export declare const enum SERVICES {
|
|
164
196
|
UPDATE_VIDEO_OBJECT_CALL = "updateVideoObjectCall",
|
|
@@ -173,12 +205,19 @@ export declare const enum GUARDS {
|
|
|
173
205
|
IS_PRACTICE_MODE = "isPracticeMod",
|
|
174
206
|
IS_NOT_LAST_TAKE = "isNotLastTake",
|
|
175
207
|
IS_LAST_INTERVIEW_QUESTION = "isLastInterviewQuestion",
|
|
176
|
-
IS_UPLOAD_FINISHED = "isUploadFinished",
|
|
177
208
|
CAN_RETEST_SPEED_CONNECTION = "canRetestSpeedConnection",
|
|
178
209
|
IS_CONNECTED = "isConnected",
|
|
179
210
|
IS_DISCONNECTED = "isDisconnected",
|
|
180
211
|
CAN_START_INTERVIEW = "canStartInterview",
|
|
181
|
-
ARE_ALL_QUESTIONS_UPLOADED = "areAllQuestionsUploaded"
|
|
212
|
+
ARE_ALL_QUESTIONS_UPLOADED = "areAllQuestionsUploaded",
|
|
213
|
+
SHOULD_SHOW_WELCOME = "shouldShowWelcome",
|
|
214
|
+
IS_NO_SOUND_ERROR = "isNoSoundError",
|
|
215
|
+
IS_VIDEO_CORRUPTED = "isVideoCorrupted",
|
|
216
|
+
IS_AUDIO_ERROR = "isAudioError",
|
|
217
|
+
IS_VIDEO_ERROR = "isVideoError",
|
|
218
|
+
THERE_ARE_NO_VIDEO_QUESTIONS_TYPE = "thereAreNoVideoQuestionType",
|
|
219
|
+
IS_RECORDER_READY = "isRecorderReady",
|
|
220
|
+
IS_ASSESSMENT_QUESTION = "isAssessmentQuestion"
|
|
182
221
|
}
|
|
183
222
|
export declare const enum TAGS {
|
|
184
223
|
SETUP = "setup",
|
|
File without changes
|
|
File without changes
|
|
@@ -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>>;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export declare const videoAxiosInstance: import("axios").AxiosInstance;
|
|
2
2
|
export declare const s3AxiosInstance: import("axios").AxiosInstance;
|
|
3
3
|
export declare const updateVideoAxiosAuth: (auth: string) => void;
|
|
4
|
+
export declare const updateVideoAxiosBaseURL: (url: string) => void;
|
|
File without changes
|
|
@@ -27,14 +27,14 @@ 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
|
-
|
|
30
|
+
type KeysMatching<T, V> = {
|
|
31
31
|
[K in keyof T]-?: T[K] extends (V | undefined) ? K : never;
|
|
32
32
|
}[keyof T];
|
|
33
33
|
/**
|
|
34
34
|
* A cute shortcut for updating a date event in the session
|
|
35
35
|
* just give it the key of the date event, and it will update it
|
|
36
36
|
* @param eventType
|
|
37
|
-
|
|
37
|
+
*/
|
|
38
38
|
export declare function registerDateEvent(eventType: KeysMatching<ICandidateSession, Date>): Promise<ICandidateSession | undefined>;
|
|
39
39
|
/**
|
|
40
40
|
* Another cute shortcut for updating a number state of a session
|
|
@@ -43,4 +43,15 @@ export declare function registerDateEvent(eventType: KeysMatching<ICandidateSess
|
|
|
43
43
|
* @param data
|
|
44
44
|
*/
|
|
45
45
|
export declare function registerCountEvent(eventType: KeysMatching<ICandidateSession, number>, data?: number): Promise<ICandidateSession | undefined>;
|
|
46
|
+
/**
|
|
47
|
+
* Another cute shortcut for updating a number state of a session
|
|
48
|
+
* if no data is provided, it will just increment the number
|
|
49
|
+
* @param warning
|
|
50
|
+
*/
|
|
51
|
+
export declare function registerWarning(warning: string): Promise<ICandidateSession | undefined>;
|
|
52
|
+
export declare const triggerEvent: {
|
|
53
|
+
warning: typeof registerWarning;
|
|
54
|
+
date: typeof registerDateEvent;
|
|
55
|
+
number: typeof registerCountEvent;
|
|
56
|
+
};
|
|
46
57
|
export {};
|
|
File without changes
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { IWidgetConfigRequest, IWidgetConfigResponse } from '../interfaces/configInterface';
|
|
2
|
+
import { IVideo, ALL_VIDEO_FILE_TYPES, IVideoDimensions } from '../interfaces/videoInterface';
|
|
3
|
+
export declare const createVideo: (widgetConfig: IWidgetConfigRequest) => Promise<IWidgetConfigResponse>;
|
|
4
|
+
export declare const getVideo: (videoId: string) => Promise<IWidgetConfigResponse>;
|
|
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
|
+
export declare const getUploadUrl: (videoId: string, fileName: string, typeExtension: string, { width, height }: IVideoDimensions) => Promise<IWidgetConfigResponse>;
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export declare const DEFAULT_COUNT_DOWN = 3;
|
|
2
|
+
export declare const DEFAULT_DURATION = 60;
|
|
3
|
+
export declare const DEFAULT_ATTEMPTS = 3;
|
|
4
|
+
export declare const DEFAULT_THINKING_TIME = 0;
|
|
5
|
+
export declare const ENOUGH_RECORDING_TIME = 3;
|
|
6
|
+
export declare const SPEED_TEST_FILE_SIZE = 5;
|
|
7
|
+
export declare const FAST_UPLOAD_SPEED = 0.35;
|
|
8
|
+
export declare const SLOW_UPLOAD_SPEED = 0.1;
|
|
9
|
+
export declare const SPEED_TEST_TIMEOUT = 5000;
|
|
10
|
+
export declare const VIDEO_INACTIVE_TIMEOUT = 2000;
|
|
11
|
+
export declare const MICROPHONE_NO_SOUND_ERROR_CODE = 777;
|
|
12
|
+
export declare const MAX_FAILED_RECORDING_ATTEMPTS = 2;
|
|
13
|
+
export declare const MICROPHONE_RETAKE_COUNT = 100;
|
|
14
|
+
export declare const SECONDS_LEFT_HIGHLIGHT = 10;
|
|
15
|
+
export declare const DEFAULT_ASSESSMENT_MAX_CHARS = 300;
|
|
16
|
+
export declare const DEFAULT_ASSESSMENT_DURATION = 0;
|
|
17
|
+
export declare const DEFAULT_VIDEO_DIMENSIONS: {
|
|
18
|
+
width: number;
|
|
19
|
+
height: number;
|
|
20
|
+
};
|
|
21
|
+
export declare const FONT_URL = "https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;600;700&display=swap";
|
|
File without changes
|
|
@@ -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
|
-
|
|
7
|
+
type DEVICE_TYPE = {
|
|
8
8
|
PLATFORM: typeof PLATFORMS_OPTIONS[number];
|
|
9
9
|
BROWSER: typeof BROWSERS_OPTIONS[number];
|
|
10
10
|
};
|
|
File without changes
|
|
@@ -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 @@
|
|
|
1
|
+
export declare const isRtl: (language?: string) => boolean;
|
|
File without changes
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export declare const TYPES_EXPLANATION: {
|
|
2
|
+
VIDEO: string;
|
|
3
|
+
AUDIO: string;
|
|
4
|
+
VIDEO_AUDIO: string;
|
|
5
|
+
};
|
|
6
|
+
export declare const enum MEDIA_RECORDER_STATES {
|
|
7
|
+
INACTIVE = "inactive",
|
|
8
|
+
RECORDING = "recording",
|
|
9
|
+
PAUSED = "paused"
|
|
10
|
+
}
|
|
11
|
+
export declare const ERROR_ENUM: {
|
|
12
|
+
NotAllowedError: string;
|
|
13
|
+
NotFoundError: string;
|
|
14
|
+
NotReadableError: string;
|
|
15
|
+
AbortError: string;
|
|
16
|
+
OverconstrainedError: string;
|
|
17
|
+
SecurityError: string;
|
|
18
|
+
TypeError: string;
|
|
19
|
+
NoSoundError: string;
|
|
20
|
+
UndefinedError: string;
|
|
21
|
+
VideoCorrupted: string;
|
|
22
|
+
};
|
|
23
|
+
export declare const recorderErrors: {
|
|
24
|
+
[x: string]: {
|
|
25
|
+
type: string;
|
|
26
|
+
message: string;
|
|
27
|
+
name: string;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as Sentry from '@sentry/browser';
|
|
2
|
+
import { DoneInvokeEvent } from 'xstate';
|
|
3
|
+
import { Breadcrumb } from '@sentry/types';
|
|
4
|
+
export declare const SentryHub: Sentry.Hub;
|
|
5
|
+
export declare const SentryTrackingFn: (event: DoneInvokeEvent<any>, context: any, name: string, level: 'fatal' | 'error' | 'warning' | 'log' | 'info' | 'debug') => void;
|
|
6
|
+
export declare const SentryBreadcrumb: ({ type, level, event_id, category, message, data }: Breadcrumb) => void;
|
|
File without changes
|
package/dist/index.d.ts
CHANGED
|
@@ -1,20 +1,31 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React$1, { CSSProperties } from 'react';
|
|
2
2
|
|
|
3
3
|
interface ICandidate {
|
|
4
4
|
candidate_id?: string;
|
|
5
5
|
email: string;
|
|
6
|
-
username
|
|
6
|
+
username?: string;
|
|
7
7
|
phone?: string;
|
|
8
8
|
video_id?: string;
|
|
9
9
|
redirectUrl?: string;
|
|
10
|
+
additionalData?: object;
|
|
11
|
+
disableResume?: boolean;
|
|
12
|
+
reapply?: boolean;
|
|
13
|
+
enableNotifications?: boolean;
|
|
10
14
|
apiKey?: string;
|
|
11
15
|
company_id?: string;
|
|
12
16
|
}
|
|
13
17
|
|
|
14
18
|
interface ICompany {
|
|
19
|
+
name: string;
|
|
15
20
|
shouldShowWaterMark: boolean;
|
|
16
21
|
}
|
|
17
22
|
|
|
23
|
+
declare const enum ANSWER_TYPES {
|
|
24
|
+
VIDEO = "video",
|
|
25
|
+
TEXT = "text",
|
|
26
|
+
MULTIPLE = "multiple_choice",
|
|
27
|
+
SINGLE = "single_choice"
|
|
28
|
+
}
|
|
18
29
|
interface IQuestion {
|
|
19
30
|
question: string;
|
|
20
31
|
numOfRetakes: number;
|
|
@@ -24,20 +35,66 @@ interface IQuestion {
|
|
|
24
35
|
videoQuestion?: string;
|
|
25
36
|
description?: string;
|
|
26
37
|
}
|
|
38
|
+
interface IQuestionDefault extends IQuestion {
|
|
39
|
+
answerType?: `${ANSWER_TYPES.VIDEO}`;
|
|
40
|
+
}
|
|
41
|
+
interface IQuestionTextAnswer extends IQuestion {
|
|
42
|
+
answerType: `${ANSWER_TYPES.TEXT}`;
|
|
43
|
+
config?: {
|
|
44
|
+
minChars?: number;
|
|
45
|
+
maxChars?: number;
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
interface IMultipleChoiceOptionDefinition {
|
|
49
|
+
id: string;
|
|
50
|
+
label: string;
|
|
51
|
+
}
|
|
52
|
+
interface IQuestionChoiceAnswer extends IQuestion {
|
|
53
|
+
config?: {
|
|
54
|
+
shuffle?: boolean;
|
|
55
|
+
answers: IMultipleChoiceOptionDefinition[];
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
interface IQuestionMultipleAnswer extends IQuestionChoiceAnswer {
|
|
59
|
+
answerType: `${ANSWER_TYPES.MULTIPLE}`;
|
|
60
|
+
config?: {
|
|
61
|
+
minAnswers?: number;
|
|
62
|
+
maxAnswers?: number;
|
|
63
|
+
} & IQuestionChoiceAnswer['config'];
|
|
64
|
+
}
|
|
65
|
+
interface IQuestionSingleAnswer extends IQuestionChoiceAnswer {
|
|
66
|
+
answerType: `${ANSWER_TYPES.SINGLE}`;
|
|
67
|
+
}
|
|
68
|
+
type leanQuestion<T> = Omit<T, 'numOfRetakes' | 'partDuration' | 'thinkingTime'> & {
|
|
69
|
+
attempts?: number;
|
|
70
|
+
duration?: number;
|
|
71
|
+
thinkingTime?: number;
|
|
72
|
+
};
|
|
73
|
+
type ALL_JOB_QUESTIONS_TYPE = IQuestionDefault | IQuestionTextAnswer | IQuestionMultipleAnswer | IQuestionSingleAnswer;
|
|
74
|
+
type IClientQuestion = leanQuestion<IQuestionDefault> | leanQuestion<IQuestionTextAnswer> | leanQuestion<IQuestionMultipleAnswer> | leanQuestion<IQuestionSingleAnswer>;
|
|
27
75
|
interface IJob {
|
|
28
76
|
language?: string;
|
|
29
|
-
overlay?: string;
|
|
30
77
|
transcriptLanguage?: string;
|
|
31
78
|
title?: string;
|
|
32
79
|
company?: string;
|
|
33
80
|
job_id?: string;
|
|
34
81
|
logo?: string;
|
|
35
|
-
questions?:
|
|
82
|
+
questions?: ALL_JOB_QUESTIONS_TYPE[];
|
|
36
83
|
old_jobID?: string;
|
|
84
|
+
termsUrl?: string;
|
|
85
|
+
privacyUrl?: string;
|
|
37
86
|
apiKey?: string;
|
|
38
87
|
company_id?: string;
|
|
88
|
+
jobID?: string;
|
|
39
89
|
}
|
|
90
|
+
type IClientJob = Omit<IJob, 'questions'> & {
|
|
91
|
+
questions?: IClientQuestion[];
|
|
92
|
+
};
|
|
40
93
|
|
|
94
|
+
interface IVideoDimensions {
|
|
95
|
+
width: number;
|
|
96
|
+
height: number;
|
|
97
|
+
}
|
|
41
98
|
interface IVideoPlatformOS {
|
|
42
99
|
architecture: number;
|
|
43
100
|
family: string;
|
|
@@ -63,9 +120,32 @@ interface IVideoFile {
|
|
|
63
120
|
videoLength?: number;
|
|
64
121
|
uploadUrl?: string;
|
|
65
122
|
question?: string;
|
|
123
|
+
selectedTake?: number;
|
|
124
|
+
originalDimensions?: IVideoDimensions;
|
|
66
125
|
}
|
|
126
|
+
interface IVideoFileDefault extends IVideoFile {
|
|
127
|
+
answerType?: ANSWER_TYPES.VIDEO;
|
|
128
|
+
}
|
|
129
|
+
interface IMultipleAnswer {
|
|
130
|
+
id: string;
|
|
131
|
+
label: string;
|
|
132
|
+
selected: boolean;
|
|
133
|
+
}
|
|
134
|
+
interface IVideoFileTextAnswer extends IVideoFile {
|
|
135
|
+
answerType: ANSWER_TYPES.TEXT;
|
|
136
|
+
answer: string;
|
|
137
|
+
}
|
|
138
|
+
interface IVideoFileMultipleAnswer extends IVideoFile {
|
|
139
|
+
answerType: ANSWER_TYPES.MULTIPLE;
|
|
140
|
+
answer: IMultipleAnswer[];
|
|
141
|
+
}
|
|
142
|
+
interface IVideoFileSingleAnswer extends IVideoFile {
|
|
143
|
+
answerType: ANSWER_TYPES.SINGLE;
|
|
144
|
+
answer: IMultipleAnswer[];
|
|
145
|
+
}
|
|
146
|
+
type ALL_VIDEO_FILE_TYPES = IVideoFileDefault | IVideoFileTextAnswer | IVideoFileMultipleAnswer | IVideoFileSingleAnswer;
|
|
67
147
|
interface IVideo {
|
|
68
|
-
video_id
|
|
148
|
+
video_id?: string;
|
|
69
149
|
bandwidth?: string;
|
|
70
150
|
clicked?: boolean;
|
|
71
151
|
started?: boolean;
|
|
@@ -76,7 +156,7 @@ interface IVideo {
|
|
|
76
156
|
quality?: string;
|
|
77
157
|
referrer?: string;
|
|
78
158
|
cvUrl?: string;
|
|
79
|
-
videos
|
|
159
|
+
videos?: ALL_VIDEO_FILE_TYPES[];
|
|
80
160
|
processTime?: number;
|
|
81
161
|
files?: string[];
|
|
82
162
|
personalInfo?: Record<string, string>;
|
|
@@ -88,30 +168,55 @@ interface IVideo {
|
|
|
88
168
|
};
|
|
89
169
|
}
|
|
90
170
|
|
|
91
|
-
|
|
92
|
-
interface
|
|
171
|
+
type IMessageType = 'completed' | 'deadline' | 'applied' | 'inactiveJob';
|
|
172
|
+
interface IOnFinish {
|
|
93
173
|
redirectUrl?: string;
|
|
94
174
|
video_id: string;
|
|
95
175
|
}
|
|
96
176
|
interface IOnError {
|
|
97
177
|
messageType: IMessageType;
|
|
98
178
|
}
|
|
179
|
+
type IEnv = 'dev' | 'staging' | 'production' | 'development' | 'local';
|
|
99
180
|
interface IConfig {
|
|
181
|
+
auth: string;
|
|
182
|
+
onWidgetClicked?: () => void;
|
|
183
|
+
onFinish?: (data: IOnFinish) => void;
|
|
184
|
+
onError?: (data: IOnError) => void;
|
|
185
|
+
onWidgetClose?: () => void;
|
|
186
|
+
openAnimation?: boolean;
|
|
187
|
+
debug?: boolean;
|
|
188
|
+
practiceQuestions?: ALL_JOB_QUESTIONS_TYPE[];
|
|
189
|
+
overlay?: string;
|
|
190
|
+
introVideo?: string;
|
|
191
|
+
welcomeTitle?: string;
|
|
192
|
+
welcomeText?: string;
|
|
193
|
+
env?: IEnv;
|
|
194
|
+
minimizable?: boolean;
|
|
195
|
+
hideHeader?: boolean;
|
|
196
|
+
hideIntercom?: boolean;
|
|
197
|
+
disablePractice?: boolean;
|
|
198
|
+
}
|
|
199
|
+
type IClientConfig = Omit<IConfig, 'practiceQuestions'> & {
|
|
200
|
+
practiceQuestions?: IClientQuestion[];
|
|
201
|
+
};
|
|
202
|
+
interface IWidgetConfig {
|
|
100
203
|
video?: IVideo;
|
|
101
204
|
candidate: ICandidate;
|
|
102
205
|
job?: IJob;
|
|
103
206
|
company?: ICompany;
|
|
104
|
-
config:
|
|
105
|
-
auth: string;
|
|
106
|
-
onCompleteCallback?: (data: IOnCompleteCallback) => void;
|
|
107
|
-
onError?: (data: IOnError) => void;
|
|
108
|
-
};
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
interface IProps extends IConfig {
|
|
207
|
+
config: IConfig;
|
|
112
208
|
disabled?: boolean;
|
|
113
209
|
buttonText?: string;
|
|
210
|
+
buttonStyle?: CSSProperties;
|
|
211
|
+
children?: React.ReactNode;
|
|
212
|
+
styleUrls?: string | string[];
|
|
213
|
+
fontsUrls?: string | string[];
|
|
114
214
|
}
|
|
115
|
-
|
|
215
|
+
type IClientWidgetConfig = Omit<IWidgetConfig, 'job' | 'config'> & {
|
|
216
|
+
job: IClientJob;
|
|
217
|
+
config: IClientConfig;
|
|
218
|
+
};
|
|
219
|
+
|
|
220
|
+
declare const Widget: React$1.FC<IClientWidgetConfig>;
|
|
116
221
|
|
|
117
|
-
export { Widget };
|
|
222
|
+
export { IClientWidgetConfig, IWidgetConfig, Widget };
|