@brndts/brndts-ads 1.14.2 → 1.14.4
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 +177 -85
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +177 -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
|
}
|
@@ -74905,6 +74905,9 @@ var BradmaxMediaElement = /*#__PURE__*/ function(GenericMediaElement) {
|
|
74905
74905
|
{
|
74906
74906
|
key: "handlePlayEvent",
|
74907
74907
|
value: function handlePlayEvent() {
|
74908
|
+
if (!this.ready) {
|
74909
|
+
this.mediaIsReady();
|
74910
|
+
}
|
74908
74911
|
this.emit("PLAY");
|
74909
74912
|
this.context.store.dispatch({
|
74910
74913
|
type: "PLAY"
|
@@ -74914,6 +74917,9 @@ var BradmaxMediaElement = /*#__PURE__*/ function(GenericMediaElement) {
|
|
74914
74917
|
{
|
74915
74918
|
key: "handlePauseEvent",
|
74916
74919
|
value: function handlePauseEvent() {
|
74920
|
+
if (!this.ready) {
|
74921
|
+
this.mediaIsReady();
|
74922
|
+
}
|
74917
74923
|
this.emit("PAUSED");
|
74918
74924
|
this.context.store.dispatch({
|
74919
74925
|
type: "PAUSE"
|
@@ -74923,12 +74929,18 @@ var BradmaxMediaElement = /*#__PURE__*/ function(GenericMediaElement) {
|
|
74923
74929
|
{
|
74924
74930
|
key: "handleSeekingEvent",
|
74925
74931
|
value: function handleSeekingEvent() {
|
74932
|
+
if (!this.ready) {
|
74933
|
+
this.mediaIsReady();
|
74934
|
+
}
|
74926
74935
|
this.emit("SEEKING");
|
74927
74936
|
}
|
74928
74937
|
},
|
74929
74938
|
{
|
74930
74939
|
key: "handleSeekedEvent",
|
74931
74940
|
value: function handleSeekedEvent() {
|
74941
|
+
if (!this.ready) {
|
74942
|
+
this.mediaIsReady();
|
74943
|
+
}
|
74932
74944
|
this.emit("SEEKED");
|
74933
74945
|
}
|
74934
74946
|
},
|
@@ -75487,6 +75499,7 @@ var DailymotionMediaElement = /*#__PURE__*/ function(GenericMediaElement) {
|
|
75487
75499
|
var container = document.createElement("div");
|
75488
75500
|
this.rootNode = target;
|
75489
75501
|
container.id = "BRNDTS";
|
75502
|
+
container.dataset.__brndts_k = target.dataset.__brndts_k;
|
75490
75503
|
elements_default.wrap(target, container);
|
75491
75504
|
window.dailymotion.createPlayer(target.id, {
|
75492
75505
|
video: videoId
|
@@ -84435,38 +84448,119 @@ var VideoAd = /*#__PURE__*/ function() {
|
|
84435
84448
|
return VideoAd;
|
84436
84449
|
}();
|
84437
84450
|
// src/Ads/VideoAds/VideoAds.ts
|
84451
|
+
function makeKey() {
|
84452
|
+
var _crypto;
|
84453
|
+
if ((_crypto = crypto) === null || _crypto === void 0 ? void 0 : _crypto.getRandomValues) {
|
84454
|
+
var a = new Uint32Array(2);
|
84455
|
+
crypto.getRandomValues(a);
|
84456
|
+
return a[0].toString(36) + a[1].toString(36);
|
84457
|
+
}
|
84458
|
+
return Math.random().toString(36).slice(2) + Date.now().toString(36);
|
84459
|
+
}
|
84460
|
+
function ensureKey(el) {
|
84461
|
+
if (!el.dataset.__brndts_k) {
|
84462
|
+
var key;
|
84463
|
+
if (el.closest("[data-__brndts_k]")) {
|
84464
|
+
var _el_closest;
|
84465
|
+
key = (_el_closest = el.closest("[data-__brndts_k]")) === null || _el_closest === void 0 ? void 0 : _el_closest.dataset.__brndts_k;
|
84466
|
+
}
|
84467
|
+
el.dataset.__brndts_k = key || makeKey();
|
84468
|
+
}
|
84469
|
+
return el.dataset.__brndts_k;
|
84470
|
+
}
|
84438
84471
|
var VideoAds = /*#__PURE__*/ function() {
|
84439
84472
|
"use strict";
|
84440
84473
|
function VideoAds(context) {
|
84441
84474
|
_class_call_check(this, VideoAds);
|
84442
|
-
this.
|
84475
|
+
this.byEl = /* @__PURE__ */ new WeakMap();
|
84476
|
+
// Element -> VideoAd
|
84477
|
+
this.byKey = /* @__PURE__ */ new Map();
|
84478
|
+
// key -> { inst: VideoAd, el: Element }
|
84479
|
+
this.pendingCleanup = /* @__PURE__ */ new Map();
|
84443
84480
|
this.handlePageMutation = this.handlePageMutation.bind(this);
|
84481
|
+
this.attachOrTransfer = this.attachOrTransfer.bind(this);
|
84482
|
+
this.scheduleCleanupIfGone = this.scheduleCleanupIfGone.bind(this);
|
84483
|
+
this.scanAndAttach = functions_default.debounce(this.scanAndAttach.bind(this), 50);
|
84444
84484
|
this.context = context;
|
84445
84485
|
}
|
84446
84486
|
_create_class(VideoAds, [
|
84447
84487
|
{
|
84448
|
-
key: "
|
84449
|
-
value: function
|
84450
|
-
|
84451
|
-
|
84452
|
-
|
84453
|
-
|
84454
|
-
|
84455
|
-
|
84456
|
-
|
84457
|
-
|
84488
|
+
key: "attachOrTransfer",
|
84489
|
+
value: function attachOrTransfer(el) {
|
84490
|
+
if (!_instanceof(el, Element)) {
|
84491
|
+
return;
|
84492
|
+
}
|
84493
|
+
;
|
84494
|
+
var key = ensureKey(el);
|
84495
|
+
var known = this.byKey.get(key);
|
84496
|
+
if (known) {
|
84497
|
+
if (known.el !== el) {
|
84498
|
+
var tid = this.pendingCleanup.get(key);
|
84499
|
+
if (tid) {
|
84500
|
+
clearTimeout(tid);
|
84501
|
+
this.pendingCleanup.delete(key);
|
84458
84502
|
}
|
84503
|
+
var inst2 = known.inst;
|
84504
|
+
this.byEl.delete(known.el);
|
84505
|
+
this.byEl.set(el, inst2);
|
84506
|
+
known.el = el;
|
84507
|
+
this.byKey.set(key, known);
|
84459
84508
|
}
|
84460
|
-
|
84461
|
-
|
84462
|
-
|
84463
|
-
|
84464
|
-
|
84465
|
-
|
84466
|
-
|
84467
|
-
|
84468
|
-
|
84509
|
+
return;
|
84510
|
+
}
|
84511
|
+
var inst = new VideoAd(this.context, el);
|
84512
|
+
this.byEl.set(el, inst);
|
84513
|
+
this.byKey.set(key, {
|
84514
|
+
inst: inst,
|
84515
|
+
el: el
|
84516
|
+
});
|
84517
|
+
inst.start();
|
84518
|
+
}
|
84519
|
+
},
|
84520
|
+
{
|
84521
|
+
// --- cleanup when nodes are actually gone (with a grace period) ---
|
84522
|
+
key: "scheduleCleanupIfGone",
|
84523
|
+
value: function scheduleCleanupIfGone(el) {
|
84524
|
+
var _this = this;
|
84525
|
+
var delayMs = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 800;
|
84526
|
+
var _el_dataset;
|
84527
|
+
var key = (_el_dataset = el.dataset) === null || _el_dataset === void 0 ? void 0 : _el_dataset.__brndts_k;
|
84528
|
+
if (!key) {
|
84529
|
+
return;
|
84530
|
+
}
|
84531
|
+
if (!this.byKey.has(key) || this.pendingCleanup.has(key)) {
|
84532
|
+
return;
|
84533
|
+
}
|
84534
|
+
var tid = setTimeout(function() {
|
84535
|
+
var entry = _this.byKey.get(key);
|
84536
|
+
if (entry && !entry.el.isConnected) {
|
84537
|
+
var _entry_inst_destroy, _entry_inst;
|
84538
|
+
(_entry_inst_destroy = (_entry_inst = entry.inst).destroy) === null || _entry_inst_destroy === void 0 ? void 0 : _entry_inst_destroy.call(_entry_inst);
|
84539
|
+
_this.byEl.delete(entry.el);
|
84540
|
+
_this.byKey.delete(key);
|
84469
84541
|
}
|
84542
|
+
_this.pendingCleanup.delete(key);
|
84543
|
+
}, delayMs);
|
84544
|
+
this.pendingCleanup.set(key, tid);
|
84545
|
+
}
|
84546
|
+
},
|
84547
|
+
{
|
84548
|
+
// --- DOM wiring: scan + observer ---
|
84549
|
+
key: "scanAndAttach",
|
84550
|
+
value: function scanAndAttach() {
|
84551
|
+
var _this = this;
|
84552
|
+
var medias = MediaElementFactory.getElements(this.context.selectors.targets);
|
84553
|
+
medias.forEach(function(el) {
|
84554
|
+
return _this.attachOrTransfer(el);
|
84555
|
+
});
|
84556
|
+
}
|
84557
|
+
},
|
84558
|
+
{
|
84559
|
+
// small debounce
|
84560
|
+
key: "handleMedias",
|
84561
|
+
value: function handleMedias() {
|
84562
|
+
try {
|
84563
|
+
this.scanAndAttach();
|
84470
84564
|
} catch (error) {
|
84471
84565
|
if (_instanceof(error, Error)) {
|
84472
84566
|
ErrorHandler.handle(error);
|
@@ -84477,49 +84571,41 @@ var VideoAds = /*#__PURE__*/ function() {
|
|
84477
84571
|
{
|
84478
84572
|
key: "start",
|
84479
84573
|
value: function start() {
|
84574
|
+
var _this = this;
|
84480
84575
|
if (!this.context.supports.api) {
|
84481
84576
|
this.context.logger.error("Setup failed: no support");
|
84482
84577
|
return;
|
84483
84578
|
}
|
84484
|
-
this.
|
84579
|
+
var medias = MediaElementFactory.getElements(this.context.selectors.targets);
|
84580
|
+
medias.forEach(function(el) {
|
84581
|
+
return _this.attachOrTransfer(el);
|
84582
|
+
});
|
84485
84583
|
}
|
84486
84584
|
},
|
84487
84585
|
{
|
84488
84586
|
key: "handlePageMutation",
|
84489
84587
|
value: function handlePageMutation(mutations) {
|
84490
|
-
var medias = [];
|
84491
84588
|
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
84492
84589
|
try {
|
84493
84590
|
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;
|
84591
|
+
var rec = _step.value;
|
84592
|
+
rec.removedNodes.forEach(function(n) {
|
84593
|
+
if (n.nodeType === 1) {
|
84594
|
+
var stack = [
|
84595
|
+
n
|
84596
|
+
];
|
84597
|
+
while(stack.length){
|
84598
|
+
var _node_dataset;
|
84599
|
+
var node = stack.pop();
|
84600
|
+
if ((_node_dataset = node.dataset) === null || _node_dataset === void 0 ? void 0 : _node_dataset.__brndts_k) {}
|
84601
|
+
;
|
84602
|
+
for(var c = node.firstElementChild; c; c = c.nextElementSibling){
|
84603
|
+
stack.push(c);
|
84519
84604
|
}
|
84605
|
+
;
|
84520
84606
|
}
|
84521
84607
|
}
|
84522
|
-
}
|
84608
|
+
});
|
84523
84609
|
}
|
84524
84610
|
} catch (err) {
|
84525
84611
|
_didIteratorError = true;
|
@@ -84535,58 +84621,64 @@ var VideoAds = /*#__PURE__*/ function() {
|
|
84535
84621
|
}
|
84536
84622
|
}
|
84537
84623
|
}
|
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
|
-
}
|
84624
|
+
this.scanAndAttach();
|
84546
84625
|
}
|
84547
84626
|
},
|
84548
84627
|
{
|
84549
84628
|
key: "updateSize",
|
84550
84629
|
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
|
-
}
|
84630
|
+
var _this = this;
|
84631
|
+
this.byKey.forEach(function(value2, key) {
|
84632
|
+
var tid = _this.pendingCleanup.get(key);
|
84633
|
+
if (!tid) {
|
84634
|
+
var _value2_inst_updateSize, _value2_inst;
|
84635
|
+
(_value2_inst_updateSize = (_value2_inst = value2.inst).updateSize) === null || _value2_inst_updateSize === void 0 ? void 0 : _value2_inst_updateSize.call(_value2_inst);
|
84569
84636
|
}
|
84570
|
-
}
|
84637
|
+
});
|
84571
84638
|
}
|
84572
84639
|
},
|
84573
84640
|
{
|
84574
84641
|
key: "getVideoAd",
|
84575
84642
|
value: function getVideoAd(index) {
|
84643
|
+
if (this.byKey.size === 0) {
|
84644
|
+
return void 0;
|
84645
|
+
}
|
84576
84646
|
if (index === void 0) {
|
84577
|
-
return this.
|
84647
|
+
return this.byKey.values().next().value.inst;
|
84648
|
+
}
|
84649
|
+
if (index < 0 || index >= this.byKey.size) {
|
84650
|
+
return void 0;
|
84578
84651
|
}
|
84579
|
-
|
84652
|
+
var keys = Array.from(this.byKey.keys());
|
84653
|
+
var key = keys[index];
|
84654
|
+
if (!key) {
|
84655
|
+
return void 0;
|
84656
|
+
}
|
84657
|
+
var entry = this.byKey.get(key);
|
84658
|
+
if (!entry) {
|
84659
|
+
return void 0;
|
84660
|
+
}
|
84661
|
+
return entry.inst;
|
84580
84662
|
}
|
84581
84663
|
},
|
84582
84664
|
{
|
84583
84665
|
key: "destroy",
|
84584
84666
|
value: function destroy() {
|
84667
|
+
var _this = this;
|
84585
84668
|
this.context.logger.log("destroying video ads");
|
84586
|
-
this.
|
84587
|
-
|
84669
|
+
this.byKey.forEach(function(value2, key) {
|
84670
|
+
var _value2_inst_destroy, _value2_inst;
|
84671
|
+
var tid = _this.pendingCleanup.get(key);
|
84672
|
+
if (tid) {
|
84673
|
+
clearTimeout(tid);
|
84674
|
+
_this.pendingCleanup.delete(key);
|
84675
|
+
}
|
84676
|
+
(_value2_inst_destroy = (_value2_inst = value2.inst).destroy) === null || _value2_inst_destroy === void 0 ? void 0 : _value2_inst_destroy.call(_value2_inst);
|
84677
|
+
_this.byEl.delete(value2.el);
|
84678
|
+
_this.byKey.delete(key);
|
84588
84679
|
});
|
84589
|
-
this.
|
84680
|
+
this.pendingCleanup.clear();
|
84681
|
+
this.byEl = /* @__PURE__ */ new WeakMap();
|
84590
84682
|
this.context.logger.log("destroyed video ads");
|
84591
84683
|
}
|
84592
84684
|
}
|