@searchspring/snap-store-mobx 0.27.7 → 0.27.8

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.
Files changed (125) hide show
  1. package/dist/cjs/Abstract/AbstractStore.d.ts +3 -4
  2. package/dist/cjs/Abstract/AbstractStore.d.ts.map +1 -1
  3. package/dist/cjs/Abstract/AbstractStore.js +0 -1
  4. package/dist/cjs/Autocomplete/AutocompleteStore.d.ts +8 -7
  5. package/dist/cjs/Autocomplete/AutocompleteStore.d.ts.map +1 -1
  6. package/dist/cjs/Autocomplete/AutocompleteStore.js +17 -16
  7. package/dist/cjs/Autocomplete/Stores/QueryStore.d.ts +3 -3
  8. package/dist/cjs/Autocomplete/Stores/QueryStore.d.ts.map +1 -1
  9. package/dist/cjs/Autocomplete/Stores/QueryStore.js +1 -1
  10. package/dist/cjs/Autocomplete/Stores/StateStore.d.ts +1 -1
  11. package/dist/cjs/Autocomplete/Stores/StateStore.d.ts.map +1 -1
  12. package/dist/cjs/Autocomplete/Stores/TermStore.d.ts +1 -1
  13. package/dist/cjs/Autocomplete/Stores/TermStore.d.ts.map +1 -1
  14. package/dist/cjs/Autocomplete/Stores/TrendingStore.d.ts +4 -2
  15. package/dist/cjs/Autocomplete/Stores/TrendingStore.d.ts.map +1 -1
  16. package/dist/cjs/Autocomplete/Stores/TrendingStore.js +2 -2
  17. package/dist/cjs/Finder/FinderStore.d.ts +2 -1
  18. package/dist/cjs/Finder/FinderStore.d.ts.map +1 -1
  19. package/dist/cjs/Finder/FinderStore.js +7 -7
  20. package/dist/cjs/Finder/Stores/SelectionStore.d.ts +43 -4
  21. package/dist/cjs/Finder/Stores/SelectionStore.d.ts.map +1 -1
  22. package/dist/cjs/Finder/Stores/SelectionStore.js +10 -9
  23. package/dist/cjs/Recommendation/RecommendationStore.d.ts +2 -1
  24. package/dist/cjs/Recommendation/RecommendationStore.d.ts.map +1 -1
  25. package/dist/cjs/Recommendation/RecommendationStore.js +4 -4
  26. package/dist/cjs/Recommendation/Stores/ProfileStore.d.ts +2 -1
  27. package/dist/cjs/Recommendation/Stores/ProfileStore.d.ts.map +1 -1
  28. package/dist/cjs/Recommendation/Stores/ProfileStore.js +6 -5
  29. package/dist/cjs/Search/SearchStore.d.ts +3 -3
  30. package/dist/cjs/Search/SearchStore.d.ts.map +1 -1
  31. package/dist/cjs/Search/SearchStore.js +24 -8
  32. package/dist/cjs/Search/Stores/FacetStore.d.ts +70 -1
  33. package/dist/cjs/Search/Stores/FacetStore.d.ts.map +1 -1
  34. package/dist/cjs/Search/Stores/FacetStore.js +36 -30
  35. package/dist/cjs/Search/Stores/FilterStore.d.ts +30 -2
  36. package/dist/cjs/Search/Stores/FilterStore.d.ts.map +1 -1
  37. package/dist/cjs/Search/Stores/FilterStore.js +30 -33
  38. package/dist/cjs/Search/Stores/MerchandisingStore.d.ts +4 -4
  39. package/dist/cjs/Search/Stores/MerchandisingStore.d.ts.map +1 -1
  40. package/dist/cjs/Search/Stores/MerchandisingStore.js +1 -1
  41. package/dist/cjs/Search/Stores/PaginationStore.d.ts +3 -4
  42. package/dist/cjs/Search/Stores/PaginationStore.d.ts.map +1 -1
  43. package/dist/cjs/Search/Stores/PaginationStore.js +2 -1
  44. package/dist/cjs/Search/Stores/QueryStore.d.ts +4 -4
  45. package/dist/cjs/Search/Stores/QueryStore.d.ts.map +1 -1
  46. package/dist/cjs/Search/Stores/ResultStore.d.ts +30 -3
  47. package/dist/cjs/Search/Stores/ResultStore.d.ts.map +1 -1
  48. package/dist/cjs/Search/Stores/ResultStore.js +4 -2
  49. package/dist/cjs/Search/Stores/SortingStore.d.ts +7 -3
  50. package/dist/cjs/Search/Stores/SortingStore.d.ts.map +1 -1
  51. package/dist/cjs/Search/Stores/SortingStore.js +4 -5
  52. package/dist/cjs/Search/Stores/index.d.ts +1 -1
  53. package/dist/cjs/Search/Stores/index.d.ts.map +1 -1
  54. package/dist/cjs/Search/Stores/index.js +2 -1
  55. package/dist/cjs/Storage/StorageStore.d.ts +6 -6
  56. package/dist/cjs/Storage/StorageStore.d.ts.map +1 -1
  57. package/dist/cjs/Storage/StorageStore.js +7 -5
  58. package/dist/cjs/index.d.ts +1 -0
  59. package/dist/cjs/index.d.ts.map +1 -1
  60. package/dist/cjs/index.js +5 -1
  61. package/dist/cjs/types.d.ts +3 -3
  62. package/dist/cjs/types.d.ts.map +1 -1
  63. package/dist/esm/Abstract/AbstractStore.d.ts +3 -4
  64. package/dist/esm/Abstract/AbstractStore.d.ts.map +1 -1
  65. package/dist/esm/Abstract/AbstractStore.js +0 -1
  66. package/dist/esm/Autocomplete/AutocompleteStore.d.ts +8 -7
  67. package/dist/esm/Autocomplete/AutocompleteStore.d.ts.map +1 -1
  68. package/dist/esm/Autocomplete/AutocompleteStore.js +16 -17
  69. package/dist/esm/Autocomplete/Stores/QueryStore.d.ts +3 -3
  70. package/dist/esm/Autocomplete/Stores/QueryStore.d.ts.map +1 -1
  71. package/dist/esm/Autocomplete/Stores/QueryStore.js +1 -1
  72. package/dist/esm/Autocomplete/Stores/StateStore.d.ts +1 -1
  73. package/dist/esm/Autocomplete/Stores/StateStore.d.ts.map +1 -1
  74. package/dist/esm/Autocomplete/Stores/TermStore.d.ts +1 -1
  75. package/dist/esm/Autocomplete/Stores/TermStore.d.ts.map +1 -1
  76. package/dist/esm/Autocomplete/Stores/TrendingStore.d.ts +4 -2
  77. package/dist/esm/Autocomplete/Stores/TrendingStore.d.ts.map +1 -1
  78. package/dist/esm/Autocomplete/Stores/TrendingStore.js +1 -1
  79. package/dist/esm/Finder/FinderStore.d.ts +2 -1
  80. package/dist/esm/Finder/FinderStore.d.ts.map +1 -1
  81. package/dist/esm/Finder/FinderStore.js +5 -5
  82. package/dist/esm/Finder/Stores/SelectionStore.d.ts +47 -4
  83. package/dist/esm/Finder/Stores/SelectionStore.d.ts.map +1 -1
  84. package/dist/esm/Finder/Stores/SelectionStore.js +8 -8
  85. package/dist/esm/Recommendation/RecommendationStore.d.ts +2 -1
  86. package/dist/esm/Recommendation/RecommendationStore.d.ts.map +1 -1
  87. package/dist/esm/Recommendation/RecommendationStore.js +4 -4
  88. package/dist/esm/Recommendation/Stores/ProfileStore.d.ts +2 -1
  89. package/dist/esm/Recommendation/Stores/ProfileStore.d.ts.map +1 -1
  90. package/dist/esm/Recommendation/Stores/ProfileStore.js +5 -5
  91. package/dist/esm/Search/SearchStore.d.ts +3 -3
  92. package/dist/esm/Search/SearchStore.d.ts.map +1 -1
  93. package/dist/esm/Search/SearchStore.js +24 -9
  94. package/dist/esm/Search/Stores/FacetStore.d.ts +71 -2
  95. package/dist/esm/Search/Stores/FacetStore.d.ts.map +1 -1
  96. package/dist/esm/Search/Stores/FacetStore.js +29 -28
  97. package/dist/esm/Search/Stores/FilterStore.d.ts +31 -3
  98. package/dist/esm/Search/Stores/FilterStore.d.ts.map +1 -1
  99. package/dist/esm/Search/Stores/FilterStore.js +28 -35
  100. package/dist/esm/Search/Stores/MerchandisingStore.d.ts +4 -4
  101. package/dist/esm/Search/Stores/MerchandisingStore.d.ts.map +1 -1
  102. package/dist/esm/Search/Stores/MerchandisingStore.js +1 -1
  103. package/dist/esm/Search/Stores/PaginationStore.d.ts +3 -4
  104. package/dist/esm/Search/Stores/PaginationStore.d.ts.map +1 -1
  105. package/dist/esm/Search/Stores/PaginationStore.js +2 -2
  106. package/dist/esm/Search/Stores/QueryStore.d.ts +4 -4
  107. package/dist/esm/Search/Stores/QueryStore.d.ts.map +1 -1
  108. package/dist/esm/Search/Stores/ResultStore.d.ts +30 -3
  109. package/dist/esm/Search/Stores/ResultStore.d.ts.map +1 -1
  110. package/dist/esm/Search/Stores/ResultStore.js +3 -5
  111. package/dist/esm/Search/Stores/SortingStore.d.ts +7 -3
  112. package/dist/esm/Search/Stores/SortingStore.d.ts.map +1 -1
  113. package/dist/esm/Search/Stores/SortingStore.js +4 -5
  114. package/dist/esm/Search/Stores/index.d.ts +1 -1
  115. package/dist/esm/Search/Stores/index.d.ts.map +1 -1
  116. package/dist/esm/Search/Stores/index.js +1 -1
  117. package/dist/esm/Storage/StorageStore.d.ts +6 -6
  118. package/dist/esm/Storage/StorageStore.d.ts.map +1 -1
  119. package/dist/esm/Storage/StorageStore.js +7 -5
  120. package/dist/esm/index.d.ts +1 -0
  121. package/dist/esm/index.d.ts.map +1 -1
  122. package/dist/esm/index.js +1 -0
  123. package/dist/esm/types.d.ts +3 -3
  124. package/dist/esm/types.d.ts.map +1 -1
  125. package/package.json +6 -5
