@shoper/phoenix_design_system 1.11.11-0 → 1.11.11-10

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.
Files changed (73) hide show
  1. package/build/cjs/packages/phoenix/src/components/dropdown/dropdown.js +114 -37
  2. package/build/cjs/packages/phoenix/src/components/dropdown/dropdown.js.map +1 -1
  3. package/build/cjs/packages/phoenix/src/components/dropdown/dropdown_content.js +0 -5
  4. package/build/cjs/packages/phoenix/src/components/dropdown/dropdown_content.js.map +1 -1
  5. package/build/cjs/packages/phoenix/src/components/dropdown/dropdown_toggler.js +13 -24
  6. package/build/cjs/packages/phoenix/src/components/dropdown/dropdown_toggler.js.map +1 -1
  7. package/build/cjs/packages/phoenix/src/components/form/search/search.js +79 -246
  8. package/build/cjs/packages/phoenix/src/components/form/search/search.js.map +1 -1
  9. package/build/cjs/packages/phoenix/src/components/form/search/subcomponents/buttons/search_clear.js +0 -5
  10. package/build/cjs/packages/phoenix/src/components/form/search/subcomponents/buttons/search_clear.js.map +1 -1
  11. package/build/cjs/packages/phoenix/src/components/form/search/subcomponents/history/search_history.js +9 -21
  12. package/build/cjs/packages/phoenix/src/components/form/search/subcomponents/history/search_history.js.map +1 -1
  13. package/build/cjs/packages/phoenix/src/components/form/search/subcomponents/input/search_input.js +0 -10
  14. package/build/cjs/packages/phoenix/src/components/form/search/subcomponents/input/search_input.js.map +1 -1
  15. package/build/cjs/packages/phoenix/src/components/form/search/subcomponents/message/search_message.js +1 -8
  16. package/build/cjs/packages/phoenix/src/components/form/search/subcomponents/message/search_message.js.map +1 -1
  17. package/build/cjs/packages/phoenix/src/components/form/search/subcomponents/results/search_producer_content.js +4 -9
  18. package/build/cjs/packages/phoenix/src/components/form/search/subcomponents/results/search_producer_content.js.map +1 -1
  19. package/build/cjs/packages/phoenix/src/components/form/search/subcomponents/results/search_product_content.js +4 -9
  20. package/build/cjs/packages/phoenix/src/components/form/search/subcomponents/results/search_product_content.js.map +1 -1
  21. package/build/cjs/packages/phoenix/src/components/form/search/subcomponents/results/search_results.js +4 -11
  22. package/build/cjs/packages/phoenix/src/components/form/search/subcomponents/results/search_results.js.map +1 -1
  23. package/build/cjs/packages/phoenix/src/components/form/search/subcomponents/results/search_suggestion_content.js +5 -12
  24. package/build/cjs/packages/phoenix/src/components/form/search/subcomponents/results/search_suggestion_content.js.map +1 -1
  25. package/build/cjs/packages/phoenix/src/components/form/select/select.js +2 -3
  26. package/build/cjs/packages/phoenix/src/components/form/select/select.js.map +1 -1
  27. package/build/cjs/packages/phoenix/src/controllers/keystrokes_controller/keystrokes_controller.js +13 -2
  28. package/build/cjs/packages/phoenix/src/controllers/keystrokes_controller/keystrokes_controller.js.map +1 -1
  29. package/build/cjs/packages/phoenix/src/index.js +12 -12
  30. package/build/esm/packages/phoenix/src/components/dropdown/dropdown.d.ts +13 -4
  31. package/build/esm/packages/phoenix/src/components/dropdown/dropdown.js +115 -38
  32. package/build/esm/packages/phoenix/src/components/dropdown/dropdown.js.map +1 -1
  33. package/build/esm/packages/phoenix/src/components/dropdown/dropdown_content.d.ts +0 -2
  34. package/build/esm/packages/phoenix/src/components/dropdown/dropdown_content.js +0 -5
  35. package/build/esm/packages/phoenix/src/components/dropdown/dropdown_content.js.map +1 -1
  36. package/build/esm/packages/phoenix/src/components/dropdown/dropdown_toggler.d.ts +1 -2
  37. package/build/esm/packages/phoenix/src/components/dropdown/dropdown_toggler.js +14 -25
  38. package/build/esm/packages/phoenix/src/components/dropdown/dropdown_toggler.js.map +1 -1
  39. package/build/esm/packages/phoenix/src/components/form/search/search.d.ts +5 -22
  40. package/build/esm/packages/phoenix/src/components/form/search/search.js +80 -247
  41. package/build/esm/packages/phoenix/src/components/form/search/search.js.map +1 -1
  42. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/buttons/search_clear.d.ts +1 -2
  43. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/buttons/search_clear.js +0 -5
  44. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/buttons/search_clear.js.map +1 -1
  45. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/history/search_history.d.ts +2 -2
  46. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/history/search_history.js +9 -21
  47. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/history/search_history.js.map +1 -1
  48. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/input/search_input.d.ts +0 -1
  49. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/input/search_input.js +1 -11
  50. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/input/search_input.js.map +1 -1
  51. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/message/search_message.d.ts +0 -1
  52. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/message/search_message.js +1 -8
  53. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/message/search_message.js.map +1 -1
  54. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/results/search_producer_content.d.ts +1 -2
  55. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/results/search_producer_content.js +4 -9
  56. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/results/search_producer_content.js.map +1 -1
  57. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/results/search_product_content.d.ts +1 -2
  58. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/results/search_product_content.js +4 -9
  59. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/results/search_product_content.js.map +1 -1
  60. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/results/search_results.d.ts +1 -2
  61. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/results/search_results.js +4 -11
  62. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/results/search_results.js.map +1 -1
  63. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/results/search_suggestion_content.d.ts +1 -2
  64. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/results/search_suggestion_content.js +5 -12
  65. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/results/search_suggestion_content.js.map +1 -1
  66. package/build/esm/packages/phoenix/src/components/form/select/select.js +2 -3
  67. package/build/esm/packages/phoenix/src/components/form/select/select.js.map +1 -1
  68. package/build/esm/packages/phoenix/src/controllers/keystrokes_controller/keystrokes_controller.d.ts +2 -1
  69. package/build/esm/packages/phoenix/src/controllers/keystrokes_controller/keystrokes_controller.js +13 -2
  70. package/build/esm/packages/phoenix/src/controllers/keystrokes_controller/keystrokes_controller.js.map +1 -1
  71. package/build/esm/packages/phoenix/src/controllers/keystrokes_controller/keystrokes_controller_types.d.ts +1 -0
  72. package/build/esm/packages/phoenix/src/index.js +2 -2
  73. package/package.json +2 -2
