@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.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
|
}
|
@@ -74819,6 +74819,9 @@ var BradmaxMediaElement = /*#__PURE__*/ function(GenericMediaElement) {
|
|
74819
74819
|
{
|
74820
74820
|
key: "handlePlayEvent",
|
74821
74821
|
value: function handlePlayEvent() {
|
74822
|
+
if (!this.ready) {
|
74823
|
+
this.mediaIsReady();
|
74824
|
+
}
|
74822
74825
|
this.emit("PLAY");
|
74823
74826
|
this.context.store.dispatch({
|
74824
74827
|
type: "PLAY"
|
@@ -74828,6 +74831,9 @@ var BradmaxMediaElement = /*#__PURE__*/ function(GenericMediaElement) {
|
|
74828
74831
|
{
|
74829
74832
|
key: "handlePauseEvent",
|
74830
74833
|
value: function handlePauseEvent() {
|
74834
|
+
if (!this.ready) {
|
74835
|
+
this.mediaIsReady();
|
74836
|
+
}
|
74831
74837
|
this.emit("PAUSED");
|
74832
74838
|
this.context.store.dispatch({
|
74833
74839
|
type: "PAUSE"
|
@@ -74837,12 +74843,18 @@ var BradmaxMediaElement = /*#__PURE__*/ function(GenericMediaElement) {
|
|
74837
74843
|
{
|
74838
74844
|
key: "handleSeekingEvent",
|
74839
74845
|
value: function handleSeekingEvent() {
|
74846
|
+
if (!this.ready) {
|
74847
|
+
this.mediaIsReady();
|
74848
|
+
}
|
74840
74849
|
this.emit("SEEKING");
|
74841
74850
|
}
|
74842
74851
|
},
|
74843
74852
|
{
|
74844
74853
|
key: "handleSeekedEvent",
|
74845
74854
|
value: function handleSeekedEvent() {
|
74855
|
+
if (!this.ready) {
|
74856
|
+
this.mediaIsReady();
|
74857
|
+
}
|
74846
74858
|
this.emit("SEEKED");
|
74847
74859
|
}
|
74848
74860
|
},
|
@@ -75400,6 +75412,7 @@ var DailymotionMediaElement = /*#__PURE__*/ function(GenericMediaElement) {
|
|
75400
75412
|
var container = document.createElement("div");
|
75401
75413
|
this.rootNode = target;
|
75402
75414
|
container.id = "BRNDTS";
|
75415
|
+
container.dataset.__brndts_k = target.dataset.__brndts_k;
|
75403
75416
|
elements_default.wrap(target, container);
|
75404
75417
|
window.dailymotion.createPlayer(target.id, {
|
75405
75418
|
video: videoId
|
@@ -84296,37 +84309,118 @@ var VideoAd = /*#__PURE__*/ function() {
|
|
84296
84309
|
return VideoAd;
|
84297
84310
|
}();
|
84298
84311
|
// src/Ads/VideoAds/VideoAds.ts
|
84312
|
+
function makeKey() {
|
84313
|
+
var _crypto;
|
84314
|
+
if ((_crypto = crypto) === null || _crypto === void 0 ? void 0 : _crypto.getRandomValues) {
|
84315
|
+
var a = new Uint32Array(2);
|
84316
|
+
crypto.getRandomValues(a);
|
84317
|
+
return a[0].toString(36) + a[1].toString(36);
|
84318
|
+
}
|
84319
|
+
return Math.random().toString(36).slice(2) + Date.now().toString(36);
|
84320
|
+
}
|
84321
|
+
function ensureKey(el) {
|
84322
|
+
if (!el.dataset.__brndts_k) {
|
84323
|
+
var key;
|
84324
|
+
if (el.closest("[data-__brndts_k]")) {
|
84325
|
+
var _el_closest;
|
84326
|
+
key = (_el_closest = el.closest("[data-__brndts_k]")) === null || _el_closest === void 0 ? void 0 : _el_closest.dataset.__brndts_k;
|
84327
|
+
}
|
84328
|
+
el.dataset.__brndts_k = key || makeKey();
|
84329
|
+
}
|
84330
|
+
return el.dataset.__brndts_k;
|
84331
|
+
}
|
84299
84332
|
var VideoAds = /*#__PURE__*/ function() {
|
84300
84333
|
function VideoAds(context) {
|
84301
84334
|
_class_call_check(this, VideoAds);
|
84302
|
-
this.
|
84335
|
+
this.byEl = /* @__PURE__ */ new WeakMap();
|
84336
|
+
// Element -> VideoAd
|
84337
|
+
this.byKey = /* @__PURE__ */ new Map();
|
84338
|
+
// key -> { inst: VideoAd, el: Element }
|
84339
|
+
this.pendingCleanup = /* @__PURE__ */ new Map();
|
84303
84340
|
this.handlePageMutation = this.handlePageMutation.bind(this);
|
84341
|
+
this.attachOrTransfer = this.attachOrTransfer.bind(this);
|
84342
|
+
this.scheduleCleanupIfGone = this.scheduleCleanupIfGone.bind(this);
|
84343
|
+
this.scanAndAttach = functions_default.debounce(this.scanAndAttach.bind(this), 50);
|
84304
84344
|
this.context = context;
|
84305
84345
|
}
|
84306
84346
|
_create_class(VideoAds, [
|
84307
84347
|
{
|
84308
|
-
key: "
|
84309
|
-
value: function
|
84310
|
-
|
84311
|
-
|
84312
|
-
|
84313
|
-
|
84314
|
-
|
84315
|
-
|
84316
|
-
|
84317
|
-
|
84348
|
+
key: "attachOrTransfer",
|
84349
|
+
value: function attachOrTransfer(el) {
|
84350
|
+
if (!_instanceof(el, Element)) {
|
84351
|
+
return;
|
84352
|
+
}
|
84353
|
+
;
|
84354
|
+
var key = ensureKey(el);
|
84355
|
+
var known = this.byKey.get(key);
|
84356
|
+
if (known) {
|
84357
|
+
if (known.el !== el) {
|
84358
|
+
var tid = this.pendingCleanup.get(key);
|
84359
|
+
if (tid) {
|
84360
|
+
clearTimeout(tid);
|
84361
|
+
this.pendingCleanup.delete(key);
|
84318
84362
|
}
|
84363
|
+
var inst2 = known.inst;
|
84364
|
+
this.byEl.delete(known.el);
|
84365
|
+
this.byEl.set(el, inst2);
|
84366
|
+
known.el = el;
|
84367
|
+
this.byKey.set(key, known);
|
84319
84368
|
}
|
84320
|
-
|
84321
|
-
|
84322
|
-
|
84323
|
-
|
84324
|
-
|
84325
|
-
|
84326
|
-
|
84327
|
-
|
84328
|
-
|
84369
|
+
return;
|
84370
|
+
}
|
84371
|
+
var inst = new VideoAd(this.context, el);
|
84372
|
+
this.byEl.set(el, inst);
|
84373
|
+
this.byKey.set(key, {
|
84374
|
+
inst: inst,
|
84375
|
+
el: el
|
84376
|
+
});
|
84377
|
+
inst.start();
|
84378
|
+
}
|
84379
|
+
},
|
84380
|
+
{
|
84381
|
+
// --- cleanup when nodes are actually gone (with a grace period) ---
|
84382
|
+
key: "scheduleCleanupIfGone",
|
84383
|
+
value: function scheduleCleanupIfGone(el) {
|
84384
|
+
var _this = this;
|
84385
|
+
var delayMs = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 800;
|
84386
|
+
var _el_dataset;
|
84387
|
+
var key = (_el_dataset = el.dataset) === null || _el_dataset === void 0 ? void 0 : _el_dataset.__brndts_k;
|
84388
|
+
if (!key) {
|
84389
|
+
return;
|
84390
|
+
}
|
84391
|
+
if (!this.byKey.has(key) || this.pendingCleanup.has(key)) {
|
84392
|
+
return;
|
84393
|
+
}
|
84394
|
+
var tid = setTimeout(function() {
|
84395
|
+
var entry = _this.byKey.get(key);
|
84396
|
+
if (entry && !entry.el.isConnected) {
|
84397
|
+
var _entry_inst_destroy, _entry_inst;
|
84398
|
+
(_entry_inst_destroy = (_entry_inst = entry.inst).destroy) === null || _entry_inst_destroy === void 0 ? void 0 : _entry_inst_destroy.call(_entry_inst);
|
84399
|
+
_this.byEl.delete(entry.el);
|
84400
|
+
_this.byKey.delete(key);
|
84329
84401
|
}
|
84402
|
+
_this.pendingCleanup.delete(key);
|
84403
|
+
}, delayMs);
|
84404
|
+
this.pendingCleanup.set(key, tid);
|
84405
|
+
}
|
84406
|
+
},
|
84407
|
+
{
|
84408
|
+
// --- DOM wiring: scan + observer ---
|
84409
|
+
key: "scanAndAttach",
|
84410
|
+
value: function scanAndAttach() {
|
84411
|
+
var _this = this;
|
84412
|
+
var medias = MediaElementFactory.getElements(this.context.selectors.targets);
|
84413
|
+
medias.forEach(function(el) {
|
84414
|
+
return _this.attachOrTransfer(el);
|
84415
|
+
});
|
84416
|
+
}
|
84417
|
+
},
|
84418
|
+
{
|
84419
|
+
// small debounce
|
84420
|
+
key: "handleMedias",
|
84421
|
+
value: function handleMedias() {
|
84422
|
+
try {
|
84423
|
+
this.scanAndAttach();
|
84330
84424
|
} catch (error) {
|
84331
84425
|
if (_instanceof(error, Error)) {
|
84332
84426
|
ErrorHandler.handle(error);
|
@@ -84337,49 +84431,41 @@ var VideoAds = /*#__PURE__*/ function() {
|
|
84337
84431
|
{
|
84338
84432
|
key: "start",
|
84339
84433
|
value: function start() {
|
84434
|
+
var _this = this;
|
84340
84435
|
if (!this.context.supports.api) {
|
84341
84436
|
this.context.logger.error("Setup failed: no support");
|
84342
84437
|
return;
|
84343
84438
|
}
|
84344
|
-
this.
|
84439
|
+
var medias = MediaElementFactory.getElements(this.context.selectors.targets);
|
84440
|
+
medias.forEach(function(el) {
|
84441
|
+
return _this.attachOrTransfer(el);
|
84442
|
+
});
|
84345
84443
|
}
|
84346
84444
|
},
|
84347
84445
|
{
|
84348
84446
|
key: "handlePageMutation",
|
84349
84447
|
value: function handlePageMutation(mutations) {
|
84350
|
-
var medias = [];
|
84351
84448
|
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
84352
84449
|
try {
|
84353
84450
|
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;
|
84451
|
+
var rec = _step.value;
|
84452
|
+
rec.removedNodes.forEach(function(n) {
|
84453
|
+
if (n.nodeType === 1) {
|
84454
|
+
var stack = [
|
84455
|
+
n
|
84456
|
+
];
|
84457
|
+
while(stack.length){
|
84458
|
+
var _node_dataset;
|
84459
|
+
var node = stack.pop();
|
84460
|
+
if ((_node_dataset = node.dataset) === null || _node_dataset === void 0 ? void 0 : _node_dataset.__brndts_k) {}
|
84461
|
+
;
|
84462
|
+
for(var c = node.firstElementChild; c; c = c.nextElementSibling){
|
84463
|
+
stack.push(c);
|
84379
84464
|
}
|
84465
|
+
;
|
84380
84466
|
}
|
84381
84467
|
}
|
84382
|
-
}
|
84468
|
+
});
|
84383
84469
|
}
|
84384
84470
|
} catch (err) {
|
84385
84471
|
_didIteratorError = true;
|
@@ -84395,58 +84481,64 @@ var VideoAds = /*#__PURE__*/ function() {
|
|
84395
84481
|
}
|
84396
84482
|
}
|
84397
84483
|
}
|
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
|
-
}
|
84484
|
+
this.scanAndAttach();
|
84406
84485
|
}
|
84407
84486
|
},
|
84408
84487
|
{
|
84409
84488
|
key: "updateSize",
|
84410
84489
|
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
|
-
}
|
84490
|
+
var _this = this;
|
84491
|
+
this.byKey.forEach(function(value2, key) {
|
84492
|
+
var tid = _this.pendingCleanup.get(key);
|
84493
|
+
if (!tid) {
|
84494
|
+
var _value2_inst_updateSize, _value2_inst;
|
84495
|
+
(_value2_inst_updateSize = (_value2_inst = value2.inst).updateSize) === null || _value2_inst_updateSize === void 0 ? void 0 : _value2_inst_updateSize.call(_value2_inst);
|
84429
84496
|
}
|
84430
|
-
}
|
84497
|
+
});
|
84431
84498
|
}
|
84432
84499
|
},
|
84433
84500
|
{
|
84434
84501
|
key: "getVideoAd",
|
84435
84502
|
value: function getVideoAd(index) {
|
84503
|
+
if (this.byKey.size === 0) {
|
84504
|
+
return void 0;
|
84505
|
+
}
|
84436
84506
|
if (index === void 0) {
|
84437
|
-
return this.
|
84507
|
+
return this.byKey.values().next().value.inst;
|
84508
|
+
}
|
84509
|
+
if (index < 0 || index >= this.byKey.size) {
|
84510
|
+
return void 0;
|
84438
84511
|
}
|
84439
|
-
|
84512
|
+
var keys = Array.from(this.byKey.keys());
|
84513
|
+
var key = keys[index];
|
84514
|
+
if (!key) {
|
84515
|
+
return void 0;
|
84516
|
+
}
|
84517
|
+
var entry = this.byKey.get(key);
|
84518
|
+
if (!entry) {
|
84519
|
+
return void 0;
|
84520
|
+
}
|
84521
|
+
return entry.inst;
|
84440
84522
|
}
|
84441
84523
|
},
|
84442
84524
|
{
|
84443
84525
|
key: "destroy",
|
84444
84526
|
value: function destroy() {
|
84527
|
+
var _this = this;
|
84445
84528
|
this.context.logger.log("destroying video ads");
|
84446
|
-
this.
|
84447
|
-
|
84529
|
+
this.byKey.forEach(function(value2, key) {
|
84530
|
+
var _value2_inst_destroy, _value2_inst;
|
84531
|
+
var tid = _this.pendingCleanup.get(key);
|
84532
|
+
if (tid) {
|
84533
|
+
clearTimeout(tid);
|
84534
|
+
_this.pendingCleanup.delete(key);
|
84535
|
+
}
|
84536
|
+
(_value2_inst_destroy = (_value2_inst = value2.inst).destroy) === null || _value2_inst_destroy === void 0 ? void 0 : _value2_inst_destroy.call(_value2_inst);
|
84537
|
+
_this.byEl.delete(value2.el);
|
84538
|
+
_this.byKey.delete(key);
|
84448
84539
|
});
|
84449
|
-
this.
|
84540
|
+
this.pendingCleanup.clear();
|
84541
|
+
this.byEl = /* @__PURE__ */ new WeakMap();
|
84450
84542
|
this.context.logger.log("destroyed video ads");
|
84451
84543
|
}
|
84452
84544
|
}
|