@searchspring/snap-preact 0.21.1 → 0.23.1

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.
@@ -12,7 +12,11 @@ var __assign = (this && this.__assign) || function () {
12
12
  };
13
13
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
14
  if (k2 === undefined) k2 = k;
15
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
16
20
  }) : (function(o, m, k, k2) {
17
21
  if (k2 === undefined) k2 = k;
18
22
  o[k2] = m[k];
@@ -85,8 +89,8 @@ var deepmerge_1 = __importDefault(require("deepmerge"));
85
89
  var snap_toolbox_1 = require("@searchspring/snap-toolbox");
86
90
  var RecommendationInstantiator = /** @class */ (function () {
87
91
  function RecommendationInstantiator(config, _a, context) {
88
- var _this = this;
89
92
  var client = _a.client, logger = _a.logger, tracker = _a.tracker;
93
+ var _this = this;
90
94
  var _b;
91
95
  this.controllers = {};
92
96
  this.uses = [];
@@ -219,7 +223,7 @@ var RecommendationInstantiator = /** @class */ (function () {
219
223
  return [2 /*return*/];
220
224
  }
221
225
  setTimeout(function () {
222
- (0, preact_1.render)((0, jsx_runtime_1.jsx)(RecommendationsComponent, { controller: recs }, void 0), injectedElem);
226
+ (0, preact_1.render)((0, jsx_runtime_1.jsx)(RecommendationsComponent, { controller: recs }), injectedElem);
223
227
  });
224
228
  return [2 /*return*/];
225
229
  }
@@ -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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"}
package/dist/cjs/Snap.js CHANGED
@@ -12,7 +12,11 @@ var __assign = (this && this.__assign) || function () {
12
12
  };
13
13
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
14
  if (k2 === undefined) k2 = k;
15
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
16
20
  }) : (function(o, m, k, k2) {
17
21
  if (k2 === undefined) k2 = k;
18
22
  o[k2] = m[k];
@@ -72,6 +76,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
72
76
  exports.Snap = void 0;
73
77
  var jsx_runtime_1 = require("preact/jsx-runtime");
74
78
  var deepmerge_1 = __importDefault(require("deepmerge"));
79
+ var is_plain_object_1 = require("is-plain-object");
75
80
  var preact_1 = require("preact");
76
81
  var snap_client_1 = require("@searchspring/snap-client");
77
82
  var snap_logger_1 = require("@searchspring/snap-logger");
@@ -129,7 +134,15 @@ var Snap = /** @class */ (function () {
129
134
  url: (0, deepmerge_1.default)(_this.config.url || {}, urlConfig || {}),
130
135
  controller: config,
131
136
  context: (0, deepmerge_1.default)(_this.context || {}, context || {}),
132
- }, { client: (services === null || services === void 0 ? void 0 : services.client) || _this.client, tracker: (services === null || services === void 0 ? void 0 : services.tracker) || _this.tracker });
137
+ }, {
138
+ client: (services === null || services === void 0 ? void 0 : services.client) || _this.client,
139
+ store: services === null || services === void 0 ? void 0 : services.store,
140
+ urlManager: services === null || services === void 0 ? void 0 : services.urlManager,
141
+ eventManager: services === null || services === void 0 ? void 0 : services.eventManager,
142
+ profiler: services === null || services === void 0 ? void 0 : services.profiler,
143
+ logger: services === null || services === void 0 ? void 0 : services.logger,
144
+ tracker: (services === null || services === void 0 ? void 0 : services.tracker) || _this.tracker,
145
+ });
133
146
  resolve(_this.controllers[config.id]);
134
147
  }
135
148
  return _this.controllers[config.id];
@@ -145,7 +158,10 @@ var Snap = /** @class */ (function () {
145
158
  catch (err) {
146
159
  this.logger.error('failed to find global context');
147
160
  }
148
- this.config = (0, deepmerge_1.default)(this.config || {}, globalContext.config || {});
161
+ // merge configs - but only merge plain objects
162
+ this.config = (0, deepmerge_1.default)(this.config || {}, globalContext.config || {}, {
163
+ isMergeableObject: is_plain_object_1.isPlainObject,
164
+ });
149
165
  this.context = (0, deepmerge_1.default)(globalContext || {}, this.config.context || {});
150
166
  if (!((_c = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.client) === null || _b === void 0 ? void 0 : _b.globals) === null || _c === void 0 ? void 0 : _c.siteId)) {
151
167
  throw new Error("Snap: config provided must contain a valid config.client.globals.siteId value");
@@ -202,7 +218,7 @@ var Snap = /** @class */ (function () {
202
218
  case 0: return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require('./components/BranchOverride')); })];
203
219
  case 1:
204
220
  BranchOverride = (_a.sent()).BranchOverride;
205
- (0, preact_1.render)((0, jsx_runtime_1.jsx)(BranchOverride, { branch: branchParam_1, cookieName: BRANCH_COOKIE, bundleUrl: src_1 }, void 0), elem);
221
+ (0, preact_1.render)((0, jsx_runtime_1.jsx)(BranchOverride, { branch: branchParam_1, cookieName: BRANCH_COOKIE, bundleUrl: src_1 }), elem);
206
222
  return [2 /*return*/];
207
223
  }
208
224
  });