@@ -26,13 +26,12 @@ var SearchStore = /** @class */ (function (_super) {
26
26
  var _this = this;
27
27
  var _a;
28
28
  _this = _super.call(this, config) || this;
29
- _this.meta = {};
30
29
  if (typeof services != 'object' || typeof ((_a = services.urlManager) === null || _a === void 0 ? void 0 : _a.subscribe) != 'function') {
31
30
  throw new Error("Invalid service 'urlManager' passed to SearchStore. Missing \"subscribe\" function.");
32
31
  }
33
32
  _this.services = services;
34
33
  _this.storage = new StorageStore_1.StorageStore();
35
- _this.update({ meta: _this.meta });
34
+ _this.update();
36
35
  (0, mobx_1.makeObservable)(_this, {
37
36
  search: mobx_1.observable,
38
37
  merchandising: mobx_1.observable,
@@ -44,18 +43,35 @@ var SearchStore = /** @class */ (function (_super) {
44
43
  });
45
44
  return _this;
46
45
  }
46
+ /*
47
+ TODO: refactor sub-store interfaces
48
+
49
+ interface StoreParameters {
50
+ config?: StoreConfigs;
51
+ services?: StoreServices;
52
+ stores?: {
53
+ storage?: StorageStore;
54
+ state?: StateStore;
55
+ };
56
+ data?: SearchResponseModel & { meta: MetaResponseModel };
57
+ }
58
+ */
59
+ SearchStore.prototype.reset = function () {
60
+ this.update();
61
+ };
47
62
  SearchStore.prototype.update = function (data) {
63
+ if (data === void 0) { data = {}; }
48
64
  this.error = undefined;
49
65
  this.data = JSON.parse(JSON.stringify(data));
50
66
  this.loaded = !!data.pagination;
51
- this.meta = data.meta;
52
- this.merchandising = new Stores_1.MerchandisingStore(this.services, data.merchandising);
53
- this.search = new Stores_1.QueryStore(this.services, data.search);
54
- this.facets = new Stores_1.FacetStore(this.config, this.services, this.storage, data.facets, data.pagination, this.meta);
67
+ this.meta = data.meta || {};
68
+ this.merchandising = new Stores_1.MerchandisingStore(this.services, (data === null || data === void 0 ? void 0 : data.merchandising) || {});
69
+ this.search = new Stores_1.QueryStore(this.services, (data === null || data === void 0 ? void 0 : data.search) || {});
70
+ this.facets = new Stores_1.FacetStore(this.config, this.services, this.storage, data.facets, (data === null || data === void 0 ? void 0 : data.pagination) || {}, this.meta);
55
71
  this.filters = new Stores_1.FilterStore(this.services, data.filters, this.meta);
56
- this.results = new Stores_1.ResultStore(this.config, this.services, data.results, data.pagination, data.merchandising);
72
+ this.results = new Stores_1.ResultStore(this.config, this.services, (data === null || data === void 0 ? void 0 : data.results) || [], data.pagination, data.merchandising);
57
73
  this.pagination = new Stores_1.PaginationStore(this.config, this.services, data.pagination);
58
- this.sorting = new Stores_1.SortingStore(this.services, data.sorting, data.search, this.meta);
74
+ this.sorting = new Stores_1.SortingStore(this.services, (data === null || data === void 0 ? void 0 : data.sorting) || [], (data === null || data === void 0 ? void 0 : data.search) || {}, this.meta);
59
75
  };
60
76
  return SearchStore;
61
77
  }(AbstractStore_1.AbstractStore));
@@ -1,8 +1,77 @@
1
+ import type { UrlManager } from '@searchspring/snap-url-manager';
1
2
  import type { StorageStore } from '../../Storage/StorageStore';
2
3
  import type { AutocompleteStoreConfig, SearchStoreConfig, StoreServices } from '../../types';
3
- import type { MetaResponseModel, SearchResponseModelPagination, SearchResponseModelFacet } from '@searchspring/snapi-types';
4
+ import type { MetaResponseModel, MetaResponseModelFacet, MetaResponseModelFacetSlider, MetaResponseModelFacetValueMultipleEnum, MetaResponseModelFacetHierarchyAllOf, SearchResponseModelPagination, SearchResponseModelFacet, SearchResponseModelFacetRange, SearchResponseModelFacetValue, SearchResponseModelFacetValueAllOfValues, SearchRequestModelFilterRangeAllOfValue } from '@searchspring/snapi-types';
4
5
  export declare class FacetStore extends Array {
5
6
  static get [Symbol.species](): ArrayConstructor;
6
7
  constructor(config: SearchStoreConfig | AutocompleteStoreConfig, services: StoreServices, storage: StorageStore, facetsData: SearchResponseModelFacet[], pagination: SearchResponseModelPagination, meta: MetaResponseModel);
7
8
  }
9
+ declare class Facet {
10
+ services: StoreServices;
11
+ type: string;
12
+ field: string;
13
+ filtered: boolean;
14
+ custom: {};
15
+ collapsed: boolean;
16
+ display: string;
17
+ label: string;
18
+ storage: StorageStore;
19
+ constructor(services: StoreServices, storage: StorageStore, facet: SearchResponseModelFacetValue | SearchResponseModelFacetRange, facetMeta: MetaResponseModelFacet);
20
+ get clear(): {
21
+ url: UrlManager;
22
+ };
23
+ toggleCollapse(): void;
24
+ }
25
+ export declare class RangeFacet extends Facet {
26
+ step?: number;
27
+ range?: SearchRequestModelFilterRangeAllOfValue;
28
+ active?: SearchRequestModelFilterRangeAllOfValue;
29
+ formatSeparator: string;
30
+ formatValue: string;
31
+ constructor(config: SearchStoreConfig | AutocompleteStoreConfig, services: StoreServices, storage: StorageStore, facet: SearchResponseModelFacetRange, facetMeta: MetaResponseModelFacetSlider);
32
+ }
33
+ export declare class ValueFacet extends Facet {
34
+ values: Array<HierarchyValue | Value | RangeValue | undefined>;
35
+ search: {
36
+ input: string;
37
+ };
38
+ multiple: MetaResponseModelFacetValueMultipleEnum;
39
+ overflow: {
40
+ enabled: boolean;
41
+ limited: boolean;
42
+ limit: number;
43
+ remaining: number | undefined;
44
+ setLimit: (limit: number) => void;
45
+ toggle: (val?: boolean) => void;
46
+ calculate: () => void;
47
+ };
48
+ constructor(config: SearchStoreConfig | AutocompleteStoreConfig, services: StoreServices, storage: StorageStore, facet: SearchResponseModelFacetValue, facetMeta: MetaResponseModelFacet);
49
+ get refinedValues(): (HierarchyValue | Value | RangeValue)[];
50
+ }
51
+ export declare class Value {
52
+ label: string;
53
+ count: number;
54
+ filtered: boolean;
55
+ value: string;
56
+ custom: {};
57
+ url: UrlManager;
58
+ preview?: () => void;
59
+ constructor(services: StoreServices, facet: ValueFacet, value: SearchResponseModelFacetValueAllOfValues);
60
+ }
61
+ export declare class HierarchyValue extends Value {
62
+ level: number;
63
+ history: boolean;
64
+ constructor(services: StoreServices, facet: ValueFacet & MetaResponseModelFacetHierarchyAllOf, value: SearchResponseModelFacetValueAllOfValues, filteredValues: SearchResponseModelFacetValueAllOfValues[]);
65
+ }
66
+ export declare class RangeValue {
67
+ label: string;
68
+ count: number;
69
+ filtered: boolean;
70
+ low: number;
71
+ high: number;
72
+ custom: {};
73
+ url: UrlManager;
74
+ constructor(services: StoreServices, facet: ValueFacet, value: SearchResponseModelFacetValueAllOfValues);
75
+ }
76
+ export {};
8
77
  //# sourceMappingURL=FacetStore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FacetStore.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/FacetStore.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC7F,OAAO,KAAK,EACX,iBAAiB,EAMjB,6BAA6B,EAC7B,wBAAwB,EAMxB,MAAM,2BAA2B,CAAC;AAEnC,qBAAa,UAAW,SAAQ,KAAK;IACpC,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAE9C;gBAEA,MAAM,EAAE,iBAAiB,GAAG,uBAAuB,EACnD,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,YAAY,EACrB,UAAU,EAAE,wBAAwB,EAAO,EAC3C,UAAU,EAAE,6BAA6B,EACzC,IAAI,EAAE,iBAAiB;CA8CxB"}
1
+ {"version":3,"file":"FacetStore.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/FacetStore.ts"],"names":[],"mappings":"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"}
@@ -15,16 +15,17 @@ var __extends = (this && this.__extends) || (function () {
15
15
  };
16
16
  })();
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.FacetStore = void 0;
18
+ exports.RangeValue = exports.HierarchyValue = exports.Value = exports.ValueFacet = exports.RangeFacet = exports.FacetStore = void 0;
19
19
  var mobx_1 = require("mobx");
