fast-simon-sdk 1.6.4 → 1.6.9

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 (167) hide show
  1. package/lib/config.d.ts +25 -22
  2. package/lib/config.js +30 -27
  3. package/lib/config.js.map +1 -1
  4. package/lib/index.d.ts +3 -3
  5. package/lib/index.js +72 -71
  6. package/lib/index.js.map +1 -1
  7. package/lib/models/autocomplete.d.ts +73 -70
  8. package/lib/models/autocomplete.js +2 -2
  9. package/lib/models/common.d.ts +267 -208
  10. package/lib/models/common.js +65 -63
  11. package/lib/models/common.js.map +1 -1
  12. package/lib/models/content.d.ts +37 -37
  13. package/lib/models/content.js +2 -2
  14. package/lib/models/events.d.ts +113 -87
  15. package/lib/models/events.js +2 -2
  16. package/lib/models/exports.d.ts +6 -6
  17. package/lib/models/exports.js +5 -5
  18. package/lib/models/fullTextSearch.d.ts +130 -126
  19. package/lib/models/fullTextSearch.js +17 -17
  20. package/lib/models/fullTextSearch.js.map +1 -1
  21. package/lib/models/lookAlikeProductRecommendation.d.ts +8 -8
  22. package/lib/models/lookAlikeProductRecommendation.js +2 -2
  23. package/lib/models/productsInventory.d.ts +10 -10
  24. package/lib/models/productsInventory.js +2 -2
  25. package/lib/models/related.d.ts +35 -35
  26. package/lib/models/related.js +2 -2
  27. package/lib/models/smartCollections.d.ts +94 -90
  28. package/lib/models/smartCollections.js +2 -2
  29. package/lib/models/visualDiscovery.d.ts +129 -0
  30. package/lib/models/visualDiscovery.js +31 -0
  31. package/lib/models/visualDiscovery.js.map +1 -0
  32. package/lib/sections/contentSearch/index.d.ts +7 -7
  33. package/lib/sections/contentSearch/index.js +44 -44
  34. package/lib/sections/contentSearch/index.js.map +1 -1
  35. package/lib/sections/enums/index.d.ts +47 -45
  36. package/lib/sections/enums/index.js +50 -48
  37. package/lib/sections/enums/index.js.map +1 -1
  38. package/lib/sections/eventReporter/index.d.ts +10 -10
  39. package/lib/sections/eventReporter/index.js +628 -501
  40. package/lib/sections/eventReporter/index.js.map +1 -1
  41. package/lib/sections/eventReporter/utils.d.ts +9 -9
  42. package/lib/sections/eventReporter/utils.js +31 -29
  43. package/lib/sections/eventReporter/utils.js.map +1 -1
  44. package/lib/sections/fullTextSearch/index.d.ts +6 -6
  45. package/lib/sections/fullTextSearch/index.js +178 -171
  46. package/lib/sections/fullTextSearch/index.js.map +1 -1
  47. package/lib/sections/fullTextSearch/utils.d.ts +17 -17
  48. package/lib/sections/fullTextSearch/utils.js +185 -177
  49. package/lib/sections/fullTextSearch/utils.js.map +1 -1
  50. package/lib/sections/index.d.ts +3 -3
  51. package/lib/sections/index.js +432 -342
  52. package/lib/sections/index.js.map +1 -1
  53. package/lib/sections/initialization/index.d.ts +8 -8
  54. package/lib/sections/initialization/index.js +150 -150
  55. package/lib/sections/initialization/index.js.map +1 -1
  56. package/lib/sections/initialization/utils.d.ts +11 -11
  57. package/lib/sections/initialization/utils.js +200 -196
  58. package/lib/sections/initialization/utils.js.map +1 -1
  59. package/lib/sections/instantSearch/index.d.ts +6 -6
  60. package/lib/sections/instantSearch/index.js +66 -66
  61. package/lib/sections/instantSearch/index.js.map +1 -1
  62. package/lib/sections/instantSearch/utils.d.ts +21 -21
  63. package/lib/sections/instantSearch/utils.js +232 -232
  64. package/lib/sections/instantSearch/utils.js.map +1 -1
  65. package/lib/sections/landingPage/index.d.ts +6 -6
  66. package/lib/sections/landingPage/index.js +95 -95
  67. package/lib/sections/landingPage/index.js.map +1 -1
  68. package/lib/sections/landingPage/utils.d.ts +14 -14
  69. package/lib/sections/landingPage/utils.js +96 -90
  70. package/lib/sections/landingPage/utils.js.map +1 -1
  71. package/lib/sections/lookAlikeProductRecommendation/index.d.ts +6 -6
  72. package/lib/sections/lookAlikeProductRecommendation/index.js +23 -23
  73. package/lib/sections/recommendations/index.d.ts +10 -6
  74. package/lib/sections/recommendations/index.js +95 -48
  75. package/lib/sections/recommendations/index.js.map +1 -1
  76. package/lib/sections/recommendations/utils.d.ts +6 -7
  77. package/lib/sections/recommendations/utils.js +82 -91
  78. package/lib/sections/recommendations/utils.js.map +1 -1
  79. package/lib/sections/smartCollections/index.d.ts +6 -6
  80. package/lib/sections/smartCollections/index.js +169 -163
  81. package/lib/sections/smartCollections/index.js.map +1 -1
  82. package/lib/sections/smartCollections/utils.d.ts +41 -40
  83. package/lib/sections/smartCollections/utils.js +286 -269
  84. package/lib/sections/smartCollections/utils.js.map +1 -1
  85. package/lib/sections/visualDiscovery/index.d.ts +22 -0
  86. package/lib/sections/visualDiscovery/index.js +262 -0
  87. package/lib/sections/visualDiscovery/index.js.map +1 -0
  88. package/lib/services/autocomplete.d.ts +24 -24
  89. package/lib/services/autocomplete.js +50 -50
  90. package/lib/services/common.d.ts +35 -35
  91. package/lib/services/common.js +94 -94
  92. package/lib/services/content.d.ts +4 -4
  93. package/lib/services/content.js +25 -25
  94. package/lib/services/fullTextSearch.d.ts +4 -4
  95. package/lib/services/fullTextSearch.js +87 -84
  96. package/lib/services/fullTextSearch.js.map +1 -1
  97. package/lib/services/landingPage.d.ts +21 -21
  98. package/lib/services/landingPage.js +44 -44
  99. package/lib/services/lookAlikeProductRecommendation.d.ts +13 -13
  100. package/lib/services/lookAlikeProductRecommendation.js +23 -23
  101. package/lib/services/related.d.ts +48 -29
  102. package/lib/services/related.js +114 -72
  103. package/lib/services/related.js.map +1 -1
  104. package/lib/services/reporting.d.ts +80 -68
  105. package/lib/services/reporting.js +258 -208
  106. package/lib/services/reporting.js.map +1 -1
  107. package/lib/services/smartCollections.d.ts +5 -5
  108. package/lib/services/smartCollections.js +93 -82
  109. package/lib/services/smartCollections.js.map +1 -1
  110. package/lib/services/utils.d.ts +5 -5
  111. package/lib/services/utils.js +25 -25
  112. package/lib/services/utils.js.map +1 -1
  113. package/lib/services/visualDiscovery.d.ts +9 -0
  114. package/lib/services/visualDiscovery.js +167 -0
  115. package/lib/services/visualDiscovery.js.map +1 -0
  116. package/lib/utils/ABTesting.d.ts +2 -1
  117. package/lib/utils/ABTesting.js +27 -14
  118. package/lib/utils/ABTesting.js.map +1 -1
  119. package/lib/utils/API.d.ts +19 -19
  120. package/lib/utils/API.js +81 -81
  121. package/lib/utils/API.js.map +1 -1
  122. package/lib/utils/ArrayUtils.d.ts +2 -2
  123. package/lib/utils/ArrayUtils.js +16 -17
  124. package/lib/utils/ArrayUtils.js.map +1 -1
  125. package/lib/utils/bindingBoxes.d.ts +23 -0
  126. package/lib/utils/bindingBoxes.js +89 -0
  127. package/lib/utils/bindingBoxes.js.map +1 -0
  128. package/lib/utils/cookies.d.ts +13 -13
  129. package/lib/utils/cookies.js +50 -50
  130. package/lib/utils/debug.d.ts +4 -4
  131. package/lib/utils/debug.js +31 -31
  132. package/lib/utils/debug.js.map +1 -1
  133. package/lib/utils/duplicationsHandler.d.ts +19 -0
  134. package/lib/utils/duplicationsHandler.js +70 -0
  135. package/lib/utils/duplicationsHandler.js.map +1 -0
  136. package/lib/utils/filtersPersonalization.d.ts +3 -3
  137. package/lib/utils/filtersPersonalization.js +39 -39
  138. package/lib/utils/filtersPersonalization.js.map +1 -1
  139. package/lib/utils/image.d.ts +6 -0
  140. package/lib/utils/image.js +154 -0
  141. package/lib/utils/image.js.map +1 -0
  142. package/lib/utils/klaviyo.js +1 -1
  143. package/lib/utils/location.d.ts +1 -1
  144. package/lib/utils/location.js +11 -11
  145. package/lib/utils/location.js.map +1 -1
  146. package/lib/utils/mappingUtil.d.ts +4 -4
  147. package/lib/utils/mappingUtil.js +16 -16
  148. package/lib/utils/options.d.ts +23 -23
  149. package/lib/utils/options.js +16 -16
  150. package/lib/utils/personalization.d.ts +2 -0
  151. package/lib/utils/personalization.js +21 -0
  152. package/lib/utils/personalization.js.map +1 -0
  153. package/lib/utils/segments.d.ts +2 -2
  154. package/lib/utils/segments.js +19 -20
  155. package/lib/utils/segments.js.map +1 -1
  156. package/lib/utils/shopifyMarkets.d.ts +3 -3
  157. package/lib/utils/shopifyMarkets.js +12 -12
  158. package/lib/utils/sortUtil.d.ts +1 -0
  159. package/lib/utils/sortUtil.js +25 -0
  160. package/lib/utils/sortUtil.js.map +1 -0
  161. package/lib/utils/updateRecentSearches.d.ts +2 -1
  162. package/lib/utils/updateRecentSearches.js +56 -26
  163. package/lib/utils/updateRecentSearches.js.map +1 -1
  164. package/lib/utils/validation.d.ts +5 -5
  165. package/lib/utils/validation.js +46 -46
  166. package/lib/utils/validation.js.map +1 -1
  167. package/package.json +3 -2
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.duplicationsHandler = void 0;
4
+ /**
5
+ * duplicationsHandler provides a method to filter out duplicate products across pages
6
+ * within the same query session. A session is uniquely identified by a composite key
7
+ * built from the query (or categoryID), sortBy, and narrow parameters.
8
+ */
9
+ exports.duplicationsHandler = {
10
+ /**
11
+ * Filter the list of products to remove duplicates across paginated responses.
12
+ * It uses a global history dictionary (stored on window) to track product IDs seen
13
+ * in each session and on each page.
14
+ *
15
+ * @param {FullTextResults | smartCollectionsResults} result - The result object containing the products.
16
+ * @returns {Product[] | undefined} - The filtered list of products, or undefined if no products are provided.
17
+ */
18
+ getFilteredProducts: function (result) {
19
+ var _a, _b;
20
+ try {
21
+ // If the result does not contain any products, return undefined.
22
+ if ((result === null || result === void 0 ? void 0 : result.products) === undefined) {
23
+ return undefined;
24
+ }
25
+ // Retrieve the global history dictionary from the window object,
26
+ // or initialize an empty object if it doesn't exist.
27
+ var historyDict_1 = window.fastSimonSDKHistoryDict || {};
28
+ var newProductsResponse = result.products;
29
+ // Construct a composite key for the current session using the query (or categoryID),
30
+ // sortBy, and narrow parameters. This key is used to isolate the deduplication state
31
+ // for a specific query context.
32
+ var historyProductsKey_1 = "".concat((result === null || result === void 0 ? void 0 : result.query) || (result === null || result === void 0 ? void 0 : result.categoryID), "_").concat(result === null || result === void 0 ? void 0 : result.sortBy, "_").concat((result === null || result === void 0 ? void 0 : result.narrow) || '');
33
+ // If no history exists for this session key, we treat it as a new session.
34
+ // For a new session, we reset the entire historyDict.
35
+ if (!historyDict_1[historyProductsKey_1]) {
36
+ historyDict_1 = {};
37
+ historyDict_1[historyProductsKey_1] = {};
38
+ }
39
+ // Determine the page number from the result, defaulting to 1 if not specified.
40
+ var page_1 = result.page || 1;
41
+ // If this page has already been fetched previously, remove the existing history
42
+ // for that page to ensure that the current response is processed fresh.
43
+ if ((_a = historyDict_1[historyProductsKey_1]) === null || _a === void 0 ? void 0 : _a[page_1]) {
44
+ delete historyDict_1[historyProductsKey_1][page_1];
45
+ }
46
+ // Initialize history for the current page as an empty object.
47
+ historyDict_1[historyProductsKey_1][page_1] = {};
48
+ var previousPageProductsDict_1 = ((_b = historyDict_1[historyProductsKey_1]) === null || _b === void 0 ? void 0 : _b[page_1 - 1]) ? historyDict_1[historyProductsKey_1][page_1 - 1] : {};
49
+ var filteredProductsResponse_1 = [];
50
+ newProductsResponse.forEach(function (product) {
51
+ // Check if the product is marked as 'promotile' (i.e., should always be displayed)
52
+ // or if the product has not been seen in any page for the current session.
53
+ if ((product === null || product === void 0 ? void 0 : product.promotile) || !(previousPageProductsDict_1 === null || previousPageProductsDict_1 === void 0 ? void 0 : previousPageProductsDict_1[product.id])) {
54
+ // Record the product ID as seen on the current page and add the product to the filtered list.
55
+ historyDict_1[historyProductsKey_1][page_1][product.id] = true;
56
+ filteredProductsResponse_1.push(product);
57
+ }
58
+ });
59
+ window.fastSimonSDKHistoryDict = historyDict_1;
60
+ if (filteredProductsResponse_1.length !== newProductsResponse.length) {
61
+ console.warn('Some products were filtered out due to duplications');
62
+ }
63
+ return (filteredProductsResponse_1 === null || filteredProductsResponse_1 === void 0 ? void 0 : filteredProductsResponse_1.length) ? filteredProductsResponse_1 : newProductsResponse;
64
+ }
65
+ catch (e) {
66
+ return result === null || result === void 0 ? void 0 : result.products;
67
+ }
68
+ }
69
+ };
70
+ //# sourceMappingURL=duplicationsHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duplicationsHandler.js","sourceRoot":"","sources":["../../src/utils/duplicationsHandler.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { Narrow } from "../models/fullTextSearch";
2
- export declare const handleFiltersPersonalization: (narrow?: Narrow[], isActive?: boolean) => void;
3
- export declare const isFiltersPersonalization: (isNarrow: boolean, isActive?: boolean) => true | undefined;
1
+ import { Narrow } from "../models/fullTextSearch";
2
+ export declare const handleFiltersPersonalization: (narrow?: Narrow[], isActive?: boolean) => void;
3
+ export declare const isFiltersPersonalization: (isNarrow: boolean, isActive?: boolean) => true | undefined;
@@ -1,40 +1,40 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isFiltersPersonalization = exports.handleFiltersPersonalization = void 0;
4
- var LS_KEY = 'fast-simon-filters-personalization';
5
- var LS_KEY_DEBUG = 'fast-simon-filters-personalization-debug';
6
- var handleFiltersPersonalization = function (narrow, isActive) {
7
- var _a;
8
- if (!isActive && !localStorage.getItem(LS_KEY_DEBUG)) {
9
- return;
10
- }
11
- if (!narrow || narrow.length !== 1) {
12
- return;
13
- }
14
- var specificNarrow = narrow[0];
15
- if (((_a = specificNarrow === null || specificNarrow === void 0 ? void 0 : specificNarrow[0]) === null || _a === void 0 ? void 0 : _a.toLowerCase()) !== 'size') {
16
- return;
17
- }
18
- var personalSizeFilter = specificNarrow[1];
19
- localStorage.setItem(LS_KEY, JSON.stringify({
20
- time: Date.now(),
21
- personalSizeFilter: personalSizeFilter
22
- }));
23
- };
24
- exports.handleFiltersPersonalization = handleFiltersPersonalization;
25
- var isFiltersPersonalization = function (isNarrow, isActive) {
26
- if (isNarrow || (!isActive && !localStorage.getItem(LS_KEY_DEBUG))) {
27
- return undefined;
28
- }
29
- var personalizedFilterLS = localStorage.getItem(LS_KEY);
30
- if (!personalizedFilterLS) {
31
- return undefined;
32
- }
33
- var personalSizeFilter = JSON.parse(personalizedFilterLS);
34
- if (Date.now() - personalSizeFilter.time > 1000 * 60 * 30) {
35
- return undefined;
36
- }
37
- return true;
38
- };
39
- exports.isFiltersPersonalization = isFiltersPersonalization;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isFiltersPersonalization = exports.handleFiltersPersonalization = void 0;
4
+ var LS_KEY = 'fast-simon-filters-personalization';
5
+ var LS_KEY_DEBUG = 'fast-simon-filters-personalization-debug';
6
+ var handleFiltersPersonalization = function (narrow, isActive) {
7
+ var _a;
8
+ if (!isActive && !localStorage.getItem(LS_KEY_DEBUG)) {
9
+ return;
10
+ }
11
+ if (!narrow || narrow.length !== 1) {
12
+ return;
13
+ }
14
+ var specificNarrow = narrow[0];
15
+ if (((_a = specificNarrow === null || specificNarrow === void 0 ? void 0 : specificNarrow[0]) === null || _a === void 0 ? void 0 : _a.toLowerCase()) !== 'size') {
16
+ return;
17
+ }
18
+ var personalSizeFilter = specificNarrow[1];
19
+ localStorage.setItem(LS_KEY, JSON.stringify({
20
+ time: Date.now(),
21
+ personalSizeFilter: personalSizeFilter
22
+ }));
23
+ };
24
+ exports.handleFiltersPersonalization = handleFiltersPersonalization;
25
+ var isFiltersPersonalization = function (isNarrow, isActive) {
26
+ if (isNarrow || (!isActive && !localStorage.getItem(LS_KEY_DEBUG))) {
27
+ return undefined;
28
+ }
29
+ var personalizedFilterLS = localStorage.getItem(LS_KEY);
30
+ if (!personalizedFilterLS) {
31
+ return undefined;
32
+ }
33
+ var personalSizeFilter = JSON.parse(personalizedFilterLS);
34
+ if (Date.now() - personalSizeFilter.time > 1000 * 60 * 30) {
35
+ return undefined;
36
+ }
37
+ return true;
38
+ };
39
+ exports.isFiltersPersonalization = isFiltersPersonalization;
40
40
  //# sourceMappingURL=filtersPersonalization.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"filtersPersonalization.js","sourceRoot":"","sources":["../../src/utils/filtersPersonalization.ts"],"names":[],"mappings":";;;AAEA,IAAM,MAAM,GAAG,oCAAoC,CAAC;AACpD,IAAM,YAAY,GAAG,0CAA0C,CAAC;AAEzD,IAAM,4BAA4B,GAAG,UAAC,MAAiB,EAAE,QAAkB;;IAC9E,IAAG,CAAC,QAAQ,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;QACjD,OAAO;KACV;IACD,IAAG,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QAC/B,OAAO;KACV;IACD,IAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACjC,IAAG,CAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAG,CAAC,CAAC,0CAAE,WAAW,EAAE,MAAK,MAAM,EAAE;QAC9C,OAAO;KACV;IACD,IAAI,kBAAkB,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IAE3C,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC;QACxC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;QAChB,kBAAkB,EAAE,kBAAkB;KACzC,CAAC,CAAC,CAAC;AAER,CAAC,CAAA;AAlBY,QAAA,4BAA4B,gCAkBxC;AAGM,IAAM,wBAAwB,GAAG,UAAC,QAAiB,EAAE,QAAkB;IAC1E,IAAG,QAAQ,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE;QAC/D,OAAO,SAAS,CAAC;KACpB;IACD,IAAM,oBAAoB,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1D,IAAG,CAAC,oBAAoB,EAAE;QACtB,OAAO,SAAS,CAAA;KACnB;IACD,IAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAE5D,IAAG,IAAI,CAAC,GAAG,EAAE,GAAG,kBAAkB,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE;QACtD,OAAO,SAAS,CAAC;KACpB;IAED,OAAO,IAAI,CAAC;AAChB,CAAC,CAAA;AAfY,QAAA,wBAAwB,4BAepC"}