@@ -235,13 +251,21 @@ var Snap = /** @class */ (function () {
235
251
  switch (type) {
236
252
  case 'search': {
237
253
  _this.config.controllers[type].forEach(function (controller, index) {
238
- var _a, _b, _c;
254
+ var _a, _b, _c, _d, _e, _f, _g, _h;
239
255
  try {
240
256
  var cntrlr_1 = (0, createSearchController_1.default)({
241
257
  url: (0, deepmerge_1.default)(_this.config.url || {}, controller.url || {}),
242
258
  controller: controller.config,
243
259
  context: (0, deepmerge_1.default)(_this.context || {}, controller.context || {}),
244
- }, { client: ((_a = controller.services) === null || _a === void 0 ? void 0 : _a.client) || _this.client, tracker: ((_b = controller.services) === null || _b === void 0 ? void 0 : _b.tracker) || _this.tracker });
260
+ }, {
261
+ client: ((_a = controller.services) === null || _a === void 0 ? void 0 : _a.client) || _this.client,
262
+ store: (_b = controller.services) === null || _b === void 0 ? void 0 : _b.store,
263
+ urlManager: (_c = controller.services) === null || _c === void 0 ? void 0 : _c.urlManager,
264
+ eventManager: (_d = controller.services) === null || _d === void 0 ? void 0 : _d.eventManager,
265
+ profiler: (_e = controller.services) === null || _e === void 0 ? void 0 : _e.profiler,
266
+ logger: (_f = controller.services) === null || _f === void 0 ? void 0 : _f.logger,
267
+ tracker: ((_g = controller.services) === null || _g === void 0 ? void 0 : _g.tracker) || _this.tracker,
268
+ });
245
269
  _this.controllers[cntrlr_1.config.id] = cntrlr_1;
246
270
  _this._controllerPromises[cntrlr_1.config.id] = new Promise(function (resolve) { return resolve(cntrlr_1); });
247
271
  var searched_1 = false;
@@ -267,7 +291,7 @@ var Snap = /** @class */ (function () {
267
291
  case 2:
268
292
  Component_1 = _a.sent();
269
293
  setTimeout(function () {
270
- (0, preact_1.render)((0, jsx_runtime_1.jsx)(Component_1, __assign({ controller: _this.controllers[controller.config.id] }, target.props), void 0), elem);
294
+ (0, preact_1.render)((0, jsx_runtime_1.jsx)(Component_1, __assign({ controller: _this.controllers[controller.config.id] }, target.props)), elem);
271
295
  });
272
296
  return [3 /*break*/, 4];
273
297
  case 3:
@@ -278,7 +302,7 @@ var Snap = /** @class */ (function () {
278
302
  }
279
303
  });
280
304
  }); };
281
- (_c = controller === null || controller === void 0 ? void 0 : controller.targeters) === null || _c === void 0 ? void 0 : _c.forEach(function (target, target_index) { return __awaiter(_this, void 0, void 0, function () {
305
+ (_h = controller === null || controller === void 0 ? void 0 : controller.targeters) === null || _h === void 0 ? void 0 : _h.forEach(function (target, target_index) { return __awaiter(_this, void 0, void 0, function () {
282
306
  var _this = this;
283
307
  return __generator(this, function (_a) {
284
308
  if (!target.selector) {
@@ -300,7 +324,7 @@ var Snap = /** @class */ (function () {
300
324
  case 1:
301
325
  Skeleton_1 = _a.sent();
302
326
  setTimeout(function () {
303
- (0, preact_1.render)((0, jsx_runtime_1.jsx)(Skeleton_1, {}, void 0), elem);
327
+ (0, preact_1.render)((0, jsx_runtime_1.jsx)(Skeleton_1, {}), elem);
304
328
  });
305
329
  _a.label = 2;
306
330
  case 2:
@@ -345,7 +369,7 @@ var Snap = /** @class */ (function () {
345
369
  case 1:
346
370
  Component = (_a.sent());
347
371
  setTimeout(function () {
348
- (0, preact_1.render)((0, jsx_runtime_1.jsx)(Component, __assign({ controller: _this.controllers[controller.config.id], input: originalElem }, target.props), void 0), elem);
372
+ (0, preact_1.render)((0, jsx_runtime_1.jsx)(Component, __assign({ controller: _this.controllers[controller.config.id], input: originalElem }, target.props)), elem);
349
373
  });
350
374
  return [2 /*return*/];
351
375
  }
@@ -425,7 +449,7 @@ var Snap = /** @class */ (function () {
425
449
  case 1:
426
450
  Component = _a.sent();
427
451
  setTimeout(function () {
428
- (0, preact_1.render)((0, jsx_runtime_1.jsx)(Component, __assign({ controller: _this.controllers[controller.config.id] }, target.props), void 0), elem);
452
+ (0, preact_1.render)((0, jsx_runtime_1.jsx)(Component, __assign({ controller: _this.controllers[controller.config.id] }, target.props)), elem);
429
453
  });
430
454
  return [2 /*return*/];
431
455
  }
@@ -493,7 +517,7 @@ var Snap = /** @class */ (function () {
493
517
  case 1:
494
518
  Component = _a.sent();
495
519
  setTimeout(function () {
496
- (0, preact_1.render)((0, jsx_runtime_1.jsx)(Component, __assign({ controller: _this.controllers[controller.config.id] }, target.props), void 0), elem);
520
+ (0, preact_1.render)((0, jsx_runtime_1.jsx)(Component, __assign({ controller: _this.controllers[controller.config.id] }, target.props)), elem);
497
521
  });
498
522
  return [2 /*return*/];
499
523
  }
@@ -217,7 +217,7 @@ var BranchOverride = function (props) {
217
217
  popup.style.right = '-1px';
218
218
  popup.style.height = '120px';
219
219
  popup.style.cursor = 'auto';
220
- } }, { children: [(0, jsx_runtime_1.jsxs)("div", __assign({ style: "padding: 10px; position: relative; background: ".concat(themes[themeName].top.background, "; border-bottom: ").concat(themes[themeName].top.border, "; margin-bottom: 10px;") }, { children: [(0, jsx_runtime_1.jsx)("img", { src: themes[themeName].top.logo.src, style: "display: inline-block; height: 30px; vertical-align: middle;" }, void 0), (0, jsx_runtime_1.jsx)("div", __assign({ style: "display: inline-block; float: right; padding: 5px; cursor: pointer;", onClick: function (e) {
220
+ } }, { children: [(0, jsx_runtime_1.jsxs)("div", __assign({ style: "padding: 10px; position: relative; background: ".concat(themes[themeName].top.background, "; border-bottom: ").concat(themes[themeName].top.border, "; margin-bottom: 10px;") }, { children: [(0, jsx_runtime_1.jsx)("img", { src: themes[themeName].top.logo.src, style: "display: inline-block; height: 30px; vertical-align: middle;" }), (0, jsx_runtime_1.jsx)("div", __assign({ style: "display: inline-block; float: right; padding: 5px; cursor: pointer;", onClick: function (e) {
221
221
  e.preventDefault();
222
222
  e.stopPropagation();
223
223
  var popup = document.querySelector('.ss__branch-override');
@@ -225,13 +225,13 @@ var BranchOverride = function (props) {
225
225
  popup.style.right = '-316px';
226
226
  popup.style.height = '50px';
227
227
  popup.style.cursor = 'pointer';
228
- } }, { children: (0, jsx_runtime_1.jsx)("svg", __assign({ viewBox: "0 0 56 56", xmlns: "http://www.w3.org/2000/svg", width: "18px", height: "18px" }, { children: (0, jsx_runtime_1.jsx)("path", { fill: themes[themeName].top.close.fill, d: icons['close-thin'] }, void 0) }), void 0) }), void 0), (0, jsx_runtime_1.jsx)("div", __assign({ style: "border-radius: 5px; padding: 6px; height: 100%; line-height: 14px; text-align: center; cursor: pointer; font-size: 10px; border: ".concat(themes[themeName].top.button.border, "; float: right; margin-right: 14px;"), onClick: function (e) {
228
+ } }, { children: (0, jsx_runtime_1.jsx)("svg", __assign({ viewBox: "0 0 56 56", xmlns: "http://www.w3.org/2000/svg", width: "18px", height: "18px" }, { children: (0, jsx_runtime_1.jsx)("path", { fill: themes[themeName].top.close.fill, d: icons['close-thin'] }) })) })), (0, jsx_runtime_1.jsx)("div", __assign({ style: "border-radius: 5px; padding: 6px; height: 100%; line-height: 14px; text-align: center; cursor: pointer; font-size: 10px; border: ".concat(themes[themeName].top.button.border, "; float: right; margin-right: 14px;"), onClick: function (e) {
229
229
  e.preventDefault();
230
230
  e.stopPropagation();
231
231
  snap_toolbox_1.cookies.unset(props.cookieName);
232
232
  var urlState = (0, snap_toolbox_1.url)(window.location.href);
233
233
  delete urlState.params.query['branch'];
234
234
  window.location.href = urlState.url();
235
- } }, { children: themes[themeName].top.button.content }), void 0)] }), void 0), (0, jsx_runtime_1.jsxs)("div", __assign({ style: "padding: 0px 15px; font-size: 12px;" }, { children: [(0, jsx_runtime_1.jsx)("span", __assign({ style: "font-weight: bold; font-style: ".concat(themes[themeName].details.branch.style, "; color: ").concat(themes[themeName].details.branch.color, "; font-size: 14px; line-height: 20px; display: inline-block; max-width: 180px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;") }, { children: details == 'failure' ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("svg", __assign({ style: "margin-right: 10px;", viewBox: "0 0 56 56", xmlns: "http://www.w3.org/2000/svg", width: "18px", height: "18px" }, { children: (0, jsx_runtime_1.jsx)("path", { fill: themes[themeName].details.branch.color, d: icons['warn'] }, void 0) }), void 0), "Branch not found!"] }, void 0)) : (props.branch) }), void 0), (0, jsx_runtime_1.jsx)("span", __assign({ style: "float: right; font-style: italic; color: ".concat(themes[themeName].details.additional.color, "; font-size: 12px; line-height: 20px;") }, { children: (details === null || details === void 0 ? void 0 : details.lastModified) || props.branch }), void 0), (0, jsx_runtime_1.jsx)("br", {}, void 0), themes[themeName].details.content] }), void 0)] }), void 0)));
235
+ } }, { children: themes[themeName].top.button.content }))] })), (0, jsx_runtime_1.jsxs)("div", __assign({ style: "padding: 0px 15px; font-size: 12px;" }, { children: [(0, jsx_runtime_1.jsx)("span", __assign({ style: "font-weight: bold; font-style: ".concat(themes[themeName].details.branch.style, "; color: ").concat(themes[themeName].details.branch.color, "; font-size: 14px; line-height: 20px; display: inline-block; max-width: 180px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;") }, { children: details == 'failure' ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("svg", __assign({ style: "margin-right: 10px;", viewBox: "0 0 56 56", xmlns: "http://www.w3.org/2000/svg", width: "18px", height: "18px" }, { children: (0, jsx_runtime_1.jsx)("path", { fill: themes[themeName].details.branch.color, d: icons['warn'] }) })), "Branch not found!"] })) : (props.branch) })), (0, jsx_runtime_1.jsx)("span", __assign({ style: "float: right; font-style: italic; color: ".concat(themes[themeName].details.additional.color, "; font-size: 12px; line-height: 20px;") }, { children: (details === null || details === void 0 ? void 0 : details.lastModified) || props.branch })), (0, jsx_runtime_1.jsx)("br", {}), themes[themeName].details.content] }))] }))));
236
236
  };
