videomail-client 13.1.3 → 13.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/dist/cjs/index.cjs +85 -82
- package/dist/esm/index.js +54 -52
- package/dist/esm/types/Videomail.d.ts +1 -0
- package/dist/esm/wrappers/form.d.ts +2 -0
- package/dist/umd/index.js +51 -49
- package/package.json +12 -12
package/dist/esm/index.js
CHANGED
|
@@ -13,15 +13,15 @@ import websocket_stream from "websocket-stream";
|
|
|
13
13
|
import audio_sample from "audio-sample";
|
|
14
14
|
import is_power_of_two from "is-power-of-two";
|
|
15
15
|
var __webpack_modules__ = {
|
|
16
|
-
"./node_modules/@
|
|
16
|
+
"./node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[13].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[13].use[2]!./node_modules/stylus-loader/dist/cjs.js??ruleSet[1].rules[13].use[3]!./src/styles/main.styl": function(module, __webpack_exports__, __webpack_require__) {
|
|
17
17
|
__webpack_require__.d(__webpack_exports__, {
|
|
18
18
|
A: ()=>__WEBPACK_DEFAULT_EXPORT__
|
|
19
19
|
});
|
|
20
|
-
var
|
|
21
|
-
var
|
|
22
|
-
var
|
|
23
|
-
var
|
|
24
|
-
var ___CSS_LOADER_EXPORT___ =
|
|
20
|
+
var _node_modules_rsbuild_core_compiled_css_loader_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./node_modules/@rsbuild/core/compiled/css-loader/noSourceMaps.js");
|
|
21
|
+
var _node_modules_rsbuild_core_compiled_css_loader_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/ __webpack_require__.n(_node_modules_rsbuild_core_compiled_css_loader_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
22
|
+
var _node_modules_rsbuild_core_compiled_css_loader_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./node_modules/@rsbuild/core/compiled/css-loader/api.js");
|
|
23
|
+
var _node_modules_rsbuild_core_compiled_css_loader_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(_node_modules_rsbuild_core_compiled_css_loader_api_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
24
|
+
var ___CSS_LOADER_EXPORT___ = _node_modules_rsbuild_core_compiled_css_loader_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_rsbuild_core_compiled_css_loader_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default());
|
|
25
25
|
___CSS_LOADER_EXPORT___.push([
|
|
26
26
|
module.id,
|
|
27
27
|
`@keyframes blink {
|
|
@@ -3320,7 +3320,7 @@ var __webpack_modules__ = {
|
|
|
3320
3320
|
return tryTypedArrays(value);
|
|
3321
3321
|
};
|
|
3322
3322
|
},
|
|
3323
|
-
"./node_modules/@
|
|
3323
|
+
"./node_modules/@rsbuild/core/compiled/css-loader/api.js": function(module) {
|
|
3324
3324
|
module.exports = function(cssWithMappingToString) {
|
|
3325
3325
|
var list = [];
|
|
3326
3326
|
list.toString = function() {
|
|
@@ -3373,12 +3373,12 @@ var __webpack_modules__ = {
|
|
|
3373
3373
|
return list;
|
|
3374
3374
|
};
|
|
3375
3375
|
},
|
|
3376
|
-
"./node_modules/@
|
|
3376
|
+
"./node_modules/@rsbuild/core/compiled/css-loader/noSourceMaps.js": function(module) {
|
|
3377
3377
|
module.exports = function(i) {
|
|
3378
3378
|
return i[1];
|
|
3379
3379
|
};
|
|
3380
3380
|
},
|
|
3381
|
-
"./node_modules/@
|
|
3381
|
+
"./node_modules/@rsbuild/core/compiled/style-loader/runtime/injectStylesIntoStyleTag.js": function(module) {
|
|
3382
3382
|
var stylesInDOM = [];
|
|
3383
3383
|
function getIndexByIdentifier(identifier) {
|
|
3384
3384
|
var result = -1;
|
|
@@ -3456,7 +3456,7 @@ var __webpack_modules__ = {
|
|
|
3456
3456
|
};
|
|
3457
3457
|
};
|
|
3458
3458
|
},
|
|
3459
|
-
"./node_modules/@
|
|
3459
|
+
"./node_modules/@rsbuild/core/compiled/style-loader/runtime/insertBySelector.js": function(module) {
|
|
3460
3460
|
var memo = {};
|
|
3461
3461
|
function getTarget(target) {
|
|
3462
3462
|
if (void 0 === memo[target]) {
|
|
@@ -3477,7 +3477,7 @@ var __webpack_modules__ = {
|
|
|
3477
3477
|
}
|
|
3478
3478
|
module.exports = insertBySelector;
|
|
3479
3479
|
},
|
|
3480
|
-
"./node_modules/@
|
|
3480
|
+
"./node_modules/@rsbuild/core/compiled/style-loader/runtime/insertStyleElement.js": function(module) {
|
|
3481
3481
|
function insertStyleElement(options) {
|
|
3482
3482
|
var element = document.createElement("style");
|
|
3483
3483
|
options.setAttributes(element, options.attributes);
|
|
@@ -3486,14 +3486,14 @@ var __webpack_modules__ = {
|
|
|
3486
3486
|
}
|
|
3487
3487
|
module.exports = insertStyleElement;
|
|
3488
3488
|
},
|
|
3489
|
-
"./node_modules/@
|
|
3489
|
+
"./node_modules/@rsbuild/core/compiled/style-loader/runtime/setAttributesWithoutAttributes.js": function(module, __unused_webpack_exports, __webpack_require__) {
|
|
3490
3490
|
function setAttributesWithoutAttributes(styleElement) {
|
|
3491
3491
|
var nonce = __webpack_require__.nc;
|
|
3492
3492
|
if (nonce) styleElement.setAttribute("nonce", nonce);
|
|
3493
3493
|
}
|
|
3494
3494
|
module.exports = setAttributesWithoutAttributes;
|
|
3495
3495
|
},
|
|
3496
|
-
"./node_modules/@
|
|
3496
|
+
"./node_modules/@rsbuild/core/compiled/style-loader/runtime/styleDomAPI.js": function(module) {
|
|
3497
3497
|
function apply(styleElement, options, obj) {
|
|
3498
3498
|
var css = "";
|
|
3499
3499
|
if (obj.supports) css += "@supports (".concat(obj.supports, ") {");
|
|
@@ -3529,7 +3529,7 @@ var __webpack_modules__ = {
|
|
|
3529
3529
|
}
|
|
3530
3530
|
module.exports = domAPI;
|
|
3531
3531
|
},
|
|
3532
|
-
"./node_modules/@
|
|
3532
|
+
"./node_modules/@rsbuild/core/compiled/style-loader/runtime/styleTagTransform.js": function(module) {
|
|
3533
3533
|
function styleTagTransform(css, styleElement) {
|
|
3534
3534
|
if (styleElement.styleSheet) styleElement.styleSheet.cssText = css;
|
|
3535
3535
|
else {
|
|
@@ -3606,7 +3606,7 @@ const constants = {
|
|
|
3606
3606
|
}
|
|
3607
3607
|
};
|
|
3608
3608
|
var package_namespaceObject = {
|
|
3609
|
-
rE: "13.
|
|
3609
|
+
rE: "13.2.0"
|
|
3610
3610
|
};
|
|
3611
3611
|
function canPlayType_canPlayType(video, type) {
|
|
3612
3612
|
const canPlayType = video.canPlayType(`video/${type}`);
|
|
@@ -3725,13 +3725,13 @@ function pretty(anything) {
|
|
|
3725
3725
|
return inspect(anything);
|
|
3726
3726
|
}
|
|
3727
3727
|
const util_pretty = pretty;
|
|
3728
|
-
class
|
|
3728
|
+
class HTTPVideomailError extends Error {
|
|
3729
3729
|
code;
|
|
3730
3730
|
status;
|
|
3731
3731
|
explanation;
|
|
3732
3732
|
}
|
|
3733
|
-
const
|
|
3734
|
-
class VideomailError extends
|
|
3733
|
+
const error_HTTPVideomailError = HTTPVideomailError;
|
|
3734
|
+
class VideomailError extends error_HTTPVideomailError {
|
|
3735
3735
|
title = "Error from videomail-client npm package";
|
|
3736
3736
|
location = window.location.href;
|
|
3737
3737
|
logLines;
|
|
@@ -4266,7 +4266,7 @@ function findOriginalExc(exc) {
|
|
|
4266
4266
|
if ("error" in body) {
|
|
4267
4267
|
const message = body.error.message;
|
|
4268
4268
|
const cause = body.error.cause;
|
|
4269
|
-
const error = new
|
|
4269
|
+
const error = new error_HTTPVideomailError(message, {
|
|
4270
4270
|
cause
|
|
4271
4271
|
});
|
|
4272
4272
|
if (body.error.name) error.name = body.error.name;
|
|
@@ -4375,6 +4375,7 @@ class Resource {
|
|
|
4375
4375
|
async post(videomail) {
|
|
4376
4376
|
const newVideomail = this.applyDefaultValues(videomail);
|
|
4377
4377
|
newVideomail[constants.VERSION_LABEL] = package_namespaceObject.rE;
|
|
4378
|
+
newVideomail.recordLocation = window.location.href;
|
|
4378
4379
|
try {
|
|
4379
4380
|
let res;
|
|
4380
4381
|
if (this.options.callbacks.adjustFormDataBeforePosting) {
|
|
@@ -4550,7 +4551,7 @@ const options_options = {
|
|
|
4550
4551
|
}
|
|
4551
4552
|
};
|
|
4552
4553
|
const src_options = options_options;
|
|
4553
|
-
class
|
|
4554
|
+
class CollectLogger {
|
|
4554
4555
|
browser;
|
|
4555
4556
|
logger;
|
|
4556
4557
|
stack = [];
|
|
@@ -4589,37 +4590,37 @@ class CollectLogger_CollectLogger {
|
|
|
4589
4590
|
return this.stack;
|
|
4590
4591
|
}
|
|
4591
4592
|
}
|
|
4592
|
-
const
|
|
4593
|
+
const util_CollectLogger = CollectLogger;
|
|
4593
4594
|
var isTest_process = __webpack_require__("./node_modules/process/browser.js");
|
|
4594
4595
|
function isTest() {
|
|
4595
4596
|
return "test" === isTest_process.env.ENVIRON;
|
|
4596
4597
|
}
|
|
4597
4598
|
const util_isTest = isTest;
|
|
4598
|
-
function
|
|
4599
|
+
function mergeWithDefaultOptions(options = {}) {
|
|
4599
4600
|
const newOptions = deepmerge(src_options, options, {
|
|
4600
4601
|
arrayMerge (_destination, source) {
|
|
4601
4602
|
return source;
|
|
4602
4603
|
}
|
|
4603
4604
|
});
|
|
4604
|
-
const collectLogger = new
|
|
4605
|
+
const collectLogger = new util_CollectLogger(newOptions);
|
|
4605
4606
|
newOptions.logger = collectLogger;
|
|
4606
4607
|
if (util_isTest()) newOptions.verbose = false;
|
|
4607
4608
|
return newOptions;
|
|
4608
4609
|
}
|
|
4609
|
-
const
|
|
4610
|
-
var injectStylesIntoStyleTag = __webpack_require__("./node_modules/@
|
|
4610
|
+
const options_mergeWithDefaultOptions = mergeWithDefaultOptions;
|
|
4611
|
+
var injectStylesIntoStyleTag = __webpack_require__("./node_modules/@rsbuild/core/compiled/style-loader/runtime/injectStylesIntoStyleTag.js");
|
|
4611
4612
|
var injectStylesIntoStyleTag_default = /*#__PURE__*/ __webpack_require__.n(injectStylesIntoStyleTag);
|
|
4612
|
-
var styleDomAPI = __webpack_require__("./node_modules/@
|
|
4613
|
+
var styleDomAPI = __webpack_require__("./node_modules/@rsbuild/core/compiled/style-loader/runtime/styleDomAPI.js");
|
|
4613
4614
|
var styleDomAPI_default = /*#__PURE__*/ __webpack_require__.n(styleDomAPI);
|
|
4614
|
-
var insertBySelector = __webpack_require__("./node_modules/@
|
|
4615
|
+
var insertBySelector = __webpack_require__("./node_modules/@rsbuild/core/compiled/style-loader/runtime/insertBySelector.js");
|
|
4615
4616
|
var insertBySelector_default = /*#__PURE__*/ __webpack_require__.n(insertBySelector);
|
|
4616
|
-
var setAttributesWithoutAttributes = __webpack_require__("./node_modules/@
|
|
4617
|
+
var setAttributesWithoutAttributes = __webpack_require__("./node_modules/@rsbuild/core/compiled/style-loader/runtime/setAttributesWithoutAttributes.js");
|
|
4617
4618
|
var setAttributesWithoutAttributes_default = /*#__PURE__*/ __webpack_require__.n(setAttributesWithoutAttributes);
|
|
4618
|
-
var insertStyleElement = __webpack_require__("./node_modules/@
|
|
4619
|
+
var insertStyleElement = __webpack_require__("./node_modules/@rsbuild/core/compiled/style-loader/runtime/insertStyleElement.js");
|
|
4619
4620
|
var insertStyleElement_default = /*#__PURE__*/ __webpack_require__.n(insertStyleElement);
|
|
4620
|
-
var styleTagTransform = __webpack_require__("./node_modules/@
|
|
4621
|
+
var styleTagTransform = __webpack_require__("./node_modules/@rsbuild/core/compiled/style-loader/runtime/styleTagTransform.js");
|
|
4621
4622
|
var styleTagTransform_default = /*#__PURE__*/ __webpack_require__.n(styleTagTransform);
|
|
4622
|
-
var main = __webpack_require__("./node_modules/@
|
|
4623
|
+
var main = __webpack_require__("./node_modules/@rsbuild/core/compiled/css-loader/index.js??ruleSet[1].rules[13].use[1]!builtin:lightningcss-loader??ruleSet[1].rules[13].use[2]!./node_modules/stylus-loader/dist/cjs.js??ruleSet[1].rules[13].use[3]!./src/styles/main.styl");
|
|
4623
4624
|
var main_options = {};
|
|
4624
4625
|
main_options.styleTagTransform = styleTagTransform_default();
|
|
4625
4626
|
main_options.setAttributes = setAttributesWithoutAttributes_default();
|
|
@@ -4638,7 +4639,7 @@ function limitHeight(height, options, calledFrom) {
|
|
|
4638
4639
|
return limitedHeight;
|
|
4639
4640
|
}
|
|
4640
4641
|
const dimensions_limitHeight = limitHeight;
|
|
4641
|
-
function
|
|
4642
|
+
function getOuterWidth(element) {
|
|
4642
4643
|
let rect = element.getBoundingClientRect();
|
|
4643
4644
|
let outerWidth = rect.right - rect.left;
|
|
4644
4645
|
if (outerWidth < 1) {
|
|
@@ -4647,10 +4648,10 @@ function getOuterWidth_getOuterWidth(element) {
|
|
|
4647
4648
|
}
|
|
4648
4649
|
return outerWidth;
|
|
4649
4650
|
}
|
|
4650
|
-
const
|
|
4651
|
+
const dimensions_getOuterWidth = getOuterWidth;
|
|
4651
4652
|
function limitWidth(element, options, width) {
|
|
4652
4653
|
let limitedWidth;
|
|
4653
|
-
const outerWidth =
|
|
4654
|
+
const outerWidth = dimensions_getOuterWidth(element);
|
|
4654
4655
|
limitedWidth = width && "number" == typeof width ? outerWidth > 0 && outerWidth < width ? outerWidth : width : outerWidth;
|
|
4655
4656
|
if (Number.isInteger(limitedWidth) && limitedWidth < 1) throw error_createError({
|
|
4656
4657
|
message: "Limited width cannot be less than 1!",
|
|
@@ -5081,12 +5082,12 @@ class Buttons extends util_Despot {
|
|
|
5081
5082
|
}
|
|
5082
5083
|
}
|
|
5083
5084
|
const buttons = Buttons;
|
|
5084
|
-
function
|
|
5085
|
+
function isHidden(element) {
|
|
5085
5086
|
if (!element) return true;
|
|
5086
5087
|
const display = element.style.getPropertyValue("display");
|
|
5087
5088
|
return display.includes("none");
|
|
5088
5089
|
}
|
|
5089
|
-
const
|
|
5090
|
+
const html_isHidden = isHidden;
|
|
5090
5091
|
class Countdown {
|
|
5091
5092
|
visuals;
|
|
5092
5093
|
options;
|
|
@@ -5686,7 +5687,7 @@ class Notifier extends util_Despot {
|
|
|
5686
5687
|
}
|
|
5687
5688
|
isVisible() {
|
|
5688
5689
|
if (!this.built) return false;
|
|
5689
|
-
return this.notifyElement && !
|
|
5690
|
+
return this.notifyElement && !html_isHidden(this.notifyElement);
|
|
5690
5691
|
}
|
|
5691
5692
|
isBuilt() {
|
|
5692
5693
|
return this.built;
|
|
@@ -5740,7 +5741,7 @@ function figureMinHeight(height, options) {
|
|
|
5740
5741
|
return minHeight;
|
|
5741
5742
|
}
|
|
5742
5743
|
const dimensions_figureMinHeight = figureMinHeight;
|
|
5743
|
-
function
|
|
5744
|
+
function getRatio(options, videoHeight, videoWidth) {
|
|
5744
5745
|
let ratio = 1;
|
|
5745
5746
|
const hasVideoDimensions = videoHeight && videoWidth;
|
|
5746
5747
|
const desiredHeight = options.video.height;
|
|
@@ -5750,7 +5751,7 @@ function getRatio_getRatio(options, videoHeight, videoWidth) {
|
|
|
5750
5751
|
else if (hasVideoDimensions) ratio = videoHeight / videoWidth;
|
|
5751
5752
|
return ratio;
|
|
5752
5753
|
}
|
|
5753
|
-
const
|
|
5754
|
+
const dimensions_getRatio = getRatio;
|
|
5754
5755
|
function calculateHeight(responsive, videoWidth, options, target, ratio, element) {
|
|
5755
5756
|
let width = videoWidth;
|
|
5756
5757
|
if (width < 1) throw error_createError({
|
|
@@ -5758,7 +5759,7 @@ function calculateHeight(responsive, videoWidth, options, target, ratio, element
|
|
|
5758
5759
|
options
|
|
5759
5760
|
});
|
|
5760
5761
|
if (responsive && element) width = dimensions_limitWidth(element, options, width);
|
|
5761
|
-
const chosenRatio = ratio ??
|
|
5762
|
+
const chosenRatio = ratio ?? dimensions_getRatio(options, void 0, videoWidth);
|
|
5762
5763
|
const height = Math.round(width * chosenRatio);
|
|
5763
5764
|
if (Number.isInteger(height) && height < 1) throw error_createError({
|
|
5764
5765
|
message: "Just calculated a height less than 1 which is wrong.",
|
|
@@ -5774,7 +5775,7 @@ function calculateWidth(responsive, videoHeight, options, ratio) {
|
|
|
5774
5775
|
message: `Height ${height} cannot be smaller than 1 when calculating width.`,
|
|
5775
5776
|
options
|
|
5776
5777
|
});
|
|
5777
|
-
const chosenRatio = ratio ??
|
|
5778
|
+
const chosenRatio = ratio ?? dimensions_getRatio(options, videoHeight);
|
|
5778
5779
|
const calculatedWidth = Math.round(height / chosenRatio);
|
|
5779
5780
|
if (calculatedWidth < 1) throw error_createError({
|
|
5780
5781
|
message: "Calculated width cannot be smaller than 1!",
|
|
@@ -5787,7 +5788,7 @@ const CHANNELS = 1;
|
|
|
5787
5788
|
function getAudioContextClass() {
|
|
5788
5789
|
return window.AudioContext;
|
|
5789
5790
|
}
|
|
5790
|
-
class
|
|
5791
|
+
class AudioRecorder {
|
|
5791
5792
|
scriptProcessor;
|
|
5792
5793
|
audioInput;
|
|
5793
5794
|
vcAudioContext;
|
|
@@ -5867,7 +5868,7 @@ class AudioRecorder_AudioRecorder {
|
|
|
5867
5868
|
return -1;
|
|
5868
5869
|
}
|
|
5869
5870
|
}
|
|
5870
|
-
const
|
|
5871
|
+
const media_AudioRecorder = AudioRecorder;
|
|
5871
5872
|
function getFirstVideoTrack(localMediaStream) {
|
|
5872
5873
|
const videoTracks = localMediaStream.getVideoTracks();
|
|
5873
5874
|
let videoTrack;
|
|
@@ -5967,7 +5968,7 @@ class UserMedia extends util_Despot {
|
|
|
5967
5968
|
this.onPlayReached = false;
|
|
5968
5969
|
this.onLoadedMetaDataReached = false;
|
|
5969
5970
|
this.playingPromiseReached = false;
|
|
5970
|
-
if (isAudioEnabled(this.options)) this.audioRecorder ??= new
|
|
5971
|
+
if (isAudioEnabled(this.options)) this.audioRecorder ??= new media_AudioRecorder(this, this.options);
|
|
5971
5972
|
const unloadAllEventListeners = ()=>{
|
|
5972
5973
|
this.options.logger.debug("UserMedia: unloadAllEventListeners()");
|
|
5973
5974
|
this.unloadRemainingEventListeners();
|
|
@@ -6671,7 +6672,7 @@ class Recorder extends util_Despot {
|
|
|
6671
6672
|
return this.visuals.isNotifying();
|
|
6672
6673
|
}
|
|
6673
6674
|
isHidden() {
|
|
6674
|
-
return !this.recorderElement ||
|
|
6675
|
+
return !this.recorderElement || html_isHidden(this.recorderElement);
|
|
6675
6676
|
}
|
|
6676
6677
|
writeCommand(command, args, cb) {
|
|
6677
6678
|
if (this.connected) {
|
|
@@ -7087,7 +7088,7 @@ class Recorder extends util_Despot {
|
|
|
7087
7088
|
const userMediaVideoHeight = this.userMedia.getVideoHeight();
|
|
7088
7089
|
if (!userMediaVideoWidth || userMediaVideoWidth < 1) ratio = this.visuals.getRatio();
|
|
7089
7090
|
else if (userMediaVideoHeight) ratio = userMediaVideoHeight / userMediaVideoWidth;
|
|
7090
|
-
} else ratio =
|
|
7091
|
+
} else ratio = dimensions_getRatio(this.options);
|
|
7091
7092
|
return ratio;
|
|
7092
7093
|
}
|
|
7093
7094
|
calculateWidth(responsive) {
|
|
@@ -7362,7 +7363,7 @@ class Replay extends util_Despot {
|
|
|
7362
7363
|
}
|
|
7363
7364
|
isShown() {
|
|
7364
7365
|
if (!this.replayElement) return false;
|
|
7365
|
-
return !
|
|
7366
|
+
return !html_isHidden(this.replayElement) && !this.visuals.isHidden();
|
|
7366
7367
|
}
|
|
7367
7368
|
getVisuals() {
|
|
7368
7369
|
return this.visuals;
|
|
@@ -7573,7 +7574,7 @@ class Visuals extends util_Despot {
|
|
|
7573
7574
|
}
|
|
7574
7575
|
isHidden() {
|
|
7575
7576
|
if (!this.built) return true;
|
|
7576
|
-
return
|
|
7577
|
+
return html_isHidden(this.visualsElement);
|
|
7577
7578
|
}
|
|
7578
7579
|
showVisuals() {
|
|
7579
7580
|
html_showElement(this.visualsElement);
|
|
@@ -7713,7 +7714,7 @@ class Container extends util_Despot {
|
|
|
7713
7714
|
}
|
|
7714
7715
|
getFormElement() {
|
|
7715
7716
|
let formElement;
|
|
7716
|
-
if (this.containerElement
|
|
7717
|
+
if (this.containerElement?.tagName === "FORM") formElement = this.containerElement;
|
|
7717
7718
|
else if (this.options.selectors.formId) {
|
|
7718
7719
|
formElement = document.querySelector(`#${this.options.selectors.formId}`);
|
|
7719
7720
|
if (formElement && "FORM" !== formElement.tagName) throw new Error(`HTML element with ID ${this.options.selectors.formId} is not a form.`);
|
|
@@ -7968,11 +7969,12 @@ class Container extends util_Despot {
|
|
|
7968
7969
|
const name = invalidInput.getAttribute("name");
|
|
7969
7970
|
const validity = util_getValidity(invalidInput);
|
|
7970
7971
|
valid = false;
|
|
7971
|
-
if (name) {
|
|
7972
|
+
if (name) if (validity?.valueMissing) whyInvalid = `Please fill out field "${name}" ⚠️`;
|
|
7973
|
+
else {
|
|
7974
|
+
whyInvalid = `Input "${name}" seems wrong 🤔`;
|
|
7972
7975
|
invalidData = {
|
|
7973
7976
|
[name]: invalidInput.getAttribute("value")
|
|
7974
7977
|
};
|
|
7975
|
-
whyInvalid = validity?.valueMissing ? `Please fill out field "${name}" ⚠️` : `Input "${name}" seems wrong 🤔`;
|
|
7976
7978
|
}
|
|
7977
7979
|
} else if (!this.areVisualsHidden() && !visualsValid) {
|
|
7978
7980
|
if (this.buttonsAreReady() || this.isRecording() || this.isPaused() || this.isCountingDown()) {
|
|
@@ -8139,7 +8141,7 @@ class VideomailClient extends util_Despot {
|
|
|
8139
8141
|
static ENC_TYPE_APP_JSON = constants["public"].ENC_TYPE_APP_JSON;
|
|
8140
8142
|
static ENC_TYPE_FORM = constants["public"].ENC_TYPE_FORM;
|
|
8141
8143
|
constructor(options = {}){
|
|
8142
|
-
super("VideomailClient",
|
|
8144
|
+
super("VideomailClient", options_mergeWithDefaultOptions(options));
|
|
8143
8145
|
this.validateOptions();
|
|
8144
8146
|
util_Despot.removeAllListeners();
|
|
8145
8147
|
this.container = new wrappers_container(this.options);
|
|
@@ -59,6 +59,7 @@ declare class Form extends Despot {
|
|
|
59
59
|
wantedFps?: number;
|
|
60
60
|
wantedInterval?: number;
|
|
61
61
|
} | undefined;
|
|
62
|
+
recordLocation?: string | undefined | undefined;
|
|
62
63
|
replyAllUrl?: string;
|
|
63
64
|
replyUrl?: string;
|
|
64
65
|
sending?: boolean;
|
|
@@ -150,6 +151,7 @@ declare class Form extends Despot {
|
|
|
150
151
|
wantedFps?: number;
|
|
151
152
|
wantedInterval?: number;
|
|
152
153
|
} | undefined;
|
|
154
|
+
recordLocation?: string | undefined | undefined;
|
|
153
155
|
replyAllUrl?: string;
|
|
154
156
|
replyUrl?: string;
|
|
155
157
|
sending?: boolean;
|