@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.mjs
CHANGED
@@ -49906,18 +49906,18 @@ var browserPerformanceTimeOrigin = function() {
|
|
49906
49906
|
// node_modules/@sentry/core/build/esm/utils-hoist/misc.js
|
49907
49907
|
function uuid4() {
|
49908
49908
|
var gbl = GLOBAL_OBJ;
|
49909
|
-
var
|
49909
|
+
var crypto2 = gbl.crypto || gbl.msCrypto;
|
49910
49910
|
var getRandomByte = function() {
|
49911
49911
|
return Math.random() * 16;
|
49912
49912
|
};
|
49913
49913
|
try {
|
49914
|
-
if (
|
49915
|
-
return
|
49914
|
+
if (crypto2 && crypto2.randomUUID) {
|
49915
|
+
return crypto2.randomUUID().replace(/-/g, "");
|
49916
49916
|
}
|
49917
|
-
if (
|
49917
|
+
if (crypto2 && crypto2.getRandomValues) {
|
49918
49918
|
getRandomByte = function() {
|
49919
49919
|
var typedArray = new Uint8Array(1);
|
49920
|
-
|
49920
|
+
crypto2.getRandomValues(typedArray);
|
49921
49921
|
return typedArray[0];
|
49922
49922
|
};
|
49923
49923
|
}
|
@@ -75487,6 +75487,7 @@ var DailymotionMediaElement = /*#__PURE__*/ function(GenericMediaElement) {
|
|
75487
75487
|
var container = document.createElement("div");
|
75488
75488
|
this.rootNode = target;
|
75489
75489
|
container.id = "BRNDTS";
|
75490
|
+
container.dataset.__brndts_k = target.dataset.__brndts_k;
|
75490
75491
|
elements_default.wrap(target, container);
|
75491
75492
|
window.dailymotion.createPlayer(target.id, {
|
75492
75493
|
video: videoId
|
@@ -84435,38 +84436,119 @@ var VideoAd = /*#__PURE__*/ function() {
|
|
84435
84436
|
return VideoAd;
|
84436
84437
|
}();
|
84437
84438
|
// src/Ads/VideoAds/VideoAds.ts
|
84439
|
+
function makeKey() {
|
84440
|
+
var _crypto;
|
84441
|
+
if ((_crypto = crypto) === null || _crypto === void 0 ? void 0 : _crypto.getRandomValues) {
|
84442
|
+
var a = new Uint32Array(2);
|
84443
|
+
crypto.getRandomValues(a);
|
84444
|
+
return a[0].toString(36) + a[1].toString(36);
|
84445
|
+
}
|
84446
|
+
return Math.random().toString(36).slice(2) + Date.now().toString(36);
|
84447
|
+
}
|
84448
|
+
function ensureKey(el) {
|
84449
|
+
if (!el.dataset.__brndts_k) {
|
84450
|
+
var key;
|
84451
|
+
if (el.closest("[data-__brndts_k]")) {
|
84452
|
+
var _el_closest;
|
84453
|
+
key = (_el_closest = el.closest("[data-__brndts_k]")) === null || _el_closest === void 0 ? void 0 : _el_closest.dataset.__brndts_k;
|
84454
|
+
}
|
84455
|
+
el.dataset.__brndts_k = key || makeKey();
|
84456
|
+
}
|
84457
|
+
return el.dataset.__brndts_k;
|
84458
|
+
}
|
84438
84459
|
var VideoAds = /*#__PURE__*/ function() {
|
84439
84460
|
"use strict";
|
84440
84461
|
function VideoAds(context) {
|
84441
84462
|
_class_call_check(this, VideoAds);
|
84442
|
-
this.
|
84463
|
+
this.byEl = /* @__PURE__ */ new WeakMap();
|
84464
|
+
// Element -> VideoAd
|
84465
|
+
this.byKey = /* @__PURE__ */ new Map();
|
84466
|
+
// key -> { inst: VideoAd, el: Element }
|
84467
|
+
this.pendingCleanup = /* @__PURE__ */ new Map();
|
84443
84468
|
this.handlePageMutation = this.handlePageMutation.bind(this);
|
84469
|
+
this.attachOrTransfer = this.attachOrTransfer.bind(this);
|
84470
|
+
this.scheduleCleanupIfGone = this.scheduleCleanupIfGone.bind(this);
|
84471
|
+
this.scanAndAttach = functions_default.debounce(this.scanAndAttach.bind(this), 50);
|
84444
84472
|
this.context = context;
|
84445
84473
|
}
|
84446
84474
|
_create_class(VideoAds, [
|
84447
84475
|
{
|
84448
|
-
key: "
|
84449
|
-
value: function
|
84450
|
-
|
84451
|
-
|
84452
|
-
|
84453
|
-
|
84454
|
-
|
84455
|
-
|
84456
|
-
|
84457
|
-
|
84476
|
+
key: "attachOrTransfer",
|
84477
|
+
value: function attachOrTransfer(el) {
|
84478
|
+
if (!_instanceof(el, Element)) {
|
84479
|
+
return;
|
84480
|
+
}
|
84481
|
+
;
|
84482
|
+
var key = ensureKey(el);
|
84483
|
+
var known = this.byKey.get(key);
|
84484
|
+
if (known) {
|
84485
|
+
if (known.el !== el) {
|
84486
|
+
var tid = this.pendingCleanup.get(key);
|
84487
|
+
if (tid) {
|
84488
|
+
clearTimeout(tid);
|
84489
|
+
this.pendingCleanup.delete(key);
|
84458
84490
|
}
|
84491
|
+
var inst2 = known.inst;
|
84492
|
+
this.byEl.delete(known.el);
|
84493
|
+
this.byEl.set(el, inst2);
|
84494
|
+
known.el = el;
|
84495
|
+
this.byKey.set(key, known);
|
84459
84496
|
}
|
84460
|
-
|
84461
|
-
|
84462
|
-
|
84463
|
-
|
84464
|
-
|
84465
|
-
|
84466
|
-
|
84467
|
-
|
84468
|
-
|
84497
|
+
return;
|
84498
|
+
}
|
84499
|
+
var inst = new VideoAd(this.context, el);
|
84500
|
+
this.byEl.set(el, inst);
|
84501
|
+
this.byKey.set(key, {
|
84502
|
+
inst: inst,
|
84503
|
+
el: el
|
84504
|
+
});
|
84505
|
+
inst.start();
|
84506
|
+
}
|
84507
|
+
},
|
84508
|
+
{
|
84509
|
+
// --- cleanup when nodes are actually gone (with a grace period) ---
|
84510
|
+
key: "scheduleCleanupIfGone",
|
84511
|
+
value: function scheduleCleanupIfGone(el) {
|
84512
|
+
var _this = this;
|
84513
|
+
var delayMs = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 800;
|
84514
|
+
var _el_dataset;
|
84515
|
+
var key = (_el_dataset = el.dataset) === null || _el_dataset === void 0 ? void 0 : _el_dataset.__brndts_k;
|
84516
|
+
if (!key) {
|
84517
|
+
return;
|
84518
|
+
}
|
84519
|
+
if (!this.byKey.has(key) || this.pendingCleanup.has(key)) {
|
84520
|
+
return;
|
84521
|
+
}
|
84522
|
+
var tid = setTimeout(function() {
|
84523
|
+
var entry = _this.byKey.get(key);
|
84524
|
+
if (entry && !entry.el.isConnected) {
|
84525
|
+
var _entry_inst_destroy, _entry_inst;
|
84526
|
+
(_entry_inst_destroy = (_entry_inst = entry.inst).destroy) === null || _entry_inst_destroy === void 0 ? void 0 : _entry_inst_destroy.call(_entry_inst);
|
84527
|
+
_this.byEl.delete(entry.el);
|
84528
|
+
_this.byKey.delete(key);
|
84469
84529
|
}
|
84530
|
+
_this.pendingCleanup.delete(key);
|
84531
|
+
}, delayMs);
|
84532
|
+
this.pendingCleanup.set(key, tid);
|
84533
|
+
}
|
84534
|
+
},
|
84535
|
+
{
|
84536
|
+
// --- DOM wiring: scan + observer ---
|
84537
|
+
key: "scanAndAttach",
|
84538
|
+
value: function scanAndAttach() {
|
84539
|
+
var _this = this;
|
84540
|
+
var medias = MediaElementFactory.getElements(this.context.selectors.targets);
|
84541
|
+
medias.forEach(function(el) {
|
84542
|
+
return _this.attachOrTransfer(el);
|
84543
|
+
});
|
84544
|
+
}
|
84545
|
+
},
|
84546
|
+
{
|
84547
|
+
// small debounce
|
84548
|
+
key: "handleMedias",
|
84549
|
+
value: function handleMedias() {
|
84550
|
+
try {
|
84551
|
+
this.scanAndAttach();
|
84470
84552
|
} catch (error) {
|
84471
84553
|
if (_instanceof(error, Error)) {
|
84472
84554
|
ErrorHandler.handle(error);
|
@@ -84477,49 +84559,41 @@ var VideoAds = /*#__PURE__*/ function() {
|
|
84477
84559
|
{
|
84478
84560
|
key: "start",
|
84479
84561
|
value: function start() {
|
84562
|
+
var _this = this;
|
84480
84563
|
if (!this.context.supports.api) {
|
84481
84564
|
this.context.logger.error("Setup failed: no support");
|
84482
84565
|
return;
|
84483
84566
|
}
|
84484
|
-
this.
|
84567
|
+
var medias = MediaElementFactory.getElements(this.context.selectors.targets);
|
84568
|
+
medias.forEach(function(el) {
|
84569
|
+
return _this.attachOrTransfer(el);
|
84570
|
+
});
|
84485
84571
|
}
|
84486
84572
|
},
|
84487
84573
|
{
|
84488
84574
|
key: "handlePageMutation",
|
84489
84575
|
value: function handlePageMutation(mutations) {
|
84490
|
-
var medias = [];
|
84491
84576
|
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
84492
84577
|
try {
|
84493
84578
|
for(var _iterator = mutations[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
84494
|
-
var
|
84495
|
-
|
84496
|
-
|
84497
|
-
|
84498
|
-
|
84499
|
-
|
84500
|
-
|
84501
|
-
|
84502
|
-
|
84503
|
-
|
84504
|
-
|
84505
|
-
|
84506
|
-
|
84507
|
-
}
|
84508
|
-
} catch (err) {
|
84509
|
-
_didIteratorError1 = true;
|
84510
|
-
_iteratorError1 = err;
|
84511
|
-
} finally{
|
84512
|
-
try {
|
84513
|
-
if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
|
84514
|
-
_iterator1.return();
|
84515
|
-
}
|
84516
|
-
} finally{
|
84517
|
-
if (_didIteratorError1) {
|
84518
|
-
throw _iteratorError1;
|
84579
|
+
var rec = _step.value;
|
84580
|
+
rec.removedNodes.forEach(function(n) {
|
84581
|
+
if (n.nodeType === 1) {
|
84582
|
+
var stack = [
|
84583
|
+
n
|
84584
|
+
];
|
84585
|
+
while(stack.length){
|
84586
|
+
var _node_dataset;
|
84587
|
+
var node = stack.pop();
|
84588
|
+
if ((_node_dataset = node.dataset) === null || _node_dataset === void 0 ? void 0 : _node_dataset.__brndts_k) {}
|
84589
|
+
;
|
84590
|
+
for(var c = node.firstElementChild; c; c = c.nextElementSibling){
|
84591
|
+
stack.push(c);
|
84519
84592
|
}
|
84593
|
+
;
|
84520
84594
|
}
|
84521
84595
|
}
|
84522
|
-
}
|
84596
|
+
});
|
84523
84597
|
}
|
84524
84598
|
} catch (err) {
|
84525
84599
|
_didIteratorError = true;
|
@@ -84535,58 +84609,64 @@ var VideoAds = /*#__PURE__*/ function() {
|
|
84535
84609
|
}
|
84536
84610
|
}
|
84537
84611
|
}
|
84538
|
-
|
84539
|
-
if (!medias[index] || medias[index].closest("#BRNDTS_R") || medias[index].querySelector("#BRNDTS_R") || medias[index].brndts_VE !== void 0) {
|
84540
|
-
continue;
|
84541
|
-
}
|
84542
|
-
var videoAd = new VideoAd(this.context, medias[index]);
|
84543
|
-
this.videoAdElements.push(videoAd);
|
84544
|
-
videoAd.start();
|
84545
|
-
}
|
84612
|
+
this.scanAndAttach();
|
84546
84613
|
}
|
84547
84614
|
},
|
84548
84615
|
{
|
84549
84616
|
key: "updateSize",
|
84550
84617
|
value: function updateSize() {
|
84551
|
-
var
|
84552
|
-
|
84553
|
-
|
84554
|
-
|
84555
|
-
|
84556
|
-
|
84557
|
-
} catch (err) {
|
84558
|
-
_didIteratorError = true;
|
84559
|
-
_iteratorError = err;
|
84560
|
-
} finally{
|
84561
|
-
try {
|
84562
|
-
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
84563
|
-
_iterator.return();
|
84564
|
-
}
|
84565
|
-
} finally{
|
84566
|
-
if (_didIteratorError) {
|
84567
|
-
throw _iteratorError;
|
84568
|
-
}
|
84618
|
+
var _this = this;
|
84619
|
+
this.byKey.forEach(function(value2, key) {
|
84620
|
+
var tid = _this.pendingCleanup.get(key);
|
84621
|
+
if (!tid) {
|
84622
|
+
var _value2_inst_updateSize, _value2_inst;
|
84623
|
+
(_value2_inst_updateSize = (_value2_inst = value2.inst).updateSize) === null || _value2_inst_updateSize === void 0 ? void 0 : _value2_inst_updateSize.call(_value2_inst);
|
84569
84624
|
}
|
84570
|
-
}
|
84625
|
+
});
|
84571
84626
|
}
|
84572
84627
|
},
|
84573
84628
|
{
|
84574
84629
|
key: "getVideoAd",
|
84575
84630
|
value: function getVideoAd(index) {
|
84631
|
+
if (this.byKey.size === 0) {
|
84632
|
+
return void 0;
|
84633
|
+
}
|
84576
84634
|
if (index === void 0) {
|
84577
|
-
return this.
|
84635
|
+
return this.byKey.values().next().value.inst;
|
84636
|
+
}
|
84637
|
+
if (index < 0 || index >= this.byKey.size) {
|
84638
|
+
return void 0;
|
84578
84639
|
}
|
84579
|
-
|
84640
|
+
var keys = Array.from(this.byKey.keys());
|
84641
|
+
var key = keys[index];
|
84642
|
+
if (!key) {
|
84643
|
+
return void 0;
|
84644
|
+
}
|
84645
|
+
var entry = this.byKey.get(key);
|
84646
|
+
if (!entry) {
|
84647
|
+
return void 0;
|
84648
|
+
}
|
84649
|
+
return entry.inst;
|
84580
84650
|
}
|
84581
84651
|
},
|
84582
84652
|
{
|
84583
84653
|
key: "destroy",
|
84584
84654
|
value: function destroy() {
|
84655
|
+
var _this = this;
|
84585
84656
|
this.context.logger.log("destroying video ads");
|
84586
|
-
this.
|
84587
|
-
|
84657
|
+
this.byKey.forEach(function(value2, key) {
|
84658
|
+
var _value2_inst_destroy, _value2_inst;
|
84659
|
+
var tid = _this.pendingCleanup.get(key);
|
84660
|
+
if (tid) {
|
84661
|
+
clearTimeout(tid);
|
84662
|
+
_this.pendingCleanup.delete(key);
|
84663
|
+
}
|
84664
|
+
(_value2_inst_destroy = (_value2_inst = value2.inst).destroy) === null || _value2_inst_destroy === void 0 ? void 0 : _value2_inst_destroy.call(_value2_inst);
|
84665
|
+
_this.byEl.delete(value2.el);
|
84666
|
+
_this.byKey.delete(key);
|
84588
84667
|
});
|
84589
|
-
this.
|
84668
|
+
this.pendingCleanup.clear();
|
84669
|
+
this.byEl = /* @__PURE__ */ new WeakMap();
|
84590
84670
|
this.context.logger.log("destroyed video ads");
|
84591
84671
|
}
|
84592
84672
|
}
|