237
237
  exports.BranchOverride = BranchOverride;
@@ -11,7 +11,7 @@ var snap_logger_1 = require("@searchspring/snap-logger");
11
11
  var snap_tracker_1 = require("@searchspring/snap-tracker");
12
12
  (0, mobx_1.configure)({ useProxies: 'never' });
13
13
  exports.default = (function (config, services) {
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).detach();
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)).detach();
15
15
  var cntrlr = new snap_controller_1.AutocompleteController(config.controller, {
16
16
  client: (services === null || services === void 0 ? void 0 : services.client) || new snap_client_1.Client(config.client.globals, config.client.config),
17
17
  store: (services === null || services === void 0 ? void 0 : services.store) || new snap_store_mobx_1.AutocompleteStore(config.controller, { urlManager: urlManager }),
@@ -11,7 +11,7 @@ var snap_logger_1 = require("@searchspring/snap-logger");
11
11
  var snap_tracker_1 = require("@searchspring/snap-tracker");
12
12
  (0, mobx_1.configure)({ useProxies: 'never' });
13
13
  exports.default = (function (config, services) {
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).detach(true);
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)).detach(true);
15
15
  var cntrlr = new snap_controller_1.FinderController(config.controller, {
16
16
  client: (services === null || services === void 0 ? void 0 : services.client) || new snap_client_1.Client(config.client.globals, config.client.config),
17
17
  store: (services === null || services === void 0 ? void 0 : services.store) || new snap_store_mobx_1.FinderStore(config.controller, { urlManager: urlManager }),
@@ -11,7 +11,7 @@ var snap_logger_1 = require("@searchspring/snap-logger");
11
11
  var snap_tracker_1 = require("@searchspring/snap-tracker");
12
12
  (0, mobx_1.configure)({ useProxies: 'never' });
13
13
  exports.default = (function (config, services) {
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).detach(true);
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)).detach(true);
15
15
  var cntrlr = new snap_controller_1.RecommendationController(config.controller, {
16
16
  client: (services === null || services === void 0 ? void 0 : services.client) || new snap_client_1.Client(config.client.globals, config.client.config),
17
17
  store: (services === null || services === void 0 ? void 0 : services.store) || new snap_store_mobx_1.RecommendationStore(config.controller, { urlManager: urlManager }),
package/dist/cjs/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -126,7 +126,7 @@ export class RecommendationInstantiator {
126
126
  return;
127
127
  }
128
128
  setTimeout(() => {
129
- render(_jsx(RecommendationsComponent, { controller: recs }, void 0), injectedElem);
129
+ render(_jsx(RecommendationsComponent, { controller: recs }), injectedElem);
130
130
  });
131
131
  });
132
132
  }
@@ -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":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,MAAM,EAAW,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAIrD,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,KAAK,EACX,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,wBAAwB,EACxB,sBAAsB,EACtB,4BAA4B,EAC5B,sBAAsB,EACtB,8BAA8B,EAC9B,iBAAiB,EACjB,gBAAgB,EAChB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAG1E,OAAO,EAAE,0BAA0B,EAAE,gCAAgC,EAAE,MAAM,4CAA4C,CAAC;AAC1H,OAAO,KAAK,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAKrE,aAAK,cAAc,GAAG,MAAM,GAAG;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC;IACzD,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,oBAAY,UAAU,GAAG;IACxB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,GAAG,CAAC,EAAE,mBAAmB,CAAC;IAC1B,MAAM,EAAE;QACP,OAAO,EAAE,aAAa,CAAC;QACvB,MAAM,CAAC,EAAE,YAAY,CAAC;KACtB,CAAC;IACF,aAAa,CAAC,EAAE;QACf,cAAc,CAAC,EAAE,gCAAgC,CAAC;KAClD,CAAC;IACF,WAAW,CAAC,EAAE;QACb,MAAM,CAAC,EAAE;YACR,MAAM,EAAE,sBAAsB,CAAC;YAC/B,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;YAC7B,QAAQ,CAAC,EAAE,sBAAsB,CAAC;YAClC,GAAG,CAAC,EAAE,mBAAmB,CAAC;YAC1B,OAAO,CAAC,EAAE,gBAAgB,CAAC;SAC3B,EAAE,CAAC;QACJ,YAAY,CAAC,EAAE;YACd,MAAM,EAAE,4BAA4B,CAAC;YACrC,SAAS,EAAE,cAAc,EAAE,CAAC;YAC5B,QAAQ,CAAC,EAAE,sBAAsB,CAAC;YAClC,GAAG,CAAC,EAAE,mBAAmB,CAAC;YAC1B,OAAO,CAAC,EAAE,gBAAgB,CAAC;SAC3B,EAAE,CAAC;QACJ,MAAM,CAAC,EAAE;YACR,MAAM,EAAE,sBAAsB,CAAC;YAC/B,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;YAC7B,QAAQ,CAAC,EAAE,sBAAsB,CAAC;YAClC,GAAG,CAAC,EAAE,mBAAmB,CAAC;YAC1B,OAAO,CAAC,EAAE,gBAAgB,CAAC;SAC3B,EAAE,CAAC;QACJ,cAAc,CAAC,EAAE;YAChB,MAAM,EAAE,8BAA8B,CAAC;YACvC,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;YAC7B,QAAQ,CAAC,EAAE,sBAAsB,CAAC;YAClC,GAAG,CAAC,EAAE,mBAAmB,CAAC;YAC1B,OAAO,CAAC,EAAE,gBAAgB,CAAC;SAC3B,EAAE,CAAC;KACJ,CAAC;CACF,CAAC;AAEF,aAAK,eAAe,GAAG,gBAAgB,GAAG,sBAAsB,GAAG,gBAAgB,GAAG,wBAAwB,CAAC;AAC/G,aAAK,kBAAkB;IACtB,MAAM,qBAAqB;IAC3B,YAAY,2BAA2B;IACvC,MAAM,qBAAqB;IAC3B,cAAc,6BAA6B;CAC3C;AAED,qBAAa,IAAI;IAChB,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,mBAAmB,EAAE;QACpB,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;KACvD,CAAC;IAEF,WAAW,EAAE;QACZ,CAAC,kBAAkB,EAAE,MAAM,GAAG,eAAe,CAAC;KAC9C,CAAC;IAEF,qBAAqB,EAAE;QACtB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;KAC9D,CAAC;IAEK,eAAe,OAAQ,MAAM,KAAG,QAAQ,0BAA0B,CAAC,CAExE;IAEK,aAAa,OAAQ,MAAM,KAAG,QAAQ,eAAe,CAAC,CAE3D;IAEK,cAAc,qBAAsB,MAAM,EAAE,KAAG,QAAQ,eAAe,EAAE,CAAC,CAI9E;IAEK,gBAAgB,SAChB,kBAAkB,UAChB,iBAAiB,YACf,sBAAsB,aACrB,mBAAmB,oBACZ,eAAe,GAAG,YAAY,eAAe,CAAC,KAAK,IAAI,YAC/D,gBAAgB,KACxB,QAAQ,eAAe,CAAC,CAwCzB;gBAEU,MAAM,EAAE,UAAU;CAqc9B"}
package/dist/esm/Snap.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx } from "preact/jsx-runtime";
2
2
  import deepmerge from 'deepmerge';
