@myinterview/widget-react 1.0.88 → 1.0.311

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.
Files changed (205) hide show
  1. package/README.md +4 -4
  2. package/dist/{cjs/types → esm}/App.d.ts +0 -0
  3. package/dist/{cjs/types → esm}/components/CountDown.d.ts +0 -0
  4. package/dist/{cjs/types → esm}/components/Counter.d.ts +0 -0
  5. package/dist/{cjs/types → esm}/components/DeviceSelector.d.ts +0 -0
  6. package/dist/{cjs/types → esm}/components/DeviceSelectorList.d.ts +0 -0
  7. package/dist/{cjs/types → esm}/components/DeviceSelectorListNative.d.ts +0 -0
  8. package/dist/{cjs/types → esm}/components/Error.d.ts +0 -0
  9. package/dist/{cjs/types → esm}/components/ErrorBoundaries.d.ts +0 -0
  10. package/dist/esm/{types/components → components}/Errors.d.ts +4 -1
  11. package/dist/{cjs/types → esm}/components/Explanation.d.ts +0 -0
  12. package/dist/{cjs/types → esm}/components/Footer.d.ts +0 -0
  13. package/dist/{cjs/types → esm}/components/Header.d.ts +0 -0
  14. package/dist/{cjs/types → esm}/components/InnerView.d.ts +2 -0
  15. package/dist/esm/{types/components → components}/Main.d.ts +3 -2
  16. package/dist/{cjs/types → esm}/components/OuterView.d.ts +0 -0
  17. package/dist/{cjs/types → esm}/components/PermissionSteps.d.ts +0 -0
  18. package/dist/{cjs/types → esm}/components/PracticeModeInfo.d.ts +0 -0
  19. package/dist/esm/components/PreviewItem.d.ts +16 -0
  20. package/dist/{cjs/types → esm}/components/PreviewList.d.ts +0 -0
  21. package/dist/{cjs/types → esm}/components/Question.d.ts +0 -0
  22. package/dist/{cjs/types → esm}/components/QuestionItem.d.ts +0 -0
  23. package/dist/{cjs/types → esm}/components/QuestionsList.d.ts +0 -0
  24. package/dist/esm/{types/components → components}/RecorderModal.d.ts +1 -0
  25. package/dist/{cjs/types → esm}/components/Setup.d.ts +0 -0
  26. package/dist/{cjs/types → esm}/components/SetupChecks.d.ts +0 -0
  27. package/dist/{cjs/types → esm}/components/SliderModal.d.ts +0 -0
  28. package/dist/esm/components/TopTips.d.ts +2 -0
  29. package/dist/{cjs/types → esm}/components/Upload.d.ts +0 -0
  30. package/dist/{cjs/types → esm}/components/VideoCamera.d.ts +1 -0
  31. package/dist/{cjs/types → esm}/components/VideoQuestion.d.ts +1 -0
  32. package/dist/{cjs/types → esm}/components/VideoTimeBar.d.ts +0 -0
  33. package/dist/{cjs/types → esm}/components/WelcomePage.d.ts +6 -1
  34. package/dist/esm/components/Widget.d.ts +6 -0
  35. package/dist/{cjs/types → esm}/components/icons/ClockIcon.d.ts +0 -0
  36. package/dist/{cjs/types → esm}/components/icons/Loading.d.ts +0 -0
  37. package/dist/{cjs/types → esm}/components/icons/NoCameraMic.d.ts +0 -0
  38. package/dist/{cjs/types → esm}/components/icons/PlayIcon.d.ts +0 -0
  39. package/dist/{cjs/types → esm}/components/icons/Retake.d.ts +0 -0
  40. package/dist/{cjs/types → esm}/components/icons/RotateScreenIcon.d.ts +0 -0
  41. package/dist/{cjs/types → esm}/components/ui/Loader.d.ts +0 -0
  42. package/dist/{cjs/types → esm}/components/ui/MicrophoneIndicator.d.ts +0 -0
  43. package/dist/esm/{types/components/ui/StartNowButton.d.ts → components/ui/MinimizeButton.d.ts} +1 -1
  44. package/dist/{cjs/types → esm}/components/ui/PracticeMode.d.ts +0 -0
  45. package/dist/{cjs/types → esm}/components/ui/Progress.d.ts +0 -0
  46. package/dist/{cjs/types → esm}/components/ui/QuestionDuration.d.ts +0 -0
  47. package/dist/{cjs/types → esm}/components/ui/QuestionNumber.d.ts +0 -0
  48. package/dist/{cjs/types → esm}/components/ui/RecordingButton.d.ts +0 -0
  49. package/dist/{cjs/types → esm}/components/ui/RotateScreen.d.ts +0 -0
  50. package/dist/{cjs/types → esm}/components/ui/Signal.d.ts +0 -0
  51. package/dist/{cjs/types → esm}/components/ui/StartNowButton.d.ts +0 -0
  52. package/dist/{cjs/types → esm}/components/ui/StartRecordingButton.d.ts +0 -0
  53. package/dist/{cjs/types → esm}/components/ui/StopRecordingButton.d.ts +0 -0
  54. package/dist/{cjs/types → esm}/components/ui/UnsupportedModal.d.ts +0 -0
  55. package/dist/{cjs/types → esm}/config/index.d.ts +2 -1
  56. package/dist/{cjs/types → esm}/config/local.env.d.ts +0 -0
  57. package/dist/{cjs/types → esm}/config/prod.env.d.ts +0 -0
  58. package/dist/{cjs/types → esm}/config/staging.env.d.ts +0 -0
  59. package/dist/esm/{types/i18n → i18n}/config.d.ts +191 -28
  60. package/dist/esm/index.d.ts +4 -0
  61. package/dist/esm/index.js +12280 -2531
  62. package/dist/esm/index.js.map +1 -1
  63. package/dist/{cjs/types → esm}/interfaces/candidateInterface.d.ts +5 -1
  64. package/dist/{cjs/types → esm}/interfaces/candidateSessionInterface.d.ts +10 -5
  65. package/dist/{cjs/types → esm}/interfaces/companyInterface.d.ts +1 -0
  66. package/dist/esm/interfaces/configInterface.d.ts +58 -0
  67. package/dist/esm/{types/interfaces → interfaces}/jobInterface.d.ts +11 -1
  68. package/dist/esm/{types/interfaces → interfaces}/microphoneInterface.d.ts +2 -0
  69. package/dist/{cjs/types → esm}/interfaces/networkInterface.d.ts +0 -0
  70. package/dist/{cjs/types → esm}/interfaces/previewInterface.d.ts +0 -0
  71. package/dist/esm/interfaces/recorderInterface.d.ts +198 -0
  72. package/dist/{cjs/types → esm}/interfaces/storageInterface.d.ts +0 -0
  73. package/dist/{cjs/types → esm}/interfaces/uploaderInterface.d.ts +0 -0
  74. package/dist/{cjs/types → esm}/interfaces/videoInterface.d.ts +2 -1
  75. package/dist/{cjs/types → esm}/interfaces/widgetInterface.d.ts +26 -5
  76. package/dist/{cjs/types → esm}/machines/acceleratorMachines/accUploaderMachine.d.ts +0 -0
  77. package/dist/{cjs/types → esm}/machines/acceleratorMachines/accWidgetMachine.d.ts +0 -0
  78. package/dist/{cjs/types → esm}/machines/acceleratorMachines/microphoneMachine.d.ts +0 -0
  79. package/dist/{cjs/types → esm}/machines/acceleratorMachines/networkMachine.d.ts +0 -0
  80. package/dist/{cjs/types → esm}/machines/acceleratorMachines/previewMachine.d.ts +0 -0
  81. package/dist/{cjs/types → esm}/machines/acceleratorMachines/recorderMachineV2.d.ts +0 -0
  82. package/dist/{cjs/types → esm}/machines/acceleratorMachines/storageMachine.d.ts +0 -0
  83. package/dist/{cjs/types → esm}/reportWebVitals.d.ts +0 -0
  84. package/dist/esm/{types/services → services}/axiosInstances.service.d.ts +1 -0
  85. package/dist/{cjs/types → esm}/services/s3.service.d.ts +0 -0
  86. package/dist/esm/{types/services → services}/session.service.d.ts +12 -1
  87. package/dist/{cjs/types → esm}/services/speedTest.service.d.ts +0 -0
  88. package/dist/esm/services/video.service.d.ts +7 -0
  89. package/dist/{cjs/types → esm}/setupTests.d.ts +0 -0
  90. package/dist/{cjs/types → esm}/utils/authToken.utils.d.ts +0 -0
  91. package/dist/{cjs/types → esm}/utils/constants.utils.d.ts +6 -2
  92. package/dist/{cjs/types → esm}/utils/debug.utils.d.ts +0 -0
  93. package/dist/{cjs/types → esm}/utils/device.utils.d.ts +0 -0
  94. package/dist/{cjs/types → esm}/utils/errors.utils.d.ts +0 -0
  95. package/dist/{cjs/types → esm}/utils/formatters.utils.d.ts +0 -0
  96. package/dist/{cjs/types → esm}/utils/messages.utils.d.ts +0 -0
  97. package/dist/{cjs/types → esm}/utils/practiceQuestions.utils.d.ts +0 -0
  98. package/dist/esm/utils/recorderErrors.utils.d.ts +28 -0
  99. package/dist/{cjs/types → esm}/utils/sentry.utils.d.ts +0 -0
  100. package/dist/{cjs/types → esm}/utils/statusCodes.utils.d.ts +0 -0
  101. package/dist/index.d.ts +57 -15
  102. package/package.json +5 -4
  103. package/dist/cjs/index.js +0 -31900
  104. package/dist/cjs/index.js.map +0 -1
  105. package/dist/cjs/types/components/Errors.d.ts +0 -9
  106. package/dist/cjs/types/components/Main.d.ts +0 -8
  107. package/dist/cjs/types/components/PreviewItem.d.ts +0 -10
  108. package/dist/cjs/types/components/RecorderModal.d.ts +0 -14
  109. package/dist/cjs/types/components/Widget.d.ts +0 -9
  110. package/dist/cjs/types/i18n/config.d.ts +0 -430
  111. package/dist/cjs/types/index.d.ts +0 -2
  112. package/dist/cjs/types/interfaces/configInterface.d.ts +0 -33
  113. package/dist/cjs/types/interfaces/jobInterface.d.ts +0 -22
  114. package/dist/cjs/types/interfaces/microphoneInterface.d.ts +0 -36
  115. package/dist/cjs/types/interfaces/recorderInterface.d.ts +0 -110
  116. package/dist/cjs/types/services/axiosInstances.service.d.ts +0 -3
  117. package/dist/cjs/types/services/session.service.d.ts +0 -46
  118. package/dist/cjs/types/services/video.service.d.ts +0 -7
  119. package/dist/cjs/types/utils/permissionSteps.utils.d.ts +0 -19
  120. package/dist/esm/types/App.d.ts +0 -2
  121. package/dist/esm/types/components/CountDown.d.ts +0 -6
  122. package/dist/esm/types/components/Counter.d.ts +0 -8
  123. package/dist/esm/types/components/DeviceSelector.d.ts +0 -10
  124. package/dist/esm/types/components/DeviceSelectorList.d.ts +0 -9
  125. package/dist/esm/types/components/DeviceSelectorListNative.d.ts +0 -6
  126. package/dist/esm/types/components/Error.d.ts +0 -8
  127. package/dist/esm/types/components/ErrorBoundaries.d.ts +0 -9
  128. package/dist/esm/types/components/Explanation.d.ts +0 -7
  129. package/dist/esm/types/components/Footer.d.ts +0 -2
  130. package/dist/esm/types/components/Header.d.ts +0 -10
  131. package/dist/esm/types/components/InnerView.d.ts +0 -12
  132. package/dist/esm/types/components/OuterView.d.ts +0 -8
  133. package/dist/esm/types/components/PermissionSteps.d.ts +0 -6
  134. package/dist/esm/types/components/PracticeModeInfo.d.ts +0 -8
  135. package/dist/esm/types/components/PreviewItem.d.ts +0 -10
  136. package/dist/esm/types/components/PreviewList.d.ts +0 -17
  137. package/dist/esm/types/components/Question.d.ts +0 -9
  138. package/dist/esm/types/components/QuestionItem.d.ts +0 -12
  139. package/dist/esm/types/components/QuestionsList.d.ts +0 -11
  140. package/dist/esm/types/components/Setup.d.ts +0 -6
  141. package/dist/esm/types/components/SetupChecks.d.ts +0 -14
  142. package/dist/esm/types/components/SliderModal.d.ts +0 -8
  143. package/dist/esm/types/components/Upload.d.ts +0 -13
  144. package/dist/esm/types/components/VideoCamera.d.ts +0 -28
  145. package/dist/esm/types/components/VideoQuestion.d.ts +0 -9
  146. package/dist/esm/types/components/VideoTimeBar.d.ts +0 -9
  147. package/dist/esm/types/components/WelcomePage.d.ts +0 -11
  148. package/dist/esm/types/components/Widget.d.ts +0 -9
  149. package/dist/esm/types/components/icons/ClockIcon.d.ts +0 -2
  150. package/dist/esm/types/components/icons/Loading.d.ts +0 -2
  151. package/dist/esm/types/components/icons/NoCameraMic.d.ts +0 -2
  152. package/dist/esm/types/components/icons/PlayIcon.d.ts +0 -6
  153. package/dist/esm/types/components/icons/Retake.d.ts +0 -2
  154. package/dist/esm/types/components/icons/RotateScreenIcon.d.ts +0 -2
  155. package/dist/esm/types/components/ui/Loader.d.ts +0 -2
  156. package/dist/esm/types/components/ui/MicrophoneIndicator.d.ts +0 -7
  157. package/dist/esm/types/components/ui/PracticeMode.d.ts +0 -2
  158. package/dist/esm/types/components/ui/Progress.d.ts +0 -6
  159. package/dist/esm/types/components/ui/QuestionDuration.d.ts +0 -6
  160. package/dist/esm/types/components/ui/QuestionNumber.d.ts +0 -7
  161. package/dist/esm/types/components/ui/RecordingButton.d.ts +0 -6
  162. package/dist/esm/types/components/ui/RotateScreen.d.ts +0 -2
  163. package/dist/esm/types/components/ui/Signal.d.ts +0 -9
  164. package/dist/esm/types/components/ui/StartRecordingButton.d.ts +0 -10
  165. package/dist/esm/types/components/ui/StopRecordingButton.d.ts +0 -7
  166. package/dist/esm/types/components/ui/UnsupportedModal.d.ts +0 -6
  167. package/dist/esm/types/config/index.d.ts +0 -6
  168. package/dist/esm/types/config/local.env.d.ts +0 -6
  169. package/dist/esm/types/config/prod.env.d.ts +0 -6
  170. package/dist/esm/types/config/staging.env.d.ts +0 -6
  171. package/dist/esm/types/index.d.ts +0 -2
  172. package/dist/esm/types/interfaces/candidateInterface.d.ts +0 -10
  173. package/dist/esm/types/interfaces/candidateSessionInterface.d.ts +0 -78
  174. package/dist/esm/types/interfaces/companyInterface.d.ts +0 -3
  175. package/dist/esm/types/interfaces/configInterface.d.ts +0 -33
  176. package/dist/esm/types/interfaces/networkInterface.d.ts +0 -9
  177. package/dist/esm/types/interfaces/previewInterface.d.ts +0 -14
  178. package/dist/esm/types/interfaces/recorderInterface.d.ts +0 -110
  179. package/dist/esm/types/interfaces/storageInterface.d.ts +0 -29
  180. package/dist/esm/types/interfaces/uploaderInterface.d.ts +0 -39
  181. package/dist/esm/types/interfaces/videoInterface.d.ts +0 -54
  182. package/dist/esm/types/interfaces/widgetInterface.d.ts +0 -192
  183. package/dist/esm/types/machines/acceleratorMachines/accUploaderMachine.d.ts +0 -6
  184. package/dist/esm/types/machines/acceleratorMachines/accWidgetMachine.d.ts +0 -6
  185. package/dist/esm/types/machines/acceleratorMachines/microphoneMachine.d.ts +0 -6
  186. package/dist/esm/types/machines/acceleratorMachines/networkMachine.d.ts +0 -5
  187. package/dist/esm/types/machines/acceleratorMachines/previewMachine.d.ts +0 -6
  188. package/dist/esm/types/machines/acceleratorMachines/recorderMachineV2.d.ts +0 -6
  189. package/dist/esm/types/machines/acceleratorMachines/storageMachine.d.ts +0 -6
  190. package/dist/esm/types/reportWebVitals.d.ts +0 -3
  191. package/dist/esm/types/services/s3.service.d.ts +0 -1
  192. package/dist/esm/types/services/speedTest.service.d.ts +0 -2
  193. package/dist/esm/types/services/video.service.d.ts +0 -7
  194. package/dist/esm/types/setupTests.d.ts +0 -1
  195. package/dist/esm/types/utils/authToken.utils.d.ts +0 -7
  196. package/dist/esm/types/utils/constants.utils.d.ts +0 -9
  197. package/dist/esm/types/utils/debug.utils.d.ts +0 -19
  198. package/dist/esm/types/utils/device.utils.d.ts +0 -12
  199. package/dist/esm/types/utils/errors.utils.d.ts +0 -9
  200. package/dist/esm/types/utils/formatters.utils.d.ts +0 -5
  201. package/dist/esm/types/utils/messages.utils.d.ts +0 -16
  202. package/dist/esm/types/utils/permissionSteps.utils.d.ts +0 -19
  203. package/dist/esm/types/utils/practiceQuestions.utils.d.ts +0 -2
  204. package/dist/esm/types/utils/sentry.utils.d.ts +0 -4
  205. package/dist/esm/types/utils/statusCodes.utils.d.ts +0 -13
