videomail-client 15.11.0 → 16.0.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 +45 -91
- package/dist/cjs/index.cjs +207 -87
- package/dist/esm/index.js +30 -10
- package/dist/esm/resource.d.ts +1 -2
- package/dist/esm/wrappers/container.d.ts +3 -1
- package/dist/umd/index.js +194 -86
- package/package.json +13 -13
package/dist/cjs/index.cjs
CHANGED
|
@@ -10972,7 +10972,7 @@ var __webpack_exports__ = {};
|
|
|
10972
10972
|
var client = __webpack_require__("Q");
|
|
10973
10973
|
var client_default = /*#__PURE__*/ __webpack_require__.n(client);
|
|
10974
10974
|
var package_namespaceObject = {
|
|
10975
|
-
rE: "
|
|
10975
|
+
rE: "16.0.0"
|
|
10976
10976
|
};
|
|
10977
10977
|
function isAudioEnabled(options) {
|
|
10978
10978
|
return Boolean(options.audio.enabled);
|
|
@@ -15099,6 +15099,7 @@ var __webpack_exports__ = {};
|
|
|
15099
15099
|
this.options.logger.debug(`Form: doTheSubmit(${string_pretty(e)})`);
|
|
15100
15100
|
e.preventDefault();
|
|
15101
15101
|
} else this.options.logger.debug("Form: doTheSubmit()");
|
|
15102
|
+
const hasHostAction = this.formElement.hasAttribute("action");
|
|
15102
15103
|
const url = null != (_this_formElement_getAttribute = this.formElement.getAttribute("action")) ? _this_formElement_getAttribute : this.options.apiUrl;
|
|
15103
15104
|
const method = this.formElement.getAttribute("method");
|
|
15104
15105
|
let chosenMethod;
|
|
@@ -15112,7 +15113,7 @@ var __webpack_exports__ = {};
|
|
|
15112
15113
|
default:
|
|
15113
15114
|
chosenMethod = FormMethod.POST;
|
|
15114
15115
|
}
|
|
15115
|
-
if (this.container.hasElement()) yield this.container.submitAll(this.getData(), chosenMethod, url);
|
|
15116
|
+
if (this.container.hasElement()) yield this.container.submitAll(this.getData(), chosenMethod, url, hasHostAction);
|
|
15116
15117
|
return false;
|
|
15117
15118
|
}).call(this);
|
|
15118
15119
|
}
|
|
@@ -15461,7 +15462,7 @@ var __webpack_exports__ = {};
|
|
|
15461
15462
|
audio: {
|
|
15462
15463
|
enabled: false,
|
|
15463
15464
|
switch: false,
|
|
15464
|
-
volume:
|
|
15465
|
+
volume: 1,
|
|
15465
15466
|
bufferSize: "auto"
|
|
15466
15467
|
},
|
|
15467
15468
|
video: {
|
|
@@ -15624,7 +15625,7 @@ var __webpack_exports__ = {};
|
|
|
15624
15625
|
main.A && main.A.locals && main.A.locals;
|
|
15625
15626
|
var document_visibility = __webpack_require__("xF");
|
|
15626
15627
|
var document_visibility_default = /*#__PURE__*/ __webpack_require__.n(document_visibility);
|
|
15627
|
-
/*! @license DOMPurify 3.4.
|
|
15628
|
+
/*! @license DOMPurify 3.4.17 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.17/LICENSE */ function _OverloadYield(e, d) {
|
|
15628
15629
|
this.v = e, this.k = d;
|
|
15629
15630
|
}
|
|
15630
15631
|
function _arrayLikeToArray(r, a) {
|
|
@@ -15746,9 +15747,12 @@ var __webpack_exports__ = {};
|
|
|
15746
15747
|
const arrayLastIndexOf = unapply(Array.prototype.lastIndexOf);
|
|
15747
15748
|
const arrayPop = unapply(Array.prototype.pop);
|
|
15748
15749
|
const arrayPush = unapply(Array.prototype.push);
|
|
15749
|
-
Array.prototype.slice;
|
|
15750
|
+
const arraySlice = unapply(Array.prototype.slice);
|
|
15750
15751
|
const arraySplice = unapply(Array.prototype.splice);
|
|
15751
15752
|
const arrayIsArray = Array.isArray;
|
|
15753
|
+
const setCreate = unconstruct(Set);
|
|
15754
|
+
const setAdd = unapply(Set.prototype.add);
|
|
15755
|
+
const setHas = unapply(Set.prototype.has);
|
|
15752
15756
|
const stringToLowerCase = unapply(String.prototype.toLowerCase);
|
|
15753
15757
|
const stringToString = unapply(String.prototype.toString);
|
|
15754
15758
|
const stringMatch = unapply(String.prototype.match);
|
|
@@ -15854,6 +15858,14 @@ var __webpack_exports__ = {};
|
|
|
15854
15858
|
}
|
|
15855
15859
|
return fallbackValue;
|
|
15856
15860
|
}
|
|
15861
|
+
function lookupAccessor(object, prop) {
|
|
15862
|
+
while(null !== object){
|
|
15863
|
+
const desc = getOwnPropertyDescriptor(object, prop);
|
|
15864
|
+
if (desc) return desc.get ? unapply(desc.get) : null;
|
|
15865
|
+
object = getPrototypeOf(object);
|
|
15866
|
+
}
|
|
15867
|
+
return null;
|
|
15868
|
+
}
|
|
15857
15869
|
function isRegex(value) {
|
|
15858
15870
|
try {
|
|
15859
15871
|
regExpTest(value, "");
|
|
@@ -16540,7 +16552,7 @@ var __webpack_exports__ = {};
|
|
|
16540
16552
|
documentFragment: 11,
|
|
16541
16553
|
notation: 12
|
|
16542
16554
|
};
|
|
16543
|
-
const
|
|
16555
|
+
const LITERAL_TEXT_ELEMENTS = purify_es_freeze(addToSet({}, [
|
|
16544
16556
|
"style",
|
|
16545
16557
|
"script",
|
|
16546
16558
|
"xmp",
|
|
@@ -16549,15 +16561,7 @@ var __webpack_exports__ = {};
|
|
|
16549
16561
|
"noframes",
|
|
16550
16562
|
"plaintext",
|
|
16551
16563
|
"noscript"
|
|
16552
|
-
];
|
|
16553
|
-
const LITERAL_TEXT_ELEMENTS = purify_es_freeze(addToSet({}, LITERAL_TEXT_ELEMENT_NAMES));
|
|
16554
|
-
const LITERAL_TEXT_CLOSE = function() {
|
|
16555
|
-
const map = {};
|
|
16556
|
-
arrayForEach(LITERAL_TEXT_ELEMENT_NAMES, (name)=>{
|
|
16557
|
-
map[name] = purify_es_seal(new RegExp("</" + name + "(?=[\\t\\n\\f\\r />])", "i"));
|
|
16558
|
-
});
|
|
16559
|
-
return purify_es_freeze(map);
|
|
16560
|
-
}();
|
|
16564
|
+
]));
|
|
16561
16565
|
const purify_es_getGlobal = function() {
|
|
16562
16566
|
return "u" < typeof window ? null : window;
|
|
16563
16567
|
};
|
|
@@ -16604,7 +16608,7 @@ var __webpack_exports__ = {};
|
|
|
16604
16608
|
function createDOMPurify() {
|
|
16605
16609
|
let window1 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : purify_es_getGlobal();
|
|
16606
16610
|
const DOMPurify = (root)=>createDOMPurify(root);
|
|
16607
|
-
DOMPurify.version = "3.4.
|
|
16611
|
+
DOMPurify.version = "3.4.17";
|
|
16608
16612
|
DOMPurify.removed = [];
|
|
16609
16613
|
if (!window1 || !window1.document || window1.document.nodeType !== NODE_TYPE.document || !window1.Element) {
|
|
16610
16614
|
DOMPurify.isSupported = false;
|
|
@@ -16636,6 +16640,10 @@ var __webpack_exports__ = {};
|
|
|
16636
16640
|
const _readNodeName = function(node) {
|
|
16637
16641
|
return getNodeName ? getNodeName(node) : node.nodeName;
|
|
16638
16642
|
};
|
|
16643
|
+
const getNamespaceURI = lookupAccessor(ElementPrototype, "namespaceURI");
|
|
16644
|
+
const _readNamespaceURI = function(element) {
|
|
16645
|
+
return getNamespaceURI ? getNamespaceURI(element) : element.namespaceURI;
|
|
16646
|
+
};
|
|
16639
16647
|
if ("function" == typeof HTMLTemplateElement) {
|
|
16640
16648
|
const template = document1.createElement("template");
|
|
16641
16649
|
if (template.content && template.content.ownerDocument) document1 = template.content.ownerDocument;
|
|
@@ -16749,6 +16757,7 @@ var __webpack_exports__ = {};
|
|
|
16749
16757
|
const SANITIZE_NAMED_PROPS_PREFIX = "user-content-";
|
|
16750
16758
|
let KEEP_CONTENT = true;
|
|
16751
16759
|
let IN_PLACE = false;
|
|
16760
|
+
let IN_PLACE_VISITED = null;
|
|
16752
16761
|
let USE_PROFILES = {};
|
|
16753
16762
|
let FORBID_CONTENTS = null;
|
|
16754
16763
|
const DEFAULT_FORBID_CONTENTS = addToSet({}, [
|
|
@@ -17009,18 +17018,27 @@ var __webpack_exports__ = {};
|
|
|
17009
17018
|
return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);
|
|
17010
17019
|
};
|
|
17011
17020
|
const _checkValidNamespace = function(element) {
|
|
17012
|
-
|
|
17013
|
-
|
|
17014
|
-
|
|
17015
|
-
|
|
17016
|
-
|
|
17017
|
-
|
|
17018
|
-
|
|
17019
|
-
|
|
17020
|
-
|
|
17021
|
-
|
|
17022
|
-
|
|
17023
|
-
|
|
17021
|
+
const elementNamespace = _readNamespaceURI(element);
|
|
17022
|
+
const tagName = stringToLowerCase(_readNodeName(element));
|
|
17023
|
+
const parentNode = getParentNode(element);
|
|
17024
|
+
let parent;
|
|
17025
|
+
let parentTagName;
|
|
17026
|
+
if (parentNode && _readNodeType(parentNode) === NODE_TYPE.element) {
|
|
17027
|
+
parent = {
|
|
17028
|
+
namespaceURI: _readNamespaceURI(parentNode)
|
|
17029
|
+
};
|
|
17030
|
+
parentTagName = stringToLowerCase(_readNodeName(parentNode));
|
|
17031
|
+
} else {
|
|
17032
|
+
parent = {
|
|
17033
|
+
namespaceURI: NAMESPACE
|
|
17034
|
+
};
|
|
17035
|
+
parentTagName = "template";
|
|
17036
|
+
}
|
|
17037
|
+
if (!ALLOWED_NAMESPACES[elementNamespace]) return false;
|
|
17038
|
+
if (elementNamespace === SVG_NAMESPACE) return _checkSvgNamespace(tagName, parent, parentTagName);
|
|
17039
|
+
if (elementNamespace === MATHML_NAMESPACE) return _checkMathMlNamespace(tagName, parent, parentTagName);
|
|
17040
|
+
if (elementNamespace === HTML_NAMESPACE) return _checkHtmlNamespace(tagName, parent, parentTagName);
|
|
17041
|
+
if ("application/xhtml+xml" === PARSER_MEDIA_TYPE && ALLOWED_NAMESPACES[elementNamespace]) return true;
|
|
17024
17042
|
return false;
|
|
17025
17043
|
};
|
|
17026
17044
|
const _forceRemove = function(node) {
|
|
@@ -17046,18 +17064,12 @@ var __webpack_exports__ = {};
|
|
|
17046
17064
|
const _neutralizeRoot = function(root) {
|
|
17047
17065
|
_neutralizeSubtree(root);
|
|
17048
17066
|
const childNodes = getChildNodes(root);
|
|
17049
|
-
if (childNodes) {
|
|
17050
|
-
|
|
17051
|
-
|
|
17052
|
-
|
|
17053
|
-
|
|
17054
|
-
|
|
17055
|
-
try {
|
|
17056
|
-
remove(child);
|
|
17057
|
-
} catch (_) {}
|
|
17058
|
-
});
|
|
17059
|
-
}
|
|
17060
|
-
const attributes = getAttributes(root);
|
|
17067
|
+
if (childNodes) arrayForEach(arraySlice(childNodes), (child)=>{
|
|
17068
|
+
try {
|
|
17069
|
+
remove(child);
|
|
17070
|
+
} catch (_) {}
|
|
17071
|
+
});
|
|
17072
|
+
const attributes = _readNodeType(root) === NODE_TYPE.element ? getAttributes(root) : null;
|
|
17061
17073
|
if (attributes) for(let i = attributes.length - 1; i >= 0; --i){
|
|
17062
17074
|
const attribute = attributes[i];
|
|
17063
17075
|
const name = attribute && attribute.name;
|
|
@@ -17098,17 +17110,98 @@ var __webpack_exports__ = {};
|
|
|
17098
17110
|
if ("string" == typeof name && !ALLOWED_ATTR[transformCaseFunc(name)]) _stripAttributeNode(element, attribute, name);
|
|
17099
17111
|
}
|
|
17100
17112
|
};
|
|
17101
|
-
const
|
|
17113
|
+
const _walkTree = function(root, visit) {
|
|
17114
|
+
let intoShadow = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : false;
|
|
17102
17115
|
const stack = [
|
|
17103
17116
|
root
|
|
17104
17117
|
];
|
|
17105
17118
|
while(stack.length > 0){
|
|
17106
17119
|
const node = stack.pop();
|
|
17107
|
-
if (
|
|
17120
|
+
if (false === visit(node)) continue;
|
|
17121
|
+
if (intoShadow && _readNodeType(node) === NODE_TYPE.element) {
|
|
17122
|
+
const shadowRoot = getShadowRoot(node);
|
|
17123
|
+
if (_isDocumentFragment(shadowRoot)) stack.push(shadowRoot);
|
|
17124
|
+
}
|
|
17108
17125
|
const childNodes = getChildNodes(node);
|
|
17109
17126
|
if (childNodes) for(let i = childNodes.length - 1; i >= 0; --i)stack.push(childNodes[i]);
|
|
17110
17127
|
}
|
|
17111
17128
|
};
|
|
17129
|
+
const _neutralizeSubtree = function(root) {
|
|
17130
|
+
_walkTree(root, (node)=>{
|
|
17131
|
+
if (_readNodeType(node) === NODE_TYPE.element) _stripDisallowedAttributes(node);
|
|
17132
|
+
});
|
|
17133
|
+
};
|
|
17134
|
+
const _collectLiveNodes = function(root) {
|
|
17135
|
+
const nodes = [];
|
|
17136
|
+
_walkTree(root, (node)=>{
|
|
17137
|
+
nodes.push(node);
|
|
17138
|
+
}, true);
|
|
17139
|
+
return nodes;
|
|
17140
|
+
};
|
|
17141
|
+
const _neutralizeEscapedElements = function(root, before) {
|
|
17142
|
+
const reachable = setCreate();
|
|
17143
|
+
arrayForEach(_collectLiveNodes(root), (node)=>{
|
|
17144
|
+
if (_readNodeType(node) === NODE_TYPE.element) setAdd(reachable, node);
|
|
17145
|
+
});
|
|
17146
|
+
arrayForEach(before, (node)=>{
|
|
17147
|
+
if (_readNodeType(node) === NODE_TYPE.element && !setHas(reachable, node)) _stripDisallowedAttributes(node);
|
|
17148
|
+
});
|
|
17149
|
+
};
|
|
17150
|
+
const _neutralizeDiscarded = function(root, before) {
|
|
17151
|
+
let rootRemoved = false;
|
|
17152
|
+
arrayForEach(DOMPurify.removed, (entry)=>{
|
|
17153
|
+
if (entry.element) {
|
|
17154
|
+
rootRemoved = rootRemoved || entry.element === root;
|
|
17155
|
+
_neutralizeSubtree(entry.element);
|
|
17156
|
+
}
|
|
17157
|
+
});
|
|
17158
|
+
_neutralizeEscapedElements(root, before);
|
|
17159
|
+
return rootRemoved;
|
|
17160
|
+
};
|
|
17161
|
+
const MAX_UNVISITED_ROUNDS = 8;
|
|
17162
|
+
const _sanitizeUnvisitedNodes = function(root, before) {
|
|
17163
|
+
const visited = IN_PLACE_VISITED;
|
|
17164
|
+
let original = null;
|
|
17165
|
+
const getOriginal = ()=>{
|
|
17166
|
+
if (!original) {
|
|
17167
|
+
original = setCreate();
|
|
17168
|
+
arrayForEach(before, (beforeNode)=>{
|
|
17169
|
+
setAdd(original, beforeNode);
|
|
17170
|
+
});
|
|
17171
|
+
}
|
|
17172
|
+
return original;
|
|
17173
|
+
};
|
|
17174
|
+
for(let round = 0;; round++){
|
|
17175
|
+
const live = _collectLiveNodes(root);
|
|
17176
|
+
const containers = [
|
|
17177
|
+
root
|
|
17178
|
+
];
|
|
17179
|
+
let pending = false;
|
|
17180
|
+
arrayForEach(live, (node)=>{
|
|
17181
|
+
if (_readNodeType(node) === NODE_TYPE.documentFragment) arrayPush(containers, node);
|
|
17182
|
+
else if (!pending && !setHas(visited, node)) pending = setHas(getOriginal(), node);
|
|
17183
|
+
});
|
|
17184
|
+
if (!pending) return;
|
|
17185
|
+
if (round >= MAX_UNVISITED_ROUNDS) throw typeErrorCreate("the tree kept changing during in-place sanitization; refusing to return it");
|
|
17186
|
+
arrayForEach(containers, (container, index)=>{
|
|
17187
|
+
_sanitizeUnvisitedIn(container, index > 0, root, getOriginal());
|
|
17188
|
+
});
|
|
17189
|
+
}
|
|
17190
|
+
};
|
|
17191
|
+
const _sanitizeUnvisitedIn = function(container, inShadow, root, original) {
|
|
17192
|
+
const iterator = _createNodeIterator(container);
|
|
17193
|
+
let node;
|
|
17194
|
+
while(node = iterator.nextNode()){
|
|
17195
|
+
if (!setHas(original, node) || setHas(IN_PLACE_VISITED, node)) continue;
|
|
17196
|
+
if (inShadow) _executeHooks(hooks.uponSanitizeShadowNode, node, null);
|
|
17197
|
+
_sanitizeElements(node, root);
|
|
17198
|
+
_sanitizeAttributes(node, root);
|
|
17199
|
+
if (_isDocumentFragment(node.content)) _sanitizeShadowDOM2(node.content);
|
|
17200
|
+
}
|
|
17201
|
+
};
|
|
17202
|
+
const _markVisited = function(node) {
|
|
17203
|
+
if (IN_PLACE_VISITED) setAdd(IN_PLACE_VISITED, node);
|
|
17204
|
+
};
|
|
17112
17205
|
const _isPatchLinkageAttribute = function(lcName, lcTag) {
|
|
17113
17206
|
if (!SAFE_FOR_XML) return false;
|
|
17114
17207
|
if ("patchsrc" === lcName) return true;
|
|
@@ -17116,17 +17209,13 @@ var __webpack_exports__ = {};
|
|
|
17116
17209
|
};
|
|
17117
17210
|
const _neutralizePatchLinkage = function(root) {
|
|
17118
17211
|
if (!SAFE_FOR_XML) return;
|
|
17119
|
-
|
|
17120
|
-
root
|
|
17121
|
-
];
|
|
17122
|
-
while(stack.length > 0){
|
|
17123
|
-
const node = stack.pop();
|
|
17212
|
+
_walkTree(root, (node)=>{
|
|
17124
17213
|
const nodeType = _readNodeType(node);
|
|
17125
17214
|
if (nodeType === NODE_TYPE.processingInstruction || nodeType === NODE_TYPE.comment && regExpTest(COMMENT_MARKUP_PROBE, node.data)) {
|
|
17126
17215
|
try {
|
|
17127
17216
|
remove(node);
|
|
17128
17217
|
} catch (_) {}
|
|
17129
|
-
|
|
17218
|
+
return false;
|
|
17130
17219
|
}
|
|
17131
17220
|
if (nodeType === NODE_TYPE.element) {
|
|
17132
17221
|
const element = node;
|
|
@@ -17136,9 +17225,8 @@ var __webpack_exports__ = {};
|
|
|
17136
17225
|
if (element.hasAttribute && element.hasAttribute("for") && _isPatchLinkageAttribute("for", lcTag)) element.removeAttribute("for");
|
|
17137
17226
|
} catch (_) {}
|
|
17138
17227
|
}
|
|
17139
|
-
|
|
17140
|
-
|
|
17141
|
-
}
|
|
17228
|
+
return true;
|
|
17229
|
+
});
|
|
17142
17230
|
};
|
|
17143
17231
|
const _initDocument = function(dirty) {
|
|
17144
17232
|
let doc = null;
|
|
@@ -17176,6 +17264,13 @@ var __webpack_exports__ = {};
|
|
|
17176
17264
|
};
|
|
17177
17265
|
const _scrubTemplateExpressions2 = function(node) {
|
|
17178
17266
|
var _node$querySelectorAl;
|
|
17267
|
+
_scrubOwnCharacterData(node);
|
|
17268
|
+
const templates = null == (_node$querySelectorAl = node.querySelectorAll) ? void 0 : _node$querySelectorAl.call(node, "template");
|
|
17269
|
+
if (templates) arrayForEach(templates, (tmpl)=>{
|
|
17270
|
+
if (_isDocumentFragment(tmpl.content)) _scrubTemplateExpressions2(tmpl.content);
|
|
17271
|
+
});
|
|
17272
|
+
};
|
|
17273
|
+
const _scrubOwnCharacterData = function(node) {
|
|
17179
17274
|
node.normalize();
|
|
17180
17275
|
const doc = getOwnerDocument ? getOwnerDocument(node) : node.ownerDocument;
|
|
17181
17276
|
const walker = createNodeIterator.call(doc || node, node, NodeFilter.SHOW_TEXT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_CDATA_SECTION | NodeFilter.SHOW_PROCESSING_INSTRUCTION, null);
|
|
@@ -17184,10 +17279,6 @@ var __webpack_exports__ = {};
|
|
|
17184
17279
|
currentNode.data = _stripTemplateExpressions(currentNode.data);
|
|
17185
17280
|
currentNode = walker.nextNode();
|
|
17186
17281
|
}
|
|
17187
|
-
const templates = null == (_node$querySelectorAl = node.querySelectorAll) ? void 0 : _node$querySelectorAl.call(node, "template");
|
|
17188
|
-
if (templates) arrayForEach(templates, (tmpl)=>{
|
|
17189
|
-
if (_isDocumentFragment(tmpl.content)) _scrubTemplateExpressions2(tmpl.content);
|
|
17190
|
-
});
|
|
17191
17282
|
};
|
|
17192
17283
|
const _isClobbered = function(element) {
|
|
17193
17284
|
const realTagName = getNodeName ? getNodeName(element) : null;
|
|
@@ -17219,7 +17310,7 @@ var __webpack_exports__ = {};
|
|
|
17219
17310
|
}
|
|
17220
17311
|
const _isUnsafeNode = function(currentNode, tagName) {
|
|
17221
17312
|
if (SAFE_FOR_XML && currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(ELEMENT_MARKUP_PROBE, currentNode.textContent) && regExpTest(ELEMENT_MARKUP_PROBE, currentNode.innerHTML)) return true;
|
|
17222
|
-
if (SAFE_FOR_XML && currentNode
|
|
17313
|
+
if (SAFE_FOR_XML && LITERAL_TEXT_ELEMENTS[tagName] && _readNodeType(currentNode) === NODE_TYPE.element && _readNamespaceURI(currentNode) === HTML_NAMESPACE && (_isNode(currentNode.firstElementChild) || "string" == typeof currentNode.textContent && regExpTest(ELEMENT_MARKUP_PROBE, currentNode.textContent))) return true;
|
|
17223
17314
|
if (currentNode.nodeType === NODE_TYPE.processingInstruction) return true;
|
|
17224
17315
|
if (SAFE_FOR_XML && currentNode.nodeType === NODE_TYPE.comment && regExpTest(COMMENT_MARKUP_PROBE, currentNode.data)) return true;
|
|
17225
17316
|
return false;
|
|
@@ -17234,7 +17325,7 @@ var __webpack_exports__ = {};
|
|
|
17234
17325
|
};
|
|
17235
17326
|
const _sanitizeDisallowedNode = function(currentNode, tagName, root) {
|
|
17236
17327
|
if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName) && _matchesNameCheck(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) return false;
|
|
17237
|
-
if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {
|
|
17328
|
+
if (KEEP_CONTENT && !FORBID_CONTENTS[tagName] && !FORBID_CONTENTS[stringToLowerCase(tagName)]) {
|
|
17238
17329
|
const parentNode = getParentNode(currentNode);
|
|
17239
17330
|
const childNodes = getChildNodes(currentNode);
|
|
17240
17331
|
if (childNodes && parentNode) {
|
|
@@ -17258,6 +17349,7 @@ var __webpack_exports__ = {};
|
|
|
17258
17349
|
return true;
|
|
17259
17350
|
};
|
|
17260
17351
|
const _sanitizeElements = function(currentNode, root) {
|
|
17352
|
+
_markVisited(currentNode);
|
|
17261
17353
|
_executeHooks(hooks.beforeSanitizeElements, currentNode, null);
|
|
17262
17354
|
if (_handleHookDetachedNode(currentNode, root)) return true;
|
|
17263
17355
|
if (_isClobbered(currentNode)) {
|
|
@@ -17353,6 +17445,10 @@ var __webpack_exports__ = {};
|
|
|
17353
17445
|
return false;
|
|
17354
17446
|
}
|
|
17355
17447
|
};
|
|
17448
|
+
const _isUnsafeAttributeValue = function(name, value) {
|
|
17449
|
+
if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i, value)) return true;
|
|
17450
|
+
return "attributename" === stringToLowerCase(name) && null !== stringMatch(value, "href");
|
|
17451
|
+
};
|
|
17356
17452
|
const _sanitizeAttributes = function(currentNode, root) {
|
|
17357
17453
|
_executeHooks(hooks.beforeSanitizeAttributes, currentNode, null);
|
|
17358
17454
|
if (_handleHookDetachedNode(currentNode, root)) return;
|
|
@@ -17386,11 +17482,7 @@ var __webpack_exports__ = {};
|
|
|
17386
17482
|
value = SANITIZE_NAMED_PROPS_PREFIX + value;
|
|
17387
17483
|
recreatedNamedProp = true;
|
|
17388
17484
|
}
|
|
17389
|
-
if (
|
|
17390
|
-
_removeAttribute(name, currentNode, attr);
|
|
17391
|
-
continue;
|
|
17392
|
-
}
|
|
17393
|
-
if ("attributename" === lcName && stringMatch(value, "href")) {
|
|
17485
|
+
if (_isUnsafeAttributeValue(name, value)) {
|
|
17394
17486
|
_removeAttribute(name, currentNode, attr);
|
|
17395
17487
|
continue;
|
|
17396
17488
|
}
|
|
@@ -17433,6 +17525,7 @@ var __webpack_exports__ = {};
|
|
|
17433
17525
|
}
|
|
17434
17526
|
}
|
|
17435
17527
|
}
|
|
17528
|
+
if (SAFE_FOR_TEMPLATES) _scrubOwnCharacterData(fragment);
|
|
17436
17529
|
_executeHooks(hooks.afterSanitizeShadowDOM, fragment, null);
|
|
17437
17530
|
};
|
|
17438
17531
|
const _sanitizeAttachedShadowRoots = function(root) {
|
|
@@ -17498,6 +17591,8 @@ var __webpack_exports__ = {};
|
|
|
17498
17591
|
if (hooks.uponSanitizeAttribute.length > 0) ALLOWED_ATTR = clone(ALLOWED_ATTR);
|
|
17499
17592
|
DOMPurify.removed = [];
|
|
17500
17593
|
const inPlace = IN_PLACE && "string" != typeof dirty && _isNode(dirty);
|
|
17594
|
+
let inPlaceNodes = [];
|
|
17595
|
+
const outerVisited = IN_PLACE_VISITED;
|
|
17501
17596
|
if (inPlace) {
|
|
17502
17597
|
_neutralizePatchLinkage(dirty);
|
|
17503
17598
|
const nn = _readNodeName(dirty);
|
|
@@ -17512,12 +17607,8 @@ var __webpack_exports__ = {};
|
|
|
17512
17607
|
_neutralizeRoot(dirty);
|
|
17513
17608
|
throw typeErrorCreate("root node is clobbered and cannot be sanitized in-place");
|
|
17514
17609
|
}
|
|
17515
|
-
|
|
17516
|
-
|
|
17517
|
-
} catch (error) {
|
|
17518
|
-
_neutralizeRoot(dirty);
|
|
17519
|
-
throw error;
|
|
17520
|
-
}
|
|
17610
|
+
inPlaceNodes = _collectLiveNodes(dirty);
|
|
17611
|
+
IN_PLACE_VISITED = setCreate();
|
|
17521
17612
|
} else if (_isNode(dirty)) {
|
|
17522
17613
|
body = _initDocument("<!---->");
|
|
17523
17614
|
importedNode = body.ownerDocument.importNode(dirty, true);
|
|
@@ -17533,30 +17624,25 @@ var __webpack_exports__ = {};
|
|
|
17533
17624
|
if (body && FORCE_BODY) _forceRemove(body.firstChild);
|
|
17534
17625
|
const walkRoot = inPlace ? dirty : body;
|
|
17535
17626
|
try {
|
|
17627
|
+
if (inPlace) _sanitizeAttachedShadowRoots(dirty);
|
|
17536
17628
|
const nodeIterator = _createNodeIterator(walkRoot);
|
|
17537
17629
|
while(currentNode = nodeIterator.nextNode()){
|
|
17538
17630
|
_sanitizeElements(currentNode, walkRoot);
|
|
17539
17631
|
_sanitizeAttributes(currentNode, walkRoot);
|
|
17540
17632
|
if (_isDocumentFragment(currentNode.content)) _sanitizeShadowDOM2(currentNode.content);
|
|
17541
17633
|
}
|
|
17634
|
+
if (inPlace) _sanitizeUnvisitedNodes(dirty, inPlaceNodes);
|
|
17542
17635
|
} catch (error) {
|
|
17543
17636
|
if (inPlace) {
|
|
17544
17637
|
_neutralizeRoot(dirty);
|
|
17545
|
-
|
|
17546
|
-
if (entry.element) _neutralizeSubtree(entry.element);
|
|
17547
|
-
});
|
|
17638
|
+
_neutralizeDiscarded(dirty, inPlaceNodes);
|
|
17548
17639
|
}
|
|
17549
17640
|
throw error;
|
|
17641
|
+
} finally{
|
|
17642
|
+
IN_PLACE_VISITED = outerVisited;
|
|
17550
17643
|
}
|
|
17551
17644
|
if (inPlace) {
|
|
17552
|
-
|
|
17553
|
-
arrayForEach(DOMPurify.removed, (entry)=>{
|
|
17554
|
-
if (entry.element) {
|
|
17555
|
-
if (entry.element === dirty) rootWasRemoved = true;
|
|
17556
|
-
_neutralizeSubtree(entry.element);
|
|
17557
|
-
}
|
|
17558
|
-
});
|
|
17559
|
-
if (rootWasRemoved) throw typeErrorCreate("a node selected for removal could not be safely returned; refusing to sanitize in place");
|
|
17645
|
+
if (_neutralizeDiscarded(dirty, inPlaceNodes)) throw typeErrorCreate("a node selected for removal could not be safely returned; refusing to sanitize in place");
|
|
17560
17646
|
if (SAFE_FOR_TEMPLATES) _scrubTemplateExpressions2(dirty);
|
|
17561
17647
|
return dirty;
|
|
17562
17648
|
}
|
|
@@ -17593,6 +17679,7 @@ var __webpack_exports__ = {};
|
|
|
17593
17679
|
if (!CONFIG) _parseConfig({});
|
|
17594
17680
|
const lcTag = transformCaseFunc(tag);
|
|
17595
17681
|
const lcName = transformCaseFunc(attr);
|
|
17682
|
+
if ("string" == typeof value && (_isUnsafeAttributeValue(attr, value) || !ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(SELF_CLOSING_TAG, value))) return false;
|
|
17596
17683
|
return _isValidAttribute(lcTag, lcName, value);
|
|
17597
17684
|
};
|
|
17598
17685
|
DOMPurify.addHook = function(entryPoint, hookFunction) {
|
|
@@ -19171,7 +19258,8 @@ var __webpack_exports__ = {};
|
|
|
19171
19258
|
const l = this.float32Array.length;
|
|
19172
19259
|
const arr = new Int16Array(l);
|
|
19173
19260
|
this.float32Array.forEach((sample, i)=>{
|
|
19174
|
-
|
|
19261
|
+
const clampedSample = Number.isFinite(sample) ? Math.max(-1, sample) : sample;
|
|
19262
|
+
arr[i] = 0x7fff * Math.min(1, clampedSample);
|
|
19175
19263
|
});
|
|
19176
19264
|
return typedarray_to_buffer(arr);
|
|
19177
19265
|
}
|
|
@@ -19238,10 +19326,9 @@ var __webpack_exports__ = {};
|
|
|
19238
19326
|
});
|
|
19239
19327
|
volume.gain.value = this.options.audio.volume;
|
|
19240
19328
|
this.scriptProcessor = this.getAudioContext().createScriptProcessor(bufferSize, CHANNELS, CHANNELS);
|
|
19241
|
-
this.audioInput.connect(this.scriptProcessor);
|
|
19242
|
-
this.scriptProcessor.connect(this.getAudioContext().destination);
|
|
19243
19329
|
this.audioInput.connect(volume);
|
|
19244
19330
|
volume.connect(this.scriptProcessor);
|
|
19331
|
+
this.scriptProcessor.connect(this.getAudioContext().destination);
|
|
19245
19332
|
}
|
|
19246
19333
|
record(cb) {
|
|
19247
19334
|
this.options.logger.debug("AudioRecorder: record()");
|
|
@@ -21663,6 +21750,19 @@ var __webpack_exports__ = {};
|
|
|
21663
21750
|
else obj[key] = value;
|
|
21664
21751
|
return obj;
|
|
21665
21752
|
}
|
|
21753
|
+
function container_object_spread(target) {
|
|
21754
|
+
for(var i = 1; i < arguments.length; i++){
|
|
21755
|
+
var source = null != arguments[i] ? arguments[i] : {};
|
|
21756
|
+
var ownKeys = Object.keys(source);
|
|
21757
|
+
if ("function" == typeof Object.getOwnPropertySymbols) ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
21758
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
21759
|
+
}));
|
|
21760
|
+
ownKeys.forEach(function(key) {
|
|
21761
|
+
container_define_property(target, key, source[key]);
|
|
21762
|
+
});
|
|
21763
|
+
}
|
|
21764
|
+
return target;
|
|
21765
|
+
}
|
|
21666
21766
|
class Container extends util_Despot {
|
|
21667
21767
|
buildChildren(playerOnly = false, parentElement) {
|
|
21668
21768
|
const parentElementInfo = parentElement ? `, parentElement="${string_pretty(parentElement)}"` : "";
|
|
@@ -21879,6 +21979,7 @@ var __webpack_exports__ = {};
|
|
|
21879
21979
|
this.removeBrowserEventListeners();
|
|
21880
21980
|
this.removeAllListeners();
|
|
21881
21981
|
this.built = this.submitted = false;
|
|
21982
|
+
this.pendingHostSubmission = void 0;
|
|
21882
21983
|
}
|
|
21883
21984
|
}
|
|
21884
21985
|
show(params) {
|
|
@@ -21914,6 +22015,7 @@ var __webpack_exports__ = {};
|
|
|
21914
22015
|
const keepHidden = null == params ? void 0 : params.keepHidden;
|
|
21915
22016
|
this.options.logger.debug(`Container: startOver(keepHidden = ${keepHidden})`);
|
|
21916
22017
|
this.submitted = false;
|
|
22018
|
+
this.pendingHostSubmission = void 0;
|
|
21917
22019
|
const replay = this.getReplay();
|
|
21918
22020
|
replay.hide();
|
|
21919
22021
|
replay.reset();
|
|
@@ -22048,11 +22150,17 @@ var __webpack_exports__ = {};
|
|
|
22048
22150
|
buttonsAreReady() {
|
|
22049
22151
|
return this.buttons.isReady();
|
|
22050
22152
|
}
|
|
22051
|
-
|
|
22153
|
+
getPendingHostSubmissionResponse(key) {
|
|
22154
|
+
var _this_pendingHostSubmission, _this_pendingHostSubmission1;
|
|
22155
|
+
return (null == (_this_pendingHostSubmission = this.pendingHostSubmission) ? void 0 : _this_pendingHostSubmission.key) === key ? null == (_this_pendingHostSubmission1 = this.pendingHostSubmission) ? void 0 : _this_pendingHostSubmission1.response : void 0;
|
|
22156
|
+
}
|
|
22157
|
+
submitAll(formData, method, url, hasHostAction = false) {
|
|
22052
22158
|
return container_async_to_generator(function*() {
|
|
22053
22159
|
let response;
|
|
22160
|
+
let hostResponse;
|
|
22161
|
+
const videomailKey = formData[this.options.selectors.keyInputName];
|
|
22054
22162
|
try {
|
|
22055
|
-
const hasVideomailKey = Boolean(
|
|
22163
|
+
const hasVideomailKey = Boolean(videomailKey);
|
|
22056
22164
|
if (!hasVideomailKey && !this.options.enableAutoSubmission) return;
|
|
22057
22165
|
const output = [
|
|
22058
22166
|
method,
|
|
@@ -22063,7 +22171,18 @@ var __webpack_exports__ = {};
|
|
|
22063
22171
|
if (this.options.disableFormWhenSubmitting) this.disableForm(true);
|
|
22064
22172
|
this.emit("SUBMITTING");
|
|
22065
22173
|
if (hasVideomailKey) {
|
|
22066
|
-
|
|
22174
|
+
var _this_getPendingHostSubmissionResponse;
|
|
22175
|
+
response = null != (_this_getPendingHostSubmissionResponse = this.getPendingHostSubmissionResponse(videomailKey)) ? _this_getPendingHostSubmissionResponse : yield this.submitVideomail(formData, method);
|
|
22176
|
+
if (this.options.enableAutoSubmission && hasHostAction) {
|
|
22177
|
+
if (videomailKey) this.pendingHostSubmission = {
|
|
22178
|
+
key: videomailKey,
|
|
22179
|
+
response
|
|
22180
|
+
};
|
|
22181
|
+
const hostFormData = container_object_spread({}, formData);
|
|
22182
|
+
if (this.options.submitWithVideomail) hostFormData.videomail = response.body.videomail;
|
|
22183
|
+
hostResponse = yield this.resource.form(hostFormData, url);
|
|
22184
|
+
this.pendingHostSubmission = void 0;
|
|
22185
|
+
}
|
|
22067
22186
|
this.submitted = true;
|
|
22068
22187
|
this.emit("SUBMITTED", {
|
|
22069
22188
|
videomail: response.body.videomail,
|
|
@@ -22086,7 +22205,8 @@ var __webpack_exports__ = {};
|
|
|
22086
22205
|
err
|
|
22087
22206
|
});
|
|
22088
22207
|
} finally{
|
|
22089
|
-
|
|
22208
|
+
const finalResponse = null != hostResponse ? hostResponse : response;
|
|
22209
|
+
if ((null == finalResponse ? void 0 : finalResponse.text) && "text/html" === finalResponse.type) document.body.innerHTML = purify_default.sanitize(finalResponse.text);
|
|
22090
22210
|
this.endWaiting();
|
|
22091
22211
|
}
|
|
22092
22212
|
}).call(this);
|
|
@@ -22158,7 +22278,7 @@ var __webpack_exports__ = {};
|
|
|
22158
22278
|
this.visuals.setLimitSeconds(limitSeconds);
|
|
22159
22279
|
}
|
|
22160
22280
|
constructor(options){
|
|
22161
|
-
super("Container", options), container_define_property(this, "visibility", document_visibility_default()()), container_define_property(this, "htmlElement", document.querySelector("html")), container_define_property(this, "visuals", void 0), container_define_property(this, "buttons", void 0), container_define_property(this, "resource", void 0), container_define_property(this, "form", void 0), container_define_property(this, "hasError", false), container_define_property(this, "submitted", false), container_define_property(this, "lastValidation", false), container_define_property(this, "containerElement", void 0), container_define_property(this, "built", false), container_define_property(this, "stopListeningToVisibility", void 0), container_define_property(this, "handleWindowResize", ()=>{
|
|
22281
|
+
super("Container", options), container_define_property(this, "visibility", document_visibility_default()()), container_define_property(this, "htmlElement", document.querySelector("html")), container_define_property(this, "visuals", void 0), container_define_property(this, "buttons", void 0), container_define_property(this, "resource", void 0), container_define_property(this, "form", void 0), container_define_property(this, "hasError", false), container_define_property(this, "submitted", false), container_define_property(this, "pendingHostSubmission", void 0), container_define_property(this, "lastValidation", false), container_define_property(this, "containerElement", void 0), container_define_property(this, "built", false), container_define_property(this, "stopListeningToVisibility", void 0), container_define_property(this, "handleWindowResize", ()=>{
|
|
22162
22282
|
if (this.built) this.emit("WINDOW_RESIZE", "container");
|
|
22163
22283
|
}), container_define_property(this, "handleBeforeUnload", (e)=>{
|
|
22164
22284
|
this.unload({
|