3
+ import { isPlainObject } from 'is-plain-object';
3
4
  import { render } from 'preact';
4
5
  import { Client } from '@searchspring/snap-client';
5
6
  import { Logger, LogMode } from '@searchspring/snap-logger';
@@ -51,7 +52,15 @@ export class Snap {
51
52
  url: deepmerge(this.config.url || {}, urlConfig || {}),
52
53
  controller: config,
53
54
  context: deepmerge(this.context || {}, context || {}),
54
- }, { client: services?.client || this.client, tracker: services?.tracker || this.tracker });
55
+ }, {
56
+ client: services?.client || this.client,
57
+ store: services?.store,
58
+ urlManager: services?.urlManager,
59
+ eventManager: services?.eventManager,
60
+ profiler: services?.profiler,
61
+ logger: services?.logger,
62
+ tracker: services?.tracker || this.tracker,
63
+ });
55
64
  resolve(this.controllers[config.id]);
56
65
  }
57
66
  return this.controllers[config.id];
@@ -67,7 +76,10 @@ export class Snap {
67
76
  catch (err) {
68
77
  this.logger.error('failed to find global context');
69
78
  }
70
- this.config = deepmerge(this.config || {}, globalContext.config || {});
79
+ // merge configs - but only merge plain objects
80
+ this.config = deepmerge(this.config || {}, globalContext.config || {}, {
81
+ isMergeableObject: isPlainObject,
82
+ });
71
83
  this.context = deepmerge(globalContext || {}, this.config.context || {});
72
84
  if (!this.config?.client?.globals?.siteId) {
73
85
  throw new Error(`Snap: config provided must contain a valid config.client.globals.siteId value`);
@@ -119,7 +131,7 @@ export class Snap {
119
131
  },
120
132
  ], async (target, elem) => {
121
133
  const BranchOverride = (await import('./components/BranchOverride')).BranchOverride;
122
- render(_jsx(BranchOverride, { branch: branchParam, cookieName: BRANCH_COOKIE, bundleUrl: src }, void 0), elem);
134
+ render(_jsx(BranchOverride, { branch: branchParam, cookieName: BRANCH_COOKIE, bundleUrl: src }), elem);
123
135
  });
