@searchspring/snap-store-mobx 0.71.0 → 0.72.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,54 +1,17 @@
1
1
  # Snap MobX Store
2
2
 
3
- <a href="https://www.npmjs.com/package/@searchspring/snap-store-mobx"><img alt="NPM Status" src="https://img.shields.io/npm/v/@searchspring/snap-store-mobx.svg?style=flat"></a>
4
-
5
3
  Management of Snap state using Mobx.
6
4
 
7
- ## Dependency
8
-
9
- Snap Store MobX is a dependency of [@searchspring/snap-controller](https://github.com/searchspring/snap/tree/main/packages/snap-controller) <a href="https://www.npmjs.com/package/@searchspring/snap-controller"><img alt="NPM Status" src="https://img.shields.io/npm/v/@searchspring/snap-controller.svg?style=flat"></a>
10
-
11
- ## Dependencies
12
-
13
- Snap Store MobX requires the following dependencies as services:
14
-
15
- <a href="https://www.npmjs.com/package/@searchspring/snap-url-manager"><img alt="NPM Status" src="https://img.shields.io/npm/v/@searchspring/snap-url-manager.svg?style=flat"></a> [@searchspring/snap-url-manager](https://github.com/searchspring/snap/tree/main/packages/snap-url-manager)
16
-
17
- ## Installation
18
-
19
- ```bash
20
- npm install --save @searchspring/snap-store-mobx
21
- ```
22
-
23
- ## Import
24
- ```typescript
25
- import { AbstractStore, SearchStore, AutocompleteStore, FinderStore, RecommendationStore, StorageStore } from '@searchspring/snap-store-mobx';
26
- ```
27
-
28
- ## Controller usage
29
-
30
- Snap Store MobX is a dependency of Snap Controller which will handle store changes as needed. As such, it is recommended to use methods of the controller to access and update the store.
31
-
32
-
33
- ## Standalone usage
34
-
35
- ```typescript
36
- import { SearchStore } from '@searchspring/snap-store-mobx'
37
- import { UrlManager, UrlTranslator } from '@searchspring/snap-url-manager';
38
-
39
- const searchConfig = {
40
- id: 'search',
41
- globals: {
42
- pagination: {
43
- pageSize: 12
44
- }
45
- }
46
- };
47
-
48
- const store = new SearchStore(searchConfig, { urlManager: new UrlManager(new UrlTranslator()) });
5
+ Although `@searchspring/snap-store-mobx` is published as a standalone package, it is not intended to be used directly. Internally it is a dependency of the `@searchspring/snap-preact` package.
49
6
 
50
- store.update(data);
7
+ Each controller will have a store as a property. For example, the `SearchController` will have a `store` property that is an instance of the `SearchStore`.
51
8
 
52
- // log the store
53
- console.log(store.toJSON());
54
- ```
9
+ See more information on the available stores below:
10
+ - [AbstractStore](https://searchspring.github.io/snap/reference-store-abstract)
11
+ - [SearchStore](https://searchspring.github.io/snap/reference-store-search)
12
+ - [AutocompleteStore](https://searchspring.github.io/snap/reference-store-autocomplete)
13
+ - [RecommendationStore](https://searchspring.github.io/snap/reference-store-recommendation)
14
+ - [FinderStore](https://searchspring.github.io/snap/reference-store-finder)
15
+ - [StorageStore](https://searchspring.github.io/snap/reference-store-storage)
16
+ - [MetaStore](https://searchspring.github.io/snap/reference-store-meta)
17
+ - [CartStore](https://searchspring.github.io/snap/reference-store-cart)
@@ -1 +1 @@
1
- {"version":3,"file":"SearchResultStore.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/SearchResultStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SearchResultStore.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/SearchResultStore.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEX,aAAa,EACb,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,aAAa,EAGb,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACX,yBAAyB,EACzB,6BAA6B,EAC7B,gCAAgC,EAChC,iCAAiC,EACjC,6CAA6C,EAC7C,6CAA6C,EAC7C,iBAAiB,EACjB,MAAM,2BAA2B,CAAC;AAKnC,qBAAa,iBAAkB,SAAQ,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC7D,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAE9C;gBAGA,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,iBAAiB,EAC3B,UAAU,CAAC,EAAE,yBAAyB,EAAE,EACxC,cAAc,CAAC,EAAE,6BAA6B,EAC9C,SAAS,CAAC,EAAE,gCAAgC,EAC5C,MAAM,CAAC,EAAE,OAAO,EAChB,sBAAsB,CAAC,EAAE,6BAA6B,EAAE,yCAAyC;IACjG,eAAe,CAAC,EAAE,CAAC,OAAO,GAAG,MAAM,CAAC,EAAE;CAuFvC;AAED,qBAAa,MAAM;IACX,IAAI,SAAY;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IACzC,QAAQ,EAAE,iCAAiC,CAEhD;IACK,MAAM,KAAM;IACZ,MAAM,EAAE,6CAA6C,CAAC;IACtD,KAAK,EAAE,MAAM,CAAC;gBAET,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,6CAA6C;CAW1F;AAED,MAAM,MAAM,WAAW,GAAG;IACzB,QAAQ,EAAE,iCAAiC,CAAC;IAC5C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,OAAO,EAAE,kBAAkB,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,MAAM,CACtC,MAAM,EACN;IACC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB,CACD,CAAC;AAEF,KAAK,cAAc,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,QAAQ,EAAE,iCAAiC,CAAC;CAC5C,CAAC;AAEF,KAAK,iCAAiC,GAAG;IACxC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACtC,IAAI,EAAE,WAAW,EAAE,CAAC;CACpB,CAAC;AAEF,qBAAa,OAAO;IACZ,IAAI,SAAa;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IACzC,QAAQ,EAAE,iCAAiC,CAEhD;IACK,MAAM,KAAM;IACZ,QAAQ,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAM;IAC7B,MAAM,EAAE,MAAM,CAAC;IAEf,UAAU,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,QAAQ,SAAK;IACb,IAAI,cAAqB;IACzB,QAAQ,CAAC,EAAE,QAAQ,CAAC;gBAG1B,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,yBAAyB,GAAG;QAAE,QAAQ,CAAC,EAAE,iCAAiC,CAAA;KAAE,EACpF,QAAQ,EAAE,iBAAiB,EAC3B,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,YAAY;IAyDtB,IAAW,OAAO,IAAI,cAAc,CAEnC;CACD;AAED,qBAAa,MAAM;IACX,GAAG,EAAE,WAAW,EAAE,CAAM;gBAEnB,MAAM,EAAE,yBAAyB,EAAE,QAAQ,EAAE,iBAAiB;IA2BnE,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,WAAW,EAAE;IAQ9D,IAAW,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAK7C;IAED,IAAW,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,CAQpE;CACD;AAGD,qBAAa,WAAW;IAChB,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAM;;IAQ5B,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC;IAQ5B,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC;IAQ1B,KAAK;CAGZ;AAED,qBAAa,QAAQ;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,OAAO,EAAE,CAAM;IACrB,UAAU,EAAE,gBAAgB,EAAE,CAAM;IACpC,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,OAAO,CAAC,MAAM,CAAC,CAAgB;gBAEnB,WAAW,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAclH,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,MAAM,4BAAc,EAAE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IA6D/F,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAgDjD,gBAAgB,CAAC,aAAa,EAAE,gBAAgB;CA+BvD;AAED,MAAM,MAAM,qBAAqB,GAAG;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,qBAAa,gBAAgB;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,qBAAqB,CAAa;IAC7C,kBAAkB,CAAC,EAAE,qBAAqB,CAAa;IACvD,MAAM,EAAE,qBAAqB,EAAE,CAAM;IAC5C,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,cAAc,CAAa;gBAEvB,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,mBAAmB;IAiBnF,YAAY,CAAC,QAAQ,EAAE,QAAQ;IAgG/B,KAAK;IAKL,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,iBAAiB,UAAQ;CAYtD;AAED,qBAAa,OAAO;IACZ,IAAI,SAAa;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IACzC,OAAO,EAAE,kBAAkB,CAAC;IAE5B,QAAQ,EAAE,iCAAiC,CAEhD;IACK,MAAM,KAAM;gBAEP,WAAW,EAAE,WAAW;CAapC;AAED,cAAM,KAAK;IACH,IAAI,SAAW;IACf,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IACzC,MAAM,KAAM;gBAEP,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,yBAAyB;CAUtE"}
@@ -49,7 +49,7 @@ var SearchResultStore = /** @class */ (function (_super) {
49
49
  function SearchResultStore(config, services, metaData, resultData, paginationData, merchData, loaded, previousPaginationData, // used for infinite scroll functionality
50
50
  previousResults // used for infinite scroll functionality
51
51
  ) {
52
- var _a, _b, _c, _d, _e;
52
+ var _a, _b, _c, _d;
53
53
  var results = (resultData || []).map(function (result, idx) {
54
54
  return new Product(services, result, metaData, idx + 1, config);
55
55
  });
@@ -58,33 +58,52 @@ var SearchResultStore = /** @class */ (function (_super) {
58
58
  if ((_b = variantConfig === null || variantConfig === void 0 ? void 0 : variantConfig.realtime) === null || _b === void 0 ? void 0 : _b.enabled) {
59
59
  // attach click events - ONLY happens once (known limitation)
60
60
  if (!loaded && results.length) {
61
+ var processedSelects_1 = new Set();
61
62
  document.querySelectorAll("[".concat(VARIANT_ATTRIBUTE, "]")).forEach(function (elem) {
62
- var _a;
63
- if ((variantConfig === null || variantConfig === void 0 ? void 0 : variantConfig.field) && !((_a = variantConfig === null || variantConfig === void 0 ? void 0 : variantConfig.realtime) === null || _a === void 0 ? void 0 : _a.enabled) === false) {
64
- elem.addEventListener('click', function () { return variantOptionClick(elem, variantConfig, results); });
63
+ if (elem.tagName == 'OPTION') {
64
+ var parentSelect_1 = elem.closest('select');
65
+ if (parentSelect_1) {
66
+ if (!processedSelects_1.has(parentSelect_1)) {
67
+ processedSelects_1.add(parentSelect_1);
68
+ parentSelect_1.addEventListener('change', function (e) {
69
+ var _a;
70
+ var val = (_a = e.target) === null || _a === void 0 ? void 0 : _a.value;
71
+ var clickedOption = Array.from(parentSelect_1.querySelectorAll("[".concat(VARIANT_ATTRIBUTE, "]"))).filter(function (elem) { return elem.value == val; });
72
+ if (clickedOption.length > 0) {
73
+ variantOptionClick(clickedOption[0], variantConfig, results);
74
+ }
75
+ });
76
+ }
77
+ }
78
+ else {
79
+ console.warn('Warning: unable to add realtime variant event listener for element - ', elem);
80
+ }
81
+ }
82
+ else {
83
+ elem.addEventListener('click', function () {
84
+ variantOptionClick(elem, variantConfig, results);
85
+ });
65
86
  }
66
87
  });
67
88
  }
68
89
  // check for attributes for preselection
69
90
  if (results.length) {
70
- if ((variantConfig === null || variantConfig === void 0 ? void 0 : variantConfig.field) && !((_c = variantConfig === null || variantConfig === void 0 ? void 0 : variantConfig.realtime) === null || _c === void 0 ? void 0 : _c.enabled) === false) {
71
- var options_1 = {};
72
- // grab values from elements on the page to form preselected elements
73
- document.querySelectorAll("[".concat(VARIANT_ATTRIBUTE_SELECTED, "]")).forEach(function (elem) {
74
- var attr = elem.getAttribute(VARIANT_ATTRIBUTE);
75
- if (attr) {
76
- var _a = attr.split(':'), option = _a[0], value = _a[1];
77
- if (option && value) {
78
- options_1[option.toLowerCase()] = [value.toLowerCase()];
79
- }
91
+ var options_1 = {};
92
+ // grab values from elements on the page to form preselected elements
93
+ document.querySelectorAll("[".concat(VARIANT_ATTRIBUTE_SELECTED, "]")).forEach(function (elem) {
94
+ var attr = elem.getAttribute(VARIANT_ATTRIBUTE);
95
+ if (attr) {
96
+ var _a = attr.split(':'), option = _a[0], value = _a[1];
97
+ if (option && value) {
98
+ options_1[option.toLowerCase()] = [value.toLowerCase()];
80
99
  }
81
- });
82
- makeVariantSelections(variantConfig, options_1, results);
83
- }
100
+ }
101
+ });
102
+ makeVariantSelections(variantConfig, options_1, results);
84
103
  }
85
104
  }
86
105
  // only when infinite is enabled
87
- if (((_d = config === null || config === void 0 ? void 0 : config.settings) === null || _d === void 0 ? void 0 : _d.infinite) && previousResults) {
106
+ if (((_c = config === null || config === void 0 ? void 0 : config.settings) === null || _c === void 0 ? void 0 : _c.infinite) && previousResults) {
88
107
  // logic to determine when to concatenate previous results
89
108
  // this logic is not bullet proof, but it is highly unlikely that the current and previous pagination data would ever be sequential unless paginating
90
109
  // TODO: implement "load previous" with a limit to how many total products can be displayed
@@ -94,7 +113,7 @@ var SearchResultStore = /** @class */ (function (_super) {
94
113
  }
95
114
  }
96
115
  // add banners to results - banner data includes ALL banners within the entire search results (even if not on the current page)
97
- if (paginationData && ((_e = merchData === null || merchData === void 0 ? void 0 : merchData.content) === null || _e === void 0 ? void 0 : _e.inline)) {
116
+ if (paginationData && ((_d = merchData === null || merchData === void 0 ? void 0 : merchData.content) === null || _d === void 0 ? void 0 : _d.inline)) {
98
117
  // ensure banners are sorted by index
99
118
  var banners = merchData.content.inline
100
119
  .sort(function (a, b) {
@@ -640,8 +659,13 @@ function variantOptionClick(elem, variantConfig, results) {
640
659
  var attr = elem.getAttribute(VARIANT_ATTRIBUTE);
641
660
  if (attr) {
642
661
  var _a = attr.split(':'), option = _a[0], value = _a[1];
643
- options[option.toLowerCase()] = [value.toLowerCase()];
644
- makeVariantSelections(variantConfig, options, results);
662
+ if (!option || !value) {
663
+ console.error('Error!: realtime variant is missing option or value (option:value)!', elem, attr);
664
+ }
665
+ else {
666
+ options[option.toLowerCase()] = [value.toLowerCase()];
667
+ makeVariantSelections(variantConfig, options, results);
668
+ }
645
669
  }
646
670
  }
647
671
  function makeVariantSelections(variantConfig, options, results) {
@@ -1 +1 @@
1
- {"version":3,"file":"SearchResultStore.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/SearchResultStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SearchResultStore.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/SearchResultStore.ts"],"names":[],"mappings":"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"}
@@ -18,28 +18,47 @@ export class SearchResultStore extends Array {
18
18
  if (variantConfig?.realtime?.enabled) {
19
19
  // attach click events - ONLY happens once (known limitation)
20
20
  if (!loaded && results.length) {
21
+ const processedSelects = new Set();
21
22
  document.querySelectorAll(`[${VARIANT_ATTRIBUTE}]`).forEach((elem) => {
22
- if (variantConfig?.field && !variantConfig?.realtime?.enabled === false) {
23
- elem.addEventListener('click', () => variantOptionClick(elem, variantConfig, results));
23
+ if (elem.tagName == 'OPTION') {
24
+ const parentSelect = elem.closest('select');
25
+ if (parentSelect) {
26
+ if (!processedSelects.has(parentSelect)) {
27
+ processedSelects.add(parentSelect);
28
+ parentSelect.addEventListener('change', (e) => {
29
+ const val = e.target?.value;
30
+ const clickedOption = Array.from(parentSelect.querySelectorAll(`[${VARIANT_ATTRIBUTE}]`)).filter((elem) => elem.value == val);
31
+ if (clickedOption.length > 0) {
32
+ variantOptionClick(clickedOption[0], variantConfig, results);
33
+ }
34
+ });
35
+ }
36
+ }
37
+ else {
38
+ console.warn('Warning: unable to add realtime variant event listener for element - ', elem);
39
+ }
40
+ }
41
+ else {
42
+ elem.addEventListener('click', () => {
43
+ variantOptionClick(elem, variantConfig, results);
44
+ });
24
45
  }
25
46
  });
26
47
  }
27
48
  // check for attributes for preselection
28
49
  if (results.length) {
29
- if (variantConfig?.field && !variantConfig?.realtime?.enabled === false) {
30
- const options = {};
31
- // grab values from elements on the page to form preselected elements
32
- document.querySelectorAll(`[${VARIANT_ATTRIBUTE_SELECTED}]`).forEach((elem) => {
33
- const attr = elem.getAttribute(VARIANT_ATTRIBUTE);
34
- if (attr) {
35
- const [option, value] = attr.split(':');
36
- if (option && value) {
37
- options[option.toLowerCase()] = [value.toLowerCase()];
38
- }
50
+ const options = {};
51
+ // grab values from elements on the page to form preselected elements
52
+ document.querySelectorAll(`[${VARIANT_ATTRIBUTE_SELECTED}]`).forEach((elem) => {
53
+ const attr = elem.getAttribute(VARIANT_ATTRIBUTE);
54
+ if (attr) {
55
+ const [option, value] = attr.split(':');
56
+ if (option && value) {
57
+ options[option.toLowerCase()] = [value.toLowerCase()];
39
58
  }
40
- });
41
- makeVariantSelections(variantConfig, options, results);
42
- }
59
+ }
60
+ });
61
+ makeVariantSelections(variantConfig, options, results);
43
62
  }
44
63
  }
45
64
  // only when infinite is enabled
@@ -549,8 +568,13 @@ function variantOptionClick(elem, variantConfig, results) {
549
568
  const attr = elem.getAttribute(VARIANT_ATTRIBUTE);
550
569
  if (attr) {
551
570
  const [option, value] = attr.split(':');
552
- options[option.toLowerCase()] = [value.toLowerCase()];
553
- makeVariantSelections(variantConfig, options, results);
571
+ if (!option || !value) {
572
+ console.error('Error!: realtime variant is missing option or value (option:value)!', elem, attr);
573
+ }
574
+ else {
575
+ options[option.toLowerCase()] = [value.toLowerCase()];
576
+ makeVariantSelections(variantConfig, options, results);
577
+ }
554
578
  }
555
579
  }
556
580
  function makeVariantSelections(variantConfig, options, results) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@searchspring/snap-store-mobx",
3
- "version": "0.71.0",
3
+ "version": "0.72.1",
4
4
  "description": "Snap MobX Store",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -20,16 +20,16 @@
20
20
  "test:watch": "jest --watch"
21
21
  },
22
22
  "dependencies": {
23
- "@searchspring/snap-toolbox": "0.71.0",
23
+ "@searchspring/snap-toolbox": "0.72.1",
24
24
  "mobx": "6.9.0"
25
25
  },
26
26
  "devDependencies": {
27
- "@searchspring/snap-client": "0.71.0",
28
- "@searchspring/snap-url-manager": "0.71.0"
27
+ "@searchspring/snap-client": "0.72.1",
28
+ "@searchspring/snap-url-manager": "0.72.1"
29
29
  },
30
30
  "sideEffects": false,
31
31
  "files": [
32
32
  "dist/**/*"
33
33
  ],
34
- "gitHead": "86eb6dec8c57def5b869157dc00bbb9b6e793619"
34
+ "gitHead": "907fc94dca17369d89e7aa9d60bbe1acdf05a3a7"
35
35
  }