@miso.ai/client-sdk-ui 1.10.0-beta.1 → 1.10.0-beta.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.
@@ -324,10 +324,10 @@ class SearchBoxLayout extends _template.default {
324
324
  }
325
325
  // TODO: select completion items with arrow keys
326
326
  }
327
- _handleClick(_ref9) {
328
- let {
327
+ _handleClick(event) {
328
+ const {
329
329
  target
330
- } = _ref9;
330
+ } = event;
331
331
  const {
332
332
  inputElement
333
333
  } = this._context();
@@ -347,12 +347,24 @@ class SearchBoxLayout extends _template.default {
347
347
  if (inputElement) {
348
348
  inputElement.value = value;
349
349
  }
350
- this._submit(value);
350
+ this._view._events.emit('select', Object.freeze({
351
+ value: item,
352
+ index,
353
+ domEvent: event
354
+ }));
355
+ if (!event.defaultPrevented) {
356
+ this._submit(value);
357
+ }
351
358
  }
352
359
  this.close();
353
360
  return;
354
361
  }
355
362
  if (element.matches('[data-role="product-item"]')) {
363
+ this._view._events.emit('select', Object.freeze({
364
+ value: item,
365
+ index,
366
+ domEvent: event
367
+ }));
356
368
  return;
357
369
  }
358
370
  }
@@ -4,4 +4,4 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _default = exports.default = '1.10.0-beta.1';
7
+ var _default = exports.default = '1.10.0-beta.2';
@@ -35,10 +35,15 @@ function normalizeApiOptions() {
35
35
  payload = name;
36
36
  name = undefined;
37
37
  }
38
+ let group = undefined;
39
+ if (name && name.indexOf('/') !== -1) {
40
+ [group, name] = name.split('/');
41
+ }
38
42
  if (name && typeof name !== 'string' || payload !== undefined && typeof payload !== 'object') {
39
43
  throw new Error(`Invalid arguments for useApi(): ${name}, ${payload}`);
40
44
  }
41
45
  return (0, _commons.trimObj)({
46
+ group,
42
47
  name,
43
48
  payload
44
49
  });
package/package.json CHANGED
@@ -26,7 +26,7 @@
26
26
  "url": "https://github.com/MisoAI/miso-client-js-sdk/issues"
27
27
  },
28
28
  "dependencies": {
29
- "@miso.ai/commons": "1.10.0-beta.1"
29
+ "@miso.ai/commons": "1.10.0-beta.2"
30
30
  },
31
- "version": "1.10.0-beta.1"
31
+ "version": "1.10.0-beta.2"
32
32
  }
@@ -285,7 +285,8 @@ export default class SearchBoxLayout extends TemplateBasedLayout {
285
285
  // TODO: select completion items with arrow keys
286
286
  }
287
287
 
288
- _handleClick({ target }) {
288
+ _handleClick(event) {
289
+ const { target } = event;
289
290
  const { inputElement } = this._context();
290
291
  for (let element = target; element && element !== this._element; element = element.parentElement) {
291
292
  if (element.matches('[data-role="submit"]') || element.matches('[data-role="button"]') || element.matches('[type="submit"]')) {
@@ -303,12 +304,16 @@ export default class SearchBoxLayout extends TemplateBasedLayout {
303
304
  if (inputElement) {
304
305
  inputElement.value = value;
305
306
  }
306
- this._submit(value);
307
+ this._view._events.emit('select', Object.freeze({ value: item, index, domEvent: event }));
308
+ if (!event.defaultPrevented) {
309
+ this._submit(value);
310
+ }
307
311
  }
308
312
  this.close();
309
313
  return;
310
314
  }
311
315
  if (element.matches('[data-role="product-item"]')) {
316
+ this._view._events.emit('select', Object.freeze({ value: item, index, domEvent: event }));
312
317
  return;
313
318
  }
314
319
  }
package/src/version.js CHANGED
@@ -1 +1 @@
1
- export default '1.10.0-beta.1';
1
+ export default '1.10.0-beta.2';
@@ -11,10 +11,14 @@ export function normalizeApiOptions([name, payload] = []) {
11
11
  payload = name;
12
12
  name = undefined;
13
13
  }
14
+ let group = undefined;
15
+ if (name && name.indexOf('/') !== -1) {
16
+ [group, name] = name.split('/');
17
+ }
14
18
  if ((name && typeof name !== 'string') || (payload !== undefined && typeof payload !== 'object')) {
15
19
  throw new Error(`Invalid arguments for useApi(): ${name}, ${payload}`);
16
20
  }
17
- return trimObj({ name, payload });
21
+ return trimObj({ group, name, payload });
18
22
  }
19
23
 
20
24
  export function normalizeLayoutsOptions(options = {}) {