fast-simon-sdk 1.2.57 → 1.2.60

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 (82) 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 +6 -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 -11
  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 +37 -17
  16. package/lib/sections/fullTextSearch/index.js.map +1 -1
  17. package/lib/sections/fullTextSearch/utils.js +43 -36
  18. package/lib/sections/fullTextSearch/utils.js.map +1 -1
  19. package/lib/sections/index.js +166 -96
  20. package/lib/sections/index.js.map +1 -1
  21. package/lib/sections/initialization/index.js +14 -13
  22. package/lib/sections/initialization/index.js.map +1 -1
  23. package/lib/sections/initialization/utils.js +83 -40
  24. package/lib/sections/initialization/utils.js.map +1 -1
  25. package/lib/sections/instantSearch/index.d.ts +1 -1
  26. package/lib/sections/instantSearch/index.js +34 -17
  27. package/lib/sections/instantSearch/index.js.map +1 -1
  28. package/lib/sections/instantSearch/utils.d.ts +2 -1
  29. package/lib/sections/instantSearch/utils.js +72 -52
  30. package/lib/sections/instantSearch/utils.js.map +1 -1
  31. package/lib/sections/landingPage/index.js +34 -15
  32. package/lib/sections/landingPage/index.js.map +1 -1
  33. package/lib/sections/landingPage/utils.js +28 -22
  34. package/lib/sections/landingPage/utils.js.map +1 -1
  35. package/lib/sections/lookAlikeProductRecommendation/index.js +5 -4
  36. package/lib/sections/lookAlikeProductRecommendation/index.js.map +1 -1
  37. package/lib/sections/recommendations/index.d.ts +1 -1
  38. package/lib/sections/recommendations/index.js +16 -14
  39. package/lib/sections/recommendations/index.js.map +1 -1
  40. package/lib/sections/recommendations/utils.js +8 -8
  41. package/lib/sections/recommendations/utils.js.map +1 -1
  42. package/lib/sections/smartCollections/index.js +48 -26
  43. package/lib/sections/smartCollections/index.js.map +1 -1
  44. package/lib/sections/smartCollections/utils.js +56 -43
  45. package/lib/sections/smartCollections/utils.js.map +1 -1
  46. package/lib/services/autocomplete.d.ts +2 -1
  47. package/lib/services/autocomplete.js +11 -8
  48. package/lib/services/autocomplete.js.map +1 -1
  49. package/lib/services/common.d.ts +2 -1
  50. package/lib/services/common.js +23 -17
  51. package/lib/services/common.js.map +1 -1
  52. package/lib/services/content.js +11 -10
  53. package/lib/services/content.js.map +1 -1
  54. package/lib/services/fullTextSearch.js +12 -11
  55. package/lib/services/fullTextSearch.js.map +1 -1
  56. package/lib/services/landingPage.js +10 -9
  57. package/lib/services/landingPage.js.map +1 -1
  58. package/lib/services/lookAlikeProductRecommendation.js +6 -5
  59. package/lib/services/lookAlikeProductRecommendation.js.map +1 -1
  60. package/lib/services/related.d.ts +2 -1
  61. package/lib/services/related.js +14 -11
  62. package/lib/services/related.js.map +1 -1
  63. package/lib/services/reporting.js +24 -17
  64. package/lib/services/reporting.js.map +1 -1
  65. package/lib/services/smartCollections.js +11 -10
  66. package/lib/services/smartCollections.js.map +1 -1
  67. package/lib/services/utils.js +6 -5
  68. package/lib/services/utils.js.map +1 -1
  69. package/lib/utils/API.js +63 -9
  70. package/lib/utils/API.js.map +1 -1
  71. package/lib/utils/ArrayUtils.js +1 -1
  72. package/lib/utils/cookies.js +36 -23
  73. package/lib/utils/cookies.js.map +1 -1
  74. package/lib/utils/debug.js +5 -5
  75. package/lib/utils/debug.js.map +1 -1
  76. package/lib/utils/klaviyo.js +4 -4
  77. package/lib/utils/klaviyo.js.map +1 -1
  78. package/lib/utils/options.js +2 -2
  79. package/lib/utils/options.js.map +1 -1
  80. package/lib/utils/validation.js +9 -8
  81. package/lib/utils/validation.js.map +1 -1
  82. 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,44 +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
- let { turbolinks, categories } = utils_1.clientSuggestion({ self, query });
26
- const data = {
42
+ var _e = utils_1.clientSuggestion({ self: self, query: query }), turbolinks = _e.turbolinks, categories = _e.categories;
43
+ var data = {
27
44
  totalResults: 0,
28
45
  popularSearches: [],
29
- query,
46
+ query: query,
30
47
  products: [],
31
- categories: categories ? categories.splice(0, (_a = dashboard.max_popular_categories_suggestions) !== null && _a !== void 0 ? _a : 10) : [],
48
+ categories: categories ? categories.splice(0, (_b = dashboard.max_popular_categories_suggestions) !== null && _b !== void 0 ? _b : 10) : [],
32
49
  turbolinks: turbolinks !== null && turbolinks !== void 0 ? turbolinks : []
33
50
  };
34
- 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 => {
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) {
35
52
  var _a;
36
- const popularSearches = result.items.splice(0, (_a = dashboard.max_popular_searches_suggestions) !== null && _a !== void 0 ? _a : 5);
37
- utils_1.handleProducts({ self, query, callback, data: Object.assign(Object.assign({}, data), { popularSearches }) });
38
- }).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) {
39
56
  console.warn("Could not fetch popular searches");
40
57
  console.warn(e);
41
- utils_1.handleProducts({ self, query, callback, data });
58
+ utils_1.handleProducts({ self: self, query: query, callback: callback, data: data, withAttributes: withAttributes });
42
59
  });
