saltfish 0.3.63 → 0.3.65
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/managers/InteractionManager.d.ts.map +1 -1
- package/dist/managers/VideoManager.d.ts.map +1 -1
- package/dist/player.js +2 -2
- package/dist/player.min.js +2 -2
- package/dist/saltfish-playlist-player.es.js +101 -4
- package/dist/saltfish-playlist-player.umd.js +1 -1
- package/dist/utils/urlParams.d.ts +18 -0
- package/dist/utils/urlParams.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -6346,6 +6346,7 @@ class VideoManager {
|
|
|
6346
6346
|
if (activeVideo.paused) {
|
|
6347
6347
|
return;
|
|
6348
6348
|
}
|
|
6349
|
+
activeVideo.muted = true;
|
|
6349
6350
|
if (this.controls) {
|
|
6350
6351
|
this.controls.updateProgressImmediate(activeVideo.currentTime, activeVideo.duration);
|
|
6351
6352
|
}
|
|
@@ -8434,6 +8435,101 @@ class CursorManager {
|
|
|
8434
8435
|
}
|
|
8435
8436
|
}
|
|
8436
8437
|
}
|
|
8438
|
+
const TRACKING_PARAMS = [
|
|
8439
|
+
// UTM parameters (Google Analytics standard)
|
|
8440
|
+
"utm_source",
|
|
8441
|
+
"utm_medium",
|
|
8442
|
+
"utm_campaign",
|
|
8443
|
+
"utm_term",
|
|
8444
|
+
"utm_content",
|
|
8445
|
+
"utm_id",
|
|
8446
|
+
// Google Ads
|
|
8447
|
+
"gclid",
|
|
8448
|
+
// Google Click ID
|
|
8449
|
+
"gclsrc",
|
|
8450
|
+
// Google Click Source
|
|
8451
|
+
"gad_source",
|
|
8452
|
+
// Google Ads source
|
|
8453
|
+
"dclid",
|
|
8454
|
+
// Google Display Click ID
|
|
8455
|
+
"gbraid",
|
|
8456
|
+
// Google iOS App campaign ID (for privacy)
|
|
8457
|
+
"wbraid",
|
|
8458
|
+
// Google Web-to-App campaign ID (for privacy)
|
|
8459
|
+
// Facebook/Meta Ads
|
|
8460
|
+
"fbclid",
|
|
8461
|
+
// Facebook Click ID
|
|
8462
|
+
// Microsoft Ads
|
|
8463
|
+
"msclkid",
|
|
8464
|
+
// Microsoft Click ID
|
|
8465
|
+
// LinkedIn Ads
|
|
8466
|
+
"li_fat_id",
|
|
8467
|
+
// LinkedIn First-Party Ad Tracking ID
|
|
8468
|
+
// Twitter/X Ads
|
|
8469
|
+
"twclid",
|
|
8470
|
+
// Twitter Click ID
|
|
8471
|
+
// TikTok Ads
|
|
8472
|
+
"ttclid",
|
|
8473
|
+
// TikTok Click ID
|
|
8474
|
+
// Other common tracking params
|
|
8475
|
+
"ref",
|
|
8476
|
+
// Referral parameter
|
|
8477
|
+
"_ga",
|
|
8478
|
+
// Google Analytics client ID
|
|
8479
|
+
"_gl"
|
|
8480
|
+
// Google cross-domain linker
|
|
8481
|
+
];
|
|
8482
|
+
function getCurrentTrackingParams() {
|
|
8483
|
+
const params = /* @__PURE__ */ new Map();
|
|
8484
|
+
try {
|
|
8485
|
+
const currentUrl = new URL(window.location.href);
|
|
8486
|
+
for (const param of TRACKING_PARAMS) {
|
|
8487
|
+
const value = currentUrl.searchParams.get(param);
|
|
8488
|
+
if (value !== null) {
|
|
8489
|
+
params.set(param, value);
|
|
8490
|
+
}
|
|
8491
|
+
}
|
|
8492
|
+
if (params.size > 0) {
|
|
8493
|
+
log(`urlParams: Found ${params.size} tracking params in current URL: ${Array.from(params.keys()).join(", ")}`);
|
|
8494
|
+
}
|
|
8495
|
+
} catch (error2) {
|
|
8496
|
+
}
|
|
8497
|
+
return params;
|
|
8498
|
+
}
|
|
8499
|
+
function appendTrackingParams(targetUrl) {
|
|
8500
|
+
if (!targetUrl) {
|
|
8501
|
+
return targetUrl;
|
|
8502
|
+
}
|
|
8503
|
+
try {
|
|
8504
|
+
let url;
|
|
8505
|
+
if (targetUrl.startsWith("/") || !targetUrl.includes("://")) {
|
|
8506
|
+
url = new URL(targetUrl, window.location.origin);
|
|
8507
|
+
} else {
|
|
8508
|
+
url = new URL(targetUrl);
|
|
8509
|
+
}
|
|
8510
|
+
const trackingParams = getCurrentTrackingParams();
|
|
8511
|
+
if (trackingParams.size === 0) {
|
|
8512
|
+
log("urlParams: No tracking params to append");
|
|
8513
|
+
return targetUrl;
|
|
8514
|
+
}
|
|
8515
|
+
let addedParams = 0;
|
|
8516
|
+
for (const [key, value] of trackingParams) {
|
|
8517
|
+
if (!url.searchParams.has(key)) {
|
|
8518
|
+
url.searchParams.set(key, value);
|
|
8519
|
+
addedParams++;
|
|
8520
|
+
} else {
|
|
8521
|
+
log(`urlParams: Skipping ${key} - already exists in target URL`);
|
|
8522
|
+
}
|
|
8523
|
+
}
|
|
8524
|
+
if (addedParams > 0) {
|
|
8525
|
+
log(`urlParams: Appended ${addedParams} tracking params to URL`);
|
|
8526
|
+
return url.toString();
|
|
8527
|
+
}
|
|
8528
|
+
return targetUrl;
|
|
8529
|
+
} catch (error2) {
|
|
8530
|
+
return targetUrl;
|
|
8531
|
+
}
|
|
8532
|
+
}
|
|
8437
8533
|
class InteractionManager {
|
|
8438
8534
|
constructor() {
|
|
8439
8535
|
__publicField(this, "container", null);
|
|
@@ -8701,8 +8797,8 @@ class InteractionManager {
|
|
|
8701
8797
|
}
|
|
8702
8798
|
}
|
|
8703
8799
|
}
|
|
8704
|
-
|
|
8705
|
-
window.location.href =
|
|
8800
|
+
const redirectUrl = appendTrackingParams(buttonConfig.action.url);
|
|
8801
|
+
window.location.href = redirectUrl;
|
|
8706
8802
|
} else {
|
|
8707
8803
|
log(`InteractionManager: Goto button clicked, going to step "${buttonConfig.action.target}"`);
|
|
8708
8804
|
store.goToStep(buttonConfig.action.target);
|
|
@@ -8721,7 +8817,8 @@ class InteractionManager {
|
|
|
8721
8817
|
await new Promise((resolve) => setTimeout(resolve, TIMING.STATE_PROCESSING_DELAY_MS));
|
|
8722
8818
|
}
|
|
8723
8819
|
}
|
|
8724
|
-
|
|
8820
|
+
const openUrl = appendTrackingParams(buttonConfig.action.target);
|
|
8821
|
+
window.open(openUrl, "_blank");
|
|
8725
8822
|
const { SaltfishPlayer: SaltfishPlayer2 } = await Promise.resolve().then(() => SaltfishPlayer$1);
|
|
8726
8823
|
const player = SaltfishPlayer2.getInstance();
|
|
8727
8824
|
if (player) {
|
|
@@ -12469,7 +12566,7 @@ const SaltfishPlayer$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.de
|
|
|
12469
12566
|
__proto__: null,
|
|
12470
12567
|
SaltfishPlayer
|
|
12471
12568
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
12472
|
-
const version = "0.3.
|
|
12569
|
+
const version = "0.3.65";
|
|
12473
12570
|
const packageJson = {
|
|
12474
12571
|
version
|
|
12475
12572
|
};
|