20
20
  var FacetStore = /** @class */ (function (_super) {
21
21
  __extends(FacetStore, _super);
22
22
  function FacetStore(config, services, storage, facetsData, pagination, meta) {
23
23
  if (facetsData === void 0) { facetsData = []; }
24
+ if (pagination === void 0) { pagination = {}; }
24
25
  var facets = facetsData
25
26
  .filter(function (facet) {
26
- var _a, _b, _c, _d, _e, _f, _g, _h;
27
- var facetMeta = meta.facets[facet.field];
27
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
28
+ var facetMeta = facet.field && meta.facets && meta.facets[facet.field];
28
29
  // exclude facets that have no meta data
29
30
  if (!facetMeta)
30
31
  return false;
@@ -33,30 +34,31 @@ var FacetStore = /** @class */ (function (_super) {
33
34
  return false;
34
35
  }
35
36
  // trim facets - remove facets that have no use
36
- var facetConfig = ((_b = (_a = config.settings) === null || _a === void 0 ? void 0 : _a.facets) === null || _b === void 0 ? void 0 : _b.fields) && ((_d = (_c = config.settings) === null || _c === void 0 ? void 0 : _c.facets) === null || _d === void 0 ? void 0 : _d.fields[facet.field]);
37
+ var facetConfig = ((_b = (_a = config.settings) === null || _a === void 0 ? void 0 : _a.facets) === null || _b === void 0 ? void 0 : _b.fields) && facet.field && ((_d = (_c = config.settings) === null || _c === void 0 ? void 0 : _c.facets) === null || _d === void 0 ? void 0 : _d.fields[facet.field]);
37
38
  var shouldTrim = typeof (facetConfig === null || facetConfig === void 0 ? void 0 : facetConfig.trim) == 'boolean' ? facetConfig.trim : (_f = (_e = config.settings) === null || _e === void 0 ? void 0 : _e.facets) === null || _f === void 0 ? void 0 : _f.trim;
38
39
  if (shouldTrim) {
39
- if (facet.type === 'range' && facet.range.low == facet.range.high) {
40
+ if (facet.type === 'range' &&
41
+ ((_g = facet === null || facet === void 0 ? void 0 : facet.range) === null || _g === void 0 ? void 0 : _g.low) == ((_h = facet === null || facet === void 0 ? void 0 : facet.range) === null || _h === void 0 ? void 0 : _h.high)) {
40
42
  return false;
41
43
  }
42
- else if (((_g = facet.values) === null || _g === void 0 ? void 0 : _g.length) == 0) {
44
+ else if (((_j = facet.values) === null || _j === void 0 ? void 0 : _j.length) == 0) {
43
45
  return false;
44
46
  }
45
- else if (!facet.filtered && ((_h = facet.values) === null || _h === void 0 ? void 0 : _h.length) == 1) {
47
+ else if (!facet.filtered && ((_k = facet.values) === null || _k === void 0 ? void 0 : _k.length) == 1) {
46
48
  return facet.values[0].count != pagination.totalResults;
47
49
  }
48
50
  }
49
51
  return true;
50
52
  })
51
53
  .map(function (facet) {
52
- var facetMeta = meta.facets[facet.field];
54
+ var facetMeta = facet.field && meta.facets && meta.facets[facet.field];
53
55
  switch (facet.type) {
54
56
  case 'range':
55
- return new RangeFacet(config, services, storage, facet, facetMeta);
57
+ return new RangeFacet(config, services, storage, facet, facetMeta || {});
56
58
  case 'value':
57
59
  case 'range-buckets':
58
60
  default:
59
- return new ValueFacet(config, services, storage, facet, facetMeta);
61
+ return new ValueFacet(config, services, storage, facet, facetMeta || {});
60
62
  }
61
63
  });
62
64
  return _super.apply(this, facets) || this;
@@ -100,9 +102,8 @@ var Facet = /** @class */ (function () {
100
102
  }
101
103
  Object.defineProperty(Facet.prototype, "clear", {
102
104
  get: function () {
103
- var _a, _b;
104
105
  return {
105
- url: (_b = (_a = this.services) === null || _a === void 0 ? void 0 : _a.urlManager) === null || _b === void 0 ? void 0 : _b.remove('page').remove("filter.".concat(this.field)),
106
+ url: this.services.urlManager.remove('page').remove("filter.".concat(this.field)),
106
107
  };
107
108
  },
108
109
  enumerable: false,
@@ -118,7 +119,7 @@ var RangeFacet = /** @class */ (function (_super) {
118
119
  __extends(RangeFacet, _super);
119
120
  function RangeFacet(config, services, storage, facet, facetMeta) {
120
121
  var _this = this;
121
- var _a, _b, _c, _d, _e, _f;
122
+ var _a, _b, _c, _d, _e, _f, _g, _h;
122
123
  _this = _super.call(this, services, storage, facet, facetMeta) || this;
123
124
  _this.range = {
124
125
  low: 0,
@@ -128,11 +129,11 @@ var RangeFacet = /** @class */ (function (_super) {
128
129
  low: 0,
129
130
  high: 0,
130
131
  };
131
- _this.step = facet.step;
132
- var facetConfig = ((_b = (_a = config.settings) === null || _a === void 0 ? void 0 : _a.facets) === null || _b === void 0 ? void 0 : _b.fields) && ((_d = (_c = config.settings) === null || _c === void 0 ? void 0 : _c.facets) === null || _d === void 0 ? void 0 : _d.fields[facet.field]);
132
+ _this.step = facet === null || facet === void 0 ? void 0 : facet.step;
133
+ var facetConfig = (((_b = (_a = config.settings) === null || _a === void 0 ? void 0 : _a.facets) === null || _b === void 0 ? void 0 : _b.fields) && facet.field && ((_d = (_c = config.settings) === null || _c === void 0 ? void 0 : _c.facets) === null || _d === void 0 ? void 0 : _d.fields[facet.field])) || {};
133
134
  var shouldStore = typeof (facetConfig === null || facetConfig === void 0 ? void 0 : facetConfig.storeRange) == 'boolean' ? facetConfig.storeRange : (_f = (_e = config.settings) === null || _e === void 0 ? void 0 : _e.facets) === null || _f === void 0 ? void 0 : _f.storeRange;
134
135
  var storedRange = shouldStore && _this.storage.get("facets.".concat(_this.field, ".range"));
135
- if (storedRange && facet.filtered && (facet.range.low > storedRange.low || facet.range.high < storedRange.high)) {
136
+ if (storedRange && facet.filtered && (((_g = facet.range) === null || _g === void 0 ? void 0 : _g.low) > storedRange.low || ((_h = facet.range) === null || _h === void 0 ? void 0 : _h.high) < storedRange.high)) {
136
137
  // range from API has shrunk
137
138
  _this.range = _this.storage.get("facets.".concat(_this.field, ".range"));
138
139
  }
@@ -156,6 +157,7 @@ var RangeFacet = /** @class */ (function (_super) {
156
157
  }
157
158
  return RangeFacet;
158
159
  }(Facet));
160
+ exports.RangeFacet = RangeFacet;
159
161
  var ValueFacet = /** @class */ (function (_super) {
160
162
  __extends(ValueFacet, _super);
161
163
  function ValueFacet(config, services, storage, facet, facetMeta) {
@@ -210,15 +212,16 @@ var ValueFacet = /** @class */ (function (_super) {
210
212
  _this.values =
211
213
  (facet.values &&
212
214
  facet.values.map(function (value) {
215
+ var _a, _b;
213
216
  switch (facet.type) {
214
217
  case 'value':
215
218
  if (facetMeta.display === 'hierarchy') {
216
- var filteredValues = facet.values.filter(function (value) { return value.filtered; });
219
+ var filteredValues = ((_a = facet === null || facet === void 0 ? void 0 : facet.values) === null || _a === void 0 ? void 0 : _a.filter(function (value) { return value.filtered; })) || [];
217
220
  return new HierarchyValue(services, _this, value, filteredValues);
218
221
  }
219
222
  else {
220
223
  // converting values to strings to ensure UrlManager state matches state created from URL
221
- value.value = value.value.toString();
224
+ value.value = (_b = value === null || value === void 0 ? void 0 : value.value) === null || _b === void 0 ? void 0 : _b.toString();
222
225
  return new Value(services, _this, value);
223
226
  }
224
227
  case 'range-buckets':
@@ -226,7 +229,7 @@ var ValueFacet = /** @class */ (function (_super) {
226
229
  }
227
230
  })) ||
228
231
  [];
229
- var facetConfig = ((_b = (_a = config.settings) === null || _a === void 0 ? void 0 : _a.facets) === null || _b === void 0 ? void 0 : _b.fields) && ((_d = (_c = config.settings) === null || _c === void 0 ? void 0 : _c.facets) === null || _d === void 0 ? void 0 : _d.fields[facet.field]);
232
+ var facetConfig = (((_b = (_a = config.settings) === null || _a === void 0 ? void 0 : _a.facets) === null || _b === void 0 ? void 0 : _b.fields) && facet.field && ((_d = (_c = config.settings) === null || _c === void 0 ? void 0 : _c.facets) === null || _d === void 0 ? void 0 : _d.fields[facet.field])) || {};
230
233
  var shouldPin = typeof (facetConfig === null || facetConfig === void 0 ? void 0 : facetConfig.pinFiltered) == 'boolean' ? facetConfig.pinFiltered : (_f = (_e = config.settings) === null || _e === void 0 ? void 0 : _e.facets) === null || _f === void 0 ? void 0 : _f.pinFiltered;
231
234
  if (shouldPin && facetMeta.display !== 'hierarchy') {
232
235
  _this.values.sort(function (a, b) { return Number(b.filtered) - Number(a.filtered); });
@@ -252,7 +255,7 @@ var ValueFacet = /** @class */ (function (_super) {
252
255
  var values = this.values || [];
253
256
  if (this.search.input) {
254
257
  var search_1 = new RegExp(escapeRegExp(this.search.input), 'i');
255
- values = this.values.filter(function (value) { return String(value.label).match(search_1); });
258
+ values = this.values.filter(function (value) { return String((value === null || value === void 0 ? void 0 : value.label) || '').match(search_1); });
256
259
  }
257
260
  if (this.overflow.enabled && this.overflow.limited) {
258
261
  values = values.slice(0, this.overflow.limit);
@@ -264,15 +267,15 @@ var ValueFacet = /** @class */ (function (_super) {
264
267
  });
265
268
  return ValueFacet;
266
269
  }(Facet));
270
+ exports.ValueFacet = ValueFacet;
267
271
  var Value = /** @class */ (function () {
268
272
  function Value(services, facet, value) {
269
- var _a, _b;
270
273
  Object.assign(this, value);
271
274
  if (this.filtered) {
272
- this.url = (_a = services.urlManager) === null || _a === void 0 ? void 0 : _a.remove('page').remove("filter.".concat(facet.field), value.value);
275
+ this.url = services.urlManager.remove('page').remove("filter.".concat(facet.field), value.value);
273
276
  }
274
277
  else {
275
- var valueUrl = (_b = services.urlManager) === null || _b === void 0 ? void 0 : _b.remove('page');
278
+ var valueUrl = services.urlManager.remove('page');
276
279
  if (facet.multiple == 'single') {
277
280
  valueUrl = valueUrl === null || valueUrl === void 0 ? void 0 : valueUrl.remove("filter.".concat(facet.field));
278
281
  }
@@ -281,11 +284,12 @@ var Value = /** @class */ (function () {
281
284
  }
282
285
  return Value;
283
286
  }());
287
+ exports.Value = Value;
284
288
  var HierarchyValue = /** @class */ (function (_super) {
285
289
  __extends(HierarchyValue, _super);
286
290
  function HierarchyValue(services, facet, value, filteredValues) {
287
291
  var _this = this;
288
- var _a, _b;
292
+ var _a;
289
293
  _this = _super.call(this, services, facet, value) || this;
290
294
  _this.level = 0;
291
295
  _this.history = false;
@@ -293,29 +297,30 @@ var HierarchyValue = /** @class */ (function (_super) {
293
297
  _this.level = value.value.split(facet.hierarchyDelimiter).length;
294
298
  }
295
299
  if (facet.filtered && (filteredValues === null || filteredValues === void 0 ? void 0 : filteredValues.length)) {
296
- var filteredLevel = filteredValues[0].value.split(facet.hierarchyDelimiter).length;
297
- if (_this.level <= filteredLevel) {
300
+ var filteredLevel = (facet === null || facet === void 0 ? void 0 : facet.hierarchyDelimiter) && ((_a = filteredValues[0].value) === null || _a === void 0 ? void 0 : _a.split(facet.hierarchyDelimiter).length);
301
+ if (filteredLevel && _this.level <= filteredLevel) {
298
302
  _this.history = true;
299
303
  }
300
304
  }
301
305
  if (value.value) {
302
- _this.url = (_a = services === null || services === void 0 ? void 0 : services.urlManager) === null || _a === void 0 ? void 0 : _a.remove('page').set("filter.".concat(facet.field), value.value);
306
+ _this.url = services.urlManager.remove('page').set("filter.".concat(facet.field), value.value);
303
307
  }
304
308
  else {
305
- _this.url = (_b = services === null || services === void 0 ? void 0 : services.urlManager) === null || _b === void 0 ? void 0 : _b.remove('page').remove("filter.".concat(facet.field));
309
+ _this.url = services.urlManager.remove('page').remove("filter.".concat(facet.field));
306
310
  }
307
311
  return _this;
308
312
  }
309
313
  return HierarchyValue;
310
314
  }(Value));
315
+ exports.HierarchyValue = HierarchyValue;
311
316
  var RangeValue = /** @class */ (function () {
312
317
  function RangeValue(services, facet, value) {
313
318
  Object.assign(this, value);
314
319
  if (this.filtered) {
315
- this.url = services === null || services === void 0 ? void 0 : services.urlManager.remove('page').remove("filter.".concat(facet.field), [{ low: this.low, high: this.high }]);
320
+ this.url = services.urlManager.remove('page').remove("filter.".concat(facet.field), [{ low: this.low, high: this.high }]);
316
321
  }
317
322
  else {
318
- var valueUrl = services === null || services === void 0 ? void 0 : services.urlManager.remove('page');
323
+ var valueUrl = services.urlManager.remove('page');
319
324
  if (facet.multiple == 'single') {
320
325
  valueUrl = valueUrl === null || valueUrl === void 0 ? void 0 : valueUrl.remove("filter.".concat(facet.field));
321
326
  }
@@ -324,6 +329,7 @@ var RangeValue = /** @class */ (function () {
324
329
  }
325
330
  return RangeValue;
326
331
  }());
332
+ exports.RangeValue = RangeValue;
327
333
  function escapeRegExp(string) {
328
334
  return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string
329
335
  }
@@ -1,7 +1,35 @@
1
+ import type { UrlManager } from '@searchspring/snap-url-manager';
1
2
  import type { StoreServices } from '../../types';
2
- import type { SearchResponseModelFilter, MetaResponseModel } from '@searchspring/snapi-types';
3
- export declare class FilterStore extends Array {
3
+ import type { SearchResponseModelFilter, MetaResponseModel, SearchResponseModelFilterRange, SearchResponseModelFilterValue, MetaResponseModelFacetDefaults, MetaResponseModelFacet } from '@searchspring/snapi-types';
4
+ export declare class FilterStore extends Array<RangeFilter | Filter> {
4
5
  static get [Symbol.species](): ArrayConstructor;
5
6
  constructor(services: StoreServices, filtersData: SearchResponseModelFilter[], meta: MetaResponseModel);
6
7
  }
8
+ export declare class Filter {
9
+ label: string;
10
+ facet: {
11
+ field?: string;
12
+ label?: string;
13
+ };
14
+ value: {
15
+ value?: string;
16
+ label?: string;
17
+ };
18
+ url: UrlManager;
19
+ constructor(services: StoreServices, filter: SearchResponseModelFilterValue, meta: MetaResponseModelFacet & MetaResponseModelFacetDefaults);
20
+ }
21
+ export declare class RangeFilter {
22
+ label: string;
23
+ facet: {
24
+ field?: string;
25
+ label?: string;
26
+ };
27
+ value: {
28
+ low?: number;
29
+ high?: number;
30
+ label: string;
31
+ };
32
+ url: UrlManager;
33
+ constructor(services: StoreServices, filter: SearchResponseModelFilterRange, meta: MetaResponseModelFacet & MetaResponseModelFacetDefaults);
34
+ }
7
35
  //# sourceMappingURL=FilterStore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilterStore.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/FilterStore.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EACX,yBAAyB,EACzB,iBAAiB,EAKjB,MAAM,2BAA2B,CAAC;AAEnC,qBAAa,WAAY,SAAQ,KAAK;IACrC,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAE9C;gBAEW,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,yBAAyB,EAAO,EAAE,IAAI,EAAE,iBAAiB;CAuC3G"}
1
+ {"version":3,"file":"FilterStore.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/FilterStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EACX,yBAAyB,EACzB,iBAAiB,EACjB,8BAA8B,EAC9B,8BAA8B,EAC9B,8BAA8B,EAC9B,sBAAsB,EACtB,MAAM,2BAA2B,CAAC;AAEnC,qBAAa,WAAY,SAAQ,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC;IAC3D,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAE9C;gBAEW,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,yBAAyB,EAAO,EAAE,IAAI,EAAE,iBAAiB;CAmB3G;AAED,qBAAa,MAAM;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACK,KAAK,EAAE;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IAEK,GAAG,EAAE,UAAU,CAAC;gBAEX,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,sBAAsB,GAAG,8BAA8B;CAmB1I;AAED,qBAAa,WAAW;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACK,KAAK,EAAE;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACd,CAAC;IAEK,GAAG,EAAE,UAAU,CAAC;gBAEX,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,8BAA8B,EAAE,IAAI,EAAE,sBAAsB,GAAG,8BAA8B;CAoB1I"}
@@ -15,41 +15,23 @@ var __extends = (this && this.__extends) || (function () {
15
15
  };
16
16
  })();
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.FilterStore = void 0;
18
+ exports.RangeFilter = exports.Filter = exports.FilterStore = void 0;
19
19
  var mobx_1 = require("mobx");
20
20
  var FilterStore = /** @class */ (function (_super) {
21
21
  __extends(FilterStore, _super);
22
22
  function FilterStore(services, filtersData, meta) {
23
23
  if (filtersData === void 0) { filtersData = []; }
24
24
  var filters = filtersData.map(function (filter) {
25
- var facetMeta = meta.facets[filter.field];
25
+ var field = filter.field;
26
+ var facetMeta = meta.facets && meta.facets[field];
26
27
  switch (filter.type) {
27
28
  case 'range':
28
29
  var rangeFilter = filter;
29
- return new RangeFilter(services, {
30
- facet: {
31
- field: rangeFilter.field,
32
- label: (facetMeta === null || facetMeta === void 0 ? void 0 : facetMeta.label) || rangeFilter.field,
33
- },
34
- value: {
35
- low: rangeFilter.value.low,
36
- high: rangeFilter.value.high,
37
- label: rangeFilter.label || "".concat(rangeFilter.value.low, " - ").concat(rangeFilter.value.high),
38
- },
39
- });
30
+ return new RangeFilter(services, rangeFilter, facetMeta);
40
31
  case 'value':
41
32
  default:
42
33
  var valueFilter = filter;
43
- return new Filter(services, {
44
- facet: {
45
- field: valueFilter.field,
46
- label: (facetMeta === null || facetMeta === void 0 ? void 0 : facetMeta.label) || valueFilter.field,
47
- },
48
- value: {
49
- value: valueFilter.value,
50
- label: valueFilter.label,
51
- },
52
- });
34
+ return new Filter(services, valueFilter, facetMeta);
53
35
  }
54
36
  });
55
37
  return _super.apply(this, filters) || this;
@@ -65,11 +47,17 @@ var FilterStore = /** @class */ (function (_super) {
65
47
  }(Array));
66
48
  exports.FilterStore = FilterStore;
67
49
  var Filter = /** @class */ (function () {
68
- function Filter(services, filter) {
50
+ function Filter(services, filter, meta) {
69
51
  var _a;
70
- this.facet = filter.facet;
71
- this.value = filter.value;
72
- this.label = "".concat(filter.facet.label, ": ").concat(filter.value.label);
52
+ this.facet = {
53
+ field: filter.field,
54
+ label: (meta === null || meta === void 0 ? void 0 : meta.label) || filter.field,
55
+ };
56
+ this.value = {
57
+ value: filter.value,
58
+ label: filter.label,
59
+ };
60
+ this.label = "".concat(this.facet.label, ": ").concat(this.value.label);
73
61
  this.url = (_a = services === null || services === void 0 ? void 0 : services.urlManager) === null || _a === void 0 ? void 0 : _a.remove('page').remove("filter.".concat(this.facet.field), this.value.value);
74
62
  (0, mobx_1.makeObservable)(this, {
75
63
  facet: mobx_1.observable,
@@ -79,13 +67,21 @@ var Filter = /** @class */ (function () {
79
67
  }
80
68
  return Filter;
81
69
  }());
70
+ exports.Filter = Filter;
82
71
  var RangeFilter = /** @class */ (function () {
83
- function RangeFilter(services, filter) {
84
- var _a;
85
- this.facet = filter.facet;
86
- this.value = filter.value;
87
- this.label = "".concat(filter.facet.label, ": ").concat(filter.value.label);
88
- this.url = (_a = services === null || services === void 0 ? void 0 : services.urlManager) === null || _a === void 0 ? void 0 : _a.remove('page').remove("filter.".concat(filter.facet.field), { low: filter.value.low, high: filter.value.high });
72
+ function RangeFilter(services, filter, meta) {
73
+ var _a, _b, _c, _d, _e;
74
+ this.facet = {
75
+ field: filter.field,
76
+ label: (meta === null || meta === void 0 ? void 0 : meta.label) || filter.field,
77
+ };
78
+ this.value = {
79
+ low: (_a = filter === null || filter === void 0 ? void 0 : filter.value) === null || _a === void 0 ? void 0 : _a.low,
80
+ high: (_b = filter === null || filter === void 0 ? void 0 : filter.value) === null || _b === void 0 ? void 0 : _b.high,
81
+ label: filter.label || "".concat((_c = filter === null || filter === void 0 ? void 0 : filter.value) === null || _c === void 0 ? void 0 : _c.low, " - ").concat((_d = filter === null || filter === void 0 ? void 0 : filter.value) === null || _d === void 0 ? void 0 : _d.high),
82
+ };
83
+ this.label = "".concat(this.facet.label, ": ").concat(this.value.label);
84
+ this.url = (_e = services === null || services === void 0 ? void 0 : services.urlManager) === null || _e === void 0 ? void 0 : _e.remove('page').remove("filter.".concat(this.facet.field), { low: this.value.low, high: this.value.high });
89
85
  (0, mobx_1.makeObservable)(this, {
90
86
  facet: mobx_1.observable,
91
87
  value: mobx_1.observable,
@@ -94,3 +90,4 @@ var RangeFilter = /** @class */ (function () {
94
90
  }
95
91
  return RangeFilter;
96
92
  }());
93
+ exports.RangeFilter = RangeFilter;
@@ -1,5 +1,5 @@
1
1
  import type { StoreServices } from '../../types';
2
- import type { SearchResponseModelMerchandising } from '@searchspring/snapi-types';
2
+ import type { SearchResponseModelMerchandising, SearchResponseModelMerchandisingContentInline } from '@searchspring/snapi-types';
3
3
  declare enum ContentType {
4
4
  HEADER = "header",
5
5
  BANNER = "banner",
@@ -9,12 +9,12 @@ declare enum ContentType {
9
9
  }
10
10
  export declare class MerchandisingStore {
11
11
  redirect: string;
12
- content: Partial<Record<ContentType, Content[]>>;
12
+ content: Partial<Record<ContentType, Content>>;
13
13
  constructor(services: StoreServices, merchData: SearchResponseModelMerchandising);
14
14
  }
15
- declare class Content extends Array {
15
+ declare class Content extends Array<string | SearchResponseModelMerchandisingContentInline> {
16
16
  static get [Symbol.species](): ArrayConstructor;
17
- constructor(content: any);
17
+ constructor(content: string[] | SearchResponseModelMerchandisingContentInline[]);
18
18
  }
19
19
  export {};
20
20
  //# sourceMappingURL=MerchandisingStore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MerchandisingStore.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/MerchandisingStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAC;AAElF,aAAK,WAAW;IACf,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,MAAM,WAAW;CACjB;AACD,qBAAa,kBAAkB;IAC9B,QAAQ,SAAM;IACd,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,CAAM;gBAE1C,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,gCAAgC;CAahF;AAED,cAAM,OAAQ,SAAQ,KAAK;IAC1B,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAE9C;gBAEW,OAAO,KAAA;CAGnB"}
1
+ {"version":3,"file":"MerchandisingStore.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/MerchandisingStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,gCAAgC,EAAE,6CAA6C,EAAE,MAAM,2BAA2B,CAAC;AAEjI,aAAK,WAAW;IACf,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,MAAM,WAAW;CACjB;AACD,qBAAa,kBAAkB;IACvB,QAAQ,SAAM;IACd,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAM;gBAE/C,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,gCAAgC;CAahF;AAED,cAAM,OAAQ,SAAQ,KAAK,CAAC,MAAM,GAAG,6CAA6C,CAAC;IAClF,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAE9C;gBAEW,OAAO,EAAE,MAAM,EAAE,GAAG,6CAA6C,EAAE;CAG/E"}
@@ -33,7 +33,7 @@ var MerchandisingStore = /** @class */ (function () {
33
33
  this.redirect = merchData.redirect || '';
34
34
  if (merchData.content) {
35
35
  Object.values(ContentType).forEach(function (type) {
36
- if (merchData.content[type]) {
36
+ if (merchData.content && merchData.content[type]) {
37
37
  _this.content[type] = new Content(merchData.content[type]);
38
38
  }
39
39
  });
@@ -2,7 +2,7 @@ import type { SearchStoreConfig, StoreServices } from '../../types';
2
2
  import type { SearchResponseModelPagination } from '@searchspring/snapi-types';
3
3
  import type { UrlManager } from '@searchspring/snap-url-manager';
4
4
  export declare class PaginationStore {
5
- private services;
5
+ services: StoreServices;
6
6
  page: number;
7
7
  pageSize: number;
8
8
  pageSizeOptions: {
@@ -12,7 +12,6 @@ export declare class PaginationStore {
12
12
  defaultPageSize: number;
13
13
  totalResults: number;
14
14
  totalPages: number;
15
- infinite: boolean;
16
15
  controllerConfig: SearchStoreConfig;
17
16
  constructor(config: SearchStoreConfig, services: StoreServices, paginationData?: SearchResponseModelPagination);
18
17
  get begin(): number;
@@ -21,8 +20,8 @@ export declare class PaginationStore {
21
20
  get current(): Page;
22
21
  get first(): Page;
23
22
  get last(): Page;
24
- get next(): Page;
25
- get previous(): Page;
23
+ get next(): Page | undefined;
24
+ get previous(): Page | undefined;
26
25
  getPages(min?: number, max?: number): Page[];
27
26
  setPageSize(num: number): void;
28
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PaginationStore.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/PaginationStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAEjE,qBAAa,eAAe;IAC3B,OAAO,CAAC,QAAQ,CAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACd,EAAE,CAAC;IACJ,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,iBAAiB,CAAC;gBAGnC,MAAM,EAAE,iBAAiB,EACzB,QAAQ,EAAE,aAAa,EACvB,cAAc,GAAE,6BAMf;IA4CF,IAAI,KAAK,IAAI,MAAM,CAKlB;IAED,IAAI,GAAG,IAAI,MAAM,CAMhB;IAED,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED,IAAI,OAAO,IAAI,IAAI,CAKlB;IAED,IAAI,KAAK,IAAI,IAAI,CAKhB;IAED,IAAI,IAAI,IAAI,IAAI,CAKf;IAED,IAAI,IAAI,IAAI,IAAI,CAMf;IAED,IAAI,QAAQ,IAAI,IAAI,CAMnB;IAED,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE;IAmD5C,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAK9B;AAED,qBAAa,IAAI;IAChB,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,UAAU,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;gBAGX,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,OAAO,CAAC;KACjB;CAQF"}
1
+ {"version":3,"file":"PaginationStore.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/PaginationStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAEjE,qBAAa,eAAe;IACpB,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE;QACvB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACd,EAAE,CAAC;IACG,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,iBAAiB,CAAC;gBAG1C,MAAM,EAAE,iBAAiB,EACzB,QAAQ,EAAE,aAAa,EACvB,cAAc,GAAE,6BAMf;IA4CF,IAAW,KAAK,IAAI,MAAM,CAKzB;IAED,IAAW,GAAG,IAAI,MAAM,CAMvB;IAED,IAAW,aAAa,IAAI,OAAO,CAElC;IAED,IAAW,OAAO,IAAI,IAAI,CAKzB;IAED,IAAW,KAAK,IAAI,IAAI,CAKvB;IAED,IAAW,IAAI,IAAI,IAAI,CAKtB;IAED,IAAW,IAAI,IAAI,IAAI,GAAG,SAAS,CAMlC;IAED,IAAW,QAAQ,IAAI,IAAI,GAAG,SAAS,CAMtC;IAEM,QAAQ,CAAC,GAAG,GAAE,MAAU,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE;IAmD/C,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAKrC;AAED,qBAAa,IAAI;IACT,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,UAAU,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;gBAGlB,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,OAAO,CAAC;KACjB;CAQF"}
@@ -130,10 +130,11 @@ var PaginationStore = /** @class */ (function () {
130
130
  configurable: true
131
131
  });
132
132
  PaginationStore.prototype.getPages = function (min, max) {
133
+ if (min === void 0) { min = 5; }
133
134
  if (!Number.isInteger(min)) {
134
135
  return [];
135
136
  }
136
- if (!Number.isInteger(max)) {
137
+ if (typeof max == 'undefined' || !Number.isInteger(max)) {
137
138
  var surrounding = min - 1;
138
139
  var from = this.page;
139
140
  var to = this.page;
@@ -2,10 +2,10 @@ import type { UrlManager } from '@searchspring/snap-url-manager';
2
2
  import type { StoreServices } from '../../types';
3
3
  import type { SearchResponseModelSearch, SearchResponseModelSearchMatchTypeEnum } from '@searchspring/snapi-types';
4
4
  export declare class QueryStore {
5
- query: Query;
6
- didYouMean: Query;
7
- originalQuery: Query;
8
- matchType: SearchResponseModelSearchMatchTypeEnum;
5
+ query?: Query;
6
+ didYouMean?: Query;
7
+ originalQuery?: Query;
8
+ matchType?: SearchResponseModelSearchMatchTypeEnum;
9
9
  constructor(services: StoreServices, search: SearchResponseModelSearch);
10
10
  }
11
11
  declare class Query {
@@ -1 +1 @@
1
- {"version":3,"file":"QueryStore.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/QueryStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,yBAAyB,EAAE,sCAAsC,EAAE,MAAM,2BAA2B,CAAC;AACnH,qBAAa,UAAU;IACtB,KAAK,EAAE,KAAK,CAAC;IACb,UAAU,EAAE,KAAK,CAAC;IAClB,aAAa,EAAE,KAAK,CAAC;IACrB,SAAS,EAAE,sCAAsC,CAAC;gBAEtC,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,yBAAyB;CAyBtE;AASD,cAAM,KAAK;IACV,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,UAAU,CAAC;gBAEJ,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM;CASlD"}
1
+ {"version":3,"file":"QueryStore.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/QueryStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,yBAAyB,EAAE,sCAAsC,EAAE,MAAM,2BAA2B,CAAC;AACnH,qBAAa,UAAU;IACf,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,aAAa,CAAC,EAAE,KAAK,CAAC;IACtB,SAAS,CAAC,EAAE,sCAAsC,CAAC;gBAE9C,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,yBAAyB;CAyBtE;AASD,cAAM,KAAK;IACH,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,UAAU,CAAC;gBAEX,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM;CASlD"}