@accelerated-agency/visual-editor 0.3.9 → 0.4.1

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.
Files changed (3) hide show
  1. package/dist/vite.cjs +78 -14
  2. package/dist/vite.js +78 -14
  3. package/package.json +1 -1
package/dist/vite.cjs CHANGED
@@ -19,7 +19,7 @@ var SCRAPER_PROXY_USERNAME = process.env.SCRAPERAPI_PROXY_USERNAME || [
19
19
  SCRAPER_PROXY_USERNAME_BASE,
20
20
  SCRAPER_PROXY_USERNAME_PARAMS
21
21
  ].filter(Boolean).join(".");
22
- var SCRAPER_PROXY_PASSWORD = process.env.SCRAPERAPI_PROXY_PASSWORD || process.env.SCRAPERAPI_API_KEY || "e0252333bde7cbf61d2d388e8c4a962a";
22
+ var SCRAPER_PROXY_PASSWORD = process.env.SCRAPERAPI_PROXY_PASSWORD || process.env.SCRAPERAPI_API_KEY;
23
23
  var SCRAPER_API_ENDPOINT = process.env.SCRAPERAPI_ENDPOINT || "https://api.scraperapi.com/";
24
24
  var SCRAPER_REQUEST_TLS_REJECT_UNAUTHORIZED_RAW = process.env.SCRAPERAPI_REQUEST_TLS_REJECT_UNAUTHORIZED || "false";
25
25
  var SCRAPER_REQUEST_TLS_REJECT_UNAUTHORIZED = !["0", "false", "no"].includes(
@@ -41,7 +41,10 @@ var DEFAULT_TRACKING_MARKERS = [
41
41
  "mixpanel",
42
42
  "amplitude",
43
43
  "fullstory",
44
+ "northbeam",
45
+ "nb-collector",
44
46
  "/api/collect",
47
+ "/nb-collector",
45
48
  '"r":"periodic"',
46
49
  '"r": "periodic"'
47
50
  ];
@@ -110,10 +113,12 @@ function stripTrackingScriptsFromScrapedHtml(html, markers) {
110
113
  }
111
114
  return out;
112
115
  }
116
+ var SCRAPER_BILLING_ERROR_RE = /exhausted the api credits|upgrade your subscription|enable overages|dashboard\.scraperapi\.com\/billing|insufficient credits|billing/i;
113
117
  var scraperProxyClientPromise = null;
