@athoscommerce/snap-store-mobx 1.0.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 (183) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +17 -0
  3. package/dist/cjs/Abstract/AbstractStore.d.ts +17 -0
  4. package/dist/cjs/Abstract/AbstractStore.d.ts.map +1 -0
  5. package/dist/cjs/Abstract/AbstractStore.js +28 -0
  6. package/dist/cjs/Autocomplete/AutocompleteStore.d.ts +40 -0
  7. package/dist/cjs/Autocomplete/AutocompleteStore.d.ts.map +1 -0
  8. package/dist/cjs/Autocomplete/AutocompleteStore.js +246 -0
  9. package/dist/cjs/Autocomplete/Stores/AutocompleteFacetStore.d.ts +13 -0
  10. package/dist/cjs/Autocomplete/Stores/AutocompleteFacetStore.d.ts.map +1 -0
  11. package/dist/cjs/Autocomplete/Stores/AutocompleteFacetStore.js +67 -0
  12. package/dist/cjs/Autocomplete/Stores/AutocompleteHistoryStore.d.ts +19 -0
  13. package/dist/cjs/Autocomplete/Stores/AutocompleteHistoryStore.d.ts.map +1 -0
  14. package/dist/cjs/Autocomplete/Stores/AutocompleteHistoryStore.js +57 -0
  15. package/dist/cjs/Autocomplete/Stores/AutocompleteQueryStore.d.ts +25 -0
  16. package/dist/cjs/Autocomplete/Stores/AutocompleteQueryStore.d.ts.map +1 -0
  17. package/dist/cjs/Autocomplete/Stores/AutocompleteQueryStore.js +34 -0
  18. package/dist/cjs/Autocomplete/Stores/AutocompleteStateStore.d.ts +29 -0
  19. package/dist/cjs/Autocomplete/Stores/AutocompleteStateStore.d.ts.map +1 -0
  20. package/dist/cjs/Autocomplete/Stores/AutocompleteStateStore.js +54 -0
  21. package/dist/cjs/Autocomplete/Stores/AutocompleteTermStore.d.ts +47 -0
  22. package/dist/cjs/Autocomplete/Stores/AutocompleteTermStore.d.ts.map +1 -0
  23. package/dist/cjs/Autocomplete/Stores/AutocompleteTermStore.js +102 -0
  24. package/dist/cjs/Autocomplete/Stores/AutocompleteTrendingStore.d.ts +20 -0
  25. package/dist/cjs/Autocomplete/Stores/AutocompleteTrendingStore.d.ts.map +1 -0
  26. package/dist/cjs/Autocomplete/Stores/AutocompleteTrendingStore.js +58 -0
  27. package/dist/cjs/Autocomplete/Stores/index.d.ts +7 -0
  28. package/dist/cjs/Autocomplete/Stores/index.d.ts.map +1 -0
  29. package/dist/cjs/Autocomplete/Stores/index.js +16 -0
  30. package/dist/cjs/Cart/CartStore.d.ts +15 -0
  31. package/dist/cjs/Cart/CartStore.d.ts.map +1 -0
  32. package/dist/cjs/Cart/CartStore.js +109 -0
  33. package/dist/cjs/Finder/FinderStore.d.ts +27 -0
  34. package/dist/cjs/Finder/FinderStore.d.ts.map +1 -0
  35. package/dist/cjs/Finder/FinderStore.js +156 -0
  36. package/dist/cjs/Finder/Stores/FinderSelectionStore.d.ts +73 -0
  37. package/dist/cjs/Finder/Stores/FinderSelectionStore.d.ts.map +1 -0
  38. package/dist/cjs/Finder/Stores/FinderSelectionStore.js +320 -0
  39. package/dist/cjs/Finder/Stores/index.d.ts +2 -0
  40. package/dist/cjs/Finder/Stores/index.d.ts.map +1 -0
  41. package/dist/cjs/Finder/Stores/index.js +5 -0
  42. package/dist/cjs/Meta/MetaStore.d.ts +20 -0
  43. package/dist/cjs/Meta/MetaStore.d.ts.map +1 -0
  44. package/dist/cjs/Meta/MetaStore.js +55 -0
  45. package/dist/cjs/Recommendation/RecommendationStore.d.ts +19 -0
  46. package/dist/cjs/Recommendation/RecommendationStore.d.ts.map +1 -0
  47. package/dist/cjs/Recommendation/RecommendationStore.js +97 -0
  48. package/dist/cjs/Recommendation/Stores/RecommendationProfileStore.d.ts +15 -0
  49. package/dist/cjs/Recommendation/Stores/RecommendationProfileStore.d.ts.map +1 -0
  50. package/dist/cjs/Recommendation/Stores/RecommendationProfileStore.js +30 -0
  51. package/dist/cjs/Recommendation/Stores/index.d.ts +2 -0
  52. package/dist/cjs/Recommendation/Stores/index.d.ts.map +1 -0
  53. package/dist/cjs/Recommendation/Stores/index.js +5 -0
  54. package/dist/cjs/Search/SearchStore.d.ts +27 -0
  55. package/dist/cjs/Search/SearchStore.d.ts.map +1 -0
  56. package/dist/cjs/Search/SearchStore.js +125 -0
  57. package/dist/cjs/Search/Stores/SearchFacetStore.d.ts +89 -0
  58. package/dist/cjs/Search/Stores/SearchFacetStore.d.ts.map +1 -0
  59. package/dist/cjs/Search/Stores/SearchFacetStore.js +368 -0
  60. package/dist/cjs/Search/Stores/SearchFilterStore.d.ts +44 -0
  61. package/dist/cjs/Search/Stores/SearchFilterStore.d.ts.map +1 -0
  62. package/dist/cjs/Search/Stores/SearchFilterStore.js +102 -0
  63. package/dist/cjs/Search/Stores/SearchHistoryStore.d.ts +20 -0
  64. package/dist/cjs/Search/Stores/SearchHistoryStore.d.ts.map +1 -0
  65. package/dist/cjs/Search/Stores/SearchHistoryStore.js +106 -0
  66. package/dist/cjs/Search/Stores/SearchMerchandisingStore.d.ts +36 -0
  67. package/dist/cjs/Search/Stores/SearchMerchandisingStore.d.ts.map +1 -0
  68. package/dist/cjs/Search/Stores/SearchMerchandisingStore.js +90 -0
  69. package/dist/cjs/Search/Stores/SearchPaginationStore.d.ts +57 -0
  70. package/dist/cjs/Search/Stores/SearchPaginationStore.d.ts.map +1 -0
  71. package/dist/cjs/Search/Stores/SearchPaginationStore.js +212 -0
  72. package/dist/cjs/Search/Stores/SearchQueryStore.d.ts +23 -0
  73. package/dist/cjs/Search/Stores/SearchQueryStore.d.ts.map +1 -0
  74. package/dist/cjs/Search/Stores/SearchQueryStore.js +41 -0
  75. package/dist/cjs/Search/Stores/SearchResultStore.d.ts +175 -0
  76. package/dist/cjs/Search/Stores/SearchResultStore.d.ts.map +1 -0
  77. package/dist/cjs/Search/Stores/SearchResultStore.js +749 -0
  78. package/dist/cjs/Search/Stores/SearchSortingStore.d.ts +32 -0
  79. package/dist/cjs/Search/Stores/SearchSortingStore.d.ts.map +1 -0
  80. package/dist/cjs/Search/Stores/SearchSortingStore.js +77 -0
  81. package/dist/cjs/Search/Stores/index.d.ts +9 -0
  82. package/dist/cjs/Search/Stores/index.d.ts.map +1 -0
  83. package/dist/cjs/Search/Stores/index.js +30 -0
  84. package/dist/cjs/Storage/StorageStore.d.ts +27 -0
  85. package/dist/cjs/Storage/StorageStore.d.ts.map +1 -0
  86. package/dist/cjs/Storage/StorageStore.js +176 -0
  87. package/dist/cjs/index.d.ts +12 -0
  88. package/dist/cjs/index.d.ts.map +1 -0
  89. package/dist/cjs/index.js +37 -0
  90. package/dist/cjs/types.d.ts +170 -0
  91. package/dist/cjs/types.d.ts.map +1 -0
  92. package/dist/cjs/types.js +9 -0
  93. package/dist/esm/Abstract/AbstractStore.d.ts +17 -0
  94. package/dist/esm/Abstract/AbstractStore.d.ts.map +1 -0
  95. package/dist/esm/Abstract/AbstractStore.js +22 -0
  96. package/dist/esm/Autocomplete/AutocompleteStore.d.ts +40 -0
  97. package/dist/esm/Autocomplete/AutocompleteStore.d.ts.map +1 -0
  98. package/dist/esm/Autocomplete/AutocompleteStore.js +210 -0
  99. package/dist/esm/Autocomplete/Stores/AutocompleteFacetStore.d.ts +13 -0
  100. package/dist/esm/Autocomplete/Stores/AutocompleteFacetStore.d.ts.map +1 -0
  101. package/dist/esm/Autocomplete/Stores/AutocompleteFacetStore.js +35 -0
  102. package/dist/esm/Autocomplete/Stores/AutocompleteHistoryStore.d.ts +19 -0
  103. package/dist/esm/Autocomplete/Stores/AutocompleteHistoryStore.d.ts.map +1 -0
  104. package/dist/esm/Autocomplete/Stores/AutocompleteHistoryStore.js +27 -0
  105. package/dist/esm/Autocomplete/Stores/AutocompleteQueryStore.d.ts +25 -0
  106. package/dist/esm/Autocomplete/Stores/AutocompleteQueryStore.d.ts.map +1 -0
  107. package/dist/esm/Autocomplete/Stores/AutocompleteQueryStore.js +28 -0
  108. package/dist/esm/Autocomplete/Stores/AutocompleteStateStore.d.ts +29 -0
  109. package/dist/esm/Autocomplete/Stores/AutocompleteStateStore.d.ts.map +1 -0
  110. package/dist/esm/Autocomplete/Stores/AutocompleteStateStore.js +42 -0
  111. package/dist/esm/Autocomplete/Stores/AutocompleteTermStore.d.ts +47 -0
  112. package/dist/esm/Autocomplete/Stores/AutocompleteTermStore.d.ts.map +1 -0
  113. package/dist/esm/Autocomplete/Stores/AutocompleteTermStore.js +56 -0
  114. package/dist/esm/Autocomplete/Stores/AutocompleteTrendingStore.d.ts +20 -0
  115. package/dist/esm/Autocomplete/Stores/AutocompleteTrendingStore.d.ts.map +1 -0
  116. package/dist/esm/Autocomplete/Stores/AutocompleteTrendingStore.js +27 -0
  117. package/dist/esm/Autocomplete/Stores/index.d.ts +7 -0
  118. package/dist/esm/Autocomplete/Stores/index.d.ts.map +1 -0
  119. package/dist/esm/Autocomplete/Stores/index.js +6 -0
  120. package/dist/esm/Cart/CartStore.d.ts +15 -0
  121. package/dist/esm/Cart/CartStore.d.ts.map +1 -0
  122. package/dist/esm/Cart/CartStore.js +74 -0
  123. package/dist/esm/Finder/FinderStore.d.ts +27 -0
  124. package/dist/esm/Finder/FinderStore.d.ts.map +1 -0
  125. package/dist/esm/Finder/FinderStore.js +118 -0
  126. package/dist/esm/Finder/Stores/FinderSelectionStore.d.ts +73 -0
  127. package/dist/esm/Finder/Stores/FinderSelectionStore.d.ts.map +1 -0
  128. package/dist/esm/Finder/Stores/FinderSelectionStore.js +258 -0
  129. package/dist/esm/Finder/Stores/index.d.ts +2 -0
  130. package/dist/esm/Finder/Stores/index.d.ts.map +1 -0
  131. package/dist/esm/Finder/Stores/index.js +1 -0
  132. package/dist/esm/Meta/MetaStore.d.ts +20 -0
  133. package/dist/esm/Meta/MetaStore.d.ts.map +1 -0
  134. package/dist/esm/Meta/MetaStore.js +45 -0
  135. package/dist/esm/Recommendation/RecommendationStore.d.ts +19 -0
  136. package/dist/esm/Recommendation/RecommendationStore.d.ts.map +1 -0
  137. package/dist/esm/Recommendation/RecommendationStore.js +71 -0
  138. package/dist/esm/Recommendation/Stores/RecommendationProfileStore.d.ts +15 -0
  139. package/dist/esm/Recommendation/Stores/RecommendationProfileStore.d.ts.map +1 -0
  140. package/dist/esm/Recommendation/Stores/RecommendationProfileStore.js +25 -0
  141. package/dist/esm/Recommendation/Stores/index.d.ts +2 -0
  142. package/dist/esm/Recommendation/Stores/index.d.ts.map +1 -0
  143. package/dist/esm/Recommendation/Stores/index.js +1 -0
  144. package/dist/esm/Search/SearchStore.d.ts +27 -0
  145. package/dist/esm/Search/SearchStore.d.ts.map +1 -0
  146. package/dist/esm/Search/SearchStore.js +102 -0
  147. package/dist/esm/Search/Stores/SearchFacetStore.d.ts +89 -0
  148. package/dist/esm/Search/Stores/SearchFacetStore.d.ts.map +1 -0
  149. package/dist/esm/Search/Stores/SearchFacetStore.js +292 -0
  150. package/dist/esm/Search/Stores/SearchFilterStore.d.ts +44 -0
  151. package/dist/esm/Search/Stores/SearchFilterStore.d.ts.map +1 -0
  152. package/dist/esm/Search/Stores/SearchFilterStore.js +70 -0
  153. package/dist/esm/Search/Stores/SearchHistoryStore.d.ts +20 -0
  154. package/dist/esm/Search/Stores/SearchHistoryStore.d.ts.map +1 -0
  155. package/dist/esm/Search/Stores/SearchHistoryStore.js +85 -0
  156. package/dist/esm/Search/Stores/SearchMerchandisingStore.d.ts +36 -0
  157. package/dist/esm/Search/Stores/SearchMerchandisingStore.d.ts.map +1 -0
  158. package/dist/esm/Search/Stores/SearchMerchandisingStore.js +61 -0
  159. package/dist/esm/Search/Stores/SearchPaginationStore.d.ts +57 -0
  160. package/dist/esm/Search/Stores/SearchPaginationStore.d.ts.map +1 -0
  161. package/dist/esm/Search/Stores/SearchPaginationStore.js +163 -0
  162. package/dist/esm/Search/Stores/SearchQueryStore.d.ts +23 -0
  163. package/dist/esm/Search/Stores/SearchQueryStore.d.ts.map +1 -0
  164. package/dist/esm/Search/Stores/SearchQueryStore.js +33 -0
  165. package/dist/esm/Search/Stores/SearchResultStore.d.ts +175 -0
  166. package/dist/esm/Search/Stores/SearchResultStore.d.ts.map +1 -0
  167. package/dist/esm/Search/Stores/SearchResultStore.js +648 -0
  168. package/dist/esm/Search/Stores/SearchSortingStore.d.ts +32 -0
  169. package/dist/esm/Search/Stores/SearchSortingStore.d.ts.map +1 -0
  170. package/dist/esm/Search/Stores/SearchSortingStore.js +67 -0
  171. package/dist/esm/Search/Stores/index.d.ts +9 -0
  172. package/dist/esm/Search/Stores/index.d.ts.map +1 -0
  173. package/dist/esm/Search/Stores/index.js +8 -0
  174. package/dist/esm/Storage/StorageStore.d.ts +27 -0
  175. package/dist/esm/Storage/StorageStore.d.ts.map +1 -0
  176. package/dist/esm/Storage/StorageStore.js +169 -0
  177. package/dist/esm/index.d.ts +12 -0
  178. package/dist/esm/index.d.ts.map +1 -0
  179. package/dist/esm/index.js +11 -0
  180. package/dist/esm/types.d.ts +170 -0
  181. package/dist/esm/types.d.ts.map +1 -0
  182. package/dist/esm/types.js +6 -0
  183. package/package.json +35 -0
