@searchspring/snap-store-mobx 0.27.7 → 0.29.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.
Files changed (202) 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 +19 -18
  5. package/dist/cjs/Autocomplete/AutocompleteStore.d.ts.map +1 -1
  6. package/dist/cjs/Autocomplete/AutocompleteStore.js +20 -19
  7. package/dist/cjs/Autocomplete/Stores/{FacetStore.d.ts → AutocompleteFacetStore.d.ts} +4 -4
  8. package/dist/cjs/Autocomplete/Stores/AutocompleteFacetStore.d.ts.map +1 -0
  9. package/dist/cjs/Autocomplete/Stores/{FacetStore.js → AutocompleteFacetStore.js} +8 -8
  10. package/dist/{esm/Autocomplete/Stores/QueryStore.d.ts → cjs/Autocomplete/Stores/AutocompleteQueryStore.d.ts} +5 -5
  11. package/dist/cjs/Autocomplete/Stores/AutocompleteQueryStore.d.ts.map +1 -0
  12. package/dist/cjs/Autocomplete/Stores/{QueryStore.js → AutocompleteQueryStore.js} +6 -6
  13. package/dist/{esm/Autocomplete/Stores/StateStore.d.ts → cjs/Autocomplete/Stores/AutocompleteStateStore.d.ts} +3 -3
  14. package/dist/cjs/Autocomplete/Stores/AutocompleteStateStore.d.ts.map +1 -0
  15. package/dist/cjs/Autocomplete/Stores/{StateStore.js → AutocompleteStateStore.js} +6 -6
  16. package/dist/{esm/Autocomplete/Stores/TermStore.d.ts → cjs/Autocomplete/Stores/AutocompleteTermStore.d.ts} +5 -5
  17. package/dist/cjs/Autocomplete/Stores/AutocompleteTermStore.d.ts.map +1 -0
  18. package/dist/cjs/Autocomplete/Stores/{TermStore.js → AutocompleteTermStore.js} +7 -7
  19. package/dist/cjs/Autocomplete/Stores/AutocompleteTrendingStore.d.ts +9 -0
  20. package/dist/cjs/Autocomplete/Stores/AutocompleteTrendingStore.d.ts.map +1 -0
  21. package/dist/cjs/Autocomplete/Stores/{TrendingStore.js → AutocompleteTrendingStore.js} +11 -11
  22. package/dist/cjs/Autocomplete/Stores/index.d.ts +5 -5
  23. package/dist/cjs/Autocomplete/Stores/index.d.ts.map +1 -1
  24. package/dist/cjs/Autocomplete/Stores/index.js +11 -11
  25. package/dist/cjs/Finder/FinderStore.d.ts +6 -5
  26. package/dist/cjs/Finder/FinderStore.d.ts.map +1 -1
  27. package/dist/cjs/Finder/FinderStore.js +9 -9
  28. package/dist/cjs/Finder/Stores/FinderSelectionStore.d.ts +56 -0
  29. package/dist/cjs/Finder/Stores/FinderSelectionStore.d.ts.map +1 -0
  30. package/dist/cjs/Finder/Stores/{SelectionStore.js → FinderSelectionStore.js} +17 -16
  31. package/dist/cjs/Finder/Stores/index.d.ts +1 -1
  32. package/dist/cjs/Finder/Stores/index.d.ts.map +1 -1
  33. package/dist/cjs/Finder/Stores/index.js +3 -3
  34. package/dist/cjs/Recommendation/RecommendationStore.d.ts +6 -5
  35. package/dist/cjs/Recommendation/RecommendationStore.d.ts.map +1 -1
  36. package/dist/cjs/Recommendation/RecommendationStore.js +4 -4
  37. package/dist/cjs/Recommendation/Stores/RecommendationProfileStore.d.ts +9 -0
  38. package/dist/cjs/Recommendation/Stores/RecommendationProfileStore.d.ts.map +1 -0
  39. package/dist/cjs/Recommendation/Stores/RecommendationProfileStore.js +23 -0
  40. package/dist/cjs/Recommendation/Stores/index.d.ts +1 -1
  41. package/dist/cjs/Recommendation/Stores/index.d.ts.map +1 -1
  42. package/dist/cjs/Recommendation/Stores/index.js +3 -3
  43. package/dist/cjs/Search/SearchStore.d.ts +11 -11
  44. package/dist/cjs/Search/SearchStore.d.ts.map +1 -1
  45. package/dist/cjs/Search/SearchStore.js +26 -10
  46. package/dist/cjs/Search/Stores/SearchFacetStore.d.ts +76 -0
  47. package/dist/cjs/Search/Stores/SearchFacetStore.d.ts.map +1 -0
  48. package/dist/cjs/Search/Stores/{FacetStore.js → SearchFacetStore.js} +57 -50
  49. package/dist/cjs/Search/Stores/SearchFilterStore.d.ts +35 -0
  50. package/dist/cjs/Search/Stores/SearchFilterStore.d.ts.map +1 -0
  51. package/dist/cjs/Search/Stores/SearchFilterStore.js +93 -0
  52. package/dist/cjs/Search/Stores/SearchMerchandisingStore.d.ts +21 -0
  53. package/dist/cjs/Search/Stores/SearchMerchandisingStore.d.ts.map +1 -0
  54. package/dist/cjs/Search/Stores/{MerchandisingStore.js → SearchMerchandisingStore.js} +7 -7
  55. package/dist/cjs/Search/Stores/{PaginationStore.d.ts → SearchPaginationStore.d.ts} +5 -6
  56. package/dist/cjs/Search/Stores/SearchPaginationStore.d.ts.map +1 -0
  57. package/dist/cjs/Search/Stores/{PaginationStore.js → SearchPaginationStore.js} +17 -16
  58. package/dist/cjs/Search/Stores/{QueryStore.d.ts → SearchQueryStore.d.ts} +6 -6
  59. package/dist/cjs/Search/Stores/SearchQueryStore.d.ts.map +1 -0
  60. package/dist/cjs/Search/Stores/{QueryStore.js → SearchQueryStore.js} +5 -5
  61. package/dist/cjs/Search/Stores/SearchResultStore.d.ts +34 -0
  62. package/dist/cjs/Search/Stores/SearchResultStore.d.ts.map +1 -0
  63. package/dist/cjs/Search/Stores/{ResultStore.js → SearchResultStore.js} +10 -8
  64. package/dist/cjs/Search/Stores/SearchSortingStore.d.ts +25 -0
  65. package/dist/cjs/Search/Stores/SearchSortingStore.d.ts.map +1 -0
  66. package/dist/cjs/Search/Stores/{SortingStore.js → SearchSortingStore.js} +10 -11
  67. package/dist/cjs/Search/Stores/index.d.ts +7 -7
  68. package/dist/cjs/Search/Stores/index.d.ts.map +1 -1
  69. package/dist/cjs/Search/Stores/index.js +24 -15
  70. package/dist/cjs/Storage/StorageStore.d.ts +6 -6
  71. package/dist/cjs/Storage/StorageStore.d.ts.map +1 -1
  72. package/dist/cjs/Storage/StorageStore.js +7 -5
  73. package/dist/cjs/index.d.ts +1 -0
  74. package/dist/cjs/index.d.ts.map +1 -1
  75. package/dist/cjs/index.js +1 -0
  76. package/dist/cjs/types.d.ts +3 -3
  77. package/dist/cjs/types.d.ts.map +1 -1
  78. package/dist/esm/Abstract/AbstractStore.d.ts +3 -4
  79. package/dist/esm/Abstract/AbstractStore.d.ts.map +1 -1
  80. package/dist/esm/Abstract/AbstractStore.js +0 -1
  81. package/dist/esm/Autocomplete/AutocompleteStore.d.ts +19 -18
  82. package/dist/esm/Autocomplete/AutocompleteStore.d.ts.map +1 -1
  83. package/dist/esm/Autocomplete/AutocompleteStore.js +21 -22
  84. package/dist/esm/Autocomplete/Stores/{FacetStore.d.ts → AutocompleteFacetStore.d.ts} +4 -4
  85. package/dist/esm/Autocomplete/Stores/AutocompleteFacetStore.d.ts.map +1 -0
  86. package/dist/esm/Autocomplete/Stores/{FacetStore.js → AutocompleteFacetStore.js} +2 -2
  87. package/dist/{cjs/Autocomplete/Stores/QueryStore.d.ts → esm/Autocomplete/Stores/AutocompleteQueryStore.d.ts} +5 -5
  88. package/dist/esm/Autocomplete/Stores/AutocompleteQueryStore.d.ts.map +1 -0
  89. package/dist/esm/Autocomplete/Stores/{QueryStore.js → AutocompleteQueryStore.js} +2 -2
  90. package/dist/{cjs/Autocomplete/Stores/StateStore.d.ts → esm/Autocomplete/Stores/AutocompleteStateStore.d.ts} +3 -3
  91. package/dist/esm/Autocomplete/Stores/AutocompleteStateStore.d.ts.map +1 -0
  92. package/dist/esm/Autocomplete/Stores/{StateStore.js → AutocompleteStateStore.js} +1 -1
  93. package/dist/{cjs/Autocomplete/Stores/TermStore.d.ts → esm/Autocomplete/Stores/AutocompleteTermStore.d.ts} +5 -5
  94. package/dist/esm/Autocomplete/Stores/AutocompleteTermStore.d.ts.map +1 -0
  95. package/dist/esm/Autocomplete/Stores/{TermStore.js → AutocompleteTermStore.js} +1 -1
  96. package/dist/esm/Autocomplete/Stores/AutocompleteTrendingStore.d.ts +9 -0
  97. package/dist/esm/Autocomplete/Stores/AutocompleteTrendingStore.d.ts.map +1 -0
  98. package/dist/esm/Autocomplete/Stores/{TrendingStore.js → AutocompleteTrendingStore.js} +3 -3
  99. package/dist/esm/Autocomplete/Stores/index.d.ts +5 -5
  100. package/dist/esm/Autocomplete/Stores/index.d.ts.map +1 -1
  101. package/dist/esm/Autocomplete/Stores/index.js +5 -5
  102. package/dist/esm/Finder/FinderStore.d.ts +6 -5
  103. package/dist/esm/Finder/FinderStore.d.ts.map +1 -1
  104. package/dist/esm/Finder/FinderStore.js +9 -9
  105. package/dist/esm/Finder/Stores/FinderSelectionStore.d.ts +60 -0
  106. package/dist/esm/Finder/Stores/FinderSelectionStore.d.ts.map +1 -0
  107. package/dist/esm/Finder/Stores/{SelectionStore.js → FinderSelectionStore.js} +9 -9
  108. package/dist/esm/Finder/Stores/index.d.ts +1 -1
  109. package/dist/esm/Finder/Stores/index.d.ts.map +1 -1
  110. package/dist/esm/Finder/Stores/index.js +1 -1
  111. package/dist/esm/Recommendation/RecommendationStore.d.ts +6 -5
  112. package/dist/esm/Recommendation/RecommendationStore.d.ts.map +1 -1
  113. package/dist/esm/Recommendation/RecommendationStore.js +6 -6
  114. package/dist/esm/Recommendation/Stores/RecommendationProfileStore.d.ts +9 -0
  115. package/dist/esm/Recommendation/Stores/RecommendationProfileStore.d.ts.map +1 -0
  116. package/dist/esm/Recommendation/Stores/{ProfileStore.js → RecommendationProfileStore.js} +6 -6
  117. package/dist/esm/Recommendation/Stores/index.d.ts +1 -1
  118. package/dist/esm/Recommendation/Stores/index.d.ts.map +1 -1
  119. package/dist/esm/Recommendation/Stores/index.js +1 -1
  120. package/dist/esm/Search/SearchStore.d.ts +11 -11
  121. package/dist/esm/Search/SearchStore.d.ts.map +1 -1
  122. package/dist/esm/Search/SearchStore.js +27 -12
  123. package/dist/esm/Search/Stores/SearchFacetStore.d.ts +76 -0
  124. package/dist/esm/Search/Stores/SearchFacetStore.d.ts.map +1 -0
  125. package/dist/esm/Search/Stores/{FacetStore.js → SearchFacetStore.js} +34 -33
  126. package/dist/esm/Search/Stores/SearchFilterStore.d.ts +35 -0
  127. package/dist/esm/Search/Stores/SearchFilterStore.d.ts.map +1 -0
  128. package/dist/esm/Search/Stores/SearchFilterStore.js +61 -0
  129. package/dist/esm/Search/Stores/SearchMerchandisingStore.d.ts +21 -0
  130. package/dist/esm/Search/Stores/SearchMerchandisingStore.d.ts.map +1 -0
  131. package/dist/esm/Search/Stores/{MerchandisingStore.js → SearchMerchandisingStore.js} +3 -3
  132. package/dist/esm/Search/Stores/{PaginationStore.d.ts → SearchPaginationStore.d.ts} +5 -6
  133. package/dist/esm/Search/Stores/SearchPaginationStore.d.ts.map +1 -0
  134. package/dist/esm/Search/Stores/{PaginationStore.js → SearchPaginationStore.js} +3 -3
  135. package/dist/esm/Search/Stores/{QueryStore.d.ts → SearchQueryStore.d.ts} +6 -6
  136. package/dist/esm/Search/Stores/SearchQueryStore.d.ts.map +1 -0
  137. package/dist/esm/Search/Stores/{QueryStore.js → SearchQueryStore.js} +1 -1
  138. package/dist/esm/Search/Stores/SearchResultStore.d.ts +34 -0
  139. package/dist/esm/Search/Stores/SearchResultStore.d.ts.map +1 -0
  140. package/dist/esm/Search/Stores/{ResultStore.js → SearchResultStore.js} +4 -6
  141. package/dist/esm/Search/Stores/SearchSortingStore.d.ts +25 -0
  142. package/dist/esm/Search/Stores/SearchSortingStore.d.ts.map +1 -0
  143. package/dist/esm/Search/Stores/{SortingStore.js → SearchSortingStore.js} +5 -6
  144. package/dist/esm/Search/Stores/index.d.ts +7 -7
  145. package/dist/esm/Search/Stores/index.d.ts.map +1 -1
  146. package/dist/esm/Search/Stores/index.js +7 -7
  147. package/dist/esm/Storage/StorageStore.d.ts +6 -6
  148. package/dist/esm/Storage/StorageStore.d.ts.map +1 -1
  149. package/dist/esm/Storage/StorageStore.js +7 -5
  150. package/dist/esm/index.d.ts +1 -0
  151. package/dist/esm/index.d.ts.map +1 -1
  152. package/dist/esm/index.js +1 -0
  153. package/dist/esm/types.d.ts +3 -3
  154. package/dist/esm/types.d.ts.map +1 -1
  155. package/package.json +6 -5
  156. package/dist/cjs/Autocomplete/Stores/FacetStore.d.ts.map +0 -1
  157. package/dist/cjs/Autocomplete/Stores/QueryStore.d.ts.map +0 -1
  158. package/dist/cjs/Autocomplete/Stores/StateStore.d.ts.map +0 -1
  159. package/dist/cjs/Autocomplete/Stores/TermStore.d.ts.map +0 -1
  160. package/dist/cjs/Autocomplete/Stores/TrendingStore.d.ts +0 -7
  161. package/dist/cjs/Autocomplete/Stores/TrendingStore.d.ts.map +0 -1
  162. package/dist/cjs/Finder/Stores/SelectionStore.d.ts +0 -17
  163. package/dist/cjs/Finder/Stores/SelectionStore.d.ts.map +0 -1
  164. package/dist/cjs/Recommendation/Stores/ProfileStore.d.ts +0 -8
  165. package/dist/cjs/Recommendation/Stores/ProfileStore.d.ts.map +0 -1
  166. package/dist/cjs/Recommendation/Stores/ProfileStore.js +0 -22
  167. package/dist/cjs/Search/Stores/FacetStore.d.ts +0 -8
  168. package/dist/cjs/Search/Stores/FacetStore.d.ts.map +0 -1
  169. package/dist/cjs/Search/Stores/FilterStore.d.ts +0 -7
  170. package/dist/cjs/Search/Stores/FilterStore.d.ts.map +0 -1
  171. package/dist/cjs/Search/Stores/FilterStore.js +0 -96
  172. package/dist/cjs/Search/Stores/MerchandisingStore.d.ts +0 -20
  173. package/dist/cjs/Search/Stores/MerchandisingStore.d.ts.map +0 -1
  174. package/dist/cjs/Search/Stores/PaginationStore.d.ts.map +0 -1
  175. package/dist/cjs/Search/Stores/QueryStore.d.ts.map +0 -1
  176. package/dist/cjs/Search/Stores/ResultStore.d.ts +0 -7
  177. package/dist/cjs/Search/Stores/ResultStore.d.ts.map +0 -1
  178. package/dist/cjs/Search/Stores/SortingStore.d.ts +0 -21
  179. package/dist/cjs/Search/Stores/SortingStore.d.ts.map +0 -1
  180. package/dist/esm/Autocomplete/Stores/FacetStore.d.ts.map +0 -1
  181. package/dist/esm/Autocomplete/Stores/QueryStore.d.ts.map +0 -1
  182. package/dist/esm/Autocomplete/Stores/StateStore.d.ts.map +0 -1
  183. package/dist/esm/Autocomplete/Stores/TermStore.d.ts.map +0 -1
  184. package/dist/esm/Autocomplete/Stores/TrendingStore.d.ts +0 -7
  185. package/dist/esm/Autocomplete/Stores/TrendingStore.d.ts.map +0 -1
  186. package/dist/esm/Finder/Stores/SelectionStore.d.ts +0 -17
  187. package/dist/esm/Finder/Stores/SelectionStore.d.ts.map +0 -1
  188. package/dist/esm/Recommendation/Stores/ProfileStore.d.ts +0 -8
  189. package/dist/esm/Recommendation/Stores/ProfileStore.d.ts.map +0 -1
  190. package/dist/esm/Search/Stores/FacetStore.d.ts +0 -8
  191. package/dist/esm/Search/Stores/FacetStore.d.ts.map +0 -1
  192. package/dist/esm/Search/Stores/FilterStore.d.ts +0 -7
  193. package/dist/esm/Search/Stores/FilterStore.d.ts.map +0 -1
  194. package/dist/esm/Search/Stores/FilterStore.js +0 -68
  195. package/dist/esm/Search/Stores/MerchandisingStore.d.ts +0 -20
  196. package/dist/esm/Search/Stores/MerchandisingStore.d.ts.map +0 -1
  197. package/dist/esm/Search/Stores/PaginationStore.d.ts.map +0 -1
  198. package/dist/esm/Search/Stores/QueryStore.d.ts.map +0 -1
  199. package/dist/esm/Search/Stores/ResultStore.d.ts +0 -7
  200. package/dist/esm/Search/Stores/ResultStore.d.ts.map +0 -1
  201. package/dist/esm/Search/Stores/SortingStore.d.ts +0 -21
  202. package/dist/esm/Search/Stores/SortingStore.d.ts.map +0 -1
