fast-simon-sdk 1.2.55 → 1.2.59

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 (85) hide show
  1. package/lib/config.js +1 -1
  2. package/lib/config.js.map +1 -1
  3. package/lib/index.js +3 -3
  4. package/lib/index.js.map +1 -1
  5. package/lib/models/common.d.ts +7 -2
  6. package/lib/models/common.js.map +1 -1
  7. package/lib/models/exports.js +1 -1
  8. package/lib/models/exports.js.map +1 -1
  9. package/lib/sections/contentSearch/index.js +13 -18
  10. package/lib/sections/contentSearch/index.js.map +1 -1
  11. package/lib/sections/eventReporter/index.js +233 -180
  12. package/lib/sections/eventReporter/index.js.map +1 -1
  13. package/lib/sections/eventReporter/utils.js +9 -8
  14. package/lib/sections/eventReporter/utils.js.map +1 -1
  15. package/lib/sections/fullTextSearch/index.js +52 -26
  16. package/lib/sections/fullTextSearch/index.js.map +1 -1
  17. package/lib/sections/fullTextSearch/utils.d.ts +2 -2
  18. package/lib/sections/fullTextSearch/utils.js +56 -47
  19. package/lib/sections/fullTextSearch/utils.js.map +1 -1
  20. package/lib/sections/index.js +167 -96
  21. package/lib/sections/index.js.map +1 -1
  22. package/lib/sections/initialization/index.js +14 -13
  23. package/lib/sections/initialization/index.js.map +1 -1
  24. package/lib/sections/initialization/utils.js +83 -40
  25. package/lib/sections/initialization/utils.js.map +1 -1
  26. package/lib/sections/instantSearch/index.d.ts +1 -1
  27. package/lib/sections/instantSearch/index.js +39 -18
  28. package/lib/sections/instantSearch/index.js.map +1 -1
  29. package/lib/sections/instantSearch/utils.d.ts +4 -2
  30. package/lib/sections/instantSearch/utils.js +72 -56
  31. package/lib/sections/instantSearch/utils.js.map +1 -1
  32. package/lib/sections/landingPage/index.js +34 -15
  33. package/lib/sections/landingPage/index.js.map +1 -1
  34. package/lib/sections/landingPage/utils.js +28 -22
  35. package/lib/sections/landingPage/utils.js.map +1 -1
  36. package/lib/sections/lookAlikeProductRecommendation/index.js +5 -4
  37. package/lib/sections/lookAlikeProductRecommendation/index.js.map +1 -1
  38. package/lib/sections/recommendations/index.d.ts +1 -1
  39. package/lib/sections/recommendations/index.js +16 -14
  40. package/lib/sections/recommendations/index.js.map +1 -1
  41. package/lib/sections/recommendations/utils.js +8 -8
  42. package/lib/sections/recommendations/utils.js.map +1 -1
  43. package/lib/sections/smartCollections/index.js +58 -32
  44. package/lib/sections/smartCollections/index.js.map +1 -1
  45. package/lib/sections/smartCollections/utils.d.ts +14 -12
  46. package/lib/sections/smartCollections/utils.js +76 -61
  47. package/lib/sections/smartCollections/utils.js.map +1 -1
  48. package/lib/services/autocomplete.d.ts +2 -1
  49. package/lib/services/autocomplete.js +11 -8
  50. package/lib/services/autocomplete.js.map +1 -1
  51. package/lib/services/common.d.ts +2 -1
  52. package/lib/services/common.js +23 -17
  53. package/lib/services/common.js.map +1 -1
  54. package/lib/services/content.js +11 -10
  55. package/lib/services/content.js.map +1 -1
  56. package/lib/services/fullTextSearch.js +20 -14
  57. package/lib/services/fullTextSearch.js.map +1 -1
  58. package/lib/services/landingPage.js +10 -9
  59. package/lib/services/landingPage.js.map +1 -1
  60. package/lib/services/lookAlikeProductRecommendation.js +6 -5
  61. package/lib/services/lookAlikeProductRecommendation.js.map +1 -1
  62. package/lib/services/related.d.ts +2 -1
  63. package/lib/services/related.js +14 -11
  64. package/lib/services/related.js.map +1 -1
  65. package/lib/services/reporting.js +24 -17
  66. package/lib/services/reporting.js.map +1 -1
  67. package/lib/services/smartCollections.js +19 -14
  68. package/lib/services/smartCollections.js.map +1 -1
  69. package/lib/services/utils.js +6 -5
  70. package/lib/services/utils.js.map +1 -1
  71. package/lib/utils/API.js +63 -9
  72. package/lib/utils/API.js.map +1 -1
  73. package/lib/utils/ArrayUtils.js +1 -1
  74. package/lib/utils/cookies.js +36 -23
  75. package/lib/utils/cookies.js.map +1 -1
  76. package/lib/utils/debug.js +5 -5
  77. package/lib/utils/debug.js.map +1 -1
  78. package/lib/utils/klaviyo.js +4 -4
  79. package/lib/utils/klaviyo.js.map +1 -1
  80. package/lib/utils/options.d.ts +7 -0
  81. package/lib/utils/options.js +3 -3
  82. package/lib/utils/options.js.map +1 -1
  83. package/lib/utils/validation.js +9 -8
  84. package/lib/utils/validation.js.map +1 -1
  85. package/package.json +7 -2
