@brndts/brndts-ads 1.14.2 → 1.14.3
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/index.js +165 -85
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +165 -85
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
@@ -49920,18 +49920,18 @@ var browserPerformanceTimeOrigin = function() {
|
|
49920
49920
|
// node_modules/@sentry/core/build/esm/utils-hoist/misc.js
|
49921
49921
|
function uuid4() {
|
49922
49922
|
var gbl = GLOBAL_OBJ;
|
49923
|
-
var
|
49923
|
+
var crypto2 = gbl.crypto || gbl.msCrypto;
|
49924
49924
|
var getRandomByte = function() {
|
49925
49925
|
return Math.random() * 16;
|
49926
49926
|
};
|
49927
49927
|
try {
|
49928
|
-
if (
|
49929
|
-
return
|
49928
|
+
if (crypto2 && crypto2.randomUUID) {
|
49929
|
+
return crypto2.randomUUID().replace(/-/g, "");
|
49930
49930
|
}
|
49931
|
-
if (
|
49931
|
+
if (crypto2 && crypto2.getRandomValues) {
|
49932
49932
|
getRandomByte = function() {
|
49933
49933
|
var typedArray = new Uint8Array(1);
|
49934
|
-
|
49934
|
+
crypto2.getRandomValues(typedArray);
|
49935
49935
|
return typedArray[0];
|
49936
49936
|
};
|
49937
49937
|
}
|
@@ -75400,6 +75400,7 @@ var DailymotionMediaElement = /*#__PURE__*/ function(GenericMediaElement) {
|
|
75400
75400
|
var container = document.createElement("div");
|
75401
75401
|
this.rootNode = target;
|
75402
75402
|
container.id = "BRNDTS";
|
75403
|
+
container.dataset.__brndts_k = target.dataset.__brndts_k;
|
75403
75404
|
elements_default.wrap(target, container);
|
75404
75405
|
window.dailymotion.createPlayer(target.id, {
|
75405
75406
|
video: videoId
|
@@ -84296,37 +84297,118 @@ var VideoAd = /*#__PURE__*/ function() {
|
|
84296
84297
|
return VideoAd;
|
84297
84298
|
}();
|
84298
84299
|
// src/Ads/VideoAds/VideoAds.ts
|
84300
|
+
function makeKey() {
|
84301
|
+
var _crypto;
|
84302
|
+
if ((_crypto = crypto) === null || _crypto === void 0 ? void 0 : _crypto.getRandomValues) {
|
84303
|
+
var a = new Uint32Array(2);
|
84304
|
+
crypto.getRandomValues(a);
|
84305
|
+
return a[0].toString(36) + a[1].toString(36);
|
84306
|
+
}
|
84307
|
+
return Math.random().toString(36).slice(2) + Date.now().toString(36);
|
84308
|
+
}
|
84309
|
+
function ensureKey(el) {
|
84310
|
+
if (!el.dataset.__brndts_k) {
|
84311
|
+
var key;
|
84312
|
+
if (el.closest("[data-__brndts_k]")) {
|
84313
|
+
var _el_closest;
|
84314
|
+
key = (_el_closest = el.closest("[data-__brndts_k]")) === null || _el_closest === void 0 ? void 0 : _el_closest.dataset.__brndts_k;
|
84315
|
+
}
|
84316
|
+
el.dataset.__brndts_k = key || makeKey();
|
84317
|
+
}
|
84318
|
+
return el.dataset.__brndts_k;
|
84319
|
+
}
|
84299
84320
|
var VideoAds = /*#__PURE__*/ function() {
|
84300
84321
|
function VideoAds(context) {
|
84301
84322
|
_class_call_check(this, VideoAds);
|
84302
|
-
this.
|
84323
|
+
this.byEl = /* @__PURE__ */ new WeakMap();
|
84324
|
+
// Element -> VideoAd
|
84325
|
+
this.byKey = /* @__PURE__ */ new Map();
|
84326
|
+
// key -> { inst: VideoAd, el: Element }
|
84327
|
+
this.pendingCleanup = /* @__PURE__ */ new Map();
|
84303
84328
|
this.handlePageMutation = this.handlePageMutation.bind(this);
|
84329
|
+
this.attachOrTransfer = this.attachOrTransfer.bind(this);
|
84330
|
+
this.scheduleCleanupIfGone = this.scheduleCleanupIfGone.bind(this);
|
84331
|
+
this.scanAndAttach = functions_default.debounce(this.scanAndAttach.bind(this), 50);
|
84304
84332
|
this.context = context;
|
84305
84333
|
}
|
84306
84334
|
_create_class(VideoAds, [
|
84307
84335
|
{
|
84308
|
-
key: "
|
84309
|
-
value: function
|
84310
|
-
|
84311
|
-
|
84312
|
-
|
84313
|
-
|
84314
|
-
|
84315
|
-
|
84316
|
-
|
84317
|
-
|
84336
|
+
key: "attachOrTransfer",
|
84337
|
+
value: function attachOrTransfer(el) {
|
84338
|
+
if (!_instanceof(el, Element)) {
|
84339
|
+
return;
|
84340
|
+
}
|
84341
|
+
;
|
84342
|
+
var key = ensureKey(el);
|
84343
|
+
var known = this.byKey.get(key);
|
84344
|
+
if (known) {
|
84345
|
+
if (known.el !== el) {
|
84346
|
+
var tid = this.pendingCleanup.get(key);
|
84347
|
+
if (tid) {
|
84348
|
+
clearTimeout(tid);
|
84349
|
+
this.pendingCleanup.delete(key);
|
84318
84350
|
}
|
84351
|
+
var inst2 = known.inst;
|
84352
|
+
this.byEl.delete(known.el);
|
84353
|
+
this.byEl.set(el, inst2);
|
84354
|
+
known.el = el;
|
84355
|
+
this.byKey.set(key, known);
|
84319
84356
|
}
|
84320
|
-
|
84321
|
-
|
84322
|
-
|
84323
|
-
|
84324
|
-
|
84325
|
-
|
84326
|
-
|
84327
|
-
|
84328
|
-
|
84357
|
+
return;
|
84358
|
+
}
|
84359
|
+
var inst = new VideoAd(this.context, el);
|
84360
|
+
this.byEl.set(el, inst);
|
84361
|
+
this.byKey.set(key, {
|
84362
|
+
inst: inst,
|
84363
|
+
el: el
|
84364
|
+
});
|
84365
|
+
inst.start();
|
84366
|
+
}
|
84367
|
+
},
|
84368
|
+
{
|
84369
|
+
// --- cleanup when nodes are actually gone (with a grace period) ---
|
84370
|
+
key: "scheduleCleanupIfGone",
|
84371
|
+
value: function scheduleCleanupIfGone(el) {
|
84372
|
+
var _this = this;
|
84373
|
+
var delayMs = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 800;
|
84374
|
+
var _el_dataset;
|
84375
|
+
var key = (_el_dataset = el.dataset) === null || _el_dataset === void 0 ? void 0 : _el_dataset.__brndts_k;
|
84376
|
+
if (!key) {
|
84377
|
+
return;
|
84378
|
+
}
|
84379
|
+
if (!this.byKey.has(key) || this.pendingCleanup.has(key)) {
|
84380
|
+
return;
|
84381
|
+
}
|
84382
|
+
var tid = setTimeout(function() {
|
84383
|
+
var entry = _this.byKey.get(key);
|
84384
|
+
if (entry && !entry.el.isConnected) {
|
84385
|
+
var _entry_inst_destroy, _entry_inst;
|
84386
|
+
(_entry_inst_destroy = (_entry_inst = entry.inst).destroy) === null || _entry_inst_destroy === void 0 ? void 0 : _entry_inst_destroy.call(_entry_inst);
|
84387
|
+
_this.byEl.delete(entry.el);
|
84388
|
+
_this.byKey.delete(key);
|
84329
84389
|
}
|
84390
|
+
_this.pendingCleanup.delete(key);
|
84391
|
+
}, delayMs);
|
84392
|
+
this.pendingCleanup.set(key, tid);
|
84393
|
+
}
|
84394
|
+
},
|
84395
|
+
{
|
84396
|
+
// --- DOM wiring: scan + observer ---
|
84397
|
+
key: "scanAndAttach",
|
84398
|
+
value: function scanAndAttach() {
|
84399
|
+
var _this = this;
|
84400
|
+
var medias = MediaElementFactory.getElements(this.context.selectors.targets);
|
84401
|
+
medias.forEach(function(el) {
|
84402
|
+
return _this.attachOrTransfer(el);
|
84403
|
+
});
|
84404
|
+
}
|
84405
|
+
},
|
84406
|
+
{
|
84407
|
+
// small debounce
|
84408
|
+
key: "handleMedias",
|
84409
|
+
value: function handleMedias() {
|
84410
|
+
try {
|
84411
|
+
this.scanAndAttach();
|
84330
84412
|
} catch (error) {
|
84331
84413
|
if (_instanceof(error, Error)) {
|
84332
84414
|
ErrorHandler.handle(error);
|
@@ -84337,49 +84419,41 @@ var VideoAds = /*#__PURE__*/ function() {
|
|
84337
84419
|
{
|
84338
84420
|
key: "start",
|
84339
84421
|
value: function start() {
|
84422
|
+
var _this = this;
|
84340
84423
|
if (!this.context.supports.api) {
|
84341
84424
|
this.context.logger.error("Setup failed: no support");
|
84342
84425
|
return;
|
84343
84426
|
}
|
84344
|
-
this.
|
84427
|
+
var medias = MediaElementFactory.getElements(this.context.selectors.targets);
|
84428
|
+
medias.forEach(function(el) {
|
84429
|
+
return _this.attachOrTransfer(el);
|
84430
|
+
});
|
84345
84431
|
}
|
84346
84432
|
},
|
84347
84433
|
{
|
84348
84434
|
key: "handlePageMutation",
|
84349
84435
|
value: function handlePageMutation(mutations) {
|
84350
|
-
var medias = [];
|
84351
84436
|
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
84352
84437
|
try {
|
84353
84438
|
for(var _iterator = mutations[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
84354
|
-
var
|
84355
|
-
|
84356
|
-
|
84357
|
-
|
84358
|
-
|
84359
|
-
|
84360
|
-
|
84361
|
-
|
84362
|
-
|
84363
|
-
|
84364
|
-
|
84365
|
-
|
84366
|
-
|
84367
|
-
}
|
84368
|
-
} catch (err) {
|
84369
|
-
_didIteratorError1 = true;
|
84370
|
-
_iteratorError1 = err;
|
84371
|
-
} finally{
|
84372
|
-
try {
|
84373
|
-
if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
|
84374
|
-
_iterator1.return();
|
84375
|
-
}
|
84376
|
-
} finally{
|
84377
|
-
if (_didIteratorError1) {
|
84378
|
-
throw _iteratorError1;
|
84439
|
+
var rec = _step.value;
|
84440
|
+
rec.removedNodes.forEach(function(n) {
|
84441
|
+
if (n.nodeType === 1) {
|
84442
|
+
var stack = [
|
84443
|
+
n
|
84444
|
+
];
|
84445
|
+
while(stack.length){
|
84446
|
+
var _node_dataset;
|
84447
|
+
var node = stack.pop();
|
84448
|
+
if ((_node_dataset = node.dataset) === null || _node_dataset === void 0 ? void 0 : _node_dataset.__brndts_k) {}
|
84449
|
+
;
|
84450
|
+
for(var c = node.firstElementChild; c; c = c.nextElementSibling){
|
84451
|
+
stack.push(c);
|
84379
84452
|
}
|
84453
|
+
;
|
84380
84454
|
}
|
84381
84455
|
}
|
84382
|
-
}
|
84456
|
+
});
|
84383
84457
|
}
|
84384
84458
|
} catch (err) {
|
84385
84459
|
_didIteratorError = true;
|
@@ -84395,58 +84469,64 @@ var VideoAds = /*#__PURE__*/ function() {
|
|
84395
84469
|
}
|
84396
84470
|
}
|
84397
84471
|
}
|
84398
|
-
|
84399
|
-
if (!medias[index] || medias[index].closest("#BRNDTS_R") || medias[index].querySelector("#BRNDTS_R") || medias[index].brndts_VE !== void 0) {
|
84400
|
-
continue;
|
84401
|
-
}
|
84402
|
-
var videoAd = new VideoAd(this.context, medias[index]);
|
84403
|
-
this.videoAdElements.push(videoAd);
|
84404
|
-
videoAd.start();
|
84405
|
-
}
|
84472
|
+
this.scanAndAttach();
|
84406
84473
|
}
|
84407
84474
|
},
|
84408
84475
|
{
|
84409
84476
|
key: "updateSize",
|
84410
84477
|
value: function updateSize() {
|
84411
|
-
var
|
84412
|
-
|
84413
|
-
|
84414
|
-
|
84415
|
-
|
84416
|
-
|
84417
|
-
} catch (err) {
|
84418
|
-
_didIteratorError = true;
|
84419
|
-
_iteratorError = err;
|
84420
|
-
} finally{
|
84421
|
-
try {
|
84422
|
-
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
84423
|
-
_iterator.return();
|
84424
|
-
}
|
84425
|
-
} finally{
|
84426
|
-
if (_didIteratorError) {
|
84427
|
-
throw _iteratorError;
|
84428
|
-
}
|
84478
|
+
var _this = this;
|
84479
|
+
this.byKey.forEach(function(value2, key) {
|
84480
|
+
var tid = _this.pendingCleanup.get(key);
|
84481
|
+
if (!tid) {
|
84482
|
+
var _value2_inst_updateSize, _value2_inst;
|
84483
|
+
(_value2_inst_updateSize = (_value2_inst = value2.inst).updateSize) === null || _value2_inst_updateSize === void 0 ? void 0 : _value2_inst_updateSize.call(_value2_inst);
|
84429
84484
|
}
|
84430
|
-
}
|
84485
|
+
});
|
84431
84486
|
}
|
84432
84487
|
},
|
84433
84488
|
{
|
84434
84489
|
key: "getVideoAd",
|
84435
84490
|
value: function getVideoAd(index) {
|
84491
|
+
if (this.byKey.size === 0) {
|
84492
|
+
return void 0;
|
84493
|
+
}
|
84436
84494
|
if (index === void 0) {
|
84437
|
-
return this.
|
84495
|
+
return this.byKey.values().next().value.inst;
|
84496
|
+
}
|
84497
|
+
if (index < 0 || index >= this.byKey.size) {
|
84498
|
+
return void 0;
|
84438
84499
|
}
|
84439
|
-
|
84500
|
+
var keys = Array.from(this.byKey.keys());
|
84501
|
+
var key = keys[index];
|
84502
|
+
if (!key) {
|
84503
|
+
return void 0;
|
84504
|
+
}
|
84505
|
+
var entry = this.byKey.get(key);
|
84506
|
+
if (!entry) {
|
84507
|
+
return void 0;
|
84508
|
+
}
|
84509
|
+
return entry.inst;
|
84440
84510
|
}
|
84441
84511
|
},
|
84442
84512
|
{
|
84443
84513
|
key: "destroy",
|
84444
84514
|
value: function destroy() {
|
84515
|
+
var _this = this;
|
84445
84516
|
this.context.logger.log("destroying video ads");
|
84446
|
-
this.
|
84447
|
-
|
84517
|
+
this.byKey.forEach(function(value2, key) {
|
84518
|
+
var _value2_inst_destroy, _value2_inst;
|
84519
|
+
var tid = _this.pendingCleanup.get(key);
|
84520
|
+
if (tid) {
|
84521
|
+
clearTimeout(tid);
|
84522
|
+
_this.pendingCleanup.delete(key);
|
84523
|
+
}
|
84524
|
+
(_value2_inst_destroy = (_value2_inst = value2.inst).destroy) === null || _value2_inst_destroy === void 0 ? void 0 : _value2_inst_destroy.call(_value2_inst);
|
84525
|
+
_this.byEl.delete(value2.el);
|
84526
|
+
_this.byKey.delete(key);
|
84448
84527
|
});
|
84449
|
-
this.
|
84528
|
+
this.pendingCleanup.clear();
|
84529
|
+
this.byEl = /* @__PURE__ */ new WeakMap();
|
84450
84530
|
this.context.logger.log("destroyed video ads");
|
84451
84531
|
}
|
84452
84532
|
}
|