@@ -1,10 +1,14 @@
1
1
  export interface ICandidate {
2
2
  candidate_id?: string;
3
3
  email: string;
4
- username: string;
4
+ username?: string;
5
5
  phone?: string;
6
6
  video_id?: string;
7
7
  redirectUrl?: string;
8
+ additionalData?: object;
9
+ disableResume?: boolean;
10
+ reapply?: boolean;
11
+ enableNotifications?: boolean;
8
12
  apiKey?: string;
9
13
  company_id?: string;
10
14
  }
@@ -17,12 +17,19 @@ export declare const enum CandidateSessionError {
17
17
  JOB_INACTIVE = "JOB_INACTIVE",
18
18
  SUBSCRIPTION_PAUSED = "SUBSCRIPTION_PAUSED",
19
19
  SUBSCRIPTION_CANCELLED = "SUBSCRIPTION_CANCELLED",
20
- INTERVIEW_ALREADY_COMPLETED = "INTERVIEW_ALREADY_COMPLETED"
20
+ INTERVIEW_ALREADY_COMPLETED = "INTERVIEW_ALREADY_COMPLETED",
21
+ MEDIA_RECORDER_ERROR = "MEDIA_RECORDER_ERROR"
21
22
  }
22
23
  export declare const enum CandidateSessionWarnings {
23
24
  LOW_LIGHT = "LOW_LIGHT",
24
25
  LOW_VOLUME = "LOW_VOLUME",
25
- SLOW_CONNECTION = "SLOW_CONNECTION"
26
+ SLOW_CONNECTION = "SLOW_CONNECTION",
27
+ NO_INTERNET = "NO_INTERNET",
28
+ NotAllowedError = "NotAllowedError",
29
+ NotFoundError = "NotFoundError",
30
+ NotReadableError = "NotReadableError",
31
+ OverconstrainedError = "OverconstrainedError",
32
+ SecurityError = "SecurityError"
26
33
  }