124
136
  // prevent further instantiation of config
125
137
  return;
@@ -154,7 +166,15 @@ export class Snap {
154
166
  url: deepmerge(this.config.url || {}, controller.url || {}),
155
167
  controller: controller.config,
156
168
  context: deepmerge(this.context || {}, controller.context || {}),
157
- }, { client: controller.services?.client || this.client, tracker: controller.services?.tracker || this.tracker });
169
+ }, {
170
+ client: controller.services?.client || this.client,
171
+ store: controller.services?.store,
172
+ urlManager: controller.services?.urlManager,
173
+ eventManager: controller.services?.eventManager,
174
+ profiler: controller.services?.profiler,
175
+ logger: controller.services?.logger,
176
+ tracker: controller.services?.tracker || this.tracker,
177
+ });
158
178
  this.controllers[cntrlr.config.id] = cntrlr;
159
179
  this._controllerPromises[cntrlr.config.id] = new Promise((resolve) => resolve(cntrlr));
160
180
  let searched = false;
@@ -171,7 +191,7 @@ export class Snap {
171
191
  try {
172
192
  const Component = await target.component();
173
193
  setTimeout(() => {
174
- render(_jsx(Component, { controller: this.controllers[controller.config.id], ...target.props }, void 0), elem);
194
+ render(_jsx(Component, { controller: this.controllers[controller.config.id], ...target.props }), elem);
175
195
  });
176
196
  }
177
197
  catch (err) {
@@ -226,7 +246,7 @@ The error above happened in the following targeter in the Snap Config`, target);
226
246
  if (target.skeleton) {
227
247
  const Skeleton = await target.skeleton();
228
248
  setTimeout(() => {
229
- render(_jsx(Skeleton, {}, void 0), elem);
249
+ render(_jsx(Skeleton, {}), elem);
230
250
  });
231
251
  }
232
252
  targetFunction(target, elem, originalElem);
@@ -257,7 +277,7 @@ The error above happened in the following targeter in the Snap Config`, target);
257
277
  onTarget && onTarget(target, elem, originalElem);
258
278
  const Component = (await target.component());
259
279
  setTimeout(() => {
260
- render(_jsx(Component, { controller: this.controllers[controller.config.id], input: originalElem, ...target.props }, void 0), elem);
280
+ render(_jsx(Component, { controller: this.controllers[controller.config.id], input: originalElem, ...target.props }), elem);
261
281
  });
262
282
  };