@@ -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.FacetRangeValue = exports.FacetHierarchyValue = exports.FacetValue = exports.ValueFacet = exports.RangeFacet = exports.Facet = exports.SearchFacetStore = void 0;
19
19
  var mobx_1 = require("mobx");
20
- var FacetStore = /** @class */ (function (_super) {
21
- __extends(FacetStore, _super);
22
- function FacetStore(config, services, storage, facetsData, pagination, meta) {
20
+ var SearchFacetStore = /** @class */ (function (_super) {
21
+ __extends(SearchFacetStore, _super);
22
+ function SearchFacetStore(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,44 +34,45 @@ 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;
63
65
  }
64
- Object.defineProperty(FacetStore, Symbol.species, {
66
+ Object.defineProperty(SearchFacetStore, Symbol.species, {
65
67
  get: function () {
66
68
  return Array;
67
69
  },
68
70
  enumerable: false,
69
71
  configurable: true
70
72
  });
71
- return FacetStore;
73
+ return SearchFacetStore;
72
74
  }(Array));
73
- exports.FacetStore = FacetStore;
75
+ exports.SearchFacetStore = SearchFacetStore;
74
76
  var Facet = /** @class */ (function () {
75
77
  function Facet(services, storage, facet, facetMeta) {
76
78
  this.filtered = false;
@@ -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,
@@ -114,11 +115,12 @@ var Facet = /** @class */ (function () {
114
115
  };
115
116
  return Facet;
116
117
  }());
118
+ exports.Facet = Facet;
117
119
  var RangeFacet = /** @class */ (function (_super) {
118
120
  __extends(RangeFacet, _super);
119
121
  function RangeFacet(config, services, storage, facet, facetMeta) {
120
122
  var _this = this;
121
- var _a, _b, _c, _d, _e, _f;
123
+ var _a, _b, _c, _d, _e, _f, _g, _h;
122
124
  _this = _super.call(this, services, storage, facet, facetMeta) || this;
123
125
  _this.range = {
124
126
  low: 0,
@@ -128,11 +130,11 @@ var RangeFacet = /** @class */ (function (_super) {
128
130
  low: 0,
129
131
  high: 0,
130
132
  };
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]);
133
+ _this.step = facet === null || facet === void 0 ? void 0 : facet.step;
134
+ 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
135
  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
136
  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)) {
137
+ 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
138
  // range from API has shrunk
137
139
  _this.range = _this.storage.get("facets.".concat(_this.field, ".range"));
138
140
  }
@@ -156,6 +158,7 @@ var RangeFacet = /** @class */ (function (_super) {
156
158
  }
157
159
  return RangeFacet;
158
160
  }(Facet));
161
+ exports.RangeFacet = RangeFacet;
159
162
  var ValueFacet = /** @class */ (function (_super) {
160
163
  __extends(ValueFacet, _super);
161
164
  function ValueFacet(config, services, storage, facet, facetMeta) {
@@ -210,23 +213,24 @@ var ValueFacet = /** @class */ (function (_super) {
210
213
  _this.values =
211
214
  (facet.values &&
212
215
  facet.values.map(function (value) {
216
+ var _a, _b;
213
217
  switch (facet.type) {
214
218
  case 'value':
215
219
  if (facetMeta.display === 'hierarchy') {
216
- var filteredValues = facet.values.filter(function (value) { return value.filtered; });
217
- return new HierarchyValue(services, _this, value, filteredValues);
220
+ 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; })) || [];
221
+ return new FacetHierarchyValue(services, _this, value, filteredValues);
218
222
  }
219
223
  else {
220
224
  // converting values to strings to ensure UrlManager state matches state created from URL
221
- value.value = value.value.toString();
222
- return new Value(services, _this, value);
225
+ value.value = (_b = value === null || value === void 0 ? void 0 : value.value) === null || _b === void 0 ? void 0 : _b.toString();
226
+ return new FacetValue(services, _this, value);
223
227
  }
224
228
  case 'range-buckets':
225
- return new RangeValue(services, _this, value);
229
+ return new FacetRangeValue(services, _this, value);
226
230
  }
227
231
  })) ||
228
232
  [];
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]);
233
+ 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
234
  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
235
  if (shouldPin && facetMeta.display !== 'hierarchy') {
232
236
  _this.values.sort(function (a, b) { return Number(b.filtered) - Number(a.filtered); });
@@ -252,7 +256,7 @@ var ValueFacet = /** @class */ (function (_super) {
252
256
  var values = this.values || [];
253
257
  if (this.search.input) {
254
258
  var search_1 = new RegExp(escapeRegExp(this.search.input), 'i');
255
- values = this.values.filter(function (value) { return String(value.label).match(search_1); });
259
+ values = this.values.filter(function (value) { return String((value === null || value === void 0 ? void 0 : value.label) || '').match(search_1); });
256
260
  }
257
261
  if (this.overflow.enabled && this.overflow.limited) {
258
262
  values = values.slice(0, this.overflow.limit);
@@ -264,28 +268,29 @@ var ValueFacet = /** @class */ (function (_super) {
264
268
  });
265
269
  return ValueFacet;
266
270
  }(Facet));
267
- var Value = /** @class */ (function () {
268
- function Value(services, facet, value) {
269
- var _a, _b;
271
+ exports.ValueFacet = ValueFacet;
272
+ var FacetValue = /** @class */ (function () {
273
+ function FacetValue(services, facet, value) {
270
274
  Object.assign(this, value);
271
275
  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);
276
+ this.url = services.urlManager.remove('page').remove("filter.".concat(facet.field), value.value);
273
277
  }
274
278
  else {
275
- var valueUrl = (_b = services.urlManager) === null || _b === void 0 ? void 0 : _b.remove('page');
279
+ var valueUrl = services.urlManager.remove('page');
276
280
  if (facet.multiple == 'single') {
277
281
  valueUrl = valueUrl === null || valueUrl === void 0 ? void 0 : valueUrl.remove("filter.".concat(facet.field));
278
282
  }
279
283
  this.url = valueUrl === null || valueUrl === void 0 ? void 0 : valueUrl.merge("filter.".concat(facet.field), value.value);
280
284
  }
281
285
  }
282
- return Value;
286
+ return FacetValue;
283
287
  }());
284
- var HierarchyValue = /** @class */ (function (_super) {
285
- __extends(HierarchyValue, _super);
286
- function HierarchyValue(services, facet, value, filteredValues) {
288
+ exports.FacetValue = FacetValue;
289
+ var FacetHierarchyValue = /** @class */ (function (_super) {
290
+ __extends(FacetHierarchyValue, _super);
291
+ function FacetHierarchyValue(services, facet, value, filteredValues) {
287
292
  var _this = this;
288
- var _a, _b;
293
+ var _a;
289
294
  _this = _super.call(this, services, facet, value) || this;
290
295
  _this.level = 0;
291
296
  _this.history = false;
@@ -293,37 +298,39 @@ var HierarchyValue = /** @class */ (function (_super) {
293
298
  _this.level = value.value.split(facet.hierarchyDelimiter).length;
294
299
  }
295
300
  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) {
301
+ 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);
302
+ if (filteredLevel && _this.level <= filteredLevel) {
298
303
  _this.history = true;
299
304
  }
300
305
  }
301
306
  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);
307
+ _this.url = services.urlManager.remove('page').set("filter.".concat(facet.field), value.value);
303
308
  }
304
309
  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));
310
+ _this.url = services.urlManager.remove('page').remove("filter.".concat(facet.field));
306
311
  }
307
312
  return _this;
308
313
  }
309
- return HierarchyValue;
310
- }(Value));
311
- var RangeValue = /** @class */ (function () {
312
- function RangeValue(services, facet, value) {
314
+ return FacetHierarchyValue;
315
+ }(FacetValue));
316
+ exports.FacetHierarchyValue = FacetHierarchyValue;
317
+ var FacetRangeValue = /** @class */ (function () {
318
+ function FacetRangeValue(services, facet, value) {
313
319
  Object.assign(this, value);
314
320
  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 }]);
321
+ this.url = services.urlManager.remove('page').remove("filter.".concat(facet.field), [{ low: this.low, high: this.high }]);
316
322
  }
317
323
  else {
318
- var valueUrl = services === null || services === void 0 ? void 0 : services.urlManager.remove('page');
324
+ var valueUrl = services.urlManager.remove('page');
319
325
  if (facet.multiple == 'single') {
320
326
  valueUrl = valueUrl === null || valueUrl === void 0 ? void 0 : valueUrl.remove("filter.".concat(facet.field));
321
327
  }
322
328
  this.url = valueUrl === null || valueUrl === void 0 ? void 0 : valueUrl.merge("filter.".concat(facet.field), [{ low: this.low, high: this.high }]);
323
329
  }
324
330
  }
325
- return RangeValue;
331
+ return FacetRangeValue;
326
332
  }());
333
+ exports.FacetRangeValue = FacetRangeValue;
327
334
  function escapeRegExp(string) {
328
335
  return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string
329
336
  }
@@ -0,0 +1,35 @@
1
+ import type { UrlManager } from '@searchspring/snap-url-manager';
2
+ import type { StoreServices } from '../../types';
3
+ import type { SearchResponseModelFilter, MetaResponseModel, SearchResponseModelFilterRange, SearchResponseModelFilterValue, MetaResponseModelFacetDefaults, MetaResponseModelFacet } from '@searchspring/snapi-types';
4
+ export declare class SearchFilterStore extends Array<RangeFilter | Filter> {
5
+ static get [Symbol.species](): ArrayConstructor;
6
+ constructor(services: StoreServices, filtersData: SearchResponseModelFilter[], meta: MetaResponseModel);
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
+ }
35
+ //# sourceMappingURL=SearchFilterStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchFilterStore.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/SearchFilterStore.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,iBAAkB,SAAQ,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC;IACjE,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"}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.RangeFilter = exports.Filter = exports.SearchFilterStore = void 0;
19
+ var mobx_1 = require("mobx");
20
+ var SearchFilterStore = /** @class */ (function (_super) {
21
+ __extends(SearchFilterStore, _super);
22
+ function SearchFilterStore(services, filtersData, meta) {
23
+ if (filtersData === void 0) { filtersData = []; }
24
+ var filters = filtersData.map(function (filter) {
25
+ var field = filter.field;
26
+ var facetMeta = meta.facets && meta.facets[field];
27
+ switch (filter.type) {
28
+ case 'range':
29
+ var rangeFilter = filter;
30
+ return new RangeFilter(services, rangeFilter, facetMeta);
31
+ case 'value':
32
+ default:
33
+ var valueFilter = filter;
34
+ return new Filter(services, valueFilter, facetMeta);
35
+ }
36
+ });
37
+ return _super.apply(this, filters) || this;
38
+ }
39
+ Object.defineProperty(SearchFilterStore, Symbol.species, {
40
+ get: function () {
41
+ return Array;
42
+ },
43
+ enumerable: false,
44
+ configurable: true
45
+ });
46
+ return SearchFilterStore;
47
+ }(Array));
48
+ exports.SearchFilterStore = SearchFilterStore;
49
+ var Filter = /** @class */ (function () {
50
+ function Filter(services, filter, meta) {
51
+ var _a;
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);
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);
62
+ (0, mobx_1.makeObservable)(this, {
63
+ facet: mobx_1.observable,
64
+ value: mobx_1.observable,
65
+ label: mobx_1.observable,
66
+ });
67
+ }
68
+ return Filter;
69
+ }());
70
+ exports.Filter = Filter;
71
+ var RangeFilter = /** @class */ (function () {
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 });
85
+ (0, mobx_1.makeObservable)(this, {
86
+ facet: mobx_1.observable,
87
+ value: mobx_1.observable,
88
+ label: mobx_1.observable,
89
+ });
90
+ }
91
+ return RangeFilter;
92
+ }());
93
+ exports.RangeFilter = RangeFilter;
@@ -0,0 +1,21 @@
1
+ import type { StoreServices } from '../../types';
2
+ import type { SearchResponseModelMerchandising, SearchResponseModelMerchandisingContentInline } from '@searchspring/snapi-types';
3
+ export declare enum ContentType {
4
+ HEADER = "header",
5
+ BANNER = "banner",
6
+ FOOTER = "footer",
7
+ LEFT = "left",
8
+ INLINE = "inline"
9
+ }
10
+ export declare type BannerContent = Partial<Record<ContentType, Content>>;
11
+ export declare class SearchMerchandisingStore {
12
+ redirect: string;
13
+ content: BannerContent;
14
+ constructor(services: StoreServices, merchData: SearchResponseModelMerchandising);
15
+ }
16
+ declare class Content extends Array<string | SearchResponseModelMerchandisingContentInline> {
17
+ static get [Symbol.species](): ArrayConstructor;
18
+ constructor(content: string[] | SearchResponseModelMerchandisingContentInline[]);
19
+ }
20
+ export {};
21
+ //# sourceMappingURL=SearchMerchandisingStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchMerchandisingStore.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/SearchMerchandisingStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,gCAAgC,EAAE,6CAA6C,EAAE,MAAM,2BAA2B,CAAC;AAEjI,oBAAY,WAAW;IACtB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,MAAM,WAAW;CACjB;AAED,oBAAY,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;AAElE,qBAAa,wBAAwB;IAC7B,QAAQ,SAAM;IACd,OAAO,EAAE,aAAa,CAAM;gBAEvB,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"}
@@ -15,7 +15,7 @@ var __extends = (this && this.__extends) || (function () {
15
15
  };
16
16
  })();
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.MerchandisingStore = void 0;
18
+ exports.SearchMerchandisingStore = exports.ContentType = void 0;
19
19
  var ContentType;
