zar 0.5.0 → 0.5.2

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/zar.es.js CHANGED
@@ -1,983 +1,747 @@
1
- var __async = (__this, __arguments, generator) => {
2
- return new Promise((resolve, reject) => {
3
- var fulfilled = (value) => {
4
- try {
5
- step(generator.next(value));
6
- } catch (e) {
7
- reject(e);
8
- }
9
- };
10
- var rejected = (value) => {
11
- try {
12
- step(generator.throw(value));
13
- } catch (e) {
14
- reject(e);
15
- }
16
- };
17
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
18
- step((generator = generator.apply(__this, __arguments)).next());
19
- });
20
- };
21
- function Analytics({ app, plugins = [] } = {}) {
22
- const instance = {
23
- app,
1
+ var d = (t, e, n) => new Promise((r, i) => {
2
+ var a = (s) => {
3
+ try {
4
+ u(n.next(s));
5
+ } catch (c) {
6
+ i(c);
7
+ }
8
+ }, o = (s) => {
9
+ try {
10
+ u(n.throw(s));
11
+ } catch (c) {
12
+ i(c);
13
+ }
14
+ }, u = (s) => s.done ? r(s.value) : Promise.resolve(s.value).then(a, o);
15
+ u((n = n.apply(t, e)).next());
16
+ });
17
+ function Z({ app: t, plugins: e = [] } = {}) {
18
+ const n = {
19
+ app: t,
24
20
  plugins: {},
25
- page: (payload = {}) => runPage(instance, payload),
26
- track: (event, properties = {}, options) => runTrack(instance, options ? { event, properties, options } : { event, properties }),
27
- reset: (...args) => __async(this, null, function* () {
28
- return runReset(instance, ...args);
21
+ page: (r = {}) => rt(n, r),
22
+ track: (r, i = {}, a) => nt(
23
+ n,
24
+ a ? { event: r, properties: i, options: a } : { event: r, properties: i }
25
+ ),
26
+ reset: (...r) => d(this, null, function* () {
27
+ return at(n, ...r);
29
28
  })
30
29
  };
31
- plugins.forEach((p) => {
32
- if (!p || !p.name)
33
- return;
34
- p.instance = instance;
35
- if (p.methods) {
36
- Object.keys(p.methods).forEach((k) => {
37
- const fn = p.methods[k];
38
- if (typeof fn === "function") {
39
- const bound = fn.bind(p);
40
- p.methods[k] = bound;
41
- p[k] = bound;
42
- }
43
- });
44
- }
45
- instance.plugins[p.name] = p;
46
- });
47
- plugins.forEach((p) => {
30
+ return e.forEach((r) => {
31
+ !r || !r.name || (r.instance = n, r.methods && Object.keys(r.methods).forEach((i) => {
32
+ const a = r.methods[i];
33
+ if (typeof a == "function") {
34
+ const o = a.bind(r);
35
+ r.methods[i] = o, r[i] = o;
36
+ }
37
+ }), n.plugins[r.name] = r);
38
+ }), e.forEach((r) => {
48
39
  try {
49
- p.initialize && p.initialize({ config: p.config, instance });
50
- } catch (_) {
51
- }
52
- });
53
- return instance;
54
- }
55
- const hashRegex = /#.*$/;
56
- function currentUrl() {
57
- if (typeof window === "undefined")
58
- return "";
59
- return window.location.href.replace(hashRegex, "");
60
- }
61
- function getPageData(pageData = {}) {
62
- if (typeof window === "undefined" || typeof document === "undefined") {
63
- return pageData;
64
- }
65
- const { title, referrer } = document;
66
- const { innerWidth, innerHeight } = window;
67
- const url = currentUrl();
68
- const page = {
69
- title,
70
- url,
71
- width: innerWidth,
72
- height: innerHeight
40
+ r.initialize && r.initialize({ config: r.config, instance: n });
41
+ } catch (i) {
42
+ }
43
+ }), n;
44
+ }
45
+ const tt = /#.*$/;
46
+ function et() {
47
+ return typeof window == "undefined" ? "" : window.location.href.replace(tt, "");
48
+ }
49
+ function q(t = {}) {
50
+ if (typeof window == "undefined" || typeof document == "undefined")
51
+ return t;
52
+ const { title: e, referrer: n } = document, { innerWidth: r, innerHeight: i } = window, a = et(), o = {
53
+ title: e,
54
+ url: a,
55
+ width: r,
56
+ height: i
73
57
  };
74
- if (referrer && referrer !== "") {
75
- page.referrer = referrer;
76
- }
77
- return Object.assign({}, page, pageData);
78
- }
79
- function runPage(_0) {
80
- return __async(this, arguments, function* (instance, payload = {}) {
81
- if (!payload.type)
82
- payload.type = "page";
83
- payload.properties = getPageData(payload.properties || {});
84
- Object.values(instance.plugins).forEach((p) => {
85
- if (typeof p.pageStart === "function") {
58
+ return n && n !== "" && (o.referrer = n), Object.assign({}, o, t);
59
+ }
60
+ function rt(n) {
61
+ return d(this, arguments, function* (t, e = {}) {
62
+ e.type || (e.type = "page"), e.properties = q(e.properties || {}), Object.values(t.plugins).forEach((r) => {
63
+ if (typeof r.pageStart == "function")
86
64
  try {
87
- const next = p.pageStart({ payload, config: p.config, instance });
88
- if (next)
89
- payload = next;
90
- } catch (_) {
65
+ const i = r.pageStart({ payload: e, config: r.config, instance: t });
66
+ i && (e = i);
67
+ } catch (i) {
91
68
  }
92
- }
93
69
  });
94
- for (const p of Object.values(instance.plugins)) {
95
- if (typeof p.page === "function") {
70
+ for (const r of Object.values(t.plugins))
71
+ if (typeof r.page == "function")
96
72
  try {
97
- yield p.page({ payload, options: {}, instance, config: p.config });
98
- } catch (_) {
73
+ yield r.page({ payload: e, options: {}, instance: t, config: r.config });
74
+ } catch (i) {
99
75
  }
100
- }
101
- }
102
- return payload;
76
+ return e;
103
77
  });
104
78
  }
105
- function runTrack(_0) {
106
- return __async(this, arguments, function* (instance, payload = {}) {
107
- if (!payload.type)
108
- payload.type = "track";
109
- const base = getPageData();
110
- const props = payload.properties || {};
111
- if (props.url === void 0)
112
- props.url = base.url;
113
- if (props.referrer === void 0 && base.referrer !== void 0) {
114
- props.referrer = base.referrer;
115
- }
116
- payload.properties = props;
117
- const options = payload.options || {};
118
- const perCallPlugins = options && typeof options.plugins === "object" ? options.plugins : null;
119
- const isDisabled = (p) => perCallPlugins && perCallPlugins[p.name] === false;
120
- Object.values(instance.plugins).forEach((p) => {
121
- if (isDisabled(p))
122
- return;
123
- if (typeof p.trackStart === "function") {
79
+ function nt(n) {
80
+ return d(this, arguments, function* (t, e = {}) {
81
+ e.type || (e.type = "track");
82
+ const r = q(), i = e.properties || {};
83
+ i.url === void 0 && (i.url = r.url), i.referrer === void 0 && r.referrer !== void 0 && (i.referrer = r.referrer), e.properties = i;
84
+ const a = e.options || {}, o = a && typeof a.plugins == "object" ? a.plugins : null, u = (s) => o && o[s.name] === !1;
85
+ Object.values(t.plugins).forEach((s) => {
86
+ if (!u(s) && typeof s.trackStart == "function")
124
87
  try {
125
- const next = p.trackStart({
126
- payload,
127
- options,
128
- config: p.config,
129
- instance
88
+ const c = s.trackStart({
89
+ payload: e,
90
+ options: a,
91
+ config: s.config,
92
+ instance: t
130
93
  });
131
- if (next)
132
- payload = next;
133
- } catch (_) {
94
+ c && (e = c);
95
+ } catch (c) {
134
96
  }
135
- }
136
97
  });
137
- for (const p of Object.values(instance.plugins)) {
138
- if (isDisabled(p))
139
- continue;
140
- if (typeof p.track === "function") {
98
+ for (const s of Object.values(t.plugins))
99
+ if (!u(s) && typeof s.track == "function")
141
100
  try {
142
- yield p.track({ payload, options, instance, config: p.config });
143
- } catch (_) {
101
+ yield s.track({ payload: e, options: a, instance: t, config: s.config });
102
+ } catch (c) {
144
103
  }
145
- }
146
- }
147
- return payload;
104
+ return e;
148
105
  });
149
106
  }
150
- function runReset(instance, ...args) {
151
- return __async(this, null, function* () {
152
- for (const p of Object.values(instance.plugins)) {
153
- if (typeof p.reset === "function") {
107
+ function at(t, ...e) {
108
+ return d(this, null, function* () {
109
+ for (const n of Object.values(t.plugins))
110
+ if (typeof n.reset == "function")
154
111
  try {
155
- yield p.reset(...args);
156
- } catch (_) {
112
+ yield n.reset(...e);
113
+ } catch (r) {
157
114
  }
158
- }
159
- }
160
115
  });
161
116
  }
162
- function facebookScriptInit(f, b, e, v, n, t, s) {
163
- if (f.fbq)
164
- return;
165
- n = f.fbq = function() {
166
- n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments);
167
- };
168
- if (!f._fbq)
169
- f._fbq = n;
170
- n.push = n;
171
- n.loaded = true;
172
- n.version = "2.0";
173
- n.queue = [];
174
- t = b.createElement(e);
175
- t.async = true;
176
- t.src = v;
177
- s = b.getElementsByTagName(e)[0];
178
- s.parentNode.insertBefore(t, s);
179
- }
180
- function facebookInit({ trackingId }) {
181
- facebookScriptInit(window, document, "script", "https://connect.facebook.net/en_US/fbevents.js");
182
- window.fbq("init", trackingId);
183
- }
184
- function facebook(pluginConfig = {}) {
117
+ function it(t, e, n, r, i, a, o) {
118
+ t.fbq || (i = t.fbq = function() {
119
+ i.callMethod ? i.callMethod.apply(i, arguments) : i.queue.push(arguments);
120
+ }, t._fbq || (t._fbq = i), i.push = i, i.loaded = !0, i.version = "2.0", i.queue = [], a = e.createElement(n), a.async = !0, a.src = r, o = e.getElementsByTagName(n)[0], o.parentNode.insertBefore(a, o));
121
+ }
122
+ function ot({ trackingId: t }) {
123
+ it(
124
+ window,
125
+ document,
126
+ "script",
127
+ "https://connect.facebook.net/en_US/fbevents.js"
128
+ ), window.fbq("init", t);
129
+ }
130
+ function ut(t = {}) {
185
131
  return {
186
132
  name: "facebook",
187
- config: pluginConfig,
188
- initialize: function({ config, instance }) {
189
- if (!config.trackingId)
133
+ config: t,
134
+ initialize: function({ config: e, instance: n }) {
135
+ if (!e.trackingId)
190
136
  throw new Error("No Facebook trackingId defined");
191
- facebookInit({ trackingId: config.trackingId });
137
+ ot({ trackingId: e.trackingId });
192
138
  },
193
- page: function({ payload, config, instance }) {
139
+ page: function({ payload: e, config: n, instance: r }) {
194
140
  window.fbq("track", "PageView");
195
141
  },
196
- track: function({ payload, config, instance }) {
197
- window.fbq("trackCustom", payload.event, payload.properties);
142
+ track: function({ payload: e, config: n, instance: r }) {
143
+ window.fbq("trackCustom", e.event, e.properties);
198
144
  },
199
- identify: function({ payload, config }) {
145
+ identify: function({ payload: e, config: n }) {
200
146
  },
201
147
  loaded: function() {
202
148
  return !!window.fbq;
203
149
  }
204
150
  };
205
151
  }
206
- function gtag() {
152
+ function P() {
207
153
  window.dataLayer.push(arguments);
208
154
  }
209
- window.gtag = gtag;
210
- function gtagInit({ trackingId, configParams = {}, setParams = {} }) {
211
- var scriptId = "ga-gtag";
212
- if (document.getElementById(scriptId))
213
- return;
214
- var head = document.head;
215
- var script = document.createElement("script");
216
- script.id = scriptId;
217
- script.type = "text/javascript";
218
- script.async = true;
219
- script.src = "https://www.googletagmanager.com/gtag/js?id=" + trackingId;
220
- head.insertBefore(script, head.firstChild);
221
- window.dataLayer = window.dataLayer || [];
222
- gtag("js", new Date());
223
- if (setParams) {
224
- gtag("set", setParams);
155
+ window.gtag = P;
156
+ function st({ trackingId: t, configParams: e = {}, setParams: n = {} }) {
157
+ var r = "ga-gtag";
158
+ if (!document.getElementById(r)) {
159
+ var i = document.head, a = document.createElement("script");
160
+ a.id = r, a.type = "text/javascript", a.async = !0, a.src = "https://www.googletagmanager.com/gtag/js?id=" + t, i.insertBefore(a, i.firstChild), window.dataLayer = window.dataLayer || [], P("js", /* @__PURE__ */ new Date()), n && P("set", n), P("config", t, e);
225
161
  }
226
- gtag("config", trackingId, configParams);
227
162
  }
228
- function googleAnalytics4(pluginConfig = {}) {
163
+ function ct(t = {}) {
229
164
  return {
230
165
  name: "google-analytics-4",
231
- config: pluginConfig,
232
- initialize: function({ config, instance }) {
233
- if (!config.trackingId)
166
+ config: t,
167
+ initialize: function({ config: e, instance: n }) {
168
+ if (!e.trackingId)
234
169
  throw new Error("No GA trackingId defined");
235
- var configParams = {};
236
- var setParams = {};
237
- if (config.customDimensions) {
238
- var customMap = {};
239
- for (var i = 0; i < config.customDimensions.length; i++) {
240
- var customDim = config.customDimensions[i];
241
- configParams[customDim.name] = customDim.callback(instance, config);
242
- customMap["dimension" + (i + 1)] = customDim.name;
170
+ var r = {}, i = {};
171
+ if (e.customDimensions) {
172
+ for (var a = {}, o = 0; o < e.customDimensions.length; o++) {
173
+ var u = e.customDimensions[o];
174
+ r[u.name] = u.callback(n, e), a["dimension" + (o + 1)] = u.name;
243
175
  }
244
- setParams["custom_map"] = customMap;
176
+ i.custom_map = a;
245
177
  }
246
- gtagInit({ trackingId: config.trackingId, configParams, setParams });
178
+ st({ trackingId: e.trackingId, configParams: r, setParams: i });
247
179
  },
248
- page: function({ payload, config, instance }) {
180
+ page: function({ payload: e, config: n, instance: r }) {
249
181
  },
250
- track: function({ payload, config, instance }) {
251
- gtag("event", payload.event, payload.properties);
182
+ track: function({ payload: e, config: n, instance: r }) {
183
+ P("event", e.event, e.properties);
252
184
  },
253
- identify: function({ payload, config }) {
185
+ identify: function({ payload: e, config: n }) {
254
186
  },
255
187
  loaded: function() {
256
188
  return !!window.gtag;
257
189
  }
258
190
  };
259
191
  }
260
- var urlParams = new URLSearchParams(window.location.search);
261
- var DEBUG = urlParams.get("zdbg");
262
- var zarGlobal = {};
263
- const undef = "undefined";
264
- function dbg() {
265
- if (DEBUG != 1)
266
- return;
267
- console.debug(...arguments);
268
- }
269
- function warn(msg) {
270
- console.warn(msg);
271
- if (window.Rollbar) {
272
- window.Rollbar.warning(msg);
273
- }
192
+ var ft = new URLSearchParams(window.location.search), lt = ft.get("zdbg"), J = {};
193
+ const I = "undefined";
194
+ function g() {
195
+ lt == 1 && console.debug(...arguments);
196
+ }
197
+ function l(t) {
198
+ console.warn(t), window.Rollbar && window.Rollbar.warning(t);
274
199
  }
275
- function isFunc(value) {
276
- return value && (Object.prototype.toString.call(value) === "[object Function]" || typeof value === "function" || value instanceof Function);
200
+ function dt(t) {
201
+ return t && (Object.prototype.toString.call(t) === "[object Function]" || typeof t == "function" || t instanceof Function);
277
202
  }
278
- function isBot() {
203
+ function B() {
279
204
  try {
280
- var ua = navigator.userAgent || "";
281
- var bots = new RegExp([
282
- /bot/,
283
- /spider/,
284
- /crawl/,
285
- /mediapartners/,
286
- /Google-Read-Aloud/,
287
- /semrush/
288
- ].map((r) => r.source).join("|"), "i");
289
- return bots.test(ua);
290
- } catch (e) {
291
- return false;
205
+ var t = navigator.userAgent || "", e = new RegExp(
206
+ [
207
+ /bot/,
208
+ /spider/,
209
+ /crawl/,
210
+ /mediapartners/,
211
+ /Google-Read-Aloud/,
212
+ /semrush/
213
+ ].map((n) => n.source).join("|"),
214
+ "i"
215
+ );
216
+ return e.test(t);
217
+ } catch (n) {
218
+ return !1;
292
219
  }
293
220
  }
294
- function afterDOMContentLoaded(func) {
295
- if (document.readyState === "complete" || document.readyState === "loaded" || document.readyState === "interactive") {
296
- func();
297
- } else {
298
- window.addEventListener("DOMContentLoaded", func);
299
- }
221
+ function wt(t) {
222
+ document.readyState === "complete" || document.readyState === "loaded" || document.readyState === "interactive" ? t() : window.addEventListener("DOMContentLoaded", t);
300
223
  }
301
- var supportsSessionStorage = hasSessionStorage();
302
- function hasSessionStorage() {
303
- if (typeof supportsSessionStorage !== undef) {
304
- return supportsSessionStorage;
305
- }
306
- supportsSessionStorage = true;
224
+ var p = gt();
225
+ function gt() {
226
+ if (typeof p !== I)
227
+ return p;
228
+ p = !0;
307
229
  try {
308
- sessionStorage.setItem(undef, undef);
309
- sessionStorage.removeItem(undef);
310
- } catch (e) {
311
- supportsSessionStorage = false;
230
+ sessionStorage.setItem(I, I), sessionStorage.removeItem(I);
231
+ } catch (t) {
232
+ p = !1;
312
233
  }
313
- return supportsSessionStorage;
314
- }
315
- function getSessionStorage(key) {
316
- var value;
317
- var globalValue = zarGlobal[key];
318
- if (supportsSessionStorage) {
319
- value = sessionStorage.getItem(key);
320
- if (!value && globalValue) {
321
- value = globalValue;
322
- sessionStorage.setItem(key, value);
323
- }
324
- } else {
325
- value = globalValue;
326
- }
327
- return value ? JSON.parse(value) : void 0;
234
+ return p;
328
235
  }
329
- function setSessionStorage(key, value) {
330
- var value_str = JSON.stringify(value);
331
- if (supportsSessionStorage) {
332
- sessionStorage.setItem(key, value_str);
333
- }
334
- zarGlobal[key] = value_str;
335
- }
336
- function makeRequest({ method, url, data, json = true }) {
337
- return new Promise(function(resolve, reject) {
338
- var xhr = new XMLHttpRequest();
339
- xhr.open(method, url);
340
- xhr.withCredentials = true;
341
- if (json) {
342
- xhr.setRequestHeader("Accept", "application/json");
343
- xhr.setRequestHeader("Content-Type", "application/json");
344
- }
345
- xhr.onload = function() {
346
- if (this.status >= 200 && this.status < 300) {
347
- if (json) {
348
- resolve(JSON.parse(xhr.response));
349
- } else {
350
- resolve(xhr.response);
351
- }
352
- } else {
353
- reject({
354
- status: this.status,
355
- message: xhr.statusText
356
- });
357
- }
358
- };
359
- xhr.onerror = function() {
360
- reject({
236
+ function F(t) {
237
+ var e, n = J[t];
238
+ return p ? (e = sessionStorage.getItem(t), !e && n && (e = n, sessionStorage.setItem(t, e))) : e = n, e ? JSON.parse(e) : void 0;
239
+ }
240
+ function vt(t, e) {
241
+ var n = JSON.stringify(e);
242
+ p && sessionStorage.setItem(t, n), J[t] = n;
243
+ }
244
+ function G({ method: t, url: e, data: n, json: r = !0 }) {
245
+ return new Promise(function(i, a) {
246
+ var o = new XMLHttpRequest();
247
+ o.open(t, e), o.withCredentials = !0, r && (o.setRequestHeader("Accept", "application/json"), o.setRequestHeader("Content-Type", "application/json")), o.onload = function() {
248
+ this.status >= 200 && this.status < 300 ? i(r ? JSON.parse(o.response) : o.response) : a({
249
+ status: this.status,
250
+ message: o.statusText
251
+ });
252
+ }, o.onerror = function() {
253
+ a({
361
254
  status: this.status,
362
255
  message: "Network Error"
363
256
  });
364
- };
365
- if (data) {
366
- xhr.send(data);
367
- } else {
368
- xhr.send();
369
- }
257
+ }, n ? o.send(n) : o.send();
370
258
  });
371
259
  }
372
- function formatParams(params) {
373
- return "?" + Object.keys(params).map(function(key) {
374
- return key + "=" + encodeURIComponent(params[key]);
260
+ function pt(t) {
261
+ return "?" + Object.keys(t).map(function(e) {
262
+ return e + "=" + encodeURIComponent(t[e]);
375
263
  }).join("&");
376
264
  }
377
- function postBeacon(_0) {
378
- return __async(this, arguments, function* ({ url, data }) {
379
- if (window && window.navigator && typeof window.navigator.sendBeacon === "function" && typeof window.Blob === "function") {
265
+ function bt(n) {
266
+ return d(this, arguments, function* ({ url: t, data: e }) {
267
+ if (window && window.navigator && typeof window.navigator.sendBeacon == "function" && typeof window.Blob == "function")
380
268
  try {
381
- const blob = new Blob([JSON.stringify(data)], {
269
+ const r = new Blob([JSON.stringify(e)], {
382
270
  type: "text/plain; charset=UTF-8"
383
271
  });
384
- if (window.navigator.sendBeacon(url, blob)) {
385
- return true;
386
- }
387
- return false;
388
- } catch (e) {
389
- warn("postBeacon:");
390
- return false;
272
+ return !!window.navigator.sendBeacon(t, r);
273
+ } catch (r) {
274
+ return l("postBeacon:"), !1;
391
275
  }
392
- }
393
- return false;
276
+ return !1;
394
277
  });
395
278
  }
396
- function httpGet(_0) {
397
- return __async(this, arguments, function* ({ url, params = null, json = true }) {
398
- var finalUrl = url;
399
- if (params) {
400
- finalUrl = finalUrl + formatParams(params);
401
- }
402
- return yield makeRequest({ method: "GET", url: finalUrl, json });
279
+ function ht(r) {
280
+ return d(this, arguments, function* ({ url: t, params: e = null, json: n = !0 }) {
281
+ var i = t;
282
+ return e && (i = i + pt(e)), yield G({ method: "GET", url: i, json: n });
403
283
  });
404
284
  }
405
- function httpPost(_0) {
406
- return __async(this, arguments, function* ({ url, data, json = true, beacon = false }) {
407
- var finalData = data;
408
- if (json) {
409
- finalData = JSON.stringify(finalData);
410
- }
411
- if (beacon) {
412
- var res = yield postBeacon({ url, data });
413
- if (res) {
285
+ function x(i) {
286
+ return d(this, arguments, function* ({ url: t, data: e, json: n = !0, beacon: r = !1 }) {
287
+ var a = e;
288
+ if (n && (a = JSON.stringify(a)), r) {
289
+ var o = yield bt({ url: t, data: e });
290
+ if (o)
414
291
  return;
415
- }
416
- dbg("Beacon failed");
292
+ g("Beacon failed");
417
293
  }
418
- return yield makeRequest({ method: "POST", url, data: finalData, json });
294
+ return yield G({ method: "POST", url: t, data: a, json: n });
419
295
  });
420
296
  }
421
- var VID_KEY = "__zar_vid";
422
- var NUMBER_POOL_SUCCESS = "success";
423
- var NUMBER_POOL_ERROR = "error";
424
- var NUMBER_POOL_RENEWAL_TIME_MS = 30 * 1e3;
425
- var getNumberFailureCount = 0;
426
- var MAX_GET_NUMBER_FAILURES = 3;
427
- var poolIntervals = {};
297
+ var k = "__zar_vid", L = "success", m = "error", $ = 30 * 1e3, C = 0, mt = 3, w = {}, R = {}, N = !1;
428
298
  window.zarPoolData = window.zarPoolData || null;
429
- window.zarPoolDLObserverDone = window.zarPoolDLObserverDone || false;
299
+ window.zarPoolDLObserverDone = window.zarPoolDLObserverDone || !1;
430
300
  window.zarPoolDataLayer = window.zarPoolDataLayer || [];
431
- var numberOverlayMap = /* @__PURE__ */ new Map();
432
- function generateVisitId() {
301
+ var b = /* @__PURE__ */ new Map();
302
+ function yt() {
433
303
  return Date.now().toString(36) + "." + Math.random().toString(36).substring(2);
434
304
  }
435
- function initId(key, generator, getter, setter) {
436
- var id;
437
- var isNew = false;
438
- var origReferrer = null;
439
- var idObj = getter(key);
440
- if (!idObj || !idObj.id) {
441
- id = generator();
442
- origReferrer = document.referrer;
443
- isNew = true;
444
- dbg("new ID for", key, "-", id);
445
- } else {
446
- id = idObj.id;
447
- origReferrer = idObj.origReferrer;
448
- }
449
- var result = { id, t: Date.now(), origReferrer, isNew };
450
- setter(key, result);
451
- return result;
452
- }
453
- function initIDs() {
454
- var vidResult = initId(VID_KEY, generateVisitId, getSessionStorage, setSessionStorage);
455
- return { vid: vidResult };
456
- }
457
- function getDefaultApiUrl() {
305
+ function Pt(t, e, n, r) {
306
+ var i, a = !1, o = null, u = n(t);
307
+ !u || !u.id ? (i = e(), o = document.referrer, a = !0, g("new ID for", t, "-", i)) : (i = u.id, o = u.origReferrer);
308
+ var s = { id: i, t: Date.now(), origReferrer: o, isNew: a };
309
+ return r(t, s), s;
310
+ }
311
+ function A() {
312
+ var t = Pt(
313
+ k,
314
+ yt,
315
+ F,
316
+ vt
317
+ );
318
+ return { vid: t };
319
+ }
320
+ function H() {
458
321
  return window.location.protocol + "://" + window.location.host + "/api/v2";
459
322
  }
460
- function getIDObj(key) {
461
- return getSessionStorage(key);
323
+ function V(t) {
324
+ return F(t);
462
325
  }
463
- function getID(key) {
464
- var obj = getIDObj(key);
465
- return obj ? obj.id : null;
326
+ function W(t) {
327
+ var e = V(t);
328
+ return e ? e.id : null;
466
329
  }
467
- function getStorage() {
330
+ function S() {
468
331
  return {
469
- vid: getIDObj(VID_KEY)
332
+ vid: V(k)
470
333
  };
471
334
  }
472
- function getIDs() {
335
+ function St() {
473
336
  return {
474
- vid: getID(VID_KEY)
337
+ vid: W(k)
475
338
  };
476
339
  }
477
- function extractPhoneNumber({ elem }) {
478
- var numberText = null;
479
- var number = null;
480
- var href = null;
481
- var regex = new RegExp("\\+?\\(?\\d*\\)? ?\\(?\\d+\\)?\\d*([\\s./-]?\\d{2,})+", "g");
482
- if (elem.href && elem.href.startsWith("tel:")) {
483
- href = elem.href;
484
- }
485
- var text = elem.innerText;
486
- var html = elem.innerHTML;
487
- var match = regex.exec(text);
488
- if (match) {
489
- numberText = match[0].trim();
490
- number = numberText.replace("+", "").replace(/-/g, "").replace(/ /g, "").replace("(", "").replace(")", "").replace(/^1/, "");
491
- }
492
- return { text, html, numberText, href, number };
493
- }
494
- function overlayPhoneNumber({ elems, number, force = false }) {
495
- var origNum;
496
- var overlayNum = number;
497
- if (!number.startsWith("+1")) {
498
- overlayNum = "+1" + number;
499
- }
500
- for (var i = 0; i < elems.length; i++) {
501
- if (numberOverlayMap.has(elems[i])) {
502
- if (force) {
503
- origNum = numberOverlayMap.get(elems[i]);
504
- } else {
505
- dbg("element already in overlay map:", elems[i]);
340
+ function E({ elem: t }) {
341
+ var e = null, n = null, r = null, i = new RegExp(
342
+ "\\+?\\(?\\d*\\)? ?\\(?\\d+\\)?\\d*([\\s./-]?\\d{2,})+",
343
+ "g"
344
+ );
345
+ t.href && t.href.startsWith("tel:") && (r = t.href);
346
+ var a = t.innerText, o = t.innerHTML, u = i.exec(a);
347
+ return u && (e = u[0].trim(), n = e.replace("+", "").replace(/-/g, "").replace(/ /g, "").replace("(", "").replace(")", "").replace(/^1/, "")), { text: a, html: o, numberText: e, href: r, number: n };
348
+ }
349
+ function _({ elems: t, number: e, force: n = !1 }) {
350
+ var r, i = e;
351
+ e.startsWith("+1") || (i = "+1" + e);
352
+ for (var a = 0; a < t.length; a++) {
353
+ if (b.has(t[a]))
354
+ if (n)
355
+ r = b.get(t[a]);
356
+ else {
357
+ g("element already in overlay map:", t[a]);
506
358
  continue;
507
359
  }
508
- }
509
- var elemNum = extractPhoneNumber({ elem: elems[i] });
510
- if (!origNum) {
511
- origNum = elemNum;
512
- } else if (!force && elemNum.number && origNum.number && origNum.number !== elemNum.number) {
513
- warn("overlaying multiple numbers with a single number", origNum.number, elemNum.number);
514
- }
515
- dbg("overlaying", overlayNum, "on", elems[i]);
516
- if (!numberOverlayMap.has(elems[i])) {
517
- numberOverlayMap.set(elems[i], elemNum);
518
- }
519
- if (elemNum.href) {
520
- elems[i].href = "tel:" + overlayNum;
521
- }
522
- if (elemNum.numberText) {
523
- elems[i].innerHTML = "";
524
- if (elemNum.text) {
525
- var overlay = overlayNum;
526
- if (elemNum.numberText.indexOf("-") > -1) {
527
- overlay = overlayNum.slice(2, 5) + "-" + overlayNum.slice(5, 8) + "-" + overlayNum.slice(8, 12);
528
- }
529
- if (elemNum.html.indexOf("<img") > -1) {
530
- var numberHtml = elemNum.html.replace(elemNum.numberText, overlay);
531
- elems[i].innerHTML = numberHtml;
360
+ var o = E({ elem: t[a] });
361
+ if (r ? !n && o.number && r.number && r.number !== o.number && l(
362
+ "overlaying multiple numbers with a single number",
363
+ r.number,
364
+ o.number
365
+ ) : r = o, g("overlaying", i, "on", t[a]), b.has(t[a]) || b.set(t[a], o), o.href && (t[a].href = "tel:" + i), o.numberText)
366
+ if (t[a].innerHTML = "", o.text) {
367
+ var u = i;
368
+ if (o.numberText.indexOf("-") > -1 && (u = i.slice(2, 5) + "-" + i.slice(5, 8) + "-" + i.slice(8, 12)), o.html.indexOf("<img") > -1) {
369
+ var s = o.html.replace(o.numberText, u);
370
+ t[a].innerHTML = s;
532
371
  } else {
533
- var numberText = elemNum.text.replace(elemNum.numberText, overlay);
534
- elems[i].appendChild(document.createTextNode(numberText));
372
+ var c = o.text.replace(o.numberText, u);
373
+ t[a].appendChild(document.createTextNode(c));
535
374
  }
536
- } else {
537
- elems[i].appendChild(document.createTextNode(overlayNum));
538
- }
539
- } else {
540
- dbg("no number text found:", elems[i]);
541
- }
542
- }
543
- }
544
- function revertOverlayNumbers({ elems }) {
545
- for (var i = 0; i < elems.length; i++) {
546
- if (numberOverlayMap.has(elems[i])) {
547
- var currentHTML = elems[i].innerHTML;
548
- var origElemData = numberOverlayMap.get(elems[i]);
549
- dbg("orig:", origElemData);
550
- var origHTML = origElemData.html;
551
- dbg("reverting", currentHTML, "to", origHTML);
552
- if (origHTML !== void 0 && origHTML !== null && origHTML !== "") {
553
- elems[i].innerHTML = origHTML;
554
- } else if (origElemData.text !== void 0 && origElemData.text !== null) {
555
- elems[i].textContent = origElemData.text;
556
- } else {
557
- elems[i].textContent = "";
558
- }
559
- if (origElemData.href) {
560
- elems[i].setAttribute("href", origElemData.href);
561
- }
562
- numberOverlayMap.delete(elems[i]);
563
- } else {
564
- dbg("element not in map:", elems[i]);
565
- }
375
+ } else
376
+ t[a].appendChild(document.createTextNode(i));
377
+ else
378
+ g("no number text found:", t[a]);
566
379
  }
567
380
  }
568
- function clearPoolInterval(poolId) {
569
- clearInterval(poolIntervals[poolId]);
570
- delete poolIntervals[poolId];
571
- }
572
- function clearPoolIntervals() {
573
- for (var poolId in poolIntervals) {
574
- clearPoolInterval(poolId);
575
- }
576
- }
577
- function getPoolNumber(_0) {
578
- return __async(this, arguments, function* ({
579
- poolId,
580
- apiUrl,
581
- number = null,
582
- context = null
381
+ function O({ elems: t }) {
382
+ for (var e = 0; e < t.length; e++)
383
+ if (b.has(t[e])) {
384
+ var n = t[e].innerHTML, r = b.get(t[e]);
385
+ g("orig:", r);
386
+ var i = r.html;
387
+ g("reverting", n, "to", i), i != null && i !== "" ? t[e].innerHTML = i : r.text !== void 0 && r.text !== null ? t[e].textContent = r.text : t[e].textContent = "", r.href && t[e].setAttribute("href", r.href), b.delete(t[e]);
388
+ } else
389
+ g("element not in map:", t[e]);
390
+ }
391
+ function Q(t) {
392
+ clearInterval(w[t]), delete w[t];
393
+ }
394
+ function X() {
395
+ for (var t in w)
396
+ Q(t);
397
+ }
398
+ function K(i) {
399
+ return d(this, arguments, function* ({
400
+ poolId: t,
401
+ apiUrl: e,
402
+ number: n = null,
403
+ context: r = null
583
404
  }) {
584
- var payload = {
585
- pool_id: poolId,
586
- number,
587
- context,
405
+ var a = {
406
+ pool_id: t,
407
+ number: n,
408
+ context: r,
588
409
  properties: {
589
- zar: getStorage()
410
+ zar: S()
590
411
  }
591
- };
592
- var resp = yield httpPost({ url: `${apiUrl}/number_pool`, data: payload });
593
- return resp;
412
+ }, o = yield x({ url: `${e}/number_pool`, data: a });
413
+ return o;
594
414
  });
595
415
  }
596
- function poolActive() {
597
- return window.zarPoolData && window.zarPoolData.status === NUMBER_POOL_SUCCESS && window.zarPoolData.number;
416
+ function D() {
417
+ return window.zarPoolData && window.zarPoolData.status === L && window.zarPoolData.number;
598
418
  }
599
- function drainPoolDataLayer() {
600
- if (!window.zarPoolDataLayer || !Array.isArray(window.zarPoolDataLayer) || window.zarPoolDataLayer.length === 0) {
419
+ function y() {
420
+ if (!window.zarPoolDataLayer || !Array.isArray(window.zarPoolDataLayer) || window.zarPoolDataLayer.length === 0)
601
421
  return null;
422
+ for (var t = {}, e = 0; e < window.zarPoolDataLayer.length; e++) {
423
+ var n = window.zarPoolDataLayer[e];
424
+ for (var r in n)
425
+ Object.prototype.hasOwnProperty.call(n, r) && (t[r] = n[r]);
602
426
  }
603
- var mergedObject = {};
604
- for (var i = 0; i < window.zarPoolDataLayer.length; i++) {
605
- var obj = window.zarPoolDataLayer[i];
606
- for (var key in obj) {
607
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
608
- mergedObject[key] = obj[key];
609
- }
610
- }
611
- }
612
- window.zarPoolDataLayer.length = 0;
613
- return mergedObject;
614
- }
615
- function updateTrackingNumberContext(_0) {
616
- return __async(this, arguments, function* ({
617
- apiUrl,
618
- poolId,
619
- number,
620
- context
427
+ return window.zarPoolDataLayer.length = 0, t;
428
+ }
429
+ function T(i) {
430
+ return d(this, arguments, function* ({
431
+ apiUrl: t,
432
+ poolId: e,
433
+ number: n,
434
+ context: r
621
435
  }) {
622
- if (!poolActive()) {
623
- warn("no valid pool data, not updating context");
436
+ if (!D()) {
437
+ l("no valid pool data, not updating context");
624
438
  return;
625
439
  }
626
- var payload = {
627
- pool_id: poolId,
628
- number,
629
- context,
440
+ var a = {
441
+ pool_id: e,
442
+ number: n,
443
+ context: r,
630
444
  properties: {
631
- zar: getStorage()
445
+ zar: S()
632
446
  }
633
- };
634
- var resp = yield httpPost({ url: `${apiUrl}/update_number`, data: payload });
635
- return resp;
447
+ }, o = yield x({ url: `${t}/update_number`, data: a });
448
+ return o;
636
449
  });
637
450
  }
638
- function getPoolStats(_0) {
639
- return __async(this, arguments, function* ({ apiUrl, key = null, with_contexts = false }) {
640
- var params = {
641
- key,
642
- with_contexts
643
- };
644
- var resp = yield httpGet({
645
- url: `${apiUrl}/number_pool_stats`,
646
- params
451
+ function It(r) {
452
+ return d(this, arguments, function* ({ apiUrl: t, key: e = null, with_contexts: n = !1 }) {
453
+ var i = {
454
+ key: e,
455
+ with_contexts: n
456
+ }, a = yield ht({
457
+ url: `${t}/number_pool_stats`,
458
+ params: i
647
459
  });
648
- return resp;
460
+ return a;
649
461
  });
650
462
  }
651
- function renewTrackingPool() {
652
- return __async(this, arguments, function* ({
653
- overlayElements,
654
- apiUrl = getDefaultApiUrl(),
655
- contextCallback = null
463
+ function U() {
464
+ return d(this, arguments, function* ({
465
+ overlayElements: t,
466
+ apiUrl: e = H(),
467
+ contextCallback: n = null,
468
+ checkLastRenewal: r = !1,
469
+ renewalInterval: i = $
656
470
  } = {}) {
657
- var context = drainPoolDataLayer() || {};
658
- if (contextCallback) {
659
- context = contextCallback(context) || {};
660
- }
661
- const poolId = window.zarPoolData.pool_id;
662
- const number = window.zarPoolData.number;
471
+ if (N)
472
+ return { status: m, msg: "stopped" };
473
+ const a = window.zarPoolData.pool_id, o = window.zarPoolData.number;
474
+ var u = Date.now(), s = R[a], c = 3 * 1e3;
475
+ if (r && s && u - s < i + c)
476
+ return { status: L };
477
+ R[a] = u;
478
+ var v = y() || {};
479
+ n && (v = n(v) || {});
663
480
  try {
664
- var resp = yield getPoolNumber({ poolId, apiUrl, number, context });
665
- } catch (e) {
666
- var msg = "error getting number: " + JSON.stringify(e);
667
- warn(msg);
668
- getNumberFailureCount++;
669
- if (getNumberFailureCount >= MAX_GET_NUMBER_FAILURES) {
670
- warn("max failures, stopping pool");
671
- clearPoolIntervals();
672
- if (overlayElements) {
673
- revertOverlayNumbers({ elems: overlayElements });
674
- }
675
- }
676
- return { status: NUMBER_POOL_ERROR, msg };
677
- }
678
- if (resp.status === NUMBER_POOL_SUCCESS && resp.number) {
679
- var force = false;
680
- if (resp.number !== window.zarPoolData.number) {
681
- warn("number changed from " + window.zarPoolData.number + " to " + resp.number);
682
- window.zarPoolData.number = resp.number;
683
- force = true;
684
- }
685
- if (overlayElements) {
686
- overlayPhoneNumber({
687
- elems: overlayElements,
688
- number: resp.number,
689
- force
690
- });
691
- }
692
- } else {
693
- if (overlayElements) {
694
- revertOverlayNumbers({ elems: overlayElements });
695
- }
696
- if (poolIntervals[poolId]) {
697
- clearInterval(poolIntervals[poolId]);
698
- delete poolIntervals[poolId];
699
- }
700
- }
701
- return resp;
481
+ var f = yield K({ poolId: a, apiUrl: e, number: o, context: v });
482
+ } catch (Y) {
483
+ var h = "error getting number: " + JSON.stringify(Y);
484
+ return l(h), C++, C >= mt && (l("max failures, stopping pool"), N = !0, X(), t && O({ elems: t })), { status: m, msg: h };
485
+ }
486
+ if (f.status === L && f.number) {
487
+ var j = !1;
488
+ f.number !== window.zarPoolData.number && (l(
489
+ "number changed from " + window.zarPoolData.number + " to " + f.number
490
+ ), window.zarPoolData.number = f.number, j = !0), t && _({
491
+ elems: t,
492
+ number: f.number,
493
+ force: j
494
+ });
495
+ } else
496
+ t && O({ elems: t }), w[a] && (clearInterval(w[a]), delete w[a]);
497
+ return f;
702
498
  });
703
499
  }
704
- function getPoolId(poolId) {
705
- if (isFunc(poolId))
706
- return poolId();
707
- return poolId;
708
- }
709
- function initPoolDataLayerObserver(apiUrl) {
710
- if (window.zarPoolDLObserverDone) {
711
- return;
712
- }
713
- if (!poolActive()) {
714
- return;
715
- }
716
- var originalPush = window.zarPoolDataLayer.push;
717
- window.zarPoolDataLayer.push = function(...args) {
718
- var result = originalPush.apply(this, args);
719
- var context2 = drainPoolDataLayer();
720
- if (!context2) {
721
- return result;
722
- }
723
- updateTrackingNumberContext({
724
- apiUrl,
725
- poolId: window.zarPoolData.pool_id,
726
- number: window.zarPoolData.number,
727
- context: context2
728
- });
729
- return result;
730
- };
731
- var context = drainPoolDataLayer();
732
- if (context) {
733
- updateTrackingNumberContext({
734
- apiUrl,
500
+ function z(t) {
501
+ return dt(t) ? t() : t;
502
+ }
503
+ function xt(t) {
504
+ if (!window.zarPoolDLObserverDone && D()) {
505
+ var e = window.zarPoolDataLayer.push;
506
+ window.zarPoolDataLayer.push = function(...r) {
507
+ var i = e.apply(this, r), a = y();
508
+ return a && T({
509
+ apiUrl: t,
510
+ poolId: window.zarPoolData.pool_id,
511
+ number: window.zarPoolData.number,
512
+ context: a
513
+ }), i;
514
+ };
515
+ var n = y();
516
+ n && T({
517
+ apiUrl: t,
735
518
  poolId: window.zarPoolData.pool_id,
736
519
  number: window.zarPoolData.number,
737
- context
738
- });
520
+ context: n
521
+ }), window.zarPoolDLObserverDone = !0;
739
522
  }
740
- window.zarPoolDLObserverDone = true;
741
- }
742
- function initTrackingPool() {
743
- return __async(this, arguments, function* ({ poolData, poolConfig, apiUrl } = {}) {
744
- var msg;
745
- if (!poolConfig || !poolConfig.poolId || !poolConfig.overlayQuerySelector || !apiUrl) {
746
- msg = "missing pool config: " + JSON.stringify(poolConfig);
747
- warn(msg);
748
- if (poolConfig.initCallback) {
749
- poolConfig.initCallback({ status: NUMBER_POOL_ERROR, msg });
750
- }
751
- return poolIntervals;
752
- }
753
- var poolId = getPoolId(poolConfig.poolId);
754
- if (!poolId) {
755
- msg = "no pool ID";
756
- warn(msg);
757
- if (poolConfig.initCallback) {
758
- poolConfig.initCallback({ status: NUMBER_POOL_ERROR, msg });
759
- }
760
- return poolIntervals;
761
- }
762
- if (!poolData) {
763
- var context = drainPoolDataLayer() || {};
764
- if (poolConfig.contextCallback) {
765
- context = poolConfig.contextCallback(context) || {};
766
- }
523
+ }
524
+ function M() {
525
+ return d(this, arguments, function* ({ poolData: t, poolConfig: e, apiUrl: n } = {}) {
526
+ var r;
527
+ if (N = !1, !e || !e.poolId || !e.overlayQuerySelector || !n)
528
+ return r = "missing pool config: " + JSON.stringify(e), l(r), e.initCallback && e.initCallback({ status: m, msg: r }), w;
529
+ var i = z(e.poolId);
530
+ if (!i)
531
+ return r = "no pool ID", l(r), e.initCallback && e.initCallback({ status: m, msg: r }), w;
532
+ if (!t) {
533
+ var a = y() || {};
534
+ e.contextCallback && (a = e.contextCallback(a) || {});
767
535
  try {
768
- poolData = yield getPoolNumber({ poolId, apiUrl, number: null, context });
769
- } catch (e) {
770
- msg = "error getting number on init: " + JSON.stringify(e);
771
- warn(msg);
772
- if (poolConfig.initCallback) {
773
- poolConfig.initCallback({ status: NUMBER_POOL_ERROR, msg });
774
- }
775
- return poolIntervals;
536
+ t = yield K({ poolId: i, apiUrl: n, number: null, context: a });
537
+ } catch (o) {
538
+ return r = "error getting number on init: " + JSON.stringify(o), l(r), e.initCallback && e.initCallback({ status: m, msg: r }), w;
776
539
  }
777
540
  }
778
- window.zarPoolData = poolData;
779
- if (poolActive()) {
541
+ if (window.zarPoolData = t, D()) {
542
+ R[i] = Date.now();
780
543
  try {
781
- initPoolDataLayerObserver(apiUrl);
782
- } catch (e) {
783
- warn("data layer observer error: " + JSON.stringify(e));
544
+ xt(n);
545
+ } catch (o) {
546
+ l("data layer error: " + JSON.stringify(o));
784
547
  }
785
- afterDOMContentLoaded(function() {
786
- var overlayElements = document.querySelectorAll(poolConfig.overlayQuerySelector);
787
- if (!overlayElements) {
788
- var msg2 = "No elems found for:" + poolConfig.overlayQuerySelector;
789
- warn(msg2);
790
- if (poolConfig.initCallback) {
791
- poolConfig.initCallback({ status: NUMBER_POOL_ERROR, msg: msg2 });
792
- }
548
+ wt(function() {
549
+ var o = document.querySelectorAll(
550
+ e.overlayQuerySelector
551
+ );
552
+ if (!o) {
553
+ var u = "No elems found for:" + e.overlayQuerySelector;
554
+ l(u), e.initCallback && e.initCallback({ status: m, msg: u });
793
555
  return;
794
556
  }
795
- overlayPhoneNumber({ elems: overlayElements, number: poolData.number });
796
- var interval = setInterval(function() {
557
+ _({ elems: o, number: t.number });
558
+ var s = e.renewalInterval || $, c = function(f = {}) {
559
+ try {
560
+ if (!D())
561
+ return;
562
+ (f.type === "vc" && document.visibilityState === "visible" || f.type === "ps" && f.persisted === !0) && (console.log("renew on", f.type), U({
563
+ overlayElements: o,
564
+ apiUrl: n,
565
+ contextCallback: e.contextCallback,
566
+ checkLastRenewal: !0,
567
+ renewalInterval: s
568
+ }));
569
+ } catch (h) {
570
+ l("error on renew: " + JSON.stringify(h));
571
+ }
572
+ };
573
+ document.addEventListener(
574
+ "visibilitychange",
575
+ function() {
576
+ c({ type: "vc" });
577
+ },
578
+ { passive: !0 }
579
+ ), window.addEventListener(
580
+ "pageshow",
581
+ function(f) {
582
+ c({ type: "ps", persisted: f && f.persisted });
583
+ },
584
+ { passive: !0 }
585
+ );
586
+ var v = setInterval(function() {
797
587
  try {
798
- renewTrackingPool({
799
- overlayElements,
800
- apiUrl,
801
- contextCallback: poolConfig.contextCallback
588
+ U({
589
+ overlayElements: o,
590
+ apiUrl: n,
591
+ contextCallback: e.contextCallback
802
592
  });
803
- } catch (e) {
804
- var msg3 = "error on interval: " + JSON.stringify(e);
805
- warn(msg3);
593
+ } catch (h) {
594
+ var f = "error on interval: " + JSON.stringify(h);
595
+ l(f);
806
596
  }
807
- }, poolConfig.renewalInterval || NUMBER_POOL_RENEWAL_TIME_MS);
808
- poolIntervals[poolData.pool_id] = interval;
809
- if (poolConfig.initCallback) {
810
- poolConfig.initCallback(poolData);
811
- }
597
+ }, s);
598
+ w[t.pool_id] = v, e.initCallback && e.initCallback(t);
812
599
  });
813
600
  }
814
- return poolIntervals;
601
+ return w;
815
602
  });
816
603
  }
817
- function zar({ apiUrl, poolConfig }) {
818
- initIDs();
819
- return {
604
+ function Ot({ apiUrl: t, poolConfig: e }) {
605
+ return A(), {
820
606
  name: "zar",
821
- config: { apiUrl, poolConfig },
822
- initialize: function({ config }) {
607
+ config: { apiUrl: t, poolConfig: e },
608
+ initialize: function({ config: n }) {
823
609
  },
824
610
  loaded: function() {
825
- return true;
611
+ return !0;
826
612
  },
827
- pageStart: function({ payload, config, instance }) {
828
- payload.properties.zar = getStorage();
829
- payload.properties.referrer = document.referrer;
830
- payload.properties.is_bot = isBot();
613
+ pageStart: function({ payload: n, config: r, instance: i }) {
614
+ n.properties.zar = S(), n.properties.referrer = document.referrer, n.properties.is_bot = B();
831
615
  try {
832
- var pcfg = config.poolConfig;
833
- if (pcfg && pcfg.poolId) {
834
- payload.properties.pool_id = getPoolId(pcfg.poolId);
835
- var context = drainPoolDataLayer() || {};
836
- if (pcfg.contextCallback) {
837
- payload.properties.pool_context = pcfg.contextCallback(context) || {};
838
- }
616
+ var a = r.poolConfig;
617
+ if (a && a.poolId) {
618
+ n.properties.pool_id = z(a.poolId);
619
+ var o = y() || {};
620
+ a.contextCallback && (n.properties.pool_context = a.contextCallback(o) || {});
839
621
  }
840
- } catch (e) {
841
- warn("error getting pool id: " + JSON.stringify(e));
622
+ } catch (u) {
623
+ l("error getting pool id: " + JSON.stringify(u));
842
624
  }
843
- return payload;
625
+ return n;
844
626
  },
845
- page: function(_0) {
846
- return __async(this, arguments, function* ({ payload, options, instance, config }) {
847
- dbg("page", payload, options, config);
848
- var tries = 0;
849
- var maxTries = 3;
850
- var res;
851
- while (tries < maxTries) {
627
+ page: function(o) {
628
+ return d(this, arguments, function* ({ payload: n, options: r, instance: i, config: a }) {
629
+ g("page", n, r, a);
630
+ for (var u = 0, s = 3, c; u < s; )
852
631
  try {
853
- res = yield httpPost({ url: `${config.apiUrl}/page`, data: payload });
632
+ c = yield x({ url: `${a.apiUrl}/page`, data: n });
854
633
  break;
855
- } catch (e) {
856
- tries++;
857
- if (tries >= maxTries) {
858
- warn("error posting page: " + JSON.stringify(e));
859
- throw e;
860
- }
861
- yield new Promise((r) => setTimeout(r, 1e3));
634
+ } catch (v) {
635
+ if (u++, u >= s)
636
+ throw l("error posting page: " + JSON.stringify(v)), v;
637
+ yield new Promise((f) => setTimeout(f, 1e3));
862
638
  }
863
- }
864
- if (res && res.pool_data) {
865
- initTrackingPool({
866
- poolData: res.pool_data,
867
- poolConfig: config.poolConfig,
868
- apiUrl: config.apiUrl
869
- });
870
- }
639
+ c && c.pool_data && M({
640
+ poolData: c.pool_data,
641
+ poolConfig: a.poolConfig,
642
+ apiUrl: a.apiUrl
643
+ });
871
644
  });
872
645
  },
873
- trackStart: function({ payload, config, instance }) {
874
- payload.properties.zar = getStorage();
875
- payload.properties.url = window.location.href;
876
- payload.properties.referrer = document.referrer;
877
- return payload;
646
+ trackStart: function({ payload: n, config: r, instance: i }) {
647
+ return n.properties.zar = S(), n.properties.url = window.location.href, n.properties.referrer = document.referrer, n;
878
648
  },
879
- track: function({ payload, options, instance, config }) {
880
- dbg("track", payload);
881
- httpPost({ url: `${config.apiUrl}/track`, data: payload, beacon: true });
649
+ track: function({ payload: n, options: r, instance: i, config: a }) {
650
+ g("track", n), x({ url: `${a.apiUrl}/track`, data: n, beacon: !0 });
882
651
  },
883
652
  methods: {
884
653
  apiUrl() {
885
- return apiUrl;
654
+ return t;
886
655
  },
887
656
  poolConfig() {
888
- return poolConfig;
657
+ return e;
889
658
  },
890
659
  initIDs() {
891
- return initIDs();
660
+ return A();
892
661
  },
893
662
  getIDs() {
894
- return getIDs();
663
+ return St();
895
664
  },
896
665
  getStorage() {
897
- return getStorage();
666
+ return S();
898
667
  },
899
668
  getVID() {
900
- return getID(VID_KEY);
669
+ return W(k);
901
670
  },
902
671
  isBot() {
903
- return isBot();
672
+ return B();
904
673
  },
905
- initTrackingPool({ poolConfig: poolConfig2 }) {
906
- var plugin = this.instance.plugins.zar;
907
- return initTrackingPool({
674
+ initTrackingPool({ poolConfig: n }) {
675
+ var r = this.instance.plugins.zar;
676
+ return M({
908
677
  poolData: null,
909
- poolConfig: Object.assign(plugin.poolConfig(), poolConfig2 || {}),
910
- apiUrl: plugin.apiUrl()
678
+ poolConfig: Object.assign(r.poolConfig(), n || {}),
679
+ apiUrl: r.apiUrl()
911
680
  });
912
681
  },
913
- updateTrackingNumberContext({ number, context }) {
914
- var plugin = this.instance.plugins.zar;
915
- var poolConfig2 = plugin.poolConfig();
916
- return updateTrackingNumberContext({
682
+ updateTrackingNumberContext({ number: n, context: r }) {
683
+ var i = this.instance.plugins.zar, a = i.poolConfig();
684
+ return T({
917
685
  apiUrl: this.instance.plugins.zar.apiUrl(),
918
- poolId: getPoolId(poolConfig2.poolId),
919
- number,
920
- context
686
+ poolId: z(a.poolId),
687
+ number: n,
688
+ context: r
921
689
  });
922
690
  },
923
691
  getPoolIntervals() {
924
- return poolIntervals;
692
+ return w;
925
693
  },
926
- clearPoolInterval({ poolId }) {
927
- clearPoolInterval(poolId);
694
+ clearPoolInterval({ poolId: n }) {
695
+ Q(n);
928
696
  },
929
697
  clearPoolIntervals() {
930
- clearPoolIntervals();
698
+ X();
931
699
  },
932
- extractPhoneNumbers({ elems }) {
933
- var res = [];
934
- for (var i = 0; i < elems.length; i++) {
935
- var elemRes = extractPhoneNumber({ elem: elems[i] });
936
- res.push(elemRes);
700
+ extractPhoneNumbers({ elems: n }) {
701
+ for (var r = [], i = 0; i < n.length; i++) {
702
+ var a = E({ elem: n[i] });
703
+ r.push(a);
937
704
  }
938
- return res;
705
+ return r;
939
706
  },
940
- overlayPhoneNumber({ overlayElements, number }) {
941
- overlayPhoneNumber({ elems: overlayElements, number });
707
+ overlayPhoneNumber({ overlayElements: n, number: r }) {
708
+ _({ elems: n, number: r });
942
709
  },
943
- revertOverlayNumbers({ overlayElements }) {
944
- revertOverlayNumbers({ elems: overlayElements });
710
+ revertOverlayNumbers({ overlayElements: n }) {
711
+ O({ elems: n });
945
712
  },
946
- getPoolStats({ key = null, with_contexts = false }) {
947
- return getPoolStats({
713
+ getPoolStats({ key: n = null, with_contexts: r = !1 }) {
714
+ return It({
948
715
  apiUrl: this.instance.plugins.zar.apiUrl(),
949
- key,
950
- with_contexts
716
+ key: n,
717
+ with_contexts: r
951
718
  });
952
719
  }
953
720
  }
954
721
  };
955
722
  }
956
- function init({
957
- app,
958
- ga4Config = null,
959
- facebookConfig = null,
960
- apiUrl = null,
961
- poolConfig = null
723
+ function zt({
724
+ app: t,
725
+ ga4Config: e = null,
726
+ facebookConfig: n = null,
727
+ apiUrl: r = null,
728
+ poolConfig: i = null
962
729
  }) {
963
- if (!apiUrl) {
964
- apiUrl = getDefaultApiUrl();
965
- }
966
- var plugins = [zar({ apiUrl, poolConfig })];
967
- if (ga4Config) {
968
- plugins.push(googleAnalytics4(ga4Config));
969
- }
970
- if (facebookConfig) {
971
- plugins.push(facebook(facebookConfig));
972
- }
973
- return Analytics({ app, plugins });
974
- }
975
- const __test__ = {
976
- extractPhoneNumber,
977
- overlayPhoneNumber,
978
- revertOverlayNumbers,
979
- drainPoolDataLayer,
980
- getPoolId
730
+ r || (r = H());
731
+ var a = [Ot({ apiUrl: r, poolConfig: i })];
732
+ return e && a.push(ct(e)), n && a.push(ut(n)), Z({ app: t, plugins: a });
733
+ }
734
+ const kt = {
735
+ extractPhoneNumber: E,
736
+ overlayPhoneNumber: _,
737
+ revertOverlayNumbers: O,
738
+ drainPoolDataLayer: y,
739
+ getPoolId: z
740
+ };
741
+ export {
742
+ Z as Analytics,
743
+ kt as __test__,
744
+ zt as init,
745
+ Ot as zar
981
746
  };
982
- export { Analytics, __test__, init, zar };
983
747
  //# sourceMappingURL=zar.es.js.map