27
34
  export declare type CandidateSessionSourceType = 'direct' | 'email' | 'sms' | 'email_reminder' | 'sms_reminder';
28
35
  export declare const enum CandidateSessionSourceMap {
@@ -39,6 +46,7 @@ export interface ICandidateSession {
39
46
  warnings?: (keyof typeof CandidateSessionWarnings)[];
40
47
  reload_count: number;
41
48
  files_uploaded_count: number;
49
+ widget_version: string;
42
50
  company_id: string;
43
51
  apiKey: string;
44
52
  job_id?: string;
@@ -58,13 +66,10 @@ export interface ICandidateSession {
58
66
  widget_shown?: Date;
59
67
  widget_practiced?: Date;
60
68
  widget_camera_setup?: Date;
61
- widget_camera_error?: Date;
62
69
  widget_microphone_setup?: Date;
63
- widget_microphone_error?: Date;
64
70
  widget_slow_internet_setup?: Date;
65
71
  widget_high_internet_setup?: Date;
66
72
  widget_medium_internet_setup?: Date;
67
- widget_no_internet_setup?: Date;
68
73
  widget_start_click_setup?: Date;
69
74
  widget_change_camera_setup?: Date;
70
75
  widget_change_mic_setup?: Date;
@@ -1,3 +1,4 @@
1
1
  export interface ICompany {
2
+ name: string;
2
3
  shouldShowWaterMark: boolean;
3
4
  }
@@ -0,0 +1,58 @@
1
+ import { CSSProperties } from 'react';
2
+ import { ICandidate } from './candidateInterface';
3
+ import { ICompany } from './companyInterface';
4
+ import { IClientJob, IClientQuestion, IJob, IQuestion } from './jobInterface';
5
+ import { IVideo } from './videoInterface';
6
+ export declare type IMessageType = 'completed' | 'deadline' | 'applied' | 'inactiveJob';
7
+ export interface IOnFinish {
8
+ redirectUrl?: string;
9
+ video_id: string;
10
+ }
11
+ export interface IOnError {
12
+ messageType: IMessageType;
13
+ }
14
+ export declare type IEnv = 'dev' | 'development' | 'staging' | 'production' | 'test' | 'local';
15
+ interface IConfig {
16
+ auth: string;
17
+ onWidgetClicked?: () => void;
18
+ onFinish?: (data: IOnFinish) => void;
19
+ onError?: (data: IOnError) => void;
20
+ openAnimation?: boolean;
21
+ debug?: boolean;
22
+ practiceQuestions?: IQuestion[];
23
+ overlay?: string;
24
+ introVideo?: string;
25
+ welcomeTitle?: string;
26
+ welcomeText?: string;
27
+ env?: IEnv;
28
+ minimizable?: boolean;
29
+ hideHeader?: boolean;
30
+ }
31
+ export declare type IClientConfig = Omit<IConfig, 'practiceQuestions'> & {
32
+ practiceQuestions?: IClientQuestion[];
33
+ };
34
+ export interface IWidgetConfig {
35
+ video?: IVideo;
36
+ candidate: ICandidate;
37
+ job?: IJob;
38
+ company?: ICompany;
39
+ config: IConfig;
40
+ disabled?: boolean;
41
+ buttonText?: string;
42
+ buttonStyle?: CSSProperties;
43
+ }
44
+ export declare type IClientWidgetConfig = Omit<IWidgetConfig, 'job' | 'config'> & {
45
+ job: IClientJob;
46
+ config: IClientConfig;
47
+ };
48
+ export interface IWidgetConfigResponse {
49
+ video: IVideo;
50
+ candidate: ICandidate;
51
+ job: IJob;
52
+ }
53
+ export interface IWidgetConfigRequest {
54
+ video?: IVideo;
55
+ candidate?: ICandidate;
56
+ job?: IJob;
57
+ }
58
+ export {};
@@ -7,9 +7,13 @@ export interface IQuestion {
7
7
  videoQuestion?: string;
8
8
  description?: string;
9
9
  }
10
+ export declare type IClientQuestion = Omit<IQuestion, 'numOfRetakes' | 'partDuration' | 'thinkingTime'> & {
11
+ attempts?: number;
12
+ duration?: number;
13
+ thinkingTime?: number;
14
+ };
10
15
  export interface IJob {
11
16
  language?: string;
12
- overlay?: string;
13
17
  transcriptLanguage?: string;
14
18
  title?: string;
15
19
  company?: string;
@@ -17,6 +21,12 @@ export interface IJob {
17
21
  logo?: string;
18
22
  questions?: IQuestion[];
19
23
  old_jobID?: string;
24
+ termsUrl?: string;
25
+ privacyUrl?: string;
20
26
  apiKey?: string;
21
27
  company_id?: string;
28
+ jobID?: string;
22
29
  }
30
+ export declare type IClientJob = Omit<IJob, 'questions'> & {
31
+ questions?: IClientQuestion[];
32
+ };
@@ -19,6 +19,8 @@ export declare const enum ACTIONS {
19
19
  SENTRY = "sentry"
20
20
  }
21
21
  export declare const enum EVENTS {
22
+ UNMUTE = "UNMUTE",
23
+ MUTE = "MUTE",
22
24
  ON_SET_MEDIA_STREAM = "ON_SET_MEDIA_STREAM",
23
25
  SEND_DATA = "SEND_DATA",
24
26
  MIC_CHECK = "MIC_CHECK",
@@ -0,0 +1,198 @@
1
+ import { ActorRef, DoneInvokeEvent } from 'xstate';
2
+ import { RefObject } from 'react';
3
+ export declare const enum SPEED_TEST_LEVEL {
4
+ LOW = 0,
5
+ MEDIUM = 1,
6
+ HIGH = 2
7
+ }
8
+ export declare type mediaDeviceType = 'video' | 'audio';
9
+ declare type ConstrainProps = {
10
+ video: {
11
+ width: {
12
+ min?: number;
13
+ ideal?: number;
14
+ max: number;
15
+ };
16
+ aspectRatio?: number;
17
+ };
18
+ audio: boolean;
19
+ };
20
+ interface FacingMode {
21
+ exact: string;
22
+ }
23
+ export interface RecorderInterface {
24
+ facingMode: FacingMode;
25
+ microphoneRef: ActorRef<DoneInvokeEvent<any>> | null;
26
+ mediaStream?: MediaStream;
27
+ mediaRecorder?: MediaRecorder;
28
+ videoDevices: MediaDeviceInfo[];
29
+ audioDevices: MediaDeviceInfo[];
30
+ selectedVideoDevice?: MediaDeviceInfo;
31
+ selectedAudioDevice?: MediaDeviceInfo;
32
+ mimeType: string;
33
+ mimeTypes: string[];
34
+ isMobile: boolean;
35
+ isSafeMode: boolean;
36
+ isAutoStart: boolean;
37
+ speedTestLevel: SPEED_TEST_LEVEL;
38
+ constraint: ConstrainProps;
39
+ videoRef: RefObject<HTMLVideoElement>;
40
+ videoBitsPerSecond: number;
41
+ countdown: number;
42
+ recordingTime: number;
43
+ durations: number;
44
+ isMicError: boolean;
45
+ }
46
+ export declare const enum MIME_TYPES {
47
+ WEBM = "video/webm",
48
+ MP4 = "video/mp4"
49
+ }
50
+ export declare const enum STATES {
51
+ INIT = "init",
52
+ IDLE = "idle",
53
+ RECORDING = "recording",
54
+ WAITING = "waiting",
55
+ ERROR = "error",
56
+ INIT_RECORDER = "initRecorder",
57
+ COUNT_DOWN = "countDown",
58
+ COLLECTING_BLOBS = "collectingBlobs",
59
+ RECORDER_TIMER = "recorderTimer",
60
+ RECORDER_SENDING_BLOBS = "recorderSendingBlobs"
61
+ }
62
+ export declare const enum ACTIONS {
63
+ SESSION_EVENT = "SESSION_EVENT",
64
+ SENTRY = "SENTRY",
65
+ CONSOLE_LOG = "CONSOLE_LOG",
66
+ REMOVE_MIC_ERROR = "REMOVE_MIC_ERROR",
67
+ PAUSE_MEDIA_RECORDER = "PAUSE_MEDIA_RECORDER",
68
+ RESUME_MEDIA_RECORDER = "RESUME_MEDIA_RECORDER",
69
+ SEND_CURRENT_TAKE = "SEND_CURRENT_TAKE",
70
+ STOP_MICROPHONE_MACHINE = "STOP_MICROPHONE_MACHINE",
71
+ STOP_MEDIA_RECORDER = "STOP_MEDIA_RECORDER",
72
+ DISABLED_AUTO_START = "DISABLED_AUTO_START",
73
+ SET_AUTO_START = "SET_AUTO_START",
74
+ UPDATE_RECORDING_TIME = "UPDATE_RECORDING_TIME",
75
+ UPDATE_COUNT_DOWN = "UPDATE_COUNT_DOWN",
76
+ SET_MIC_MACHINE = "INIT_MIC_MACHINE",
77
+ SEND_MEDIA_STREAM_TO_MIC_MACHINE = "SET_MEDIA_STREAM_TO_MIC_MACHINE",
78
+ SET_MEDIA_STREAM_CORE = "SET_MEDIA_STREAM_CORE",
79
+ STOP_MEDIA_STREAM = "STOP_MEDIA_STREAM",
80
+ SET_MIME_TYPE = "SET_MIME_TYPE",
81
+ SET_SAFE_MODE = "SET_SAFE_MODE",
82
+ SEND_ERROR_TO_PARENT = "SEND_ERROR_TO_PARENT",
83
+ SEND_SUCCESS_TO_PARENT = "SEND_SUCCESS_TO_PARENT",
84
+ CHANGE_VIDEO_DEVICE = "CHANGE_VIDEO_DEVICE",
85
+ CHANGE_AUDIO_DEVICE = "CHANGE_AUDIO_DEVICE",
86
+ SET_QUESTION_PARAMS = "SET_QUESTION_PARAMS",
87
+ UPDATE_CONSTRAINT = "UPDATE_CONSTRAINT",
88
+ UPDATE_AUDIO_AND_VIDEO_DEVICES = "UPDATE_AUDIO_AND_VIDEO_DEVICES",
89
+ SET_FORCE_START = "SET_FORCE_START",
90
+ RESET_MACHINE = "RESET_MACHINE",
91
+ UPDATE_MACHINE_FOR_NEW_QUESTION = "UPDATE_MACHINE_FOR_NEW_QUESTION",
92
+ SET_MEDIA_RECORDER = "SET_MEDIA_RECORDER",
93
+ SET_MIC_ERROR = "SET_MIC_ERROR"
94
+ }
95
+ export declare const enum EVENTS {
96
+ CHANGE_VIDEO_DEVICE = "CHANGE_VIDEO_DEVICE",
97
+ CHANGE_AUDIO_DEVICE = "CHANGE_AUDIO_DEVICE",
98
+ START_RECORDING = "START_RECORDING",
99
+ SET_QUESTION_PARAMS = "SET_QUESTION_PARAMS",
100
+ SPEED_TEST_RESULT_UPDATED = "SPEED_TEST_RESULT_UPDATED",
101
+ RECORDER_DEVICE_ERROR = "RECORDER_DEVICE_ERROR",
102
+ UPDATE_DEVICES_LIST = "UPDATE_DEVICES_LIST",
103
+ UPDATE_CURRENT_DEVICE = "UPDATE_CURRENT_DEVICE",
104
+ RECORDING_UPDATE_TIMER = "RECORDING_UPDATE_TIMER",
105
+ UPDATE_TIMER = "UPDATE_TIMER",
106
+ FORCE_START = "FORCE_START",
107
+ STOP_RECORDING = "STOP_RECORDING",
108
+ SET_MEDIA_RECORDER = "SET_MEDIA_RECORDER",
109
+ SEND_CURRENT_TAKE = "SEND_CURRENT_TAKE",
110
+ RE_INIT = "RE_INIT",
111
+ RETRY = "RETRY",
112
+ MIC_DATA_RECEIVED = "MIC_DATA_RECEIVED",
113
+ PAUSE_MEDIA_RECORDER = "PAUSE_MEDIA_RECORDER"
114
+ }
115
+ export declare const enum SERVICES {
116
+ GET_MEDIA_STREAM = "getMediaStream",
117
+ GET_MEDIA_RECORDER = "getMediaRecorder"
118
+ }
119
+ export declare const enum GUARDS {
120
+ IS_TIME_TO_STOP_RECORDING = "isTimeToStopRecording",
121
+ IS_RECORDER_ACTIVE = "isRecorderActive",
122
+ IS_TIME_TO_START_RECORDING = "isTimeToStartRecording",
123
+ NO_SOUND_FROM_MIC_MACHINE = "noSoundFromMicMachine",
124
+ IS_NOT_ALLOWED_ERROR = "isNotAllowedError",
125
+ IS_ERROR_WITH_WRONG_PARAMS = "isErrorWithWrongParams",
126
+ IS_AUTO_START = "isAutoStart",
127
+ IS_QUALITY_CHANGED = "isQualityChanged"
128
+ }
129
+ export declare const mediaConstrains: {
130
+ hd: {
131
+ video: {
132
+ width: {
133
+ min: number;
134
+ ideal: number;
135
+ max: number;
136
+ };
137
+ };
138
+ audio: boolean;
139
+ };
140
+ vga: {
141
+ video: {
142
+ width: {
143
+ max: number;
144
+ ideal: number;
145
+ };
146
+ };
147
+ audio: boolean;
148
+ };
149
+ qvga: {
150
+ video: {
151
+ width: {
152
+ min: number;
153
+ ideal: number;
154
+ max: number;
155
+ };
156
+ aspectRatio: number;
157
+ };
158
+ audio: boolean;
159
+ };
160
+ mobile: {
161
+ video: {
162
+ width: {
163
+ min: number;
164
+ ideal: number;
165
+ max: number;
166
+ };
167
+ aspectRatio: number;
168
+ };
169
+ audio: boolean;
170
+ };
171
+ mobile2: {
172
+ video: {
173
+ width: {
174
+ min: number;
175
+ ideal: number;
176
+ max: number;
177
+ };
178
+ aspectRatio: number;
179
+ };
180
+ audio: boolean;
181
+ };
182
+ mobile3: {
183
+ video: {
184
+ width: {
185
+ min: number;
186
+ ideal: number;
187
+ max: number;
188
+ };
189
+ aspectRatio: number;
190
+ };
191
+ audio: boolean;
192
+ };
193
+ noVideo: {
194
+ video: boolean;
195
+ audio: boolean;
196
+ };
197
+ };
198
+ export {};
@@ -23,9 +23,10 @@ export interface IVideoFile {
23
23
  videoLength?: number;
24
24
  uploadUrl?: string;
25
25
  question?: string;
26
+ selectedTake?: number;
26
27
  }
27
28
  export interface IVideo {
28
- video_id: string;
29
+ video_id?: string;
29
30
  bandwidth?: string;
30
31
  clicked?: boolean;
31
32
  started?: boolean;
@@ -1,6 +1,6 @@
1
1
  import { RefObject } from 'react';
2
2
  import { ActorRef, BaseActionObject, DoneInvokeEvent, Event, EventData, ResolveTypegenMeta, SCXML, ServiceMap, SingleOrArray, State, TypegenDisabled } from 'xstate';
3
- import { IConfig } from './configInterface';
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
6
  import { IQuestion } from './jobInterface';
@@ -8,9 +8,15 @@ import { IVideoError } from '../utils/errors.utils';
8
8
  declare type IUploaderRef = {
9
9
  [uploaderRef: string]: ActorRef<DoneInvokeEvent<any>>;
10
10
  };
11
+ export declare const VIDEO_ERROR_MESSAGES: {
12
+ RETRY: "RETRY";
13
+ REDIRECT: "REDIRECT";
14
+ NO_ERROR: "";
15
+ };
11
16
  export declare type ICameraStateKey = keyof typeof CAMERA_STATES_MESSAGES;
12
17
  export declare type IMicrophoneStateKey = keyof typeof MICROPHONE_STATES_MESSAGES;
13
18
  export declare type IInternetStateKey = keyof typeof INTERNET_STATES_MESSAGES;
19
+ export declare type IVideoCorruptedMessagesKey = keyof typeof VIDEO_ERROR_MESSAGES;
14
20
  export declare const CAMERA_STATES: {
15
21
  [K in ICameraStateKey]: K;
16
22
  };
@@ -20,6 +26,9 @@ export declare const MICROPHONE_STATES: {
20
26
  export declare const INTERNET_STATES: {
21
27
  [K in IInternetStateKey]: K;
22
28
  };
29
+ export declare const VIDEO_CORRUPTED_STATES: {
30
+ [K in IVideoCorruptedMessagesKey]: K;
31
+ };
23
32
  export interface IChecksMetaObj {
24
33
  key: 'camera' | 'microphone' | 'internet';
25
34
  state: ICameraStateKey | IMicrophoneStateKey | IInternetStateKey;
@@ -37,7 +46,7 @@ interface IChecksMessage {
37
46
  }
38
47
  export interface InitialState {
39
48
  speedTestResult: number;
40
- config: IConfig;
49
+ widgetConfig: IWidgetConfig;
41
50
  questions: IQuestion[];
42
51
  isConnected: boolean;
43
52
  videoRef: RefObject<HTMLVideoElement>;
@@ -60,6 +69,8 @@ export interface InitialState {
60
69
  [questionNumber: string]: number;
61
70
  };
62
71
  error: IVideoError | null;
72
+ failedRecordingAttempts: number;
73
+ failedRecordingMessage: IVideoCorruptedMessagesKey;
63
74
  }
64
75
  export interface IWidgetMachineProps {
65
76
  widgetMachine: State<InitialState, DoneInvokeEvent<any>, any, {
@@ -70,6 +81,7 @@ export interface IWidgetMachineProps {
70
81
  }
71
82
  export declare const enum STATES {
72
83
  INIT = "init",
84
+ WELCOME = "welcome",
73
85
  SETUP = "setup",
74
86
  SETUP__INIT_STORAGE = "initStorage",
75
87
  SETUP__INIT_RECORDER = "initRecorder",
@@ -103,6 +115,7 @@ export declare const enum STATES {
103
115
  }
104
116
  export declare const enum ACTIONS {
105
117
  CONSOLE_LOG = "consoleLog",
118
+ CONSOLE_DEBUG = "consoleDebug",
106
119
  SET_CONNECTION = "setConnection",
107
120
  SET_CONFIG = "getConfig",
108
121
  SET_NEXT_QUESTION = "setNextQuestion",
@@ -128,6 +141,7 @@ export declare const enum ACTIONS {
128
141
  UPDATE_RETAKES_NUMBER = "updateRetakesNumber",
129
142
  UPDATE_AXION_AUTH = "updateAxiosAuth",
130
143
  RECORDER_RE_INIT = "recorderReInit",
144
+ RECORDER_RE_INIT_AUTO_START = "recorderReInitAutoStart",
131
145
  UPDATE_RECORDER_PARAMS = "updateRecorderParams",
132
146
  UPDATE_TOTAL_UPLOADED = "updateTotalUploaded",
133
147
  SET_VIDEO_ERROR = "setVideoError",
@@ -137,7 +151,10 @@ export declare const enum ACTIONS {
137
151
  SESSION_EVENT = "sessionEvent",
138
152
  REVOKE_MEMORY = "revokeMemory",
139
153
  UPDATE_VIDEO_OBJECT = "updateVideoObject",
140
- UPDATE_VIDEO_PART = "updateVideoPart"
154
+ UPDATE_VIDEO_PART = "updateVideoPart",
155
+ INCREASE_FAILED_RECORDING_ATTEMPTS = "increaseFailedRecordingAttempts",
156
+ RESET_FAILED_RECORDING_ATTEMPTS = "resetFailedRecordingAttempts",
157
+ CLEAR_VIDEO_ERROR = "clearVideoError"
141
158
  }
142
159
  export declare const enum EVENTS {
143
160
  SPAWN_UPLOADER = "SPAWN_UPLOADER",
@@ -173,12 +190,16 @@ export declare const enum GUARDS {
173
190
  IS_PRACTICE_MODE = "isPracticeMod",
174
191
  IS_NOT_LAST_TAKE = "isNotLastTake",
175
192
  IS_LAST_INTERVIEW_QUESTION = "isLastInterviewQuestion",
176
- IS_UPLOAD_FINISHED = "isUploadFinished",
177
193
  CAN_RETEST_SPEED_CONNECTION = "canRetestSpeedConnection",
178
194
  IS_CONNECTED = "isConnected",
179
195
  IS_DISCONNECTED = "isDisconnected",
180
196
  CAN_START_INTERVIEW = "canStartInterview",
181
- ARE_ALL_QUESTIONS_UPLOADED = "areAllQuestionsUploaded"
197
+ ARE_ALL_QUESTIONS_UPLOADED = "areAllQuestionsUploaded",
198
+ SHOULD_SHOW_WELCOME = "shouldShowWelcome",
199
+ IS_NO_SOUND_ERROR = "isNoSoundError",
200
+ IS_VIDEO_CORRUPTED = "isVideoCorrupted",
201
+ IS_AUDIO_ERROR = "isAudioError",
202
+ IS_VIDEO_ERROR = "isVideoError"
182
203
  }
183
204
  export declare const enum TAGS {
184
205
  SETUP = "setup",
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
@@ -34,7 +34,7 @@ declare type KeysMatching<T, V> = {
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 {};
@@ -0,0 +1,7 @@
1
+ import { IWidgetConfigRequest, IWidgetConfigResponse } from '../interfaces/configInterface';
2
+ import { IVideo, IVideoFile } 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, completed, uploaded, bandwidth }: IVideo) => Promise<IWidgetConfigResponse>;
6
+ export declare const updateVideoFile: (videoId: string, videoFile: IVideoFile) => Promise<IWidgetConfigResponse>;
7
+ export declare const getUploadUrl: (videoId: string, fileName: string, typeExtension: string) => Promise<IWidgetConfigResponse>;
File without changes
@@ -1,9 +1,13 @@
1
1
  export declare const DEFAULT_COUNT_DOWN = 3;
2
2
  export declare const DEFAULT_DURATION = 60;
3
- export declare const ENOUGH_RECODING_TIME = 3;
3
+ export declare const DEFAULT_ATTEMPTS = 3;
4
+ export declare const DEFAULT_THINKING_TIME = 0;
5
+ export declare const ENOUGH_RECORDING_TIME = 3;
4
6
  export declare const SPEED_TEST_FILE_SIZE = 5;
5
7
  export declare const FAST_UPLOAD_SPEED = 0.35;
6
8
  export declare const SLOW_UPLOAD_SPEED = 0.1;
7
9
  export declare const SPEED_TEST_TIMEOUT = 5000;
8
- export declare const MICROPHONE_NO_SOUND_ERROR_CODE = 777;
9
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;
File without changes
File without changes
File without changes
@@ -0,0 +1,28 @@
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
+ };
22
+ export declare const recorderErrors: {
23
+ [x: string]: {
24
+ type: string;
25
+ message: string;
26
+ name: string;
27
+ };
28
+ };
File without changes