@algolia/autocomplete-js 1.8.1 → 1.8.3

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.
@@ -319,8 +319,6 @@ export function autocomplete(options) {
319
319
  } else {
320
320
  props.value.core.environment.document.body.removeChild(dom.value.detachedOverlay);
321
321
  props.value.core.environment.document.body.classList.remove('aa-Detached');
322
- autocomplete.value.setQuery('');
323
- autocomplete.value.refresh();
324
322
  }
325
323
  });
326
324
  }
@@ -109,6 +109,15 @@ export function createAutocompleteDom(_ref) {
109
109
  var panel = createDomElement('div', _objectSpread({
110
110
  class: classNames.panel
111
111
  }, panelProps));
112
+ var detachedSearchButtonQuery = createDomElement('div', {
113
+ class: classNames.detachedSearchButtonQuery,
114
+ textContent: state.query
115
+ });
116
+ var detachedSearchButtonPlaceholder = createDomElement('div', {
117
+ class: classNames.detachedSearchButtonPlaceholder,
118
+ hidden: Boolean(state.query),
119
+ textContent: placeholder
120
+ });
112
121
 
113
122
  if (process.env.NODE_ENV === 'test') {
114
123
  setProperties(panel, {
@@ -123,17 +132,13 @@ export function createAutocompleteDom(_ref) {
123
132
  environment: environment
124
133
  })]
125
134
  });
126
- var detachedSearchButtonPlaceholder = createDomElement('div', {
127
- class: classNames.detachedSearchButtonPlaceholder,
128
- textContent: placeholder
129
- });
130
135
  var detachedSearchButton = createDomElement('button', {
131
136
  type: 'button',
132
137
  class: classNames.detachedSearchButton,
133
138
  onClick: function onClick() {
134
139
  setIsModalOpen(true);
135
140
  },
136
- children: [detachedSearchButtonIcon, detachedSearchButtonPlaceholder]
141
+ children: [detachedSearchButtonIcon, detachedSearchButtonPlaceholder, detachedSearchButtonQuery]
137
142
  });
