@a4anthony/proctorkit-vue 0.1.4 → 0.2.0
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 +176 -8
- package/dist/ProctoredAssessment.vue.d.ts +70 -2
- package/dist/ProctoredAssessment.vue.d.ts.map +1 -1
- package/dist/ProctoringDeviceSettings.vue.d.ts +27 -1
- package/dist/ProctoringDeviceSettings.vue.d.ts.map +1 -1
- package/dist/ProctoringSystemCheck.vue.d.ts +39 -11
- package/dist/ProctoringSystemCheck.vue.d.ts.map +1 -1
- package/dist/browser-face-detector.d.ts +59 -0
- package/dist/browser-face-detector.d.ts.map +1 -0
- package/dist/check-cards/system/DisplayPermissionDialog.vue.d.ts +24 -0
- package/dist/check-cards/system/DisplayPermissionDialog.vue.d.ts.map +1 -0
- package/dist/check-cards/system/DisplayRecovery.vue.d.ts +25 -0
- package/dist/check-cards/system/DisplayRecovery.vue.d.ts.map +1 -0
- package/dist/check-cards/system/SystemCheckCard.vue.d.ts +13 -1
- package/dist/check-cards/system/SystemCheckCard.vue.d.ts.map +1 -1
- package/dist/check-cards/system/display-progress-story.d.ts +468 -0
- package/dist/check-cards/system/display-progress-story.d.ts.map +1 -0
- package/dist/check-cards/system/display-recovery-story.d.ts +290 -0
- package/dist/check-cards/system/display-recovery-story.d.ts.map +1 -0
- package/dist/demo-runner/QuestionCard.vue.d.ts.map +1 -1
- package/dist/detect-face.d.ts +22 -95
- package/dist/detect-face.d.ts.map +1 -1
- package/dist/i18n/merge.d.ts.map +1 -1
- package/dist/index.d.ts +19 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9637 -2485
- package/dist/media-controls/AudioPlayer.vue.d.ts +43 -20
- package/dist/media-controls/AudioPlayer.vue.d.ts.map +1 -1
- package/dist/media-controls/AudioRecorder.vue.d.ts +171 -11
- package/dist/media-controls/AudioRecorder.vue.d.ts.map +1 -1
- package/dist/media-controls/RecorderUploadIndicator.vue.d.ts +17 -0
- package/dist/media-controls/RecorderUploadIndicator.vue.d.ts.map +1 -0
- package/dist/media-controls/VideoPlayer.vue.d.ts +36 -13
- package/dist/media-controls/VideoPlayer.vue.d.ts.map +1 -1
- package/dist/media-controls/VideoRecorder.vue.d.ts +90 -10
- package/dist/media-controls/VideoRecorder.vue.d.ts.map +1 -1
- package/dist/media-controls/audio-recorder-messages.d.ts +15 -0
- package/dist/media-controls/audio-recorder-messages.d.ts.map +1 -0
- package/dist/media-controls/local-media-playback-client.d.ts +2 -6
- package/dist/media-controls/local-media-playback-client.d.ts.map +1 -1
- package/dist/media-controls/local-media-recording-client.d.ts.map +1 -1
- package/dist/media-controls/media-recovery-story.d.ts +9 -0
- package/dist/media-controls/media-recovery-story.d.ts.map +1 -0
- package/dist/media-controls/storybook-mock-client.d.ts +2 -0
- package/dist/media-controls/storybook-mock-client.d.ts.map +1 -1
- package/dist/media-controls/types.d.ts +63 -7
- package/dist/media-controls/types.d.ts.map +1 -1
- package/dist/media-controls/ui-config.d.ts +2 -2
- package/dist/media-controls/ui-config.d.ts.map +1 -1
- package/dist/media-controls/useLiveInputCheck.d.ts +18 -0
- package/dist/media-controls/useLiveInputCheck.d.ts.map +1 -0
- package/dist/media-controls/useMediaClipRecorder.d.ts +90 -12
- package/dist/media-controls/useMediaClipRecorder.d.ts.map +1 -1
- package/dist/media-controls/useMediaFilePlayback.d.ts +8 -1
- package/dist/media-controls/useMediaFilePlayback.d.ts.map +1 -1
- package/dist/media-controls/useMinimumVisibleUpload.d.ts +18 -0
- package/dist/media-controls/useMinimumVisibleUpload.d.ts.map +1 -0
- package/dist/proctored-assessment/PreparationGate.vue.d.ts +16 -0
- package/dist/proctored-assessment/PreparationGate.vue.d.ts.map +1 -0
- package/dist/proctored-assessment/preparation-feedback.d.ts +7 -0
- package/dist/proctored-assessment/preparation-feedback.d.ts.map +1 -0
- package/dist/proctored-assessment/replay-failure-queue.d.ts +18 -0
- package/dist/proctored-assessment/replay-failure-queue.d.ts.map +1 -0
- package/dist/proctored-assessment/replay-failure-queue.test.d.ts +2 -0
- package/dist/proctored-assessment/replay-failure-queue.test.d.ts.map +1 -0
- package/dist/proctored-assessment/request-deadline.d.ts +1 -0
- package/dist/proctored-assessment/request-deadline.d.ts.map +1 -1
- package/dist/proctored-assessment/resume-microphone-route.d.ts +13 -0
- package/dist/proctored-assessment/resume-microphone-route.d.ts.map +1 -0
- package/dist/proctored-assessment/resume-microphone-route.test.d.ts +2 -0
- package/dist/proctored-assessment/resume-microphone-route.test.d.ts.map +1 -0
- package/dist/proctored-assessment/resume-probe.d.ts +13 -0
- package/dist/proctored-assessment/resume-probe.d.ts.map +1 -1
- package/dist/proctored-assessment/resume-speaker-confirmation.d.ts +27 -0
- package/dist/proctored-assessment/resume-speaker-confirmation.d.ts.map +1 -0
- package/dist/proctored-assessment/resume-speaker-route.d.ts +32 -0
- package/dist/proctored-assessment/resume-speaker-route.d.ts.map +1 -0
- package/dist/proctored-assessment/session-start.d.ts +2 -2
- package/dist/proctored-assessment/types.d.ts +14 -4
- package/dist/proctored-assessment/types.d.ts.map +1 -1
- package/dist/proctored-assessment/usePreparationRetryTiming.d.ts +13 -0
- package/dist/proctored-assessment/usePreparationRetryTiming.d.ts.map +1 -0
- package/dist/proctored-assessment/useResumeDisplayGuard.d.ts +20 -0
- package/dist/proctored-assessment/useResumeDisplayGuard.d.ts.map +1 -0
- package/dist/proctoring-client.d.ts +6 -2
- package/dist/proctoring-client.d.ts.map +1 -1
- package/dist/proctoring-system-check-contract.d.ts +2 -0
- package/dist/proctoring-system-check-contract.d.ts.map +1 -1
- package/dist/runtime-devices/DevicePickerItem.vue.d.ts +58 -0
- package/dist/runtime-devices/DevicePickerItem.vue.d.ts.map +1 -0
- package/dist/runtime-devices/PickerMessage.vue.d.ts +17 -0
- package/dist/runtime-devices/PickerMessage.vue.d.ts.map +1 -0
- package/dist/runtime-devices/ProctoringDevicePicker.vue.d.ts +89 -0
- package/dist/runtime-devices/ProctoringDevicePicker.vue.d.ts.map +1 -0
- package/dist/runtime-devices/device-picker-messages.d.ts +42 -0
- package/dist/runtime-devices/device-picker-messages.d.ts.map +1 -0
- package/dist/runtime-devices/microphone-attention.d.ts +48 -0
- package/dist/runtime-devices/microphone-attention.d.ts.map +1 -0
- package/dist/runtime-devices/microphone-check-messages.d.ts +13 -0
- package/dist/runtime-devices/microphone-check-messages.d.ts.map +1 -0
- package/dist/runtime-devices/runtime-device-activity.d.ts +16 -0
- package/dist/runtime-devices/runtime-device-activity.d.ts.map +1 -0
- package/dist/runtime-devices/runtime-device-selection.d.ts +11 -0
- package/dist/runtime-devices/runtime-device-selection.d.ts.map +1 -0
- package/dist/runtime-devices/useRuntimeDevice.d.ts +72 -0
- package/dist/runtime-devices/useRuntimeDevice.d.ts.map +1 -0
- package/dist/runtime-devices/useTrackLoss.d.ts +15 -0
- package/dist/runtime-devices/useTrackLoss.d.ts.map +1 -0
- package/dist/style.css +367 -14
- package/dist/text-answer/ProctoredTextarea.vue.d.ts +8 -1
- package/dist/text-answer/ProctoredTextarea.vue.d.ts.map +1 -1
- package/dist/text-answer/useProctoredText.d.ts +5 -2
- package/dist/text-answer/useProctoredText.d.ts.map +1 -1
- package/dist/ui/ProctoringAlert.vue.d.ts.map +1 -1
- package/dist/ui/ProctoringFileUpload.vue.d.ts +3 -3
- package/dist/ui/ProctoringFileUpload.vue.d.ts.map +1 -1
- package/dist/ui/ProctoringInput.vue.d.ts +3 -3
- package/dist/ui/ProctoringInput.vue.d.ts.map +1 -1
- package/dist/ui/ProctoringSelect.vue.d.ts +2 -2
- package/dist/ui/ProctoringSelect.vue.d.ts.map +1 -1
- package/dist/usePreflightCheck.d.ts +4 -3
- package/dist/usePreflightCheck.d.ts.map +1 -1
- package/dist/vision_bundle-8xEDyfqS.js +4160 -0
- package/dist/wizard/BrowserDisplayPermissionGuide.vue.d.ts +11 -0
- package/dist/wizard/BrowserDisplayPermissionGuide.vue.d.ts.map +1 -0
- package/dist/wizard/BrowserPermissionLocation.vue.d.ts +9 -0
- package/dist/wizard/BrowserPermissionLocation.vue.d.ts.map +1 -0
- package/dist/wizard/CameraStep.vue.d.ts +10 -1
- package/dist/wizard/CameraStep.vue.d.ts.map +1 -1
- package/dist/wizard/CandidateHeadshotField.vue.d.ts.map +1 -1
- package/dist/wizard/CandidateIntakeStep.vue.d.ts +3 -0
- package/dist/wizard/CandidateIntakeStep.vue.d.ts.map +1 -1
- package/dist/wizard/ChecklistShell.vue.d.ts +3 -0
- package/dist/wizard/ChecklistShell.vue.d.ts.map +1 -1
- package/dist/wizard/FinalStep.vue.d.ts +6 -2
- package/dist/wizard/FinalStep.vue.d.ts.map +1 -1
- package/dist/wizard/MediaDeviceSelect.vue.d.ts +11 -1
- package/dist/wizard/MediaDeviceSelect.vue.d.ts.map +1 -1
- package/dist/wizard/MicStep.vue.d.ts +24 -3
- package/dist/wizard/MicStep.vue.d.ts.map +1 -1
- package/dist/wizard/PermissionDeniedPanel.vue.d.ts +9 -4
- package/dist/wizard/PermissionDeniedPanel.vue.d.ts.map +1 -1
- package/dist/wizard/ResumeCheck.vue.d.ts +16 -2
- package/dist/wizard/ResumeCheck.vue.d.ts.map +1 -1
- package/dist/wizard/SpeakerStep.vue.d.ts +17 -4
- package/dist/wizard/SpeakerStep.vue.d.ts.map +1 -1
- package/dist/wizard/SystemStep.vue.d.ts +9 -0
- package/dist/wizard/SystemStep.vue.d.ts.map +1 -1
- package/dist/wizard/WizardShell.vue.d.ts +3 -3
- package/dist/wizard/WizardShell.vue.d.ts.map +1 -1
- package/dist/wizard/candidate-intake-draft.d.ts +9 -0
- package/dist/wizard/candidate-intake-draft.d.ts.map +1 -0
- package/dist/wizard/display-diagnostics.d.ts +21 -0
- package/dist/wizard/display-diagnostics.d.ts.map +1 -0
- package/dist/wizard/event-telemetry.d.ts +24 -0
- package/dist/wizard/event-telemetry.d.ts.map +1 -0
- package/dist/wizard/media-device-list.d.ts +8 -1
- package/dist/wizard/media-device-list.d.ts.map +1 -1
- package/dist/wizard/microphone-preflight-trace.d.ts +10 -0
- package/dist/wizard/microphone-preflight-trace.d.ts.map +1 -0
- package/dist/wizard/microphone-preflight-trace.test.d.ts +2 -0
- package/dist/wizard/microphone-preflight-trace.test.d.ts.map +1 -0
- package/dist/wizard/resume-check-stories/shared.d.ts +35 -11
- package/dist/wizard/resume-check-stories/shared.d.ts.map +1 -1
- package/dist/wizard/speaker-test-tone.d.ts +29 -4
- package/dist/wizard/speaker-test-tone.d.ts.map +1 -1
- package/dist/wizard/useCandidateIssues.d.ts +30 -0
- package/dist/wizard/useCandidateIssues.d.ts.map +1 -0
- package/dist/wizard/useCandidateIssues.test.d.ts +2 -0
- package/dist/wizard/useCandidateIssues.test.d.ts.map +1 -0
- package/dist/wizard/useLiveDisplayCheck.d.ts +8 -0
- package/dist/wizard/useLiveDisplayCheck.d.ts.map +1 -0
- package/dist/wizard/usePreflightTelemetry.d.ts +6 -26
- package/dist/wizard/usePreflightTelemetry.d.ts.map +1 -1
- package/dist/wizard/useWizardSteps.d.ts +10 -1
- package/dist/wizard/useWizardSteps.d.ts.map +1 -1
- package/package.json +4 -3
|
@@ -1,10 +1,15 @@
|
|
|
1
|
-
import type { ProctoringClient } from "@a4anthony/proctorkit-sdk";
|
|
1
|
+
import type { PlaybackRecoveryState, ProctoringClient } from "@a4anthony/proctorkit-sdk";
|
|
2
2
|
import type { MediaPlaybackThrownErrorPayload } from "./types.js";
|
|
3
3
|
import { type AudioPlayerPart, type AudioPlayerUi, type MediaPartClasses, type MediaPartStyles, type ProctoringMediaTheme } from "./ui-config.js";
|
|
4
4
|
type AudioPlayerClient = Pick<ProctoringClient, "playAudioFile">;
|
|
5
5
|
type __VLS_Props = {
|
|
6
6
|
client?: AudioPlayerClient;
|
|
7
7
|
url: string | URL;
|
|
8
|
+
fallbackUrl?: string | URL;
|
|
9
|
+
sourceLoadTimeoutMs?: number;
|
|
10
|
+
retryLabel?: string;
|
|
11
|
+
outputSettingsLabel?: string;
|
|
12
|
+
showOutputSettings?: boolean;
|
|
8
13
|
label?: string;
|
|
9
14
|
playLabel?: string;
|
|
10
15
|
replayLabel?: string;
|
|
@@ -39,7 +44,7 @@ type __VLS_Props = {
|
|
|
39
44
|
declare var __VLS_1: {
|
|
40
45
|
status: import("./useMediaFilePlayback.js", { with: { "resolution-mode": "import" } }).MediaPlaybackStatus;
|
|
41
46
|
buffering: boolean;
|
|
42
|
-
},
|
|
47
|
+
}, __VLS_11: {
|
|
43
48
|
currentTime: number;
|
|
44
49
|
duration: number | null;
|
|
45
50
|
currentTimeLabel: string;
|
|
@@ -47,34 +52,43 @@ declare var __VLS_1: {
|
|
|
47
52
|
progressPercent: number;
|
|
48
53
|
bufferedPercent: number;
|
|
49
54
|
status: import("./useMediaFilePlayback.js", { with: { "resolution-mode": "import" } }).MediaPlaybackStatus;
|
|
50
|
-
},
|
|
55
|
+
}, __VLS_13: {
|
|
51
56
|
replayAllowanceLabel: string;
|
|
52
57
|
playCount: number;
|
|
53
58
|
replayLimitReached: boolean;
|
|
54
|
-
},
|
|
59
|
+
}, __VLS_15: {
|
|
55
60
|
message: string;
|
|
56
|
-
},
|
|
61
|
+
}, __VLS_17: {
|
|
57
62
|
status: import("./useMediaFilePlayback.js", { with: { "resolution-mode": "import" } }).MediaPlaybackStatus;
|
|
58
63
|
play: () => Promise<void>;
|
|
64
|
+
retry: () => Promise<void>;
|
|
65
|
+
showRetry: boolean;
|
|
66
|
+
canRetry: boolean;
|
|
67
|
+
retryPending: boolean;
|
|
59
68
|
pause: () => void;
|
|
60
69
|
stop: () => void;
|
|
61
70
|
canPlay: boolean;
|
|
62
71
|
canControl: boolean;
|
|
63
72
|
primaryLabel: string;
|
|
64
73
|
showPrimary: boolean;
|
|
65
|
-
},
|
|
74
|
+
}, __VLS_19: {
|
|
75
|
+
retry: () => Promise<void>;
|
|
76
|
+
disabled: boolean;
|
|
77
|
+
pending: boolean;
|
|
78
|
+
label: string;
|
|
79
|
+
}, __VLS_35: {
|
|
66
80
|
play: () => Promise<void>;
|
|
67
81
|
disabled: boolean;
|
|
68
82
|
label: string;
|
|
69
|
-
},
|
|
83
|
+
}, __VLS_44: {
|
|
70
84
|
pause: () => void;
|
|
71
85
|
disabled: boolean;
|
|
72
86
|
label: string;
|
|
73
|
-
},
|
|
87
|
+
}, __VLS_53: {
|
|
74
88
|
stop: () => void;
|
|
75
89
|
disabled: boolean;
|
|
76
90
|
label: string;
|
|
77
|
-
},
|
|
91
|
+
}, __VLS_62: {
|
|
78
92
|
status: import("./useMediaFilePlayback.js", { with: { "resolution-mode": "import" } }).MediaPlaybackStatus;
|
|
79
93
|
errorMessage: string | null;
|
|
80
94
|
playCount: number;
|
|
@@ -91,27 +105,31 @@ declare var __VLS_1: {
|
|
|
91
105
|
type __VLS_Slots = {} & {
|
|
92
106
|
icon?: (props: typeof __VLS_1) => any;
|
|
93
107
|
} & {
|
|
94
|
-
timeline?: (props: typeof
|
|
108
|
+
timeline?: (props: typeof __VLS_11) => any;
|
|
95
109
|
} & {
|
|
96
|
-
metadata?: (props: typeof
|
|
110
|
+
metadata?: (props: typeof __VLS_13) => any;
|
|
97
111
|
} & {
|
|
98
|
-
error?: (props: typeof
|
|
112
|
+
error?: (props: typeof __VLS_15) => any;
|
|
99
113
|
} & {
|
|
100
|
-
controls?: (props: typeof
|
|
114
|
+
controls?: (props: typeof __VLS_17) => any;
|
|
101
115
|
} & {
|
|
102
|
-
'
|
|
116
|
+
'retry-button'?: (props: typeof __VLS_19) => any;
|
|
103
117
|
} & {
|
|
104
|
-
'
|
|
118
|
+
'play-button'?: (props: typeof __VLS_35) => any;
|
|
105
119
|
} & {
|
|
106
|
-
'
|
|
120
|
+
'pause-button'?: (props: typeof __VLS_44) => any;
|
|
107
121
|
} & {
|
|
108
|
-
|
|
122
|
+
'stop-button'?: (props: typeof __VLS_53) => any;
|
|
123
|
+
} & {
|
|
124
|
+
meta?: (props: typeof __VLS_62) => any;
|
|
109
125
|
};
|
|
110
126
|
declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
111
127
|
error: (payload: MediaPlaybackThrownErrorPayload | import("./types.js", { with: { "resolution-mode": "import" } }).MediaPlaybackErrorPayload) => any;
|
|
112
128
|
ended: (payload: import("./types.js", { with: { "resolution-mode": "import" } }).MediaPlaybackEventPayload) => any;
|
|
113
129
|
paused: (payload: import("./types.js", { with: { "resolution-mode": "import" } }).MediaPlaybackEventPayload) => any;
|
|
114
130
|
stopped: (payload: import("./types.js", { with: { "resolution-mode": "import" } }).MediaPlaybackEventPayload) => any;
|
|
131
|
+
recoveryStateChange: (state: PlaybackRecoveryState) => any;
|
|
132
|
+
outputSettingsRequested: () => any;
|
|
115
133
|
started: (payload: import("./types.js", { with: { "resolution-mode": "import" } }).MediaPlaybackEventPayload) => any;
|
|
116
134
|
replayLimitReached: (payload: import("./types.js", { with: { "resolution-mode": "import" } }).MediaReplayLimitReachedPayload) => any;
|
|
117
135
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
@@ -119,20 +137,25 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}
|
|
|
119
137
|
onEnded?: ((payload: import("./types.js", { with: { "resolution-mode": "import" } }).MediaPlaybackEventPayload) => any) | undefined;
|
|
120
138
|
onPaused?: ((payload: import("./types.js", { with: { "resolution-mode": "import" } }).MediaPlaybackEventPayload) => any) | undefined;
|
|
121
139
|
onStopped?: ((payload: import("./types.js", { with: { "resolution-mode": "import" } }).MediaPlaybackEventPayload) => any) | undefined;
|
|
140
|
+
onRecoveryStateChange?: ((state: PlaybackRecoveryState) => any) | undefined;
|
|
141
|
+
onOutputSettingsRequested?: (() => any) | undefined;
|
|
122
142
|
onStarted?: ((payload: import("./types.js", { with: { "resolution-mode": "import" } }).MediaPlaybackEventPayload) => any) | undefined;
|
|
123
143
|
onReplayLimitReached?: ((payload: import("./types.js", { with: { "resolution-mode": "import" } }).MediaReplayLimitReachedPayload) => any) | undefined;
|
|
124
144
|
}>, {
|
|
125
145
|
label: string;
|
|
126
146
|
disabled: boolean;
|
|
147
|
+
retryLabel: string;
|
|
127
148
|
autoplay: boolean;
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
volume: number;
|
|
149
|
+
outputSettingsLabel: string;
|
|
150
|
+
showOutputSettings: boolean;
|
|
131
151
|
playLabel: string;
|
|
132
152
|
replayLabel: string;
|
|
133
153
|
pauseLabel: string;
|
|
134
154
|
stopLabel: string;
|
|
135
155
|
allowedReplays: number | null;
|
|
156
|
+
loop: boolean;
|
|
157
|
+
volume: number;
|
|
158
|
+
playbackRate: number;
|
|
136
159
|
showPauseButton: boolean;
|
|
137
160
|
showStopButton: boolean;
|
|
138
161
|
hideMetadata: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AudioPlayer.vue.d.ts","sourceRoot":"","sources":["../../src/media-controls/AudioPlayer.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AudioPlayer.vue.d.ts","sourceRoot":"","sources":["../../src/media-controls/AudioPlayer.vue"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { type ProctoringClient } from "@a4anthony/proctorkit-sdk";
|
|
2
|
-
import
|
|
2
|
+
import { type MicrophoneAttentionReason } from "../runtime-devices/microphone-attention.js";
|
|
3
|
+
import { type AudioRecorderMicrophoneMessages } from "./audio-recorder-messages.js";
|
|
4
|
+
import type { AudioClipProctoringFallback, MediaClipDataSink, MediaClipDroppedPayload, MediaClipErrorPayload, MediaClipMirrorErrorPayload, MediaClipStartedPayload, MediaClipStoppedPayload, MediaClipUploadedPayload } from "./types.js";
|
|
3
5
|
import { type AudioRecorderPart, type AudioRecorderUi, type MediaPartClasses, type MediaPartStyles, type ProctoringMediaTheme } from "./ui-config.js";
|
|
4
|
-
type AudioRecorderClient = Pick<ProctoringClient, "recordAudioClip"
|
|
6
|
+
type AudioRecorderClient = Pick<ProctoringClient, "recordAudioClip"> & Partial<Pick<ProctoringClient, "holdAudioForCapture">>;
|
|
5
7
|
type __VLS_Props = {
|
|
6
8
|
client?: AudioRecorderClient;
|
|
7
9
|
title?: string;
|
|
@@ -32,6 +34,11 @@ type __VLS_Props = {
|
|
|
32
34
|
* consume an attempt; a failed/dropped take can always be retried.
|
|
33
35
|
*/
|
|
34
36
|
allowedRetakes?: number | null;
|
|
37
|
+
/**
|
|
38
|
+
* Stable opaque identity for this recording. Filename-like values with an
|
|
39
|
+
* extension are accepted. Use a fresh value for each distinct retake.
|
|
40
|
+
*/
|
|
41
|
+
clipId?: string;
|
|
35
42
|
disabled?: boolean;
|
|
36
43
|
maxDurationMs?: number;
|
|
37
44
|
micDeviceId?: string | null;
|
|
@@ -41,15 +48,25 @@ type __VLS_Props = {
|
|
|
41
48
|
unavailableMessage?: string;
|
|
42
49
|
waveformBarCount?: number;
|
|
43
50
|
/**
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
* `{ mimeType, durationMs, clipNumber }`; resolve when your upload
|
|
47
|
-
* succeeds, throw/reject when it fails.
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
+
* Deliver each finalized clip to your own backend as the primary upload.
|
|
52
|
+
* Receives audio as a Blob plus
|
|
53
|
+
* `{ mimeType, durationMs, clipId, clipNumber }`; resolve when your upload
|
|
54
|
+
* succeeds, throw/reject when it fails. `uploaded` waits for this sink and
|
|
55
|
+
* reports `delivery: "client"`; a rejection remains retryable and does not
|
|
56
|
+
* become successful merely because the independent ProctorKit copy succeeds.
|
|
57
|
+
* With an active client, ProctorKit uploads in the background and does not
|
|
58
|
+
* change the candidate-facing result unless `proctoringFallback` is configured.
|
|
59
|
+
* In standalone mode ProctorKit is not used.
|
|
60
|
+
* The optional second callback argument exposes `reportProgress` and
|
|
61
|
+
* an unmount `signal`. Progress drives the circular indicator when
|
|
62
|
+
* `sendClip` is the primary delivery path; ProctorKit progress is not shown.
|
|
51
63
|
*/
|
|
52
64
|
sendClip?: MediaClipDataSink;
|
|
65
|
+
/**
|
|
66
|
+
* Opt in to ProctorKit as a fallback when `sendClip` fails. The mapping is
|
|
67
|
+
* stored with the same durable audio clip and returned by the retrieval API.
|
|
68
|
+
*/
|
|
69
|
+
proctoringFallback?: AudioClipProctoringFallback;
|
|
53
70
|
/**
|
|
54
71
|
* Use the recorder in automatic mode. The manual Record control is
|
|
55
72
|
* hidden immediately; set `startRecording` to `true` when an external
|
|
@@ -68,7 +85,33 @@ type __VLS_Props = {
|
|
|
68
85
|
styles?: MediaPartStyles<AudioRecorderPart>;
|
|
69
86
|
unstyled?: boolean;
|
|
70
87
|
theme?: ProctoringMediaTheme;
|
|
88
|
+
/**
|
|
89
|
+
* Shown when the microphone disconnects mid-take. The take is stopped and
|
|
90
|
+
* does not use up a retake.
|
|
91
|
+
*/
|
|
92
|
+
deviceLostMessage?: string;
|
|
93
|
+
/**
|
|
94
|
+
* Show a hint below the recorder when the microphone needs attention: it
|
|
95
|
+
* would not open, it disconnected, or a finished take was silent. Inside
|
|
96
|
+
* `<ProctoredAssessment>` the hint offers a "Check microphone" button that
|
|
97
|
+
* opens Device settings with only the microphone. Hints never block a
|
|
98
|
+
* take and never discard one. Set `false` to handle `microphoneAttention`
|
|
99
|
+
* yourself.
|
|
100
|
+
*/
|
|
101
|
+
microphoneHints?: boolean;
|
|
102
|
+
/**
|
|
103
|
+
* Also hint during a take when the input stays digitally silent or muted
|
|
104
|
+
* for a few seconds. Off by default: a noise-gated microphone sends the
|
|
105
|
+
* same silence, so this can flag a working microphone. Every take records
|
|
106
|
+
* the same measurement in `volumeAnalysis.inputLiveness` whether or not
|
|
107
|
+
* this is on.
|
|
108
|
+
*/
|
|
109
|
+
liveInputHint?: boolean;
|
|
110
|
+
/** Copy for the microphone hints. */
|
|
111
|
+
microphoneMessages?: Partial<AudioRecorderMicrophoneMessages>;
|
|
71
112
|
};
|
|
113
|
+
declare function checkMicrophone(): void;
|
|
114
|
+
declare function retryPrimaryUpload(): Promise<void>;
|
|
72
115
|
declare function toggleRecording(): Promise<void>;
|
|
73
116
|
declare var __VLS_1: {
|
|
74
117
|
bars: number[];
|
|
@@ -88,6 +131,8 @@ declare var __VLS_1: {
|
|
|
88
131
|
text: string;
|
|
89
132
|
uploaded: {
|
|
90
133
|
kind: import("./types.js", { with: { "resolution-mode": "import" } }).MediaClipKind;
|
|
134
|
+
clipId: string;
|
|
135
|
+
delivery: "client" | "fallback" | "proctorkit" | "local";
|
|
91
136
|
clipNumber: number;
|
|
92
137
|
byteSize: number;
|
|
93
138
|
durationMs: number;
|
|
@@ -102,10 +147,27 @@ declare var __VLS_1: {
|
|
|
102
147
|
peakDb: number;
|
|
103
148
|
silentRatio: number;
|
|
104
149
|
lowVolumeRatio: number;
|
|
150
|
+
inputLiveness?: {
|
|
151
|
+
digitalSilenceRatio: number;
|
|
152
|
+
longestDigitalSilenceMs: number;
|
|
153
|
+
longestMutedMs: number;
|
|
154
|
+
suspendedMs: number;
|
|
155
|
+
noInput: boolean;
|
|
156
|
+
} | undefined;
|
|
105
157
|
} | undefined;
|
|
158
|
+
answerReference?: {
|
|
159
|
+
questionId: string;
|
|
160
|
+
answerFileName: string;
|
|
161
|
+
} | undefined;
|
|
162
|
+
fallbackSelection?: {
|
|
163
|
+
readonly source: "client_reported";
|
|
164
|
+
readonly selectedAt: string;
|
|
165
|
+
} | undefined;
|
|
166
|
+
contentSha256?: string | undefined;
|
|
106
167
|
} | null;
|
|
107
168
|
dropped: {
|
|
108
169
|
kind: import("./types.js", { with: { "resolution-mode": "import" } }).MediaClipKind;
|
|
170
|
+
clipId: string;
|
|
109
171
|
clipNumber: number;
|
|
110
172
|
code: import("./types.js", { with: { "resolution-mode": "import" } }).MediaClipDropCode;
|
|
111
173
|
reason: string;
|
|
@@ -120,6 +182,13 @@ declare var __VLS_1: {
|
|
|
120
182
|
peakDb: number;
|
|
121
183
|
silentRatio: number;
|
|
122
184
|
lowVolumeRatio: number;
|
|
185
|
+
inputLiveness?: {
|
|
186
|
+
digitalSilenceRatio: number;
|
|
187
|
+
longestDigitalSilenceMs: number;
|
|
188
|
+
longestMutedMs: number;
|
|
189
|
+
suspendedMs: number;
|
|
190
|
+
noInput: boolean;
|
|
191
|
+
} | undefined;
|
|
123
192
|
} | undefined;
|
|
124
193
|
} | null;
|
|
125
194
|
}, __VLS_17: {
|
|
@@ -133,16 +202,32 @@ declare var __VLS_1: {
|
|
|
133
202
|
recording: boolean;
|
|
134
203
|
starting: boolean;
|
|
135
204
|
stopping: boolean;
|
|
205
|
+
retrying: boolean;
|
|
206
|
+
retryable: boolean;
|
|
207
|
+
retryTarget: "client" | "canonical" | null;
|
|
208
|
+
mirrorUploading: boolean;
|
|
209
|
+
mirrorProgress: number | null;
|
|
210
|
+
mirrorFailure: {
|
|
211
|
+
kind: import("./types.js", { with: { "resolution-mode": "import" } }).MediaClipKind;
|
|
212
|
+
clipId: string;
|
|
213
|
+
clipNumber: number;
|
|
214
|
+
error: Error;
|
|
215
|
+
message: string;
|
|
216
|
+
} | null;
|
|
136
217
|
busyLabel: string | null;
|
|
218
|
+
uploadLabel: any;
|
|
137
219
|
uploadedLabel: string | null;
|
|
138
220
|
actionLabel: string;
|
|
139
221
|
actionDisabled: boolean;
|
|
140
222
|
showAction: boolean;
|
|
141
223
|
toggle: typeof toggleRecording;
|
|
142
|
-
|
|
224
|
+
retryUpload: typeof retryPrimaryUpload;
|
|
225
|
+
}, __VLS_46: {
|
|
143
226
|
clipNumber: number | null;
|
|
144
227
|
uploaded: {
|
|
145
228
|
kind: import("./types.js", { with: { "resolution-mode": "import" } }).MediaClipKind;
|
|
229
|
+
clipId: string;
|
|
230
|
+
delivery: "client" | "fallback" | "proctorkit" | "local";
|
|
146
231
|
clipNumber: number;
|
|
147
232
|
byteSize: number;
|
|
148
233
|
durationMs: number;
|
|
@@ -157,10 +242,27 @@ declare var __VLS_1: {
|
|
|
157
242
|
peakDb: number;
|
|
158
243
|
silentRatio: number;
|
|
159
244
|
lowVolumeRatio: number;
|
|
245
|
+
inputLiveness?: {
|
|
246
|
+
digitalSilenceRatio: number;
|
|
247
|
+
longestDigitalSilenceMs: number;
|
|
248
|
+
longestMutedMs: number;
|
|
249
|
+
suspendedMs: number;
|
|
250
|
+
noInput: boolean;
|
|
251
|
+
} | undefined;
|
|
160
252
|
} | undefined;
|
|
253
|
+
answerReference?: {
|
|
254
|
+
questionId: string;
|
|
255
|
+
answerFileName: string;
|
|
256
|
+
} | undefined;
|
|
257
|
+
fallbackSelection?: {
|
|
258
|
+
readonly source: "client_reported";
|
|
259
|
+
readonly selectedAt: string;
|
|
260
|
+
} | undefined;
|
|
261
|
+
contentSha256?: string | undefined;
|
|
161
262
|
} | null;
|
|
162
263
|
dropped: {
|
|
163
264
|
kind: import("./types.js", { with: { "resolution-mode": "import" } }).MediaClipKind;
|
|
265
|
+
clipId: string;
|
|
164
266
|
clipNumber: number;
|
|
165
267
|
code: import("./types.js", { with: { "resolution-mode": "import" } }).MediaClipDropCode;
|
|
166
268
|
reason: string;
|
|
@@ -175,6 +277,13 @@ declare var __VLS_1: {
|
|
|
175
277
|
peakDb: number;
|
|
176
278
|
silentRatio: number;
|
|
177
279
|
lowVolumeRatio: number;
|
|
280
|
+
inputLiveness?: {
|
|
281
|
+
digitalSilenceRatio: number;
|
|
282
|
+
longestDigitalSilenceMs: number;
|
|
283
|
+
longestMutedMs: number;
|
|
284
|
+
suspendedMs: number;
|
|
285
|
+
noInput: boolean;
|
|
286
|
+
} | undefined;
|
|
178
287
|
} | undefined;
|
|
179
288
|
} | null;
|
|
180
289
|
error: {
|
|
@@ -194,10 +303,30 @@ declare var __VLS_1: {
|
|
|
194
303
|
peakDb: number;
|
|
195
304
|
silentRatio: number;
|
|
196
305
|
lowVolumeRatio: number;
|
|
306
|
+
inputLiveness?: {
|
|
307
|
+
digitalSilenceRatio: number;
|
|
308
|
+
longestDigitalSilenceMs: number;
|
|
309
|
+
longestMutedMs: number;
|
|
310
|
+
suspendedMs: number;
|
|
311
|
+
noInput: boolean;
|
|
312
|
+
} | undefined;
|
|
197
313
|
} | undefined;
|
|
198
314
|
recording: boolean;
|
|
199
315
|
starting: boolean;
|
|
200
316
|
stopping: boolean;
|
|
317
|
+
retrying: boolean;
|
|
318
|
+
retryable: boolean;
|
|
319
|
+
retryTarget: "client" | "canonical" | null;
|
|
320
|
+
retryUpload: typeof retryPrimaryUpload;
|
|
321
|
+
mirrorUploading: boolean;
|
|
322
|
+
mirrorProgress: number | null;
|
|
323
|
+
mirrorFailure: {
|
|
324
|
+
kind: import("./types.js", { with: { "resolution-mode": "import" } }).MediaClipKind;
|
|
325
|
+
clipId: string;
|
|
326
|
+
clipNumber: number;
|
|
327
|
+
error: Error;
|
|
328
|
+
message: string;
|
|
329
|
+
} | null;
|
|
201
330
|
elapsedMs: number;
|
|
202
331
|
remainingMs: number;
|
|
203
332
|
maxDurationMs: number;
|
|
@@ -205,6 +334,11 @@ declare var __VLS_1: {
|
|
|
205
334
|
clientAvailable: boolean;
|
|
206
335
|
completedTakes: number;
|
|
207
336
|
retakesExhausted: boolean;
|
|
337
|
+
}, __VLS_48: {
|
|
338
|
+
reason: MicrophoneAttentionReason | null;
|
|
339
|
+
text: string | null;
|
|
340
|
+
canCheck: boolean;
|
|
341
|
+
check: typeof checkMicrophone;
|
|
208
342
|
};
|
|
209
343
|
type __VLS_Slots = {} & {
|
|
210
344
|
waveform?: (props: typeof __VLS_1) => any;
|
|
@@ -219,28 +353,49 @@ type __VLS_Slots = {} & {
|
|
|
219
353
|
} & {
|
|
220
354
|
controls?: (props: typeof __VLS_19) => any;
|
|
221
355
|
} & {
|
|
222
|
-
meta?: (props: typeof
|
|
356
|
+
meta?: (props: typeof __VLS_46) => any;
|
|
357
|
+
} & {
|
|
358
|
+
microphoneHint?: (props: typeof __VLS_48) => any;
|
|
223
359
|
};
|
|
224
360
|
declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
225
361
|
error: (payload: MediaClipErrorPayload) => any;
|
|
362
|
+
microphoneAttention: (payload: {
|
|
363
|
+
reason: MicrophoneAttentionReason;
|
|
364
|
+
clipId: string | null;
|
|
365
|
+
deviceId: string | null;
|
|
366
|
+
}) => any;
|
|
226
367
|
stopped: (payload: MediaClipStoppedPayload) => any;
|
|
227
368
|
started: (payload: MediaClipStartedPayload) => any;
|
|
228
369
|
uploaded: (payload: MediaClipUploadedPayload) => any;
|
|
229
370
|
dropped: (payload: MediaClipDroppedPayload) => any;
|
|
230
371
|
"clip-mirror-failed": (payload: MediaClipMirrorErrorPayload) => any;
|
|
372
|
+
deviceLost: (payload: {
|
|
373
|
+
kind: "microphone";
|
|
374
|
+
clipId: string | null;
|
|
375
|
+
}) => any;
|
|
231
376
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
232
377
|
onError?: ((payload: MediaClipErrorPayload) => any) | undefined;
|
|
378
|
+
onMicrophoneAttention?: ((payload: {
|
|
379
|
+
reason: MicrophoneAttentionReason;
|
|
380
|
+
clipId: string | null;
|
|
381
|
+
deviceId: string | null;
|
|
382
|
+
}) => any) | undefined;
|
|
233
383
|
onStopped?: ((payload: MediaClipStoppedPayload) => any) | undefined;
|
|
234
384
|
onStarted?: ((payload: MediaClipStartedPayload) => any) | undefined;
|
|
235
385
|
onUploaded?: ((payload: MediaClipUploadedPayload) => any) | undefined;
|
|
236
386
|
onDropped?: ((payload: MediaClipDroppedPayload) => any) | undefined;
|
|
237
387
|
"onClip-mirror-failed"?: ((payload: MediaClipMirrorErrorPayload) => any) | undefined;
|
|
388
|
+
onDeviceLost?: ((payload: {
|
|
389
|
+
kind: "microphone";
|
|
390
|
+
clipId: string | null;
|
|
391
|
+
}) => any) | undefined;
|
|
238
392
|
}>, {
|
|
239
393
|
autoStart: boolean;
|
|
240
394
|
title: string;
|
|
241
395
|
description: string;
|
|
242
396
|
disabled: boolean;
|
|
243
397
|
maxDurationMs: number;
|
|
398
|
+
clipId: string;
|
|
244
399
|
stream: MediaStream;
|
|
245
400
|
stopLabel: string;
|
|
246
401
|
hideMetadata: boolean;
|
|
@@ -252,7 +407,12 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}
|
|
|
252
407
|
unavailableMessage: string;
|
|
253
408
|
waveformBarCount: number;
|
|
254
409
|
sendClip: MediaClipDataSink;
|
|
410
|
+
proctoringFallback: AudioClipProctoringFallback;
|
|
255
411
|
startRecording: boolean;
|
|
412
|
+
deviceLostMessage: string;
|
|
413
|
+
microphoneHints: boolean;
|
|
414
|
+
liveInputHint: boolean;
|
|
415
|
+
microphoneMessages: Partial<AudioRecorderMicrophoneMessages>;
|
|
256
416
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
257
417
|
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
|
|
258
418
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AudioRecorder.vue.d.ts","sourceRoot":"","sources":["../../src/media-controls/AudioRecorder.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AudioRecorder.vue.d.ts","sourceRoot":"","sources":["../../src/media-controls/AudioRecorder.vue"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { CSSProperties, HTMLAttributes } from "vue";
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
label: string;
|
|
4
|
+
progress: number | null;
|
|
5
|
+
containerClass?: HTMLAttributes["class"];
|
|
6
|
+
containerStyle?: CSSProperties;
|
|
7
|
+
progressClass?: HTMLAttributes["class"];
|
|
8
|
+
progressStyle?: CSSProperties;
|
|
9
|
+
labelClass?: HTMLAttributes["class"];
|
|
10
|
+
labelStyle?: CSSProperties;
|
|
11
|
+
indicatorClass?: HTMLAttributes["class"];
|
|
12
|
+
indicatorStyle?: CSSProperties;
|
|
13
|
+
unstyled?: boolean;
|
|
14
|
+
};
|
|
15
|
+
declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
16
|
+
export default _default;
|
|
17
|
+
//# sourceMappingURL=RecorderUploadIndicator.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RecorderUploadIndicator.vue.d.ts","sourceRoot":"","sources":["../../src/media-controls/RecorderUploadIndicator.vue"],"names":[],"mappings":"AAkFA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAEzD,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,cAAc,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACzC,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,aAAa,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACxC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,UAAU,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACrC,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,cAAc,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACzC,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;;AA2FF,wBAMG"}
|
|
@@ -1,10 +1,15 @@
|
|
|
1
|
-
import type { ProctoringClient } from "@a4anthony/proctorkit-sdk";
|
|
1
|
+
import type { PlaybackRecoveryState, ProctoringClient } from "@a4anthony/proctorkit-sdk";
|
|
2
2
|
import type { MediaPlaybackThrownErrorPayload } from "./types.js";
|
|
3
3
|
import { type MediaPartClasses, type MediaPartStyles, type ProctoringMediaTheme, type VideoPlayerPart, type VideoPlayerUi } from "./ui-config.js";
|
|
4
4
|
type VideoPlayerClient = Pick<ProctoringClient, "playVideoFile">;
|
|
5
5
|
type __VLS_Props = {
|
|
6
6
|
client?: VideoPlayerClient;
|
|
7
7
|
url: string | URL;
|
|
8
|
+
fallbackUrl?: string | URL;
|
|
9
|
+
sourceLoadTimeoutMs?: number;
|
|
10
|
+
retryLabel?: string;
|
|
11
|
+
outputSettingsLabel?: string;
|
|
12
|
+
showOutputSettings?: boolean;
|
|
8
13
|
label?: string;
|
|
9
14
|
playLabel?: string;
|
|
10
15
|
replayLabel?: string;
|
|
@@ -68,6 +73,10 @@ declare var __VLS_1: {
|
|
|
68
73
|
}, __VLS_15: {
|
|
69
74
|
status: import("./useMediaFilePlayback.js", { with: { "resolution-mode": "import" } }).MediaPlaybackStatus;
|
|
70
75
|
play: () => Promise<void>;
|
|
76
|
+
retry: () => Promise<void>;
|
|
77
|
+
showRetry: boolean;
|
|
78
|
+
canRetry: boolean;
|
|
79
|
+
retryPending: boolean;
|
|
71
80
|
pause: () => void;
|
|
72
81
|
stop: () => void;
|
|
73
82
|
canPlay: boolean;
|
|
@@ -75,18 +84,23 @@ declare var __VLS_1: {
|
|
|
75
84
|
primaryLabel: string;
|
|
76
85
|
showPrimary: boolean;
|
|
77
86
|
}, __VLS_17: {
|
|
87
|
+
retry: () => Promise<void>;
|
|
88
|
+
disabled: boolean;
|
|
89
|
+
pending: boolean;
|
|
90
|
+
label: string;
|
|
91
|
+
}, __VLS_33: {
|
|
78
92
|
play: () => Promise<void>;
|
|
79
93
|
disabled: boolean;
|
|
80
94
|
label: string;
|
|
81
|
-
},
|
|
95
|
+
}, __VLS_42: {
|
|
82
96
|
pause: () => void;
|
|
83
97
|
disabled: boolean;
|
|
84
98
|
label: string;
|
|
85
|
-
},
|
|
99
|
+
}, __VLS_51: {
|
|
86
100
|
stop: () => void;
|
|
87
101
|
disabled: boolean;
|
|
88
102
|
label: string;
|
|
89
|
-
},
|
|
103
|
+
}, __VLS_60: {
|
|
90
104
|
status: import("./useMediaFilePlayback.js", { with: { "resolution-mode": "import" } }).MediaPlaybackStatus;
|
|
91
105
|
errorMessage: string | null;
|
|
92
106
|
playCount: number;
|
|
@@ -113,19 +127,23 @@ type __VLS_Slots = {} & {
|
|
|
113
127
|
} & {
|
|
114
128
|
controls?: (props: typeof __VLS_15) => any;
|
|
115
129
|
} & {
|
|
116
|
-
'
|
|
130
|
+
'retry-button'?: (props: typeof __VLS_17) => any;
|
|
117
131
|
} & {
|
|
118
|
-
'
|
|
132
|
+
'play-button'?: (props: typeof __VLS_33) => any;
|
|
119
133
|
} & {
|
|
120
|
-
'
|
|
134
|
+
'pause-button'?: (props: typeof __VLS_42) => any;
|
|
121
135
|
} & {
|
|
122
|
-
|
|
136
|
+
'stop-button'?: (props: typeof __VLS_51) => any;
|
|
137
|
+
} & {
|
|
138
|
+
meta?: (props: typeof __VLS_60) => any;
|
|
123
139
|
};
|
|
124
140
|
declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
125
141
|
error: (payload: MediaPlaybackThrownErrorPayload | import("./types.js", { with: { "resolution-mode": "import" } }).MediaPlaybackErrorPayload) => any;
|
|
126
142
|
ended: (payload: import("./types.js", { with: { "resolution-mode": "import" } }).MediaPlaybackEventPayload) => any;
|
|
127
143
|
paused: (payload: import("./types.js", { with: { "resolution-mode": "import" } }).MediaPlaybackEventPayload) => any;
|
|
128
144
|
stopped: (payload: import("./types.js", { with: { "resolution-mode": "import" } }).MediaPlaybackEventPayload) => any;
|
|
145
|
+
recoveryStateChange: (state: PlaybackRecoveryState) => any;
|
|
146
|
+
outputSettingsRequested: () => any;
|
|
129
147
|
started: (payload: import("./types.js", { with: { "resolution-mode": "import" } }).MediaPlaybackEventPayload) => any;
|
|
130
148
|
replayLimitReached: (payload: import("./types.js", { with: { "resolution-mode": "import" } }).MediaReplayLimitReachedPayload) => any;
|
|
131
149
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
@@ -133,6 +151,8 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}
|
|
|
133
151
|
onEnded?: ((payload: import("./types.js", { with: { "resolution-mode": "import" } }).MediaPlaybackEventPayload) => any) | undefined;
|
|
134
152
|
onPaused?: ((payload: import("./types.js", { with: { "resolution-mode": "import" } }).MediaPlaybackEventPayload) => any) | undefined;
|
|
135
153
|
onStopped?: ((payload: import("./types.js", { with: { "resolution-mode": "import" } }).MediaPlaybackEventPayload) => any) | undefined;
|
|
154
|
+
onRecoveryStateChange?: ((state: PlaybackRecoveryState) => any) | undefined;
|
|
155
|
+
onOutputSettingsRequested?: (() => any) | undefined;
|
|
136
156
|
onStarted?: ((payload: import("./types.js", { with: { "resolution-mode": "import" } }).MediaPlaybackEventPayload) => any) | undefined;
|
|
137
157
|
onReplayLimitReached?: ((payload: import("./types.js", { with: { "resolution-mode": "import" } }).MediaReplayLimitReachedPayload) => any) | undefined;
|
|
138
158
|
}>, {
|
|
@@ -140,20 +160,23 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}
|
|
|
140
160
|
size: "sm" | "md" | "lg" | "xl" | "full";
|
|
141
161
|
disabled: boolean;
|
|
142
162
|
muted: boolean;
|
|
163
|
+
retryLabel: string;
|
|
143
164
|
autoplay: boolean;
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
loop: boolean;
|
|
147
|
-
playbackRate: number;
|
|
148
|
-
volume: number;
|
|
165
|
+
outputSettingsLabel: string;
|
|
166
|
+
showOutputSettings: boolean;
|
|
149
167
|
playLabel: string;
|
|
150
168
|
replayLabel: string;
|
|
151
169
|
pauseLabel: string;
|
|
152
170
|
stopLabel: string;
|
|
153
171
|
allowedReplays: number | null;
|
|
172
|
+
loop: boolean;
|
|
173
|
+
volume: number;
|
|
174
|
+
playbackRate: number;
|
|
154
175
|
showPauseButton: boolean;
|
|
155
176
|
showStopButton: boolean;
|
|
156
177
|
hideMetadata: boolean;
|
|
178
|
+
poster: string;
|
|
179
|
+
playsInline: boolean;
|
|
157
180
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
158
181
|
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
|
|
159
182
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VideoPlayer.vue.d.ts","sourceRoot":"","sources":["../../src/media-controls/VideoPlayer.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"VideoPlayer.vue.d.ts","sourceRoot":"","sources":["../../src/media-controls/VideoPlayer.vue"],"names":[],"mappings":"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"}
|