@searchspring/snap-controller 0.27.5 → 0.27.8

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 (37) hide show
  1. package/dist/cjs/Abstract/AbstractController.d.ts +5 -4
  2. package/dist/cjs/Abstract/AbstractController.d.ts.map +1 -1
  3. package/dist/cjs/Autocomplete/AutocompleteController.d.ts +6 -5
  4. package/dist/cjs/Autocomplete/AutocompleteController.d.ts.map +1 -1
  5. package/dist/cjs/Autocomplete/AutocompleteController.js +43 -37
  6. package/dist/cjs/Finder/FinderController.d.ts.map +1 -1
  7. package/dist/cjs/Finder/FinderController.js +4 -1
  8. package/dist/cjs/Recommendation/RecommendationController.d.ts +26 -12
  9. package/dist/cjs/Recommendation/RecommendationController.d.ts.map +1 -1
  10. package/dist/cjs/Recommendation/RecommendationController.js +12 -11
  11. package/dist/cjs/Search/SearchController.d.ts +1 -1
  12. package/dist/cjs/Search/SearchController.d.ts.map +1 -1
  13. package/dist/cjs/Search/SearchController.js +39 -36
  14. package/dist/cjs/types.d.ts +3 -3
  15. package/dist/cjs/types.d.ts.map +1 -1
  16. package/dist/cjs/utils/getParams.d.ts +2 -1
  17. package/dist/cjs/utils/getParams.d.ts.map +1 -1
  18. package/dist/cjs/utils/getParams.js +0 -1
  19. package/dist/esm/Abstract/AbstractController.d.ts +5 -4
  20. package/dist/esm/Abstract/AbstractController.d.ts.map +1 -1
  21. package/dist/esm/Autocomplete/AutocompleteController.d.ts +6 -5
  22. package/dist/esm/Autocomplete/AutocompleteController.d.ts.map +1 -1
  23. package/dist/esm/Autocomplete/AutocompleteController.js +13 -8
  24. package/dist/esm/Finder/FinderController.d.ts.map +1 -1
  25. package/dist/esm/Finder/FinderController.js +4 -1
  26. package/dist/esm/Recommendation/RecommendationController.d.ts +26 -12
  27. package/dist/esm/Recommendation/RecommendationController.d.ts.map +1 -1
  28. package/dist/esm/Recommendation/RecommendationController.js +11 -10
  29. package/dist/esm/Search/SearchController.d.ts +1 -1
  30. package/dist/esm/Search/SearchController.d.ts.map +1 -1
  31. package/dist/esm/Search/SearchController.js +8 -5
  32. package/dist/esm/types.d.ts +3 -3
  33. package/dist/esm/types.d.ts.map +1 -1
  34. package/dist/esm/utils/getParams.d.ts +2 -1
  35. package/dist/esm/utils/getParams.d.ts.map +1 -1
  36. package/dist/esm/utils/getParams.js +0 -1
  37. package/package.json +11 -11
@@ -1,5 +1,6 @@
1
1
  import { LogMode } from '@searchspring/snap-logger';
2
2
  import { DomTargeter } from '@searchspring/snap-toolbox';
3
+ import type { Client } from '@searchspring/snap-client';
3
4
  import type { AbstractStore } from '@searchspring/snap-store-mobx';
4
5
  import type { UrlManager } from '@searchspring/snap-url-manager';
5
6
  import type { EventManager, Middleware } from '@searchspring/snap-event-manager';
