@neowhale/storefront 0.2.61 → 0.2.63

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.
@@ -578,6 +578,7 @@ var WhaleStorefront = (function (exports) {
578
578
  "a",
579
579
  {
580
580
  href: c.cta_url,
581
+ rel: "nofollow noopener noreferrer",
581
582
  onClick: () => {
582
583
  trackClick(tracking, c.cta_text, c.cta_url);
583
584
  onEvent?.("cta_click", { label: c.cta_text, url: c.cta_url });
@@ -911,6 +912,7 @@ var WhaleStorefront = (function (exports) {
911
912
  "a",
912
913
  {
913
914
  href: loc.shop_url,
915
+ rel: "nofollow noopener noreferrer",
914
916
  onClick: () => onEvent?.("cta_click", { label: "shop", location: loc.name }),
915
917
  style: { flex: 1, display: "flex", alignItems: "center", justifyContent: "center", gap: "0.25rem", padding: "0.5rem", border: "1px solid rgba(255,255,255,0.15)", color: "rgba(255,255,255,0.8)", fontSize: "0.65rem", fontWeight: 700, letterSpacing: "0.1em", textTransform: "uppercase", textDecoration: "none" },
916
918
  children: "shop"
@@ -994,6 +996,7 @@ var WhaleStorefront = (function (exports) {
994
996
  "a",
995
997
  {
996
998
  href: btn.url,
999
+ rel: "nofollow noopener noreferrer",
997
1000
  onClick: () => {
998
1001
  trackClick(tracking, btn.text, btn.url, i);
999
1002
  onEvent?.("cta_click", { label: btn.text, url: btn.url });
@@ -1072,6 +1075,7 @@ var WhaleStorefront = (function (exports) {
1072
1075
  "a",
1073
1076
  {
1074
1077
  href: url,
1078
+ rel: "nofollow noopener noreferrer",
1075
1079
  onClick: () => trackClick(tracking, "View Product", url),
1076
1080
  style: {
1077
1081
  display: "block",
@@ -1264,6 +1268,7 @@ var WhaleStorefront = (function (exports) {
1264
1268
  });
1265
1269
  }
1266
1270
  setStatus("success");
1271
+ onEvent?.("cta_click", { label: buttonText, source: c.source || "landing_page", landing_page_slug: slug || void 0 });
1267
1272
  onEvent?.("lead", { email, first_name: firstName || void 0, source: c.source || "landing_page", landing_page_slug: slug || void 0 });
1268
1273
  } catch (err) {
1269
1274
  setErrorMsg(err instanceof Error ? err.message : "Something went wrong. Please try again.");
@@ -1412,7 +1417,15 @@ var WhaleStorefront = (function (exports) {
1412
1417
  "button",
1413
1418
  {
1414
1419
  onClick: () => {
1415
- window.location.href = ctaUrl || "/shop";
1420
+ const dest = new URL(ctaUrl || "/shop", window.location.origin);
1421
+ const current = new URLSearchParams(window.location.search);
1422
+ for (const key of ["utm_source", "utm_medium", "utm_campaign", "utm_content", "utm_term", "fbclid", "gclid"]) {
1423
+ const val = current.get(key);
1424
+ if (val && !dest.searchParams.has(key)) dest.searchParams.set(key, val);
1425
+ }
1426
+ const vid = typeof localStorage !== "undefined" && localStorage.getItem("wt_vid");
1427
+ if (vid) dest.searchParams.set("wt_vid", vid);
1428
+ window.location.href = dest.toString();
1416
1429
  },
1417
1430
  style: {
1418
1431
  marginTop: "1.5rem",
@@ -1978,6 +1991,7 @@ var WhaleStorefront = (function (exports) {
1978
1991
  "a",
1979
1992
  {
1980
1993
  href: loc.shop_url,
1994
+ rel: "nofollow noopener noreferrer",
1981
1995
  onClick: () => onEvent?.("cta_click", { label: "shop", location: loc.name }),
1982
1996
  style: {
1983
1997
  flex: 1,
@@ -2317,6 +2317,7 @@ function HeroSection({ section, theme, tracking, onEvent, data }) {
2317
2317
  "a",
2318
2318
  {
2319
2319
  href: c.cta_url,
2320
+ rel: "nofollow noopener noreferrer",
2320
2321
  onClick: () => {
2321
2322
  trackClick(tracking, c.cta_text, c.cta_url);
2322
2323
  onEvent?.("cta_click", { label: c.cta_text, url: c.cta_url });
@@ -2650,6 +2651,7 @@ function GalleryLocationCard({ loc, theme, onEvent }) {
2650
2651
  "a",
2651
2652
  {
2652
2653
  href: loc.shop_url,
2654
+ rel: "nofollow noopener noreferrer",
2653
2655
  onClick: () => onEvent?.("cta_click", { label: "shop", location: loc.name }),
2654
2656
  style: { flex: 1, display: "flex", alignItems: "center", justifyContent: "center", gap: "0.25rem", padding: "0.5rem", border: "1px solid rgba(255,255,255,0.15)", color: "rgba(255,255,255,0.8)", fontSize: "0.65rem", fontWeight: 700, letterSpacing: "0.1em", textTransform: "uppercase", textDecoration: "none" },
2655
2657
  children: "shop"
@@ -2731,6 +2733,7 @@ function CTASection({ section, theme, tracking, onEvent }) {
2731
2733
  "a",
2732
2734
  {
2733
2735
  href: btn.url,
2736
+ rel: "nofollow noopener noreferrer",
2734
2737
  onClick: () => {
2735
2738
  trackClick(tracking, btn.text, btn.url, i);
2736
2739
  onEvent?.("cta_click", { label: btn.text, url: btn.url });
@@ -2809,6 +2812,7 @@ function ProductCardSection({ section, data, theme, tracking }) {
2809
2812
  "a",
2810
2813
  {
2811
2814
  href: url,
2815
+ rel: "nofollow noopener noreferrer",
2812
2816
  onClick: () => trackClick(tracking, "View Product", url),
2813
2817
  style: {
2814
2818
  display: "block",
@@ -2999,6 +3003,7 @@ function LeadCaptureSection({ section, data, theme, onEvent }) {
2999
3003
  });
3000
3004
  }
3001
3005
  setStatus("success");
3006
+ onEvent?.("cta_click", { label: buttonText, source: c.source || "landing_page", landing_page_slug: slug || void 0 });
3002
3007
  onEvent?.("lead", { email, first_name: firstName || void 0, source: c.source || "landing_page", landing_page_slug: slug || void 0 });
3003
3008
  } catch (err) {
3004
3009
  setErrorMsg(err instanceof Error ? err.message : "Something went wrong. Please try again.");
@@ -3147,7 +3152,15 @@ function SuccessState({ theme, heading, message, couponCode, ctaText, ctaUrl })
3147
3152
  "button",
3148
3153
  {
3149
3154
  onClick: () => {
3150
- window.location.href = ctaUrl || "/shop";
3155
+ const dest = new URL(ctaUrl || "/shop", window.location.origin);
3156
+ const current = new URLSearchParams(window.location.search);
3157
+ for (const key of ["utm_source", "utm_medium", "utm_campaign", "utm_content", "utm_term", "fbclid", "gclid"]) {
3158
+ const val = current.get(key);
3159
+ if (val && !dest.searchParams.has(key)) dest.searchParams.set(key, val);
3160
+ }
3161
+ const vid = typeof localStorage !== "undefined" && localStorage.getItem("wt_vid");
3162
+ if (vid) dest.searchParams.set("wt_vid", vid);
3163
+ window.location.href = dest.toString();
3151
3164
  },
3152
3165
  style: {
3153
3166
  marginTop: "1.5rem",
@@ -3711,6 +3724,7 @@ function LocationCardSection({ section, theme, onEvent }) {
3711
3724
  "a",
3712
3725
  {
3713
3726
  href: loc.shop_url,
3727
+ rel: "nofollow noopener noreferrer",
3714
3728
  onClick: () => onEvent?.("cta_click", { label: "shop", location: loc.name }),
3715
3729
  style: {
3716
3730
  flex: 1,