138
143
  var detachedCancelButton = createDomElement('button', {
139
144
  type: 'button',
@@ -162,6 +167,8 @@ export function createAutocompleteDom(_ref) {
162
167
  return {
163
168
  detachedContainer: detachedContainer,
164
169
  detachedOverlay: detachedOverlay,
170
+ detachedSearchButtonQuery: detachedSearchButtonQuery,
171
+ detachedSearchButtonPlaceholder: detachedSearchButtonPlaceholder,
165
172
  inputWrapper: inputWrapper,
166
173
  input: input,
167
174
  root: root,
@@ -23,6 +23,7 @@ var defaultClassNames = {
23
23
  detachedSearchButton: 'aa-DetachedSearchButton',
24
24
  detachedSearchButtonIcon: 'aa-DetachedSearchButtonIcon',
25
25
  detachedSearchButtonPlaceholder: 'aa-DetachedSearchButtonPlaceholder',
26
+ detachedSearchButtonQuery: 'aa-DetachedSearchButtonQuery',
26
27
  form: 'aa-Form',
27
28
  input: 'aa-Input',
28
29
  inputWrapper: 'aa-InputWrapper',
@@ -36,6 +36,12 @@ export function renderSearchBox(_ref) {
36
36
  setProperties(dom.clearButton, {
37
37
  hidden: !state.query
38
38
  });
39
+ setProperties(dom.detachedSearchButtonQuery, {
40
+ textContent: state.query
41
+ });
42
+ setProperties(dom.detachedSearchButtonPlaceholder, {
43
+ hidden: Boolean(state.query)
44
+ });
39
45
  }
40
46
  export function renderPanel(render, _ref2) {
41
47
  var autocomplete = _ref2.autocomplete,
@@ -98,11 +104,14 @@ export function renderPanel(render, _ref2) {
98
104
  className: classNames.list
99
105
  }, propGetters.getListProps(_objectSpread({
100
106
  state: state,
101
- props: autocomplete.getListProps({})
107
+ props: autocomplete.getListProps({
108
+ sourceIndex: sourceIndex
109
+ })
102
110
  }, autocompleteScopeApi))), items.map(function (item) {
103
111
  var itemProps = autocomplete.getItemProps({
104
112
  item: item,
105
- source: source
113
+ source: source,
114
+ sourceIndex: sourceIndex
106
115
  });
107
116
  return renderer.createElement("li", _extends({
108
117
  key: itemProps.id,
@@ -6,6 +6,7 @@ export declare type AutocompleteClassNames = {
6
6
  detachedSearchButton: string;
7
7
  detachedSearchButtonIcon: string;
8
8
  detachedSearchButtonPlaceholder: string;
9
+ detachedSearchButtonQuery: string;
9
10
  form: string;
10
11
  input: string;
11
12
  inputWrapper: string;
@@ -10,4 +10,6 @@ export declare type AutocompleteDom = {
10
10
  panel: HTMLDivElement;
11
11
  detachedContainer: HTMLDivElement;
12
12
  detachedOverlay: HTMLDivElement;
13
+ detachedSearchButtonQuery: HTMLDivElement;
14
+ detachedSearchButtonPlaceholder: HTMLDivElement;
13
15
  };
@@ -1,4 +1,4 @@
1
- /*! @algolia/autocomplete-js 1.8.1 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
1
+ /*! @algolia/autocomplete-js 1.8.3 | 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) :
@@ -353,7 +353,7 @@
353
353
 
354
354
  var noop = function noop() {};
355
355
 
356
- var version = '1.8.1';
356
+ var version = '1.8.3';
357
357
 
358
358
  var userAgents$1 = [{
359
359
  segment: 'autocomplete-core',
@@ -1906,7 +1906,9 @@
1906
1906
  _excluded2 = ["inputElement", "formElement", "panelElement"],
1907
1907
  _excluded3 = ["inputElement"],
1908
1908
  _excluded4 = ["inputElement", "maxLength"],
1909
- _excluded5 = ["item", "source"];
1909
+ _excluded5 = ["sourceIndex"],
1910
+ _excluded6 = ["sourceIndex"],
1911
+ _excluded7 = ["item", "source", "sourceIndex"];
1910
1912
 
1911
1913
  function ownKeys$6(object, enumerableOnly) {
1912
1914
  var keys = Object.keys(object);
@@ -2180,18 +2182,30 @@
2180
2182
  }, rest);
2181
2183
  };
2182
2184
 
2183
- var getLabelProps = function getLabelProps(rest) {
2185
+ var getAutocompleteId = function getAutocompleteId(instanceId, sourceId) {
2186
+ return typeof sourceId !== 'undefined' ? "".concat(instanceId, "-").concat(sourceId) : instanceId;
2187
+ };
2188
+
2189
+ var getLabelProps = function getLabelProps(providedProps) {
2190
+ var _ref3 = providedProps || {},
2191
+ sourceIndex = _ref3.sourceIndex,
2192
+ rest = _objectWithoutProperties$1(_ref3, _excluded5);
2193
+
2184
2194
  return _objectSpread$6({
2185
- htmlFor: "".concat(props.id, "-input"),
2186
- id: "".concat(props.id, "-label")
2195
+ htmlFor: "".concat(getAutocompleteId(props.id, sourceIndex), "-input"),
2196
+ id: "".concat(getAutocompleteId(props.id, sourceIndex), "-label")
2187
2197
  }, rest);
2188
2198
  };
2189
2199
 
2190
- var getListProps = function getListProps(rest) {
2200
+ var getListProps = function getListProps(providedProps) {
2201
+ var _ref4 = providedProps || {},
2202
+ sourceIndex = _ref4.sourceIndex,
2203
+ rest = _objectWithoutProperties$1(_ref4, _excluded6);
2204
+
2191
2205
  return _objectSpread$6({
2192
2206
  role: 'listbox',
2193
- 'aria-labelledby': "".concat(props.id, "-label"),
2194
- id: "".concat(props.id, "-list")
2207
+ 'aria-labelledby': "".concat(getAutocompleteId(props.id, sourceIndex), "-label"),
2208
+ id: "".concat(getAutocompleteId(props.id, sourceIndex), "-list")
2195
2209
  }, rest);
2196
2210
  };
2197
2211
 
@@ -2212,10 +2226,11 @@
2212
2226
  var getItemProps = function getItemProps(providedProps) {
2213
2227
  var item = providedProps.item,
2214
2228
  source = providedProps.source,
2215
- rest = _objectWithoutProperties$1(providedProps, _excluded5);
2229
+ sourceIndex = providedProps.sourceIndex,
2230
+ rest = _objectWithoutProperties$1(providedProps, _excluded7);
2216
2231
 
2217
2232
  return _objectSpread$6({
2218
- id: "".concat(props.id, "-item-").concat(item.__autocomplete_id),
2233
+ id: "".concat(getAutocompleteId(props.id, sourceIndex), "-item-").concat(item.__autocomplete_id),
2219
2234
  role: 'option',
2220
2235
  'aria-selected': store.getState().activeItemId === item.__autocomplete_id,
2221
2236
  onMouseMove: function onMouseMove(event) {
@@ -3070,6 +3085,15 @@
3070
3085
  var panel = createDomElement('div', _objectSpread2({
3071
3086
  class: classNames.panel
3072
3087
  }, panelProps));
3088
+ var detachedSearchButtonQuery = createDomElement('div', {
3089
+ class: classNames.detachedSearchButtonQuery,
3090
+ textContent: state.query
3091
+ });
3092
+ var detachedSearchButtonPlaceholder = createDomElement('div', {
3093
+ class: classNames.detachedSearchButtonPlaceholder,
3094
+ hidden: Boolean(state.query),
3095
+ textContent: placeholder
3096
+ });
3073
3097
 
3074
3098
  if ("development" === 'test') {
3075
3099
  setProperties(panel, {
@@ -3084,17 +3108,13 @@
3084
3108
  environment: environment
3085
3109
  })]
3086
3110
  });
3087
- var detachedSearchButtonPlaceholder = createDomElement('div', {
3088
- class: classNames.detachedSearchButtonPlaceholder,
3089
- textContent: placeholder
3090
- });
3091
3111
  var detachedSearchButton = createDomElement('button', {
3092
3112
  type: 'button',
3093
3113
  class: classNames.detachedSearchButton,
3094
3114
  onClick: function onClick() {
3095
3115
  setIsModalOpen(true);
3096
3116
  },
3097
- children: [detachedSearchButtonIcon, detachedSearchButtonPlaceholder]
3117
+ children: [detachedSearchButtonIcon, detachedSearchButtonPlaceholder, detachedSearchButtonQuery]
3098
3118
  });
3099
3119
  var detachedCancelButton = createDomElement('button', {
3100
3120
  type: 'button',
@@ -3123,6 +3143,8 @@
3123
3143
  return {
3124
3144
  detachedContainer: detachedContainer,
3125
3145
  detachedOverlay: detachedOverlay,
3146
+ detachedSearchButtonQuery: detachedSearchButtonQuery,
3147
+ detachedSearchButtonPlaceholder: detachedSearchButtonPlaceholder,
3126
3148
  inputWrapper: inputWrapper,
3127
3149
  input: input,
3128
3150
  root: root,
@@ -3768,6 +3790,7 @@
3768
3790
  detachedSearchButton: 'aa-DetachedSearchButton',
3769
3791
  detachedSearchButtonIcon: 'aa-DetachedSearchButtonIcon',
3770
3792
  detachedSearchButtonPlaceholder: 'aa-DetachedSearchButtonPlaceholder',
3793
+ detachedSearchButtonQuery: 'aa-DetachedSearchButtonQuery',
3771
3794
  form: 'aa-Form',
3772
3795
  input: 'aa-Input',
3773
3796
  inputWrapper: 'aa-InputWrapper',
@@ -3980,6 +4003,12 @@
3980
4003
  setProperties(dom.clearButton, {
3981
4004
  hidden: !state.query
3982
4005
  });
4006
+ setProperties(dom.detachedSearchButtonQuery, {
4007
+ textContent: state.query
4008
+ });
4009
+ setProperties(dom.detachedSearchButtonPlaceholder, {
4010
+ hidden: Boolean(state.query)
4011
+ });
3983
4012
  }
3984
4013
  function renderPanel(render, _ref2) {
3985
4014
  var autocomplete = _ref2.autocomplete,
@@ -4042,11 +4071,14 @@
4042
4071
  className: classNames.list
4043
4072
  }, propGetters.getListProps(_objectSpread2({
4044
4073
  state: state,
4045
- props: autocomplete.getListProps({})
4074
+ props: autocomplete.getListProps({
4075
+ sourceIndex: sourceIndex
4076
+ })
4046
4077
  }, autocompleteScopeApi))), items.map(function (item) {
4047
4078
  var itemProps = autocomplete.getItemProps({
4048
4079
  item: item,
4049
- source: source
4080
+ source: source,
4081
+ sourceIndex: sourceIndex
4050
4082
  });
4051
4083
  return renderer.createElement("li", _extends({
4052
4084
  key: itemProps.id,
@@ -4398,8 +4430,6 @@
4398
4430
  } else {
4399
4431
  props.value.core.environment.document.body.removeChild(dom.value.detachedOverlay);
4400
4432
  props.value.core.environment.document.body.classList.remove('aa-Detached');
4401
- autocomplete.value.setQuery('');
4402
- autocomplete.value.refresh();
4403
4433
  }
4404
4434
  });
4405
4435
  }