20
20
  (function (ContentType) {
21
21
  ContentType["HEADER"] = "header";
@@ -23,9 +23,9 @@ var ContentType;
23
23
  ContentType["FOOTER"] = "footer";
24
24
  ContentType["LEFT"] = "left";
25
25
  ContentType["INLINE"] = "inline";
26
- })(ContentType || (ContentType = {}));
27
- var MerchandisingStore = /** @class */ (function () {
28
- function MerchandisingStore(services, merchData) {
26
+ })(ContentType = exports.ContentType || (exports.ContentType = {}));
27
+ var SearchMerchandisingStore = /** @class */ (function () {
28
+ function SearchMerchandisingStore(services, merchData) {
29
29
  var _this = this;
30
30
  this.redirect = '';
31
31
  this.content = {};
@@ -33,16 +33,16 @@ 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
  });
40
40
  }
41
41
  }
42
42
  }
43
- return MerchandisingStore;
43
+ return SearchMerchandisingStore;
44
44
  }());
45
- exports.MerchandisingStore = MerchandisingStore;
45
+ exports.SearchMerchandisingStore = SearchMerchandisingStore;
46
46
  var Content = /** @class */ (function (_super) {
47
47
  __extends(Content, _super);
48
48
  function Content(content) {
@@ -1,8 +1,8 @@
1
1
  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
- export declare class PaginationStore {
5
- private services;
4
+ export declare class SearchPaginationStore {
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
  }
@@ -37,4 +36,4 @@ export declare class Page {
37
36
  active?: boolean;
38
37
  });
39
38
  }
40
- //# sourceMappingURL=PaginationStore.d.ts.map
39
+ //# sourceMappingURL=SearchPaginationStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchPaginationStore.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/SearchPaginationStore.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,qBAAqB;IAC1B,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"}
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Page = exports.PaginationStore = void 0;
3
+ exports.Page = exports.SearchPaginationStore = void 0;
4
4
  var mobx_1 = require("mobx");
5
- var PaginationStore = /** @class */ (function () {
6
- function PaginationStore(config, services, paginationData) {
5
+ var SearchPaginationStore = /** @class */ (function () {
6
+ function SearchPaginationStore(config, services, paginationData) {
7
7
  if (paginationData === void 0) { paginationData = {
8
8
  page: undefined,
9
9
  pageSize: undefined,
@@ -49,7 +49,7 @@ var PaginationStore = /** @class */ (function () {
49
49
  setPageSize: mobx_1.action,
50
50
  });
51
51
  }
52
- Object.defineProperty(PaginationStore.prototype, "begin", {
52
+ Object.defineProperty(SearchPaginationStore.prototype, "begin", {
53
53
  get: function () {
54
54
  var _a;
55
55
  if ((_a = this.controllerConfig.settings) === null || _a === void 0 ? void 0 : _a.infinite) {
@@ -60,7 +60,7 @@ var PaginationStore = /** @class */ (function () {
60
60
  enumerable: false,
61
61
  configurable: true
62
62
  });
63
- Object.defineProperty(PaginationStore.prototype, "end", {
63
+ Object.defineProperty(SearchPaginationStore.prototype, "end", {
64
64
  get: function () {
65
65
  if (this.pageSize * this.page > this.totalResults) {
66
66
  return this.totalResults;
@@ -70,14 +70,14 @@ var PaginationStore = /** @class */ (function () {
70
70
  enumerable: false,
71
71
  configurable: true
72
72
  });
73
- Object.defineProperty(PaginationStore.prototype, "multiplePages", {
73
+ Object.defineProperty(SearchPaginationStore.prototype, "multiplePages", {
74
74
  get: function () {
75
75
  return this.pageSize < this.totalResults;
76
76
  },
77
77
  enumerable: false,
78
78
  configurable: true
79
79
  });
80
- Object.defineProperty(PaginationStore.prototype, "current", {
80
+ Object.defineProperty(SearchPaginationStore.prototype, "current", {
81
81
  get: function () {
82
82
  return new Page(this.services, {
83
83
  number: this.page,
@@ -87,7 +87,7 @@ var PaginationStore = /** @class */ (function () {
87
87
  enumerable: false,
88
88
  configurable: true
89
89
  });
90
- Object.defineProperty(PaginationStore.prototype, "first", {
90
+ Object.defineProperty(SearchPaginationStore.prototype, "first", {
91
91
  get: function () {
92
92
  return new Page(this.services, {
93
93
  number: 1,
@@ -97,7 +97,7 @@ var PaginationStore = /** @class */ (function () {
97
97
  enumerable: false,
98
98
  configurable: true
99
99
  });
100
- Object.defineProperty(PaginationStore.prototype, "last", {
100
+ Object.defineProperty(SearchPaginationStore.prototype, "last", {
101
101
  get: function () {
102
102
  return new Page(this.services, {
103
103
  number: this.totalPages,
@@ -107,7 +107,7 @@ var PaginationStore = /** @class */ (function () {
107
107
  enumerable: false,
108
108
  configurable: true
109
109
  });
110
- Object.defineProperty(PaginationStore.prototype, "next", {
110
+ Object.defineProperty(SearchPaginationStore.prototype, "next", {
111
111
  get: function () {
112
112
  if (this.page < this.totalPages) {
113
113
  return new Page(this.services, {
@@ -118,7 +118,7 @@ var PaginationStore = /** @class */ (function () {
118
118
  enumerable: false,
119
119
  configurable: true
120
120
  });
121
- Object.defineProperty(PaginationStore.prototype, "previous", {
121
+ Object.defineProperty(SearchPaginationStore.prototype, "previous", {
122
122
  get: function () {
123
123
  if (this.page > 1) {
124
124
  return new Page(this.services, {
@@ -129,11 +129,12 @@ var PaginationStore = /** @class */ (function () {
129
129
  enumerable: false,
130
130
  configurable: true
131
131
  });
132
- PaginationStore.prototype.getPages = function (min, max) {
132
+ SearchPaginationStore.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;
@@ -168,14 +169,14 @@ var PaginationStore = /** @class */ (function () {
168
169
  }
169
170
  return pages;
170
171
  };
171
- PaginationStore.prototype.setPageSize = function (num) {
172
+ SearchPaginationStore.prototype.setPageSize = function (num) {
172
173
  if (num) {
173
174
  this.services.urlManager.remove('page').set('pageSize', num).go();
174
175
  }
175
176
  };
176
- return PaginationStore;
177
+ return SearchPaginationStore;
177
178
  }());
178
- exports.PaginationStore = PaginationStore;
179
+ exports.SearchPaginationStore = SearchPaginationStore;
179
180
  var Page = /** @class */ (function () {
180
181
  function Page(services, page) {
181
182
  var _a, _b;
@@ -1,11 +1,11 @@
1
1
  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
- export declare class QueryStore {
5
- query: Query;
6
- didYouMean: Query;
7
- originalQuery: Query;
8
- matchType: SearchResponseModelSearchMatchTypeEnum;
4
+ export declare class SearchQueryStore {
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 {
@@ -14,4 +14,4 @@ declare class Query {
14
14
  constructor(services: StoreServices, query: string);
15
15
  }
16
16
  export {};
17
- //# sourceMappingURL=QueryStore.d.ts.map
17
+ //# sourceMappingURL=SearchQueryStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchQueryStore.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/SearchQueryStore.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;AAEnH,qBAAa,gBAAgB;IACrB,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"}