@searchspring/snap-tracker 0.20.3 → 0.21.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
@@ -202,7 +202,7 @@ Tracks product click events. It is reccomended to invoke on each product `onmous
202
202
 
203
203
  ```jsx
204
204
  searchController.store.results.map(result)=>{(
205
- <a href={core.url} onMouseDown={(e)=>{result.track.click(e)}}>
205
+ <a href={core.url} onMouseDown={(e)=>{searchController.track.product.click(e, result)}}>
206
206
  )}
207
207
  ```
208
208
 
@@ -14,6 +14,7 @@ export declare class Tracker {
14
14
  getUserId: () => string;
15
15
  getSessionId: () => string;
16
16
  getShopperId: () => string;
17
+ sendPreflight: () => void;
17
18
  cookies: {
18
19
  cart: {
19
20
  get: () => string[];
@@ -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,EACb,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;IAwGpD,QAAQ,IAAI,IAAI;IAMvB,KAAK,EAAE,YAAY,CA6PjB;IAEF,SAAS,QAAO,MAAM,CAiBpB;IAEF,YAAY,QAAO,MAAM,CAoBvB;IAEF,YAAY,QAAO,MAAM,CAOvB;IAEF,OAAO;;uBAEI,MAAM,EAAE;yBAOJ,MAAM,EAAE,KAAG,IAAI;yBAOf,MAAM,EAAE,KAAG,IAAI;4BAQZ,MAAM,EAAE,KAAG,IAAI;;;;uBAatB,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;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"}
@@ -90,6 +90,7 @@ var Tracker = /** @class */ (function () {
90
90
  // user's logged in id has changed, update shopperId cookie send login event
91
91
  snap_toolbox_1.cookies.set(SHOPPERID_COOKIE_NAME, data.id, COOKIE_SAMESITE, COOKIE_EXPIRATION);
92
92
  _this.context.shopperId = data.id;
93
+ _this.sendPreflight();
93
94
  var payload = {
94
95
  type: types_1.BeaconType.LOGIN,
95
96
  category: types_1.BeaconCategory.PERSONALIZATION,
@@ -131,6 +132,9 @@ var Tracker = /** @class */ (function () {
131
132
  var lastViewedProducts = _this.cookies.viewed.get();
132
133
  var uniqueCartItems = Array.from(new Set(__spreadArray(__spreadArray([], lastViewedProducts, true), [sku], false))).map(function (item) { return item.trim(); });
133
134
  snap_toolbox_1.cookies.set(VIEWED_PRODUCTS, uniqueCartItems.slice(0, MAX_VIEWED_COUNT).join(','), COOKIE_SAMESITE, VIEWED_COOKIE_EXPIRATION);
135
+ if (!lastViewedProducts.includes(sku)) {
136
+ _this.sendPreflight();
137
+ }
134
138
  }
135
139
  // legacy tracking
136
140
  if (data === null || data === void 0 ? void 0 : data.sku) {
@@ -324,6 +328,43 @@ var Tracker = /** @class */ (function () {
324
328
  }
325
329
  return shopperId;
326
330
  };
331
+ this.sendPreflight = function () {
332
+ var userId = _this.getUserId();
333
+ var siteId = _this.context.website.trackingCode;
334
+ var shopper = _this.getShopperId();
335
+ var cart = _this.cookies.cart.get();
336
+ var lastViewed = _this.cookies.viewed.get();
337
+ if (userId && siteId && (shopper || cart.length || lastViewed.length)) {
338
+ var preflightParams = {
339
+ userId: userId,
340
+ siteId: siteId,
341
+ };
342
+ var queryStringParams = "?userId=".concat(encodeURIComponent(userId), "&siteId=").concat(encodeURIComponent(siteId));
343
+ if (shopper) {
344
+ preflightParams.shopper = shopper;
345
+ queryStringParams += "&shopper=".concat(encodeURIComponent(shopper));
346
+ }
347
+ if (cart.length) {
348
+ preflightParams.cart = cart;
349
+ queryStringParams += cart.map(function (item) { return "&cart=".concat(encodeURIComponent(item)); }).join('');
350
+ }
351
+ if (lastViewed.length) {
352
+ preflightParams.lastViewed = lastViewed;
353
+ queryStringParams += lastViewed.map(function (item) { return "&lastViewed=".concat(encodeURIComponent(item)); }).join('');
354
+ }
355
+ var endpoint = "https://".concat(siteId, ".a.searchspring.io/api/personalization/preflightCache");
356
+ var xhr = new XMLHttpRequest();
357
+ if ((0, snap_toolbox_1.charsParams)(preflightParams) > 1024) {
358
+ xhr.open('POST', endpoint);
359
+ xhr.setRequestHeader('Content-Type', 'application/json');
360
+ xhr.send(JSON.stringify(preflightParams));
361
+ }
362
+ else {
363
+ xhr.open('GET', endpoint + queryStringParams);
364
+ xhr.send();
365
+ }
366
+ }
367
+ };
327
368
  this.cookies = {
328
369
  cart: {
329
370
  get: function () {
@@ -338,14 +379,22 @@ var Tracker = /** @class */ (function () {
338
379
  var cartItems = items.map(function (item) { return item.trim(); });
339
380
  var uniqueCartItems = Array.from(new Set(cartItems));
340
381
  snap_toolbox_1.cookies.set(CART_PRODUCTS, uniqueCartItems.join(','), COOKIE_SAMESITE, 0);
382
+ var itemsHaveChanged = cartItems.filter(function (item) { return items.includes(item); }).length !== items.length;
383
+ if (itemsHaveChanged) {
384
+ _this.sendPreflight();
385
+ }
341
386
  }
342
387
  },
343
388
  add: function (items) {
344
389
  if (items.length) {
345
390
  var currentCartItems = _this.cookies.cart.get();
346
- var itemsToAdd = items.map(function (item) { return item.trim(); });
347
- var uniqueCartItems = Array.from(new Set(__spreadArray(__spreadArray([], currentCartItems, true), itemsToAdd, true)));
391
+ var itemsToAdd_1 = items.map(function (item) { return item.trim(); });
392
+ var uniqueCartItems = Array.from(new Set(__spreadArray(__spreadArray([], currentCartItems, true), itemsToAdd_1, true)));
348
393
  snap_toolbox_1.cookies.set(CART_PRODUCTS, uniqueCartItems.join(','), COOKIE_SAMESITE, 0);
394
+ var itemsHaveChanged = currentCartItems.filter(function (item) { return itemsToAdd_1.includes(item); }).length !== itemsToAdd_1.length;
395
+ if (itemsHaveChanged) {
396
+ _this.sendPreflight();
397
+ }
349
398
  }
350
399
  },
351
400
  remove: function (items) {
@@ -354,10 +403,17 @@ var Tracker = /** @class */ (function () {
354
403
  var itemsToRemove_1 = items.map(function (item) { return item.trim(); });
355
404
  var updatedItems = currentCartItems.filter(function (item) { return !itemsToRemove_1.includes(item); });
356
405
  snap_toolbox_1.cookies.set(CART_PRODUCTS, updatedItems.join(','), COOKIE_SAMESITE, 0);
406
+ var itemsHaveChanged = currentCartItems.length !== updatedItems.length;
407
+ if (itemsHaveChanged) {
408
+ _this.sendPreflight();
409
+ }
357
410
  }
358
411
  },
359
412
  clear: function () {
360
- snap_toolbox_1.cookies.unset(CART_PRODUCTS);
413
+ if (_this.cookies.cart.get().length) {
414
+ snap_toolbox_1.cookies.unset(CART_PRODUCTS);
415
+ _this.sendPreflight();
416
+ }
361
417
  },
362
418
  },
363
419
  viewed: {
@@ -414,7 +470,7 @@ var Tracker = /** @class */ (function () {
414
470
  }
415
471
  // one targeter to rule them all
416
472
  this.targeters.push(new snap_toolbox_1.DomTargeter([{ selector: 'script[type^="searchspring/track/"]', emptyTarget: false }], function (target, elem) {
417
- var _a = (0, snap_toolbox_1.getContext)(['item', 'items', 'siteId', 'shopper', 'order'], elem), item = _a.item, items = _a.items, siteId = _a.siteId, shopper = _a.shopper, order = _a.order, type = _a.type;
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;
418
474
  switch (type) {
419
475
  case 'searchspring/track/shopper/login':
420
476
  _this.track.shopper.login(shopper, siteId);
@@ -429,12 +485,11 @@ var Tracker = /** @class */ (function () {
429
485
  _this.track.order.transaction({ order: order, items: items }, siteId);
430
486
  break;
431
487
  default:
432
- console.error("".concat(type, " event is not supported or incorrect"));
488
+ console.error("event '".concat(type, "' is not supported"));
433
489
  break;
434
490
  }
435
491
  }));
436
492
  document.addEventListener('click', function (event) {
437
- event.preventDefault();
438
493
  var attributes = {};
439
494
  Object.values(event.target.attributes).forEach(function (attr) {
440
495
  attributes[attr.nodeName] = event.target.getAttribute(attr.nodeName);
@@ -120,6 +120,13 @@ export interface ProductClickEvent {
120
120
  export interface CustomBeaconEvent {
121
121
  [key: string]: any;
122
122
  }
123
+ export declare type PreflightRequestModel = {
124
+ userId: string;
125
+ siteId: string;
126
+ shopper?: string;
127
+ cart?: string[];
128
+ lastViewed?: string[];
129
+ };
123
130
  export interface TrackMethods {
124
131
  event: (payload: BeaconPayload) => BeaconEvent;
125
132
  shopper: {
@@ -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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"}
@@ -14,6 +14,7 @@ export declare class Tracker {
14
14
  getUserId: () => string;
15
15
  getSessionId: () => string;
16
16
  getShopperId: () => string;
17
+ sendPreflight: () => void;
17
18
  cookies: {
18
19
  cart: {
19
20
  get: () => string[];
@@ -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,EACb,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;IAwGpD,QAAQ,IAAI,IAAI;IAMvB,KAAK,EAAE,YAAY,CA6PjB;IAEF,SAAS,QAAO,MAAM,CAiBpB;IAEF,YAAY,QAAO,MAAM,CAoBvB;IAEF,YAAY,QAAO,MAAM,CAOvB;IAEF,OAAO;;uBAEI,MAAM,EAAE;yBAOJ,MAAM,EAAE,KAAG,IAAI;yBAOf,MAAM,EAAE,KAAG,IAAI;4BAQZ,MAAM,EAAE,KAAG,IAAI;;;;uBAatB,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;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,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 } from '@searchspring/snap-toolbox';
4
+ import { cookies, featureFlags, 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';
@@ -62,6 +62,7 @@ export class Tracker {
62
62
  // user's logged in id has changed, update shopperId cookie send login event
63
63
  cookies.set(SHOPPERID_COOKIE_NAME, data.id, COOKIE_SAMESITE, COOKIE_EXPIRATION);
64
64
  this.context.shopperId = data.id;
65
+ this.sendPreflight();
65
66
  const payload = {
66
67
  type: BeaconType.LOGIN,
67
68
  category: BeaconCategory.PERSONALIZATION,
@@ -103,6 +104,9 @@ export class Tracker {
103
104
  const lastViewedProducts = this.cookies.viewed.get();
104
105
  const uniqueCartItems = Array.from(new Set([...lastViewedProducts, sku])).map((item) => item.trim());
105
106
  cookies.set(VIEWED_PRODUCTS, uniqueCartItems.slice(0, MAX_VIEWED_COUNT).join(','), COOKIE_SAMESITE, VIEWED_COOKIE_EXPIRATION);
107
+ if (!lastViewedProducts.includes(sku)) {
108
+ this.sendPreflight();
109
+ }
106
110
  }
107
111
  // legacy tracking
108
112
  if (data?.sku) {
@@ -298,6 +302,43 @@ export class Tracker {
298
302
  }
299
303
  return shopperId;
300
304
  };
305
+ this.sendPreflight = () => {
306
+ const userId = this.getUserId();
307
+ const siteId = this.context.website.trackingCode;
308
+ const shopper = this.getShopperId();
309
+ const cart = this.cookies.cart.get();
310
+ const lastViewed = this.cookies.viewed.get();
311
+ if (userId && siteId && (shopper || cart.length || lastViewed.length)) {
312
+ const preflightParams = {
313
+ userId,
314
+ siteId,
315
+ };
316
+ let queryStringParams = `?userId=${encodeURIComponent(userId)}&siteId=${encodeURIComponent(siteId)}`;
317
+ if (shopper) {
318
+ preflightParams.shopper = shopper;
319
+ queryStringParams += `&shopper=${encodeURIComponent(shopper)}`;
320
+ }
321
+ if (cart.length) {
322
+ preflightParams.cart = cart;
323
+ queryStringParams += cart.map((item) => `&cart=${encodeURIComponent(item)}`).join('');
324
+ }
325
+ if (lastViewed.length) {
326
+ preflightParams.lastViewed = lastViewed;
327
+ queryStringParams += lastViewed.map((item) => `&lastViewed=${encodeURIComponent(item)}`).join('');
328
+ }
329
+ const endpoint = `https://${siteId}.a.searchspring.io/api/personalization/preflightCache`;
330
+ const xhr = new XMLHttpRequest();
331
+ if (charsParams(preflightParams) > 1024) {
332
+ xhr.open('POST', endpoint);
333
+ xhr.setRequestHeader('Content-Type', 'application/json');
334
+ xhr.send(JSON.stringify(preflightParams));
335
+ }
336
+ else {
337
+ xhr.open('GET', endpoint + queryStringParams);
338
+ xhr.send();
339
+ }
340
+ }
341
+ };
301
342
  this.cookies = {
302
343
  cart: {
303
344
  get: () => {
@@ -312,6 +353,10 @@ export class Tracker {
312
353
  const cartItems = items.map((item) => item.trim());
313
354
  const uniqueCartItems = Array.from(new Set(cartItems));
314
355
  cookies.set(CART_PRODUCTS, uniqueCartItems.join(','), COOKIE_SAMESITE, 0);
356
+ const itemsHaveChanged = cartItems.filter((item) => items.includes(item)).length !== items.length;
357
+ if (itemsHaveChanged) {
358
+ this.sendPreflight();
359
+ }
315
360
  }
316
361
  },
317
362
  add: (items) => {
@@ -320,6 +365,10 @@ export class Tracker {
320
365
  const itemsToAdd = items.map((item) => item.trim());
321
366
  const uniqueCartItems = Array.from(new Set([...currentCartItems, ...itemsToAdd]));
322
367
  cookies.set(CART_PRODUCTS, uniqueCartItems.join(','), COOKIE_SAMESITE, 0);
368
+ const itemsHaveChanged = currentCartItems.filter((item) => itemsToAdd.includes(item)).length !== itemsToAdd.length;
369
+ if (itemsHaveChanged) {
370
+ this.sendPreflight();
371
+ }
323
372
  }
324
373
  },
325
374
  remove: (items) => {
@@ -328,10 +377,17 @@ export class Tracker {
328
377
  const itemsToRemove = items.map((item) => item.trim());
329
378
  const updatedItems = currentCartItems.filter((item) => !itemsToRemove.includes(item));
330
379
  cookies.set(CART_PRODUCTS, updatedItems.join(','), COOKIE_SAMESITE, 0);
380
+ const itemsHaveChanged = currentCartItems.length !== updatedItems.length;
381
+ if (itemsHaveChanged) {
382
+ this.sendPreflight();
383
+ }
331
384
  }
332
385
  },
333
386
  clear: () => {
334
- cookies.unset(CART_PRODUCTS);
387
+ if (this.cookies.cart.get().length) {
388
+ cookies.unset(CART_PRODUCTS);
389
+ this.sendPreflight();
390
+ }
335
391
  },
336
392
  },
337
393
  viewed: {
@@ -388,7 +444,7 @@ export class Tracker {
388
444
  }
389
445
  // one targeter to rule them all
390
446
  this.targeters.push(new DomTargeter([{ selector: 'script[type^="searchspring/track/"]', emptyTarget: false }], (target, elem) => {
391
- const { item, items, siteId, shopper, order, type } = getContext(['item', 'items', 'siteId', 'shopper', 'order'], elem);
447
+ const { item, items, siteId, shopper, order, type } = getContext(['item', 'items', 'siteId', 'shopper', 'order', 'type'], elem);
392
448
  switch (type) {
393
449
  case 'searchspring/track/shopper/login':
394
450
  this.track.shopper.login(shopper, siteId);
@@ -403,12 +459,11 @@ export class Tracker {
403
459
  this.track.order.transaction({ order, items }, siteId);
404
460
  break;
405
461
  default:
406
- console.error(`${type} event is not supported or incorrect`);
462
+ console.error(`event '${type}' is not supported`);
407
463
  break;
408
464
  }
409
465
  }));
410
466
  document.addEventListener('click', (event) => {
411
- event.preventDefault();
412
467
  const attributes = {};
413
468
  Object.values(event.target.attributes).forEach((attr) => {
414
469
  attributes[attr.nodeName] = event.target.getAttribute(attr.nodeName);
@@ -120,6 +120,13 @@ export interface ProductClickEvent {
120
120
  export interface CustomBeaconEvent {
121
121
  [key: string]: any;
122
122
  }
123
+ export declare type PreflightRequestModel = {
124
+ userId: string;
125
+ siteId: string;
126
+ shopper?: string;
127
+ cart?: string[];
128
+ lastViewed?: string[];
129
+ };
123
130
  export interface TrackMethods {
124
131
  event: (payload: BeaconPayload) => BeaconEvent;
125
132
  shopper: {
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@searchspring/snap-tracker",
3
- "version": "0.20.3",
3
+ "version": "0.21.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.3",
24
- "@searchspring/snap-toolbox": "^0.20.3",
23
+ "@searchspring/snap-store-mobx": "^0.21.0",
24
+ "@searchspring/snap-toolbox": "^0.21.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": "3db0d4c6801a198b2ef2e23492eaa899f2d33b5c"
32
+ "gitHead": "503b4540ee7a46156f42e55d3bbecd9baf427998"
33
33
  }