@algolia/autocomplete-js 1.14.0 → 1.15.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.
@@ -53,6 +53,7 @@ export declare function getDefaultOptions<TItem extends BaseItem>(options: Autoc
53
53
  'aria-controls': string | undefined;
54
54
  'aria-labelledby': string;
55
55
  onChange(event: Event): void;
56
+ onCompositionEnd(event: Event): void;
56
57
  onKeyDown(event: KeyboardEvent): void;
57
58
  onFocus(event: Event): void;
58
59
  onBlur(): void;
@@ -78,6 +79,7 @@ export declare function getDefaultOptions<TItem extends BaseItem>(options: Autoc
78
79
  'aria-controls': string | undefined;
79
80
  'aria-labelledby': string;
80
81
  onChange(event: Event): void;
82
+ onCompositionEnd(event: Event): void;
81
83
  onKeyDown(event: KeyboardEvent): void;
82
84
  onFocus(event: Event): void;
83
85
  onBlur(): void;
@@ -187,6 +189,7 @@ export declare function getDefaultOptions<TItem extends BaseItem>(options: Autoc
187
189
  plugins?: import("@algolia/autocomplete-shared").AutocompletePlugin<any, any>[] | undefined;
188
190
  debug?: boolean | undefined;
189
191
  enterKeyHint?: import("@algolia/autocomplete-core").AutocompleteEnterKeyHint | undefined;
192
+ ignoreCompositionEvents?: boolean | undefined;
190
193
  placeholder?: string | undefined;
191
194
  autoFocus?: boolean | undefined;
192
195
  defaultActiveItemId?: number | null | undefined;
@@ -89,6 +89,9 @@ function getNormalizedName(name) {
89
89
  switch (name) {
90
90
  case 'onChange':
91
91
  return 'onInput';
92
+ // see: https://github.com/preactjs/preact/issues/1978
93
+ case 'onCompositionEnd':
94
+ return 'oncompositionend';
92
95
  default:
93
96
  return name;
94
97
  }
@@ -1,4 +1,4 @@
1
- /*! @algolia/autocomplete-js 1.14.0 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
1
+ /*! @algolia/autocomplete-js 1.15.1 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
2
2
  (function (global, factory) {
3
3
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
4
4
  typeof define === 'function' && define.amd ? define(['exports'], factory) :
@@ -347,7 +347,7 @@
347
347
  return undefined;
348
348
  }
349
349
 
350
- var version = '1.14.0';
350
+ var version = '1.15.1';
351
351
 
352
352
  var userAgents$1 = [{
353
353
  segment: 'autocomplete-core',
@@ -620,6 +620,15 @@
620
620
  apiKey: apiKey
621
621
  });
622
622
  },
623
+ /**
624
+ * Sets the authenticated user token to attach to events.
625
+ * Unsets the authenticated token by passing `undefined`.
626
+ *
627
+ * @link https://www.algolia.com/doc/api-reference/api-methods/set-authenticated-user-token/
628
+ */
629
+ setAuthenticatedUserToken: function setAuthenticatedUserToken(authenticatedUserToken) {
630
+ searchInsights('setAuthenticatedUserToken', authenticatedUserToken);
631
+ },
623
632
  /**
624
633
  * Sets the user token to attach to events.
625
634
  */
@@ -953,6 +962,7 @@
953
962
  var setContext = _ref4.setContext,
954
963
  onSelect = _ref4.onSelect,
955
964
  onActive = _ref4.onActive;
965
+ var isAuthenticatedToken = false;
956
966
  function setInsightsContext(userToken) {
957
967
  setContext({
958
968
  algoliaInsightsPlugin: {
@@ -967,9 +977,36 @@
967
977
  }
968
978
  insightsClient('addAlgoliaAgent', 'insights-plugin');
969
979
  setInsightsContext();
970
- insightsClient('onUserTokenChange', setInsightsContext);
980
+
981
+ // Handles user token changes
982
+ insightsClient('onUserTokenChange', function (userToken) {
983
+ if (!isAuthenticatedToken) {
984
+ setInsightsContext(userToken);
985
+ }
986
+ });
971
987
  insightsClient('getUserToken', null, function (_error, userToken) {
972
- setInsightsContext(userToken);
988
+ if (!isAuthenticatedToken) {
989
+ setInsightsContext(userToken);
990
+ }
991
+ });
992
+
993
+ // Handles authenticated user token changes
994
+ insightsClient('onAuthenticatedUserTokenChange', function (authenticatedUserToken) {
995
+ if (authenticatedUserToken) {
996
+ isAuthenticatedToken = true;
997
+ setInsightsContext(authenticatedUserToken);
998
+ } else {
999
+ isAuthenticatedToken = false;
1000
+ insightsClient('getUserToken', null, function (_error, userToken) {
1001
+ return setInsightsContext(userToken);
1002
+ });
1003
+ }
1004
+ });
1005
+ insightsClient('getAuthenticatedUserToken', null, function (_error, authenticatedUserToken) {
1006
+ if (authenticatedUserToken) {
1007
+ isAuthenticatedToken = true;
1008
+ setInsightsContext(authenticatedUserToken);
1009
+ }
973
1010
  });
974
1011
  onSelect(function (_ref5) {
975
1012
  var item = _ref5.item,
@@ -1444,6 +1481,10 @@
1444
1481
  };
1445
1482
  }
1446
1483
 
1484
+ function getNativeEvent(event) {
1485
+ return event.nativeEvent || event;
1486
+ }
1487
+
1447
1488
  function _typeof$d(obj) {
1448
1489
  "@babel/helpers - typeof";
1449
1490
 
@@ -1717,6 +1758,7 @@
1717
1758
  debug: false,
1718
1759
  openOnFocus: false,
1719
1760
  enterKeyHint: undefined,
1761
+ ignoreCompositionEvents: false,
1720
1762
  placeholder: '',
1721
1763
  autoFocus: false,
1722
1764
  defaultActiveItemId: null,
@@ -2834,6 +2876,20 @@
2834
2876
  maxLength: maxLength,
2835
2877
  type: 'search',
2836
2878
  onChange: function onChange(event) {
2879
+ var value = event.currentTarget.value;
2880
+ if (props.ignoreCompositionEvents && getNativeEvent(event).isComposing) {
2881
+ setters.setQuery(value);
2882
+ return;
2883
+ }
2884
+ onInput(_objectSpread$6({
2885
+ event: event,
2886
+ props: props,
2887
+ query: value.slice(0, maxLength),
2888
+ refresh: refresh,
2889
+ store: store
2890
+ }, setters));
2891
+ },
2892
+ onCompositionEnd: function onCompositionEnd(event) {
2837
2893
  onInput(_objectSpread$6({
2838
2894
  event: event,
2839
2895
  props: props,
@@ -2843,6 +2899,9 @@
2843
2899
  }, setters));
2844
2900
  },
2845
2901
  onKeyDown: function onKeyDown$1(event) {
2902
+ if (getNativeEvent(event).isComposing) {
2903
+ return;
2904
+ }
2846
2905
  onKeyDown(_objectSpread$6({
2847
2906
  event: event,
2848
2907
  props: props,
@@ -3601,6 +3660,9 @@
3601
3660
  switch (name) {
3602
3661
  case 'onChange':
3603
3662
  return 'onInput';
3663
+ // see: https://github.com/preactjs/preact/issues/1978
3664
+ case 'onCompositionEnd':
3665
+ return 'oncompositionend';
3604
3666
  default:
3605
3667
  return name;
3606
3668
  }