43
60
  };
44
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;AAEzD,iDAA+D;AAMxD,MAAM,aAAa,GAAG,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAQ,EAAE,EAAE;;IAC5D,MAAM,EAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAC,GAAG,IAAI,CAAC,IAAI,CAAC;IAErD,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,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,IAAI,EAAC,UAAU,EAAE,UAAU,EAAC,GAAG,wBAAgB,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC;IAE/D,MAAM,IAAI,GAAwB;QAC9B,YAAY,EAAE,CAAC;QACf,eAAe,EAAE,EAAE;QACnB,KAAK;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,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,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,MAAA,SAAS,CAAC,gCAAgC,mCAAI,CAAC,CAAC,CAAC;QAEhG,sBAAc,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,kCAAM,IAAI,KAAE,eAAe,GAAC,EAAC,CAAC,CAAA;IAC7E,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,EAAE,IAAI,EAAC,CAAC,CAAA;IACjD,CAAC,CAAC,CAAC;AAEP,CAAC,CAAC;AA3CW,QAAA,aAAa,iBA2CxB"}
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"}
@@ -8,10 +8,11 @@ export declare const clientSuggestion: ({ self, query }: {
8
8
  turbolinks: FastTurbolinks[];
9
9
  categories?: FastCategory[];
10
10
  };
11
- export declare const handleProducts: ({ callback, data, 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
15
  data: AutocompleteResults;
16
+ withAttributes?: boolean | undefined;
16
17
  }) => void;
17
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,36 +104,35 @@ 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, data, 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
- const products = [
108
- ...clientProducts,
109
- ...server.items.filter((p, i) => (i < (max_product_suggestions - clientProducts.length)) && !(ids.has(p.id))),
110
- ];
111
- const 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: Object.assign(Object.assign({}, data), { products,
115
- totalResults })
132
+ payload: __assign(__assign({}, data), { products: products,
133
+ totalResults: totalResults })
116
134
  });
117
- }).catch(e => {
135
+ }).catch(function (e) {
118
136
  console.warn("Could not fetch products");
119
137
  console.warn(e);
120
138
  });
@@ -122,33 +140,34 @@ const handleProducts = ({ callback, data, query, self }) => {
122
140
  else {
123
141
  callback({
124
142
  action: "instantSearch",
125
- payload: Object.assign(Object.assign({}, data), { products: clientProducts })
143
+ payload: __assign(__assign({}, data), { products: clientProducts, totalResults: clientProducts.length })
126
144
  });
127
145
  }
128
146
  };
129
147
  exports.handleProducts = handleProducts;
130
- const getClientProducts = ({ products, count, searchTerm }) => {
148
+ var getClientProducts = function (_a) {
149
+ var products = _a.products, count = _a.count, searchTerm = _a.searchTerm;
131
150
  if (!searchTerm) {
132
151
  return [];
133
152
  }
134
153
  if (!searchTerm)
135
154
  return [];
136
- const scored = products.map(p => getProductMatching(p, searchTerm));
137
- const filtered = scored.filter(p => p[1]);
138
- 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) {
139
158
  if (p1[1] > p2[1])
140
159
  return -1;
141
160
  if (p2[1] > p1[1])
142
161
  return 1;
143
162
  return 0;
144
163
  });
145
- const spliced = sorted.filter((product, index) => index < count);
146
- 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]; });
147
166
  };
148
- const getProductMatching = (product, searchTerm) => {
149
- const title = product.l.toLowerCase().replace(/\s{2,}/g, ' ').replace(/[^\w\s]/gi, ' ');
150
- const search = searchTerm.toLowerCase().replace(/\s{2,}/g, ' ').replace(/[^\w\s]/gi, ' ');
151
- 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, ' ');
152
171
  //sku match
153
172
  if (product.real_sku && product.real_sku === search && product.skus && product.skus.length > 1) {
154
173
  return [product, 3];
@@ -158,7 +177,8 @@ const getProductMatching = (product, searchTerm) => {
158
177
  return [product, 3];
159
178
  }
160
179
  // title semi match
161
- for (const word of title.split(" ")) {
180
+ for (var _i = 0, _a = title.split(" "); _i < _a.length; _i++) {
181
+ var word = _a[_i];
162
182
  if (word === search) {
163
183
  return [product, 2];
164
184
  }
@@ -168,8 +188,8 @@ const getProductMatching = (product, searchTerm) => {
168
188
  }
169
189
  return [product, 0];
170
190
  };
171
- const parseUrl = (url) => {
172
- const fixed = url.replace("https://", "").replace("http://", "");
191
+ var parseUrl = function (url) {
192
+ var fixed = url.replace("https://", "").replace("http://", "");
173
193
  if (fixed[fixed.length - 1] === "/") {
174
194
  return fixed.slice(0, fixed.length - 1);
175
195
  }