@@ -0,0 +1,67 @@
1
+ import { observable, computed, makeObservable } from 'mobx';
2
+ export class SearchSortingStore {
3
+ constructor(params) {
4
+ this.options = [];
5
+ const { services, data } = params || {};
6
+ const { meta } = data || {};
7
+ const { sorting, search } = data?.search || {};
8
+ if (services && meta.sortOptions) {
9
+ const activeSort = sorting?.length && sorting[0];
10
+ const options = (meta.sortOptions || [])
11
+ .filter((option) => {
12
+ if (!search?.query) {
13
+ return option.type == 'field';
14
+ }
15
+ return option;
16
+ })
17
+ .map((option, index) => {
18
+ option.active = false;
19
+ if (activeSort && activeSort.field == option.field && String(activeSort.direction) == String(option.direction)) {
20
+ option.active = true;
21
+ }
22
+ else if (!activeSort && index === 0) {
23
+ option.active = true;
24
+ }
25
+ option.default = false;
26
+ if (index === 0) {
27
+ // is the default sort
28
+ option.default = true;
29
+ }
30
+ const optionObj = new Option(services, option, index);
31
+ return optionObj;
32
+ });
33
+ this.options = options;
34
+ makeObservable(this, {
35
+ options: observable,
36
+ current: computed,
37
+ });
38
+ }
39
+ }
40
+ get current() {
41
+ return this.options.filter((option) => option.active).pop();
42
+ }
43
+ }
44
+ class Option {
45
+ constructor(services, option, index) {
46
+ this.active = option.active;
47
+ this.default = option.default;
48
+ this.field = option.field;
49
+ this.label = option.label;
50
+ this.direction = option.direction;
51
+ this.type = option.type;
52
+ this.value = `${option.label}:${option.field}:${option.direction}:${index}`;
53
+ if (this.default) {
54
+ this.url = services.urlManager.remove('page').remove('sort');
55
+ }
56
+ else {
57
+ this.url = services.urlManager.remove('page').set('sort', [{ field: this.field, direction: this.direction }]);
58
+ }
59
+ makeObservable(this, {
60
+ field: observable,
61
+ label: observable,
62
+ direction: observable,
63
+ type: observable,
64
+ value: observable,
65
+ });
66
+ }
67
+ }
@@ -0,0 +1,9 @@
1
+ export { SearchMerchandisingStore, BannerContent, ContentType, MerchandisingContentBanner } from './SearchMerchandisingStore';
2
+ export { SearchFacetStore, ValueFacet, RangeFacet, FacetValue, FacetHierarchyValue, FacetRangeValue } from './SearchFacetStore';
3
+ export { SearchFilterStore, Filter } from './SearchFilterStore';
4
+ export { SearchPaginationStore, Page } from './SearchPaginationStore';
5
+ export { SearchResultStore, Product, Banner, VariantSelection, VariantSelectionValue } from './SearchResultStore';
6
+ export { SearchSortingStore } from './SearchSortingStore';
7
+ export { SearchQueryStore } from './SearchQueryStore';
8
+ export { SearchHistoryStore } from './SearchHistoryStore';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
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,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAC9H,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,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAClH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,8 @@
1
+ export { SearchMerchandisingStore, ContentType } from './SearchMerchandisingStore';
2
+ export { SearchFacetStore, ValueFacet, RangeFacet, FacetValue, FacetHierarchyValue, FacetRangeValue } from './SearchFacetStore';
3
+ export { SearchFilterStore, Filter } from './SearchFilterStore';
4
+ export { SearchPaginationStore, Page } from './SearchPaginationStore';
5
+ export { SearchResultStore, Product, Banner, VariantSelection } from './SearchResultStore';
6
+ export { SearchSortingStore } from './SearchSortingStore';
7
+ export { SearchQueryStore } from './SearchQueryStore';
8
+ export { SearchHistoryStore } from './SearchHistoryStore';
@@ -0,0 +1,27 @@
1
+ export declare class StorageStore {
2
+ private type;
3
+ private expiration;
4
+ private sameSite;
5
+ private key;
6
+ private cookieDomain;
7
+ state: Record<string, any>;
8
+ constructor(config?: StorageConfig);
9
+ set(path: string | string[], value: any): void;
10
+ get(path: string | string[]): any | undefined;
11
+ clear(): void;
12
+ }
13
+ export type StorageConfig = {
14
+ type: StorageType | keyof typeof StorageType;
15
+ cookie?: {
16
+ expiration?: number;
17
+ sameSite?: string;
18
+ };
19
+ key: string;
20
+ };
21
+ export declare enum StorageType {
22
+ session = "session",
23
+ local = "local",
24
+ cookie = "cookie",
25
+ memory = "memory"
26
+ }
27
+ //# sourceMappingURL=StorageStore.d.ts.map
@@ -0,0 +1 @@
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,CAAS;IACzB,OAAO,CAAC,GAAG,CAAgB;IAC3B,OAAO,CAAC,YAAY,CAC8G;IAC3H,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;gBAE3B,MAAM,CAAC,EAAE,aAAa;IA8C3B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAuD9C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,GAAG,GAAG,SAAS;IAuC7C,KAAK,IAAI,IAAI;CAcpB;AAED,MAAM,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,WAAW,GAAG,MAAM,OAAO,WAAW,CAAC;IAC7C,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"}
@@ -0,0 +1,169 @@
1
+ import { featureFlags, cookies } from '@athoscommerce/snap-toolbox';
2
+ const utils = {
3
+ cookies,
4
+ };
5
+ export class StorageStore {
6
+ constructor(config) {
7
+ this.type = null;
8
+ this.expiration = 31536000000; // one year (ms)
9
+ this.sameSite = 'Lax';
10
+ this.key = 'ss-storage';
11
+ this.cookieDomain = (typeof window !== 'undefined' && window.location.hostname && '.' + window.location.hostname.replace(/^www\./, '')) || undefined;
12
+ this.state = {};
13
+ if (config) {
14
+ if (config.key.trim() !== '') {
15
+ this.key = config.key.trim();
16
+ }
17
+ if (config?.cookie?.expiration) {
18
+ this.expiration = config.cookie.expiration;
19
+ }
20
+ if (config?.cookie?.sameSite) {
21
+ this.sameSite = config.cookie.sameSite;
22
+ }
23
+ switch (config.type) {
24
+ case StorageType.session: {
25
+ this.type = featureFlags.storage ? config.type : null;
26
+ if (this.type) {
27
+ this.state = JSON.parse(window.sessionStorage.getItem(this.key) || '{}');
28
+ window.sessionStorage.setItem(this.key, JSON.stringify(this.state));
29
+ }
30
+ break;
31
+ }
32
+ case StorageType.local: {
33
+ this.type = featureFlags.storage ? config.type : null;
34
+ if (this.type) {
35
+ this.state = JSON.parse(window.localStorage.getItem(this.key) || '{}');
36
+ window.localStorage.setItem(this.key, JSON.stringify(this.state));
37
+ }
38
+ break;
39
+ }
40
+ case StorageType.cookie: {
41
+ if (featureFlags.cookies) {
42
+ this.type = config.type;
43
+ const data = utils.cookies.get(this.key);
44
+ if (data) {
45
+ this.state = JSON.parse(data);
46
+ }
47
+ }
48
+ break;
49
+ }
50
+ default: {
51
+ this.type = StorageType.memory;
52
+ }
53
+ }
54
+ }
55
+ }
56
+ set(path, value) {
57
+ // read from the backing storage first to update local state to ensure we get any changes made outside of the storageStore
58
+ switch (this.type) {
59
+ case StorageType.session: {
60
+ this.state = JSON.parse(window.sessionStorage.getItem(this.key) || '{}');
61
+ break;
62
+ }
63
+ case StorageType.local: {
64
+ this.state = JSON.parse(window.localStorage.getItem(this.key) || '{}');
65
+ break;
66
+ }
67
+ case StorageType.cookie: {
68
+ const data = utils.cookies.get(this.key);
69
+ if (data) {
70
+ this.state = JSON.parse(data);
71
+ }
72
+ break;
73
+ }
74
+ }
75
+ let paths;
76
+ if (typeof path == 'string') {
77
+ paths = path?.split('.');
78
+ }
79
+ else {
80
+ paths = path;
81
+ }
82
+ let location = this.state;
83
+ paths?.forEach((p, i) => {
84
+ const leaf = i == paths.length - 1;
85
+ if (leaf) {
86
+ location[p] = value;
87
+ }
88
+ else {
89
+ location = location[p] = location[p] || {};
90
+ }
91
+ });
92
+ try {
93
+ switch (this.type) {
94
+ case StorageType.session:
95
+ window.sessionStorage.setItem(this.key, JSON.stringify(this.state));
96
+ break;
97
+ case StorageType.local:
98
+ window.localStorage.setItem(this.key, JSON.stringify(this.state));
99
+ break;
100
+ case StorageType.cookie:
101
+ utils.cookies.set(this.key, JSON.stringify(this.state), this.sameSite, this.expiration, this.cookieDomain);
102
+ break;
103
+ }
104
+ }
105
+ catch (err) {
106
+ console.warn(`something went wrong setting ${this.key} to ${this.type} storage`);
107
+ }
108
+ }
109
+ // TODO: change any to unknown and refactor
110
+ get(path) {
111
+ switch (this.type) {
112
+ case StorageType.session:
113
+ const sessionData = window.sessionStorage.getItem(this.key);
114
+ this.state = sessionData ? JSON.parse(sessionData) : {};
115
+ break;
116
+ case StorageType.local:
117
+ const localData = window.localStorage.getItem(this.key);
118
+ this.state = localData ? JSON.parse(localData) : {};
119
+ break;
120
+ case StorageType.cookie:
121
+ const data = utils.cookies.get(this.key);
122
+ if (data) {
123
+ this.state = JSON.parse(data) || {};
124
+ }
125
+ break;
126
+ }
127
+ let paths;
128
+ if (typeof path == 'string') {
129
+ paths = path?.split('.');
130
+ }
131
+ else {
132
+ paths = path;
133
+ }
134
+ if (!paths?.length)
135
+ return undefined;
136
+ let value = this.state;
137
+ for (const p of paths) {
138
+ if (value && typeof value[p] != 'undefined') {
139
+ value = value[p];
140
+ }
141
+ else {
142
+ value = {};
143
+ return;
144
+ }
145
+ }
146
+ return value;
147
+ }
148
+ clear() {
149
+ switch (this.type) {
150
+ case StorageType.session:
151
+ window.sessionStorage.removeItem(this.key);
152
+ break;
153
+ case StorageType.local:
154
+ window.localStorage.removeItem(this.key);
155
+ break;
156
+ case StorageType.cookie:
157
+ utils.cookies.unset(this.key, this.cookieDomain);
158
+ break;
159
+ }
160
+ this.state = {};
161
+ }
162
+ }
163
+ export var StorageType;
164
+ (function (StorageType) {
165
+ StorageType["session"] = "session";
166
+ StorageType["local"] = "local";
167
+ StorageType["cookie"] = "cookie";
168
+ StorageType["memory"] = "memory";
169
+ })(StorageType || (StorageType = {}));
@@ -0,0 +1,12 @@
1
+ export { AbstractStore } from './Abstract/AbstractStore';
2
+ export { AutocompleteStore } from './Autocomplete/AutocompleteStore';
3
+ export { FinderStore } from './Finder/FinderStore';
4
+ export { SearchStore } from './Search/SearchStore';
5
+ export * from './Search/Stores/';
6
+ export * from './Autocomplete/Stores/';
7
+ export { RecommendationStore } from './Recommendation/RecommendationStore';
8
+ export { CartStore } from './Cart/CartStore';
9
+ export { StorageStore, StorageConfig, StorageType } from './Storage/StorageStore';
10
+ export { MetaStore } from './Meta/MetaStore';
11
+ export * from './types';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,cAAc,SAAS,CAAC"}
@@ -0,0 +1,11 @@
1
+ export { AbstractStore } from './Abstract/AbstractStore';
2
+ export { AutocompleteStore } from './Autocomplete/AutocompleteStore';
3
+ export { FinderStore } from './Finder/FinderStore';
4
+ export { SearchStore } from './Search/SearchStore';
5
+ export * from './Search/Stores/';
6
+ export * from './Autocomplete/Stores/';
7
+ export { RecommendationStore } from './Recommendation/RecommendationStore';
8
+ export { CartStore } from './Cart/CartStore';
9
+ export { StorageStore, StorageType } from './Storage/StorageStore';
10
+ export { MetaStore } from './Meta/MetaStore';
11
+ export * from './types';
@@ -0,0 +1,170 @@
1
+ import type { UrlManager } from '@athoscommerce/snap-url-manager';
2
+ import type { RecommendRequestModel } from '@athoscommerce/snap-client';
3
+ import type { SearchResponseModelFacetValueAllOfValues, AutocompleteRequestModel, SearchRequestModel, MetaResponseModelBadgeTag, SearchResponseModelResultBadges } from '@athoscommerce/snapi-types';
4
+ export type StoreConfig = {
5
+ id: string;
6
+ beacon?: {
7
+ enabled: boolean;
8
+ };
9
+ [any: string]: unknown;
10
+ };
11
+ export type SearchStoreConfigSettings = {
12
+ redirects?: {
13
+ merchandising?: boolean;
14
+ singleResult?: boolean;
15
+ };
16
+ facets?: FacetStoreConfig & {
17
+ fields?: {
18
+ [field: string]: FacetStoreConfig;
19
+ };
20
+ };
21
+ filters?: FilterStoreConfig & {
22
+ fields?: {
23
+ [field: string]: FilterStoreConfig;
24
+ };
25
+ };
26
+ infinite?: {
27
+ enabled?: boolean;
28
+ backfill?: number;
29
+ };
30
+ restorePosition?: {
31
+ enabled: boolean;
32
+ onPageShow?: boolean;
33
+ };
34
+ variants?: VariantConfig;
35
+ history?: {
36
+ url?: string;
37
+ max?: number;
38
+ };
39
+ pagination?: {
40
+ pageSizeOptions?: {
41
+ label: string;
42
+ value: number;
43
+ }[];
44
+ };
45
+ };
46
+ export type VariantConfigFilterTypes = 'first' | 'unaltered';
47
+ export type VariantConfig = {
48
+ realtime?: {
49
+ enabled: boolean;
50
+ filters?: VariantConfigFilterTypes[];
51
+ };
52
+ options?: {
53
+ [optionField: string]: VariantOptionConfig;
54
+ };
55
+ showDisabledSelectionValues?: boolean;
56
+ autoSelect?: boolean;
57
+ };
58
+ export type VariantOptionConfig = {
59
+ label?: string;
60
+ preSelected?: string[];
61
+ thumbnailBackgroundImages?: boolean;
62
+ mappings?: VariantOptionConfigMappings;
63
+ };
64
+ export type VariantOptionConfigMappings = {
65
+ [optionValue: string]: {
66
+ label?: string;
67
+ background?: string;
68
+ backgroundImageUrl?: string;
69
+ };
70
+ };
71
+ export type SearchStoreConfig = StoreConfig & {
72
+ globals?: Partial<SearchRequestModel>;
73
+ settings?: SearchStoreConfigSettings;
74
+ };
75
+ export type FilterStoreConfig = {
76
+ rangeFormatValue?: string;
77
+ hierarchy?: {
78
+ enabled?: boolean;
79
+ displayDelimiter?: string;
80
+ showFullPath?: boolean;
81
+ };
82
+ };
83
+ export type FacetStoreConfig = {
84
+ trim?: boolean;
85
+ pinFiltered?: boolean;
86
+ storeRange?: boolean;
87
+ autoOpenActive?: boolean;
88
+ };
89
+ export type FinderStoreConfig = StoreConfig & {
90
+ globals?: any;
91
+ url?: string;
92
+ fields: FinderFieldConfig[];
93
+ persist?: {
94
+ enabled: boolean;
95
+ lockSelections?: boolean;
96
+ expiration?: number;
97
+ };
98
+ };
99
+ export type FinderFieldConfig = {
100
+ field: string;
101
+ label?: string;
102
+ levels?: string[];
103
+ };
104
+ export type AutocompleteStoreConfigSettings = {
105
+ initializeFromUrl?: boolean;
106
+ syncInputs?: boolean;
107
+ serializeForm?: boolean;
108
+ disableClickOutside?: boolean;
109
+ facets?: FacetStoreConfig & {
110
+ fields?: {
111
+ [field: string]: FacetStoreConfig;
112
+ };
113
+ };
114
+ trending?: {
115
+ enabled?: boolean;
116
+ limit?: number;
117
+ showResults?: boolean;
118
+ };
119
+ variants?: VariantConfig;
120
+ history?: {
121
+ enabled?: boolean;
122
+ limit?: number;
123
+ showResults?: boolean;
124
+ max?: number;
125
+ url?: string;
126
+ };
127
+ redirects?: {
128
+ merchandising?: boolean;
129
+ singleResult?: boolean;
130
+ };
131
+ bind?: {
132
+ input?: boolean;
133
+ submit?: boolean;
134
+ };
135
+ };
136
+ export type AutocompleteStoreConfig = StoreConfig & {
137
+ globals?: Partial<AutocompleteRequestModel>;
138
+ selector: string;
139
+ action?: string;
140
+ settings?: AutocompleteStoreConfigSettings;
141
+ };
142
+ export type RecommendationStoreConfig = StoreConfig & {
143
+ globals?: Partial<RecommendRequestModel>;
144
+ tag: string;
145
+ branch?: string;
146
+ realtime?: boolean;
147
+ batched?: boolean;
148
+ order?: number;
149
+ batchId?: number;
150
+ settings?: {
151
+ variants?: VariantConfig;
152
+ searchOnPageShow?: boolean;
153
+ };
154
+ };
155
+ export type StoreConfigs = SearchStoreConfig | AutocompleteStoreConfig | FinderStoreConfig | RecommendationStoreConfig;
156
+ export type StoreServices = {
157
+ urlManager: UrlManager;
158
+ };
159
+ export declare enum ErrorType {
160
+ WARNING = "warning",
161
+ INFO = "info",
162
+ ERROR = "error"
163
+ }
164
+ export type SelectedSelection = {
165
+ selected: string;
166
+ data: SearchResponseModelFacetValueAllOfValues[];
167
+ facet: any;
168
+ };
169
+ export type ResultBadge = MetaResponseModelBadgeTag & SearchResponseModelResultBadges;
170
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export var ErrorType;
2
+ (function (ErrorType) {
3
+ ErrorType["WARNING"] = "warning";
4
+ ErrorType["INFO"] = "info";
5
+ ErrorType["ERROR"] = "error";
6
+ })(ErrorType || (ErrorType = {}));
package/package.json ADDED
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "@athoscommerce/snap-store-mobx",
3
+ "version": "1.0.0",
4
+ "description": "Snap MobX Store",
5
+ "main": "dist/cjs/index.js",
6
+ "module": "dist/esm/index.js",
7
+ "author": "Athos Commerce",
8
+ "license": "MIT",
9
+ "repository": "https://github.com/athoscommerce/snap",
10
+ "publishConfig": {
11
+ "access": "public"
12
+ },
13
+ "scripts": {
14
+ "build": "rm -rf ./dist && rm -fr ./components/dist && tsc & p1=$!; tsc -p tsconfig.cjs.json & p2=$!; wait $p1 && wait $p2",
15
+ "build:docs": "typedoc --out docs src/index.ts",
16
+ "dev": "tsc --watch",
17
+ "format": "prettier --write 'src/**/*.{js,jsx,ts,tsx}'",
18
+ "lint": "eslint 'src/**/*.{js,jsx,ts,tsx}'",
19
+ "test": "jest",
20
+ "test:watch": "jest --watch"
21
+ },
22
+ "dependencies": {
23
+ "@athoscommerce/snap-toolbox": "1.0.0",
24
+ "mobx": "6.15.0"
25
+ },
26
+ "devDependencies": {
27
+ "@athoscommerce/snap-client": "1.0.0",
28
+ "@athoscommerce/snap-url-manager": "1.0.0"
29
+ },
30
+ "sideEffects": false,
31
+ "files": [
32
+ "dist/**/*"
33
+ ],
34
+ "gitHead": "714fb2d140d44581a559a6025310f8df9e33e216"
35
+ }