@searchspring/snap-preact 0.27.8 → 0.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/README.md +2 -1
  2. package/dist/cjs/Instantiators/RecommendationInstantiator.d.ts +6 -5
  3. package/dist/cjs/Instantiators/RecommendationInstantiator.d.ts.map +1 -1
  4. package/dist/cjs/Instantiators/RecommendationInstantiator.js +19 -5
  5. package/dist/cjs/Snap.d.ts +67 -13
  6. package/dist/cjs/Snap.d.ts.map +1 -1
  7. package/dist/cjs/Snap.js +223 -81
  8. package/dist/cjs/create/createAutocompleteController.d.ts +1 -1
  9. package/dist/cjs/create/createAutocompleteController.d.ts.map +1 -1
  10. package/dist/cjs/create/createAutocompleteController.js +6 -1
  11. package/dist/cjs/create/createFinderController.d.ts +1 -1
  12. package/dist/cjs/create/createFinderController.d.ts.map +1 -1
  13. package/dist/cjs/create/createFinderController.js +6 -1
  14. package/dist/cjs/create/createRecommendationController.d.ts +1 -1
  15. package/dist/cjs/create/createRecommendationController.d.ts.map +1 -1
  16. package/dist/cjs/create/createRecommendationController.js +6 -1
  17. package/dist/cjs/create/createSearchController.d.ts +1 -1
  18. package/dist/cjs/create/createSearchController.d.ts.map +1 -1
  19. package/dist/cjs/create/createSearchController.js +6 -1
  20. package/dist/cjs/getBundleDetails/getBundleDetails.d.ts.map +1 -1
  21. package/dist/cjs/getBundleDetails/getBundleDetails.js +3 -2
  22. package/dist/cjs/types.d.ts +11 -5
  23. package/dist/cjs/types.d.ts.map +1 -1
  24. package/dist/esm/Instantiators/RecommendationInstantiator.d.ts +6 -5
  25. package/dist/esm/Instantiators/RecommendationInstantiator.d.ts.map +1 -1
  26. package/dist/esm/Instantiators/RecommendationInstantiator.js +21 -6
  27. package/dist/esm/Snap.d.ts +67 -13
  28. package/dist/esm/Snap.d.ts.map +1 -1
  29. package/dist/esm/Snap.js +185 -61
  30. package/dist/esm/create/createAutocompleteController.d.ts +1 -1
  31. package/dist/esm/create/createAutocompleteController.d.ts.map +1 -1
  32. package/dist/esm/create/createAutocompleteController.js +6 -1
  33. package/dist/esm/create/createFinderController.d.ts +1 -1
  34. package/dist/esm/create/createFinderController.d.ts.map +1 -1
  35. package/dist/esm/create/createFinderController.js +6 -1
  36. package/dist/esm/create/createRecommendationController.d.ts +1 -1
  37. package/dist/esm/create/createRecommendationController.d.ts.map +1 -1
  38. package/dist/esm/create/createRecommendationController.js +6 -1
  39. package/dist/esm/create/createSearchController.d.ts +1 -1
  40. package/dist/esm/create/createSearchController.d.ts.map +1 -1
  41. package/dist/esm/create/createSearchController.js +6 -1
  42. package/dist/esm/getBundleDetails/getBundleDetails.d.ts.map +1 -1
  43. package/dist/esm/getBundleDetails/getBundleDetails.js +3 -2
  44. package/dist/esm/types.d.ts +11 -5
  45. package/dist/esm/types.d.ts.map +1 -1
  46. package/package.json +13 -13
@@ -1,5 +1,5 @@
1
1
  import { SearchController } from '@searchspring/snap-controller';
2
2
  import type { SnapControllerServices, SnapSearchControllerConfig } from '../types';
3
- declare const _default: (config: SnapSearchControllerConfig, services?: SnapControllerServices) => SearchController;
3
+ declare const _default: (config: SnapSearchControllerConfig, services?: SnapControllerServices | undefined) => SearchController;
4
4
  export default _default;
5
5
  //# sourceMappingURL=createSearchController.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createSearchController.d.ts","sourceRoot":"","sources":["../../../src/create/createSearchController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAQjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;iCAI3D,0BAA0B,aAAa,sBAAsB,KAAG,gBAAgB;AAAxG,wBAkBE"}
