@searchspring/snap-preact 0.26.1 → 0.27.2
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.
- package/dist/cjs/Instantiators/RecommendationInstantiator.d.ts +20 -21
- package/dist/cjs/Instantiators/RecommendationInstantiator.d.ts.map +1 -1
- package/dist/cjs/Instantiators/RecommendationInstantiator.js +47 -41
- package/dist/cjs/Snap.d.ts +17 -15
- package/dist/cjs/Snap.d.ts.map +1 -1
- package/dist/cjs/Snap.js +301 -232
- package/dist/cjs/components/BranchOverride.d.ts +1 -6
- package/dist/cjs/components/BranchOverride.d.ts.map +1 -1
- package/dist/cjs/components/BranchOverride.js +2 -234
- package/dist/cjs/create/index.d.ts +1 -1
- package/dist/cjs/create/index.d.ts.map +1 -1
- package/dist/cjs/create/index.js +2 -2
- package/dist/cjs/getBundleDetails/getBundleDetails.d.ts +7 -0
- package/dist/cjs/getBundleDetails/getBundleDetails.d.ts.map +1 -0
- package/dist/cjs/getBundleDetails/getBundleDetails.js +64 -0
- package/dist/cjs/types.d.ts +1 -0
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/esm/Instantiators/RecommendationInstantiator.d.ts +20 -21
- package/dist/esm/Instantiators/RecommendationInstantiator.d.ts.map +1 -1
- package/dist/esm/Instantiators/RecommendationInstantiator.js +41 -38
- package/dist/esm/Snap.d.ts +17 -15
- package/dist/esm/Snap.d.ts.map +1 -1
- package/dist/esm/Snap.js +144 -107
- package/dist/esm/components/BranchOverride.d.ts +1 -6
- package/dist/esm/components/BranchOverride.d.ts.map +1 -1
- package/dist/esm/components/BranchOverride.js +1 -172
- package/dist/esm/create/index.d.ts +1 -1
- package/dist/esm/create/index.d.ts.map +1 -1
- package/dist/esm/create/index.js +1 -1
- package/dist/esm/getBundleDetails/getBundleDetails.d.ts +7 -0
- package/dist/esm/getBundleDetails/getBundleDetails.d.ts.map +1 -0
- package/dist/esm/getBundleDetails/getBundleDetails.js +22 -0
- package/dist/esm/types.d.ts +1 -0
- package/dist/esm/types.d.ts.map +1 -1
- package/package.json +13 -12
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
import { DomTargeter } from '@searchspring/snap-toolbox';
|
|
2
|
-
import
|
|
2
|
+
import { Client } from '@searchspring/snap-client';
|
|
3
|
+
import { Logger } from '@searchspring/snap-logger';
|
|
4
|
+
import { Tracker } from '@searchspring/snap-tracker';
|
|
5
|
+
import type { ClientConfig, ClientGlobals } from '@searchspring/snap-client';
|
|
3
6
|
import type { UrlTranslatorConfig } from '@searchspring/snap-url-manager';
|
|
4
|
-
import type { Client } from '@searchspring/snap-client';
|
|
5
|
-
import type { Tracker } from '@searchspring/snap-tracker';
|
|
6
7
|
import type { AbstractController, RecommendationController, Attachments, ContextVariables } from '@searchspring/snap-controller';
|
|
7
8
|
import type { Middleware } from '@searchspring/snap-event-manager';
|
|
8
|
-
import type {
|
|
9
|
+
import type { RootComponent } from '../types';
|
|
9
10
|
export declare type RecommendationInstantiatorConfig = {
|
|
11
|
+
client?: {
|
|
12
|
+
globals: ClientGlobals;
|
|
13
|
+
config?: ClientConfig;
|
|
14
|
+
};
|
|
10
15
|
components: {
|
|
11
16
|
[name: string]: () => Promise<RootComponent> | RootComponent;
|
|
12
17
|
};
|
|
@@ -17,35 +22,29 @@ export declare type RecommendationInstantiatorConfig = {
|
|
|
17
22
|
limit?: number;
|
|
18
23
|
} & Attachments;
|
|
19
24
|
selector?: string;
|
|
20
|
-
services?: SnapControllerServices;
|
|
21
25
|
url?: UrlTranslatorConfig;
|
|
22
26
|
context?: ContextVariables;
|
|
23
27
|
};
|
|
24
28
|
export declare type RecommendationInstantiatorServices = {
|
|
25
|
-
client
|
|
26
|
-
logger
|
|
27
|
-
tracker
|
|
29
|
+
client?: Client;
|
|
30
|
+
logger?: Logger;
|
|
31
|
+
tracker?: Tracker;
|
|
28
32
|
};
|
|
29
33
|
export declare class RecommendationInstantiator {
|
|
30
|
-
controllers: {
|
|
31
|
-
[key: string]: RecommendationController;
|
|
32
|
-
};
|
|
33
34
|
client: Client;
|
|
34
35
|
tracker: Tracker;
|
|
35
36
|
logger: Logger;
|
|
37
|
+
controller: {
|
|
38
|
+
[key: string]: RecommendationController;
|
|
39
|
+
};
|
|
36
40
|
config: RecommendationInstantiatorConfig;
|
|
37
41
|
context: ContextVariables;
|
|
38
|
-
uses: Attachments[];
|
|
39
|
-
plugins: {
|
|
40
|
-
(cntrlr: AbstractController): Promise<void>;
|
|
41
|
-
}[];
|
|
42
|
-
middleware: {
|
|
43
|
-
event: string;
|
|
44
|
-
func: Middleware<unknown>[];
|
|
45
|
-
}[];
|
|
46
42
|
targeter: DomTargeter;
|
|
47
|
-
|
|
48
|
-
|
|
43
|
+
private uses;
|
|
44
|
+
private plugins;
|
|
45
|
+
private middleware;
|
|
46
|
+
constructor(config: RecommendationInstantiatorConfig, services?: RecommendationInstantiatorServices, context?: ContextVariables);
|
|
47
|
+
plugin(func: (cntrlr: AbstractController, ...args: any[]) => Promise<void>, ...args: unknown[]): void;
|
|
49
48
|
on<T>(event: string, ...func: Middleware<T>[]): void;
|
|
50
49
|
use(attachments: Attachments): void;
|
|
51
50
|
}
|
|
@@ -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;
|
|
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"}
|
|
@@ -87,29 +87,34 @@ var jsx_runtime_1 = require("preact/jsx-runtime");
|
|
|
87
87
|
var preact_1 = require("preact");
|
|
88
88
|
var deepmerge_1 = __importDefault(require("deepmerge"));
|
|
89
89
|
var snap_toolbox_1 = require("@searchspring/snap-toolbox");
|
|
90
|
+
var snap_client_1 = require("@searchspring/snap-client");
|
|
91
|
+
var snap_logger_1 = require("@searchspring/snap-logger");
|
|
92
|
+
var snap_tracker_1 = require("@searchspring/snap-tracker");
|
|
90
93
|
var RecommendationInstantiator = /** @class */ (function () {
|
|
91
|
-
function RecommendationInstantiator(config,
|
|
92
|
-
var client = _a.client, logger = _a.logger, tracker = _a.tracker;
|
|
94
|
+
function RecommendationInstantiator(config, services, context) {
|
|
93
95
|
var _this = this;
|
|
94
|
-
var _b, _c, _d
|
|
95
|
-
this.
|
|
96
|
+
var _a, _b, _c, _d;
|
|
97
|
+
this.controller = {};
|
|
96
98
|
this.uses = [];
|
|
97
99
|
this.plugins = [];
|
|
98
100
|
this.middleware = [];
|
|
99
101
|
this.config = config;
|
|
100
|
-
this.context = (0, deepmerge_1.default)(context || {}, config.context || {});
|
|
101
102
|
if (!this.config) {
|
|
102
103
|
throw new Error("Recommendation Instantiator config is required");
|
|
103
104
|
}
|
|
104
|
-
if (!((
|
|
105
|
+
if (!((_a = this.config.config) === null || _a === void 0 ? void 0 : _a.branch)) {
|
|
105
106
|
throw new Error("Recommendation Instantiator config must contain 'branch' property");
|
|
106
107
|
}
|
|
107
|
-
if (!this.config.components || typeof this.config.components != 'object') {
|
|
108
|
+
if (!this.config.components || typeof this.config.components != 'object' || !Object.keys(this.config.components).length) {
|
|
108
109
|
throw new Error("Recommendation Instantiator config must contain 'components' mapping property");
|
|
109
110
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
111
|
+
if ((!(services === null || services === void 0 ? void 0 : services.client) || !(services === null || services === void 0 ? void 0 : services.tracker)) && !((_d = (_c = (_b = this.config) === null || _b === void 0 ? void 0 : _b.client) === null || _c === void 0 ? void 0 : _c.globals) === null || _d === void 0 ? void 0 : _d.siteId)) {
|
|
112
|
+
throw new Error("Recommendation Instantiator config must contain a valid config.client.globals.siteId value");
|
|
113
|
+
}
|
|
114
|
+
this.context = (0, deepmerge_1.default)(context || {}, config.context || {});
|
|
115
|
+
this.client = (services === null || services === void 0 ? void 0 : services.client) || new snap_client_1.Client(this.config.client.globals, this.config.client.config);
|
|
116
|
+
this.tracker = (services === null || services === void 0 ? void 0 : services.tracker) || new snap_tracker_1.Tracker(this.config.client.globals);
|
|
117
|
+
this.logger = (services === null || services === void 0 ? void 0 : services.logger) || new snap_logger_1.Logger('RecommendationInstantiator ');
|
|
113
118
|
var profileCount = {};
|
|
114
119
|
this.targeter = new snap_toolbox_1.DomTargeter([
|
|
115
120
|
{
|
|
@@ -118,23 +123,23 @@ var RecommendationInstantiator = /** @class */ (function () {
|
|
|
118
123
|
action: 'before',
|
|
119
124
|
element: function (target, origElement) {
|
|
120
125
|
var profile = origElement.getAttribute('profile');
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
return recsContainer;
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
_this.logger.warn("'profile' attribute is missing from <script> tag, skipping this profile", origElement);
|
|
128
|
-
}
|
|
126
|
+
var recsContainer = document.createElement('div');
|
|
127
|
+
recsContainer.setAttribute('searchspring-recommend', profile);
|
|
128
|
+
return recsContainer;
|
|
129
129
|
},
|
|
130
130
|
},
|
|
131
131
|
},
|
|
132
132
|
], function (target, injectedElem, elem) { return __awaiter(_this, void 0, void 0, function () {
|
|
133
|
-
var contextGlobals, elemContext, context, shopper, shopperId, product, seed, cart, options, cartContents, cartFuncContents,
|
|
133
|
+
var tag, contextGlobals, elemContext, context, shopper, shopperId, product, seed, cart, options, cartContents, cartFuncContents, defaultGlobals, globals, controllerConfig, createRecommendationController, controller, profileVars, component, RecommendationsComponent, _a;
|
|
134
134
|
var _b, _c, _d;
|
|
135
135
|
return __generator(this, function (_e) {
|
|
136
136
|
switch (_e.label) {
|
|
137
137
|
case 0:
|
|
138
|
+
tag = injectedElem.getAttribute('searchspring-recommend');
|
|
139
|
+
if (!tag) {
|
|
140
|
+
this.logger.warn("'profile' attribute is missing from <script> tag, skipping this profile", elem);
|
|
141
|
+
return [2 /*return*/];
|
|
142
|
+
}
|
|
138
143
|
contextGlobals = {};
|
|
139
144
|
elemContext = (0, snap_toolbox_1.getContext)(['shopperId', 'shopper', 'product', 'seed', 'cart', 'options', 'profile', 'custom'], elem);
|
|
140
145
|
context = (0, deepmerge_1.default)(this.context, elemContext);
|
|
@@ -194,42 +199,39 @@ var RecommendationInstantiator = /** @class */ (function () {
|
|
|
194
199
|
this.tracker.cookies.cart.set(cartContents);
|
|
195
200
|
contextGlobals.cart = this.tracker.cookies.cart.get();
|
|
196
201
|
}
|
|
197
|
-
tag = injectedElem.getAttribute('searchspring-recommend');
|
|
198
202
|
profileCount[tag] = profileCount[tag] + 1 || 1;
|
|
199
203
|
defaultGlobals = {
|
|
200
204
|
limits: 20,
|
|
201
205
|
};
|
|
202
|
-
globals = (0, deepmerge_1.default)((0, deepmerge_1.default)(defaultGlobals, ((_b = this.config.
|
|
203
|
-
controllerConfig = __assign(__assign({ id: "recommend_".concat(tag
|
|
206
|
+
globals = (0, deepmerge_1.default)((0, deepmerge_1.default)(defaultGlobals, ((_b = this.config.client) === null || _b === void 0 ? void 0 : _b.globals) || {}), contextGlobals);
|
|
207
|
+
controllerConfig = __assign(__assign({ id: "recommend_".concat(tag, "_").concat(profileCount[tag] - 1), tag: tag, batched: (_c = options === null || options === void 0 ? void 0 : options.batched) !== null && _c !== void 0 ? _c : true, realtime: Boolean(options === null || options === void 0 ? void 0 : options.realtime) }, this.config.config), { globals: globals });
|
|
204
208
|
return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require('../create/createRecommendationController')); })];
|
|
205
209
|
case 1:
|
|
206
210
|
createRecommendationController = (_e.sent()).default;
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
recs = createRecommendationController({
|
|
210
|
-
url: this.config.url || {},
|
|
211
|
+
controller = createRecommendationController({
|
|
212
|
+
url: this.config.url,
|
|
211
213
|
controller: controllerConfig,
|
|
212
214
|
context: context,
|
|
213
|
-
}, { client: client, tracker: tracker });
|
|
214
|
-
this.uses.forEach(function (attachements) { return
|
|
215
|
-
this.plugins.forEach(function (plugin) { return
|
|
216
|
-
this.middleware.forEach(function (middleware) { return
|
|
217
|
-
return [4 /*yield*/,
|
|
215
|
+
}, { client: this.client, tracker: this.tracker });
|
|
216
|
+
this.uses.forEach(function (attachements) { return controller.use(attachements); });
|
|
217
|
+
this.plugins.forEach(function (plugin) { return controller.plugin.apply(controller, __spreadArray([plugin.func], plugin.args, false)); });
|
|
218
|
+
this.middleware.forEach(function (middleware) { return controller.on.apply(controller, __spreadArray([middleware.event], middleware.func, false)); });
|
|
219
|
+
return [4 /*yield*/, controller.search()];
|
|
218
220
|
case 2:
|
|
219
221
|
_e.sent();
|
|
220
|
-
|
|
221
|
-
this.
|
|
222
|
-
profileVars =
|
|
223
|
-
component = (_d =
|
|
222
|
+
controller.addTargeter(this.targeter);
|
|
223
|
+
this.controller[controller.config.id] = controller;
|
|
224
|
+
profileVars = controller.store.profile.display.templateParameters;
|
|
225
|
+
component = (_d = controller.store.profile.display.template) === null || _d === void 0 ? void 0 : _d.component;
|
|
224
226
|
if (!profileVars) {
|
|
225
|
-
|
|
227
|
+
this.logger.error("profile '".concat(tag, "' found on ").concat(elem, " is missing templateParameters!"));
|
|
226
228
|
return [2 /*return*/];
|
|
227
229
|
}
|
|
228
230
|
if (!component) {
|
|
229
|
-
|
|
231
|
+
this.logger.error("profile '".concat(tag, "' found on ").concat(elem, " is missing component!"));
|
|
230
232
|
return [2 /*return*/];
|
|
231
233
|
}
|
|
232
|
-
_a = this.config.components;
|
|
234
|
+
_a = this.config.components[component];
|
|
233
235
|
if (!_a) return [3 /*break*/, 4];
|
|
234
236
|
return [4 /*yield*/, this.config.components[component]()];
|
|
235
237
|
case 3:
|
|
@@ -238,11 +240,11 @@ var RecommendationInstantiator = /** @class */ (function () {
|
|
|
238
240
|
case 4:
|
|
239
241
|
RecommendationsComponent = _a;
|
|
240
242
|
if (!RecommendationsComponent) {
|
|
241
|
-
|
|
243
|
+
this.logger.error("profile '".concat(tag, "' found on ").concat(elem, " is expecting component mapping for '").concat(component, "' - verify instantiator config."));
|
|
242
244
|
return [2 /*return*/];
|
|
243
245
|
}
|
|
244
246
|
setTimeout(function () {
|
|
245
|
-
(0, preact_1.render)((0, jsx_runtime_1.jsx)(RecommendationsComponent, { controller:
|
|
247
|
+
(0, preact_1.render)((0, jsx_runtime_1.jsx)(RecommendationsComponent, { controller: controller }), injectedElem);
|
|
246
248
|
});
|
|
247
249
|
return [2 /*return*/];
|
|
248
250
|
}
|
|
@@ -250,7 +252,11 @@ var RecommendationInstantiator = /** @class */ (function () {
|
|
|
250
252
|
}); });
|
|
251
253
|
}
|
|
252
254
|
RecommendationInstantiator.prototype.plugin = function (func) {
|
|
253
|
-
|
|
255
|
+
var args = [];
|
|
256
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
257
|
+
args[_i - 1] = arguments[_i];
|
|
258
|
+
}
|
|
259
|
+
this.plugins.push({ func: func, args: args });
|
|
254
260
|
};
|
|
255
261
|
RecommendationInstantiator.prototype.on = function (event) {
|
|
256
262
|
var func = [];
|
package/dist/cjs/Snap.d.ts
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
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 { ControllerTypes } from '@searchspring/snap-controller';
|
|
4
5
|
import type { ClientConfig, ClientGlobals } from '@searchspring/snap-client';
|
|
5
6
|
import type { AbstractController, SearchController, AutocompleteController, FinderController, RecommendationController, SearchControllerConfig, AutocompleteControllerConfig, FinderControllerConfig, RecommendationControllerConfig, ControllerConfigs, ContextVariables } from '@searchspring/snap-controller';
|
|
6
7
|
import type { Target, OnTarget } from '@searchspring/snap-toolbox';
|
|
7
8
|
import type { UrlTranslatorConfig } from '@searchspring/snap-url-manager';
|
|
8
9
|
import { RecommendationInstantiator, RecommendationInstantiatorConfig } from './Instantiators/RecommendationInstantiator';
|
|
9
10
|
import type { SnapControllerServices, RootComponent } from './types';
|
|
11
|
+
export declare const BRANCH_COOKIE = "ssBranch";
|
|
12
|
+
export declare const SS_DEV_COOKIE = "ssDev";
|
|
10
13
|
declare type ExtendedTarget = Target & {
|
|
11
14
|
name?: string;
|
|
12
15
|
controller?: AbstractController;
|
|
@@ -19,7 +22,7 @@ declare type ExtendedTarget = Target & {
|
|
|
19
22
|
export declare type SnapConfig = {
|
|
20
23
|
context?: ContextVariables;
|
|
21
24
|
url?: UrlTranslatorConfig;
|
|
22
|
-
client
|
|
25
|
+
client?: {
|
|
23
26
|
globals: ClientGlobals;
|
|
24
27
|
config?: ClientConfig;
|
|
25
28
|
};
|
|
@@ -36,7 +39,7 @@ export declare type SnapConfig = {
|
|
|
36
39
|
}[];
|
|
37
40
|
autocomplete?: {
|
|
38
41
|
config: AutocompleteControllerConfig;
|
|
39
|
-
targeters
|
|
42
|
+
targeters?: ExtendedTarget[];
|
|
40
43
|
services?: SnapControllerServices;
|
|
41
44
|
url?: UrlTranslatorConfig;
|
|
42
45
|
context?: ContextVariables;
|
|
@@ -57,13 +60,12 @@ export declare type SnapConfig = {
|
|
|
57
60
|
}[];
|
|
58
61
|
};
|
|
59
62
|
};
|
|
60
|
-
declare type
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
}
|
|
63
|
+
declare type SnapServices = {
|
|
64
|
+
client?: Client;
|
|
65
|
+
tracker?: Tracker;
|
|
66
|
+
logger?: Logger;
|
|
67
|
+
};
|
|
68
|
+
declare type Controllers = SearchController | AutocompleteController | FinderController | RecommendationController;
|
|
67
69
|
export declare class Snap {
|
|
68
70
|
config: SnapConfig;
|
|
69
71
|
logger: Logger;
|
|
@@ -71,19 +73,19 @@ export declare class Snap {
|
|
|
71
73
|
tracker: Tracker;
|
|
72
74
|
context: ContextVariables;
|
|
73
75
|
_controllerPromises: {
|
|
74
|
-
[controllerConfigId: string]: Promise<
|
|
76
|
+
[controllerConfigId: string]: Promise<Controllers>;
|
|
75
77
|
};
|
|
76
78
|
controllers: {
|
|
77
|
-
[controllerConfigId: string]:
|
|
79
|
+
[controllerConfigId: string]: Controllers;
|
|
78
80
|
};
|
|
79
81
|
_instantiatorPromises: {
|
|
80
82
|
[instantiatorId: string]: Promise<RecommendationInstantiator>;
|
|
81
83
|
};
|
|
82
84
|
getInstantiator: (id: string) => Promise<RecommendationInstantiator>;
|
|
83
|
-
getController: (id: string) => Promise<
|
|
84
|
-
getControllers: (...controllerIds: string[]) => Promise<
|
|
85
|
-
createController: (type:
|
|
86
|
-
constructor(config: SnapConfig);
|
|
85
|
+
getController: (id: string) => Promise<Controllers>;
|
|
86
|
+
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
|
+
constructor(config: SnapConfig, services?: SnapServices);
|
|
87
89
|
}
|
|
88
90
|
export {};
|
|
89
91
|
//# sourceMappingURL=Snap.d.ts.map
|
package/dist/cjs/Snap.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Snap.d.ts","sourceRoot":"","sources":["../../src/Snap.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,MAAM,EAAW,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"Snap.d.ts","sourceRoot":"","sources":["../../src/Snap.tsx"],"names":[],"mappings":"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"}
|