@@ -12,7 +13,7 @@ export declare abstract class AbstractController {
12
13
  id: string;
13
14
  type: string;
14
15
  config: ControllerConfig;
15
- client: any;
16
+ client: Client;
16
17
  store: AbstractStore;
17
18
  urlManager: UrlManager;
18
19
  eventManager: EventManager;
@@ -27,14 +28,14 @@ export declare abstract class AbstractController {
27
28
  private _environment;
28
29
  get initialized(): boolean;
29
30
  constructor(config: ControllerConfig, { client, store, urlManager, eventManager, profiler, logger, tracker }: ControllerServices, context?: ContextVariables);
30
- createTargeter(target: Target, onTarget: OnTarget, document?: Document): DomTargeter;
31
- addTargeter(target: DomTargeter): DomTargeter;
31
+ createTargeter(target: Target, onTarget: OnTarget, document?: Document): DomTargeter | undefined;
32
+ addTargeter(target: DomTargeter): DomTargeter | undefined;
32
33
  set environment(env: LogMode);
33
34
  get environment(): LogMode;
34
35
  init(): Promise<void>;
35
36
  retarget(): void;
36
37
  abstract search(): Promise<void>;
37
- plugin(func: (cntrlr: AbstractController, ...args: any[]) => Promise<void>, ...args: unknown[]): Promise<void>;
38
+ plugin(func: (cntrlr: AbstractController, ...args: any) => Promise<void>, ...args: unknown[]): Promise<void>;
38
39
  on<T>(event: string, ...func: Middleware<T>[]): void;
39
40
  use(attachments: Attachments): void;
40
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractController.d.ts","sourceRoot":"","sources":["../../../src/Abstract/AbstractController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,WAAW,EAAgB,MAAM,4BAA4B,CAAC;AAGvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAGpG,8BAAsB,kBAAkB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,SAAc;IAClB,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,MAAC;IACP,KAAK,EAAE,aAAa,CAAC;IACrB,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,gBAAgB,CAAC;IAE1B,SAAS,EAAE;QACjB,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC;KAC3B,CAAM;IAEP,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAsB;IAE1C,IAAI,WAAW,IAAI,OAAO,CAEzB;gBAGA,MAAM,EAAE,gBAAgB,EACxB,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAC1F,OAAO,GAAE,gBAAqB;IA2ExB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,WAAW;IAIpF,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW;IASpD,IAAW,WAAW,CAAC,GAAG,EAAE,OAAO,EAKlC;IAED,IAAW,WAAW,IAAI,OAAO,CAEhC;IAEY,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA+C3B,QAAQ,IAAI,IAAI;aAMP,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAE1B,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI,OAAA,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7G,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI;IAIpD,GAAG,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;CAoC1C"}
1
+ {"version":3,"file":"AbstractController.d.ts","sourceRoot":"","sources":["../../../src/Abstract/AbstractController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,WAAW,EAAgB,MAAM,4BAA4B,CAAC;AAEvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAGpG,8BAAsB,kBAAkB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,SAAc;IAClB,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,aAAa,CAAC;IACrB,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,gBAAgB,CAAC;IAE1B,SAAS,EAAE;QACjB,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC;KAC3B,CAAM;IAEP,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAsB;IAE1C,IAAI,WAAW,IAAI,OAAO,CAEzB;gBAGA,MAAM,EAAE,gBAAgB,EACxB,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAC1F,OAAO,GAAE,gBAAqB;IA2ExB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,SAAS;IAIhG,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,GAAG,SAAS;IAShE,IAAW,WAAW,CAAC,GAAG,EAAE,OAAO,EAKlC;IAED,IAAW,WAAW,IAAI,OAAO,CAEhC;IAEY,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA+C3B,QAAQ,IAAI,IAAI;aAMP,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAE1B,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlH,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI;IAIpD,GAAG,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;CAoC1C"}
@@ -1,13 +1,14 @@
1
+ /// <reference types="node" />
1
2
  import { StorageStore } from '@searchspring/snap-store-mobx';
2
3
  import { AbstractController } from '../Abstract/AbstractController';
3
4
  import { ControllerTypes } from '../types';
4
- import type { AutocompleteStore } from '@searchspring/snap-store-mobx';
5
+ import { AutocompleteStore } from '@searchspring/snap-store-mobx';
5
6
  import type { AutocompleteControllerConfig, ControllerServices, ContextVariables } from '../types';
6
7
  import type { AutocompleteRequestModel } from '@searchspring/snapi-types';
7
8
  export declare const INPUT_DELAY = 200;
8
9
  declare type AutocompleteTrackMethods = {
9
10
  product: {
10
- click: (e: any, result: any) => void;
11
+ click: (e: MouseEvent, result: any) => void;
11
12
  };
12
13
  };
13
14
  export declare class AutocompleteController extends AbstractController {
@@ -22,12 +23,12 @@ export declare class AutocompleteController extends AbstractController {
22
23
  reset(): void;
23
24
  handlers: {
24
25
  input: {
25
- enterKey: (e: KeyboardEvent) => Promise<boolean>;
26
+ enterKey: (e: KeyboardEvent) => Promise<boolean | undefined>;
26
27
  escKey: (e: KeyboardEvent) => void;
27
28
  focus: (e: FocusEvent) => void;
28
- formSubmit: (e: any) => Promise<void>;
29
+ formSubmit: (e: React.FormEvent<HTMLInputElement>) => Promise<void>;
29
30
  keyUp: (e: KeyboardEvent) => void;
30
- timeoutDelay: any;
31
+ timeoutDelay: NodeJS.Timeout;
31
32
  };
32
33
  document: {
33
34
  click: (e: MouseEvent) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"AutocompleteController.d.ts","sourceRoot":"","sources":["../../../src/Autocomplete/AutocompleteController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAA0B,MAAM,+BAA+B,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EACX,4BAA4B,EAI5B,kBAAkB,EAElB,gBAAgB,EAChB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAG1E,eAAO,MAAM,WAAW,MAAM,CAAC;AAoB/B,aAAK,wBAAwB,GAAG;IAC/B,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,KAAA,EAAE,MAAM,KAAA,KAAK,IAAI,CAAC;KAC3B,CAAC;CACF,CAAC;AAEF,qBAAa,sBAAuB,SAAQ,kBAAkB;IACtD,IAAI,kBAAgC;IACpC,KAAK,EAAE,iBAAiB,CAAC;IACzB,MAAM,EAAE,4BAA4B,CAAC;IACrC,OAAO,EAAE,YAAY,CAAC;gBAG5B,MAAM,EAAE,4BAA4B,EACpC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAC1F,OAAO,CAAC,EAAE,gBAAgB;IAoD3B,KAAK,EAAE,wBAAwB,CAO7B;IAEF,IAAI,MAAM,IAAI,wBAAwB,CA+BrC;IAEK,UAAU,CAAC,YAAY,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsChE,KAAK,IAAI,IAAI;IASb,QAAQ;;0BAEc,aAAa,KAAG,QAAQ,OAAO,CAAC;wBA6CxC,aAAa,KAAG,IAAI;uBAMrB,UAAU,KAAG,IAAI;oCAQL,QAAQ,IAAI,CAAC;uBAwCzB,aAAa,KAAG,IAAI;;;;uBA8CpB,UAAU,KAAG,IAAI;;MAS5B;IAEF,MAAM,IAAI,IAAI;IAYR,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA2D3B,cAAc,QAAa,QAAQ,IAAI,CAAC,CAsBtC;IAEF,MAAM,QAAa,QAAQ,IAAI,CAAC,CA6G9B;CACF"}
1
+ {"version":3,"file":"AutocompleteController.d.ts","sourceRoot":"","sources":["../../../src/Autocomplete/AutocompleteController.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAA0B,MAAM,+BAA+B,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EACX,4BAA4B,EAI5B,kBAAkB,EAElB,gBAAgB,EAChB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAG1E,eAAO,MAAM,WAAW,MAAM,CAAC;AAoB/B,aAAK,wBAAwB,GAAG;IAC/B,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;KAC5C,CAAC;CACF,CAAC;AAEF,qBAAa,sBAAuB,SAAQ,kBAAkB;IACtD,IAAI,kBAAgC;IACnC,KAAK,EAAE,iBAAiB,CAAC;IACzB,MAAM,EAAE,4BAA4B,CAAC;IACtC,OAAO,EAAE,YAAY,CAAC;gBAG5B,MAAM,EAAE,4BAA4B,EACpC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAC1F,OAAO,CAAC,EAAE,gBAAgB;IAoD3B,KAAK,EAAE,wBAAwB,CAO7B;IAEF,IAAI,MAAM,IAAI,wBAAwB,CA+BrC;IAEK,UAAU,CAAC,YAAY,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsChE,KAAK,IAAI,IAAI;IASb,QAAQ;;0BAEc,aAAa,KAAG,QAAQ,OAAO,GAAG,SAAS,CAAC;wBA6CpD,aAAa,KAAG,IAAI;uBAMrB,UAAU,KAAG,IAAI;4BAQN,MAAM,SAAS,CAAC,gBAAgB,CAAC,KAAG,QAAQ,IAAI,CAAC;uBA0C5D,aAAa,KAAG,IAAI;;;;uBA8CpB,UAAU,KAAG,IAAI;;MAS5B;IAEF,MAAM,IAAI,IAAI;IAYR,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA2D3B,cAAc,QAAa,QAAQ,IAAI,CAAC,CAsBtC;IAEF,MAAM,QAAa,QAAQ,IAAI,CAAC,CAgH9B;CACF"}
@@ -108,9 +108,9 @@ var AutocompleteController = /** @class */ (function (_super) {
108
108
  input: {
109
109
  enterKey: function (e) { return __awaiter(_this, void 0, void 0, function () {
110
110
  var input, actionUrl, err_1;
111
- var _a, _b, _c;
112
- return __generator(this, function (_d) {
113
- switch (_d.label) {
111
+ var _a, _b, _c, _d;
112
+ return __generator(this, function (_e) {
113
+ switch (_e.label) {
114
114
  case 0:
115
115
  if (!(e.keyCode == KEY_ENTER)) return [3 /*break*/, 10];
116
116
  input = e.target;
@@ -123,35 +123,35 @@ var AutocompleteController = /** @class */ (function (_super) {
123
123
  case 1:
124
124
  // wait until loading is complete before submission
125
125
  // TODO make this better
126
- _d.sent();
127
- _d.label = 2;
126
+ _e.sent();
127
+ _e.label = 2;
128
128
  case 2:
129
129
  if (!this.store.loading) return [3 /*break*/, 4];
130
130
  return [4 /*yield*/, timeout(exports.INPUT_DELAY)];
131
131
  case 3:
132
- _d.sent();
132
+ _e.sent();
133
133
  return [3 /*break*/, 2];
134
134
  case 4:
135
135
  // use corrected query and originalQuery
136
136
  if (this.store.search.originalQuery) {
137
- input.value = this.store.search.query.string;
138
- actionUrl = actionUrl.set(PARAM_ORIGINAL_QUERY, this.store.search.originalQuery.string);
137
+ input.value = (_d = this.store.search.query) === null || _d === void 0 ? void 0 : _d.string;
138
+ actionUrl = actionUrl === null || actionUrl === void 0 ? void 0 : actionUrl.set(PARAM_ORIGINAL_QUERY, this.store.search.originalQuery.string);
139
139
  }
140
- _d.label = 5;
140
+ _e.label = 5;
141
141
  case 5:
142
- actionUrl = actionUrl.set('query', input.value);
143
- _d.label = 6;
142
+ actionUrl = actionUrl === null || actionUrl === void 0 ? void 0 : actionUrl.set('query', input.value);
143
+ _e.label = 6;
144
144
  case 6:
145
- _d.trys.push([6, 8, , 9]);
145
+ _e.trys.push([6, 8, , 9]);
146
146
  return [4 /*yield*/, this.eventManager.fire('beforeSubmit', {
147
147
  controller: this,
148
148
  input: input,
149
149
  })];
150
150
  case 7:
151
- _d.sent();
151
+ _e.sent();
152
152
  return [3 /*break*/, 9];
153
153
  case 8:
154
- err_1 = _d.sent();
154
+ err_1 = _e.sent();
155
155
  if ((err_1 === null || err_1 === void 0 ? void 0 : err_1.message) == 'cancelled') {
156
156
  this.log.warn("'beforeSubmit' middleware cancelled");
157
157
  return [2 /*return*/];
@@ -162,8 +162,8 @@ var AutocompleteController = /** @class */ (function (_super) {
162
162
  }
163
163
  return [3 /*break*/, 9];
164
164
  case 9:
165
- window.location.href = actionUrl.href;
166
- _d.label = 10;
165
+ window.location.href = (actionUrl === null || actionUrl === void 0 ? void 0 : actionUrl.href) || '';
166
+ _e.label = 10;
167
167
  case 10: return [2 /*return*/];
168
168
  }
169
169
  });
@@ -183,9 +183,9 @@ var AutocompleteController = /** @class */ (function (_super) {
183
183
  },
184
184
  formSubmit: function (e) { return __awaiter(_this, void 0, void 0, function () {
185
185
  var form, input, err_2;
186
- var _a, _b, _c;
187
- return __generator(this, function (_d) {
188
- switch (_d.label) {
186
+ var _a, _b, _c, _d;
187
+ return __generator(this, function (_e) {
188
+ switch (_e.label) {
189
189
  case 0:
190
190
  form = e.target;
191
191
  input = form.querySelector("input[".concat(INPUT_ATTRIBUTE, "]"));
@@ -197,31 +197,33 @@ var AutocompleteController = /** @class */ (function (_super) {
197
197
  case 1:
198
198
  // wait until loading is complete before submission
199
199
  // TODO make this better
200
- _d.sent();
201
- _d.label = 2;
200
+ _e.sent();
201
+ _e.label = 2;
202
202
  case 2:
203
203
  if (!this.store.loading) return [3 /*break*/, 4];
204
204
  return [4 /*yield*/, timeout(exports.INPUT_DELAY)];
205
205
  case 3:
206
- _d.sent();
206
+ _e.sent();
207
207
  return [3 /*break*/, 2];
208
208
  case 4:
209
209
  if (this.store.search.originalQuery) {
210
- input.value = this.store.search.query.string;
210
+ if (input) {
211
+ input.value = (_d = this.store.search.query) === null || _d === void 0 ? void 0 : _d.string;
212
+ }
211
213
  addHiddenFormInput(form, PARAM_ORIGINAL_QUERY, this.store.search.originalQuery.string);
212
214
  }
213
- _d.label = 5;
215
+ _e.label = 5;
214
216
  case 5:
215
- _d.trys.push([5, 7, , 8]);
217
+ _e.trys.push([5, 7, , 8]);
216
218
  return [4 /*yield*/, this.eventManager.fire('beforeSubmit', {
217
219
  controller: this,
218
220
  input: input,
219
221
  })];
220
222
  case 6:
221
- _d.sent();
223
+ _e.sent();
222
224
  return [3 /*break*/, 8];
223
225
  case 7:
224
- err_2 = _d.sent();
226
+ err_2 = _e.sent();
225
227
  if ((err_2 === null || err_2 === void 0 ? void 0 : err_2.message) == 'cancelled') {
226
228
  this.log.warn("'beforeSubmit' middleware cancelled");
227
229
  return [2 /*return*/];
@@ -238,7 +240,7 @@ var AutocompleteController = /** @class */ (function (_super) {
238
240
  });
239
241
  }); },
240
242
  keyUp: function (e) {
241
- var _a, _b, _c;
243
+ var _a, _b, _c, _d, _e;
242
244
  // ignore enter and escape keys
243
245
  if ((e === null || e === void 0 ? void 0 : e.keyCode) == KEY_ENTER || (e === null || e === void 0 ? void 0 : e.keyCode) == KEY_ESCAPE)
244
246
  return;
@@ -252,7 +254,7 @@ var AutocompleteController = /** @class */ (function (_super) {
252
254
  return;
253
255
  }
254
256
  _this.store.state.input = value;
255
- if (_this.config.settings.syncInputs) {
257
+ if ((_b = (_a = _this.config) === null || _a === void 0 ? void 0 : _a.settings) === null || _b === void 0 ? void 0 : _b.syncInputs) {
256
258
  var inputs = document.querySelectorAll(_this.config.selector);
257
259
  inputs.forEach(function (input) {
258
260
  input.value = value;
@@ -263,7 +265,7 @@ var AutocompleteController = /** @class */ (function (_super) {
263
265
  // TODO cancel any current requests?
264
266
  _this.store.reset();
265
267
  _this.urlManager.reset().go();
266
- if (((_a = _this.store.trending) === null || _a === void 0 ? void 0 : _a.length) && ((_c = (_b = _this.config.settings) === null || _b === void 0 ? void 0 : _b.trending) === null || _c === void 0 ? void 0 : _c.showResults)) {
268
+ if (((_c = _this.store.trending) === null || _c === void 0 ? void 0 : _c.length) && ((_e = (_d = _this.config.settings) === null || _d === void 0 ? void 0 : _d.trending) === null || _e === void 0 ? void 0 : _e.showResults)) {
267
269
  _this.store.trending[0].preview();
268
270
  }
269
271
  }
@@ -357,11 +359,13 @@ var AutocompleteController = /** @class */ (function (_super) {
357
359
  return [4 /*yield*/, this.client.autocomplete(params)];
358
360
  case 6:
359
361
  _a = _d.sent(), meta = _a[0], response = _a[1];
362
+ // @ts-ignore
360
363
  if (!response.meta) {
361
364
  /**
362
365
  * MockClient will overwrite the client search() method and use
363
366
  * SearchData to return mock data which already contains meta data
364
367
  */
368
+ // @ts-ignore
365
369
  response.meta = meta;
366
370
  }
367
371
  searchProfile.stop();
@@ -394,6 +398,7 @@ var AutocompleteController = /** @class */ (function (_super) {
394
398
  afterSearchProfile.stop();
395
399
  this.log.profile(afterSearchProfile);
396
400
  // update the store
401
+ // @ts-ignore
397
402
  this.store.update(response);
398
403
  afterStoreProfile = this.profiler.create({ type: 'event', name: 'afterStore', context: params }).start();
399
404
  _d.label = 11;
@@ -623,27 +628,28 @@ var AutocompleteController = /** @class */ (function (_super) {
623
628
  document.removeEventListener('click', this.handlers.document.click);
624
629
  };
625
630
  AutocompleteController.prototype.bind = function () {
626
- var _a, _b, _c;
631
+ var _a, _b, _c, _d, _e;
627
632
  return __awaiter(this, void 0, void 0, function () {
628
633
  var inputs;
629
634
  var _this = this;
630
- return __generator(this, function (_d) {
631
- switch (_d.label) {
635
+ return __generator(this, function (_f) {
636
+ switch (_f.label) {
632
637
  case 0:
633
638
  if (!!this.initialized) return [3 /*break*/, 2];
634
639
  return [4 /*yield*/, this.init()];
635
640
  case 1:
636
- _d.sent();
637
- _d.label = 2;
641
+ _f.sent();
642
+ _f.label = 2;
638
643
  case 2:
639
644
  this.unbind();
640
645
  inputs = document.querySelectorAll(this.config.selector);
641
646
  inputs.forEach(function (input) {
647
+ var _a, _b;
642
648
  input.setAttribute('spellcheck', 'false');
643
649
  input.setAttribute('autocomplete', 'off');
644
650
  input.setAttribute(INPUT_ATTRIBUTE, '');
645
651
  input.addEventListener('keyup', _this.handlers.input.keyUp);
646
- if (_this.config.settings.initializeFromUrl && !input.value && _this.store.state.input) {
652
+ if (((_b = (_a = _this.config) === null || _a === void 0 ? void 0 : _a.settings) === null || _b === void 0 ? void 0 : _b.initializeFromUrl) && !input.value && _this.store.state.input) {
647
653
  input.value = _this.store.state.input;
648
654
  }
649
655
  input.addEventListener('focus', _this.handlers.input.focus);
@@ -668,7 +674,7 @@ var AutocompleteController = /** @class */ (function (_super) {
668
674
  _this.setFocused(input);
669
675
  }
670
676
  });
671
- if (((_b = (_a = this.config.settings) === null || _a === void 0 ? void 0 : _a.trending) === null || _b === void 0 ? void 0 : _b.limit) > 0 && !((_c = this.store.trending) === null || _c === void 0 ? void 0 : _c.length)) {
677
+ if (((_b = (_a = this.config.settings) === null || _a === void 0 ? void 0 : _a.trending) === null || _b === void 0 ? void 0 : _b.limit) && ((_d = (_c = this.config.settings) === null || _c === void 0 ? void 0 : _c.trending) === null || _d === void 0 ? void 0 : _d.limit) > 0 && !((_e = this.store.trending) === null || _e === void 0 ? void 0 : _e.length)) {
672
678
  this.searchTrending();
673
679
  }
674
680
  document.addEventListener('click', this.handlers.document.click);
@@ -1 +1 @@
1
- {"version":3,"file":"FinderController.d.ts","sourceRoot":"","sources":["../../../src/Finder/FinderController.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAmC,kBAAkB,EAAa,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAiBzI,qBAAa,gBAAiB,SAAQ,kBAAkB;IAChD,IAAI,kBAA0B;IAC9B,KAAK,EAAE,WAAW,CAAC;IAC1B,MAAM,EAAE,sBAAsB,CAAC;gBAG9B,MAAM,EAAE,sBAAsB,EAC9B,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAC1F,OAAO,CAAC,EAAE,gBAAgB;IA2C3B,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAchC;IAED,IAAI,QAAa,QAAQ,IAAI,CAAC,CAe5B;IAEF,KAAK,QAAO,IAAI,CAId;IAEF,MAAM,QAAa,QAAQ,IAAI,CAAC,CAiH9B;CACF"}
1
+ {"version":3,"file":"FinderController.d.ts","sourceRoot":"","sources":["../../../src/Finder/FinderController.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAmC,kBAAkB,EAAa,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAiBzI,qBAAa,gBAAiB,SAAQ,kBAAkB;IAChD,IAAI,kBAA0B;IAC7B,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,sBAAsB,CAAC;gBAGtC,MAAM,EAAE,sBAAsB,EAC9B,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAC1F,OAAO,CAAC,EAAE,gBAAgB;IA2C3B,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAchC;IAED,IAAI,QAAa,QAAQ,IAAI,CAAC,CAe5B;IAEF,KAAK,QAAO,IAAI,CAId;IAEF,MAAM,QAAa,QAAQ,IAAI,CAAC,CAoH9B;CACF"}
@@ -167,14 +167,16 @@ var FinderController = /** @class */ (function (_super) {
167
167
  return [3 /*break*/, 7];
168
168
  case 7:
169
169
  searchProfile = this.profiler.create({ type: 'event', name: 'search', context: params }).start();
170
- return [4 /*yield*/, this.client.search(params)];
170
+ return [4 /*yield*/, this.client.finder(params)];
171
171
  case 8:
172
172
  _a = _b.sent(), meta = _a[0], response = _a[1];
173
+ // @ts-ignore
173
174
  if (!response.meta) {
174
175
  /**
175
176
  * MockClient will overwrite the client search() method and use
176
177
  * SearchData to return mock data which already contains meta data
177
178
  */
179
+ // @ts-ignore
178
180
  response.meta = meta;
179
181
  }
180
182
  searchProfile.stop();
@@ -207,6 +209,7 @@ var FinderController = /** @class */ (function (_super) {
207
209
  afterSearchProfile.stop();
208
210
  this.log.profile(afterSearchProfile);
209
211
  // update the store
212
+ // @ts-ignore
210
213
  this.store.update(response);
211
214
  afterStoreProfile = this.profiler.create({ type: 'event', name: 'afterStore', context: params }).start();
212
215
  _b.label = 13;
@@ -1,31 +1,45 @@
1
1
  import { AbstractController } from '../Abstract/AbstractController';
2
2
  import { ControllerTypes } from '../types';
3
- import type { BeaconEvent } from '@searchspring/snap-tracker';
3
+ import { BeaconEvent } from '@searchspring/snap-tracker';
4
4
  import type { RecommendationStore } from '@searchspring/snap-store-mobx';
5
5
  import type { RecommendationControllerConfig, ControllerServices, ContextVariables } from '../types';
6
6
  declare type RecommendationTrackMethods = {
7
7
  product: {
8
- click: (e: any, result: any) => BeaconEvent;
9
- render: (result: any) => BeaconEvent;
10
- impression: (result: any) => BeaconEvent;
8
+ click: (e: MouseEvent, result: any) => BeaconEvent | undefined;
9
+ render: (result: any) => BeaconEvent | undefined;
10
+ impression: (result: any) => BeaconEvent | undefined;
11
11
  };
12
- click: (e: any) => BeaconEvent;
13
- impression: () => BeaconEvent;
14
- render: () => BeaconEvent;
12
+ click: (e: MouseEvent) => BeaconEvent | undefined;
13
+ impression: () => BeaconEvent | undefined;
14
+ render: () => BeaconEvent | undefined;
15
+ };
16
+ declare type RecommendCombinedRequestModel = {
17
+ tag: string;
18
+ siteId: string;
19
+ product?: string;
20
+ shopper?: string;
21
+ categories?: string[];
22
+ cart?: string[];
23
+ lastViewed?: string[];
24
+ test?: boolean;
25
+ branch?: string;
15
26
  };
16
27
  export declare class RecommendationController extends AbstractController {
17
28
  type: ControllerTypes;
18
29
  store: RecommendationStore;
19
30
  config: RecommendationControllerConfig;
20
31
  events: {
21
- click: any;
22
- impression: any;
23
- render: any;
24
- product: {};
32
+ click?: BeaconEvent;
33
+ impression?: BeaconEvent;
34
+ render?: BeaconEvent;
35
+ product?: Record<string, {
36
+ impression?: BeaconEvent;
37
+ render?: BeaconEvent;
38
+ }>;
25
39
  };
26
40
  constructor(config: RecommendationControllerConfig, { client, store, urlManager, eventManager, profiler, logger, tracker }: ControllerServices, context?: ContextVariables);
27
41
  track: RecommendationTrackMethods;
28
- get params(): Record<string, any>;
42
+ get params(): RecommendCombinedRequestModel;
29
43
  search: () => Promise<void>;
30
44
  }
31
45
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"RecommendationController.d.ts","sourceRoot":"","sources":["../../../src/Recommendation/RecommendationController.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,8BAA8B,EAAkC,kBAAkB,EAAa,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEhJ,aAAK,0BAA0B,GAAG;IACjC,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,KAAA,EAAE,MAAM,KAAA,KAAK,WAAW,CAAC;QAClC,MAAM,EAAE,CAAC,MAAM,KAAA,KAAK,WAAW,CAAC;QAChC,UAAU,EAAE,CAAC,MAAM,KAAA,KAAK,WAAW,CAAC;KACpC,CAAC;IACF,KAAK,EAAE,CAAC,CAAC,KAAA,KAAK,WAAW,CAAC;IAC1B,UAAU,EAAE,MAAM,WAAW,CAAC;IAC9B,MAAM,EAAE,MAAM,WAAW,CAAC;CAC1B,CAAC;AAUF,qBAAa,wBAAyB,SAAQ,kBAAkB;IACxD,IAAI,kBAAkC;IACtC,KAAK,EAAE,mBAAmB,CAAC;IAClC,MAAM,EAAE,8BAA8B,CAAC;IACvC,MAAM;;;;;MAKJ;gBAGD,MAAM,EAAE,8BAA8B,EACtC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAC1F,OAAO,CAAC,EAAE,gBAAgB;IA8B3B,KAAK,EAAE,0BAA0B,CAoK/B;IAEF,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAyBhC;IAED,MAAM,QAAa,QAAQ,IAAI,CAAC,CAqG9B;CACF"}
1
+ {"version":3,"file":"RecommendationController.d.ts","sourceRoot":"","sources":["../../../src/Recommendation/RecommendationController.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,KAAK,EAAE,8BAA8B,EAAkC,kBAAkB,EAAa,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEhJ,aAAK,0BAA0B,GAAG;IACjC,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,KAAK,WAAW,GAAG,SAAS,CAAC;QAC/D,MAAM,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,WAAW,GAAG,SAAS,CAAC;QACjD,UAAU,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,WAAW,GAAG,SAAS,CAAC;KACrD,CAAC;IACF,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,WAAW,GAAG,SAAS,CAAC;IAClD,UAAU,EAAE,MAAM,WAAW,GAAG,SAAS,CAAC;IAC1C,MAAM,EAAE,MAAM,WAAW,GAAG,SAAS,CAAC;CACtC,CAAC;AAEF,aAAK,6BAA6B,GAAG;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAUF,qBAAa,wBAAyB,SAAQ,kBAAkB;IACxD,IAAI,kBAAkC;IACrC,KAAK,EAAE,mBAAmB,CAAC;IAC3B,MAAM,EAAE,8BAA8B,CAAC;IAE/C,MAAM,EAAE;QACP,KAAK,CAAC,EAAE,WAAW,CAAC;QACpB,UAAU,CAAC,EAAE,WAAW,CAAC;QACzB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,UAAU,CAAC,EAAE,WAAW,CAAC;YAAC,MAAM,CAAC,EAAE,WAAW,CAAA;SAAE,CAAC,CAAC;KAC7E,CAKC;gBAGD,MAAM,EAAE,8BAA8B,EACtC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAC1F,OAAO,CAAC,EAAE,gBAAgB;IA8B3B,KAAK,EAAE,0BAA0B,CAqK/B;IAEF,IAAI,MAAM,IAAI,6BAA6B,CA0B1C;IAED,MAAM,QAAa,QAAQ,IAAI,CAAC,CAqG9B;CACF"}
@@ -86,9 +86,9 @@ var RecommendationController = /** @class */ (function (_super) {
86
86
  var _this = _super.call(this, config, { client: client, store: store, urlManager: urlManager, eventManager: eventManager, profiler: profiler, logger: logger, tracker: tracker }, context) || this;
87
87
  _this.type = types_1.ControllerTypes.recommendation;
88
88
  _this.events = {
89
- click: null,
90
- impression: null,
91
- render: null,
89
+ click: undefined,
90
+ impression: undefined,
91
+ render: undefined,
92
92
  product: {},
93
93
  };
94
94
  _this.track = {
@@ -99,7 +99,7 @@ var RecommendationController = /** @class */ (function (_super) {
99
99
  var payload = {
100
100
  type: snap_tracker_1.BeaconType.PROFILE_PRODUCT_CLICK,
101
101
  category: snap_tracker_1.BeaconCategory.RECOMMENDATIONS,
102
- context: _this.config.globals.siteId ? { website: { trackingCode: _this.config.globals.siteId } } : null,
102
+ context: _this.config.globals.siteId ? { website: { trackingCode: _this.config.globals.siteId } } : undefined,
103
103
  event: {
104
104
  context: {
105
105
  action: 'navigate',
@@ -123,12 +123,12 @@ var RecommendationController = /** @class */ (function (_super) {
123
123
  },
124
124
  impression: function (result) {
125
125
  var _a;
126
- if (!_this.store.profile.tag || !result || !_this.events.impression || ((_a = _this.events.product[result.id]) === null || _a === void 0 ? void 0 : _a.impression))
126
+ if (!_this.store.profile.tag || !result || !_this.events.impression || (_this.events.product && ((_a = _this.events.product[result.id]) === null || _a === void 0 ? void 0 : _a.impression)))
127
127
  return;
128
128
  var payload = {
129
129
  type: snap_tracker_1.BeaconType.PROFILE_PRODUCT_IMPRESSION,
130
130
  category: snap_tracker_1.BeaconCategory.RECOMMENDATIONS,
131
- context: _this.config.globals.siteId ? { website: { trackingCode: _this.config.globals.siteId } } : null,
131
+ context: _this.config.globals.siteId ? { website: { trackingCode: _this.config.globals.siteId } } : undefined,
132
132
  event: {
133
133
  context: {
134
134
  placement: _this.store.profile.placement,
@@ -157,7 +157,7 @@ var RecommendationController = /** @class */ (function (_super) {
157
157
  var payload = {
158
158
  type: snap_tracker_1.BeaconType.PROFILE_PRODUCT_RENDER,
159
159
  category: snap_tracker_1.BeaconCategory.RECOMMENDATIONS,
160
- context: _this.config.globals.siteId ? { website: { trackingCode: _this.config.globals.siteId } } : null,
160
+ context: _this.config.globals.siteId ? { website: { trackingCode: _this.config.globals.siteId } } : undefined,
161
161
  event: {
162
162
  context: {
163
163
  placement: _this.store.profile.placement,
@@ -186,7 +186,7 @@ var RecommendationController = /** @class */ (function (_super) {
186
186
  var event = _this.tracker.track.event({
187
187
  type: snap_tracker_1.BeaconType.PROFILE_CLICK,
188
188
  category: snap_tracker_1.BeaconCategory.RECOMMENDATIONS,
189
- context: _this.config.globals.siteId ? { website: { trackingCode: _this.config.globals.siteId } } : null,
189
+ context: _this.config.globals.siteId ? { website: { trackingCode: _this.config.globals.siteId } } : undefined,
190
190
  event: {
191
191
  context: {
192
192
  action: 'navigate',
@@ -212,7 +212,7 @@ var RecommendationController = /** @class */ (function (_super) {
212
212
  var event = _this.tracker.track.event({
213
213
  type: snap_tracker_1.BeaconType.PROFILE_IMPRESSION,
214
214
  category: snap_tracker_1.BeaconCategory.RECOMMENDATIONS,
215
- context: _this.config.globals.siteId ? { website: { trackingCode: _this.config.globals.siteId } } : null,
215
+ context: _this.config.globals.siteId ? { website: { trackingCode: _this.config.globals.siteId } } : undefined,
216
216
  event: {
217
217
  context: {
218
218
  placement: _this.store.profile.placement,
@@ -237,7 +237,7 @@ var RecommendationController = /** @class */ (function (_super) {
237
237
  var event = _this.tracker.track.event({
238
238
  type: snap_tracker_1.BeaconType.PROFILE_RENDER,
239
239
  category: snap_tracker_1.BeaconCategory.RECOMMENDATIONS,
240
- context: _this.config.globals.siteId ? { website: { trackingCode: _this.config.globals.siteId } } : null,
240
+ context: _this.config.globals.siteId ? { website: { trackingCode: _this.config.globals.siteId } } : undefined,
241
241
  event: {
242
242
  context: {
243
243
  placement: _this.store.profile.placement,
@@ -427,7 +427,8 @@ var RecommendationController = /** @class */ (function (_super) {
427
427
  }
428
428
  Object.defineProperty(RecommendationController.prototype, "params", {
429
429
  get: function () {
430
- var params = __assign({ tag: this.config.tag, batched: this.config.batched, branch: this.config.branch || 'production' }, this.config.globals);
430
+ var _a, _b;
431
+ var params = __assign({ tag: this.config.tag, batched: this.config.batched, branch: this.config.branch || 'production', order: (_b = (_a = this.context) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.order }, this.config.globals);
431
432
  var shopperId = this.tracker.context.shopperId;
432
433
  var cart = this.tracker.cookies.cart.get();
433
434
  var lastViewed = this.tracker.cookies.viewed.get();
@@ -7,7 +7,7 @@ import type { SearchControllerConfig, ControllerServices, ContextVariables } fro
7
7
  import type { SearchRequestModel } from '@searchspring/snapi-types';
8
8
  declare type SearchTrackMethods = {
9
9
  product: {
10
- click: (e: any, result: any) => BeaconEvent;
10
+ click: (e: MouseEvent, result: any) => BeaconEvent | undefined;
11
11
  };
12
12
  };
13
13
  export declare class SearchController extends AbstractController {
@@ -1 +1 @@
1
- {"version":3,"file":"SearchController.d.ts","sourceRoot":"","sources":["../../../src/Search/SearchController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,YAAY,EAA0B,MAAM,+BAA+B,CAAC;AAErF,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EACX,sBAAsB,EAItB,kBAAkB,EAElB,gBAAgB,EAChB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,kBAAkB,EAAgD,MAAM,2BAA2B,CAAC;AAoBlH,aAAK,kBAAkB,GAAG;IACzB,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,KAAA,EAAE,MAAM,KAAA,KAAK,WAAW,CAAC;KAClC,CAAC;CACF,CAAC;AAEF,qBAAa,gBAAiB,SAAQ,kBAAkB;IAChD,IAAI,kBAA0B;IAC9B,KAAK,EAAE,WAAW,CAAC;IAC1B,MAAM,EAAE,sBAAsB,CAAC;IAC/B,OAAO,EAAE,YAAY,CAAC;gBAGrB,MAAM,EAAE,sBAAsB,EAC9B,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAC1F,OAAO,CAAC,EAAE,gBAAgB;IAkF3B,KAAK,EAAE,kBAAkB,CA0BvB;IAEF,IAAI,MAAM,IAAI,kBAAkB,CAsC/B;IAED,MAAM,QAAa,QAAQ,IAAI,CAAC,CAuJ9B;CACF"}
1
+ {"version":3,"file":"SearchController.d.ts","sourceRoot":"","sources":["../../../src/Search/SearchController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,YAAY,EAA0B,MAAM,+BAA+B,CAAC;AAErF,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EACX,sBAAsB,EAItB,kBAAkB,EAElB,gBAAgB,EAChB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,kBAAkB,EAAgD,MAAM,2BAA2B,CAAC;AAoBlH,aAAK,kBAAkB,GAAG;IACzB,OAAO,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,KAAK,WAAW,GAAG,SAAS,CAAC;KAC/D,CAAC;CACF,CAAC;AAEF,qBAAa,gBAAiB,SAAQ,kBAAkB;IAChD,IAAI,kBAA0B;IAC7B,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,sBAAsB,CAAC;IACvC,OAAO,EAAE,YAAY,CAAC;gBAGrB,MAAM,EAAE,sBAAsB,EAC9B,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAC1F,OAAO,CAAC,EAAE,gBAAgB;IAkF3B,KAAK,EAAE,kBAAkB,CA0BvB;IAEF,IAAI,MAAM,IAAI,kBAAkB,CAsC/B;IAED,MAAM,QAAa,QAAQ,IAAI,CAAC,CA0J9B;CACF"}