1
+ {"version":3,"file":"filtersPersonalization.js","sourceRoot":"","sources":["../../src/utils/filtersPersonalization.ts"],"names":[],"mappings":";;;AAEA,IAAM,MAAM,GAAG,oCAAoC,CAAC;AACpD,IAAM,YAAY,GAAG,0CAA0C,CAAC;AAEzD,IAAM,4BAA4B,GAAG,UAAC,MAAiB,EAAE,QAAkB;;IAC9E,IAAG,CAAC,QAAQ,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAClD,OAAO;IACX,CAAC;IACD,IAAG,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO;IACX,CAAC;IACD,IAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACjC,IAAG,CAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAG,CAAC,CAAC,0CAAE,WAAW,EAAE,MAAK,MAAM,EAAE,CAAC;QAC/C,OAAO;IACX,CAAC;IACD,IAAI,kBAAkB,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IAE3C,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC;QACxC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;QAChB,kBAAkB,EAAE,kBAAkB;KACzC,CAAC,CAAC,CAAC;AAER,CAAC,CAAA;AAlBY,QAAA,4BAA4B,gCAkBxC;AAGM,IAAM,wBAAwB,GAAG,UAAC,QAAiB,EAAE,QAAkB;IAC1E,IAAG,QAAQ,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;QAChE,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,IAAM,oBAAoB,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1D,IAAG,CAAC,oBAAoB,EAAE,CAAC;QACvB,OAAO,SAAS,CAAA;IACpB,CAAC;IACD,IAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAE5D,IAAG,IAAI,CAAC,GAAG,EAAE,GAAG,kBAAkB,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;QACvD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC,CAAA;AAfY,QAAA,wBAAwB,4BAepC"}
@@ -0,0 +1,6 @@
1
+ interface ImageFile extends File {
2
+ size: number;
3
+ type: string;
4
+ }
5
+ export declare const compressAndConvertToBase64: (file: ImageFile, targetSizeKB: number) => Promise<string | null>;
6
+ export {};
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ // TypeScript version of the compressImage function and its dependencies
3
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
+ return new (P || (P = Promise))(function (resolve, reject) {
6
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
10
+ });
11
+ };
12
+ var __generator = (this && this.__generator) || function (thisArg, body) {
13
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
14
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
15
+ function verb(n) { return function (v) { return step([n, v]); }; }
16
+ function step(op) {
17
+ if (f) throw new TypeError("Generator is already executing.");
18
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
19
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
20
+ if (y = 0, t) op = [op[0] & 2, t.value];
21
+ switch (op[0]) {
22
+ case 0: case 1: t = op; break;
23
+ case 4: _.label++; return { value: op[1], done: false };
24
+ case 5: _.label++; y = op[1]; op = [0]; continue;
25
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
26
+ default:
27
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
28
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
29
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
30
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
31
+ if (t[2]) _.ops.pop();
32
+ _.trys.pop(); continue;
33
+ }
34
+ op = body.call(thisArg, _);
35
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
36
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
37
+ }
38
+ };
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.compressAndConvertToBase64 = void 0;
41
+ var compressAndConvertToBase64 = function (file, targetSizeKB) { return __awaiter(void 0, void 0, void 0, function () {
42
+ var compressedImageSrc, error_1;
43
+ return __generator(this, function (_a) {
44
+ switch (_a.label) {
45
+ case 0:
46
+ _a.trys.push([0, 2, , 3]);
47
+ return [4 /*yield*/, compressImage(file, targetSizeKB)];
48
+ case 1:
49
+ compressedImageSrc = _a.sent();
50
+ return [2 /*return*/, compressedImageSrc.split(",")[1]]; // Extract Base64
51
+ case 2:
52
+ error_1 = _a.sent();
53
+ console.error("Error compressing image:", error_1);
54
+ alert("Failed to compress the image.");
55
+ return [2 /*return*/, null];
56
+ case 3: return [2 /*return*/];
57
+ }
58
+ });
59
+ }); };
60
+ exports.compressAndConvertToBase64 = compressAndConvertToBase64;
61
+ function compressImage(imageFile, targetFileSizeKB) {
62
+ return __awaiter(this, void 0, void 0, function () {
63
+ var imageSizeKB, dataUrl, low, middle, high, result, file, maxDeviation, maxIterations, img, canvas, context;
64
+ return __generator(this, function (_a) {
65
+ switch (_a.label) {
66
+ case 0:
67
+ imageSizeKB = imageFile.size / 1024;
68
+ return [4 /*yield*/, getImageDataAsUrl(imageFile)];
69
+ case 1:
70
+ dataUrl = _a.sent();
71
+ if (imageSizeKB <= targetFileSizeKB) {
72
+ return [2 /*return*/, dataUrl];
73
+ }
74
+ low = 0.0;
75
+ middle = 0.5;
76
+ high = 1.0;
77
+ result = dataUrl;
78
+ file = imageFile;
79
+ maxDeviation = 50;
80
+ maxIterations = 10;
81
+ _a.label = 2;
82
+ case 2:
83
+ if (!(Math.abs(file.size / 1024 - targetFileSizeKB) > maxDeviation && maxIterations-- > 0)) return [3 /*break*/, 5];
84
+ return [4 /*yield*/, loadImage(dataUrl)];
85
+ case 3:
86
+ img = _a.sent();
87
+ canvas = drawImageInCanvas(img);
88
+ context = canvas.getContext("2d");
89
+ if (!context) {
90
+ throw new Error("Failed to get 2D context from canvas.");
91
+ }
92
+ canvas.width = Math.round(img.width * middle);
93
+ canvas.height = Math.round(img.height * middle);
94
+ context.scale(canvas.width / img.width, canvas.height / img.height);
95
+ context.drawImage(img, 0, 0);
96
+ return [4 /*yield*/, readFileFromUrl(canvas.toDataURL(), "compressed", imageFile.type)];
97
+ case 4:
98
+ file = _a.sent();
99
+ if (file.size / 1024 < targetFileSizeKB - maxDeviation) {
100
+ low = middle;
101
+ }
102
+ else if (file.size / 1024 > targetFileSizeKB) {
103
+ high = middle;
104
+ }
105
+ middle = (low + high) / 2;
106
+ result = canvas.toDataURL();
107
+ return [3 /*break*/, 2];
108
+ case 5: return [2 /*return*/, result];
109
+ }
110
+ });
111
+ });
112
+ }
113
+ function getImageDataAsUrl(imageFile) {
114
+ return new Promise(function (resolve) {
115
+ var reader = new FileReader();
116
+ reader.onload = function (e) { var _a; return resolve((_a = e.target) === null || _a === void 0 ? void 0 : _a.result); };
117
+ reader.readAsDataURL(imageFile);
118
+ });
119
+ }
120
+ function loadImage(imageSrc) {
121
+ return new Promise(function (resolve) {
122
+ var img = new Image();
123
+ img.onload = function () { return resolve(img); };
124
+ img.src = imageSrc;
125
+ });
126
+ }
127
+ function drawImageInCanvas(imageElement) {
128
+ var canvas = document.createElement("canvas");
129
+ canvas.width = imageElement.width;
130
+ canvas.height = imageElement.height;
131
+ var ctx = canvas.getContext("2d");
132
+ if (!ctx) {
133
+ throw new Error("Failed to get 2D context from canvas.");
134
+ }
135
+ ctx.drawImage(imageElement, 0, 0, imageElement.width, imageElement.height);
136
+ return canvas;
137
+ }
138
+ function readFileFromUrl(url, filename, mimeType) {
139
+ return __awaiter(this, void 0, void 0, function () {
140
+ var res, arrBuff;
141
+ return __generator(this, function (_a) {
142
+ switch (_a.label) {
143
+ case 0: return [4 /*yield*/, fetch(url)];
144
+ case 1:
145
+ res = _a.sent();
146
+ return [4 /*yield*/, res.arrayBuffer()];
147
+ case 2:
148
+ arrBuff = _a.sent();
149
+ return [2 /*return*/, new File([arrBuff], filename, { type: mimeType })];
150
+ }
151
+ });
152
+ });
153
+ }
154
+ //# sourceMappingURL=image.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image.js","sourceRoot":"","sources":["../../src/utils/image.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";
1
+ "use strict";
2
2
  //# sourceMappingURL=klaviyo.js.map