263
283
  if (!controller?.targeters || controller?.targeters.length === 0) {
@@ -316,7 +336,7 @@ The error above happened in the following targeter in the Snap Config`, target);
316
336
  onTarget && onTarget(target, elem, originalElem);
317
337
  const Component = await target.component();
318
338
  setTimeout(() => {
319
- render(_jsx(Component, { controller: this.controllers[controller.config.id], ...target.props }, void 0), elem);
339
+ render(_jsx(Component, { controller: this.controllers[controller.config.id], ...target.props }), elem);
320
340
  });
321
341
  };
322
342
  if (!controller?.targeters || controller?.targeters.length === 0) {
@@ -360,7 +380,7 @@ The error above happened in the following targeter in the Snap Config`, target);
360
380
  onTarget && onTarget(target, elem, originalElem);
361
381
  const Component = await target.component();
362
382
  setTimeout(() => {
363
- render(_jsx(Component, { controller: this.controllers[controller.config.id], ...target.props }, void 0), elem);
383
+ render(_jsx(Component, { controller: this.controllers[controller.config.id], ...target.props }), elem);
364
384
  });
365
385
  };
366
386
  if (!controller?.targeters || controller?.targeters.length === 0) {
@@ -153,7 +153,7 @@ export const BranchOverride = (props) => {
153
153
  popup.style.right = '-1px';
154
154
  popup.style.height = '120px';
155
155
  popup.style.cursor = 'auto';
156
- }, children: [_jsxs("div", { style: `padding: 10px; position: relative; background: ${themes[themeName].top.background}; border-bottom: ${themes[themeName].top.border}; margin-bottom: 10px;`, children: [_jsx("img", { src: themes[themeName].top.logo.src, style: `display: inline-block; height: 30px; vertical-align: middle;` }, void 0), _jsx("div", { style: "display: inline-block; float: right; padding: 5px; cursor: pointer;", onClick: (e) => {
156
+ }, children: [_jsxs("div", { style: `padding: 10px; position: relative; background: ${themes[themeName].top.background}; border-bottom: ${themes[themeName].top.border}; margin-bottom: 10px;`, children: [_jsx("img", { src: themes[themeName].top.logo.src, style: `display: inline-block; height: 30px; vertical-align: middle;` }), _jsx("div", { style: "display: inline-block; float: right; padding: 5px; cursor: pointer;", onClick: (e) => {
157
157
  e.preventDefault();
158
158
  e.stopPropagation();
159
159
  const popup = document.querySelector('.ss__branch-override');
@@ -161,12 +161,12 @@ export const BranchOverride = (props) => {
161
161
  popup.style.right = '-316px';
162
162
  popup.style.height = '50px';
163
163
  popup.style.cursor = 'pointer';
164
- }, children: _jsx("svg", { viewBox: "0 0 56 56", xmlns: "http://www.w3.org/2000/svg", width: "18px", height: "18px", children: _jsx("path", { fill: themes[themeName].top.close.fill, d: icons['close-thin'] }, void 0) }, void 0) }, void 0), _jsx("div", { style: `border-radius: 5px; padding: 6px; height: 100%; line-height: 14px; text-align: center; cursor: pointer; font-size: 10px; border: ${themes[themeName].top.button.border}; float: right; margin-right: 14px;`, onClick: (e) => {
164
+ }, children: _jsx("svg", { viewBox: "0 0 56 56", xmlns: "http://www.w3.org/2000/svg", width: "18px", height: "18px", children: _jsx("path", { fill: themes[themeName].top.close.fill, d: icons['close-thin'] }) }) }), _jsx("div", { style: `border-radius: 5px; padding: 6px; height: 100%; line-height: 14px; text-align: center; cursor: pointer; font-size: 10px; border: ${themes[themeName].top.button.border}; float: right; margin-right: 14px;`, onClick: (e) => {
165
165
  e.preventDefault();
166
166
  e.stopPropagation();
167
167
  cookies.unset(props.cookieName);
168
168
  const urlState = url(window.location.href);
169
169
  delete urlState.params.query['branch'];
170
170
  window.location.href = urlState.url();
171
- }, children: themes[themeName].top.button.content }, void 0)] }, void 0), _jsxs("div", { style: "padding: 0px 15px; font-size: 12px;", children: [_jsx("span", { style: `font-weight: bold; font-style: ${themes[themeName].details.branch.style}; color: ${themes[themeName].details.branch.color}; font-size: 14px; line-height: 20px; display: inline-block; max-width: 180px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;`, children: details == 'failure' ? (_jsxs(_Fragment, { children: [_jsx("svg", { style: "margin-right: 10px;", viewBox: "0 0 56 56", xmlns: "http://www.w3.org/2000/svg", width: "18px", height: "18px", children: _jsx("path", { fill: themes[themeName].details.branch.color, d: icons['warn'] }, void 0) }, void 0), "Branch not found!"] }, void 0)) : (props.branch) }, void 0), _jsx("span", { style: `float: right; font-style: italic; color: ${themes[themeName].details.additional.color}; font-size: 12px; line-height: 20px;`, children: details?.lastModified || props.branch }, void 0), _jsx("br", {}, void 0), themes[themeName].details.content] }, void 0)] }, void 0)));
171
+ }, children: themes[themeName].top.button.content })] }), _jsxs("div", { style: "padding: 0px 15px; font-size: 12px;", children: [_jsx("span", { style: `font-weight: bold; font-style: ${themes[themeName].details.branch.style}; color: ${themes[themeName].details.branch.color}; font-size: 14px; line-height: 20px; display: inline-block; max-width: 180px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;`, children: details == 'failure' ? (_jsxs(_Fragment, { children: [_jsx("svg", { style: "margin-right: 10px;", viewBox: "0 0 56 56", xmlns: "http://www.w3.org/2000/svg", width: "18px", height: "18px", children: _jsx("path", { fill: themes[themeName].details.branch.color, d: icons['warn'] }) }), "Branch not found!"] })) : (props.branch) }), _jsx("span", { style: `float: right; font-style: italic; color: ${themes[themeName].details.additional.color}; font-size: 12px; line-height: 20px;`, children: details?.lastModified || props.branch }), _jsx("br", {}), themes[themeName].details.content] })] })));
172
172
  };
