@searchspring/snap-tracker 0.56.5 → 0.57.0

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/README.md CHANGED
@@ -116,7 +116,8 @@ This method will call the `retarget` method on all `DomTargeters` set in the Tra
116
116
  <script type="searchspring/track/order/transaction">
117
117
  order = {
118
118
  id: '123456',
119
- total: '31.97',
119
+ total: '34.29',
120
+ transactionTotal: '31.97',
120
121
  city: 'Los Angeles',
121
122
  state: 'CA',
122
123
  country: 'US',
@@ -192,6 +193,8 @@ A beacon event payload object provided to the `track.event` method may contain t
192
193
 
193
194
  `context.website.trackingCode` - optional `context` object that will be merged with constructed context object. Can be used to specify a different `siteId` value.
194
195
 
196
+ `context.currency.code` - optional `context` object that will be merged with constructed context object. Can be used to specify a different `currency` value.
197
+
195
198
  ```typescript
196
199
  const payload = {
197
200
  type: BeaconType.CLICK,
@@ -205,6 +208,9 @@ const payload = {
205
208
  website: {
206
209
  trackingCode: 'abc123',
207
210
  },
211
+ currency: {
212
+ code: 'USD',
213
+ },
208
214
  },
209
215
  };
210
216
 
@@ -311,7 +317,9 @@ Tracks order transaction. Should be invoked from an order confirmation page. Exp
311
317
 
312
318
  `order.id` - (optional) order id
313
319
 
314
- `order.otal` - (optional) sub total of all items
320
+ `order.total` - (optional) transaction total of all items after tax and shipping
321
+
322
+ `order.transactionTotal` - (optional) transaction total of all items before tax and shipping
315
323
 
316
324
  `order.city` - (optional) city name
317
325
 
@@ -325,7 +333,8 @@ Tracks order transaction. Should be invoked from an order confirmation page. Exp
325
333
  tracker.track.order.transaction({
326
334
  order: {
327
335
  id: '123456',
328
- total: '31.97',
336
+ total: '34.29',
337
+ transactionTotal: '31.97',
329
338
  city: 'Los Angeles',
330
339
  state: 'CA',
331
340
  country: 'US',
@@ -350,10 +359,10 @@ tracker.track.order.transaction({
350
359
  ## Tracker properties
351
360
 
352
361
  ### `globals` property
353
- When constructing an instance of `Tracker`, a globals object is required to be constructed. This object contains a `siteId` key and value.
362
+ When constructing an instance of `Tracker`, a globals object is required to be constructed. This object contains a `siteId` key and value. An optional `currency` object with a `code` property containing a string can be provided.
354
363
 
355
364
  ```typescript
356
- const globals = { siteId: 'abc123' };
365
+ const globals = { siteId: 'abc123', currency: { code: 'EUR' } };
357
366
  const tracker = new Tracker(globals);
358
367
  console.log(tracker.globals === globals) // true
359
368
  ```
@@ -381,6 +390,8 @@ The `context` property is generated at the time of instantiating Tracker. It is
381
390
 
382
391
  `website.trackingCode` - the `siteId` specified in the globals object
383
392
 
393
+ `currency.code` - the optional `currency` specified in the globals object
394
+
384
395
  ```typescript
385
396
  context: {
386
397
  userId: '0560d7e7-148a-4b1d-b12c-924f164d3d00',
@@ -390,6 +401,9 @@ context: {
390
401
  website: {
391
402
  trackingCode: 'abc123',
392
403
  },
404
+ currency: {
405
+ code: 'USD',
406
+ },
393
407
  }
394
408
  ```
395
409
 
@@ -402,6 +416,16 @@ The `namespace` property contains the Tracker namespace. Invoking this method is
402
416
  ### `track` property
403
417
  The `track` property contains various tracking events. See `track` methods section above.
404
418
 
419
+ ### `setCurrency` method
420
+ Sets the currency code on the tracker context.
421
+
422
+ ```typescript
423
+ const tracker = new Tracker();
424
+
425
+ tracker.setCurrency({ code: 'EUR' })
426
+ ```
427
+
428
+
405
429
  ### `getUserId` method
406
430
  Returns an object containing the `userId` stored in the `ssUserId` cookie (with a fallback to localstorage.) If key doesn't exist, a new ID will be generated, saved to cookie/localstorage, and returned.
407
431
 
@@ -1 +1 @@
1
- {"version":3,"file":"PixelEvent.d.ts","sourceRoot":"","sources":["../../src/PixelEvent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,aAAa,EAAE,aAAa,EAAkB,MAAM,SAAS,CAAC;AAEhH,qBAAa,UAAU;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAClC,KAAK,EAAE,gBAAgB,GAAG,aAAa,GAAG,qBAAqB,GAAG,SAAS,CAAC;gBAEhE,OAAO,EAAE,aAAa;CAkDlC"}
1
+ {"version":3,"file":"PixelEvent.d.ts","sourceRoot":"","sources":["../../src/PixelEvent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,aAAa,EAAE,aAAa,EAAkB,MAAM,SAAS,CAAC;AAEhH,qBAAa,UAAU;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAClC,KAAK,EAAE,gBAAgB,GAAG,aAAa,GAAG,qBAAqB,GAAG,SAAS,CAAC;gBAEhE,OAAO,EAAE,aAAa;CAuDlC"}
@@ -6,7 +6,7 @@ var types_1 = require("./types");
6
6
  var PixelEvent = /** @class */ (function () {
7
7
  function PixelEvent(payload) {
8
8
  var _this = this;
9
- var _a, _b, _c;
9
+ var _a, _b, _c, _d, _e, _f, _g;
10
10
  this.endpoint = "https://d3cgm8py10hi0z.cloudfront.net/is.gif";
11
11
  this.src =
12
12
  this.endpoint +
@@ -17,6 +17,9 @@ var PixelEvent = /** @class */ (function () {
17
17
  "&v=1" + // version always '1'? or set to snap package version?
18
18
  "&x=".concat(Math.floor(Math.random() * 2147483647)) +
19
19
  "".concat(window.document.referrer ? "&r=".concat(encodeURIComponent(window.document.referrer)) : '');
20
+ if ((_e = (_d = payload === null || payload === void 0 ? void 0 : payload.context) === null || _d === void 0 ? void 0 : _d.currency) === null || _e === void 0 ? void 0 : _e.code) {
21
+ this.src += "&currencyCode=".concat(encodeURIComponent((_g = (_f = payload === null || payload === void 0 ? void 0 : payload.context) === null || _f === void 0 ? void 0 : _f.currency) === null || _g === void 0 ? void 0 : _g.code));
22
+ }
20
23
  switch (payload.category) {
21
24
  case types_1.BeaconCategory.PAGEVIEW:
22
25
  this.event = payload.event;
@@ -35,12 +38,14 @@ var PixelEvent = /** @class */ (function () {
35
38
  });
36
39
  break;
37
40
  case types_1.BeaconCategory.ORDERVIEW:
38
- var _d = (this.event = payload.event), orderId = _d.orderId, total = _d.total, city = _d.city, state = _d.state, country = _d.country, items = _d.items;
41
+ var _h = (this.event = payload.event), orderId = _h.orderId, total = _h.total, transactionTotal = _h.transactionTotal, city = _h.city, state = _h.state, country = _h.country, items = _h.items;
39
42
  this.src += "&a=sale";
40
43
  if (orderId)
41
44
  this.src += "&orderId=".concat(encodeURIComponent(orderId));
42
45
  if (total)
43
46
  this.src += "&total=".concat(encodeURIComponent(total));
47
+ if (transactionTotal)
48
+ this.src += "&transactionTotal=".concat(encodeURIComponent(transactionTotal));
44
49
  if (city)
45
50
  this.src += "&city=".concat(encodeURIComponent(city));
46
51
  if (state)
@@ -1,5 +1,5 @@
1
1
  import { BeaconEvent } from './BeaconEvent';
2
- import { TrackerGlobals, TrackMethods, BeaconContext, TrackerConfig } from './types';
2
+ import { TrackerGlobals, TrackMethods, BeaconContext, TrackerConfig, CurrencyContext } from './types';
3
3
  export declare const BATCH_TIMEOUT = 200;
4
4
  export declare class Tracker {
5
5
  private mode;
@@ -16,6 +16,7 @@ export declare class Tracker {
16
16
  retarget(): void;
17
17
  track: TrackMethods;
18
18
  updateContext: (key: keyof BeaconContext, value: any) => void;
19
+ setCurrency: (currency: CurrencyContext) => void;
19
20
  getUserId: () => string | undefined | null;
20
21
  getSessionId: () => string | undefined;
21
22
  getShopperId: () => string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"Tracker.d.ts","sourceRoot":"","sources":["../../src/Tracker.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACN,cAAc,EACd,YAAY,EAIZ,aAAa,EAQb,aAAa,EAGb,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,aAAa,MAAM,CAAC;AAoBjC,qBAAa,OAAO;IACnB,OAAO,CAAC,IAAI,CAAsB;IAClC,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,UAAU,CAAoB;IAEtC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAAqB;gBAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,aAAa;IAkJpD,UAAU,IAAI,cAAc;IAI5B,UAAU,IAAI,aAAa;IAI3B,QAAQ,IAAI,IAAI;IAMvB,KAAK,EAAE,YAAY,CAgUjB;IAEF,aAAa,QAAS,MAAM,aAAa,SAAS,GAAG,UAInD;IAEF,SAAS,QAAO,MAAM,GAAG,SAAS,GAAG,IAAI,CAmBvC;IAEF,YAAY,QAAO,MAAM,GAAG,SAAS,CAoBnC;IAEF,YAAY,QAAO,MAAM,GAAG,SAAS,CAOnC;IAEF,aAAa,QAAO,IAAI,CAwCtB;IAEF,OAAO;;uBAEI,MAAM,EAAE;yBAOJ,MAAM,EAAE,KAAG,IAAI;yBAYf,MAAM,EAAE,KAAG,IAAI;4BAaZ,MAAM,EAAE,KAAG,IAAI;;;;uBAqBtB,MAAM,EAAE;;MAQjB;IAEF,UAAU,kBAAmB,WAAW,EAAE,KAAG,IAAI,CA0C/C;CACF"}
1
+ {"version":3,"file":"Tracker.d.ts","sourceRoot":"","sources":["../../src/Tracker.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACN,cAAc,EACd,YAAY,EAIZ,aAAa,EAQb,aAAa,EAGb,eAAe,EACf,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,aAAa,MAAM,CAAC;AAsBjC,qBAAa,OAAO;IACnB,OAAO,CAAC,IAAI,CAAsB;IAClC,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,UAAU,CAAoB;IAEtC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAAqB;gBAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,aAAa;IAuJpD,UAAU,IAAI,cAAc;IAI5B,UAAU,IAAI,aAAa;IAI3B,QAAQ,IAAI,IAAI;IAMvB,KAAK,EAAE,YAAY,CAuUjB;IAEF,aAAa,QAAS,MAAM,aAAa,SAAS,GAAG,UAInD;IAEF,WAAW,aAAc,eAAe,KAAG,IAAI,CAK7C;IAEF,SAAS,QAAO,MAAM,GAAG,SAAS,GAAG,IAAI,CAmBvC;IAEF,YAAY,QAAO,MAAM,GAAG,SAAS,CAoBnC;IAEF,YAAY,QAAO,MAAM,GAAG,SAAS,CAOnC;IAEF,aAAa,QAAO,IAAI,CAwCtB;IAEF,OAAO;;uBAEI,MAAM,EAAE;yBAOJ,MAAM,EAAE,KAAG,IAAI;yBAYf,MAAM,EAAE,KAAG,IAAI;4BAaZ,MAAM,EAAE,KAAG,IAAI;;;;uBAqBtB,MAAM,EAAE;;MAQjB;IAEF,UAAU,kBAAmB,WAAW,EAAE,KAAG,IAAI,CA0C/C;CACF"}
@@ -40,6 +40,7 @@ var SHOPPERID_COOKIE_NAME = 'ssShopperId';
40
40
  var COOKIE_EXPIRATION = 31536000000; // 1 year
41
41
  var VIEWED_COOKIE_EXPIRATION = 220752000000; // 7 years
42
42
  var COOKIE_SAMESITE = 'Lax';
43
+ var COOKIE_DOMAIN = (typeof window !== 'undefined' && window.location.hostname && '.' + window.location.hostname.replace(/^www\./, '')) || undefined;
43
44
  var SESSIONID_STORAGE_NAME = 'ssSessionIdNamespace';
44
45
  var LOCALSTORAGE_BEACON_POOL_NAME = 'ssBeaconPool';
45
46
  var CART_PRODUCTS = 'ssCartProducts';
@@ -54,7 +55,7 @@ var defaultConfig = {
54
55
  var Tracker = /** @class */ (function () {
55
56
  function Tracker(globals, config) {
56
57
  var _this = this;
57
- var _a;
58
+ var _a, _b;
58
59
  this.mode = snap_toolbox_2.AppMode.production;
59
60
  this.targeters = [];
60
61
  this.track = {
@@ -141,7 +142,7 @@ var Tracker = /** @class */ (function () {
141
142
  var storedShopperId = _this.getShopperId();
142
143
  if (storedShopperId != data.id) {
143
144
  // user's logged in id has changed, update shopperId cookie send login event
144
- snap_toolbox_1.cookies.set(SHOPPERID_COOKIE_NAME, data.id, COOKIE_SAMESITE, COOKIE_EXPIRATION);
145
+ snap_toolbox_1.cookies.set(SHOPPERID_COOKIE_NAME, data.id, COOKIE_SAMESITE, COOKIE_EXPIRATION, COOKIE_DOMAIN);
145
146
  _this.context.shopperId = data.id;
146
147
  _this.sendPreflight();
147
148
  var payload = {
@@ -189,7 +190,7 @@ var Tracker = /** @class */ (function () {
189
190
  if (sku) {
190
191
  var lastViewedProducts = _this.cookies.viewed.get();
191
192
  var uniqueCartItems = Array.from(new Set(__spreadArray(__spreadArray([], lastViewedProducts, true), [sku], false))).map(function (item) { return item.trim(); });
192
- snap_toolbox_1.cookies.set(VIEWED_PRODUCTS, uniqueCartItems.slice(0, MAX_VIEWED_COUNT).join(','), COOKIE_SAMESITE, VIEWED_COOKIE_EXPIRATION);
193
+ snap_toolbox_1.cookies.set(VIEWED_PRODUCTS, uniqueCartItems.slice(0, MAX_VIEWED_COUNT).join(','), COOKIE_SAMESITE, VIEWED_COOKIE_EXPIRATION, COOKIE_DOMAIN);
193
194
  if (!lastViewedProducts.includes(sku)) {
194
195
  _this.sendPreflight();
195
196
  }
@@ -288,9 +289,9 @@ var Tracker = /** @class */ (function () {
288
289
  },
289
290
  order: {
290
291
  transaction: function (data, siteId) {
291
- var _a, _b, _c, _d, _e;
292
+ var _a, _b, _c, _d, _e, _f;
292
293
  if (!(data === null || data === void 0 ? void 0 : data.items) || !Array.isArray(data.items) || !data.items.length) {
293
- console.error('track.order.transaction event: object parameter must contain `items` array of cart items. \nExample: order.transaction({ order: { id: "1001", total: "9.99", city: "Los Angeles", state: "CA", country: "US" }, items: [{ sku: "product123", childSku: "product123_a", qty: "1", price: "9.99" }] })');
294
+ console.error('track.order.transaction event: object parameter must contain `items` array of cart items. \nExample: order.transaction({ order: { id: "1001", total: "10.71", transactionTotal: "9.99", city: "Los Angeles", state: "CA", country: "US" }, items: [{ sku: "product123", childSku: "product123_a", qty: "1", price: "9.99" }] })');
294
295
  return;
295
296
  }
296
297
  var context = _this.context;
@@ -323,9 +324,10 @@ var Tracker = /** @class */ (function () {
323
324
  var eventPayload = {
324
325
  orderId: ((_a = data === null || data === void 0 ? void 0 : data.order) === null || _a === void 0 ? void 0 : _a.id) ? "".concat(data.order.id) : undefined,
325
326
  total: ((_b = data === null || data === void 0 ? void 0 : data.order) === null || _b === void 0 ? void 0 : _b.total) ? "".concat(data.order.total) : undefined,
326
- city: ((_c = data === null || data === void 0 ? void 0 : data.order) === null || _c === void 0 ? void 0 : _c.city) ? "".concat(data.order.city) : undefined,
327
- state: ((_d = data === null || data === void 0 ? void 0 : data.order) === null || _d === void 0 ? void 0 : _d.state) ? "".concat(data.order.state) : undefined,
328
- country: ((_e = data === null || data === void 0 ? void 0 : data.order) === null || _e === void 0 ? void 0 : _e.country) ? "".concat(data.order.country) : undefined,
327
+ transactionTotal: ((_c = data === null || data === void 0 ? void 0 : data.order) === null || _c === void 0 ? void 0 : _c.transactionTotal) ? "".concat(data.order.transactionTotal) : undefined,
328
+ city: ((_d = data === null || data === void 0 ? void 0 : data.order) === null || _d === void 0 ? void 0 : _d.city) ? "".concat(data.order.city) : undefined,
329
+ state: ((_e = data === null || data === void 0 ? void 0 : data.order) === null || _e === void 0 ? void 0 : _e.state) ? "".concat(data.order.state) : undefined,
330
+ country: ((_f = data === null || data === void 0 ? void 0 : data.order) === null || _f === void 0 ? void 0 : _f.country) ? "".concat(data.order.country) : undefined,
329
331
  items: items,
330
332
  };
331
333
  var payload = {
@@ -350,14 +352,20 @@ var Tracker = /** @class */ (function () {
350
352
  _this.context[key] = value;
351
353
  }
352
354
  };
355
+ this.setCurrency = function (currency) {
356
+ if (!(currency === null || currency === void 0 ? void 0 : currency.code)) {
357
+ return;
358
+ }
359
+ _this.context.currency = currency;
360
+ };
353
361
  this.getUserId = function () {
354
362
  var userId;
355
363
  try {
356
364
  // use cookies if available, fallback to localstorage
357
365
  if ((0, snap_toolbox_1.getFlags)().cookies()) {
358
366
  userId = snap_toolbox_1.cookies.get(LEGACY_USERID_COOKIE_NAME) || snap_toolbox_1.cookies.get(USERID_COOKIE_NAME) || (0, uuid_1.v4)();
359
- snap_toolbox_1.cookies.set(USERID_COOKIE_NAME, userId, COOKIE_SAMESITE, COOKIE_EXPIRATION);
360
- snap_toolbox_1.cookies.set(LEGACY_USERID_COOKIE_NAME, userId, COOKIE_SAMESITE, COOKIE_EXPIRATION);
367
+ snap_toolbox_1.cookies.set(USERID_COOKIE_NAME, userId, COOKIE_SAMESITE, COOKIE_EXPIRATION, COOKIE_DOMAIN);
368
+ snap_toolbox_1.cookies.set(LEGACY_USERID_COOKIE_NAME, userId, COOKIE_SAMESITE, COOKIE_EXPIRATION, COOKIE_DOMAIN);
361
369
  }
362
370
  else if ((0, snap_toolbox_1.getFlags)().storage()) {
363
371
  userId = window.localStorage.getItem(USERID_COOKIE_NAME) || (0, uuid_1.v4)();
@@ -378,7 +386,7 @@ var Tracker = /** @class */ (function () {
378
386
  try {
379
387
  sessionId = window.sessionStorage.getItem(SESSIONID_STORAGE_NAME) || (0, uuid_1.v4)();
380
388
  window.sessionStorage.setItem(SESSIONID_STORAGE_NAME, sessionId);
381
- (0, snap_toolbox_1.getFlags)().cookies() && snap_toolbox_1.cookies.set(SESSIONID_STORAGE_NAME, sessionId, COOKIE_SAMESITE, 0); //session cookie
389
+ (0, snap_toolbox_1.getFlags)().cookies() && snap_toolbox_1.cookies.set(SESSIONID_STORAGE_NAME, sessionId, COOKIE_SAMESITE, 0, COOKIE_DOMAIN); //session cookie
382
390
  }
383
391
  catch (e) {
384
392
  console.error('Failed to persist session id to session storage:', e);
@@ -389,7 +397,7 @@ var Tracker = /** @class */ (function () {
389
397
  sessionId = snap_toolbox_1.cookies.get(SESSIONID_STORAGE_NAME);
390
398
  if (!sessionId) {
391
399
  sessionId = (0, uuid_1.v4)();
392
- snap_toolbox_1.cookies.set(SESSIONID_STORAGE_NAME, sessionId, COOKIE_SAMESITE, 0);
400
+ snap_toolbox_1.cookies.set(SESSIONID_STORAGE_NAME, sessionId, COOKIE_SAMESITE, 0, COOKIE_DOMAIN);
393
401
  }
394
402
  }
395
403
  return sessionId;
@@ -453,7 +461,7 @@ var Tracker = /** @class */ (function () {
453
461
  if (items.length) {
454
462
  var cartItems = items.map(function (item) { return item.trim(); });
455
463
  var uniqueCartItems = Array.from(new Set(cartItems));
456
- snap_toolbox_1.cookies.set(CART_PRODUCTS, uniqueCartItems.join(','), COOKIE_SAMESITE, 0);
464
+ snap_toolbox_1.cookies.set(CART_PRODUCTS, uniqueCartItems.join(','), COOKIE_SAMESITE, 0, COOKIE_DOMAIN);
457
465
  var itemsHaveChanged = cartItems.filter(function (item) { return items.includes(item); }).length !== items.length;
458
466
  if (itemsHaveChanged) {
459
467
  _this.sendPreflight();
@@ -465,7 +473,7 @@ var Tracker = /** @class */ (function () {
465
473
  var currentCartItems = _this.cookies.cart.get();
466
474
  var itemsToAdd_1 = items.map(function (item) { return item.trim(); });
467
475
  var uniqueCartItems = Array.from(new Set(__spreadArray(__spreadArray([], currentCartItems, true), itemsToAdd_1, true)));
468
- snap_toolbox_1.cookies.set(CART_PRODUCTS, uniqueCartItems.join(','), COOKIE_SAMESITE, 0);
476
+ snap_toolbox_1.cookies.set(CART_PRODUCTS, uniqueCartItems.join(','), COOKIE_SAMESITE, 0, COOKIE_DOMAIN);
469
477
  var itemsHaveChanged = currentCartItems.filter(function (item) { return itemsToAdd_1.includes(item); }).length !== itemsToAdd_1.length;
470
478
  if (itemsHaveChanged) {
471
479
  _this.sendPreflight();
@@ -477,7 +485,7 @@ var Tracker = /** @class */ (function () {
477
485
  var currentCartItems = _this.cookies.cart.get();
478
486
  var itemsToRemove_1 = items.map(function (item) { return item.trim(); });
479
487
  var updatedItems = currentCartItems.filter(function (item) { return !itemsToRemove_1.includes(item); });
480
- snap_toolbox_1.cookies.set(CART_PRODUCTS, updatedItems.join(','), COOKIE_SAMESITE, 0);
488
+ snap_toolbox_1.cookies.set(CART_PRODUCTS, updatedItems.join(','), COOKIE_SAMESITE, 0, COOKIE_DOMAIN);
481
489
  var itemsHaveChanged = currentCartItems.length !== updatedItems.length;
482
490
  if (itemsHaveChanged) {
483
491
  _this.sendPreflight();
@@ -563,7 +571,10 @@ var Tracker = /** @class */ (function () {
563
571
  trackingCode: this.globals.siteId,
564
572
  },
565
573
  };
566
- if (!((_a = window.searchspring) === null || _a === void 0 ? void 0 : _a.tracker)) {
574
+ if ((_a = this.globals.currency) === null || _a === void 0 ? void 0 : _a.code) {
575
+ this.context.currency = this.globals.currency;
576
+ }
577
+ if (!((_b = window.searchspring) === null || _b === void 0 ? void 0 : _b.tracker)) {
567
578
  window.searchspring = window.searchspring || {};
568
579
  window.searchspring.tracker = this;
569
580
  window.searchspring.version = snap_toolbox_1.version;
@@ -571,7 +582,8 @@ var Tracker = /** @class */ (function () {
571
582
  // since this is in the constructor, setTimeout is required for jest.spyOn
572
583
  setTimeout(function () {
573
584
  _this.targeters.push(new snap_toolbox_1.DomTargeter([{ selector: 'script[type^="searchspring/track/"]', emptyTarget: false }], function (target, elem) {
574
- var _a = (0, snap_toolbox_1.getContext)(['item', 'items', 'siteId', 'shopper', 'order', 'type'], elem), item = _a.item, items = _a.items, siteId = _a.siteId, shopper = _a.shopper, order = _a.order, type = _a.type;
585
+ var _a = (0, snap_toolbox_1.getContext)(['item', 'items', 'siteId', 'shopper', 'order', 'type', 'currency'], elem), item = _a.item, items = _a.items, siteId = _a.siteId, shopper = _a.shopper, order = _a.order, type = _a.type, currency = _a.currency;
586
+ _this.setCurrency(currency);
575
587
  switch (type) {
576
588
  case 'searchspring/track/shopper/login':
577
589
  _this.track.shopper.login(shopper, siteId);
@@ -1,7 +1,11 @@
1
1
  import { AppMode } from '@searchspring/snap-toolbox';
2
2
  import { BeaconEvent } from './BeaconEvent';
3
+ export type CurrencyContext = {
4
+ code: string;
5
+ };
3
6
  export type TrackerGlobals = {
4
7
  siteId: string;
8
+ currency?: CurrencyContext;
5
9
  };
6
10
  export type DoNotTrackEntry = {
7
11
  type: BeaconType;
@@ -80,6 +84,7 @@ export interface BeaconContext {
80
84
  type?: string;
81
85
  id?: string;
82
86
  };
87
+ currency?: CurrencyContext;
83
88
  }
84
89
  export interface BeaconMeta {
85
90
  initiator: {
@@ -123,6 +128,7 @@ export interface Product extends ProductViewEvent {
123
128
  export interface OrderTransactionEvent {
124
129
  orderId?: string | number;
125
130
  total?: string | number;
131
+ transactionTotal?: string | number;
126
132
  city?: string;
127
133
  state?: string;
128
134
  country?: string;
@@ -132,6 +138,7 @@ export interface OrderTransactionData {
132
138
  order?: {
133
139
  id?: string | number;
134
140
  total?: string | number;
141
+ transactionTotal?: string | number;
135
142
  city?: string;
136
143
  state?: string;
137
144
  country?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PixelEvent.d.ts","sourceRoot":"","sources":["../../src/PixelEvent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,aAAa,EAAE,aAAa,EAAkB,MAAM,SAAS,CAAC;AAEhH,qBAAa,UAAU;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAClC,KAAK,EAAE,gBAAgB,GAAG,aAAa,GAAG,qBAAqB,GAAG,SAAS,CAAC;gBAEhE,OAAO,EAAE,aAAa;CAkDlC"}
1
+ {"version":3,"file":"PixelEvent.d.ts","sourceRoot":"","sources":["../../src/PixelEvent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,aAAa,EAAE,aAAa,EAAkB,MAAM,SAAS,CAAC;AAEhH,qBAAa,UAAU;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAClC,KAAK,EAAE,gBAAgB,GAAG,aAAa,GAAG,qBAAqB,GAAG,SAAS,CAAC;gBAEhE,OAAO,EAAE,aAAa;CAuDlC"}
@@ -12,6 +12,9 @@ export class PixelEvent {
12
12
  `&v=1` + // version always '1'? or set to snap package version?
13
13
  `&x=${Math.floor(Math.random() * 2147483647)}` +
14
14
  `${window.document.referrer ? `&r=${encodeURIComponent(window.document.referrer)}` : ''}`;
15
+ if (payload?.context?.currency?.code) {
16
+ this.src += `&currencyCode=${encodeURIComponent(payload?.context?.currency?.code)}`;
17
+ }
15
18
  switch (payload.category) {
16
19
  case BeaconCategory.PAGEVIEW:
17
20
  this.event = payload.event;
@@ -30,12 +33,14 @@ export class PixelEvent {
30
33
  });
31
34
  break;
32
35
  case BeaconCategory.ORDERVIEW:
33
- const { orderId, total, city, state, country, items } = (this.event = payload.event);
36
+ const { orderId, total, transactionTotal, city, state, country, items } = (this.event = payload.event);
34
37
  this.src += `&a=sale`;
35
38
  if (orderId)
36
39
  this.src += `&orderId=${encodeURIComponent(orderId)}`;
37
40
  if (total)
38
41
  this.src += `&total=${encodeURIComponent(total)}`;
42
+ if (transactionTotal)
43
+ this.src += `&transactionTotal=${encodeURIComponent(transactionTotal)}`;
39
44
  if (city)
40
45
  this.src += `&city=${encodeURIComponent(city)}`;
41
46
  if (state)
@@ -1,5 +1,5 @@
1
1
  import { BeaconEvent } from './BeaconEvent';
2
- import { TrackerGlobals, TrackMethods, BeaconContext, TrackerConfig } from './types';
2
+ import { TrackerGlobals, TrackMethods, BeaconContext, TrackerConfig, CurrencyContext } from './types';
3
3
  export declare const BATCH_TIMEOUT = 200;
4
4
  export declare class Tracker {
5
5
  private mode;
@@ -16,6 +16,7 @@ export declare class Tracker {
16
16
  retarget(): void;
17
17
  track: TrackMethods;
18
18
  updateContext: (key: keyof BeaconContext, value: any) => void;
19
+ setCurrency: (currency: CurrencyContext) => void;
19
20
  getUserId: () => string | undefined | null;
20
21
  getSessionId: () => string | undefined;
21
22
  getShopperId: () => string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"Tracker.d.ts","sourceRoot":"","sources":["../../src/Tracker.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACN,cAAc,EACd,YAAY,EAIZ,aAAa,EAQb,aAAa,EAGb,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,aAAa,MAAM,CAAC;AAoBjC,qBAAa,OAAO;IACnB,OAAO,CAAC,IAAI,CAAsB;IAClC,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,UAAU,CAAoB;IAEtC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAAqB;gBAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,aAAa;IAkJpD,UAAU,IAAI,cAAc;IAI5B,UAAU,IAAI,aAAa;IAI3B,QAAQ,IAAI,IAAI;IAMvB,KAAK,EAAE,YAAY,CAgUjB;IAEF,aAAa,QAAS,MAAM,aAAa,SAAS,GAAG,UAInD;IAEF,SAAS,QAAO,MAAM,GAAG,SAAS,GAAG,IAAI,CAmBvC;IAEF,YAAY,QAAO,MAAM,GAAG,SAAS,CAoBnC;IAEF,YAAY,QAAO,MAAM,GAAG,SAAS,CAOnC;IAEF,aAAa,QAAO,IAAI,CAwCtB;IAEF,OAAO;;uBAEI,MAAM,EAAE;yBAOJ,MAAM,EAAE,KAAG,IAAI;yBAYf,MAAM,EAAE,KAAG,IAAI;4BAaZ,MAAM,EAAE,KAAG,IAAI;;;;uBAqBtB,MAAM,EAAE;;MAQjB;IAEF,UAAU,kBAAmB,WAAW,EAAE,KAAG,IAAI,CA0C/C;CACF"}
1
+ {"version":3,"file":"Tracker.d.ts","sourceRoot":"","sources":["../../src/Tracker.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACN,cAAc,EACd,YAAY,EAIZ,aAAa,EAQb,aAAa,EAGb,eAAe,EACf,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,aAAa,MAAM,CAAC;AAsBjC,qBAAa,OAAO;IACnB,OAAO,CAAC,IAAI,CAAsB;IAClC,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,UAAU,CAAoB;IAEtC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAAqB;gBAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,aAAa;IAuJpD,UAAU,IAAI,cAAc;IAI5B,UAAU,IAAI,aAAa;IAI3B,QAAQ,IAAI,IAAI;IAMvB,KAAK,EAAE,YAAY,CAuUjB;IAEF,aAAa,QAAS,MAAM,aAAa,SAAS,GAAG,UAInD;IAEF,WAAW,aAAc,eAAe,KAAG,IAAI,CAK7C;IAEF,SAAS,QAAO,MAAM,GAAG,SAAS,GAAG,IAAI,CAmBvC;IAEF,YAAY,QAAO,MAAM,GAAG,SAAS,CAoBnC;IAEF,YAAY,QAAO,MAAM,GAAG,SAAS,CAOnC;IAEF,aAAa,QAAO,IAAI,CAwCtB;IAEF,OAAO;;uBAEI,MAAM,EAAE;yBAOJ,MAAM,EAAE,KAAG,IAAI;yBAYf,MAAM,EAAE,KAAG,IAAI;4BAaZ,MAAM,EAAE,KAAG,IAAI;;;;uBAqBtB,MAAM,EAAE;;MAQjB;IAEF,UAAU,kBAAmB,WAAW,EAAE,KAAG,IAAI,CA0C/C;CACF"}
@@ -14,6 +14,7 @@ const SHOPPERID_COOKIE_NAME = 'ssShopperId';
14
14
  const COOKIE_EXPIRATION = 31536000000; // 1 year
15
15
  const VIEWED_COOKIE_EXPIRATION = 220752000000; // 7 years
16
16
  const COOKIE_SAMESITE = 'Lax';
17
+ const COOKIE_DOMAIN = (typeof window !== 'undefined' && window.location.hostname && '.' + window.location.hostname.replace(/^www\./, '')) || undefined;
17
18
  const SESSIONID_STORAGE_NAME = 'ssSessionIdNamespace';
18
19
  const LOCALSTORAGE_BEACON_POOL_NAME = 'ssBeaconPool';
19
20
  const CART_PRODUCTS = 'ssCartProducts';
@@ -112,7 +113,7 @@ export class Tracker {
112
113
  const storedShopperId = this.getShopperId();
113
114
  if (storedShopperId != data.id) {
114
115
  // user's logged in id has changed, update shopperId cookie send login event
115
- cookies.set(SHOPPERID_COOKIE_NAME, data.id, COOKIE_SAMESITE, COOKIE_EXPIRATION);
116
+ cookies.set(SHOPPERID_COOKIE_NAME, data.id, COOKIE_SAMESITE, COOKIE_EXPIRATION, COOKIE_DOMAIN);
116
117
  this.context.shopperId = data.id;
117
118
  this.sendPreflight();
118
119
  const payload = {
@@ -160,7 +161,7 @@ export class Tracker {
160
161
  if (sku) {
161
162
  const lastViewedProducts = this.cookies.viewed.get();
162
163
  const uniqueCartItems = Array.from(new Set([...lastViewedProducts, sku])).map((item) => item.trim());
163
- cookies.set(VIEWED_PRODUCTS, uniqueCartItems.slice(0, MAX_VIEWED_COUNT).join(','), COOKIE_SAMESITE, VIEWED_COOKIE_EXPIRATION);
164
+ cookies.set(VIEWED_PRODUCTS, uniqueCartItems.slice(0, MAX_VIEWED_COUNT).join(','), COOKIE_SAMESITE, VIEWED_COOKIE_EXPIRATION, COOKIE_DOMAIN);
164
165
  if (!lastViewedProducts.includes(sku)) {
165
166
  this.sendPreflight();
166
167
  }
@@ -263,7 +264,7 @@ export class Tracker {
263
264
  order: {
264
265
  transaction: (data, siteId) => {
265
266
  if (!data?.items || !Array.isArray(data.items) || !data.items.length) {
266
- console.error('track.order.transaction event: object parameter must contain `items` array of cart items. \nExample: order.transaction({ order: { id: "1001", total: "9.99", city: "Los Angeles", state: "CA", country: "US" }, items: [{ sku: "product123", childSku: "product123_a", qty: "1", price: "9.99" }] })');
267
+ console.error('track.order.transaction event: object parameter must contain `items` array of cart items. \nExample: order.transaction({ order: { id: "1001", total: "10.71", transactionTotal: "9.99", city: "Los Angeles", state: "CA", country: "US" }, items: [{ sku: "product123", childSku: "product123_a", qty: "1", price: "9.99" }] })');
267
268
  return;
268
269
  }
269
270
  let context = this.context;
@@ -296,6 +297,7 @@ export class Tracker {
296
297
  const eventPayload = {
297
298
  orderId: data?.order?.id ? `${data.order.id}` : undefined,
298
299
  total: data?.order?.total ? `${data.order.total}` : undefined,
300
+ transactionTotal: data?.order?.transactionTotal ? `${data.order.transactionTotal}` : undefined,
299
301
  city: data?.order?.city ? `${data.order.city}` : undefined,
300
302
  state: data?.order?.state ? `${data.order.state}` : undefined,
301
303
  country: data?.order?.country ? `${data.order.country}` : undefined,
@@ -323,14 +325,20 @@ export class Tracker {
323
325
  this.context[key] = value;
324
326
  }
325
327
  };
328
+ this.setCurrency = (currency) => {
329
+ if (!currency?.code) {
330
+ return;
331
+ }
332
+ this.context.currency = currency;
333
+ };
326
334
  this.getUserId = () => {
327
335
  let userId;
328
336
  try {
329
337
  // use cookies if available, fallback to localstorage
330
338
  if (getFlags().cookies()) {
331
339
  userId = cookies.get(LEGACY_USERID_COOKIE_NAME) || cookies.get(USERID_COOKIE_NAME) || uuidv4();
332
- cookies.set(USERID_COOKIE_NAME, userId, COOKIE_SAMESITE, COOKIE_EXPIRATION);
333
- cookies.set(LEGACY_USERID_COOKIE_NAME, userId, COOKIE_SAMESITE, COOKIE_EXPIRATION);
340
+ cookies.set(USERID_COOKIE_NAME, userId, COOKIE_SAMESITE, COOKIE_EXPIRATION, COOKIE_DOMAIN);
341
+ cookies.set(LEGACY_USERID_COOKIE_NAME, userId, COOKIE_SAMESITE, COOKIE_EXPIRATION, COOKIE_DOMAIN);
334
342
  }
335
343
  else if (getFlags().storage()) {
336
344
  userId = window.localStorage.getItem(USERID_COOKIE_NAME) || uuidv4();
@@ -351,7 +359,7 @@ export class Tracker {
351
359
  try {
352
360
  sessionId = window.sessionStorage.getItem(SESSIONID_STORAGE_NAME) || uuidv4();
353
361
  window.sessionStorage.setItem(SESSIONID_STORAGE_NAME, sessionId);
354
- getFlags().cookies() && cookies.set(SESSIONID_STORAGE_NAME, sessionId, COOKIE_SAMESITE, 0); //session cookie
362
+ getFlags().cookies() && cookies.set(SESSIONID_STORAGE_NAME, sessionId, COOKIE_SAMESITE, 0, COOKIE_DOMAIN); //session cookie
355
363
  }
356
364
  catch (e) {
357
365
  console.error('Failed to persist session id to session storage:', e);
@@ -362,7 +370,7 @@ export class Tracker {
362
370
  sessionId = cookies.get(SESSIONID_STORAGE_NAME);
363
371
  if (!sessionId) {
364
372
  sessionId = uuidv4();
365
- cookies.set(SESSIONID_STORAGE_NAME, sessionId, COOKIE_SAMESITE, 0);
373
+ cookies.set(SESSIONID_STORAGE_NAME, sessionId, COOKIE_SAMESITE, 0, COOKIE_DOMAIN);
366
374
  }
367
375
  }
368
376
  return sessionId;
@@ -425,7 +433,7 @@ export class Tracker {
425
433
  if (items.length) {
426
434
  const cartItems = items.map((item) => item.trim());
427
435
  const uniqueCartItems = Array.from(new Set(cartItems));
428
- cookies.set(CART_PRODUCTS, uniqueCartItems.join(','), COOKIE_SAMESITE, 0);
436
+ cookies.set(CART_PRODUCTS, uniqueCartItems.join(','), COOKIE_SAMESITE, 0, COOKIE_DOMAIN);
429
437
  const itemsHaveChanged = cartItems.filter((item) => items.includes(item)).length !== items.length;
430
438
  if (itemsHaveChanged) {
431
439
  this.sendPreflight();
@@ -437,7 +445,7 @@ export class Tracker {
437
445
  const currentCartItems = this.cookies.cart.get();
438
446
  const itemsToAdd = items.map((item) => item.trim());
439
447
  const uniqueCartItems = Array.from(new Set([...currentCartItems, ...itemsToAdd]));
440
- cookies.set(CART_PRODUCTS, uniqueCartItems.join(','), COOKIE_SAMESITE, 0);
448
+ cookies.set(CART_PRODUCTS, uniqueCartItems.join(','), COOKIE_SAMESITE, 0, COOKIE_DOMAIN);
441
449
  const itemsHaveChanged = currentCartItems.filter((item) => itemsToAdd.includes(item)).length !== itemsToAdd.length;
442
450
  if (itemsHaveChanged) {
443
451
  this.sendPreflight();
@@ -449,7 +457,7 @@ export class Tracker {
449
457
  const currentCartItems = this.cookies.cart.get();
450
458
  const itemsToRemove = items.map((item) => item.trim());
451
459
  const updatedItems = currentCartItems.filter((item) => !itemsToRemove.includes(item));
452
- cookies.set(CART_PRODUCTS, updatedItems.join(','), COOKIE_SAMESITE, 0);
460
+ cookies.set(CART_PRODUCTS, updatedItems.join(','), COOKIE_SAMESITE, 0, COOKIE_DOMAIN);
453
461
  const itemsHaveChanged = currentCartItems.length !== updatedItems.length;
454
462
  if (itemsHaveChanged) {
455
463
  this.sendPreflight();
@@ -534,6 +542,9 @@ export class Tracker {
534
542
  trackingCode: this.globals.siteId,
535
543
  },
536
544
  };
545
+ if (this.globals.currency?.code) {
546
+ this.context.currency = this.globals.currency;
547
+ }
537
548
  if (!window.searchspring?.tracker) {
538
549
  window.searchspring = window.searchspring || {};
539
550
  window.searchspring.tracker = this;
@@ -542,7 +553,8 @@ export class Tracker {
542
553
  // since this is in the constructor, setTimeout is required for jest.spyOn
543
554
  setTimeout(() => {
544
555
  this.targeters.push(new DomTargeter([{ selector: 'script[type^="searchspring/track/"]', emptyTarget: false }], (target, elem) => {
545
- const { item, items, siteId, shopper, order, type } = getContext(['item', 'items', 'siteId', 'shopper', 'order', 'type'], elem);
556
+ const { item, items, siteId, shopper, order, type, currency } = getContext(['item', 'items', 'siteId', 'shopper', 'order', 'type', 'currency'], elem);
557
+ this.setCurrency(currency);
546
558
  switch (type) {
547
559
  case 'searchspring/track/shopper/login':
548
560
  this.track.shopper.login(shopper, siteId);
@@ -1,7 +1,11 @@
1
1
  import { AppMode } from '@searchspring/snap-toolbox';
2
2
  import { BeaconEvent } from './BeaconEvent';
3
+ export type CurrencyContext = {
4
+ code: string;
5
+ };
3
6
  export type TrackerGlobals = {
4
7
  siteId: string;
8
+ currency?: CurrencyContext;
5
9
  };
6
10
  export type DoNotTrackEntry = {
7
11
  type: BeaconType;
@@ -80,6 +84,7 @@ export interface BeaconContext {
80
84
  type?: string;
81
85
  id?: string;
82
86
  };
87
+ currency?: CurrencyContext;
83
88
  }
84
89
  export interface BeaconMeta {
85
90
  initiator: {
@@ -123,6 +128,7 @@ export interface Product extends ProductViewEvent {
123
128
  export interface OrderTransactionEvent {
124
129
  orderId?: string | number;
125
130
  total?: string | number;
131
+ transactionTotal?: string | number;
126
132
  city?: string;
127
133
  state?: string;
128
134
  country?: string;
@@ -132,6 +138,7 @@ export interface OrderTransactionData {
132
138
  order?: {
133
139
  id?: string | number;
134
140
  total?: string | number;
141
+ transactionTotal?: string | number;
135
142
  city?: string;
136
143
  state?: string;
137
144
  country?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,cAAc,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,OAAO,OAAO,GAAG,OAAO,CAAC;IACtC,UAAU,CAAC,EAAE;QACZ,eAAe,CAAC,EAAE;YACjB,MAAM,EAAE,MAAM,CAAC;SACf,CAAC;QACF,MAAM,CAAC,EAAE;YACR,MAAM,CAAC,EAAE,MAAM,CAAC;SAChB,CAAC;KACF,CAAC;IACF,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,KAAK,EACF,gBAAgB,GAChB,aAAa,GACb,qBAAqB,GACrB,oBAAoB,GACpB,iBAAiB,GACjB,iBAAiB,GACjB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB,CAAC;AAEF,oBAAY,UAAU;IACrB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,KAAK,gBAAgB;IACrB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,KAAK,UAAU;IACf,MAAM,WAAW;IAEjB,mCAAmC;IACnC,cAAc,mBAAmB,CAAE,qCAAqC;IACxE,kBAAkB,uBAAuB,CAAE,6KAA6K;IACxN,aAAa,kBAAkB,CAAE,sCAAsC;IACvE,iBAAiB,sBAAsB;IAEvC,gDAAgD;IAChD,sBAAsB,2BAA2B,CAAE,iDAAiD;IACpG,0BAA0B,+BAA+B,CAAE,iMAAiM;IAC5P,qBAAqB,0BAA0B,CAAE,oCAAoC;IACrF,6BAA6B,kCAAkC;IAC/D,iCAAiC,sCAAsC;CACvE;AAED,oBAAY,cAAc;IACzB,QAAQ,2BAA2B;IACnC,QAAQ,2BAA2B;IACnC,SAAS,kCAAkC;IAC3C,eAAe,iCAAiC;IAChD,eAAe,mDAAmD;IAClE,WAAW,mCAAmC;IAC9C,OAAO,4BAA4B;IACnC,MAAM,WAAW;CACjB;AAED,oBAAY,gBAAgB;IAC3B,UAAU,gBAAgB;IAC1B,gBAAgB,sBAAsB;IACtC,WAAW,iBAAiB;IAC5B,aAAa,oBAAoB;IACjC,QAAQ,cAAc;IACtB,KAAK,UAAU;CACf;AAED,MAAM,WAAW,aAAa;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE;QACR,YAAY,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,WAAW,CAAC,EAAE;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,EAAE,CAAC,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU;IAC1B,SAAS,EAAE;QACV,GAAG,EAAE,MAAM,CAAC;QACZ,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;KACxB,CAAC;CACF;AAED,MAAM,WAAW,iBAAiB;IACjC,EAAE,EAAE,MAAM,CAAC;CACX;AACD,MAAM,WAAW,eAAe;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE;QACT,UAAU,CAAC,EAAE;YACZ,IAAI,EAAE,MAAM,CAAC;YACb,EAAE,EAAE,MAAM,CAAC;SACX,CAAC;KACF,CAAC;IACF,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;CACrC;AACD,MAAM,WAAW,gBAAgB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,OAAO,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,OAAQ,SAAQ,gBAAgB;IAChD,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACrC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACpC,KAAK,CAAC,EAAE;QACP,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACxB,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACnC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,KAAK,EAAE,OAAO,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACpC,OAAO,CAAC,EAAE;QACT,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,gBAAgB,CAAC;QAC7B,IAAI,CAAC,EAAE,gBAAgB,EAAE,CAAC;KAC1B,CAAC;IACF,OAAO,CAAC,EAAE;QACT,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,QAAQ,CAAC,EAAE;YACV,IAAI,CAAC,EAAE;gBACN,GAAG,CAAC,EAAE,MAAM,CAAC;gBACb,IAAI,CAAC,EAAE,MAAM,CAAC;gBACd,GAAG,CAAC,EAAE,MAAM,CAAC;gBACb,iBAAiB,CAAC,EAAE,MAAM,CAAC;gBAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;gBACf,IAAI,CAAC,EAAE,MAAM,CAAC;aACd,CAAC;SACF,CAAC;QACF,IAAI,CAAC,EAAE,gBAAgB,EAAE,CAAC;KAC1B,CAAC;IACF,OAAO,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,gBAAgB,CAAC;KAC7B,CAAC;CACF;AACD,MAAM,WAAW,iBAAiB;IACjC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,uBAAuB,EAAE,MAAM,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACnB;AAED,MAAM,MAAM,qBAAqB,GAAG;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF,MAAM,WAAW,YAAY;IAC5B,KAAK,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,WAAW,GAAG,SAAS,CAAC;IAC3D,KAAK,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,WAAW,GAAG,SAAS,CAAC;IAC1D,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;KAC7E,CAAC;IACF,OAAO,EAAE;QACR,IAAI,EAAE,CAAC,IAAI,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;QAC3E,KAAK,EAAE,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;KAC7E,CAAC;IACF,IAAI,EAAE;QACL,IAAI,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;KACxE,CAAC;IACF,KAAK,EAAE;QACN,WAAW,EAAE,CAAC,IAAI,EAAE,oBAAoB,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;KACtF,CAAC;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,MAAM;QACf,YAAY,CAAC,EAAE,GAAG,CAAC;KACnB;CACD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@searchspring/snap-tracker",
3
- "version": "0.56.5",
3
+ "version": "0.57.0",
4
4
  "description": "Snap Tracker",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -20,8 +20,8 @@
20
20
  "test:watch": "jest --watch"
21
21
  },
22
22
  "dependencies": {
23
- "@searchspring/snap-store-mobx": "^0.56.5",
24
- "@searchspring/snap-toolbox": "^0.56.5",
23
+ "@searchspring/snap-store-mobx": "^0.57.0",
24
+ "@searchspring/snap-toolbox": "^0.57.0",
25
25
  "@types/uuid": "8.3.4",
26
26
  "deepmerge": "4.3.1",
27
27
  "uuid": "9.0.1"
@@ -30,5 +30,5 @@
30
30
  "files": [
31
31
  "dist/**/*"
32
32
  ],
33
- "gitHead": "5562d502635a4f9a0df7c6f66f0ecc20b7a2da9c"
33
+ "gitHead": "ecf2e7bef805aa78834736ab44fbe5f9f912db78"
34
34
  }