1
+ {"version":3,"file":"createSearchController.d.ts","sourceRoot":"","sources":["../../../src/create/createSearchController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAQjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;iCAI3D,0BAA0B,oDAAsC,gBAAgB;AAAxG,wBAwBE"}
@@ -12,13 +12,18 @@ var snap_tracker_1 = require("@searchspring/snap-tracker");
12
12
  (0, mobx_1.configure)({ useProxies: 'never' });
13
13
  exports.default = (function (config, services) {
14
14
  var urlManager = (services === null || services === void 0 ? void 0 : services.urlManager) || new snap_url_manager_1.UrlManager(new snap_url_manager_1.UrlTranslator(config.url), snap_url_manager_1.reactLinker);
15
+ // set client mode
16
+ if (config.mode && config.client) {
17
+ config.client.config = config.client.config || {};
18
+ config.client.config.mode = config.mode;
19
+ }
15
20
  var cntrlr = new snap_controller_1.SearchController(config.controller, {
16
21
  client: (services === null || services === void 0 ? void 0 : services.client) || new snap_client_1.Client(config.client.globals, config.client.config),
17
22
  store: (services === null || services === void 0 ? void 0 : services.store) || new snap_store_mobx_1.SearchStore(config.controller, { urlManager: urlManager }),
18
23
  urlManager: urlManager,
19
24
  eventManager: (services === null || services === void 0 ? void 0 : services.eventManager) || new snap_event_manager_1.EventManager(),
20
25
  profiler: (services === null || services === void 0 ? void 0 : services.profiler) || new snap_profiler_1.Profiler(),
21
- logger: (services === null || services === void 0 ? void 0 : services.logger) || new snap_logger_1.Logger(),
26
+ logger: (services === null || services === void 0 ? void 0 : services.logger) || new snap_logger_1.Logger({ mode: config.mode }),
22
27
  tracker: (services === null || services === void 0 ? void 0 : services.tracker) || new snap_tracker_1.Tracker(config.client.globals),
23
28
  }, config.context);
24
29
  return cntrlr;
@@ -1 +1 @@
1
- {"version":3,"file":"getBundleDetails.d.ts","sourceRoot":"","sources":["../../../src/getBundleDetails/getBundleDetails.ts"],"names":[],"mappings":"AAAA,aAAK,aAAa,GAAG;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAe,MAAM,KAAG,QAAQ,aAAa,CAuBzE,CAAC"}
1
+ {"version":3,"file":"getBundleDetails.d.ts","sourceRoot":"","sources":["../../../src/getBundleDetails/getBundleDetails.ts"],"names":[],"mappings":"AAAA,aAAK,aAAa,GAAG;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAe,MAAM,KAAG,QAAQ,aAAa,CAyBzE,CAAC"}
@@ -45,10 +45,11 @@ var getBundleDetails = function (url) { return __awaiter(void 0, void 0, void 0,
45
45
  request.onreadystatechange = function () {
46
46
  if (request.readyState === request.DONE) {
47
47
  var status_1 = request.status;
48
- if (status_1 === 0 || (status_1 >= 200 && status_1 < 400)) {
48
+ var lastModified = request.getResponseHeader('Last-Modified');
49
+ if ((lastModified && status_1 === 0) || (status_1 >= 200 && status_1 < 400)) {
49
50
  resolve({
50
51
  url: url,
51
- lastModified: request.getResponseHeader('Last-Modified').split(',')[1].trim(),
52
+ lastModified: lastModified.split(',')[1].trim(),
52
53
  });
53
54
  }
54
55
  else {
@@ -1,12 +1,12 @@
1
- /// <reference types="react" />
2
1
  import type { Client, ClientConfig, ClientGlobals } from '@searchspring/snap-client';
3
- import type { AbstractController, SearchControllerConfig, AutocompleteControllerConfig, FinderControllerConfig, RecommendationControllerConfig, ContextVariables } from '@searchspring/snap-controller';
2
+ import type { SearchControllerConfig, AutocompleteControllerConfig, FinderControllerConfig, RecommendationControllerConfig, ContextVariables } from '@searchspring/snap-controller';
4
3
  import type { SearchStore, AutocompleteStore, FinderStore, RecommendationStore } from '@searchspring/snap-store-mobx';
5
4
  import type { UrlManager, UrlTranslatorConfig } from '@searchspring/snap-url-manager';
6
5
  import type { EventManager } from '@searchspring/snap-event-manager';
7
6
  import type { Profiler } from '@searchspring/snap-profiler';
8
7
  import type { Logger } from '@searchspring/snap-logger';
9
8
  import type { Tracker } from '@searchspring/snap-tracker';
9
+ import { AppMode } from '@searchspring/snap-toolbox';
10
10
  export declare type SnapControllerServices = {
11
11
  client?: Client;
12
12
  store?: SearchStore | AutocompleteStore | FinderStore | RecommendationStore;
@@ -17,10 +17,8 @@ export declare type SnapControllerServices = {
17
17
  tracker?: Tracker;
18
18
  };
19
19
  export declare type SnapControllerConfigs = SnapSearchControllerConfig | SnapAutocompleteControllerConfig | SnapFinderControllerConfig | SnapRecommendationControllerConfig;
20
- export declare type RootComponent = React.ElementType<{
21
- controller: AbstractController;
22
- }>;
23
20
  export declare type SnapSearchControllerConfig = {
21
+ mode?: keyof typeof AppMode | AppMode;
24
22
  url?: UrlTranslatorConfig;
25
23
  client?: {
26
24
  globals: ClientGlobals;
@@ -30,6 +28,7 @@ export declare type SnapSearchControllerConfig = {
30
28
  context?: ContextVariables;
31
29
  };
32
30
  export declare type SnapAutocompleteControllerConfig = {
31
+ mode?: keyof typeof AppMode | AppMode;
33
32
  url?: UrlTranslatorConfig;
34
33
  client?: {
35
34
  globals: ClientGlobals;
@@ -39,6 +38,7 @@ export declare type SnapAutocompleteControllerConfig = {
39
38
  context?: ContextVariables;
40
39
  };
41
40
  export declare type SnapFinderControllerConfig = {
41
+ mode?: keyof typeof AppMode | AppMode;
42
42
  url?: UrlTranslatorConfig;
43
43
  client?: {
44
44
  globals: ClientGlobals;
@@ -48,6 +48,7 @@ export declare type SnapFinderControllerConfig = {
48
48
  context?: ContextVariables;
49
49
  };
50
50
  export declare type SnapRecommendationControllerConfig = {
51
+ mode?: keyof typeof AppMode | AppMode;
51
52
  url?: UrlTranslatorConfig;
52
53
  client?: {
53
54
  globals: ClientGlobals;
@@ -56,4 +57,9 @@ export declare type SnapRecommendationControllerConfig = {
56
57
  controller: RecommendationControllerConfig;
57
58
  context?: ContextVariables;
58
59
  };
60
+ declare global {
61
+ interface Window {
62
+ searchspring?: any;
63
+ }
64
+ }
59
65
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,KAAK,EACX,kBAAkB,EAClB,sBAAsB,EACtB,4BAA4B,EAC5B,sBAAsB,EACtB,8BAA8B,EAC9B,gBAAgB,EAChB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACtH,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACtF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACrE,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;AAE1D,oBAAY,sBAAsB,GAAG;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,WAAW,GAAG,iBAAiB,GAAG,WAAW,GAAG,mBAAmB,CAAC;IAC5E,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,oBAAY,qBAAqB,GAC9B,0BAA0B,GAC1B,gCAAgC,GAChC,0BAA0B,GAC1B,kCAAkC,CAAC;AAEtC,oBAAY,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC;IAAE,UAAU,EAAE,kBAAkB,CAAA;CAAE,CAAC,CAAC;AAElF,oBAAY,0BAA0B,GAAG;IACxC,GAAG,CAAC,EAAE,mBAAmB,CAAC;IAC1B,MAAM,CAAC,EAAE;QACR,OAAO,EAAE,aAAa,CAAC;QACvB,MAAM,CAAC,EAAE,YAAY,CAAC;KACtB,CAAC;IACF,UAAU,EAAE,sBAAsB,CAAC;IACnC,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC3B,CAAC;AAEF,oBAAY,gCAAgC,GAAG;IAC9C,GAAG,CAAC,EAAE,mBAAmB,CAAC;IAC1B,MAAM,CAAC,EAAE;QACR,OAAO,EAAE,aAAa,CAAC;QACvB,MAAM,CAAC,EAAE,YAAY,CAAC;KACtB,CAAC;IACF,UAAU,EAAE,4BAA4B,CAAC;IACzC,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC3B,CAAC;AAEF,oBAAY,0BAA0B,GAAG;IACxC,GAAG,CAAC,EAAE,mBAAmB,CAAC;IAC1B,MAAM,CAAC,EAAE;QACR,OAAO,EAAE,aAAa,CAAC;QACvB,MAAM,CAAC,EAAE,YAAY,CAAC;KACtB,CAAC;IACF,UAAU,EAAE,sBAAsB,CAAC;IACnC,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC3B,CAAC;AAEF,oBAAY,kCAAkC,GAAG;IAChD,GAAG,CAAC,EAAE,mBAAmB,CAAC;IAC1B,MAAM,CAAC,EAAE;QACR,OAAO,EAAE,aAAa,CAAC;QACvB,MAAM,CAAC,EAAE,YAAY,CAAC;KACtB,CAAC;IACF,UAAU,EAAE,8BAA8B,CAAC;IAC3C,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC3B,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { DomTargeter } from '@searchspring/snap-toolbox';
1
+ import { AppMode, DomTargeter } from '@searchspring/snap-toolbox';
2
2
  import { Client } from '@searchspring/snap-client';
3
3
  import { Logger } from '@searchspring/snap-logger';
4
4
  import { Tracker } from '@searchspring/snap-tracker';
@@ -6,14 +6,14 @@ import type { ClientConfig, ClientGlobals } from '@searchspring/snap-client';
6
6
  import type { UrlTranslatorConfig } from '@searchspring/snap-url-manager';
7
7
  import type { AbstractController, RecommendationController, Attachments, ContextVariables } from '@searchspring/snap-controller';
8
8
  import type { Middleware } from '@searchspring/snap-event-manager';
9
- import type { RootComponent } from '../types';
10
9
  export declare type RecommendationInstantiatorConfig = {
10
+ mode?: keyof typeof AppMode | AppMode;
11
11
  client?: {
12
12
  globals: ClientGlobals;
13
13
  config?: ClientConfig;
14
14
  };
15
15
  components: {
16
- [name: string]: () => Promise<RootComponent> | RootComponent;
16
+ [name: string]: () => Promise<any> | any;
17
17
  };
18
18
  config: {
19
19
  branch: string;
@@ -31,6 +31,7 @@ export declare type RecommendationInstantiatorServices = {
31
31
  tracker?: Tracker;
32
32
  };
33
33
  export declare class RecommendationInstantiator {
34
+ private mode;
34
35
  client: Client;
35
36
  tracker: Tracker;
36
37
  logger: Logger;
@@ -44,8 +45,8 @@ export declare class RecommendationInstantiator {
44
45
  private plugins;
45
46
  private middleware;
46
47
  constructor(config: RecommendationInstantiatorConfig, services?: RecommendationInstantiatorServices, context?: ContextVariables);
47
- plugin(func: (cntrlr: AbstractController, ...args: any[]) => Promise<void>, ...args: unknown[]): void;
48
- on<T>(event: string, ...func: Middleware<T>[]): void;
48
+ plugin(func: (cntrlr: AbstractController, ...args: any) => Promise<void>, ...args: unknown[]): void;
49
+ on<T>(event: string, ...func: Middleware<unknown>[]): void;
49
50
  use(attachments: Attachments): void;
50
51
  }
51
52
  //# sourceMappingURL=RecommendationInstantiator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RecommendationInstantiator.d.ts","sourceRoot":"","sources":["../../../src/Instantiators/RecommendationInstantiator.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAc,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAErD,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjI,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,KAAK,EAA0B,aAAa,EAAE,MAAM,UAAU,CAAC;AAEtE,oBAAY,gCAAgC,GAAG;IAC9C,MAAM,CAAC,EAAE;QACR,OAAO,EAAE,aAAa,CAAC;QACvB,MAAM,CAAC,EAAE,YAAY,CAAC;KACtB,CAAC;IACF,UAAU,EAAE;QACX,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC;KAC7D,CAAC;IACF,MAAM,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,WAAW,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,mBAAmB,CAAC;IAC1B,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC3B,CAAC;AAEF,oBAAY,kCAAkC,GAAG;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,qBAAa,0BAA0B;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE;QAClB,CAAC,GAAG,EAAE,MAAM,GAAG,wBAAwB,CAAC;KACxC,CAAM;IACA,MAAM,EAAE,gCAAgC,CAAC;IACzC,OAAO,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,EAAE,WAAW,CAAC;IAE7B,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,OAAO,CAA2F;IAC1G,OAAO,CAAC,UAAU,CAAwD;gBAE9D,MAAM,EAAE,gCAAgC,EAAE,QAAQ,CAAC,EAAE,kCAAkC,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAoLxH,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI,OAAA,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI9F,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;CAG1C"}
1
+ {"version":3,"file":"RecommendationInstantiator.d.ts","sourceRoot":"","sources":["../../../src/Instantiators/RecommendationInstantiator.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAc,MAAM,4BAA4B,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAGrD,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjI,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAGnE,oBAAY,gCAAgC,GAAG;IAC9C,IAAI,CAAC,EAAE,MAAM,OAAO,OAAO,GAAG,OAAO,CAAC;IACtC,MAAM,CAAC,EAAE;QACR,OAAO,EAAE,aAAa,CAAC;QACvB,MAAM,CAAC,EAAE,YAAY,CAAC;KACtB,CAAC;IACF,UAAU,EAAE;QACX,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;KACzC,CAAC;IACF,MAAM,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,WAAW,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,mBAAmB,CAAC;IAC1B,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC3B,CAAC;AAEF,oBAAY,kCAAkC,GAAG;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,qBAAa,0BAA0B;IACtC,OAAO,CAAC,IAAI,CAAsB;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE;QAClB,CAAC,GAAG,EAAE,MAAM,GAAG,wBAAwB,CAAC;KACxC,CAAM;IACA,MAAM,EAAE,gCAAgC,CAAC;IACzC,OAAO,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,EAAE,WAAW,CAAC;IAE7B,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,OAAO,CAAgG;IAC/G,OAAO,CAAC,UAAU,CAAwD;gBAE9D,MAAM,EAAE,gCAAgC,EAAE,QAAQ,CAAC,EAAE,kCAAkC,EAAE,OAAO,CAAC,EAAE,gBAAgB;IA2MxH,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,IAAI;IAInG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI;IAI1D,GAAG,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;CAG1C"}
@@ -1,12 +1,13 @@
1
1
  import { jsx as _jsx } from "preact/jsx-runtime";
2
2
  import { render } from 'preact';
3
3
  import deepmerge from 'deepmerge';
4
- import { DomTargeter, getContext } from '@searchspring/snap-toolbox';
4
+ import { AppMode, DomTargeter, getContext } from '@searchspring/snap-toolbox';
5
5
  import { Client } from '@searchspring/snap-client';
6
6
  import { Logger } from '@searchspring/snap-logger';
7
7
  import { Tracker } from '@searchspring/snap-tracker';
8
8
  export class RecommendationInstantiator {
9
9
  constructor(config, services, context) {
10
+ this.mode = AppMode.production;
10
11
  this.controller = {};
11
12
  this.uses = [];
12
13
  this.plugins = [];
@@ -24,18 +25,27 @@ export class RecommendationInstantiator {
24
25
  if ((!services?.client || !services?.tracker) && !this.config?.client?.globals?.siteId) {
25
26
  throw new Error(`Recommendation Instantiator config must contain a valid config.client.globals.siteId value`);
26
27
  }
28
+ if (this.config.mode && Object.values(AppMode).includes(this.config.mode)) {
29
+ this.mode = this.config.mode;
30
+ if (this.config?.client?.globals?.siteId) {
31
+ this.config.client.config = this.config.client.config || {};
32
+ this.config.client.config.mode = this.config.client.config.mode || this.mode;
33
+ }
34
+ }
35
+ window.searchspring = window.searchspring || {};
27
36
  this.context = deepmerge(context || {}, config.context || {});
28
37
  this.client = services?.client || new Client(this.config.client.globals, this.config.client.config);
29
38
  this.tracker = services?.tracker || new Tracker(this.config.client.globals);
30
- this.logger = services?.logger || new Logger('RecommendationInstantiator ');
39
+ this.logger = services?.logger || new Logger({ prefix: 'RecommendationInstantiator ', mode: this.mode });
31
40
  const profileCount = {};
32
41
  this.targeter = new DomTargeter([
33
42
  {
34
43
  selector: `script[type="searchspring/recommend"], script[type="searchspring/personalized-recommendations"]${this.config.selector ? ` , ${this.config.selector}` : ''}`,
44
+ autoRetarget: true,
35
45
  inject: {
36
46
  action: 'before',
37
47
  element: (target, origElement) => {
38
- const profile = origElement.getAttribute('profile');
48
+ const profile = origElement.getAttribute('profile') || '';
39
49
  const recsContainer = document.createElement('div');
40
50
  recsContainer.setAttribute('searchspring-recommend', profile);
41
51
  return recsContainer;
@@ -43,7 +53,7 @@ export class RecommendationInstantiator {
43
53
  },
44
54
  },
45
55
  ], async (target, injectedElem, elem) => {
46
- const tag = injectedElem.getAttribute('searchspring-recommend');
56
+ const tag = injectedElem?.getAttribute('searchspring-recommend');
47
57
  if (!tag) {
48
58
  this.logger.warn(`'profile' attribute is missing from <script> tag, skipping this profile`, elem);
49
59
  return;
@@ -133,6 +143,8 @@ export class RecommendationInstantiator {
133
143
  await controller.search();
134
144
  controller.addTargeter(this.targeter);
135
145
  this.controller[controller.config.id] = controller;
146
+ window.searchspring.controller = window.searchspring.controller || {};
147
+ window.searchspring.controller[controller.config.id] = controller;
136
148
  const profileVars = controller.store.profile.display.templateParameters;
137
149
  const component = controller.store.profile.display.template?.component;
138
150
  if (!profileVars) {
@@ -143,13 +155,16 @@ export class RecommendationInstantiator {
143
155
  this.logger.error(`profile '${tag}' found on ${elem} is missing component!`);
144
156
  return;
145
157
  }
146
- const RecommendationsComponent = this.config.components[component] && (await this.config.components[component]());
158
+ const RecommendationsComponent = this.config.components[component] &&
159
+ (await this.config.components[component]());
147
160
  if (!RecommendationsComponent) {
148
161
  this.logger.error(`profile '${tag}' found on ${elem} is expecting component mapping for '${component}' - verify instantiator config.`);
149
162
  return;
150
163
  }
151
164
  setTimeout(() => {
152
- render(_jsx(RecommendationsComponent, { controller: controller }), injectedElem);
165
+ if (injectedElem) {
166
+ render(_jsx(RecommendationsComponent, { controller: controller }), injectedElem);
167
+ }
153
168
  });
154
169
  });
155
170
  }
@@ -1,25 +1,29 @@
1
1
  import { Client } from '@searchspring/snap-client';
2
2
  import { Logger } from '@searchspring/snap-logger';
3
3
  import { Tracker } from '@searchspring/snap-tracker';
4
+ import { AppMode } from '@searchspring/snap-toolbox';
4
5
  import { ControllerTypes } from '@searchspring/snap-controller';
5
6
  import type { ClientConfig, ClientGlobals } from '@searchspring/snap-client';
6
7
  import type { AbstractController, SearchController, AutocompleteController, FinderController, RecommendationController, SearchControllerConfig, AutocompleteControllerConfig, FinderControllerConfig, RecommendationControllerConfig, ControllerConfigs, ContextVariables } from '@searchspring/snap-controller';
7
8
  import type { Target, OnTarget } from '@searchspring/snap-toolbox';
8
9
  import type { UrlTranslatorConfig } from '@searchspring/snap-url-manager';
9
10
  import { RecommendationInstantiator, RecommendationInstantiatorConfig } from './Instantiators/RecommendationInstantiator';
10
- import type { SnapControllerServices, RootComponent } from './types';
11
+ import type { SnapControllerServices } from './types';
11
12
  export declare const BRANCH_COOKIE = "ssBranch";
12
- export declare const SS_DEV_COOKIE = "ssDev";
13
+ export declare const DEV_COOKIE = "ssDev";
13
14
  declare type ExtendedTarget = Target & {
14
15
  name?: string;
15
16
  controller?: AbstractController;
16
- component?: () => Promise<RootComponent> | RootComponent;
17
- skeleton?: () => Promise<any>;
18
- props?: unknown;
17
+ component?: () => Promise<any> | any;
18
+ skeleton?: () => Promise<any> | any;
19
+ props?: {
20
+ [propName: string]: any;
21
+ };
19
22
  onTarget?: OnTarget;
20
23
  prefetch?: boolean;
21
24
  };
22
25
  export declare type SnapConfig = {
26
+ mode?: keyof typeof AppMode | AppMode;
23
27
  context?: ContextVariables;
24
28
  url?: UrlTranslatorConfig;
25
29
  client?: {
@@ -67,24 +71,74 @@ declare type SnapServices = {
67
71
  };
68
72
  declare type Controllers = SearchController | AutocompleteController | FinderController | RecommendationController;
69
73
  export declare class Snap {
70
- config: SnapConfig;
74
+ private mode;
75
+ private config;
76
+ private _instantiatorPromises;
77
+ private _controllerPromises;
71
78
  logger: Logger;
72
79
  client: Client;
73
80
  tracker: Tracker;
74
81
  context: ContextVariables;
75
- _controllerPromises: {
76
- [controllerConfigId: string]: Promise<Controllers>;
77
- };
78
82
  controllers: {
79
83
  [controllerConfigId: string]: Controllers;
80
84
  };
81
- _instantiatorPromises: {
82
- [instantiatorId: string]: Promise<RecommendationInstantiator>;
83
- };
84
85
  getInstantiator: (id: string) => Promise<RecommendationInstantiator>;
85
86
  getController: (id: string) => Promise<Controllers>;
86
87
  getControllers: (...controllerIds: string[]) => Promise<Controllers[]>;
87
- createController: (type: keyof typeof ControllerTypes, config: ControllerConfigs, services?: SnapControllerServices, urlConfig?: UrlTranslatorConfig, context?: ContextVariables, callback?: (value?: Controllers | PromiseLike<Controllers>) => void | Promise<void>) => Promise<Controllers>;
88
+ createController: (type: keyof typeof ControllerTypes, config: ControllerConfigs, services?: SnapControllerServices | undefined, urlConfig?: Partial<{
89
+ urlRoot: string;
90
+ settings: Partial<{
91
+ corePrefix: string;
92
+ coreType?: Partial<"query" | "hash" | undefined>;
93
+ customType: Partial<"query" | "hash">;
94
+ rootParams: Partial<boolean>;
95
+ }>;
96
+ parameters: Partial<{
97
+ core: Partial<{
98
+ query: Partial<{
99
+ name: string;
100
+ type: Partial<"query" | "hash">;
101
+ }>;
102
+ oq: Partial<{
103
+ name: string;
104
+ type: Partial<"query" | "hash">;
105
+ }>;
106
+ rq: Partial<{
107
+ name: string;
108
+ type: Partial<"query" | "hash">;
109
+ }>;
110
+ tag: Partial<{
111
+ name: string;
112
+ type: Partial<"query" | "hash">;
113
+ }>;
114
+ page: Partial<{
115
+ name: string;
116
+ type: Partial<"query" | "hash">;
117
+ }>;
118
+ pageSize: Partial<{
119
+ name: string;
120
+ type: Partial<"query" | "hash">;
121
+ }>;
122
+ sort: Partial<{
123
+ name: string;
124
+ type: Partial<"query" | "hash">;
125
+ }>;
126
+ filter: Partial<{
127
+ name: string;
128
+ type: Partial<"query" | "hash">;
129
+ }>;
130
+ }>;
131
+ custom: Partial<{
132
+ [x: string]: Partial<{
133
+ type: Partial<"query" | "hash">;
134
+ }>;
135
+ }>;
136
+ }>;
137
+ }> | undefined, context?: ContextVariables | undefined, callback?: ((value?: Controllers | PromiseLike<Controllers> | undefined) => void | Promise<void>) | undefined) => Promise<Controllers>;
138
+ private _createController;
139
+ handlers: {
140
+ error: (event: ErrorEvent) => void;
141
+ };
88
142
  constructor(config: SnapConfig, services?: SnapServices);
89
143
  }
90
144
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"Snap.d.ts","sourceRoot":"","sources":["../../src/Snap.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Snap.d.ts","sourceRoot":"","sources":["../../src/Snap.tsx"],"names":[],"mappings":"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"}