@@ -9,7 +9,7 @@ import { Logger } from '@searchspring/snap-logger';
9
9
  import { Tracker } from '@searchspring/snap-tracker';
10
10
  configureMobx({ useProxies: 'never' });
11
11
  export default (config, services) => {
12
- const urlManager = services?.urlManager || new UrlManager(new UrlTranslator(config.url), reactLinker).detach();
12
+ const urlManager = (services?.urlManager || new UrlManager(new UrlTranslator(config.url), reactLinker)).detach();
13
13
  const cntrlr = new AutocompleteController(config.controller, {
14
14
  client: services?.client || new Client(config.client.globals, config.client.config),
15
15
  store: services?.store || new AutocompleteStore(config.controller, { urlManager }),
@@ -9,7 +9,7 @@ import { Logger } from '@searchspring/snap-logger';
9
9
  import { Tracker } from '@searchspring/snap-tracker';
10
10
  configureMobx({ useProxies: 'never' });
11
11
  export default (config, services) => {
12
- const urlManager = services?.urlManager || new UrlManager(new UrlTranslator(config.url), reactLinker).detach(true);
12
+ const urlManager = (services?.urlManager || new UrlManager(new UrlTranslator(config.url), reactLinker)).detach(true);
13
13
  const cntrlr = new FinderController(config.controller, {
14
14
  client: services?.client || new Client(config.client.globals, config.client.config),
15
15
  store: services?.store || new FinderStore(config.controller, { urlManager }),
@@ -9,7 +9,7 @@ import { Logger } from '@searchspring/snap-logger';
9
9
  import { Tracker } from '@searchspring/snap-tracker';
10
10
  configureMobx({ useProxies: 'never' });
11
11
  export default (config, services) => {
12
- const urlManager = services?.urlManager || new UrlManager(new UrlTranslator(config.url), reactLinker).detach(true);
12
+ const urlManager = (services?.urlManager || new UrlManager(new UrlTranslator(config.url), reactLinker)).detach(true);
13
13
  const cntrlr = new RecommendationController(config.controller, {
14
14
  client: services?.client || new Client(config.client.globals, config.client.config),
15
15
  store: services?.store || new RecommendationStore(config.controller, { urlManager }),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@searchspring/snap-preact",
3
- "version": "0.21.1",
3
+ "version": "0.23.1",
4
4
  "description": "Snap Preact",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -20,17 +20,18 @@
20
20
  "test:watch": "jest --watch"
21
21
  },
22
22
  "dependencies": {
23
- "@searchspring/snap-client": "^0.21.1",
24
- "@searchspring/snap-controller": "^0.21.1",
25
- "@searchspring/snap-event-manager": "^0.21.1",
26
- "@searchspring/snap-logger": "^0.21.1",
27
- "@searchspring/snap-profiler": "^0.21.1",
28
- "@searchspring/snap-store-mobx": "^0.21.1",
29
- "@searchspring/snap-toolbox": "^0.21.1",
30
- "@searchspring/snap-tracker": "^0.21.1",
31
- "@searchspring/snap-url-manager": "^0.21.1",
23
+ "@searchspring/snap-client": "^0.23.1",
24
+ "@searchspring/snap-controller": "^0.23.1",
25
+ "@searchspring/snap-event-manager": "^0.23.1",
26
+ "@searchspring/snap-logger": "^0.23.1",
27
+ "@searchspring/snap-profiler": "^0.23.1",
28
+ "@searchspring/snap-store-mobx": "^0.23.1",
29
+ "@searchspring/snap-toolbox": "^0.23.1",
30
+ "@searchspring/snap-tracker": "^0.23.1",
31
+ "@searchspring/snap-url-manager": "^0.23.1",
32
32
  "deepmerge": "^4.2.2",
33
- "intersection-observer": "^0.12.0"
33
+ "intersection-observer": "^0.12.0",
34
+ "is-plain-object": "^5.0.0"
34
35
  },
35
36
  "devDependencies": {
36
37
  "@types/react": "^17.0.20"
@@ -39,5 +40,5 @@
39
40
  "files": [
40
41
  "dist/**/*"
41
42
  ],
42
- "gitHead": "e54d2d21a811b65b0e766d2dc0fd5b0f6da6053e"
43
+ "gitHead": "56fee54f115b415326331ac2aa1100c73ced6523"
43
44
  }