@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
@@ -32,9 +32,9 @@ var FinderStore = /** @class */ (function (_super) {
32
32
  persisted: false,
33
33
  };
34
34
  _this.reset = function () {
35
- var _a;
35
+ var _a, _b;
36
36
  if ((_a = _this.config.persist) === null || _a === void 0 ? void 0 : _a.enabled) {
37
- _this.persistedStorage.clear();
37
+ (_b = _this.persistedStorage) === null || _b === void 0 ? void 0 : _b.clear();
38
38
  _this.state.persisted = false;
39
39
  }
40
40
  if (_this.services.urlManager.state.filter) {
@@ -67,8 +67,8 @@ var FinderStore = /** @class */ (function (_super) {
67
67
  }
68
68
  };
69
69
  FinderStore.prototype.save = function () {
70
- var _a;
71
- if (((_a = this.config.persist) === null || _a === void 0 ? void 0 : _a.enabled) && this.selections.filter(function (selection) { return selection.selected; }).length) {
70
+ var _a, _b;
71
+ if (((_a = this.config.persist) === null || _a === void 0 ? void 0 : _a.enabled) && this.persistedStorage && ((_b = this === null || this === void 0 ? void 0 : this.selections) === null || _b === void 0 ? void 0 : _b.filter(function (selection) { return selection.selected; }).length)) {
72
72
  this.persistedStorage.set('config', this.config);
73
73
  this.persistedStorage.set('data', this.data);
74
74
  this.persistedStorage.set('date', Date.now());
@@ -83,7 +83,7 @@ var FinderStore = /** @class */ (function (_super) {
83
83
  };
84
84
  FinderStore.prototype.loadPersisted = function () {
85
85
  var _a;
86
- if (((_a = this.config.persist) === null || _a === void 0 ? void 0 : _a.enabled) && !this.loaded) {
86
+ if (((_a = this.config.persist) === null || _a === void 0 ? void 0 : _a.enabled) && this.persistedStorage && !this.loaded) {
87
87
  var date = this.persistedStorage.get('date');
88
88
  var data = this.persistedStorage.get('data');
89
89
  var config = this.persistedStorage.get('config');
@@ -106,14 +106,14 @@ var FinderStore = /** @class */ (function (_super) {
106
106
  this.data = JSON.parse(JSON.stringify(data));
107
107
  this.loaded = !!data.pagination;
108
108
  this.meta = data.meta;
109
- this.pagination = new Stores_1.PaginationStore(this.config, this.services, data.pagination);
110
- this.selections = new Stores_2.SelectionStore(this.config, this.services, {
109
+ this.pagination = new Stores_1.SearchPaginationStore(this.config, this.services, data.pagination);
110
+ this.selections = new Stores_2.FinderSelectionStore(this.config, this.services, {
111
111
  state: this.state,
112
- facets: data.facets,
112
+ facets: data.facets || [],
113
113
  meta: this.meta,
114
114
  loading: this.loading,
115
115
  storage: this.storage,
116
- selections: selectedSelections,
116
+ selections: selectedSelections || [],
117
117
  });
118
118
  };
119
119
  return FinderStore;
@@ -0,0 +1,56 @@
1
+ import type { FinderStoreConfig, FinderFieldConfig, StoreServices, SelectedSelection, FinderStoreState } from '../../types';
2
+ import type { StorageStore } from '../../Storage/StorageStore';
3
+ import type { MetaResponseModel, MetaResponseModelFacetGrid, MetaResponseModelFacetHierarchy, MetaResponseModelFacetList, MetaResponseModelFacetPalette, MetaResponseModelFacetSlider, SearchResponseModelFacet, SearchResponseModelFacetRange, SearchResponseModelFacetRangeBuckets, SearchResponseModelFacetValue, SearchResponseModelFacetValueAllOfValues } from '@searchspring/snapi-types';
4
+ export declare type FinderSelectionStoreData = {
5
+ state: FinderStoreState;
6
+ facets: SearchResponseModelFacet[];
7
+ meta: MetaResponseModel;
8
+ loading: boolean;
9
+ storage: StorageStore;
10
+ selections: SelectedSelection[];
11
+ };
12
+ declare type FacetWithMeta = MetaResponseModelFacetGrid & MetaResponseModelFacetHierarchy & MetaResponseModelFacetList & MetaResponseModelFacetPalette & MetaResponseModelFacetSlider & SearchResponseModelFacetValue & SearchResponseModelFacetRange & SearchResponseModelFacetRangeBuckets;
13
+ export declare class FinderSelectionStore extends Array<Selection | SelectionHierarchy> {
14
+ static get [Symbol.species](): ArrayConstructor;
15
+ constructor(config: FinderStoreConfig, services: StoreServices, { state, facets, meta, loading, storage, selections }: FinderSelectionStoreData);
16
+ }
17
+ declare class SelectionBase {
18
+ state: FinderStoreState;
19
+ type: string;
20
+ field: string;
21
+ filtered: boolean;
22
+ collapsed: boolean;
23
+ display: string;
24
+ label: string;
25
+ multiple: string;
26
+ id: string;
27
+ disabled: boolean;
28
+ selected: string;
29
+ custom: {};
30
+ facet: any;
31
+ services: StoreServices;
32
+ loading: boolean;
33
+ config: FinderFieldConfig | LevelConfig;
34
+ data?: SearchResponseModelFacetValueAllOfValues[];
35
+ storage: any;
36
+ constructor(services: StoreServices, id: string, state: FinderStoreState, facet: FacetWithMeta, selectionConfig: FinderFieldConfig | LevelConfig, loading: boolean, storageStore: StorageStore);
37
+ get values(): SearchResponseModelFacetValueAllOfValues[];
38
+ }
39
+ declare class Selection extends SelectionBase {
40
+ config: FinderFieldConfig;
41
+ constructor(services: StoreServices, id: string, state: FinderStoreState, facet: FacetWithMeta, config: FinderFieldConfig, loading: boolean, storageStore: StorageStore);
42
+ select(value?: string): void;
43
+ }
44
+ declare class SelectionHierarchy extends SelectionBase {
45
+ hierarchyDelimiter: string;
46
+ config: LevelConfig;
47
+ constructor(services: StoreServices, id: string, state: FinderStoreState, facet: FacetWithMeta, config: LevelConfig, loading: boolean, storageStore: StorageStore);
48
+ select(value?: string): void;
49
+ }
50
+ declare type LevelConfig = {
51
+ index: number;
52
+ label?: string;
53
+ key: string;
54
+ };
55
+ export {};
56
+ //# sourceMappingURL=FinderSelectionStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FinderSelectionStore.d.ts","sourceRoot":"","sources":["../../../../src/Finder/Stores/FinderSelectionStore.ts"],"names":[],"mappings":"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"}
@@ -35,10 +35,10 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
35
35
  return to.concat(ar || Array.prototype.slice.call(from));
36
36
  };
37
37
  Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.SelectionStore = void 0;
39
- var SelectionStore = /** @class */ (function (_super) {
40
- __extends(SelectionStore, _super);
41
- function SelectionStore(config, services, _a) {
38
+ exports.FinderSelectionStore = void 0;
39
+ var FinderSelectionStore = /** @class */ (function (_super) {
40
+ __extends(FinderSelectionStore, _super);
41
+ function FinderSelectionStore(config, services, _a) {
42
42
  var state = _a.state, facets = _a.facets, meta = _a.meta, loading = _a.loading, storage = _a.storage, selections = _a.selections;
43
43
  var _b;
44
44
  var selectedSelections = [];
@@ -92,20 +92,21 @@ var SelectionStore = /** @class */ (function (_super) {
92
92
  return fields.indexOf(a.field) - fields.indexOf(b.field);
93
93
  });
94
94
  (_b = config === null || config === void 0 ? void 0 : config.fields) === null || _b === void 0 ? void 0 : _b.forEach(function (fieldObj) {
95
- var _a;
96
- var facet = facets === null || facets === void 0 ? void 0 : facets.filter(function (facet) { return facet.field == fieldObj.field; }).pop();
97
- facet = __assign(__assign({}, meta === null || meta === void 0 ? void 0 : meta.facets[fieldObj.field]), facet);
98
- var isHierarchy = facet.display === 'hierarchy';
95
+ var _a, _b, _c, _d, _e;
96
+ var facet = facets.filter(function (facet) { return facet.field == fieldObj.field; }).pop();
97
+ facet = __assign(__assign({}, (((meta === null || meta === void 0 ? void 0 : meta.facets) && meta.facets[fieldObj.field]) || {})), facet);
98
+ var isHierarchy = (facet === null || facet === void 0 ? void 0 : facet.display) === 'hierarchy';
99
99
  if (isHierarchy) {
100
100
  // filter out history/current hierarchy values
101
- var filtered = facet.filtered && facet.values.filter(function (value) { return value.filtered; }).pop();
101
+ var filtered = (_a = facet.values) === null || _a === void 0 ? void 0 : _a.filter(function (value) { return value.filtered; }).pop();
102
102
  if (filtered) {
103
- var filteredLevel_1 = filtered.value.split(facet.hierarchyDelimiter).length;
104
- facet.values = facet.values.filter(function (value, index) {
105
- return (value.value && value.value.split(facet.hierarchyDelimiter).length > filteredLevel_1) || index == facet.values.length - 1;
103
+ var filteredLevel_1 = (_b = filtered.value) === null || _b === void 0 ? void 0 : _b.split(facet === null || facet === void 0 ? void 0 : facet.hierarchyDelimiter).length;
104
+ facet.values = (_c = facet.values) === null || _c === void 0 ? void 0 : _c.filter(function (value, index) {
105
+ var _a;
106
+ return (value.value && value.value.split(facet === null || facet === void 0 ? void 0 : facet.hierarchyDelimiter).length > filteredLevel_1) || index == ((_a = facet.values) === null || _a === void 0 ? void 0 : _a.length) - 1;
106
107
  });
107
108
  }
108
- var levels = (fieldObj === null || fieldObj === void 0 ? void 0 : fieldObj.levels) || ((_a = facet === null || facet === void 0 ? void 0 : facet.values[(facet === null || facet === void 0 ? void 0 : facet.values.length) - 1]) === null || _a === void 0 ? void 0 : _a.value.split(facet.hierarchyDelimiter));
109
+ var levels = (fieldObj === null || fieldObj === void 0 ? void 0 : fieldObj.levels) || ((facet === null || facet === void 0 ? void 0 : facet.values) && ((_e = facet === null || facet === void 0 ? void 0 : facet.values[((_d = facet === null || facet === void 0 ? void 0 : facet.values) === null || _d === void 0 ? void 0 : _d.length) - 1].value) === null || _e === void 0 ? void 0 : _e.split(facet.hierarchyDelimiter)));
109
110
  levels === null || levels === void 0 ? void 0 : levels.map(function (level, index) {
110
111
  var levelConfig = { index: index, label: fieldObj.levels ? level : '', key: "ss-".concat(index) };
111
112
  selectedSelections.push(new SelectionHierarchy(services, config.id, state, facet, levelConfig, loading, storage));
@@ -118,16 +119,16 @@ var SelectionStore = /** @class */ (function (_super) {
118
119
  }
119
120
  return _super.apply(this, selectedSelections) || this;
120
121
  }
121
- Object.defineProperty(SelectionStore, Symbol.species, {
122
+ Object.defineProperty(FinderSelectionStore, Symbol.species, {
122
123
  get: function () {
123
124
  return Array;
124
125
  },
125
126
  enumerable: false,
126
127
  configurable: true
127
128
  });
128
- return SelectionStore;
129
+ return FinderSelectionStore;
129
130
  }(Array));
130
- exports.SelectionStore = SelectionStore;
131
+ exports.FinderSelectionStore = FinderSelectionStore;
131
132
  var SelectionBase = /** @class */ (function () {
132
133
  function SelectionBase(services, id, state, facet, selectionConfig, loading, storageStore) {
133
134
  this.filtered = false;
@@ -1,2 +1,2 @@
1
- export { SelectionStore } from './SelectionStore';
1
+ export { FinderSelectionStore } from './FinderSelectionStore';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Finder/Stores/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Finder/Stores/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SelectionStore = void 0;
4
- var SelectionStore_1 = require("./SelectionStore");
5
- Object.defineProperty(exports, "SelectionStore", { enumerable: true, get: function () { return SelectionStore_1.SelectionStore; } });
3
+ exports.FinderSelectionStore = void 0;
4
+ var FinderSelectionStore_1 = require("./FinderSelectionStore");
5
+ Object.defineProperty(exports, "FinderSelectionStore", { enumerable: true, get: function () { return FinderSelectionStore_1.FinderSelectionStore; } });
@@ -1,14 +1,15 @@
1
1
  import { AbstractStore } from '../Abstract/AbstractStore';
2
- import { ResultStore } from '../Search/Stores';
3
- import { ProfileStore } from './Stores';
2
+ import { SearchResultStore } from '../Search/Stores';
3
+ import { RecommendationProfileStore } from './Stores';
4
4
  import type { RecommendationStoreConfig, StoreServices } from '../types';
5
+ import type { RecommendCombinedResponseModel } from '@searchspring/snap-client';
5
6
  export declare class RecommendationStore extends AbstractStore {
6
7
  services: StoreServices;
7
8
  loaded: boolean;
8
- profile: ProfileStore;
9
- results: ResultStore;
9
+ profile: RecommendationProfileStore;
10
+ results: SearchResultStore;
10
11
  constructor(config: RecommendationStoreConfig, services: StoreServices);
11
12
  reset(): void;
12
- update(data: any): void;
13
+ update(data?: RecommendCombinedResponseModel): void;
13
14
  }
14
15
  //# sourceMappingURL=RecommendationStore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RecommendationStore.d.ts","sourceRoot":"","sources":["../../../src/Recommendation/RecommendationStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,KAAK,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzE,qBAAa,mBAAoB,SAAQ,aAAa;IACrD,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,UAAS;IACf,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,WAAW,CAAC;gBAET,MAAM,EAAE,yBAAyB,EAAE,QAAQ,EAAE,aAAa;IAiBtE,KAAK,IAAI,IAAI;IAIb,MAAM,CAAC,IAAI,KAAA,GAAG,IAAI;CAMlB"}
1
+ {"version":3,"file":"RecommendationStore.d.ts","sourceRoot":"","sources":["../../../src/Recommendation/RecommendationStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,KAAK,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAEhF,qBAAa,mBAAoB,SAAQ,aAAa;IAC9C,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,UAAS;IACf,OAAO,EAAG,0BAA0B,CAAC;IACrC,OAAO,EAAG,iBAAiB,CAAC;gBAEvB,MAAM,EAAE,yBAAyB,EAAE,QAAQ,EAAE,aAAa;IAiB/D,KAAK,IAAI,IAAI;IAIb,MAAM,CAAC,IAAI,CAAC,EAAE,8BAA8B,GAAG,IAAI;CAM1D"}
@@ -39,13 +39,13 @@ var RecommendationStore = /** @class */ (function (_super) {
39
39
  return _this;
40
40
  }
41
41
  RecommendationStore.prototype.reset = function () {
42
- this.update({});
42
+ this.update();
43
43
  };
44
44
  RecommendationStore.prototype.update = function (data) {
45
45
  this.error = undefined;
46
- this.loaded = !!data.profile;
47
- this.profile = new Stores_2.ProfileStore(this.services, data.profile);
48
- this.results = new Stores_1.ResultStore(this.config, this.services, data.results);
46
+ this.loaded = !!(data === null || data === void 0 ? void 0 : data.profile);
47
+ this.profile = new Stores_2.RecommendationProfileStore(this.services, data);
48
+ this.results = new Stores_1.SearchResultStore(this.config, this.services, data === null || data === void 0 ? void 0 : data.results);
49
49
  };
50
50
  return RecommendationStore;
51
51
  }(AbstractStore_1.AbstractStore));
@@ -0,0 +1,9 @@
1
+ import type { StoreServices } from '../../types';
2
+ import type { RecommendCombinedResponseModel } from '@searchspring/snap-client';
3
+ export declare class RecommendationProfileStore {
4
+ tag: string;
5
+ placement: string;
6
+ display: Record<string, any>;
7
+ constructor(services: StoreServices, data?: RecommendCombinedResponseModel);
8
+ }
9
+ //# sourceMappingURL=RecommendationProfileStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecommendationProfileStore.d.ts","sourceRoot":"","sources":["../../../../src/Recommendation/Stores/RecommendationProfileStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAEhF,qBAAa,0BAA0B;IAC/B,GAAG,EAAG,MAAM,CAAC;IACb,SAAS,EAAG,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;gBAE7B,QAAQ,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,8BAA8B;CAe1E"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RecommendationProfileStore = void 0;
4
+ var mobx_1 = require("mobx");
5
+ var RecommendationProfileStore = /** @class */ (function () {
6
+ function RecommendationProfileStore(services, data) {
7
+ var _a;
8
+ this.display = {};
9
+ if (!((_a = data === null || data === void 0 ? void 0 : data.profile) === null || _a === void 0 ? void 0 : _a.tag)) {
10
+ return;
11
+ }
12
+ this.tag = data.profile.tag;
13
+ this.placement = data.profile.placement;
14
+ this.display = data.profile.display;
15
+ (0, mobx_1.makeObservable)(this, {
16
+ tag: mobx_1.observable,
17
+ placement: mobx_1.observable,
18
+ display: mobx_1.observable,
19
+ });
20
+ }
21
+ return RecommendationProfileStore;
22
+ }());
23
+ exports.RecommendationProfileStore = RecommendationProfileStore;
@@ -1,2 +1,2 @@
1
- export { ProfileStore } from './ProfileStore';
1
+ export { RecommendationProfileStore } from './RecommendationProfileStore';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Recommendation/Stores/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Recommendation/Stores/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ProfileStore = void 0;
4
- var ProfileStore_1 = require("./ProfileStore");
5
- Object.defineProperty(exports, "ProfileStore", { enumerable: true, get: function () { return ProfileStore_1.ProfileStore; } });
3
+ exports.RecommendationProfileStore = void 0;
4
+ var RecommendationProfileStore_1 = require("./RecommendationProfileStore");
5
+ Object.defineProperty(exports, "RecommendationProfileStore", { enumerable: true, get: function () { return RecommendationProfileStore_1.RecommendationProfileStore; } });
@@ -1,26 +1,26 @@
1
1
  import type { SearchResponseModel, MetaResponseModel } from '@searchspring/snapi-types';
2
2
  import type { SearchStoreConfig, StoreServices } from '../types';
3
- import { MerchandisingStore, FacetStore, FilterStore, ResultStore, PaginationStore, SortingStore, QueryStore } from './Stores';
3
+ import { SearchMerchandisingStore, SearchFacetStore, SearchFilterStore, SearchResultStore, SearchPaginationStore, SearchSortingStore, SearchQueryStore } from './Stores';
4
4
  import { AbstractStore } from '../Abstract/AbstractStore';
5
5
  import { StorageStore } from '../Storage/StorageStore';
6
6
  export declare class SearchStore extends AbstractStore {
7
- config: SearchStoreConfig;
8
7
  services: StoreServices;
9
8
  data: SearchResponseModel & {
10
9
  meta: MetaResponseModel;
11
10
  };
12
11
  meta: MetaResponseModel;
13
- merchandising: MerchandisingStore;
14
- search: QueryStore;
15
- facets: FacetStore;
16
- filters: FilterStore;
17
- results: ResultStore;
18
- pagination: PaginationStore;
19
- sorting: SortingStore;
12
+ merchandising: SearchMerchandisingStore;
13
+ search: SearchQueryStore;
14
+ facets: SearchFacetStore;
15
+ filters: SearchFilterStore;
16
+ results: SearchResultStore;
17
+ pagination: SearchPaginationStore;
18
+ sorting: SearchSortingStore;
20
19
  storage: StorageStore;
21
20
  constructor(config: SearchStoreConfig, services: StoreServices);
22
- update(data: SearchResponseModel & {
23
- meta: MetaResponseModel;
21
+ reset(): void;
22
+ update(data?: SearchResponseModel & {
23
+ meta?: MetaResponseModel;
24
24
  }): void;
25
25
  }
26
26
  //# sourceMappingURL=SearchStore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchStore.d.ts","sourceRoot":"","sources":["../../../src/Search/SearchStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACxF,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC/H,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,qBAAa,WAAY,SAAQ,aAAa;IAC7C,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,EAAE,aAAa,CAAC;IACjB,IAAI,EAAE,mBAAmB,GAAG;QAAE,IAAI,EAAE,iBAAiB,CAAA;KAAE,CAAC;IACxD,IAAI,EAAE,iBAAiB,CAAM;IAC7B,aAAa,EAAE,kBAAkB,CAAC;IAClC,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,WAAW,CAAC;IACrB,UAAU,EAAE,eAAe,CAAC;IAC5B,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,YAAY,CAAC;gBAEjB,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,aAAa;IAuB9D,MAAM,CAAC,IAAI,EAAE,mBAAmB,GAAG;QAAE,IAAI,EAAE,iBAAiB,CAAA;KAAE,GAAG,IAAI;CAarE"}
1
+ {"version":3,"file":"SearchStore.d.ts","sourceRoot":"","sources":["../../../src/Search/SearchStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACxF,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACjE,OAAO,EACN,wBAAwB,EACxB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,qBAAa,WAAY,SAAQ,aAAa;IACtC,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,EAAG,mBAAmB,GAAG;QAAE,IAAI,EAAE,iBAAiB,CAAA;KAAE,CAAC;IACzD,IAAI,EAAG,iBAAiB,CAAC;IACzB,aAAa,EAAG,wBAAwB,CAAC;IACzC,MAAM,EAAG,gBAAgB,CAAC;IAC1B,MAAM,EAAG,gBAAgB,CAAC;IAC1B,OAAO,EAAG,iBAAiB,CAAC;IAC5B,OAAO,EAAG,iBAAiB,CAAC;IAC5B,UAAU,EAAG,qBAAqB,CAAC;IACnC,OAAO,EAAG,kBAAkB,CAAC;IAC7B,OAAO,EAAE,YAAY,CAAC;gBAEjB,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,aAAa;IAqCvD,KAAK,IAAI,IAAI;IAIb,MAAM,CAAC,IAAI,GAAE,mBAAmB,GAAG;QAAE,IAAI,CAAC,EAAE,iBAAiB,CAAA;KAAO,GAAG,IAAI;CAalF"}
@@ -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);
55
- 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);
57
- 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);
67
+ this.meta = data.meta || {};
68
+ this.merchandising = new Stores_1.SearchMerchandisingStore(this.services, (data === null || data === void 0 ? void 0 : data.merchandising) || {});
69
+ this.search = new Stores_1.SearchQueryStore(this.services, (data === null || data === void 0 ? void 0 : data.search) || {});
70
+ this.facets = new Stores_1.SearchFacetStore(this.config, this.services, this.storage, data.facets, (data === null || data === void 0 ? void 0 : data.pagination) || {}, this.meta);
71
+ this.filters = new Stores_1.SearchFilterStore(this.services, data.filters, this.meta);
72
+ this.results = new Stores_1.SearchResultStore(this.config, this.services, (data === null || data === void 0 ? void 0 : data.results) || [], data.pagination, data.merchandising);
73
+ this.pagination = new Stores_1.SearchPaginationStore(this.config, this.services, data.pagination);
74
+ this.sorting = new Stores_1.SearchSortingStore(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));
@@ -0,0 +1,76 @@
1
+ import type { UrlManager } from '@searchspring/snap-url-manager';
2
+ import type { StorageStore } from '../../Storage/StorageStore';
3
+ import type { AutocompleteStoreConfig, SearchStoreConfig, StoreServices } from '../../types';
4
+ import type { MetaResponseModel, MetaResponseModelFacet, MetaResponseModelFacetSlider, MetaResponseModelFacetValueMultipleEnum, MetaResponseModelFacetHierarchyAllOf, SearchResponseModelPagination, SearchResponseModelFacet, SearchResponseModelFacetRange, SearchResponseModelFacetValue, SearchResponseModelFacetValueAllOfValues, SearchRequestModelFilterRangeAllOfValue } from '@searchspring/snapi-types';
5
+ export declare class SearchFacetStore extends Array {
6
+ static get [Symbol.species](): ArrayConstructor;
7
+ constructor(config: SearchStoreConfig | AutocompleteStoreConfig, services: StoreServices, storage: StorageStore, facetsData: SearchResponseModelFacet[], pagination: SearchResponseModelPagination, meta: MetaResponseModel);
8
+ }
9
+ export 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<FacetHierarchyValue | FacetValue | FacetRangeValue | 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(): (FacetHierarchyValue | FacetValue | FacetRangeValue)[];
50
+ }
51
+ export declare class FacetValue {
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 FacetHierarchyValue extends FacetValue {
62
+ level: number;
63
+ history: boolean;
64
+ constructor(services: StoreServices, facet: ValueFacet & MetaResponseModelFacetHierarchyAllOf, value: SearchResponseModelFacetValueAllOfValues, filteredValues: SearchResponseModelFacetValueAllOfValues[]);
65
+ }
66
+ export declare class FacetRangeValue {
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
+ //# sourceMappingURL=SearchFacetStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchFacetStore.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/SearchFacetStore.ts"],"names":[],"mappings":"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"}