@@ -1 +1 @@
1
- export default function getUserLocation(uuid: string): string | null;
1
+ export default function getUserLocation(uuid: string): string | null;
@@ -1,12 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var LS_KEY = "isp_location_";
4
- function getUserLocation(uuid) {
5
- var key = LS_KEY + uuid;
6
- if (key in localStorage) {
7
- return localStorage.getItem(key);
8
- }
9
- return null;
10
- }
11
- exports.default = getUserLocation;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = getUserLocation;
4
+ var LS_KEY = "isp_location_";
5
+ function getUserLocation(uuid) {
6
+ var key = LS_KEY + uuid;
7
+ if (key in localStorage) {
8
+ return localStorage.getItem(key);
9
+ }
10
+ return null;
11
+ }
12
12
  //# sourceMappingURL=location.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"location.js","sourceRoot":"","sources":["../../src/utils/location.ts"],"names":[],"mappings":";;AAAA,IAAM,MAAM,GAAG,eAAe,CAAC;AAE/B,SAAwB,eAAe,CAAC,IAAY;IAChD,IAAI,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,GAAG,IAAI,YAAY,EAAE;QACrB,OAAO,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;KACpC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAND,kCAMC"}
1
+ {"version":3,"file":"location.js","sourceRoot":"","sources":["../../src/utils/location.ts"],"names":[],"mappings":";;AAEA,kCAMC;AARD,IAAM,MAAM,GAAG,eAAe,CAAC;AAE/B,SAAwB,eAAe,CAAC,IAAY;IAChD,IAAI,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,GAAG,IAAI,YAAY,EAAE,CAAC;QACtB,OAAO,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { PopularSearch } from "../models/autocomplete";
2
- export declare class MappingUtil {
3
- static convertToPopularSearchesResponse(strings: string[]): PopularSearch[];
4
- }
1
+ import { PopularSearch } from "../models/autocomplete";
2
+ export declare class MappingUtil {
3
+ static convertToPopularSearchesResponse(strings: string[]): PopularSearch[];
4
+ }
@@ -1,17 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MappingUtil = void 0;
4
- var MappingUtil = /** @class */ (function () {
5
- function MappingUtil() {
6
- }
7
- MappingUtil.convertToPopularSearchesResponse = function (strings) {
8
- var items = strings.map(function (str) { return ({
9
- label: str,
10
- type: 'p' // Assuming 'p' is a constant type for all items
11
- }); });
12
- return items;
13
- };
14
- return MappingUtil;
15
- }());
16
- exports.MappingUtil = MappingUtil;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MappingUtil = void 0;
4
+ var MappingUtil = /** @class */ (function () {
5
+ function MappingUtil() {
6
+ }
7
+ MappingUtil.convertToPopularSearchesResponse = function (strings) {
8
+ var items = strings.map(function (str) { return ({
9
+ label: str,
10
+ type: 'p' // Assuming 'p' is a constant type for all items
11
+ }); });
12
+ return items;
13
+ };
14
+ return MappingUtil;
15
+ }());
16
+ exports.MappingUtil = MappingUtil;
17
17
  //# sourceMappingURL=mappingUtil.js.map
@@ -1,23 +1,23 @@
1
- interface SDKOptionsProps {
2
- ab_test_disable_merchandising?: boolean;
3
- ab_test_disable_merchandising_strategies?: boolean;
4
- ab_test_disable_merchandising_rules?: boolean;
5
- ab_test_disable_semantics?: boolean;
6
- ab_test_disable_search_personalization?: boolean;
7
- ab_test_disable_collection_personalization?: boolean;
8
- ab_test_disable_recommendations_personalization?: boolean;
9
- reasoning?: string;
10
- autocomplete_preview?: boolean;
11
- show_popular_on_hover?: boolean;
12
- merchandising_rules?: any[];
13
- strategy: any;
14
- disable_merchandising?: boolean;
15
- disable_merchandising_rules?: boolean;
16
- disable_strategies?: boolean;
17
- request_serial_number?: number;
18
- related_search?: number;
19
- }
20
- export declare const getSDKABTestingOptionExist: (flag: keyof SDKOptionsProps) => 1 | undefined;
21
- export declare const getSDKABTestingOption: (flag: keyof SDKOptionsProps) => string | undefined;
22
- export declare const getReasoningVectorSearch: () => boolean;
23
- export {};
1
+ interface SDKOptionsProps {
2
+ ab_test_disable_merchandising?: boolean;
3
+ ab_test_disable_merchandising_strategies?: boolean;
4
+ ab_test_disable_merchandising_rules?: boolean;
5
+ ab_test_disable_semantics?: boolean;
6
+ ab_test_disable_search_personalization?: boolean;
7
+ ab_test_disable_collection_personalization?: boolean;
8
+ ab_test_disable_recommendations_personalization?: boolean;
9
+ reasoning?: string;
10
+ autocomplete_preview?: boolean;
11
+ show_popular_on_hover?: boolean;
12
+ merchandising_rules?: any[];
13
+ strategy: any;
14
+ disable_merchandising?: boolean;
15
+ disable_merchandising_rules?: boolean;
16
+ disable_strategies?: boolean;
17
+ request_serial_number?: number;
18
+ related_search?: number;
19
+ }
20
+ export declare const getSDKABTestingOptionExist: (flag: keyof SDKOptionsProps) => 1 | undefined;
21
+ export declare const getSDKABTestingOption: (flag: keyof SDKOptionsProps) => string | undefined;
22
+ export declare const getReasoningVectorSearch: () => boolean;
23
+ export {};
@@ -1,17 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getReasoningVectorSearch = exports.getSDKABTestingOption = exports.getSDKABTestingOptionExist = void 0;
4
- // old backend expects 1 / undefined instead of a plane boolean
5
- var getSDKABTestingOptionExist = function (flag) {
6
- return "fastSDKOptions" in window && window.fastSDKOptions[flag] ? 1 : undefined;
7
- };
8
- exports.getSDKABTestingOptionExist = getSDKABTestingOptionExist;
9
- var getSDKABTestingOption = function (flag) {
10
- return "fastSDKOptions" in window && typeof window.fastSDKOptions[flag] !== "undefined" ? window.fastSDKOptions[flag] : undefined;
11
- };
12
- exports.getSDKABTestingOption = getSDKABTestingOption;
13
- var getReasoningVectorSearch = function () {
14
- return localStorage.getItem("reasoning_vector_search") === "true";
15
- };
16
- exports.getReasoningVectorSearch = getReasoningVectorSearch;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getReasoningVectorSearch = exports.getSDKABTestingOption = exports.getSDKABTestingOptionExist = void 0;
4
+ // old backend expects 1 / undefined instead of a plane boolean
5
+ var getSDKABTestingOptionExist = function (flag) {
6
+ return "fastSDKOptions" in window && window.fastSDKOptions[flag] ? 1 : undefined;
7
+ };
8
+ exports.getSDKABTestingOptionExist = getSDKABTestingOptionExist;
9
+ var getSDKABTestingOption = function (flag) {
10
+ return "fastSDKOptions" in window && typeof window.fastSDKOptions[flag] !== "undefined" ? window.fastSDKOptions[flag] : undefined;
11
+ };
12
+ exports.getSDKABTestingOption = getSDKABTestingOption;
13
+ var getReasoningVectorSearch = function () {
14
+ return localStorage.getItem("reasoning_vector_search") === "true";
15
+ };
16
+ exports.getReasoningVectorSearch = getReasoningVectorSearch;
17
17
  //# sourceMappingURL=options.js.map
@@ -0,0 +1,2 @@
1
+ import { CollectionsPersonalization } from "../models/common";
2
+ export declare const isCollectionPersonalization: (categoryId: string, personalizationSettings?: CollectionsPersonalization) => boolean;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isCollectionPersonalization = void 0;
4
+ var isCollectionPersonalization = function (categoryId, personalizationSettings) {
5
+ var isPersonalization = true;
6
+ if (!personalizationSettings || (typeof (personalizationSettings === null || personalizationSettings === void 0 ? void 0 : personalizationSettings.active) === 'undefined')) {
7
+ isPersonalization = false;
8
+ }
9
+ else if (!personalizationSettings.active) {
10
+ isPersonalization = false;
11
+ }
12
+ else if (personalizationSettings.avoidCategories.includes(categoryId)) {
13
+ isPersonalization = false;
14
+ }
15
+ else if (personalizationSettings.disableCategories.includes(categoryId)) {
16
+ isPersonalization = false;
17
+ }
18
+ return isPersonalization;
19
+ };
20
+ exports.isCollectionPersonalization = isCollectionPersonalization;
21
+ //# sourceMappingURL=personalization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"personalization.js","sourceRoot":"","sources":["../../src/utils/personalization.ts"],"names":[],"mappings":";;;AAEO,IAAM,2BAA2B,GAAG,UAAC,UAAkB,EAAE,uBAAoD;IAChH,IAAI,iBAAiB,GAAG,IAAI,CAAC;IAC7B,IAAG,CAAC,uBAAuB,IAAI,CAAC,OAAO,CAAA,uBAAuB,aAAvB,uBAAuB,uBAAvB,uBAAuB,CAAE,MAAM,CAAA,KAAK,WAAW,CAAC,EAAE,CAAC;QACtF,iBAAiB,GAAG,KAAK,CAAC;IAC9B,CAAC;SAAM,IAAG,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC;QACxC,iBAAiB,GAAG,KAAK,CAAC;IAC9B,CAAC;SAAM,IAAG,uBAAuB,CAAC,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACrE,iBAAiB,GAAG,KAAK,CAAC;IAC9B,CAAC;SAAM,IAAG,uBAAuB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACvE,iBAAiB,GAAG,KAAK,CAAC;IAC9B,CAAC;IACD,OAAO,iBAAiB,CAAC;AAC7B,CAAC,CAAA;AAZY,QAAA,2BAA2B,+BAYvC"}
@@ -1,2 +1,2 @@
1
- export declare function setServingSegments(segmentRes?: boolean): void;
2
- export declare function getSegments(): string | null | undefined;
1
+ export declare function setServingSegments(segmentRes?: boolean): void;
2
+ export declare function getSegments(): string | null | undefined;
@@ -1,21 +1,20 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSegments = exports.setServingSegments = void 0;
4
- var ISP_SEGMENTS_SERVING_KEY = 'ISP_SEGMENTS_SERVING_KEY';
5
- var LS_KEY = "isp_token_1";
6
- function setServingSegments(segmentRes) {
7
- if (segmentRes) {
8
- localStorage.setItem(ISP_SEGMENTS_SERVING_KEY, String(segmentRes));
9
- }
10
- else {
11
- localStorage.removeItem(ISP_SEGMENTS_SERVING_KEY);
12
- }
13
- }
14
- exports.setServingSegments = setServingSegments;
15
- function getSegments() {
16
- var _a, _b;
17
- var segments = (_a = window === null || window === void 0 ? void 0 : window.localStorage) === null || _a === void 0 ? void 0 : _a.getItem(ISP_SEGMENTS_SERVING_KEY);
18
- return segments ? (_b = window === null || window === void 0 ? void 0 : window.localStorage) === null || _b === void 0 ? void 0 : _b.getItem(LS_KEY) : undefined;
19
- }
20
- exports.getSegments = getSegments;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setServingSegments = setServingSegments;
4
+ exports.getSegments = getSegments;
5
+ var ISP_SEGMENTS_SERVING_KEY = 'ISP_SEGMENTS_SERVING_KEY';
6
+ var LS_KEY = "isp_token_1";
7
+ function setServingSegments(segmentRes) {
8
+ if (segmentRes) {
9
+ localStorage.setItem(ISP_SEGMENTS_SERVING_KEY, String(segmentRes));
10
+ }
11
+ else {
12
+ localStorage.removeItem(ISP_SEGMENTS_SERVING_KEY);
13
+ }
14
+ }
15
+ function getSegments() {
16
+ var _a, _b;
17
+ var segments = (_a = window === null || window === void 0 ? void 0 : window.localStorage) === null || _a === void 0 ? void 0 : _a.getItem(ISP_SEGMENTS_SERVING_KEY);
18
+ return segments ? (_b = window === null || window === void 0 ? void 0 : window.localStorage) === null || _b === void 0 ? void 0 : _b.getItem(LS_KEY) : undefined;
19
+ }
21
20
  //# sourceMappingURL=segments.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"segments.js","sourceRoot":"","sources":["../../src/utils/segments.ts"],"names":[],"mappings":";;;AAAA,IAAM,wBAAwB,GAAG,0BAA0B,CAAC;AAC5D,IAAM,MAAM,GAAG,aAAa,CAAC;AAE7B,SAAgB,kBAAkB,CAAC,UAAoB;IACnD,IAAG,UAAU,EAAE;QACX,YAAY,CAAC,OAAO,CAAC,wBAAwB,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;KACtE;SAAM;QACH,YAAY,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;KACrD;AACL,CAAC;AAND,gDAMC;AAED,SAAgB,WAAW;;IACvB,IAAM,QAAQ,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,0CAAE,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACzE,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,0CAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACxE,CAAC;AAHD,kCAGC"}
1
+ {"version":3,"file":"segments.js","sourceRoot":"","sources":["../../src/utils/segments.ts"],"names":[],"mappings":";;AAGA,gDAMC;AAED,kCAGC;AAdD,IAAM,wBAAwB,GAAG,0BAA0B,CAAC;AAC5D,IAAM,MAAM,GAAG,aAAa,CAAC;AAE7B,SAAgB,kBAAkB,CAAC,UAAoB;IACnD,IAAG,UAAU,EAAE,CAAC;QACZ,YAAY,CAAC,OAAO,CAAC,wBAAwB,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IACvE,CAAC;SAAM,CAAC;QACJ,YAAY,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;IACtD,CAAC;AACL,CAAC;AAED,SAAgB,WAAW;;IACvB,IAAM,QAAQ,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,0CAAE,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACzE,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,0CAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACxE,CAAC"}
@@ -1,3 +1,3 @@
1
- export default class ShopifyMarkets {
2
- static getCountry(): any;
3
- }
1
+ export default class ShopifyMarkets {
2
+ static getCountry(): any;
3
+ }
@@ -1,13 +1,13 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var ShopifyMarkets = /** @class */ (function () {
4
- function ShopifyMarkets() {
5
- }
6
- ShopifyMarkets.getCountry = function () {
7
- var _a;
8
- return (_a = window === null || window === void 0 ? void 0 : window.Shopify) === null || _a === void 0 ? void 0 : _a.country;
9
- };
10
- return ShopifyMarkets;
11
- }());
12
- exports.default = ShopifyMarkets;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var ShopifyMarkets = /** @class */ (function () {
4
+ function ShopifyMarkets() {
5
+ }
6
+ ShopifyMarkets.getCountry = function () {
7
+ var _a;
8
+ return (_a = window === null || window === void 0 ? void 0 : window.Shopify) === null || _a === void 0 ? void 0 : _a.country;
9
+ };
10
+ return ShopifyMarkets;
11
+ }());
12
+ exports.default = ShopifyMarkets;
13
13
  //# sourceMappingURL=shopifyMarkets.js.map