114
118
  async function getScraperProxyClient() {
115
119
  if (scraperProxyClientPromise) return scraperProxyClientPromise;
116
120
  scraperProxyClientPromise = (async () => {
121
+ if (!SCRAPER_PROXY_PASSWORD) return null;
117
122
  try {
118
123
  const undici = await import('undici');
119
124
  const proxyUrl = "http://" + encodeURIComponent(SCRAPER_PROXY_USERNAME) + ":" + encodeURIComponent(SCRAPER_PROXY_PASSWORD) + "@" + SCRAPER_PROXY_HOST + ":" + String(SCRAPER_PROXY_PORT);
@@ -1136,12 +1141,40 @@ select.pr-inp{cursor:pointer;background:#fff}
1136
1141
 
1137
1142
  <!-- CDN scripts -->
1138
1143
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
1139
- <script src="https://cdn.jsdelivr.net/gh/givanz/VvvebJs@master/libs/builder/builder.js"></script>
1140
- <script src="https://cdn.jsdelivr.net/gh/givanz/VvvebJs@master/libs/builder/undo.js"></script>
1141
- <script src="https://cdn.jsdelivr.net/gh/givanz/VvvebJs@master/libs/builder/inputs.js"></script>
1144
+ <script>
1145
+ window.__veLoadFallback = function(el, candidates){
1146
+ try{
1147
+ if(!el) return;
1148
+ var list = String(candidates || "").split("||").map(function(v){ return v.trim(); }).filter(Boolean);
1149
+ var idx = Number(el.getAttribute("data-fallback-idx") || "0");
1150
+ if(idx >= list.length) return;
1151
+ var next = list[idx];
1152
+ el.setAttribute("data-fallback-idx", String(idx + 1));
1153
+ el.src = next;
1154
+ }catch(_){}
1155
+ };
1156
+ </script>
1157
+ <script
1158
+ src="https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/builder.js"
1159
+ onerror="window.__veLoadFallback(this,'https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/builder.js||https://unpkg.com/vvvebjs@latest/libs/builder/builder.js')"
1160
+ ></script>
1161
+ <script
1162
+ src="https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/undo.js"
1163
+ onerror="window.__veLoadFallback(this,'https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/undo.js||https://unpkg.com/vvvebjs@latest/libs/builder/undo.js')"
1164
+ ></script>
1165
+ <script
1166
+ src="https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/inputs.js"
1167
+ onerror="window.__veLoadFallback(this,'https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/inputs.js||https://unpkg.com/vvvebjs@latest/libs/builder/inputs.js')"
1168
+ ></script>
1142
1169
  <!-- components.js defines shared colour-class arrays used by bootstrap5/widgets components -->
1143
- <script src="https://cdn.jsdelivr.net/gh/givanz/VvvebJs@master/libs/builder/components.js"></script>
1144
- <script src="https://cdn.jsdelivr.net/gh/givanz/VvvebJs@master/libs/builder/components-html.js"></script>
1170
+ <script
1171
+ src="https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/components.js"
1172
+ onerror="window.__veLoadFallback(this,'https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/components.js||https://unpkg.com/vvvebjs@latest/libs/builder/components.js')"
1173
+ ></script>
1174
+ // <script
1175
+ // src="https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/components-widgets.js"
1176
+ // onerror="window.__veLoadFallback(this,'https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/components-widgets.js||https://unpkg.com/vvvebjs@latest/libs/builder/components-widgets.js')"
1177
+ // ></script>
1145
1178
  <script>
1146
1179
  /* Safety stub: if components.js didn't define these, create empty arrays so
1147
1180
  components-bootstrap5.js doesn't throw ReferenceError on load. */
@@ -1168,8 +1201,14 @@ if (window.Vvveb && window.Vvveb.Components) {
1168
1201
  } catch(_) {}
1169
1202
  }
1170
1203
  </script>
1171
- <script src="https://cdn.jsdelivr.net/gh/givanz/VvvebJs@master/libs/builder/components-bootstrap5.js"></script>
1172
- <script src="https://cdn.jsdelivr.net/gh/givanz/VvvebJs@master/libs/builder/components-widgets.js"></script>
1204
+ <script
1205
+ src="https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/components-bootstrap4.js"
1206
+ onerror="window.__veLoadFallback(this,'https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/components-bootstrap4.js||https://unpkg.com/vvvebjs@latest/libs/builder/components-bootstrap4.js')"
1207
+ ></script>
1208
+ <script
1209
+ src="https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/components-widgets.js"
1210
+ onerror="window.__veLoadFallback(this,'https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/components-widgets.js||https://unpkg.com/vvvebjs@latest/libs/builder/components-widgets.js')"
1211
+ ></script>
1173
1212
 
1174
1213
  <script>
1175
1214
  'use strict';
@@ -5517,8 +5556,9 @@ function createVisualEditorMiddleware(options) {
5517
5556
  );
5518
5557
  return;
5519
5558
  }
5520
- if (!SCRAPER_PROXY_PASSWORD) ;
5521
- const upstreamFetch = (input, init = {}) => {
5559
+ const directFetch = (input, init = {}) => fetch(input, init);
5560
+ const scraperFetch = (input, init = {}) => {
5561
+ if (!SCRAPER_PROXY_PASSWORD) return directFetch(input, init);
5522
5562
  if (!useScraperProxy || !scraperProxyClient) {
5523
5563
  const scraperUrl = new URL(SCRAPER_API_ENDPOINT);
5524
5564
  scraperUrl.searchParams.set("api_key", SCRAPER_PROXY_PASSWORD);
@@ -5530,6 +5570,29 @@ function createVisualEditorMiddleware(options) {
5530
5570
  dispatcher: scraperProxyClient.dispatcher
5531
5571
  });
5532
5572
  };
5573
+ const shouldFallbackFromScraper = async (resp) => {
5574
+ try {
5575
+ if (resp.ok) return false;
5576
+ const text = await resp.clone().text();
5577
+ return SCRAPER_BILLING_ERROR_RE.test(String(text || ""));
5578
+ } catch (_) {
5579
+ return false;
5580
+ }
5581
+ };
5582
+ const upstreamFetch = async (input, init = {}) => {
5583
+ const primary = await scraperFetch(input, init);
5584
+ if (!await shouldFallbackFromScraper(primary)) {
5585
+ return primary;
5586
+ }
5587
+ try {
5588
+ console.warn("[conversion-proxy] ScraperAPI billing/quota detected; falling back to direct fetch", {
5589
+ url: input,
5590
+ mode: useScraperProxy ? "proxy" : "simple"
5591
+ });
5592
+ } catch (_) {
5593
+ }
5594
+ return directFetch(input, init);
5595
+ };
5533
5596
  const headers = {
5534
5597
  "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36",
5535
5598
  Accept: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
@@ -5689,8 +5752,8 @@ window.__EDITOR_MODE__=true;
5689
5752
  window.CONVERSION_DISABLE_TRACKING=true;
5690
5753
  window.SNOWPLOW_ENABLED=false;
5691
5754
  var TARGET_HOSTNAME=(function(){try{return new URL(TARGET_ORIGIN).hostname.toLowerCase();}catch(_){return "";}})();
5692
- var TRACKING_HOST_MARKERS=["snowplow","snowplowanalytics","collector","analytics","conversion","taboola"];
5693
- var TRACKING_PATH_MARKERS=["/i","/com.snowplowanalytics.snowplow/","/tp2","/track","/events","/unip"];
5755
+ var TRACKING_HOST_MARKERS=["snowplow","snowplowanalytics","collector","analytics","conversion","taboola","northbeam"];
5756
+ var TRACKING_PATH_MARKERS=["/i","/com.snowplowanalytics.snowplow/","/tp2","/track","/events","/unip","/nb-collector"];
5694
5757
  function hasMarker(value,markers){
5695
5758
  var text=String(value||"").toLowerCase();
5696
5759
  for(var i=0;i<markers.length;i++){
@@ -5734,11 +5797,12 @@ function shouldBlockEditorTracking(rawUrl){
5734
5797
  var isSnowplowStylePath=path==="/i"||path.indexOf("/com.snowplowanalytics.snowplow/")!==-1||path.indexOf("/tp2")!==-1;
5735
5798
  var isTaboolaUnip=host==="trc-events.taboola.com"&&//log/d+/unip(?:/|$)/.test(path);
5736
5799
  var isCollectApiPath=path==="/api/collect"||path.indexOf("/api/collect/")===0;
5737
- return isCrossOriginCollector||(looksLikeHeartbeatPayload&&isSnowplowStylePath)||isCollectApiPath||isTaboolaUnip;
5800
+ var isNbCollectorPath=path==="/nb-collector"||path.indexOf("/nb-collector/")===0;
5801
+ return isCrossOriginCollector||(looksLikeHeartbeatPayload&&isSnowplowStylePath)||isCollectApiPath||isTaboolaUnip||isNbCollectorPath;
5738
5802
  }catch(_){
5739
5803
  try{
5740
5804
  var s=String(rawUrl||"").toLowerCase();
5741
- return s.indexOf("snowplow")!==-1||s.indexOf("com.snowplowanalytics")!==-1||s.indexOf("collector")!==-1||s.indexOf("/api/collect")!==-1||s.indexOf("trc-events.taboola.com")!==-1;
5805
+ return s.indexOf("snowplow")!==-1||s.indexOf("com.snowplowanalytics")!==-1||s.indexOf("collector")!==-1||s.indexOf("/api/collect")!==-1||s.indexOf("trc-events.taboola.com")!==-1||s.indexOf("/nb-collector")!==-1||s.indexOf("northbeam")!==-1;
5742
5806
  }catch(__){
5743
5807
  return false;
5744
5808
  }
package/dist/vite.js CHANGED
@@ -11,7 +11,7 @@ var SCRAPER_PROXY_USERNAME = process.env.SCRAPERAPI_PROXY_USERNAME || [
11
11
  SCRAPER_PROXY_USERNAME_BASE,
12
12
  SCRAPER_PROXY_USERNAME_PARAMS
13
13
  ].filter(Boolean).join(".");
14
- var SCRAPER_PROXY_PASSWORD = process.env.SCRAPERAPI_PROXY_PASSWORD || process.env.SCRAPERAPI_API_KEY || "e0252333bde7cbf61d2d388e8c4a962a";
14
+ var SCRAPER_PROXY_PASSWORD = process.env.SCRAPERAPI_PROXY_PASSWORD || process.env.SCRAPERAPI_API_KEY;
15
15
  var SCRAPER_API_ENDPOINT = process.env.SCRAPERAPI_ENDPOINT || "https://api.scraperapi.com/";
16
16
  var SCRAPER_REQUEST_TLS_REJECT_UNAUTHORIZED_RAW = process.env.SCRAPERAPI_REQUEST_TLS_REJECT_UNAUTHORIZED || "false";
17
17
  var SCRAPER_REQUEST_TLS_REJECT_UNAUTHORIZED = !["0", "false", "no"].includes(
@@ -33,7 +33,10 @@ var DEFAULT_TRACKING_MARKERS = [
33
33
  "mixpanel",
34
34
  "amplitude",
35
35
  "fullstory",
36
+ "northbeam",
37
+ "nb-collector",
36
38
  "/api/collect",
39
+ "/nb-collector",
37
40
  '"r":"periodic"',
38
41
  '"r": "periodic"'
39
42
  ];
@@ -102,10 +105,12 @@ function stripTrackingScriptsFromScrapedHtml(html, markers) {
102
105
  }
103
106
  return out;
104
107
  }
108
+ var SCRAPER_BILLING_ERROR_RE = /exhausted the api credits|upgrade your subscription|enable overages|dashboard\.scraperapi\.com\/billing|insufficient credits|billing/i;
105
109
  var scraperProxyClientPromise = null;
106
110
  async function getScraperProxyClient() {
107
111
  if (scraperProxyClientPromise) return scraperProxyClientPromise;
108
112
  scraperProxyClientPromise = (async () => {
113
+ if (!SCRAPER_PROXY_PASSWORD) return null;
109
114
  try {
110
115
  const undici = await import('undici');
111
116
  const proxyUrl = "http://" + encodeURIComponent(SCRAPER_PROXY_USERNAME) + ":" + encodeURIComponent(SCRAPER_PROXY_PASSWORD) + "@" + SCRAPER_PROXY_HOST + ":" + String(SCRAPER_PROXY_PORT);
@@ -1128,12 +1133,40 @@ select.pr-inp{cursor:pointer;background:#fff}
1128
1133
 
1129
1134
  <!-- CDN scripts -->
1130
1135
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
1131
- <script src="https://cdn.jsdelivr.net/gh/givanz/VvvebJs@master/libs/builder/builder.js"></script>
1132
- <script src="https://cdn.jsdelivr.net/gh/givanz/VvvebJs@master/libs/builder/undo.js"></script>
1133
- <script src="https://cdn.jsdelivr.net/gh/givanz/VvvebJs@master/libs/builder/inputs.js"></script>
1136
+ <script>
1137
+ window.__veLoadFallback = function(el, candidates){
1138
+ try{
1139
+ if(!el) return;
1140
+ var list = String(candidates || "").split("||").map(function(v){ return v.trim(); }).filter(Boolean);
1141
+ var idx = Number(el.getAttribute("data-fallback-idx") || "0");
1142
+ if(idx >= list.length) return;
1143
+ var next = list[idx];
1144
+ el.setAttribute("data-fallback-idx", String(idx + 1));
1145
+ el.src = next;
1146
+ }catch(_){}
1147
+ };
1148
+ </script>
1149
+ <script
1150
+ src="https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/builder.js"
1151
+ onerror="window.__veLoadFallback(this,'https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/builder.js||https://unpkg.com/vvvebjs@latest/libs/builder/builder.js')"
1152
+ ></script>
1153
+ <script
1154
+ src="https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/undo.js"
1155
+ onerror="window.__veLoadFallback(this,'https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/undo.js||https://unpkg.com/vvvebjs@latest/libs/builder/undo.js')"
1156
+ ></script>
1157
+ <script
1158
+ src="https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/inputs.js"
1159
+ onerror="window.__veLoadFallback(this,'https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/inputs.js||https://unpkg.com/vvvebjs@latest/libs/builder/inputs.js')"
1160
+ ></script>
1134
1161
  <!-- components.js defines shared colour-class arrays used by bootstrap5/widgets components -->
1135
- <script src="https://cdn.jsdelivr.net/gh/givanz/VvvebJs@master/libs/builder/components.js"></script>
1136
- <script src="https://cdn.jsdelivr.net/gh/givanz/VvvebJs@master/libs/builder/components-html.js"></script>
1162
+ <script
1163
+ src="https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/components.js"
1164
+ onerror="window.__veLoadFallback(this,'https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/components.js||https://unpkg.com/vvvebjs@latest/libs/builder/components.js')"
1165
+ ></script>
1166
+ // <script
1167
+ // src="https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/components-widgets.js"
1168
+ // onerror="window.__veLoadFallback(this,'https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/components-widgets.js||https://unpkg.com/vvvebjs@latest/libs/builder/components-widgets.js')"
1169
+ // ></script>
1137
1170
  <script>
1138
1171
  /* Safety stub: if components.js didn't define these, create empty arrays so
1139
1172
  components-bootstrap5.js doesn't throw ReferenceError on load. */
@@ -1160,8 +1193,14 @@ if (window.Vvveb && window.Vvveb.Components) {
1160
1193
  } catch(_) {}
1161
1194
  }
1162
1195
  </script>
1163
- <script src="https://cdn.jsdelivr.net/gh/givanz/VvvebJs@master/libs/builder/components-bootstrap5.js"></script>
1164
- <script src="https://cdn.jsdelivr.net/gh/givanz/VvvebJs@master/libs/builder/components-widgets.js"></script>
1196
+ <script
1197
+ src="https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/components-bootstrap4.js"
1198
+ onerror="window.__veLoadFallback(this,'https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/components-bootstrap4.js||https://unpkg.com/vvvebjs@latest/libs/builder/components-bootstrap4.js')"
1199
+ ></script>
1200
+ <script
1201
+ src="https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/components-widgets.js"
1202
+ onerror="window.__veLoadFallback(this,'https://cdn.jsdelivr.net/npm/vvvebjs@latest/libs/builder/components-widgets.js||https://unpkg.com/vvvebjs@latest/libs/builder/components-widgets.js')"
1203
+ ></script>
1165
1204
 
1166
1205
  <script>
1167
1206
  'use strict';
@@ -5509,8 +5548,9 @@ function createVisualEditorMiddleware(options) {
5509
5548
  );
5510
5549
  return;
5511
5550
  }
5512
- if (!SCRAPER_PROXY_PASSWORD) ;
5513
- const upstreamFetch = (input, init = {}) => {
5551
+ const directFetch = (input, init = {}) => fetch(input, init);
5552
+ const scraperFetch = (input, init = {}) => {
5553
+ if (!SCRAPER_PROXY_PASSWORD) return directFetch(input, init);
5514
5554
  if (!useScraperProxy || !scraperProxyClient) {
5515
5555
  const scraperUrl = new URL(SCRAPER_API_ENDPOINT);
5516
5556
  scraperUrl.searchParams.set("api_key", SCRAPER_PROXY_PASSWORD);
@@ -5522,6 +5562,29 @@ function createVisualEditorMiddleware(options) {
5522
5562
  dispatcher: scraperProxyClient.dispatcher
5523
5563
  });
5524
5564
  };
5565
+ const shouldFallbackFromScraper = async (resp) => {
5566
+ try {
5567
+ if (resp.ok) return false;
5568
+ const text = await resp.clone().text();
5569
+ return SCRAPER_BILLING_ERROR_RE.test(String(text || ""));
5570
+ } catch (_) {
5571
+ return false;
5572
+ }
5573
+ };
5574
+ const upstreamFetch = async (input, init = {}) => {
5575
+ const primary = await scraperFetch(input, init);
5576
+ if (!await shouldFallbackFromScraper(primary)) {
5577
+ return primary;
5578
+ }
5579
+ try {
5580
+ console.warn("[conversion-proxy] ScraperAPI billing/quota detected; falling back to direct fetch", {
5581
+ url: input,
5582
+ mode: useScraperProxy ? "proxy" : "simple"
5583
+ });
5584
+ } catch (_) {
5585
+ }
5586
+ return directFetch(input, init);
5587
+ };
5525
5588
  const headers = {
5526
5589
  "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36",
5527
5590
  Accept: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
@@ -5681,8 +5744,8 @@ window.__EDITOR_MODE__=true;
5681
5744
  window.CONVERSION_DISABLE_TRACKING=true;
5682
5745
  window.SNOWPLOW_ENABLED=false;
5683
5746
  var TARGET_HOSTNAME=(function(){try{return new URL(TARGET_ORIGIN).hostname.toLowerCase();}catch(_){return "";}})();
5684
- var TRACKING_HOST_MARKERS=["snowplow","snowplowanalytics","collector","analytics","conversion","taboola"];
5685
- var TRACKING_PATH_MARKERS=["/i","/com.snowplowanalytics.snowplow/","/tp2","/track","/events","/unip"];
5747
+ var TRACKING_HOST_MARKERS=["snowplow","snowplowanalytics","collector","analytics","conversion","taboola","northbeam"];
5748
+ var TRACKING_PATH_MARKERS=["/i","/com.snowplowanalytics.snowplow/","/tp2","/track","/events","/unip","/nb-collector"];
5686
5749
  function hasMarker(value,markers){
5687
5750
  var text=String(value||"").toLowerCase();
5688
5751
  for(var i=0;i<markers.length;i++){
@@ -5726,11 +5789,12 @@ function shouldBlockEditorTracking(rawUrl){
5726
5789
  var isSnowplowStylePath=path==="/i"||path.indexOf("/com.snowplowanalytics.snowplow/")!==-1||path.indexOf("/tp2")!==-1;
5727
5790
  var isTaboolaUnip=host==="trc-events.taboola.com"&&//log/d+/unip(?:/|$)/.test(path);
5728
5791
  var isCollectApiPath=path==="/api/collect"||path.indexOf("/api/collect/")===0;
5729
- return isCrossOriginCollector||(looksLikeHeartbeatPayload&&isSnowplowStylePath)||isCollectApiPath||isTaboolaUnip;
5792
+ var isNbCollectorPath=path==="/nb-collector"||path.indexOf("/nb-collector/")===0;
5793
+ return isCrossOriginCollector||(looksLikeHeartbeatPayload&&isSnowplowStylePath)||isCollectApiPath||isTaboolaUnip||isNbCollectorPath;
5730
5794
  }catch(_){
5731
5795
  try{
5732
5796
  var s=String(rawUrl||"").toLowerCase();
5733
- return s.indexOf("snowplow")!==-1||s.indexOf("com.snowplowanalytics")!==-1||s.indexOf("collector")!==-1||s.indexOf("/api/collect")!==-1||s.indexOf("trc-events.taboola.com")!==-1;
5797
+ return s.indexOf("snowplow")!==-1||s.indexOf("com.snowplowanalytics")!==-1||s.indexOf("collector")!==-1||s.indexOf("/api/collect")!==-1||s.indexOf("trc-events.taboola.com")!==-1||s.indexOf("/nb-collector")!==-1||s.indexOf("northbeam")!==-1;
5734
5798
  }catch(__){
5735
5799
  return false;
5736
5800
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@accelerated-agency/visual-editor",
3
- "version": "0.3.9",
3
+ "version": "0.4.1",
4
4
  "private": false,
5
5
  "description": "Conversion visual editor as a reusable React package",
6
6
  "type": "module",