@searchspring/snap-tracker 0.20.5 → 0.22.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.
@@ -28,7 +28,7 @@ var PixelEvent = /** @class */ (function () {
28
28
  this.event = payload.event;
29
29
  this.src += '&a=basket';
30
30
  this.event.items.forEach(function (item) {
31
- if (item.sku) {
31
+ if (item === null || item === void 0 ? void 0 : item.sku) {
32
32
  _this.src += "&item=".concat(encodeURIComponent(item.sku), ";").concat(encodeURIComponent((item === null || item === void 0 ? void 0 : item.qty) || ''), ";").concat(encodeURIComponent((item === null || item === void 0 ? void 0 : item.price) || ''), ";");
33
33
  }
34
34
  });
@@ -47,7 +47,7 @@ var PixelEvent = /** @class */ (function () {
47
47
  if (country)
48
48
  this.src += "&country=".concat(encodeURIComponent(country));
49
49
  items.forEach(function (item) {
50
- if (item.sku) {
50
+ if (item === null || item === void 0 ? void 0 : item.sku) {
51
51
  _this.src += "&item=".concat(encodeURIComponent(item.sku), ";").concat(encodeURIComponent((item === null || item === void 0 ? void 0 : item.qty) || ''), ";").concat(encodeURIComponent((item === null || item === void 0 ? void 0 : item.price) || ''), ";");
52
52
  }
53
53
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Tracker.d.ts","sourceRoot":"","sources":["../../src/Tracker.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAe,MAAM,+BAA+B,CAAC;AAK1E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACN,cAAc,EACd,YAAY,EAIZ,aAAa,EAOb,aAAa,EAEb,MAAM,SAAS,CAAC;AAkBjB,qBAAa,OAAO;IACnB,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAAqB;gBAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,aAAa;IAyGpD,QAAQ,IAAI,IAAI;IAMvB,KAAK,EAAE,YAAY,CAgQjB;IAEF,SAAS,QAAO,MAAM,CAiBpB;IAEF,YAAY,QAAO,MAAM,CAoBvB;IAEF,YAAY,QAAO,MAAM,CAOvB;IAEF,aAAa,QAAO,IAAI,CAuCtB;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,CAoB/C;CACF"}
1
+ {"version":3,"file":"Tracker.d.ts","sourceRoot":"","sources":["../../src/Tracker.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAe,MAAM,+BAA+B,CAAC;AAK1E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACN,cAAc,EACd,YAAY,EAIZ,aAAa,EAOb,aAAa,EAEb,MAAM,SAAS,CAAC;AAkBjB,qBAAa,OAAO;IACnB,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAAqB;gBAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,aAAa;IA2GpD,QAAQ,IAAI,IAAI;IAMvB,KAAK,EAAE,YAAY,CAkQjB;IAEF,SAAS,QAAO,MAAM,CAiBpB;IAEF,YAAY,QAAO,MAAM,CAoBvB;IAEF,YAAY,QAAO,MAAM,CAOvB;IAEF,aAAa,QAAO,IAAI,CAuCtB;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,CAmB/C;CACF"}
@@ -67,13 +67,14 @@ var Tracker = /** @class */ (function () {
67
67
  shopper: {
68
68
  login: function (data, siteId) {
69
69
  // sets shopperid if logged in
70
- if (!snap_toolbox_1.featureFlags.cookies) {
70
+ if (!(0, snap_toolbox_1.getFlags)().cookies()) {
71
71
  return;
72
72
  }
73
73
  if (!data.id) {
74
74
  console.error('tracker.shopper.login event: requires a valid shopper ID parameter. Example: tracker.shopper.login({ id: "1234" })');
75
75
  return;
76
76
  }
77
+ data.id = "".concat(data.id);
77
78
  var context = _this.context;
78
79
  if (siteId) {
79
80
  context = (0, deepmerge_1.default)(context, {
@@ -83,9 +84,9 @@ var Tracker = /** @class */ (function () {
83
84
  },
84
85
  },
85
86
  });
87
+ context.shopperId = data.id;
86
88
  }
87
89
  var storedShopperId = _this.getShopperId();
88
- data.id = "".concat(data.id);
89
90
  if (storedShopperId != data.id) {
90
91
  // user's logged in id has changed, update shopperId cookie send login event
91
92
  snap_toolbox_1.cookies.set(SHOPPERID_COOKIE_NAME, data.id, COOKIE_SAMESITE, COOKIE_EXPIRATION);
@@ -216,7 +217,7 @@ var Tracker = /** @class */ (function () {
216
217
  };
217
218
  // save cart items to cookie
218
219
  if (items.length) {
219
- var products = items.map(function (item) { return item.sku || item.childSku; });
220
+ var products = items.map(function (item) { return (item === null || item === void 0 ? void 0 : item.sku) || (item === null || item === void 0 ? void 0 : item.childSku) || ''; }).filter(function (sku) { return sku; });
220
221
  _this.cookies.cart.add(products);
221
222
  }
222
223
  // legacy tracking
@@ -283,12 +284,12 @@ var Tracker = /** @class */ (function () {
283
284
  this.getUserId = function () {
284
285
  var userId;
285
286
  try {
286
- userId = snap_toolbox_1.featureFlags.storage && window.localStorage.getItem(USERID_COOKIE_NAME);
287
- if (snap_toolbox_1.featureFlags.cookies) {
287
+ userId = (0, snap_toolbox_1.getFlags)().storage() && window.localStorage.getItem(USERID_COOKIE_NAME);
288
+ if ((0, snap_toolbox_1.getFlags)().cookies()) {
288
289
  userId = userId || snap_toolbox_1.cookies.get(USERID_COOKIE_NAME) || (0, uuid_1.v4)();
289
290
  snap_toolbox_1.cookies.set(USERID_COOKIE_NAME, userId, COOKIE_SAMESITE, COOKIE_EXPIRATION);
290
291
  }
291
- else if (!userId && snap_toolbox_1.featureFlags.storage) {
292
+ else if (!userId && (0, snap_toolbox_1.getFlags)().storage()) {
292
293
  // if cookies are disabled, use localStorage instead
293
294
  userId = (0, uuid_1.v4)();
294
295
  window.localStorage.setItem(USERID_COOKIE_NAME, userId);
@@ -301,17 +302,17 @@ var Tracker = /** @class */ (function () {
301
302
  };
302
303
  this.getSessionId = function () {
303
304
  var sessionId;
304
- if (snap_toolbox_1.featureFlags.storage) {
305
+ if ((0, snap_toolbox_1.getFlags)().storage()) {
305
306
  try {
306
307
  sessionId = window.sessionStorage.getItem(SESSIONID_STORAGE_NAME) || (0, uuid_1.v4)();
307
308
  window.sessionStorage.setItem(SESSIONID_STORAGE_NAME, sessionId);
308
- snap_toolbox_1.featureFlags.cookies && snap_toolbox_1.cookies.set(SESSIONID_STORAGE_NAME, sessionId, COOKIE_SAMESITE, 0); //session cookie
309
+ (0, snap_toolbox_1.getFlags)().cookies() && snap_toolbox_1.cookies.set(SESSIONID_STORAGE_NAME, sessionId, COOKIE_SAMESITE, 0); //session cookie
309
310
  }
310
311
  catch (e) {
311
312
  console.error('Failed to persist session id to session storage:', e);
312
313
  }
313
314
  }
314
- else if (snap_toolbox_1.featureFlags.cookies) {
315
+ else if ((0, snap_toolbox_1.getFlags)().cookies()) {
315
316
  // use cookies if sessionStorage is not enabled and only reset cookie if new session to keep expiration
316
317
  sessionId = snap_toolbox_1.cookies.get(SESSIONID_STORAGE_NAME);
317
318
  if (!sessionId) {
@@ -468,27 +469,29 @@ var Tracker = /** @class */ (function () {
468
469
  window.searchspring.tracker = this;
469
470
  window.searchspring.version = snap_toolbox_1.version;
470
471
  }
471
- // one targeter to rule them all
472
- this.targeters.push(new snap_toolbox_1.DomTargeter([{ selector: 'script[type^="searchspring/track/"]', emptyTarget: false }], function (target, elem) {
473
- 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;
474
- switch (type) {
475
- case 'searchspring/track/shopper/login':
476
- _this.track.shopper.login(shopper, siteId);
477
- break;
478
- case 'searchspring/track/product/view':
479
- _this.track.product.view(item, siteId);
480
- break;
481
- case 'searchspring/track/cart/view':
482
- _this.track.cart.view({ items: items }, siteId);
483
- break;
484
- case 'searchspring/track/order/transaction':
485
- _this.track.order.transaction({ order: order, items: items }, siteId);
486
- break;
487
- default:
488
- console.error("event '".concat(type, "' is not supported"));
489
- break;
490
- }
491
- }));
472
+ // since this is in the constructor, setTimeout is required for jest.spyOn
473
+ setTimeout(function () {
474
+ _this.targeters.push(new snap_toolbox_1.DomTargeter([{ selector: 'script[type^="searchspring/track/"]', emptyTarget: false }], function (target, elem) {
475
+ 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;
476
+ switch (type) {
477
+ case 'searchspring/track/shopper/login':
478
+ _this.track.shopper.login(shopper, siteId);
479
+ break;
480
+ case 'searchspring/track/product/view':
481
+ _this.track.product.view(item, siteId);
482
+ break;
483
+ case 'searchspring/track/cart/view':
484
+ _this.track.cart.view({ items: items }, siteId);
485
+ break;
486
+ case 'searchspring/track/order/transaction':
487
+ _this.track.order.transaction({ order: order, items: items }, siteId);
488
+ break;
489
+ default:
490
+ console.error("event '".concat(type, "' is not supported"));
491
+ break;
492
+ }
493
+ }));
494
+ });
492
495
  document.addEventListener('click', function (event) {
493
496
  var attributes = {};
494
497
  Object.values(event.target.attributes).forEach(function (attr) {
package/dist/cjs/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -24,7 +24,7 @@ export class PixelEvent {
24
24
  this.event = payload.event;
25
25
  this.src += '&a=basket';
26
26
  this.event.items.forEach((item) => {
27
- if (item.sku) {
27
+ if (item?.sku) {
28
28
  this.src += `&item=${encodeURIComponent(item.sku)};${encodeURIComponent(item?.qty || '')};${encodeURIComponent(item?.price || '')};`;
29
29
  }
30
30
  });
@@ -43,7 +43,7 @@ export class PixelEvent {
43
43
  if (country)
44
44
  this.src += `&country=${encodeURIComponent(country)}`;
45
45
  items.forEach((item) => {
46
- if (item.sku) {
46
+ if (item?.sku) {
47
47
  this.src += `&item=${encodeURIComponent(item.sku)};${encodeURIComponent(item?.qty || '')};${encodeURIComponent(item?.price || '')};`;
48
48
  }
49
49
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Tracker.d.ts","sourceRoot":"","sources":["../../src/Tracker.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAe,MAAM,+BAA+B,CAAC;AAK1E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACN,cAAc,EACd,YAAY,EAIZ,aAAa,EAOb,aAAa,EAEb,MAAM,SAAS,CAAC;AAkBjB,qBAAa,OAAO;IACnB,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAAqB;gBAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,aAAa;IAyGpD,QAAQ,IAAI,IAAI;IAMvB,KAAK,EAAE,YAAY,CAgQjB;IAEF,SAAS,QAAO,MAAM,CAiBpB;IAEF,YAAY,QAAO,MAAM,CAoBvB;IAEF,YAAY,QAAO,MAAM,CAOvB;IAEF,aAAa,QAAO,IAAI,CAuCtB;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,CAoB/C;CACF"}
1
+ {"version":3,"file":"Tracker.d.ts","sourceRoot":"","sources":["../../src/Tracker.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAe,MAAM,+BAA+B,CAAC;AAK1E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACN,cAAc,EACd,YAAY,EAIZ,aAAa,EAOb,aAAa,EAEb,MAAM,SAAS,CAAC;AAkBjB,qBAAa,OAAO;IACnB,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,aAAa,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAAqB;gBAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,aAAa;IA2GpD,QAAQ,IAAI,IAAI;IAMvB,KAAK,EAAE,YAAY,CAkQjB;IAEF,SAAS,QAAO,MAAM,CAiBpB;IAEF,YAAY,QAAO,MAAM,CAoBvB;IAEF,YAAY,QAAO,MAAM,CAOvB;IAEF,aAAa,QAAO,IAAI,CAuCtB;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,CAmB/C;CACF"}
@@ -1,7 +1,7 @@
1
1
  import deepmerge from 'deepmerge';
2
2
  import { v4 as uuidv4 } from 'uuid';
3
3
  import { StorageStore, StorageType } from '@searchspring/snap-store-mobx';
4
- import { cookies, featureFlags, version, DomTargeter, getContext, charsParams } from '@searchspring/snap-toolbox';
4
+ import { cookies, getFlags, version, DomTargeter, getContext, charsParams } from '@searchspring/snap-toolbox';
5
5
  import { TrackEvent } from './TrackEvent';
6
6
  import { PixelEvent } from './PixelEvent';
7
7
  import { BeaconEvent } from './BeaconEvent';
@@ -39,13 +39,14 @@ export class Tracker {
39
39
  shopper: {
40
40
  login: (data, siteId) => {
41
41
  // sets shopperid if logged in
42
- if (!featureFlags.cookies) {
42
+ if (!getFlags().cookies()) {
43
43
  return;
44
44
  }
45
45
  if (!data.id) {
46
46
  console.error('tracker.shopper.login event: requires a valid shopper ID parameter. Example: tracker.shopper.login({ id: "1234" })');
47
47
  return;
48
48
  }
49
+ data.id = `${data.id}`;
49
50
  let context = this.context;
50
51
  if (siteId) {
51
52
  context = deepmerge(context, {
@@ -55,9 +56,9 @@ export class Tracker {
55
56
  },
56
57
  },
57
58
  });
59
+ context.shopperId = data.id;
58
60
  }
59
61
  const storedShopperId = this.getShopperId();
60
- data.id = `${data.id}`;
61
62
  if (storedShopperId != data.id) {
62
63
  // user's logged in id has changed, update shopperId cookie send login event
63
64
  cookies.set(SHOPPERID_COOKIE_NAME, data.id, COOKIE_SAMESITE, COOKIE_EXPIRATION);
@@ -191,7 +192,7 @@ export class Tracker {
191
192
  };
192
193
  // save cart items to cookie
193
194
  if (items.length) {
194
- const products = items.map((item) => item.sku || item.childSku);
195
+ const products = items.map((item) => item?.sku || item?.childSku || '').filter((sku) => sku);
195
196
  this.cookies.cart.add(products);
196
197
  }
197
198
  // legacy tracking
@@ -257,12 +258,12 @@ export class Tracker {
257
258
  this.getUserId = () => {
258
259
  let userId;
259
260
  try {
260
- userId = featureFlags.storage && window.localStorage.getItem(USERID_COOKIE_NAME);
261
- if (featureFlags.cookies) {
261
+ userId = getFlags().storage() && window.localStorage.getItem(USERID_COOKIE_NAME);
262
+ if (getFlags().cookies()) {
262
263
  userId = userId || cookies.get(USERID_COOKIE_NAME) || uuidv4();
263
264
  cookies.set(USERID_COOKIE_NAME, userId, COOKIE_SAMESITE, COOKIE_EXPIRATION);
264
265
  }
265
- else if (!userId && featureFlags.storage) {
266
+ else if (!userId && getFlags().storage()) {
266
267
  // if cookies are disabled, use localStorage instead
267
268
  userId = uuidv4();
268
269
  window.localStorage.setItem(USERID_COOKIE_NAME, userId);
@@ -275,17 +276,17 @@ export class Tracker {
275
276
  };
276
277
  this.getSessionId = () => {
277
278
  let sessionId;
278
- if (featureFlags.storage) {
279
+ if (getFlags().storage()) {
279
280
  try {
280
281
  sessionId = window.sessionStorage.getItem(SESSIONID_STORAGE_NAME) || uuidv4();
281
282
  window.sessionStorage.setItem(SESSIONID_STORAGE_NAME, sessionId);
282
- featureFlags.cookies && cookies.set(SESSIONID_STORAGE_NAME, sessionId, COOKIE_SAMESITE, 0); //session cookie
283
+ getFlags().cookies() && cookies.set(SESSIONID_STORAGE_NAME, sessionId, COOKIE_SAMESITE, 0); //session cookie
283
284
  }
284
285
  catch (e) {
285
286
  console.error('Failed to persist session id to session storage:', e);
286
287
  }
287
288
  }
288
- else if (featureFlags.cookies) {
289
+ else if (getFlags().cookies()) {
289
290
  // use cookies if sessionStorage is not enabled and only reset cookie if new session to keep expiration
290
291
  sessionId = cookies.get(SESSIONID_STORAGE_NAME);
291
292
  if (!sessionId) {
@@ -442,27 +443,29 @@ export class Tracker {
442
443
  window.searchspring.tracker = this;
443
444
  window.searchspring.version = version;
444
445
  }
445
- // one targeter to rule them all
446
- this.targeters.push(new DomTargeter([{ selector: 'script[type^="searchspring/track/"]', emptyTarget: false }], (target, elem) => {
447
- const { item, items, siteId, shopper, order, type } = getContext(['item', 'items', 'siteId', 'shopper', 'order', 'type'], elem);
448
- switch (type) {
449
- case 'searchspring/track/shopper/login':
450
- this.track.shopper.login(shopper, siteId);
451
- break;
452
- case 'searchspring/track/product/view':
453
- this.track.product.view(item, siteId);
454
- break;
455
- case 'searchspring/track/cart/view':
456
- this.track.cart.view({ items }, siteId);
457
- break;
458
- case 'searchspring/track/order/transaction':
459
- this.track.order.transaction({ order, items }, siteId);
460
- break;
461
- default:
462
- console.error(`event '${type}' is not supported`);
463
- break;
464
- }
465
- }));
446
+ // since this is in the constructor, setTimeout is required for jest.spyOn
447
+ setTimeout(() => {
448
+ this.targeters.push(new DomTargeter([{ selector: 'script[type^="searchspring/track/"]', emptyTarget: false }], (target, elem) => {
449
+ const { item, items, siteId, shopper, order, type } = getContext(['item', 'items', 'siteId', 'shopper', 'order', 'type'], elem);
450
+ switch (type) {
451
+ case 'searchspring/track/shopper/login':
452
+ this.track.shopper.login(shopper, siteId);
453
+ break;
454
+ case 'searchspring/track/product/view':
455
+ this.track.product.view(item, siteId);
456
+ break;
457
+ case 'searchspring/track/cart/view':
458
+ this.track.cart.view({ items }, siteId);
459
+ break;
460
+ case 'searchspring/track/order/transaction':
461
+ this.track.order.transaction({ order, items }, siteId);
462
+ break;
463
+ default:
464
+ console.error(`event '${type}' is not supported`);
465
+ break;
466
+ }
467
+ }));
468
+ });
466
469
  document.addEventListener('click', (event) => {
467
470
  const attributes = {};
468
471
  Object.values(event.target.attributes).forEach((attr) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@searchspring/snap-tracker",
3
- "version": "0.20.5",
3
+ "version": "0.22.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.20.5",
24
- "@searchspring/snap-toolbox": "^0.20.5",
23
+ "@searchspring/snap-store-mobx": "^0.22.0",
24
+ "@searchspring/snap-toolbox": "^0.22.0",
25
25
  "deepmerge": "^4.2.2",
26
26
  "uuid": "^8.3.2"
27
27
  },
@@ -29,5 +29,5 @@
29
29
  "files": [
30
30
  "dist/**/*"
31
31
  ],
32
- "gitHead": "37807cdbe3906c03227d32023a119d0bf8892f84"
32
+ "gitHead": "e75d852fd1750840d7c851172bbfd5f66e8ace1e"
33
33
  }