@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
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.QueryStore = void 0;
3
+ exports.SearchQueryStore = void 0;
4
4
  var mobx_1 = require("mobx");
5
- var QueryStore = /** @class */ (function () {
6
- function QueryStore(services, search) {
5
+ var SearchQueryStore = /** @class */ (function () {
6
+ function SearchQueryStore(services, search) {
7
7
  var observables = {};
8
8
  if (search === null || search === void 0 ? void 0 : search.query) {
9
9
  this.query = new Query(services, search.query);
@@ -23,9 +23,9 @@ var QueryStore = /** @class */ (function () {
23
23
  }
24
24
  (0, mobx_1.makeObservable)(this, observables);
25
25
  }
26
- return QueryStore;
26
+ return SearchQueryStore;
27
27
  }());
28
- exports.QueryStore = QueryStore;
28
+ exports.SearchQueryStore = SearchQueryStore;
29
29
  var Query = /** @class */ (function () {
30
30
  function Query(services, query) {
31
31
  this.string = query;
@@ -0,0 +1,34 @@
1
+ import type { SearchStoreConfig, AutocompleteStoreConfig, StoreServices } from '../../types';
2
+ import type { SearchResponseModelResult, SearchResponseModelPagination, SearchResponseModelMerchandising, SearchResponseModelResultMappings, SearchResponseModelMerchandisingContentInline, SearchResponseModelMerchandisingContentConfig } from '@searchspring/snapi-types';
3
+ export declare class SearchResultStore extends Array<Product | Banner> {
4
+ static get [Symbol.species](): ArrayConstructor;
5
+ constructor(config: SearchStoreConfig | AutocompleteStoreConfig, services: StoreServices, resultData?: SearchResponseModelResult[], paginationData?: SearchResponseModelPagination, merchData?: SearchResponseModelMerchandising);
6
+ }
7
+ export declare class Banner {
8
+ type: string;
9
+ id: string;
10
+ attributes: Record<string, unknown>;
11
+ mappings: SearchResponseModelResultMappings;
12
+ custom: {};
13
+ config: SearchResponseModelMerchandisingContentConfig;
14
+ value: string;
15
+ constructor(services: StoreServices, banner: SearchResponseModelMerchandisingContentInline);
16
+ }
17
+ export declare class Product {
18
+ type: string;
19
+ id: string;
20
+ attributes: Record<string, unknown>;
21
+ mappings: SearchResponseModelResultMappings;
22
+ custom: {};
23
+ children?: Array<Child>;
24
+ constructor(services: StoreServices, result: SearchResponseModelResult);
25
+ }
26
+ declare class Child {
27
+ type: string;
28
+ id: string;
29
+ attributes: Record<string, unknown>;
30
+ custom: {};
31
+ constructor(services: StoreServices, result: SearchResponseModelResult);
32
+ }
33
+ export {};
34
+ //# sourceMappingURL=SearchResultStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchResultStore.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/SearchResultStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC7F,OAAO,KAAK,EACX,yBAAyB,EACzB,6BAA6B,EAC7B,gCAAgC,EAChC,iCAAiC,EACjC,6CAA6C,EAC7C,6CAA6C,EAC7C,MAAM,2BAA2B,CAAC;AAEnC,qBAAa,iBAAkB,SAAQ,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC7D,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAE9C;gBAGA,MAAM,EAAE,iBAAiB,GAAG,uBAAuB,EACnD,QAAQ,EAAE,aAAa,EACvB,UAAU,CAAC,EAAE,yBAAyB,EAAE,EACxC,cAAc,CAAC,EAAE,6BAA6B,EAC9C,SAAS,CAAC,EAAE,gCAAgC;CAqB7C;AAED,qBAAa,MAAM;IACX,IAAI,SAAY;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IACzC,QAAQ,EAAE,iCAAiC,CAEhD;IACK,MAAM,KAAM;IACZ,MAAM,EAAE,6CAA6C,CAAC;IACtD,KAAK,EAAE,MAAM,CAAC;gBAET,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,6CAA6C;CAW1F;AAED,qBAAa,OAAO;IACZ,IAAI,SAAa;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IACzC,QAAQ,EAAE,iCAAiC,CAEhD;IACK,MAAM,KAAM;IACZ,QAAQ,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAM;gBAExB,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,yBAAyB;CA8BtE;AAED,cAAM,KAAK;IACH,IAAI,SAAW;IACf,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IACzC,MAAM,KAAM;gBAEP,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,yBAAyB;CAUtE"}
@@ -26,11 +26,11 @@ var __assign = (this && this.__assign) || function () {
26
26
  return __assign.apply(this, arguments);
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.ResultStore = void 0;
29
+ exports.Product = exports.Banner = exports.SearchResultStore = void 0;
30
30
  var mobx_1 = require("mobx");
31
- var ResultStore = /** @class */ (function (_super) {
32
- __extends(ResultStore, _super);
33
- function ResultStore(config, services, resultData, paginationData, merchData) {
31
+ var SearchResultStore = /** @class */ (function (_super) {
32
+ __extends(SearchResultStore, _super);
33
+ function SearchResultStore(config, services, resultData, paginationData, merchData) {
34
34
  var _a;
35
35
  var results = (resultData || []).map(function (result) {
36
36
  return new Product(services, result);
@@ -49,16 +49,16 @@ var ResultStore = /** @class */ (function (_super) {
49
49
  }
50
50
  return _super.apply(this, results) || this;
51
51
  }
52
- Object.defineProperty(ResultStore, Symbol.species, {
52
+ Object.defineProperty(SearchResultStore, Symbol.species, {
53
53
  get: function () {
54
54
  return Array;
55
55
  },
56
56
  enumerable: false,
57
57
  configurable: true
58
58
  });
59
- return ResultStore;
59
+ return SearchResultStore;
60
60
  }(Array));
61
- exports.ResultStore = ResultStore;
61
+ exports.SearchResultStore = SearchResultStore;
62
62
  var Banner = /** @class */ (function () {
63
63
  function Banner(services, banner) {
64
64
  this.type = 'banner';
@@ -78,6 +78,7 @@ var Banner = /** @class */ (function () {
78
78
  }
79
79
  return Banner;
80
80
  }());
81
+ exports.Banner = Banner;
81
82
  var Product = /** @class */ (function () {
82
83
  function Product(services, result) {
83
84
  var _a;
@@ -102,7 +103,7 @@ var Product = /** @class */ (function () {
102
103
  custom: mobx_1.observable,
103
104
  });
104
105
  // must set all subo
105
- var coreObservables = Object.keys(result.mappings.core).reduce(function (map, key) {
106
+ var coreObservables = Object.keys(this.mappings.core).reduce(function (map, key) {
106
107
  var _a;
107
108
  return __assign(__assign({}, map), (_a = {}, _a[key] = mobx_1.observable, _a));
108
109
  }, {});
@@ -110,6 +111,7 @@ var Product = /** @class */ (function () {
110
111
  }
111
112
  return Product;
112
113
  }());
114
+ exports.Product = Product;
113
115
  var Child = /** @class */ (function () {
114
116
  function Child(services, result) {
115
117
  this.type = 'child';
@@ -0,0 +1,25 @@
1
+ import type { UrlManager } from '@searchspring/snap-url-manager';
2
+ import type { StoreServices } from '../../types';
3
+ import type { MetaResponseModel, MetaResponseModelSortOption, SearchResponseModelSearch, SearchResponseModelSorting } from '@searchspring/snapi-types';
4
+ declare type MetaResponseModelSortOptionMutated = MetaResponseModelSortOption & {
5
+ active?: boolean;
6
+ default?: boolean;
7
+ };
8
+ export declare class SearchSortingStore {
9
+ options: Option[];
10
+ constructor(services: StoreServices, sorting: SearchResponseModelSorting[], search: SearchResponseModelSearch, meta: MetaResponseModel);
11
+ get current(): Option | undefined;
12
+ }
13
+ declare class Option {
14
+ active: boolean;
15
+ default: boolean;
16
+ field: string;
17
+ label: string;
18
+ direction: string;
19
+ type: string;
20
+ value: string;
21
+ url: UrlManager;
22
+ constructor(services: StoreServices, option: MetaResponseModelSortOptionMutated, index: number);
23
+ }
24
+ export {};
25
+ //# sourceMappingURL=SearchSortingStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchSortingStore.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/SearchSortingStore.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,iBAAiB,EACjB,2BAA2B,EAC3B,yBAAyB,EACzB,0BAA0B,EAC1B,MAAM,2BAA2B,CAAC;AAEnC,aAAK,kCAAkC,GAAG,2BAA2B,GAAG;IACvE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,qBAAa,kBAAkB;IACvB,OAAO,EAAE,MAAM,EAAE,CAAM;gBAElB,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,0BAA0B,EAAE,EAAE,MAAM,EAAE,yBAAyB,EAAE,IAAI,EAAE,iBAAiB;IAsCtI,IAAW,OAAO,IAAI,MAAM,GAAG,SAAS,CAEvC;CACD;AAED,cAAM,MAAM;IACJ,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,UAAU,CAAC;gBAEX,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,kCAAkC,EAAE,KAAK,EAAE,MAAM;CAuB9F"}
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SortingStore = void 0;
3
+ exports.SearchSortingStore = void 0;
4
4
  var mobx_1 = require("mobx");
5
- var SortingStore = /** @class */ (function () {
6
- function SortingStore(services, sorting, search, meta) {
5
+ var SearchSortingStore = /** @class */ (function () {
6
+ function SearchSortingStore(services, sorting, search, meta) {
7
7
  this.options = [];
8
8
  if (services && meta.sortOptions) {
9
- var activeSort_1 = sorting && sorting.length && sorting[0];
10
- this.options = meta.sortOptions
9
+ var activeSort_1 = (sorting === null || sorting === void 0 ? void 0 : sorting.length) && sorting[0];
10
+ var options = (meta.sortOptions || [])
11
11
  .filter(function (option) {
12
12
  if (!(search === null || search === void 0 ? void 0 : search.query)) {
13
13
  return option.type == 'field';
@@ -16,9 +16,7 @@ var SortingStore = /** @class */ (function () {
16
16
  })
17
17
  .map(function (option, index) {
18
18
  option.active = false;
19
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
20
- // @ts-ignore
21
- if (activeSort_1 && activeSort_1.field == option.field && activeSort_1.direction == option.direction) {
19
+ if (activeSort_1 && activeSort_1.field == option.field && String(activeSort_1.direction) == String(option.direction)) {
22
20
  option.active = true;
23
21
  }
24
22
  else if (!activeSort_1 && index === 0) {
@@ -32,22 +30,23 @@ var SortingStore = /** @class */ (function () {
32
30
  var optionObj = new Option(services, option, index);
33
31
  return optionObj;
34
32
  });
33
+ this.options = options;
35
34
  (0, mobx_1.makeObservable)(this, {
36
35
  options: mobx_1.observable,
37
36
  current: mobx_1.computed,
38
37
  });
39
38
  }
40
39
  }
41
- Object.defineProperty(SortingStore.prototype, "current", {
40
+ Object.defineProperty(SearchSortingStore.prototype, "current", {
42
41
  get: function () {
43
42
  return this.options.filter(function (option) { return option.active; }).pop();
44
43
  },
45
44
  enumerable: false,
46
45
  configurable: true
47
46
  });
48
- return SortingStore;
47
+ return SearchSortingStore;
49
48
  }());
50
- exports.SortingStore = SortingStore;
49
+ exports.SearchSortingStore = SearchSortingStore;
51
50
  var Option = /** @class */ (function () {
52
51
  function Option(services, option, index) {
53
52
  this.active = option.active;
@@ -1,8 +1,8 @@
1
- export { MerchandisingStore } from './MerchandisingStore';
2
- export { FacetStore } from './FacetStore';
3
- export { FilterStore } from './FilterStore';
4
- export { PaginationStore } from './PaginationStore';
5
- export { ResultStore } from './ResultStore';
6
- export { SortingStore } from './SortingStore';
7
- export { QueryStore } from './QueryStore';
1
+ export { SearchMerchandisingStore, BannerContent, ContentType } from './SearchMerchandisingStore';
2
+ export { SearchFacetStore, ValueFacet, RangeFacet, FacetValue, FacetHierarchyValue, FacetRangeValue } from './SearchFacetStore';
3
+ export { SearchFilterStore, Filter } from './SearchFilterStore';
4
+ export { SearchPaginationStore } from './SearchPaginationStore';
5
+ export { SearchResultStore, Product, Banner } from './SearchResultStore';
6
+ export { SearchSortingStore } from './SearchSortingStore';
7
+ export { SearchQueryStore } from './SearchQueryStore';
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Search/Stores/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAClG,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAChI,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,17 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.QueryStore = exports.SortingStore = exports.ResultStore = exports.PaginationStore = exports.FilterStore = exports.FacetStore = exports.MerchandisingStore = void 0;
4
- var MerchandisingStore_1 = require("./MerchandisingStore");
5
- Object.defineProperty(exports, "MerchandisingStore", { enumerable: true, get: function () { return MerchandisingStore_1.MerchandisingStore; } });
6
- var FacetStore_1 = require("./FacetStore");
7
- Object.defineProperty(exports, "FacetStore", { enumerable: true, get: function () { return FacetStore_1.FacetStore; } });
8
- var FilterStore_1 = require("./FilterStore");
9
- Object.defineProperty(exports, "FilterStore", { enumerable: true, get: function () { return FilterStore_1.FilterStore; } });
10
- var PaginationStore_1 = require("./PaginationStore");
11
- Object.defineProperty(exports, "PaginationStore", { enumerable: true, get: function () { return PaginationStore_1.PaginationStore; } });
12
- var ResultStore_1 = require("./ResultStore");
13
- Object.defineProperty(exports, "ResultStore", { enumerable: true, get: function () { return ResultStore_1.ResultStore; } });
14
- var SortingStore_1 = require("./SortingStore");
15
- Object.defineProperty(exports, "SortingStore", { enumerable: true, get: function () { return SortingStore_1.SortingStore; } });
16
- var QueryStore_1 = require("./QueryStore");
17
- Object.defineProperty(exports, "QueryStore", { enumerable: true, get: function () { return QueryStore_1.QueryStore; } });
3
+ exports.SearchQueryStore = exports.SearchSortingStore = exports.Banner = exports.Product = exports.SearchResultStore = exports.SearchPaginationStore = exports.Filter = exports.SearchFilterStore = exports.FacetRangeValue = exports.FacetHierarchyValue = exports.FacetValue = exports.RangeFacet = exports.ValueFacet = exports.SearchFacetStore = exports.ContentType = exports.SearchMerchandisingStore = void 0;
4
+ var SearchMerchandisingStore_1 = require("./SearchMerchandisingStore");
5
+ Object.defineProperty(exports, "SearchMerchandisingStore", { enumerable: true, get: function () { return SearchMerchandisingStore_1.SearchMerchandisingStore; } });
6
+ Object.defineProperty(exports, "ContentType", { enumerable: true, get: function () { return SearchMerchandisingStore_1.ContentType; } });
7
+ var SearchFacetStore_1 = require("./SearchFacetStore");
8
+ Object.defineProperty(exports, "SearchFacetStore", { enumerable: true, get: function () { return SearchFacetStore_1.SearchFacetStore; } });
9
+ Object.defineProperty(exports, "ValueFacet", { enumerable: true, get: function () { return SearchFacetStore_1.ValueFacet; } });
10
+ Object.defineProperty(exports, "RangeFacet", { enumerable: true, get: function () { return SearchFacetStore_1.RangeFacet; } });
11
+ Object.defineProperty(exports, "FacetValue", { enumerable: true, get: function () { return SearchFacetStore_1.FacetValue; } });
12
+ Object.defineProperty(exports, "FacetHierarchyValue", { enumerable: true, get: function () { return SearchFacetStore_1.FacetHierarchyValue; } });
13
+ Object.defineProperty(exports, "FacetRangeValue", { enumerable: true, get: function () { return SearchFacetStore_1.FacetRangeValue; } });
14
+ var SearchFilterStore_1 = require("./SearchFilterStore");
15
+ Object.defineProperty(exports, "SearchFilterStore", { enumerable: true, get: function () { return SearchFilterStore_1.SearchFilterStore; } });
16
+ Object.defineProperty(exports, "Filter", { enumerable: true, get: function () { return SearchFilterStore_1.Filter; } });
17
+ var SearchPaginationStore_1 = require("./SearchPaginationStore");
18
+ Object.defineProperty(exports, "SearchPaginationStore", { enumerable: true, get: function () { return SearchPaginationStore_1.SearchPaginationStore; } });
19
+ var SearchResultStore_1 = require("./SearchResultStore");
20
+ Object.defineProperty(exports, "SearchResultStore", { enumerable: true, get: function () { return SearchResultStore_1.SearchResultStore; } });
21
+ Object.defineProperty(exports, "Product", { enumerable: true, get: function () { return SearchResultStore_1.Product; } });
22
+ Object.defineProperty(exports, "Banner", { enumerable: true, get: function () { return SearchResultStore_1.Banner; } });
23
+ var SearchSortingStore_1 = require("./SearchSortingStore");
24
+ Object.defineProperty(exports, "SearchSortingStore", { enumerable: true, get: function () { return SearchSortingStore_1.SearchSortingStore; } });
25
+ var SearchQueryStore_1 = require("./SearchQueryStore");
26
+ Object.defineProperty(exports, "SearchQueryStore", { enumerable: true, get: function () { return SearchQueryStore_1.SearchQueryStore; } });
@@ -1,12 +1,12 @@
1
1
  export declare class StorageStore {
2
- type: StorageType | null;
3
- expiration: number;
4
- sameSite: any;
5
- key: string;
6
- state: {};
2
+ private type;
3
+ private expiration;
4
+ private sameSite;
5
+ private key;
6
+ state: Record<string, any>;
7
7
  constructor(config?: StorageConfig);
8
8
  set(path: string, value: any): void;
9
- get(path: string): any;
9
+ get(path: string): any | undefined;
10
10
  clear(): void;
11
11
  }
12
12
  export declare type StorageConfig = {
@@ -1 +1 @@
1
- {"version":3,"file":"StorageStore.d.ts","sourceRoot":"","sources":["../../../src/Storage/StorageStore.ts"],"names":[],"mappings":"AAMA,qBAAa,YAAY;IACxB,IAAI,EAAE,WAAW,GAAG,IAAI,CAAQ;IAChC,UAAU,SAAe;IACzB,QAAQ,MAAa;IACrB,GAAG,SAAgB;IACnB,KAAK,KAAM;gBAEC,MAAM,CAAC,EAAE,aAAa;IA8ClC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAyBnC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG;IA+BtB,KAAK,IAAI,IAAI;CAcb;AAED,oBAAY,aAAa,GAAG;IAC3B,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,GAAG,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,oBAAY,WAAW;IACtB,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,MAAM,WAAW;CACjB"}
1
+ {"version":3,"file":"StorageStore.d.ts","sourceRoot":"","sources":["../../../src/Storage/StorageStore.ts"],"names":[],"mappings":"AAMA,qBAAa,YAAY;IACxB,OAAO,CAAC,IAAI,CAA4B;IACxC,OAAO,CAAC,UAAU,CAAe;IACjC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,GAAG,CAAgB;IACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;gBAE3B,MAAM,CAAC,EAAE,aAAa;IA8C3B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAyBnC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS;IAiClC,KAAK,IAAI,IAAI;CAcpB;AAED,oBAAY,aAAa,GAAG;IAC3B,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,GAAG,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,oBAAY,WAAW;IACtB,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,MAAM,WAAW;CACjB"}
@@ -10,7 +10,7 @@ var StorageStore = /** @class */ (function () {
10
10
  var _a, _b;
11
11
  this.type = null;
12
12
  this.expiration = 31536000000; // one year (ms)
13
- this.sameSite = undefined;
13
+ this.sameSite = 'Lax';
14
14
  this.key = 'ss-storage';
15
15
  this.state = {};
16
16
  if (config) {
@@ -83,10 +83,12 @@ var StorageStore = /** @class */ (function () {
83
83
  StorageStore.prototype.get = function (path) {
84
84
  switch (this.type) {
85
85
  case StorageType.SESSION:
86
- this.state = JSON.parse(window.sessionStorage.getItem(this.key)) || {};
86
+ var sessionData = window.sessionStorage.getItem(this.key);
87
+ this.state = sessionData ? JSON.parse(sessionData) : {};
87
88
  break;
88
89
  case StorageType.LOCAL:
89
- this.state = JSON.parse(window.localStorage.getItem(this.key)) || {};
90
+ var localData = window.localStorage.getItem(this.key);
91
+ this.state = localData ? JSON.parse(localData) : {};
90
92
  break;
91
93
  case StorageType.COOKIE:
92
94
  var data = utils.cookies.get(this.key);
@@ -105,8 +107,8 @@ var StorageStore = /** @class */ (function () {
105
107
  value = value[p];
106
108
  }
107
109
  else {
108
- value = undefined;
109
- break;
110
+ value = {};
111
+ return;
110
112
  }
111
113
  }
112
114
  return value;
@@ -2,6 +2,7 @@ export { AbstractStore } from './Abstract/AbstractStore';
2
2
  export { AutocompleteStore } from './Autocomplete/AutocompleteStore';
3
3
  export { FinderStore } from './Finder/FinderStore';
4
4
  export { SearchStore } from './Search/SearchStore';
5
+ export * from './Search/Stores/';
5
6
  export { RecommendationStore } from './Recommendation/RecommendationStore';
6
7
  export { StorageStore, StorageConfig, StorageType } from './Storage/StorageStore';
7
8
  export * from './types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAElF,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAElF,cAAc,SAAS,CAAC"}
package/dist/cjs/index.js CHANGED
@@ -23,6 +23,7 @@ var FinderStore_1 = require("./Finder/FinderStore");
23
23
  Object.defineProperty(exports, "FinderStore", { enumerable: true, get: function () { return FinderStore_1.FinderStore; } });
24
24
  var SearchStore_1 = require("./Search/SearchStore");
25
25
  Object.defineProperty(exports, "SearchStore", { enumerable: true, get: function () { return SearchStore_1.SearchStore; } });
26
+ __exportStar(require("./Search/Stores/"), exports);
26
27
  var RecommendationStore_1 = require("./Recommendation/RecommendationStore");
27
28
  Object.defineProperty(exports, "RecommendationStore", { enumerable: true, get: function () { return RecommendationStore_1.RecommendationStore; } });
28
29
  var StorageStore_1 = require("./Storage/StorageStore");
@@ -21,7 +21,7 @@ export declare type SearchStoreConfig = StoreConfig & {
21
21
  };
22
22
  };
23
23
  };
24
- declare type FacetStoreConfig = {
24
+ export declare type FacetStoreConfig = {
25
25
  trim?: boolean;
26
26
  pinFiltered?: boolean;
27
27
  storeRange?: boolean;
@@ -65,10 +65,11 @@ export declare type RecommendationStoreConfig = StoreConfig & {
65
65
  branch?: string;
66
66
  realtime?: boolean;
67
67
  batched?: boolean;
68
+ order?: number;
68
69
  };
69
70
  export declare type StoreConfigs = SearchStoreConfig | AutocompleteStoreConfig | FinderStoreConfig | RecommendationStoreConfig;
70
71
  export declare type StoreServices = {
71
- urlManager?: UrlManager;
72
+ urlManager: UrlManager;
72
73
  };
73
74
  export declare enum ErrorType {
74
75
  WARNING = "warning",
@@ -83,5 +84,4 @@ export declare type SelectedSelection = {
83
84
  export declare type FinderStoreState = {
84
85
  persisted: boolean;
85
86
  };
86
- export {};
87
87
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,wCAAwC,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAExI,oBAAY,WAAW,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB,CAAC;AAGF,oBAAY,iBAAiB,GAAG,WAAW,GAAG;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACtC,QAAQ,CAAC,EAAE;QACV,SAAS,CAAC,EAAE;YACX,aAAa,CAAC,EAAE,OAAO,CAAC;YACxB,YAAY,CAAC,EAAE,OAAO,CAAC;SACvB,CAAC;QACF,MAAM,CAAC,EAAE,gBAAgB,GAAG;YAC3B,MAAM,CAAC,EAAE;gBACR,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAAC;aAClC,CAAC;SACF,CAAC;QACF,QAAQ,CAAC,EAAE;YACV,QAAQ,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC;KACF,CAAC;CACF,CAAC;AAEF,oBAAY,gBAAgB,GAAG;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAGF,oBAAY,iBAAiB,GAAG,WAAW,GAAG;IAC7C,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,UAAU,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACF,CAAC;AAEF,oBAAY,iBAAiB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAGF,oBAAY,uBAAuB,GAAG,WAAW,GAAG;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE;QACV,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,MAAM,CAAC,EAAE,gBAAgB,GAAG;YAC3B,MAAM,CAAC,EAAE;gBACR,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAAC;aAClC,CAAC;SACF,CAAC;QACF,QAAQ,CAAC,EAAE;YACV,KAAK,EAAE,MAAM,CAAC;YACd,WAAW,CAAC,EAAE,OAAO,CAAC;SACtB,CAAC;KACF,CAAC;CACF,CAAC;AAGF,oBAAY,yBAAyB,GAAG,WAAW,GAAG;IACrD,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,oBAAY,YAAY,GAAG,iBAAiB,GAAG,uBAAuB,GAAG,iBAAiB,GAAG,yBAAyB,CAAC;AAEvH,oBAAY,aAAa,GAAG;IAC3B,UAAU,EAAE,UAAU,CAAC;CACvB,CAAC;AAEF,oBAAY,SAAS;IACpB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,KAAK,UAAU;CACf;AAED,oBAAY,iBAAiB,GAAG;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,wCAAwC,EAAE,CAAC;IACjD,KAAK,EAAE,GAAG,CAAC;CACX,CAAC;AAEF,oBAAY,gBAAgB,GAAG;IAC9B,SAAS,EAAE,OAAO,CAAC;CACnB,CAAC"}
@@ -1,14 +1,13 @@
1
1
  import type { StoreConfigs, ErrorType } from '../types';
2
2
  export declare abstract class AbstractStore {
3
- protected controller: any;
4
3
  custom: {};
5
4
  loading: boolean;
6
5
  loaded: boolean;
7
6
  error: {
8
7
  code?: number;
9
- type: ErrorType;
10
- message: string;
11
- };
8
+ type?: ErrorType;
9
+ message?: string;
10
+ } | undefined;
12
11
  config: StoreConfigs;
13
12
  constructor(config: StoreConfigs);
14
13
  setConfig(newConfig: StoreConfigs): void;
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractStore.d.ts","sourceRoot":"","sources":["../../../src/Abstract/AbstractStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAOxD,8BAAsB,aAAa;IAClC,SAAS,CAAC,UAAU,MAAC;IACd,MAAM,KAAM;IACZ,OAAO,UAAS;IAChB,MAAM,UAAS;IACf,KAAK,EAAE;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,SAAS,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KAChB,CAAC;IACK,MAAM,EAAE,YAAY,CAAC;gBAEhB,MAAM,EAAE,YAAY;IAUhC,SAAS,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI;IAIxC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAA,GAAG,IAAI;IAE3B,MAAM,CAAC,KAAK,OAAO;CAInB"}
1
+ {"version":3,"file":"AbstractStore.d.ts","sourceRoot":"","sources":["../../../src/Abstract/AbstractStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAMxD,8BAAsB,aAAa;IAC3B,MAAM,KAAM;IACZ,OAAO,UAAS;IAChB,MAAM,UAAS;IACf,KAAK,EACT;QACA,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,SAAS,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAChB,GACD,SAAS,CAAC;IACN,MAAM,EAAE,YAAY,CAAC;gBAEhB,MAAM,EAAE,YAAY;IAUhC,SAAS,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI;IAIxC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;IAEhC,MAAM,CAAC,KAAK,OAAO;CAInB"}
@@ -1,6 +1,5 @@
1
1
  import { makeObservable, observable, toJS, configure } from 'mobx';
2
2
  configure({
3
- // useProxies: "never", // for IE 11 (es5) support
4
3
  enforceActions: 'never',
5
4
  });
6
5
  export class AbstractStore {
@@ -1,32 +1,33 @@
1
- import type { AutocompleteResponseModel, MetaResponseModel } from '@searchspring/snapi-types';
1
+ import { UrlManager } from '@searchspring/snap-url-manager';
2
2
  import { AbstractStore } from '../Abstract/AbstractStore';
3
- import { FilterStore, ResultStore, MerchandisingStore, PaginationStore, SortingStore } from '../Search/Stores';
3
+ import { SearchFilterStore, SearchResultStore, SearchMerchandisingStore, SearchPaginationStore, SearchSortingStore } from '../Search/Stores';
4
4
  import { StorageStore } from '../Storage/StorageStore';
5
+ import { AutocompleteStateStore, AutocompleteTermStore, AutocompleteQueryStore, AutocompleteFacetStore, AutocompleteTrendingStore } from './Stores';
6
+ import type { AutocompleteResponseModel, MetaResponseModel } from '@searchspring/snapi-types';
7
+ import type { TrendingResponseModel } from '@searchspring/snap-client';
5
8
  import type { AutocompleteStoreConfig, StoreServices } from '../types';
6
- import { StateStore, TermStore, QueryStore, FacetStore, TrendingStore } from './Stores';
7
9
  export declare class AutocompleteStore extends AbstractStore {
8
- config: AutocompleteStoreConfig;
9
10
  services: StoreServices;
10
11
  meta: MetaResponseModel;
11
- merchandising: MerchandisingStore;
12
- search: QueryStore;
13
- terms: TermStore;
14
- facets: FacetStore;
15
- filters: FilterStore;
16
- results: ResultStore;
17
- pagination: PaginationStore;
18
- sorting: SortingStore;
19
- state: StateStore;
12
+ merchandising: SearchMerchandisingStore;
13
+ search: AutocompleteQueryStore;
14
+ terms: AutocompleteTermStore;
15
+ facets: AutocompleteFacetStore;
16
+ filters: SearchFilterStore;
17
+ results: SearchResultStore;
18
+ pagination: SearchPaginationStore;
19
+ sorting: SearchSortingStore;
20
+ state: AutocompleteStateStore;
20
21
  storage: StorageStore;
21
- trending: TrendingStore;
22
+ trending: AutocompleteTrendingStore;
22
23
  constructor(config: AutocompleteStoreConfig, services: StoreServices);
23
24
  reset(): void;
24
25
  resetTrending(): void;
25
26
  resetTerms(): void;
26
- setService(name: any, service: any): void;
27
- updateTrendingTerms(data: any): void;
28
- update(data: AutocompleteResponseModel & {
29
- meta: MetaResponseModel;
27
+ setService(name: keyof StoreServices, service: UrlManager): void;
28
+ updateTrendingTerms(data: TrendingResponseModel): void;
29
+ update(data?: AutocompleteResponseModel & {
30
+ meta?: MetaResponseModel;
30
31
  }): void;
31
32
  }
32
33
  //# sourceMappingURL=AutocompleteStore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutocompleteStore.d.ts","sourceRoot":"","sources":["../../../src/Autocomplete/AutocompleteStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9F,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC/G,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEvE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACxF,qBAAa,iBAAkB,SAAQ,aAAa;IACnD,MAAM,EAAE,uBAAuB,CAAC;IAChC,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,EAAE,iBAAiB,CAAM;IAE7B,aAAa,EAAE,kBAAkB,CAAC;IAClC,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,SAAS,CAAC;IACjB,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,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,aAAa,CAAC;gBAEZ,MAAM,EAAE,uBAAuB,EAAE,QAAQ,EAAE,aAAa;IA4BpE,KAAK,IAAI,IAAI;IAMb,aAAa,IAAI,IAAI;IAQrB,UAAU,IAAI,IAAI;IAQlB,UAAU,CAAC,IAAI,KAAA,EAAE,OAAO,KAAA,GAAG,IAAI;IAS/B,mBAAmB,CAAC,IAAI,KAAA,GAAG,IAAI;IAW/B,MAAM,CAAC,IAAI,EAAE,yBAAyB,GAAG;QAAE,IAAI,EAAE,iBAAiB,CAAA;KAAE,GAAG,IAAI;CA8C3E"}
1
+ {"version":3,"file":"AutocompleteStore.d.ts","sourceRoot":"","sources":["../../../src/Autocomplete/AutocompleteStore.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC7I,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAEpJ,OAAO,KAAK,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEvE,qBAAa,iBAAkB,SAAQ,aAAa;IAC5C,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,EAAG,iBAAiB,CAAC;IACzB,aAAa,EAAG,wBAAwB,CAAC;IACzC,MAAM,EAAG,sBAAsB,CAAC;IAChC,KAAK,EAAG,qBAAqB,CAAC;IAC9B,MAAM,EAAG,sBAAsB,CAAC;IAChC,OAAO,EAAG,iBAAiB,CAAC;IAC5B,OAAO,EAAG,iBAAiB,CAAC;IAC5B,UAAU,EAAG,qBAAqB,CAAC;IACnC,OAAO,EAAG,kBAAkB,CAAC;IAC7B,KAAK,EAAE,sBAAsB,CAAC;IAC9B,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,yBAAyB,CAAC;gBAE/B,MAAM,EAAE,uBAAuB,EAAE,QAAQ,EAAE,aAAa;IA4B7D,KAAK,IAAI,IAAI;IAMb,aAAa,IAAI,IAAI;IAQrB,UAAU,IAAI,IAAI;IAMlB,UAAU,CAAC,IAAI,EAAE,MAAM,aAAa,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;IAShE,mBAAmB,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI;IAWtD,MAAM,CAAC,IAAI,GAAE,yBAAyB,GAAG;QAAE,IAAI,CAAC,EAAE,iBAAiB,CAAA;KAAO,GAAG,IAAI;CAuDxF"}
@@ -1,17 +1,16 @@
1
1
  import { makeObservable, observable } from 'mobx';
2
2
  import { AbstractStore } from '../Abstract/AbstractStore';
3
- import { FilterStore, ResultStore, MerchandisingStore, PaginationStore, SortingStore } from '../Search/Stores';
3
+ import { SearchFilterStore, SearchResultStore, SearchMerchandisingStore, SearchPaginationStore, SearchSortingStore } from '../Search/Stores';
4
4
  import { StorageStore } from '../Storage/StorageStore';
5
- import { StateStore, TermStore, QueryStore, FacetStore, TrendingStore } from './Stores';
5
+ import { AutocompleteStateStore, AutocompleteTermStore, AutocompleteQueryStore, AutocompleteFacetStore, AutocompleteTrendingStore } from './Stores';
6
6
  export class AutocompleteStore extends AbstractStore {
7
7
  constructor(config, services) {
8
8
  super(config);
9
- this.meta = {};
10
9
  if (typeof services != 'object' || typeof services.urlManager?.subscribe != 'function') {
11
10
  throw new Error(`Invalid service 'urlManager' passed to AutocompleteStore. Missing "subscribe" function.`);
12
11
  }
13
12
  this.services = services;
14
- this.state = new StateStore(services);
13
+ this.state = new AutocompleteStateStore(services);
15
14
  this.storage = new StorageStore();
16
15
  this.trending = [];
17
16
  this.reset();
@@ -29,7 +28,7 @@ export class AutocompleteStore extends AbstractStore {
29
28
  }
30
29
  reset() {
31
30
  this.state.reset();
32
- this.update({ meta: this.meta });
31
+ this.update();
33
32
  this.resetTrending();
34
33
  }
35
34
  resetTrending() {
@@ -40,11 +39,9 @@ export class AutocompleteStore extends AbstractStore {
40
39
  }
41
40
  }
42
41
  resetTerms() {
43
- if (this.terms?.length > 0) {
44
- this.terms.forEach((term) => {
45
- term.active = false;
46
- });
47
- }
42
+ this.terms?.forEach((term) => {
43
+ term.active = false;
44
+ });
48
45
  }
49
46
  setService(name, service) {
50
47
  if (this.services[name] && service) {
@@ -55,40 +52,42 @@ export class AutocompleteStore extends AbstractStore {
55
52
  }
56
53
  }
57
54
  updateTrendingTerms(data) {
58
- this.trending = new TrendingStore(this.services, data.trending, () => {
55
+ this.trending = new AutocompleteTrendingStore(this.services, data, () => {
59
56
  this.resetTerms();
60
57
  }, this.state);
61
58
  }
62
- update(data) {
59
+ update(data = {}) {
60
+ if (!data)
61
+ return;
63
62
  this.error = undefined;
64
63
  this.loaded = !!data.pagination;
65
- this.meta = data.meta;
64
+ this.meta = data.meta || {};
66
65
  // set the query to match the actual queried term and not the input query
67
66
  if (data.search) {
68
67
  this.state.url = this.services.urlManager = this.services.urlManager.set('query', data.search.query);
69
68
  }
70
69
  // only run if we want to update the terms (not locked)
71
70
  if (!this.state.locks.terms.locked) {
72
- this.terms = new TermStore(this.services, data.autocomplete, data.pagination, () => {
71
+ this.terms = new AutocompleteTermStore(this.services, data.autocomplete || {}, data.pagination || {}, () => {
73
72
  this.resetTrending();
74
73
  }, this.state);
75
74
  // only lock if there was data
76
75
  data.autocomplete && this.state.locks.terms.lock();
77
76
  }
78
- this.merchandising = new MerchandisingStore(this.services, data.merchandising);
79
- this.search = new QueryStore(this.services, data.autocomplete, data.search);
77
+ this.merchandising = new SearchMerchandisingStore(this.services, data.merchandising || {});
78
+ this.search = new AutocompleteQueryStore(this.services, data.autocomplete || {}, data.search || {});
80
79
  // only run if we want to update the facets (not locked)
81
80
  if (!this.state.locks.facets.locked) {
82
- this.facets = new FacetStore(this.config, this.services, this.storage, data.facets, data.pagination, this.meta, this.state);
81
+ this.facets = new AutocompleteFacetStore(this.config, this.services, this.storage, data.facets || [], data.pagination || {}, this.meta, this.state);
83
82
  }
84
- this.filters = new FilterStore(this.services, data.filters, this.meta);
85
- this.results = new ResultStore(this.config, this.services, data.results, data.pagination, data.merchandising);
86
- if ((this.results.length === 0 && !this.trending.filter((term) => term.active).length) || this.terms.filter((term) => term.active).length) {
83
+ this.filters = new SearchFilterStore(this.services, data.filters, this.meta);
84
+ this.results = new SearchResultStore(this.config, this.services, data.results || [], data.pagination, data.merchandising);
85
+ if ((this.results.length === 0 && !this.trending.filter((term) => term.active).length) || this.terms?.filter((term) => term.active).length) {
87
86
  // if a trending term was selected and then a subsequent search yields no results, reset trending terms to remove active state
88
87
  // OR if any terms are active, also reset to ensure only a single term or trending term is active
89
88
  this.resetTrending();
90
89
  }
91
- this.pagination = new PaginationStore(this.config, this.services, data.pagination);
92
- this.sorting = new SortingStore(this.services, data.sorting, data.search, this.meta);
90
+ this.pagination = new SearchPaginationStore(this.config, this.services, data.pagination);
91
+ this.sorting = new SearchSortingStore(this.services, data.sorting || [], data.search || {}, this.meta);
93
92
  }
94
93
  }