@@ -1,4 +1,15 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
14
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
15
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -8,14 +19,41 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
19
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
20
  });
10
21
  };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (_) try {
29
+ 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;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
11
49
  Object.defineProperty(exports, "__esModule", { value: true });
12
50
  exports.executeCallbacks = exports.registerCallback = exports.getPlatform = exports.setCartToken = exports.getUserSessionToken = exports.setSessionToken = exports.printSDKError = exports.printSDKReady = exports.setLoadData = void 0;
13
- const common_1 = require("../../services/common");
14
- const config_1 = require("../../config");
15
- const debug_1 = require("../../utils/debug");
16
- const options_1 = require("../../utils/options");
17
- const cookies_1 = require("../../utils/cookies");
18
- const setLoadData = (self, load) => {
51
+ var common_1 = require("../../services/common");
52
+ var config_1 = require("../../config");
53
+ var debug_1 = require("../../utils/debug");
54
+ var options_1 = require("../../utils/options");
55
+ var cookies_1 = require("../../utils/cookies");
56
+ var setLoadData = function (self, load) {
19
57
  self.data.cdnKey = load.cdn_cache_key || Date.now();
20
58
  self.data.dashboard = {
21
59
  site_url: load.site_url,
@@ -31,39 +69,39 @@ const setLoadData = (self, load) => {
31
69
  show_popular_products_on_focus: load.show_popular_products_on_focus
32
70
  };
33
71
  if (options_1.getSDKABTestingOptionExist("autocomplete_preview")) {
34
- self.data.dashboard = Object.assign(Object.assign({}, self.data.dashboard), { disable_categories_suggestions: false, max_popular_categories_suggestions: 20, max_popular_searches_suggestions: 20, max_product_suggestions: 20 });
72
+ self.data.dashboard = __assign(__assign({}, self.data.dashboard), { disable_categories_suggestions: false, max_popular_categories_suggestions: 20, max_popular_searches_suggestions: 20, max_product_suggestions: 20 });
35
73
  }
36
74
  localStorage.setItem("sdk-cdn-key", String(self.data.cdnKey));
37
75
  };
38
76
  exports.setLoadData = setLoadData;
39
- const printSDKReady = (self, callback) => {
77
+ var printSDKReady = function (self, callback) {
40
78
  self.status = "ready";
41
- console.log(`%c✅ Fast SDK Ready | uuid : ${self.data.uuid} | storeID: ${self.data.storeID} | url: ${self.data.dashboard.site_url}`, 'font-weight: bold; font-size: 12px;');
79
+ console.log("%c\u2705 Fast SDK Ready | uuid : " + self.data.uuid + " | storeID: " + self.data.storeID + " | url: " + self.data.dashboard.site_url, 'font-weight: bold; font-size: 12px;');
42
80
  if (callback) {
43
81
  callback();
44
82
  }
45
- const debugEndpoint = debug_1.getDebugEndpoint();
46
- const isNotCaching = debug_1.isDebugCaching();
83
+ var debugEndpoint = debug_1.getDebugEndpoint();
84
+ var isNotCaching = debug_1.isDebugCaching();
47
85
  if (debugEndpoint || isNotCaching) {
48
- console.log(`%c🛠️ Debug ON | Endpoint: ${debugEndpoint} ${isNotCaching ? "| Caching OFF " : ""} `, "font-weight: bold; font-size: 12px; color: red");
86
+ console.log("%c\uD83D\uDEE0\uFE0F Debug ON | Endpoint: " + debugEndpoint + " " + (isNotCaching ? "| Caching OFF " : "") + " ", "font-weight: bold; font-size: 12px; color: red");
49
87
  }
50
88
  };
51
89
  exports.printSDKReady = printSDKReady;
52
- const printSDKError = (self) => {
90
+ var printSDKError = function (self) {
53
91
  self.status = "error";
54
- console.log(`%c${config_1.API_ERROR_MSG}`, 'font-weight: bold; font-size: 12px; color: red');
92
+ console.log("%c" + config_1.API_ERROR_MSG, 'font-weight: bold; font-size: 12px; color: red');
55
93
  };
56
94
  exports.printSDKError = printSDKError;
57
- const setSessionToken = (self) => {
95
+ var setSessionToken = function (self) {
58
96
  self.data.sessionToken = getSessionToken();
59
97
  localStorage.setItem(config_1.SESSION_TOKEN_LS_KEY, JSON.stringify(self.data.sessionToken));
60
98
  };
61
99
  exports.setSessionToken = setSessionToken;
62
- const getSessionToken = () => {
63
- const sessionLC = localStorage.getItem(config_1.SESSION_TOKEN_LS_KEY);
64
- const now = Math.round(Date.now() / 1000);
100
+ var getSessionToken = function () {
101
+ var sessionLC = localStorage.getItem(config_1.SESSION_TOKEN_LS_KEY);
102
+ var now = Math.round(Date.now() / 1000);
65
103
  if (sessionLC) {
66
- const currentSession = JSON.parse(sessionLC);
104
+ var currentSession = JSON.parse(sessionLC);
67
105
  if (now - currentSession.lastActive >= config_1.SESSION_TOKEN_LIFE) {
68
106
  return {
69
107
  lastActive: now,
@@ -84,22 +122,27 @@ const getSessionToken = () => {
84
122
  };
85
123
  }
86
124
  };
87
- const getUserSessionToken = (self) => __awaiter(void 0, void 0, void 0, function* () {
88
- const userSessionLC = localStorage.getItem(config_1.USER_SESSION_TOKEN_LS_KEY);
89
- const { storeID, uuid } = self.data;
90
- if (userSessionLC) {
91
- return new Promise(resolve => resolve(userSessionLC));
92
- }
93
- else {
94
- const newSession = yield common_1.Common.getPostLoad({ storeID, uuid });
95
- localStorage.setItem(config_1.USER_SESSION_TOKEN_LS_KEY, newSession.isp_token);
96
- return newSession.isp_token;
97
- }
98
- });
125
+ var getUserSessionToken = function (self) { return __awaiter(void 0, void 0, void 0, function () {
126
+ var userSessionLC, _a, storeID, uuid, newSession;
127
+ return __generator(this, function (_b) {
128
+ switch (_b.label) {
129
+ case 0:
130
+ userSessionLC = localStorage.getItem(config_1.USER_SESSION_TOKEN_LS_KEY);
131
+ _a = self.data, storeID = _a.storeID, uuid = _a.uuid;
132
+ if (!userSessionLC) return [3 /*break*/, 1];
133
+ return [2 /*return*/, new Promise(function (resolve) { return resolve(userSessionLC); })];
134
+ case 1: return [4 /*yield*/, common_1.Common.getPostLoad({ storeID: storeID, uuid: uuid })];
135
+ case 2:
136
+ newSession = _b.sent();
137
+ localStorage.setItem(config_1.USER_SESSION_TOKEN_LS_KEY, newSession.isp_token);
138
+ return [2 /*return*/, newSession.isp_token];
139
+ }
140
+ });
141
+ }); };
99
142
  exports.getUserSessionToken = getUserSessionToken;
100
- const setCartToken = (self) => {
101
- const platform = exports.getPlatform();
102
- const cookies = new cookies_1.default();
143
+ var setCartToken = function (self) {
144
+ var platform = exports.getPlatform();
145
+ var cookies = new cookies_1.default();
103
146
  if (platform == "Shopify" && cookies.has(config_1.CART_TOKEN_COOKIE_NAME)) {
104
147
  self.data.cartToken = cookies.get(config_1.CART_TOKEN_COOKIE_NAME);
105
148
  return;
@@ -109,7 +152,7 @@ const setCartToken = (self) => {
109
152
  return;
110
153
  }
111
154
  if (platform == "Shopify") {
112
- common_1.Common.getShopifyCartToken().then(resp => {
155
+ common_1.Common.getShopifyCartToken().then(function (resp) {
113
156
  if (resp.token) {
114
157
  self.data.cartToken = resp.token;
115
158
  localStorage.setItem(config_1.CART_TOKEN_LS_KEY, resp.token);
@@ -117,7 +160,7 @@ const setCartToken = (self) => {
117
160
  });
118
161
  }
119
162
  else if (platform === "Bigcommerce") {
120
- common_1.Common.getBigcommerceCartToken().then(resp => {
163
+ common_1.Common.getBigcommerceCartToken().then(function (resp) {
121
164
  if (resp.length > 0 && resp[0].id) {
122
165
  self.data.cartToken = resp[0].id;
123
166
  localStorage.setItem(config_1.CART_TOKEN_LS_KEY, resp[0].id);
@@ -126,7 +169,7 @@ const setCartToken = (self) => {
126
169
  }
127
170
  };
128
171
  exports.setCartToken = setCartToken;
129
- const getPlatform = () => {
172
+ var getPlatform = function () {
130
173
  if ("Shopify" in window) {
131
174
  return "Shopify";
132
175
  }
@@ -136,7 +179,7 @@ const getPlatform = () => {
136
179
  return "";
137
180
  };
138
181
  exports.getPlatform = getPlatform;
139
- const registerCallback = (self, callback) => {
182
+ var registerCallback = function (self, callback) {
140
183
  if (self.status !== "ready") {
141
184
  if (self.callbacks) {
142
185
  self.callbacks.push(callback);
@@ -149,9 +192,9 @@ const registerCallback = (self, callback) => {
149
192
  return false;
150
193
  };
151
194
  exports.registerCallback = registerCallback;
152
- const executeCallbacks = (self) => {
195
+ var executeCallbacks = function (self) {
153
196
  if (self.callbacks) {
154
- self.callbacks.forEach(callback => callback());
197
+ self.callbacks.forEach(function (callback) { return callback(); });
155
198
  }
156
199
  };
157
200
  exports.executeCallbacks = executeCallbacks;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/sections/initialization/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/sections/initialization/utils.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,5 @@ import { instantSearchProps, SDKUtils } from "../../models/common";
2
2
  interface Props extends instantSearchProps {
3
3
  self: SDKUtils;
4
4
  }
5
- export declare const InstantSearch: ({ self, query, callback }: Props) => void;
5
+ export declare const InstantSearch: ({ self, query, callback, withAttributes }: Props) => void;
6
6
  export {};
@@ -1,40 +1,61 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
14
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
15
+ to[j] = from[i];
16
+ return to;
17
+ };
2
18
  Object.defineProperty(exports, "__esModule", { value: true });
3
19
  exports.InstantSearch = void 0;
4
- const utils_1 = require("./utils");
5
- const autocomplete_1 = require("../../services/autocomplete");
6
- const options_1 = require("../../utils/options");
7
- const InstantSearch = ({ self, query, callback }) => {
8
- var _a, _b;
9
- const { cdnKey, uuid, storeID, dashboard } = self.data;
20
+ var utils_1 = require("./utils");
21
+ var autocomplete_1 = require("../../services/autocomplete");
22
+ var options_1 = require("../../utils/options");
23
+ var InstantSearch = function (_a) {
24
+ var _b, _c;
25
+ var self = _a.self, query = _a.query, callback = _a.callback, withAttributes = _a.withAttributes;
26
+ var _d = self.data, cdnKey = _d.cdnKey, uuid = _d.uuid, storeID = _d.storeID, dashboard = _d.dashboard;
10
27
  utils_1.emptyResults(self, query);
11
28
  if ((!query && (dashboard.show_popular_products_on_focus || options_1.getSDKABTestingOptionExist("show_popular_on_hover")))) {
12
29
  callback({
13
30
  action: "instantSearch",
14
31
  payload: {
15
32
  categories: [],
16
- products: [...self.data.popularProducts].splice(0, dashboard.max_product_suggestions),
33
+ products: __spreadArray([], self.data.popularProducts).splice(0, dashboard.max_product_suggestions),
17
34
  turbolinks: [],
18
35
  totalResults: 0,
19
- query,
36
+ query: query,
20
37
  popularSearches: []
21
38
  }
22
39
  });
23
40
  return;
24
41
  }
25
- const { turbolinks, categories } = utils_1.clientSuggestion({ self, query });
26
- self.temp.autocomplete.turbolinks = turbolinks;
27
- if (categories) {
28
- self.temp.autocomplete.categories = categories.splice(0, (_a = dashboard.max_popular_categories_suggestions) !== null && _a !== void 0 ? _a : 10);
29
- }
30
- autocomplete_1.Autocomplete.getPopularSearches({ query, cdn: cdnKey, uuid, storeID, site: utils_1.parseUrl((_b = dashboard.site_domain) !== null && _b !== void 0 ? _b : dashboard.site_url) }).then(result => {
42
+ var _e = utils_1.clientSuggestion({ self: self, query: query }), turbolinks = _e.turbolinks, categories = _e.categories;
43
+ var data = {
44
+ totalResults: 0,
45
+ popularSearches: [],
46
+ query: query,
47
+ products: [],
48
+ categories: categories ? categories.splice(0, (_b = dashboard.max_popular_categories_suggestions) !== null && _b !== void 0 ? _b : 10) : [],
49
+ turbolinks: turbolinks !== null && turbolinks !== void 0 ? turbolinks : []
50
+ };
51
+ autocomplete_1.Autocomplete.getPopularSearches({ query: query, cdn: cdnKey, uuid: uuid, storeID: storeID, site: utils_1.parseUrl((_c = dashboard.site_domain) !== null && _c !== void 0 ? _c : dashboard.site_url) }).then(function (result) {
31
52
  var _a;
32
- self.temp.autocomplete.popularSearches = result.items.splice(0, (_a = dashboard.max_popular_searches_suggestions) !== null && _a !== void 0 ? _a : 5);
33
- utils_1.handleProducts({ self, query, callback });
34
- }).catch(e => {
53
+ var popularSearches = result.items.splice(0, (_a = dashboard.max_popular_searches_suggestions) !== null && _a !== void 0 ? _a : 5);
54
+ utils_1.handleProducts({ self: self, query: query, callback: callback, data: __assign(__assign({}, data), { popularSearches: popularSearches }), withAttributes: withAttributes });
55
+ }).catch(function (e) {
35
56
  console.warn("Could not fetch popular searches");
36
57
  console.warn(e);
37
- utils_1.handleProducts({ self, query, callback });
58
+ utils_1.handleProducts({ self: self, query: query, callback: callback, data: data, withAttributes: withAttributes });
38
59
  });
39
60
  };
40
61
  exports.InstantSearch = InstantSearch;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sections/instantSearch/index.ts"],"names":[],"mappings":";;;AAAA,mCAAiF;AACjF,8DAAyD;AAGzD,iDAA+D;AAMxD,MAAM,aAAa,GAAG,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAQ,EAAE,EAAE;;IAC5D,MAAM,EAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAC,SAAS,EAAC,GAAG,IAAI,CAAC,IAAI,CAAC;IAEpD,oBAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAE1B,IAAG,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,8BAA8B,IAAI,oCAA0B,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAC;QAC7G,QAAQ,CAAC;YACL,MAAM,EAAE,eAAe;YACvB,OAAO,EAAE;gBACL,UAAU,EAAE,EAAE;gBACd,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,uBAAuB,CAAC;gBACrF,UAAU,EAAE,EAAE;gBACd,YAAY,EAAE,CAAC;gBACf,KAAK;gBACL,eAAe,EAAE,EAAE;aACtB;SACJ,CAAC,CAAA;QAEF,OAAO;KACV;IAED,MAAM,EAAC,UAAU,EAAE,UAAU,EAAC,GAAG,wBAAgB,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC;IAEjE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,GAAG,UAAU,CAAC;IAE/C,IAAG,UAAU,EAAC;QACV,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,EAAG,MAAA,SAAS,CAAC,kCAAkC,mCAAI,EAAE,CAAC,CAAC;KACjH;IAED,2BAAY,CAAC,kBAAkB,CAAC,EAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAQ,CAAC,MAAA,SAAS,CAAC,WAAW,mCAAI,SAAS,CAAC,QAAQ,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;;QAC5I,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAC,MAAA,SAAS,CAAC,gCAAgC,mCAAI,CAAC,CAAC,CAAC;QAEhH,sBAAc,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAC,CAAC,CAAA;IAC3C,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QACT,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEhB,sBAAc,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAC,CAAC,CAAA;IAC3C,CAAC,CAAC,CAAC;AAEP,CAAC,CAAC;AAxCW,QAAA,aAAa,iBAwCxB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sections/instantSearch/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,iCAAiF;AACjF,4DAAyD;AAEzD,+CAA+D;AAMxD,IAAM,aAAa,GAAG,UAAC,EAA8C;;QAA7C,IAAI,UAAA,EAAE,KAAK,WAAA,EAAE,QAAQ,cAAA,EAAE,cAAc,oBAAA;IAC1D,IAAA,KAAqC,IAAI,CAAC,IAAI,EAA7C,MAAM,YAAA,EAAE,IAAI,UAAA,EAAE,OAAO,aAAA,EAAE,SAAS,eAAa,CAAC;IACrD,oBAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAE1B,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,8BAA8B,IAAI,oCAA0B,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE;QAC/G,QAAQ,CAAC;YACL,MAAM,EAAE,eAAe;YACvB,OAAO,EAAE;gBACL,UAAU,EAAE,EAAE;gBACd,QAAQ,EAAE,kBAAI,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,uBAAuB,CAAC;gBACrF,UAAU,EAAE,EAAE;gBACd,YAAY,EAAE,CAAC;gBACf,KAAK,OAAA;gBACL,eAAe,EAAE,EAAE;aACtB;SACJ,CAAC,CAAA;QAEF,OAAO;KACV;IAEG,IAAA,KAA2B,wBAAgB,CAAC,EAAC,IAAI,MAAA,EAAE,KAAK,OAAA,EAAC,CAAC,EAAzD,UAAU,gBAAA,EAAE,UAAU,gBAAmC,CAAC;IAE/D,IAAM,IAAI,GAAwB;QAC9B,YAAY,EAAE,CAAC;QACf,eAAe,EAAE,EAAE;QACnB,KAAK,OAAA;QACL,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,MAAA,SAAS,CAAC,kCAAkC,mCAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;QACtG,UAAU,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE;KAC/B,CAAA;IAED,2BAAY,CAAC,kBAAkB,CAAC,EAAC,KAAK,OAAA,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,MAAA,EAAE,OAAO,SAAA,EAAE,IAAI,EAAE,gBAAQ,CAAC,MAAA,SAAS,CAAC,WAAW,mCAAI,SAAS,CAAC,QAAQ,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,UAAA,MAAM;;QACzI,IAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,MAAA,SAAS,CAAC,gCAAgC,mCAAI,CAAC,CAAC,CAAC;QAEhG,sBAAc,CAAC,EAAC,IAAI,MAAA,EAAE,KAAK,OAAA,EAAE,QAAQ,UAAA,EAAE,IAAI,wBAAM,IAAI,KAAE,eAAe,iBAAA,GAAC,EAAE,cAAc,gBAAA,EAAC,CAAC,CAAA;IAC7F,CAAC,CAAC,CAAC,KAAK,CAAC,UAAA,CAAC;QACN,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEhB,sBAAc,CAAC,EAAC,IAAI,MAAA,EAAE,KAAK,OAAA,EAAE,QAAQ,UAAA,EAAE,IAAI,MAAA,EAAE,cAAc,gBAAA,EAAC,CAAC,CAAA;IACjE,CAAC,CAAC,CAAC;AAEP,CAAC,CAAC;AA1CW,QAAA,aAAa,iBA0CxB"}
@@ -1,5 +1,5 @@
1
1
  import { AutocompleteCallback, FastCategory, FastTurbolinks } from "../../models/autocomplete";
2
- import { SDKUtils } from "../../models/common";
2
+ import { AutocompleteResults, SDKUtils } from "../../models/common";
3
3
  export declare const emptyResults: (self: SDKUtils, query: string) => void;
4
4
  export declare const clientSuggestion: ({ self, query }: {
5
5
  self: SDKUtils;
@@ -8,9 +8,11 @@ export declare const clientSuggestion: ({ self, query }: {
8
8
  turbolinks: FastTurbolinks[];
9
9
  categories?: FastCategory[];
10
10
  };
11
- export declare const handleProducts: ({ callback, query, self }: {
11
+ export declare const handleProducts: ({ callback, data, query, self, withAttributes }: {
12
12
  callback: AutocompleteCallback;
13
13
  query: string;
14
14
  self: SDKUtils;
15
+ data: AutocompleteResults;
16
+ withAttributes?: boolean | undefined;
15
17
  }) => void;
16
18
  export declare const parseUrl: (url: string) => string;
@@ -1,22 +1,39 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
14
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
15
+ to[j] = from[i];
16
+ return to;
17
+ };
2
18
  Object.defineProperty(exports, "__esModule", { value: true });
3
19
  exports.parseUrl = exports.handleProducts = exports.clientSuggestion = exports.emptyResults = void 0;
4
- const autocomplete_1 = require("../../services/autocomplete");
5
- const emptyResults = (self, query) => {
20
+ var autocomplete_1 = require("../../services/autocomplete");
21
+ var emptyResults = function (self, query) {
6
22
  self.temp.autocomplete = {
7
23
  totalResults: 0,
8
24
  popularSearches: [],
9
25
  products: [],
10
26
  turbolinks: [],
11
- query
27
+ query: query
12
28
  };
13
29
  };
14
30
  exports.emptyResults = emptyResults;
15
- const clientSuggestion = ({ self, query }) => {
16
- const { max_popular_categories_suggestions, disable_categories_suggestions } = self.data.dashboard;
31
+ var clientSuggestion = function (_a) {
32
+ var self = _a.self, query = _a.query;
33
+ var _b = self.data.dashboard, max_popular_categories_suggestions = _b.max_popular_categories_suggestions, disable_categories_suggestions = _b.disable_categories_suggestions;
17
34
  return {
18
35
  categories: getCategories({
19
- query,
36
+ query: query,
20
37
  isCategories: !disable_categories_suggestions,
21
38
  count: max_popular_categories_suggestions,
22
39
  categories: self.data.categories
@@ -28,16 +45,17 @@ const clientSuggestion = ({ self, query }) => {
28
45
  };
29
46
  };
30
47
  exports.clientSuggestion = clientSuggestion;
31
- const getCategories = ({ query, isCategories, count, categories }) => {
48
+ var getCategories = function (_a) {
49
+ var query = _a.query, isCategories = _a.isCategories, count = _a.count, categories = _a.categories;
32
50
  if (!isCategories) {
33
51
  return undefined;
34
52
  }
35
53
  if (!query || count === 0)
36
54
  return [];
37
55
  // score categories
38
- const scoredCategories = [...categories].map(category => [category, scoreCategory(category, query)]);
56
+ var scoredCategories = __spreadArray([], categories).map(function (category) { return [category, scoreCategory(category, query)]; });
39
57
  // sort scored categories by score
40
- const newCategories = scoredCategories.filter(category => category[1]).sort((category1, category2) => {
58
+ var newCategories = scoredCategories.filter(function (category) { return category[1]; }).sort(function (category1, category2) {
41
59
  if (category1[1] > category2[1])
42
60
  return -1;
43
61
  if (category1[1] < category2[1])
@@ -45,38 +63,39 @@ const getCategories = ({ query, isCategories, count, categories }) => {
45
63
  return 0;
46
64
  });
47
65
  // filter to show max results
48
- const result = newCategories.map(category => category[0]).filter((category, index) => index < count);
66
+ var result = newCategories.map(function (category) { return category[0]; }).filter(function (category, index) { return index < count; });
49
67
  // check if you need to show parent category
50
- const needParentCategory = (() => {
51
- const names = new Set();
52
- for (const category of result) {
68
+ var needParentCategory = (function () {
69
+ var names = new Set();
70
+ for (var _i = 0, result_1 = result; _i < result_1.length; _i++) {
71
+ var category = result_1[_i];
53
72
  names.add(category.l.toLowerCase());
54
73
  }
55
74
  return names.size !== newCategories.length;
56
75
  })();
57
76
  if (needParentCategory) {
58
- return result.map(category => {
77
+ return result.map(function (category) {
59
78
  var _a;
60
79
  if (!category.parent_name) {
61
- return Object.assign(Object.assign({}, category), { parent_name: ((_a = categories.find(c => c.id === category.p_id)) === null || _a === void 0 ? void 0 : _a.l) || "" });
80
+ return __assign(__assign({}, category), { parent_name: ((_a = categories.find(function (c) { return c.id === category.p_id; })) === null || _a === void 0 ? void 0 : _a.l) || "" });
62
81
  }
63
82
  return category;
64
83
  });
65
84
  }
66
85
  else {
67
- return result.map(category => (Object.assign(Object.assign({}, category), { parent_name: "" })));
86
+ return result.map(function (category) { return (__assign(__assign({}, category), { parent_name: "" })); });
68
87
  }
69
88
  };
70
- const scoreCategory = (category, searchTerm) => {
71
- let score = 0;
72
- const categoryName = category.l.toLowerCase();
73
- const search = searchTerm.toLowerCase().trim();
89
+ var scoreCategory = function (category, searchTerm) {
90
+ var score = 0;
91
+ var categoryName = category.l.toLowerCase();
92
+ var search = searchTerm.toLowerCase().trim();
74
93
  //exact match
75
94
  if (categoryName === search) {
76
95
  return 10;
77
96
  }
78
97
  //begins with query
79
- if (categoryName.split(" ").find(w => w && w.indexOf(search) === 0)) {
98
+ if (categoryName.split(" ").find(function (w) { return w && w.indexOf(search) === 0; })) {
80
99
  score += 5;
81
100
  }
82
101
  // half match
@@ -85,74 +104,70 @@ const scoreCategory = (category, searchTerm) => {
85
104
  }
86
105
  return score;
87
106
  };
88
- const getTrubolinks = ({ turbolinks, searchTerm }) => {
107
+ var getTrubolinks = function (_a) {
108
+ var turbolinks = _a.turbolinks, searchTerm = _a.searchTerm;
89
109
  if (!searchTerm)
90
110
  return [];
91
- const search = searchTerm.toLowerCase().trim();
92
- return turbolinks.filter(turbolinks => {
111
+ var search = searchTerm.toLowerCase().trim();
112
+ return turbolinks.filter(function (turbolinks) {
93
113
  return turbolinks.l.toLowerCase().includes(search) || turbolinks.u.toLowerCase().includes(search);
94
114
  });
95
115
  };
96
- const handleProducts = ({ callback, query, self }) => {
97
- const { cdnKey, storeID, uuid, popularProducts } = self.data;
98
- const { max_product_suggestions } = self.data.dashboard;
99
- const clientProducts = getClientProducts({
116
+ var handleProducts = function (_a) {
117
+ var callback = _a.callback, data = _a.data, query = _a.query, self = _a.self, withAttributes = _a.withAttributes;
118
+ var _b = self.data, cdnKey = _b.cdnKey, storeID = _b.storeID, uuid = _b.uuid, popularProducts = _b.popularProducts;
119
+ var max_product_suggestions = self.data.dashboard.max_product_suggestions;
120
+ var clientProducts = getClientProducts({
100
121
  products: popularProducts,
101
122
  searchTerm: query,
102
123
  count: max_product_suggestions
103
124
  });
104
- const ids = new Set(clientProducts.map(p => p.id));
125
+ var ids = new Set(clientProducts.map(function (p) { return p.id; }));
105
126
  if (clientProducts.length < max_product_suggestions) {
106
- autocomplete_1.Autocomplete.getProducts({ query, storeID, uuid, cdn: cdnKey }).then(server => {
107
- self.temp.autocomplete.products = [
108
- ...clientProducts,
109
- ...server.items.filter((p, i) => (i < (max_product_suggestions - clientProducts.length)) && !(ids.has(p.id))),
110
- ];
111
- self.temp.autocomplete.totalResults = server.total_results;
127
+ autocomplete_1.Autocomplete.getProducts({ query: query, storeID: storeID, uuid: uuid, cdn: cdnKey, withAttributes: withAttributes }).then(function (server) {
128
+ var products = __spreadArray(__spreadArray([], clientProducts), server.items.filter(function (p, i) { return (i < (max_product_suggestions - clientProducts.length)) && !(ids.has(p.id)); }));
129
+ var totalResults = products.length;
112
130
  callback({
113
131
  action: "instantSearch",
114
- payload: self.temp.autocomplete
132
+ payload: __assign(__assign({}, data), { products: products,
133
+ totalResults: totalResults })
115
134
  });
116
- }).catch(e => {
135
+ }).catch(function (e) {
117
136
  console.warn("Could not fetch products");
118
137
  console.warn(e);
119
- callback({
120
- action: "instantSearch",
121
- payload: self.temp.autocomplete
122
- });
123
138
  });
124
139
  }
125
140
  else {
126
- self.temp.autocomplete.products = clientProducts;
127
141
  callback({
128
142
  action: "instantSearch",
129
- payload: self.temp.autocomplete
143
+ payload: __assign(__assign({}, data), { products: clientProducts, totalResults: clientProducts.length })
130
144
  });
131
145
  }
132
146
  };
133
147
  exports.handleProducts = handleProducts;
134
- const getClientProducts = ({ products, count, searchTerm }) => {
148
+ var getClientProducts = function (_a) {
149
+ var products = _a.products, count = _a.count, searchTerm = _a.searchTerm;
135
150
  if (!searchTerm) {
136
151
  return [];
137
152
  }
138
153
  if (!searchTerm)
139
154
  return [];
140
- const scored = products.map(p => getProductMatching(p, searchTerm));
141
- const filtered = scored.filter(p => p[1]);
142
- const sorted = filtered.sort((p1, p2) => {
155
+ var scored = products.map(function (p) { return getProductMatching(p, searchTerm); });
156
+ var filtered = scored.filter(function (p) { return p[1]; });
157
+ var sorted = filtered.sort(function (p1, p2) {
143
158
  if (p1[1] > p2[1])
144
159
  return -1;
145
160
  if (p2[1] > p1[1])
146
161
  return 1;
147
162
  return 0;
148
163
  });
149
- const spliced = sorted.filter((product, index) => index < count);
150
- return spliced.map(p => p[0]);
164
+ var spliced = sorted.filter(function (product, index) { return index < count; });
165
+ return spliced.map(function (p) { return p[0]; });
151
166
  };
152
- const getProductMatching = (product, searchTerm) => {
153
- const title = product.l.toLowerCase().replace(/\s{2,}/g, ' ').replace(/[^\w\s]/gi, ' ');
154
- const search = searchTerm.toLowerCase().replace(/\s{2,}/g, ' ').replace(/[^\w\s]/gi, ' ');
155
- const description = product.d.toLowerCase().replace(/\s{2,}/g, ' ').replace(/[^\w\s]/gi, ' ');
167
+ var getProductMatching = function (product, searchTerm) {
168
+ var title = product.l.toLowerCase().replace(/\s{2,}/g, ' ').replace(/[^\w\s]/gi, ' ');
169
+ var search = searchTerm.toLowerCase().replace(/\s{2,}/g, ' ').replace(/[^\w\s]/gi, ' ');
170
+ var description = product.d.toLowerCase().replace(/\s{2,}/g, ' ').replace(/[^\w\s]/gi, ' ');
156
171
  //sku match
157
172
  if (product.real_sku && product.real_sku === search && product.skus && product.skus.length > 1) {
158
173
  return [product, 3];
@@ -162,7 +177,8 @@ const getProductMatching = (product, searchTerm) => {
162
177
  return [product, 3];
163
178
  }
164
179
  // title semi match
165
- for (const word of title.split(" ")) {
180
+ for (var _i = 0, _a = title.split(" "); _i < _a.length; _i++) {
181
+ var word = _a[_i];
166
182
  if (word === search) {
167
183
  return [product, 2];
168
184
  }
@@ -172,8 +188,8 @@ const getProductMatching = (product, searchTerm) => {
172
188
  }
173
189
  return [product, 0];
174
190
  };
175
- const parseUrl = (url) => {
176
- const fixed = url.replace("https://", "").replace("http://", "");
191
+ var parseUrl = function (url) {
192
+ var fixed = url.replace("https://", "").replace("http://", "");
177
193
  if (fixed[fixed.length - 1] === "/") {
178
194
  return fixed.slice(0, fixed.length - 1);
179
195
  }