@@ -15,7 +15,6 @@ var behavior_subject = require('../../../core/classes/behavior_subject/behavior_
15
15
  var ref_js = require('lit-html/directives/ref.js');
16
16
  var context_provider_controller = require('../../../core/context/context_provider_controller.js');
17
17
  var global_constants = require('../../../global_constants.js');
18
- var v4 = require('../../../../../../external/uuid/dist/esm-browser/v4.js');
19
18
  var when = require('../../../../../../external/lit/external/lit-html/directives/when.js');
20
19
  var search_constants = require('./search_constants.js');
21
20
 
@@ -23,11 +22,8 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
23
22
  constructor() {
24
23
  super(...arguments);
25
24
  this.view = search_constants.DEFAULT_VIEW;
26
- this._id = v4['default']();
27
- this._searchContentContainerId = v4['default']();
28
25
  this._searchResultsRef = ref_js.createRef();
29
26
  this._searchHistoryRef = ref_js.createRef();
30
- this._searchMessageRef = ref_js.createRef();
31
27
  this._shouldShowHistory = false;
32
28
  this._shouldShowResults = false;
33
29
  this._shouldShowMessage = false;
@@ -37,220 +33,84 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
37
33
  this._historyContext = new behavior_subject.BehaviorSubject({
38
34
  showLoadMore: false
39
35
  });
40
- this._activeItemId = `${this._id}-1`;
36
+ this._activeItemId = -1;
41
37
  this._translations = {};
42
- this._containerRole = 'grid';
43
38
  this._bindKeys = (ev) => {
39
+ var _a;
44
40
  switch (ev.key) {
45
41
  case 'ArrowDown':
46
42
  ev.preventDefault();
47
- this._handleForwardListFocus();
43
+ this._focusOutsideActiveItemsForward();
44
+ this._scroll(search_constants.SCROLL_DIRECTIONS.down);
48
45
  break;
49
46
  case 'ArrowUp':
50
47
  ev.preventDefault();
51
- this._handleBackwardListFocus();
52
- break;
53
- case 'ArrowLeft':
54
- if (this._containerRole === 'grid') {
55
- ev.preventDefault();
56
- this._handleBackwardGridFocus();
57
- }
58
- if (this._containerRole === 'listbox')
59
- this._handleMoveToInputFieldOnArrowLeft();
60
- break;
61
- case 'ArrowRight':
62
- ev.preventDefault();
63
- if (this._containerRole === 'grid')
64
- this._handleForwardGridFocus();
65
- if (this._containerRole === 'listbox')
66
- this._handleFocusOnInputWithMarkerEnd();
48
+ this._focusOutsideActiveItemsBackward();
49
+ this._scroll(search_constants.SCROLL_DIRECTIONS.up);
67
50
  break;
68
51
  case 'Enter':
69
52
  ev.preventDefault();
70
- if (this._activeItemId === `${this._id}-1` || !this._shouldShowResults)
53
+ if (this._activeItemId === -1 || !this._shouldShowResults)
71
54
  return;
72
55
  this._handleChooseSearchItem();
73
56
  break;
74
57
  case 'Escape':
75
58
  ev.preventDefault();
76
- if (this._shouldShowHistory || this._shouldShowHistory || this._shouldShowResults) {
77
- this._inputField.focus();
78
- this._resetSearchView();
79
- }
80
- else {
81
- this._inputField.value = '';
82
- }
83
- break;
84
- case 'End':
85
- ev.preventDefault();
86
- this._handleFocusOnInputWithMarkerEnd();
87
- break;
88
- case 'Home':
89
- ev.preventDefault();
90
- this._handleFocusOnInputWithMarkerStart();
59
+ this._inputField.blur();
60
+ this._resetSearchView();
91
61
  break;
92
62
  case 'Tab':
93
- const isFocusedOnSearchInput = document.activeElement === this._inputField;
94
- if (ev.shiftKey && !isFocusedOnSearchInput) {
95
- this._focusOnPreviousElementBeforeSearchInput(ev);
96
- return;
97
- }
63
+ const isFocusedOnSearchInput = !!((_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.matches('input[type="search"]'));
98
64
  if (!isFocusedOnSearchInput) {
99
65
  const searchBar = this.querySelector(`.${search_constants.SEARCH_CLASS_NAMES.searchBar}`);
100
66
  searchBar === null || searchBar === void 0 ? void 0 : searchBar.classList.remove(search_constants.SEARCH_CLASS_NAMES.outline);
101
67
  this._resetSearchView();
102
68
  document.removeEventListener('keyup', this._bindKeys);
103
- this._focusOnNextElementAfterSearchInput(ev);
104
69
  }
105
70
  break;
106
- default:
107
- const isAWriteableCharacter = ev.key.length === 1;
108
- if (isAWriteableCharacter)
109
- this._handleWriteableCharacter(ev);
110
- break;
111
71
  }
112
72
  };
113
- this._focusOnPreviousElementBeforeSearchInput = async (ev) => {
114
- ev.preventDefault();
115
- const searchBar = this.querySelector(`.${search_constants.SEARCH_CLASS_NAMES.searchBar}`);
116
- searchBar === null || searchBar === void 0 ? void 0 : searchBar.classList.remove(search_constants.SEARCH_CLASS_NAMES.outline);
117
- this._resetSearchView();
118
- document.removeEventListener('keyup', this._bindKeys);
119
- utilities.UiDomUtils.getPreviousFocusableElement(this._inputField).focus();
120
- };
121
- this._focusOnNextElementAfterSearchInput = async (ev) => {
122
- ev.preventDefault();
123
- utilities.UiDomUtils.getNextFocusableElement(this._inputField).focus();
124
- };
125
- this._preventScrollingOnSearchContentBrowsing = (ev) => {
73
+ this._focusOutsideActiveItemsForward = () => {
126
74
  var _a;
127
- const hasArrowBeenPressed = ev.key === "ArrowUp" || ev.key === "ArrowDown";
128
- const hasHomeOrEndBeenPressed = ev.key === "Home" || ev.key === "End";
129
- const hasSearchContainerParent = !!((_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.closest('.search__container'));
130
- if ((hasArrowBeenPressed || hasHomeOrEndBeenPressed) && hasSearchContainerParent) {
131
- ev.preventDefault();
132
- }
133
- };
134
- this._handleForwardListFocus = () => {
135
- var _a, _b;
136
- const containers = [
137
- this._searchHistoryRef.value,
138
- this._searchResultsRef.value,
139
- this._searchMessageRef.value
140
- ];
141
- const $searchItemsContainer = containers.find(container => container && !utilities.UiDomUtils.isElementEmpty(container));
142
- if (!$searchItemsContainer)
143
- return;
144
- const isActiveElementAGridSearchItem = (_b = (_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.getAttribute('data-search-item-id')) === null || _b === void 0 ? void 0 : _b.includes('grid');
145
- const $listSearchItems = utilities.UiDomUtils.getFocusableElements($searchItemsContainer).filter(($el) => {
146
- const searchItemId = $el.getAttribute('data-search-item-id');
147
- const isListSearchItem = !!searchItemId && !searchItemId.includes('grid');
148
- const isGridSearchItem = !!searchItemId && searchItemId.includes('grid');
149
- return isActiveElementAGridSearchItem ? isGridSearchItem : isListSearchItem;
150
- });
151
- this._handleForwardFocus($listSearchItems);
152
- };
153
- this._handleForwardGridFocus = () => {
154
- const containers = [
155
- this._searchHistoryRef.value,
156
- this._searchResultsRef.value,
157
- this._searchMessageRef.value
158
- ];
159
- const $searchItemsContainer = containers.find(container => container && !utilities.UiDomUtils.isElementEmpty(container));
75
+ const $activeElement = document.activeElement;
76
+ const $searchItemsContainer = this._searchHistoryRef.value || this._searchResultsRef.value;
160
77
  if (!$searchItemsContainer)
161
78
  return;
162
- const $gridSearchItems = utilities.UiDomUtils.getFocusableElements($searchItemsContainer).filter(($el) => {
79
+ const $searchItems = utilities.UiDomUtils.getFocusableElements($searchItemsContainer).filter(($el) => {
163
80
  return !!$el.getAttribute('data-search-item-id');
164
81
  });
165
- this._handleForwardFocus($gridSearchItems);
166
- };
167
- this._handleForwardFocus = ($searchItems) => {
168
- var _a;
169
- const $activeElement = document.activeElement;
170
82
  const indexOfCurrentElement = $searchItems.indexOf($activeElement);
171
83
  const indexOfNextElement = indexOfCurrentElement === $searchItems.length - 1 ? 0 : indexOfCurrentElement + 1;
172
84
  const $nextSearchItemElement = $searchItems[indexOfNextElement];
173
85
  $nextSearchItemElement.focus();
174
- this._setActiveItemId((_a = $nextSearchItemElement.getAttribute('data-search-item-id')) !== null && _a !== void 0 ? _a : `${this._id}-1`);
175
- };
176
- this._handleMoveToInputFieldOnArrowLeft = () => {
177
- const isFocusedOnSearchInput = document.activeElement === this._inputField;
178
- if (isFocusedOnSearchInput)
179
- return;
180
- this._inputField.focus();
181
- const currentPosition = this._inputField.selectionStart || 0;
182
- const newPosition = Math.max(currentPosition - 1, 0);
183
- this._inputField.setSelectionRange(newPosition, newPosition);
184
- };
185
- this._handleBackwardListFocus = () => {
186
- var _a, _b;
187
- const containers = [
188
- this._searchHistoryRef.value,
189
- this._searchResultsRef.value,
190
- this._searchMessageRef.value
191
- ];
192
- const $searchItemsContainer = containers.find(container => container && !utilities.UiDomUtils.isElementEmpty(container));
193
- if (!$searchItemsContainer)
194
- return;
195
- const isActiveElementAGridSearchItem = (_b = (_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.getAttribute('data-search-item-id')) === null || _b === void 0 ? void 0 : _b.includes('grid');
196
- const $listSearchItems = utilities.UiDomUtils.getFocusableElements($searchItemsContainer).filter(($el) => {
197
- const searchItemId = $el.getAttribute('data-search-item-id');
198
- const isListSearchItem = !!searchItemId && !searchItemId.includes('grid');
199
- const isGridSearchItem = !!searchItemId && searchItemId.includes('grid');
200
- return isActiveElementAGridSearchItem ? isGridSearchItem : isListSearchItem;
201
- });
202
- this._handleBackwardFocus($listSearchItems);
86
+ this._activeItemId = (_a = Number($nextSearchItemElement.getAttribute('data-search-item-id'))) !== null && _a !== void 0 ? _a : -1;
203
87
  };
204
- this._handleBackwardGridFocus = () => {
205
- const containers = [
206
- this._searchHistoryRef.value,
207
- this._searchResultsRef.value,
208
- this._searchMessageRef.value
209
- ];
210
- const $searchItemsContainer = containers.find(container => container && !utilities.UiDomUtils.isElementEmpty(container));
88
+ this._focusOutsideActiveItemsBackward = () => {
89
+ var _a;
90
+ const $activeElement = document.activeElement;
91
+ const $searchItemsContainer = this._searchHistoryRef.value || this._searchResultsRef.value;
211
92
  if (!$searchItemsContainer)
212
93
  return;
213
- const $gridSearchItems = utilities.UiDomUtils.getFocusableElements($searchItemsContainer).filter(($el) => {
94
+ const $searchItems = utilities.UiDomUtils.getFocusableElements($searchItemsContainer).filter(($el) => {
214
95
  return !!$el.getAttribute('data-search-item-id');
215
96
  });
216
- this._handleBackwardFocus($gridSearchItems);
217
- };
218
- this._handleBackwardFocus = ($searchItems) => {
219
- var _a;
220
- const $activeElement = document.activeElement;
221
97
  const indexOfCurrentElement = $searchItems.indexOf($activeElement);
222
98
  const indexOfPreviousElement = indexOfCurrentElement === 0 ? $searchItems.length - 1 : indexOfCurrentElement - 1;
223
99
  const $previousSearchItemElement = $searchItems[indexOfPreviousElement];
224
100
  $previousSearchItemElement.focus();
225
- this._setActiveItemId((_a = $previousSearchItemElement.getAttribute('data-search-item-id')) !== null && _a !== void 0 ? _a : `${this._id}-1`);
226
- };
227
- this._setActiveItemId = (newActiveItemId) => {
228
- this._activeItemId = newActiveItemId;
229
- if (document.activeElement !== this._inputField) {
230
- this._inputField.setAttribute('aria-activedescendant', this._activeItemId);
231
- }
232
- };
233
- this._handleFocusOnInputWithMarkerEnd = () => {
234
- const isFocusedOnSearchInput = document.activeElement === this._inputField;
235
- if (isFocusedOnSearchInput)
236
- return;
237
- this._inputField.focus();
238
- const endPosition = this._inputField.value.length;
239
- this._inputField.setSelectionRange(endPosition, endPosition);
240
- };
241
- this._handleFocusOnInputWithMarkerStart = () => {
242
- this._inputField.focus();
243
- this._inputField.setSelectionRange(0, 0);
101
+ this._activeItemId = (_a = Number($previousSearchItemElement.getAttribute('data-search-item-id'))) !== null && _a !== void 0 ? _a : -1;
244
102
  };
245
- this._handleWriteableCharacter = (ev) => {
246
- const isFocusedOnSearchInput = document.activeElement === this._inputField;
247
- if (isFocusedOnSearchInput)
248
- return;
249
- this._inputField.focus();
250
- const isAPrintableCharacter = ev.key.match(/\P{C}/u);
251
- if (ev.key.length === 1 && isAPrintableCharacter) {
252
- this._inputField.value = `${this._inputField.value}${ev.key}`;
103
+ this._getSearchItemsCount = () => {
104
+ if (this._shouldShowHistory)
105
+ return this._historyLimitedContent.length;
106
+ let searchItemsCount = this._searchResults.products.length +
107
+ this._searchResults.categories.length +
108
+ this._searchResults.suggestions.length +
109
+ this._searchResults.producers.length;
110
+ if (this._searchResults.products.length && this._searchResults.suggestions.length) {
111
+ searchItemsCount += 1;
253
112
  }
113
+ return searchItemsCount;
254
114
  };
255
115
  this._hideSuggesterOnClickOutside = (ev) => {
256
116
  const outsideClick = typeof ev.composedPath === 'function' && !ev.composedPath().includes(this);
@@ -265,12 +125,6 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
265
125
  ? this.classList.remove(search_constants.SEARCH_CLASS_NAMES.mobileOpened)
266
126
  : this.classList.add(search_constants.SEARCH_CLASS_NAMES.mobileOpened);
267
127
  };
268
- this._preventSubmitOnSearchClear = (ev) => {
269
- const $searchClear = this.querySelector(search_constants.SEARCH_COMPONENT_NAMES.clearButton);
270
- if (ev.key === 'Enter' && ev.target === $searchClear) {
271
- ev.preventDefault();
272
- }
273
- };
274
128
  }
275
129
  async connectedCallback() {
276
130
  super.connectedCallback();
@@ -309,9 +163,7 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
309
163
  disconnectedCallback() {
310
164
  super.disconnectedCallback();
311
165
  document.removeEventListener('click', this._hideSuggesterOnClickOutside);
312
- document.removeEventListener('keydown', this._preventScrollingOnSearchContentBrowsing);
313
166
  window.removeEventListener('resize', this._switchTypeOfSearchView);
314
- this._searchForm.removeEventListener('keydown', this._preventSubmitOnSearchClear);
315
167
  }
316
168
  _setupContext() {
317
169
  this._historyContextProvider = new context_provider_controller.ContextProviderController(this);
@@ -320,11 +172,8 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
320
172
  _setupInitialSearchPhrase() {
321
173
  var _a;
322
174
  const searchInput = this.querySelector('input[type="search"]');
323
- const searchForm = this.closest('form');
324
175
  if (searchInput)
325
176
  this._inputField = searchInput;
326
- if (searchForm)
327
- this._searchForm = searchForm;
328
177
  if (!((_a = this._inputField) === null || _a === void 0 ? void 0 : _a.value))
329
178
  return;
330
179
  this._searchPhrase = this._inputField.value;
@@ -348,7 +197,6 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
348
197
  const shouldShowMessage = ev.detail.searchPhrase !== '';
349
198
  this._updateSearchView(ev.detail.searchPhrase, shouldShowMessage, false);
350
199
  document.addEventListener('keyup', this._bindKeys);
351
- document.addEventListener('keydown', this._preventScrollingOnSearchContentBrowsing);
352
200
  });
353
201
  this.addEventListener(search_constants.SEARCH_CUSTOM_EVENT_NAMES.keyup, (ev) => {
354
202
  const shouldShowMessage = ev.detail.searchPhrase !== '';
@@ -359,7 +207,7 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
359
207
  this._updateSearchView('', false);
360
208
  });
361
209
  this.addEventListener(search_constants.SEARCH_CUSTOM_EVENT_NAMES.submit, () => {
362
- if (this._activeItemId !== `${this._id}-1`)
210
+ if (this._activeItemId !== -1)
363
211
  return;
364
212
  if (this._inputField.value === '') {
365
213
  this._updateSearchView(this._inputField.value, true);
@@ -383,12 +231,10 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
383
231
  });
384
232
  document.addEventListener('click', this._hideSuggesterOnClickOutside);
385
233
  window.addEventListener('resize', this._switchTypeOfSearchView);
386
- this._searchForm.addEventListener('keydown', this._preventSubmitOnSearchClear);
387
234
  }
388
235
  _updateSearchView(searchPhrase, shouldShowMessage, shouldUpdateSearchPhrase = true) {
389
236
  this._shouldShowMessage = shouldShowMessage;
390
- this._setActiveItemId(`${this._id}-1`);
391
- this._inputField.setAttribute('aria-activedescendant', '');
237
+ this._activeItemId = -1;
392
238
  this._displaySuggester(searchPhrase);
393
239
  if (!shouldUpdateSearchPhrase)
394
240
  return;
@@ -426,36 +272,42 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
426
272
  _handleToggleHistoryAndResults({ shouldShowHistory, shouldShowResults }) {
427
273
  this._shouldShowHistory = shouldShowHistory;
428
274
  this._shouldShowResults = shouldShowResults;
429
- this._toggleSearchInputAttributes(shouldShowHistory, shouldShowResults);
430
- this._toggleSearchContainerAttributes(shouldShowHistory, shouldShowResults);
275
+ this._toggleSearchInputAria(shouldShowHistory, shouldShowResults);
431
276
  }
432
- _toggleSearchInputAttributes(shouldShowHistory, shouldShowResults) {
277
+ _toggleSearchInputAria(shouldShowHistory, shouldShowResults) {
433
278
  var _a;
434
279
  const $input = (_a = this._searchInput) === null || _a === void 0 ? void 0 : _a.input;
435
280
  if (!$input)
436
281
  return;
437
282
  if (!shouldShowHistory && !shouldShowResults) {
438
283
  $input.removeAttribute('aria-label');
439
- $input.setAttribute('aria-activedescendant', '');
440
284
  return;
441
285
  }
442
286
  $input.setAttribute('aria-expanded', 'true');
443
- if (shouldShowHistory) {
287
+ if (shouldShowHistory)
444
288
  $input.setAttribute('aria-label', this.settings.historyGuideAriaLabel);
445
- $input.setAttribute('aria-haspopup', 'grid');
446
- }
447
- if (shouldShowResults) {
289
+ if (shouldShowResults)
448
290
  $input.setAttribute('aria-label', this.settings.suggesterGuideAriaLabel);
449
- this._inputField.removeAttribute('aria-haspopup');
450
- }
451
291
  }
452
- _toggleSearchContainerAttributes(shouldShowHistory, shouldShowResults) {
453
- if (shouldShowHistory) {
454
- this._containerRole = 'grid';
292
+ _scroll(direction) {
293
+ const searchContainer = this.querySelector(`.${search_constants.SEARCH_CLASS_NAMES.container}`);
294
+ const maxScrollTop = searchContainer.scrollHeight - searchContainer.clientHeight;
295
+ const activeItem = this.querySelector(`[data-search-item-id="${this._activeItemId}"]`);
296
+ const activeItemHeight = (activeItem === null || activeItem === void 0 ? void 0 : activeItem.getBoundingClientRect().height) || 0;
297
+ let top;
298
+ if (direction === search_constants.SCROLL_DIRECTIONS.up) {
299
+ top = searchContainer.scrollTop == 0 ? 0 : searchContainer.scrollTop + 30 - activeItemHeight;
300
+ }
301
+ else {
302
+ top = searchContainer.scrollTop == maxScrollTop ? maxScrollTop : activeItemHeight + searchContainer.scrollTop - 30;
455
303
  }
456
- if (shouldShowResults) {
457
- this._containerRole = 'listbox';
304
+ if (this._activeItemId === this._getSearchItemsCount() - 1) {
305
+ top = maxScrollTop;
458
306
  }
307
+ if (this._activeItemId === 0) {
308
+ top = 0;
309
+ }
310
+ searchContainer === null || searchContainer === void 0 ? void 0 : searchContainer.scrollTo({ top, behavior: 'smooth' });
459
311
  }
460
312
  _handleChooseSearchItem() {
461
313
  const activeSearchItem = this.querySelector(`[data-search-item-id="${this._activeItemId}"]`);
@@ -466,7 +318,7 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
466
318
  }
467
319
  _resetSearchView() {
468
320
  this._shouldShowMessage = false;
469
- this._setActiveItemId(`${this._id}-1`);
321
+ this._activeItemId = -1;
470
322
  const searchBar = this.querySelector(`.${search_constants.SEARCH_CLASS_NAMES.searchBar}`);
471
323
  searchBar === null || searchBar === void 0 ? void 0 : searchBar.classList.remove(search_constants.SEARCH_CLASS_NAMES.outline);
472
324
  this._hideHistorySuggestionsAndResults();
@@ -505,48 +357,33 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
505
357
  <div class="labeled-icon__signature">${this._translations.search}</div>
506
358
  </div>
507
359
 
508
- ${when.when(this._isSuggesterLayerVisible(), () => lit.html `
509
- <div
510
- class="${search_constants.SEARCH_CLASS_NAMES.container}"
511
- id="${this._searchContentContainerId}"
512
- role="${this._containerRole}"
513
- >
514
- ${when.when(this._shouldShowMessage, () => lit.html `<h-search-message
515
- ${ref_js.ref(this._searchMessageRef)}
360
+ ${when.when(this._isSuggesterLayerVisible(), () => lit.html `<div class="${search_constants.SEARCH_CLASS_NAMES.container}">
361
+ ${when.when(this._shouldShowMessage, () => lit.html `<h-search-message
362
+ .history="${this._historyLimitedContent}"
363
+ .results="${this._searchResults}"
364
+ .translations="${this._translations}"
365
+ search-phrase="${this._searchPhrase}"
366
+ module-instance-id="${this.moduleInstanceId}"
367
+ ></h-search-message>`)}
368
+ ${when.when(this._shouldShowHistory, () => lit.html `<h-search-history
369
+ ${ref_js.ref(this._searchHistoryRef)}
516
370
  .history="${this._historyLimitedContent}"
517
- .results="${this._searchResults}"
518
371
  .translations="${this._translations}"
372
+ active-item-id="${this._activeItemId}"
373
+ module-instance-id="${this.moduleInstanceId}"
374
+ ></h-search-history>`)}
375
+ ${when.when(this._shouldShowResults, () => lit.html `<h-search-results
376
+ ${ref_js.ref(this._searchResultsRef)}
377
+ .results="${this._searchResults}"
519
378
  search-phrase="${this._searchPhrase}"
379
+ .settings="${this.settings}"
380
+ locale="${this.locale}"
381
+ view="${this.view}"
382
+ .translations="${this._translations}"
383
+ active-item-id="${this._activeItemId}"
520
384
  module-instance-id="${this.moduleInstanceId}"
521
- ></h-search-message>`)}
522
- ${when.when(this._shouldShowHistory, () => lit.html `<h-search-history
523
- ${ref_js.ref(this._searchHistoryRef)}
524
- .history="${this._historyLimitedContent}"
525
- .translations="${this._translations}"
526
- active-item-id="${this._activeItemId}"
527
- search-id="${this._id}"
528
- module-instance-id="${this.moduleInstanceId}"
529
- ></h-search-history>`)}
530
- ${when.when(this._shouldShowResults, () => lit.html `<h-search-results
531
- ${ref_js.ref(this._searchResultsRef)}
532
- .results="${this._searchResults}"
533
- search-phrase="${this._searchPhrase}"
534
- .settings="${this.settings}"
535
- locale="${this.locale}"
536
- view="${this.view}"
537
- .translations="${this._translations}"
538
- active-item-id="${this._activeItemId}"
539
- search-id="${this._id}"
540
- module-instance-id="${this.moduleInstanceId}"
541
- ></h-search-results>`)}
542
- </div>
543
- `, () => lit.html `
544
- <div
545
- class="${search_constants.SEARCH_CLASS_NAMES.container}"
546
- id="${this._searchContentContainerId}"
547
- role="${this._containerRole}"
548
- hidden
549
- ></div>`)}
385
+ ></h-search-results>`)}
386
+ </div>`)}
550
387
  `;
551
388
  }
552
389
  };
@@ -600,16 +437,12 @@ tslib_es6.__decorate([
600
437
  ], exports.HSearch.prototype, "_historyContext", void 0);
601
438
  tslib_es6.__decorate([
602
439
  decorators.state(),
603
- tslib_es6.__metadata("design:type", String)
440
+ tslib_es6.__metadata("design:type", Number)
604
441
  ], exports.HSearch.prototype, "_activeItemId", void 0);
605
442
  tslib_es6.__decorate([
606
443
  decorators.state(),
607
444
  tslib_es6.__metadata("design:type", Object)
608
445
  ], exports.HSearch.prototype, "_translations", void 0);
609
- tslib_es6.__decorate([
610
- decorators.state(),
611
- tslib_es6.__metadata("design:type", String)
612
- ], exports.HSearch.prototype, "_containerRole", void 0);
613
446
  exports.HSearch = tslib_es6.__decorate([
614
447
  phoenix_custom_element.phoenixCustomElement(search_constants.SEARCH_COMPONENT_NAMES.search)
615
448
  ], exports.HSearch);
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,+CAAmD;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,wDAA4D;AAC7E,mBAAmB,qEAA6E;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,+CAAmD;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qEAA6E;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -32,11 +32,6 @@ exports.HSearchClear = class HSearchClear extends phoenix_light_lit_element.Phoe
32
32
  this._searchContextSetup();
33
33
  this.addEventListener('click', this._dispatchClearEvent);
34
34
  }
35
- updated(_changedProperties) {
36
- super.updated(_changedProperties);
37
- const newTabIndex = this._shouldShow ? '0' : '-1';
38
- this.setAttribute('tabindex', newTabIndex);
39
- }
40
35
  async _searchContextSetup() {
41
36
  try {
42
37
  this._searchContextConsumer = new context_consumer_controller.ContextConsumerController(this);
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,qDAAyD;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,2EAAmF;AACtG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,qDAAyD;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,2EAAmF;AACtG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -11,6 +11,7 @@ var icon_constants = require('../../../../icon/icon_constants.js');
11
11
  var observer = require('../../../../../core/classes/observer/observer.js');
12
12
  var context_consumer_controller = require('../../../../../core/context/context_consumer_controller.js');
13
13
  var ref_js = require('lit-html/directives/ref.js');
14
+ var v4 = require('../../../../../../../../external/uuid/dist/esm-browser/v4.js');
14
15
  var when = require('../../../../../../../../external/lit/external/lit-html/directives/when.js');
15
16
  var search_constants = require('../../search_constants.js');
16
17
  var repeat = require('../../../../../../../../external/lit/external/lit-html/directives/repeat.js');
@@ -19,6 +20,7 @@ exports.HSearchHistory = class HSearchHistory extends phoenix_light_lit_element.
19
20
  constructor() {
20
21
  super(...arguments);
21
22
  this.buttonRef = ref_js.createRef();
23
+ this._loadMoreButtonId = v4['default']();
22
24
  this.history = [];
23
25
  this.translations = {};
24
26
  }
@@ -45,33 +47,23 @@ exports.HSearchHistory = class HSearchHistory extends phoenix_light_lit_element.
45
47
  return when.when((_a = this.history) === null || _a === void 0 ? void 0 : _a.length, () => lit.html `<h3 class="${search_constants.SEARCH_CLASS_NAMES.headline}">${this.translations.searchHistory}</h3>
46
48
 
47
49
  <ul>
48
- ${repeat.repeat(this.history, (historyElement, index) => lit.html `
49
- <li
50
- class="
51
- ${search_constants.SEARCH_CLASS_NAMES.item}
52
- ${`${this.searchId}${index}` === this.activeItemId ? search_constants.SEARCH_CLASS_NAMES.itemActive : ''}
53
- "
54
- role="row"
50
+ ${repeat.repeat(this.history, (historyElement, index) => lit.html ` <li
51
+ class="${search_constants.SEARCH_CLASS_NAMES.item} ${index === this.activeItemId ? search_constants.SEARCH_CLASS_NAMES.itemActive : ''}"
55
52
  >
56
53
  <h-search-history-select
57
54
  item-label="${historyElement.label}"
58
55
  class="${search_constants.SEARCH_CLASS_NAMES.historySelect}"
59
56
  data-suggested-value="${historyElement.label}"
60
- data-search-item-id="${this.searchId}${index}"
57
+ data-search-item-id="${index}"
61
58
  module-instance-id="${this.moduleInstanceId}"
62
59
  aria-label=${this.translations.historyAriaLabel ? `${this.translations.historyAriaLabel} ${historyElement.label}` : undefined}
63
- role="gridcell"
64
60
  >
65
61
  <h-icon icon-name="icon-clock"></h-icon>
66
62
 
67
63
  <span class="${search_constants.SEARCH_CLASS_NAMES.historyItemValue}">${historyElement.label}</span>
68
64
  </h-search-history-select>
69
65
 
70
- <h-search-history-remove
71
- data-search-item-id="${this.searchId}${index}-grid"
72
- item-id="${historyElement.id}"
73
- role="gridcell"
74
- >
66
+ <h-search-history-remove item-id="${historyElement.id}">
75
67
  <h-icon
76
68
  icon-name="icon-x"
77
69
  clickable=${true}
@@ -84,7 +76,7 @@ exports.HSearchHistory = class HSearchHistory extends phoenix_light_lit_element.
84
76
 
85
77
  <h-search-history-load-more
86
78
  class="${search_constants.SEARCH_CLASS_NAMES.historyLoadMore}"
87
- data-search-item-id="${this.searchId}-loadmore"
79
+ data-search-item-id="${this._loadMoreButtonId}"
88
80
  ${ref_js.ref(this.buttonRef)}
89
81
  >
90
82
  ${this.translations.loadMore}
@@ -96,13 +88,9 @@ tslib_es6.__decorate([
96
88
  tslib_es6.__metadata("design:type", Array)
97
89
  ], exports.HSearchHistory.prototype, "history", void 0);
98
90
  tslib_es6.__decorate([
99
- decorators.property({ type: String, attribute: 'active-item-id' }),
100
- tslib_es6.__metadata("design:type", String)
91
+ decorators.property({ type: Number, attribute: 'active-item-id' }),
92
+ tslib_es6.__metadata("design:type", Number)
101
93
  ], exports.HSearchHistory.prototype, "activeItemId", void 0);
102
- tslib_es6.__decorate([
103
- decorators.property({ type: String, attribute: 'search-id' }),
104
- tslib_es6.__metadata("design:type", String)
105
- ], exports.HSearchHistory.prototype, "searchId", void 0);
106
94
  tslib_es6.__decorate([
107
95
  decorators.property({ type: Object }),
108
96
  tslib_es6.__metadata("design:type", Object)
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,qDAAyD;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,2EAAmF;AACtG;AACA,qBAAqB,6EAAqF;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,qDAAyD;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,8DAAkE;AACnF,mBAAmB,2EAAmF;AACtG;AACA,qBAAqB,6EAAqF;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -12,15 +12,6 @@ exports.HSearchInput = class HSearchInput extends phoenix_light_lit_element.Phoe
12
12
  constructor() {
13
13
  super(...arguments);
14
14
  this._isSearchPhraseCleared = false;
15
- this._setupAttributes = () => {
16
- var _a, _b, _c, _d, _e, _f;
17
- (_a = this.input) === null || _a === void 0 ? void 0 : _a.setAttribute('role', 'combobox');
18
- (_b = this.input) === null || _b === void 0 ? void 0 : _b.setAttribute('aria-autocomplete', 'none');
19
- (_c = this.input) === null || _c === void 0 ? void 0 : _c.setAttribute('aria-haspopup', 'grid');
20
- const $searchContentContainer = (_d = this.closest('h-search')) === null || _d === void 0 ? void 0 : _d.querySelector(`.${search_constants.SEARCH_CLASS_NAMES.container}`);
21
- (_e = this.input) === null || _e === void 0 ? void 0 : _e.setAttribute('aria-controls', ($searchContentContainer === null || $searchContentContainer === void 0 ? void 0 : $searchContentContainer.id) || '');
22
- (_f = this.input) === null || _f === void 0 ? void 0 : _f.setAttribute('aria-activedescendant', '');
23
- };
24
15
  }
25
16
  connectedCallback() {
26
17
  super.connectedCallback();
@@ -30,7 +21,6 @@ exports.HSearchInput = class HSearchInput extends phoenix_light_lit_element.Phoe
30
21
  }
31
22
  this._setupInitialValue();
32
23
  this._setupListeners();
33
- this._setupAttributes();
34
24
  }
35
25
  _setupInitialValue() {
36
26
  const searchQueryRegExp = /\/searchquery\/([^/]{1,})/;
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,qDAAyD;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,qDAAyD;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}