@shoper/phoenix_design_system 1.11.5 → 1.11.7-0

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 (45) hide show
  1. package/build/cjs/packages/phoenix/src/components/form/search/search.js +43 -6
  2. package/build/cjs/packages/phoenix/src/components/form/search/search.js.map +1 -1
  3. package/build/cjs/packages/phoenix/src/components/form/search/search_constants.js +2 -1
  4. package/build/cjs/packages/phoenix/src/components/form/search/search_constants.js.map +1 -1
  5. package/build/cjs/packages/phoenix/src/components/form/search/subcomponents/history/search_history.js +15 -0
  6. package/build/cjs/packages/phoenix/src/components/form/search/subcomponents/history/search_history.js.map +1 -1
  7. package/build/cjs/packages/phoenix/src/components/form/search/subcomponents/input/search_input.js +10 -10
  8. package/build/cjs/packages/phoenix/src/components/form/search/subcomponents/results/search_producer_content.js +5 -0
  9. package/build/cjs/packages/phoenix/src/components/form/search/subcomponents/results/search_producer_content.js.map +1 -1
  10. package/build/cjs/packages/phoenix/src/components/form/search/subcomponents/results/search_product_content.js +5 -0
  11. package/build/cjs/packages/phoenix/src/components/form/search/subcomponents/results/search_product_content.js.map +1 -1
  12. package/build/cjs/packages/phoenix/src/components/form/search/subcomponents/results/search_results.js +16 -0
  13. package/build/cjs/packages/phoenix/src/components/form/search/subcomponents/results/search_results.js.map +1 -1
  14. package/build/cjs/packages/phoenix/src/components/form/search/subcomponents/results/search_suggestion_content.js +5 -0
  15. package/build/cjs/packages/phoenix/src/components/form/search/subcomponents/results/search_suggestion_content.js.map +1 -1
  16. package/build/cjs/packages/phoenix/src/components/modal/modal.js +17 -0
  17. package/build/cjs/packages/phoenix/src/components/modal/modal.js.map +1 -1
  18. package/build/esm/packages/phoenix/src/components/form/search/search.d.ts +3 -0
  19. package/build/esm/packages/phoenix/src/components/form/search/search.js +44 -7
  20. package/build/esm/packages/phoenix/src/components/form/search/search.js.map +1 -1
  21. package/build/esm/packages/phoenix/src/components/form/search/search_constants.d.ts +1 -0
  22. package/build/esm/packages/phoenix/src/components/form/search/search_constants.js +2 -1
  23. package/build/esm/packages/phoenix/src/components/form/search/search_constants.js.map +1 -1
  24. package/build/esm/packages/phoenix/src/components/form/search/search_types.d.ts +13 -0
  25. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/history/search_history.d.ts +3 -0
  26. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/history/search_history.js +16 -1
  27. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/history/search_history.js.map +1 -1
  28. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/input/search_input.d.ts +1 -1
  29. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/input/search_input.js +10 -10
  30. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/results/search_producer_content.d.ts +1 -0
  31. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/results/search_producer_content.js +5 -0
  32. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/results/search_producer_content.js.map +1 -1
  33. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/results/search_product_content.d.ts +1 -0
  34. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/results/search_product_content.js +5 -0
  35. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/results/search_product_content.js.map +1 -1
  36. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/results/search_results.d.ts +3 -0
  37. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/results/search_results.js +16 -0
  38. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/results/search_results.js.map +1 -1
  39. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/results/search_suggestion_content.d.ts +1 -0
  40. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/results/search_suggestion_content.js +5 -0
  41. package/build/esm/packages/phoenix/src/components/form/search/subcomponents/results/search_suggestion_content.js.map +1 -1
  42. package/build/esm/packages/phoenix/src/components/modal/modal.d.ts +2 -0
  43. package/build/esm/packages/phoenix/src/components/modal/modal.js +17 -0
  44. package/build/esm/packages/phoenix/src/components/modal/modal.js.map +1 -1
  45. package/package.json +1 -1
@@ -38,11 +38,13 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
38
38
  case 'ArrowDown':
39
39
  ev.preventDefault();
40
40
  this._activeItemId = this._activeItemId === searchItemsCount - 1 ? 0 : this._activeItemId + 1;
41
+ this._dispatchActiveItemChangeEvent();
41
42
  this._scroll(search_constants.SCROLL_DIRECTIONS.down);
42
43
  break;
43
44
  case 'ArrowUp':
44
45
  ev.preventDefault();
45
46
  this._activeItemId = this._activeItemId === 0 || this._activeItemId === -1 ? searchItemsCount - 1 : this._activeItemId - 1;
47
+ this._dispatchActiveItemChangeEvent();
46
48
  this._scroll(search_constants.SCROLL_DIRECTIONS.up);
47
49
  break;
48
50
  case 'Enter':
@@ -67,6 +69,14 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
67
69
  break;
68
70
  }
69
71
  };
72
+ this._dispatchActiveItemChangeEvent = () => {
73
+ const ev = new CustomEvent(search_constants.SEARCH_CUSTOM_EVENT_NAMES.activeItemChange, {
74
+ detail: {
75
+ activeItemId: this._activeItemId
76
+ }
77
+ });
78
+ this.dispatchEvent(ev);
79
+ };
70
80
  this._getSearchItemsCount = () => {
71
81
  if (this._shouldShowHistory)
72
82
  return this._historyLimitedContent.length;
@@ -208,16 +218,42 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
208
218
  }
209
219
  }
210
220
  _displayHistorySuggestions() {
211
- this._shouldShowHistory = true;
212
- this._shouldShowResults = false;
221
+ this._handleToggleHistoryAndResults({
222
+ shouldShowHistory: true,
223
+ shouldShowResults: false
224
+ });
213
225
  }
214
226
  _hideHistorySuggestionsAndResults() {
215
- this._shouldShowHistory = false;
216
- this._shouldShowResults = false;
227
+ this._handleToggleHistoryAndResults({
228
+ shouldShowHistory: false,
229
+ shouldShowResults: false
230
+ });
217
231
  }
218
232
  _displayResults() {
219
- this._shouldShowHistory = false;
220
- this._shouldShowResults = true;
233
+ this._handleToggleHistoryAndResults({
234
+ shouldShowHistory: false,
235
+ shouldShowResults: true
236
+ });
237
+ }
238
+ _handleToggleHistoryAndResults({ shouldShowHistory, shouldShowResults }) {
239
+ this._shouldShowHistory = shouldShowHistory;
240
+ this._shouldShowResults = shouldShowResults;
241
+ this._toggleSearchInputAria(shouldShowHistory, shouldShowResults);
242
+ }
243
+ _toggleSearchInputAria(shouldShowHistory, shouldShowResults) {
244
+ var _a;
245
+ const $input = (_a = this._searchInput) === null || _a === void 0 ? void 0 : _a.input;
246
+ if (!$input)
247
+ return;
248
+ if (!shouldShowHistory && !shouldShowResults) {
249
+ $input.removeAttribute('aria-label');
250
+ return;
251
+ }
252
+ $input.setAttribute('aria-expanded', 'true');
253
+ if (shouldShowHistory)
254
+ $input.setAttribute('aria-label', this.settings.historyAriaLabelGuide);
255
+ if (shouldShowResults)
256
+ $input.setAttribute('aria-label', this.settings.suggesterAriaLabelGuide);
221
257
  }
222
258
  _scroll(direction) {
223
259
  const searchContainer = this.querySelector(`.${search_constants.SEARCH_CLASS_NAMES.container}`);
@@ -300,6 +336,7 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
300
336
  .translations="${this._translations}"
301
337
  active-item-id="${this._activeItemId}"
302
338
  module-instance-id="${this.moduleInstanceId}"
339
+ .historyAriaLabel="${this.settings.historyAriaLabel}"
303
340
  ></h-search-history>`)}
304
341
  ${when.when(this._shouldShowResults, () => lit.html `<h-search-results
305
342
  .results="${this._searchResults}"
@@ -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,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;"}
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,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;"}
@@ -30,7 +30,8 @@ const SEARCH_CUSTOM_EVENT_NAMES = {
30
30
  search: 'search',
31
31
  updateSearchPhrase: 'updateSearchPhrase',
32
32
  focusin: 'searchFocusIn',
33
- keydown: 'searchKeyDown'
33
+ keydown: 'searchKeyDown',
34
+ activeItemChange: 'activeItemChange'
34
35
  };
35
36
  const baseSearchCssClass = 'search';
36
37
  const SEARCH_CLASS_NAMES = {
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -21,6 +21,11 @@ exports.HSearchHistory = class HSearchHistory extends phoenix_light_lit_element.
21
21
  this.buttonRef = ref_js.createRef();
22
22
  this.history = [];
23
23
  this.translations = {};
24
+ this._handleActiveItemChange = (ev) => {
25
+ const { activeItemId } = ev.detail;
26
+ const $activeItem = this.querySelector(`[data-search-item-id="${activeItemId}"]`);
27
+ $activeItem === null || $activeItem === void 0 ? void 0 : $activeItem.focus();
28
+ };
24
29
  }
25
30
  async connectedCallback() {
26
31
  super.connectedCallback();
@@ -39,6 +44,11 @@ exports.HSearchHistory = class HSearchHistory extends phoenix_light_lit_element.
39
44
  catch (_a) {
40
45
  console.error('Search context is not provided');
41
46
  }
47
+ document.addEventListener(search_constants.SEARCH_CUSTOM_EVENT_NAMES.activeItemChange, this._handleActiveItemChange);
48
+ }
49
+ disconnectedCallback() {
50
+ super.disconnectedCallback();
51
+ document.removeEventListener(search_constants.SEARCH_CUSTOM_EVENT_NAMES.activeItemChange, this._handleActiveItemChange);
42
52
  }
43
53
  render() {
44
54
  var _a;
@@ -54,6 +64,7 @@ exports.HSearchHistory = class HSearchHistory extends phoenix_light_lit_element.
54
64
  data-suggested-value="${historyElement.label}"
55
65
  data-search-item-id="${index}"
56
66
  module-instance-id="${this.moduleInstanceId}"
67
+ ${this.historyAriaLabel ? `aria-label="${this.historyAriaLabel} ${historyElement.label}"` : ''}
57
68
  >
58
69
  <h-icon icon-name="icon-clock"></h-icon>
59
70
 
@@ -92,6 +103,10 @@ tslib_es6.__decorate([
92
103
  decorators.property({ type: String, attribute: 'module-instance-id' }),
93
104
  tslib_es6.__metadata("design:type", String)
94
105
  ], exports.HSearchHistory.prototype, "moduleInstanceId", void 0);
106
+ tslib_es6.__decorate([
107
+ decorators.property({ type: String }),
108
+ tslib_es6.__metadata("design:type", String)
109
+ ], exports.HSearchHistory.prototype, "historyAriaLabel", void 0);
95
110
  exports.HSearchHistory = tslib_es6.__decorate([
96
111
  phoenix_custom_element.phoenixCustomElement(search_constants.SEARCH_COMPONENT_NAMES.searchHistory)
97
112
  ], exports.HSearchHistory);
@@ -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;"}
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;"}
@@ -15,8 +15,8 @@ exports.HSearchInput = class HSearchInput extends phoenix_light_lit_element.Phoe
15
15
  }
16
16
  connectedCallback() {
17
17
  super.connectedCallback();
18
- this._input = this.querySelector('input[type="search"]');
19
- if (!this._input) {
18
+ this.input = this.querySelector('input[type="search"]');
19
+ if (!this.input) {
20
20
  throw new Error('Search input not found');
21
21
  }
22
22
  this._setupInitialValue();
@@ -28,7 +28,7 @@ exports.HSearchInput = class HSearchInput extends phoenix_light_lit_element.Phoe
28
28
  if (!searchPhraseRegArray)
29
29
  return;
30
30
  const searchQuery = searchPhraseRegArray[1].replace(/\+/g, ' ');
31
- this._input.value = decodeURIComponent(this._deserializeInputPhrase(searchQuery));
31
+ this.input.value = decodeURIComponent(this._deserializeInputPhrase(searchQuery));
32
32
  }
33
33
  _deserializeInputPhrase(value) {
34
34
  if (value.indexOf('%2f') !== -1) {
@@ -46,14 +46,14 @@ exports.HSearchInput = class HSearchInput extends phoenix_light_lit_element.Phoe
46
46
  return value;
47
47
  }
48
48
  _setupListeners() {
49
- this._input.addEventListener('focusin', (ev) => {
49
+ this.input.addEventListener('focusin', (ev) => {
50
50
  this.emitCustomEvent(search_constants.SEARCH_CUSTOM_EVENT_NAMES.focusin, {
51
51
  detail: {
52
52
  searchPhrase: ev.target.value
53
53
  }
54
54
  });
55
55
  });
56
- this._input.addEventListener('keydown', (ev) => {
56
+ this.input.addEventListener('keydown', (ev) => {
57
57
  if (ev.key === 'ArrowUp' || ev.key === 'ArrowDown' || ev.key === 'Escape')
58
58
  return;
59
59
  if (ev.key !== 'Enter') {
@@ -74,8 +74,8 @@ exports.HSearchInput = class HSearchInput extends phoenix_light_lit_element.Phoe
74
74
  }
75
75
  });
76
76
  });
77
- this._input.addEventListener('search', (ev) => {
78
- if (this._input.value !== '') {
77
+ this.input.addEventListener('search', (ev) => {
78
+ if (this.input.value !== '') {
79
79
  return;
80
80
  }
81
81
  this.emitCustomEvent(search_constants.SEARCH_CUSTOM_EVENT_NAMES.search, {
@@ -88,13 +88,13 @@ exports.HSearchInput = class HSearchInput extends phoenix_light_lit_element.Phoe
88
88
  if (!ev.detail || ev.detail.moduleInstanceId !== this.moduleInstanceId)
89
89
  return;
90
90
  this._isSearchPhraseCleared = true;
91
- this._input.value = '';
92
- this._input.focus();
91
+ this.input.value = '';
92
+ this.input.focus();
93
93
  });
94
94
  document.addEventListener(search_constants.SEARCH_CUSTOM_EVENT_NAMES.updateSearchPhrase, (ev) => {
95
95
  if (!ev.detail || ev.detail.moduleInstanceId !== this.moduleInstanceId)
96
96
  return;
97
- this._input.value = ev.detail.searchPhrase;
97
+ this.input.value = ev.detail.searchPhrase;
98
98
  this.emitCustomEvent(search_constants.SEARCH_CUSTOM_EVENT_NAMES.keydown, {
99
99
  detail: {
100
100
  searchPhrase: ev.detail.searchPhrase
@@ -36,6 +36,7 @@ exports.HSearchProducerContent = class HSearchProducerContent extends phoenix_li
36
36
  ? search_constants.SEARCH_CLASS_NAMES.itemActive
37
37
  : ''}"
38
38
  data-search-item-id="${this.initialItemIds.producers + index}"
39
+ ${this.producerAriaLabel ? `aria-label="${this.producerAriaLabel} ${producer.name}"` : ''}
39
40
  >
40
41
  <a
41
42
  href="${producer.url}"
@@ -71,6 +72,10 @@ tslib_es6.__decorate([
71
72
  decorators.property({ type: String, attribute: 'search-phrase' }),
72
73
  tslib_es6.__metadata("design:type", String)
73
74
  ], exports.HSearchProducerContent.prototype, "searchPhrase", void 0);
75
+ tslib_es6.__decorate([
76
+ decorators.property({ type: String }),
77
+ tslib_es6.__metadata("design:type", String)
78
+ ], exports.HSearchProducerContent.prototype, "producerAriaLabel", void 0);
74
79
  exports.HSearchProducerContent = tslib_es6.__decorate([
75
80
  phoenix_custom_element.phoenixCustomElement(search_constants.SEARCH_COMPONENT_NAMES.searchProducerContent)
76
81
  ], exports.HSearchProducerContent);
@@ -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,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;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,qDAAyD;AACjF;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;"}
@@ -49,6 +49,7 @@ exports.HSearchProductContent = class HSearchProductContent extends phoenix_ligh
49
49
  ? search_constants.SEARCH_CLASS_NAMES.itemActive
50
50
  : ''}"
51
51
  data-search-item-id="${this.initialItemIds.products + index}"
52
+ ${this.productAriaLabel ? `aria-label="${this.productAriaLabel} ${product.name}"` : ''}
52
53
  >
53
54
  <a
54
55
  href="${product.url}"
@@ -108,6 +109,10 @@ tslib_es6.__decorate([
108
109
  decorators.property({ type: Object }),
109
110
  tslib_es6.__metadata("design:type", Object)
110
111
  ], exports.HSearchProductContent.prototype, "translations", void 0);
112
+ tslib_es6.__decorate([
113
+ decorators.property({ type: String }),
114
+ tslib_es6.__metadata("design:type", String)
115
+ ], exports.HSearchProductContent.prototype, "productAriaLabel", void 0);
111
116
  exports.HSearchProductContent = tslib_es6.__decorate([
112
117
  phoenix_custom_element.phoenixCustomElement(search_constants.SEARCH_COMPONENT_NAMES.searchProductContent)
113
118
  ], exports.HSearchProductContent);
@@ -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,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;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,qDAAyD;AACjF;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;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -17,6 +17,11 @@ exports.HSearchResults = class HSearchResults extends phoenix_light_lit_element.
17
17
  this.searchPhrase = '';
18
18
  this.translations = {};
19
19
  this._productPage = 1;
20
+ this._handleActiveItemChange = (ev) => {
21
+ const { activeItemId } = ev.detail;
22
+ const $activeItem = this.querySelector(`[data-search-item-id="${activeItemId}"]`);
23
+ $activeItem === null || $activeItem === void 0 ? void 0 : $activeItem.focus();
24
+ };
20
25
  this._getInitialItemsIds = () => {
21
26
  const suggestionInCategoryInitialItemId = this.results.suggestions.length;
22
27
  const categoryInitialItemId = this._isProductInTheCategory() ? suggestionInCategoryInitialItemId + 1 : suggestionInCategoryInitialItemId;
@@ -30,6 +35,14 @@ exports.HSearchResults = class HSearchResults extends phoenix_light_lit_element.
30
35
  };
31
36
  };
32
37
  }
38
+ connectedCallback() {
39
+ super.connectedCallback();
40
+ document.addEventListener(search_constants.SEARCH_CUSTOM_EVENT_NAMES.activeItemChange, this._handleActiveItemChange);
41
+ }
42
+ disconnectedCallback() {
43
+ super.disconnectedCallback();
44
+ document.removeEventListener(search_constants.SEARCH_CUSTOM_EVENT_NAMES.activeItemChange, this._handleActiveItemChange);
45
+ }
33
46
  _isProductInTheCategory() {
34
47
  return this.results.products.length && this.results.suggestions.length;
35
48
  }
@@ -72,6 +85,7 @@ exports.HSearchResults = class HSearchResults extends phoenix_light_lit_element.
72
85
  locale="${this.locale}"
73
86
  view="${this.view}"
74
87
  module-instance-id="${this.moduleInstanceId}"
88
+ .suggestionAriaLabel=${this.settings.suggestionAriaLabel}
75
89
  >
76
90
  </h-search-suggestion-content>`)}
77
91
  ${when.when((_c = this.results.products) === null || _c === void 0 ? void 0 : _c.length, () => lit.html `
@@ -82,6 +96,7 @@ exports.HSearchResults = class HSearchResults extends phoenix_light_lit_element.
82
96
  active-item-id="${this.activeItemId}"
83
97
  .initialItemIds="${this._getInitialItemsIds()}"
84
98
  .translations="${this.translations}"
99
+ .productAriaLabel=${this.settings.productAriaLabel}
85
100
  ></h-search-product-content>
86
101
 
87
102
  ${when.when(this.settings.isLoadingMoreSearchResultsEnabled, () => when.when(this._areMoreProductsAvailable(), () => lit.html `<button
@@ -104,6 +119,7 @@ exports.HSearchResults = class HSearchResults extends phoenix_light_lit_element.
104
119
  .initialItemIds="${this._getInitialItemsIds()}"
105
120
  .translations="${this.translations}"
106
121
  search-phrase="${this.searchPhrase}"
122
+ .producerAriaLabel=${this.settings.producerAriaLabel}
107
123
  ></h-search-producer-content>`)}
108
124
  `;
109
125
  });
@@ -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,mBAAmB,2EAAmF;AACtG;AACA,sBAAsB,oDAAwD;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,mBAAmB,2EAAmF;AACtG;AACA,sBAAsB,oDAAwD;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -112,6 +112,7 @@ exports.HSearchSuggestionContent = class HSearchSuggestionContent extends phoeni
112
112
  : ''}"
113
113
  data-suggested-value="${suggestion.suggestionName}"
114
114
  data-search-item-id="${index}"
115
+ ${this.suggestionAriaLabel ? `aria-label="${this.suggestionAriaLabel} ${suggestion.suggestionName}"` : ''}
115
116
  >
116
117
  ${when.when(suggestion.type === search_constants.SUGGESTIONS_TYPE.suggestion, () => lit.html ` <span> ${this._getMatchedPhrase(suggestion.suggestionName)} </span>
117
118
  <h-icon
@@ -157,6 +158,10 @@ tslib_es6.__decorate([
157
158
  decorators.property({ type: String, attribute: 'module-instance-id' }),
158
159
  tslib_es6.__metadata("design:type", String)
159
160
  ], exports.HSearchSuggestionContent.prototype, "moduleInstanceId", void 0);
161
+ tslib_es6.__decorate([
162
+ decorators.property({ type: String }),
163
+ tslib_es6.__metadata("design:type", String)
164
+ ], exports.HSearchSuggestionContent.prototype, "suggestionAriaLabel", void 0);
160
165
  tslib_es6.__decorate([
161
166
  decorators.state(),
162
167
  tslib_es6.__metadata("design:type", String)
@@ -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,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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -27,6 +27,7 @@ exports.HModal = HModal_1 = class HModal extends phoenix_light_lit_element.Phoen
27
27
  this._firstFocusableElement = undefined;
28
28
  this._focusableElements = null;
29
29
  this._lastFocusableElement = undefined;
30
+ this._focusedToggler = null;
30
31
  this._contentRef = ref_js.createRef();
31
32
  this._focusSentinelStart = ref_js.createRef();
32
33
  this._focusSentinelEnd = ref_js.createRef();
@@ -151,7 +152,18 @@ exports.HModal = HModal_1 = class HModal extends phoenix_light_lit_element.Phoen
151
152
  this._propsChangeStrategies[modal_constants.MODAL_OPENED_PROP][String(this[modal_constants.MODAL_OPENED_PROP])]();
152
153
  }
153
154
  }
155
+ _setFocusToFirstFocusableElementInModalOrCloseBtn() {
156
+ requestAnimationFrame(() => {
157
+ if (this._contentRef.value) {
158
+ const focusableElements = utilities.UiDomUtils.getFocusableElements(this._contentRef.value);
159
+ if (focusableElements.length > 0) {
160
+ focusableElements.length > 1 ? focusableElements[1].focus() : focusableElements[0].focus();
161
+ }
162
+ }
163
+ });
164
+ }
154
165
  async open() {
166
+ this._focusedToggler = document.activeElement;
155
167
  return new Promise((resolve) => {
156
168
  var _a;
157
169
  this[modal_constants.MODAL_OPENED_PROP] = true;
@@ -165,6 +177,7 @@ exports.HModal = HModal_1 = class HModal extends phoenix_light_lit_element.Phoen
165
177
  setTimeout(() => {
166
178
  var _a;
167
179
  (_a = this._contentRef.value) === null || _a === void 0 ? void 0 : _a.classList.remove(`modal_show-${this.transition}-start`, `modal_show-${this.transition}-end`);
180
+ this._setFocusToFirstFocusableElementInModalOrCloseBtn();
168
181
  resolve();
169
182
  }, transitionDuration);
170
183
  });
@@ -176,6 +189,10 @@ exports.HModal = HModal_1 = class HModal extends phoenix_light_lit_element.Phoen
176
189
  }
177
190
  _dispatchModalClosedEvent() {
178
191
  this.emitCustomEvent(modal_constants.MODAL_EVENTS.closed);
192
+ requestAnimationFrame(() => {
193
+ var _a;
194
+ (_a = this._focusedToggler) === null || _a === void 0 ? void 0 : _a.focus();
195
+ });
179
196
  this._backdropController.hide();
180
197
  }
181
198
  render() {
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,4CAAgD;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,4CAAgD;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -34,7 +34,10 @@ export declare class HSearch extends PhoenixLightLitElement {
34
34
  private _displayHistorySuggestions;
35
35
  private _hideHistorySuggestionsAndResults;
36
36
  private _displayResults;
37
+ private _handleToggleHistoryAndResults;
38
+ private _toggleSearchInputAria;
37
39
  private _bindKeys;
40
+ private _dispatchActiveItemChangeEvent;
38
41
  private _getSearchItemsCount;
39
42
  private _scroll;
40
43
  private _handleChooseSearchItem;
@@ -10,7 +10,7 @@ import { BehaviorSubject } from '../../../core/classes/behavior_subject/behavior
10
10
  import { ContextProviderController } from '../../../core/context/context_provider_controller.js';
11
11
  import { BREAKPOINTS } from '../../../global_constants.js';
12
12
  import { when as n } from '../../../../../../external/lit/external/lit-html/directives/when.js';
13
- import { DEFAULT_VIEW, SEARCH_CLASS_NAMES, SCROLL_DIRECTIONS, SEARCH_CONFIGURATION, SEARCH_COMPONENT_NAMES, SEARCH_CONTEXT_NAMES, SEARCH_CUSTOM_EVENT_NAMES } from './search_constants.js';
13
+ import { DEFAULT_VIEW, SEARCH_CLASS_NAMES, SCROLL_DIRECTIONS, SEARCH_CUSTOM_EVENT_NAMES, SEARCH_CONFIGURATION, SEARCH_COMPONENT_NAMES, SEARCH_CONTEXT_NAMES } from './search_constants.js';
14
14
 
15
15
  let HSearch = class HSearch extends PhoenixLightLitElement {
16
16
  constructor() {
@@ -34,11 +34,13 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
34
34
  case 'ArrowDown':
35
35
  ev.preventDefault();
36
36
  this._activeItemId = this._activeItemId === searchItemsCount - 1 ? 0 : this._activeItemId + 1;
37
+ this._dispatchActiveItemChangeEvent();
37
38
  this._scroll(SCROLL_DIRECTIONS.down);
38
39
  break;
39
40
  case 'ArrowUp':
40
41
  ev.preventDefault();
41
42
  this._activeItemId = this._activeItemId === 0 || this._activeItemId === -1 ? searchItemsCount - 1 : this._activeItemId - 1;
43
+ this._dispatchActiveItemChangeEvent();
42
44
  this._scroll(SCROLL_DIRECTIONS.up);
43
45
  break;
44
46
  case 'Enter':
@@ -63,6 +65,14 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
63
65
  break;
64
66
  }
65
67
  };
68
+ this._dispatchActiveItemChangeEvent = () => {
69
+ const ev = new CustomEvent(SEARCH_CUSTOM_EVENT_NAMES.activeItemChange, {
70
+ detail: {
71
+ activeItemId: this._activeItemId
72
+ }
73
+ });
74
+ this.dispatchEvent(ev);
75
+ };
66
76
  this._getSearchItemsCount = () => {
67
77
  if (this._shouldShowHistory)
68
78
  return this._historyLimitedContent.length;
@@ -204,16 +214,42 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
204
214
  }
205
215
  }
206
216
  _displayHistorySuggestions() {
207
- this._shouldShowHistory = true;
208
- this._shouldShowResults = false;
217
+ this._handleToggleHistoryAndResults({
218
+ shouldShowHistory: true,
219
+ shouldShowResults: false
220
+ });
209
221
  }
210
222
  _hideHistorySuggestionsAndResults() {
211
- this._shouldShowHistory = false;
212
- this._shouldShowResults = false;
223
+ this._handleToggleHistoryAndResults({
224
+ shouldShowHistory: false,
225
+ shouldShowResults: false
226
+ });
213
227
  }
214
228
  _displayResults() {
215
- this._shouldShowHistory = false;
216
- this._shouldShowResults = true;
229
+ this._handleToggleHistoryAndResults({
230
+ shouldShowHistory: false,
231
+ shouldShowResults: true
232
+ });
233
+ }
234
+ _handleToggleHistoryAndResults({ shouldShowHistory, shouldShowResults }) {
235
+ this._shouldShowHistory = shouldShowHistory;
236
+ this._shouldShowResults = shouldShowResults;
237
+ this._toggleSearchInputAria(shouldShowHistory, shouldShowResults);
238
+ }
239
+ _toggleSearchInputAria(shouldShowHistory, shouldShowResults) {
240
+ var _a;
241
+ const $input = (_a = this._searchInput) === null || _a === void 0 ? void 0 : _a.input;
242
+ if (!$input)
243
+ return;
244
+ if (!shouldShowHistory && !shouldShowResults) {
245
+ $input.removeAttribute('aria-label');
246
+ return;
247
+ }
248
+ $input.setAttribute('aria-expanded', 'true');
249
+ if (shouldShowHistory)
250
+ $input.setAttribute('aria-label', this.settings.historyAriaLabelGuide);
251
+ if (shouldShowResults)
252
+ $input.setAttribute('aria-label', this.settings.suggesterAriaLabelGuide);
217
253
  }
218
254
  _scroll(direction) {
219
255
  const searchContainer = this.querySelector(`.${SEARCH_CLASS_NAMES.container}`);
@@ -296,6 +332,7 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
296
332
  .translations="${this._translations}"
297
333
  active-item-id="${this._activeItemId}"
298
334
  module-instance-id="${this.moduleInstanceId}"
335
+ .historyAriaLabel="${this.settings.historyAriaLabel}"
299
336
  ></h-search-history>`)}
300
337
  ${n(this._shouldShowResults, () => html `<h-search-results
301
338
  .results="${this._searchResults}"
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,+CAAmD;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,qEAA6E;AACvG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,uCAAuC,+CAAmD;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,qEAA6E;AACvG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -28,6 +28,7 @@ export declare const SEARCH_CUSTOM_EVENT_NAMES: {
28
28
  readonly updateSearchPhrase: "updateSearchPhrase";
29
29
  readonly focusin: "searchFocusIn";
30
30
  readonly keydown: "searchKeyDown";
31
+ readonly activeItemChange: "activeItemChange";
31
32
  };
32
33
  export declare const SEARCH_CLASS_NAMES: {
33
34
  readonly searchBar: "search__bar";
@@ -26,7 +26,8 @@ const SEARCH_CUSTOM_EVENT_NAMES = {
26
26
  search: 'search',
27
27
  updateSearchPhrase: 'updateSearchPhrase',
28
28
  focusin: 'searchFocusIn',
29
- keydown: 'searchKeyDown'
29
+ keydown: 'searchKeyDown',
30
+ activeItemChange: 'activeItemChange'
30
31
  };
31
32
  const baseSearchCssClass = 'search';
32
33
  const SEARCH_CLASS_NAMES = {
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -68,6 +68,12 @@ export declare type TSearchSettings = {
68
68
  showProductRate: boolean;
69
69
  showProductAvailability: boolean;
70
70
  showProductPrice: boolean;
71
+ historyAriaLabelGuide: string;
72
+ suggesterAriaLabelGuide: string;
73
+ historyAriaLabel: string;
74
+ suggestionAriaLabel: string;
75
+ productAriaLabel: string;
76
+ producerAriaLabel: string;
71
77
  };
72
78
  export declare type TScrollDirection = TEnumLiteralsOf<typeof SCROLL_DIRECTIONS>;
73
79
  export declare type TSuggestionType = TEnumLiteralsOf<typeof SUGGESTIONS_TYPE>;
@@ -77,3 +83,10 @@ export declare type TSuggestion = {
77
83
  categoryName?: string;
78
84
  url?: string;
79
85
  };
86
+ export declare type THandleToggleHistoryAndResults = {
87
+ shouldShowHistory: boolean;
88
+ shouldShowResults: boolean;
89
+ };
90
+ export declare type TActiveItemChangeEventDetail = {
91
+ activeItemId: number;
92
+ };
@@ -12,6 +12,9 @@ export declare class HSearchHistory extends PhoenixLightLitElement {
12
12
  activeItemId: number;
13
13
  translations: Record<string, string>;
14
14
  moduleInstanceId: string;
15
+ historyAriaLabel?: string;
15
16
  connectedCallback(): Promise<void>;
17
+ private _handleActiveItemChange;
18
+ disconnectedCallback(): void;
16
19
  protected render(): TemplateResult;
17
20
  }
@@ -8,7 +8,7 @@ import { Observer } from '../../../../../core/classes/observer/observer.js';
8
8
  import { ContextConsumerController } from '../../../../../core/context/context_consumer_controller.js';
9
9
  import { createRef, ref } from 'lit-html/directives/ref.js';
10
10
  import { when as n } from '../../../../../../../../external/lit/external/lit-html/directives/when.js';
11
- import { SEARCH_CONTEXT_NAMES, SEARCH_CLASS_NAMES, SEARCH_COMPONENT_NAMES } from '../../search_constants.js';
11
+ import { SEARCH_CONTEXT_NAMES, SEARCH_CUSTOM_EVENT_NAMES, SEARCH_CLASS_NAMES, SEARCH_COMPONENT_NAMES } from '../../search_constants.js';
12
12
  import { repeat as c } from '../../../../../../../../external/lit/external/lit-html/directives/repeat.js';
13
13
 
14
14
  let HSearchHistory = class HSearchHistory extends PhoenixLightLitElement {
@@ -17,6 +17,11 @@ let HSearchHistory = class HSearchHistory extends PhoenixLightLitElement {
17
17
  this.buttonRef = createRef();
18
18
  this.history = [];
19
19
  this.translations = {};
20
+ this._handleActiveItemChange = (ev) => {
21
+ const { activeItemId } = ev.detail;
22
+ const $activeItem = this.querySelector(`[data-search-item-id="${activeItemId}"]`);
23
+ $activeItem === null || $activeItem === void 0 ? void 0 : $activeItem.focus();
24
+ };
20
25
  }
21
26
  async connectedCallback() {
22
27
  super.connectedCallback();
@@ -35,6 +40,11 @@ let HSearchHistory = class HSearchHistory extends PhoenixLightLitElement {
35
40
  catch (_a) {
36
41
  console.error('Search context is not provided');
37
42
  }
43
+ document.addEventListener(SEARCH_CUSTOM_EVENT_NAMES.activeItemChange, this._handleActiveItemChange);
44
+ }
45
+ disconnectedCallback() {
46
+ super.disconnectedCallback();
47
+ document.removeEventListener(SEARCH_CUSTOM_EVENT_NAMES.activeItemChange, this._handleActiveItemChange);
38
48
  }
39
49
  render() {
40
50
  var _a;
@@ -50,6 +60,7 @@ let HSearchHistory = class HSearchHistory extends PhoenixLightLitElement {
50
60
  data-suggested-value="${historyElement.label}"
51
61
  data-search-item-id="${index}"
52
62
  module-instance-id="${this.moduleInstanceId}"
63
+ ${this.historyAriaLabel ? `aria-label="${this.historyAriaLabel} ${historyElement.label}"` : ''}
53
64
  >
54
65
  <h-icon icon-name="icon-clock"></h-icon>
55
66
 
@@ -88,6 +99,10 @@ __decorate([
88
99
  property({ type: String, attribute: 'module-instance-id' }),
89
100
  __metadata("design:type", String)
90
101
  ], HSearchHistory.prototype, "moduleInstanceId", void 0);
102
+ __decorate([
103
+ property({ type: String }),
104
+ __metadata("design:type", String)
105
+ ], HSearchHistory.prototype, "historyAriaLabel", void 0);
91
106
  HSearchHistory = __decorate([
92
107
  phoenixCustomElement(SEARCH_COMPONENT_NAMES.searchHistory)
93
108
  ], HSearchHistory);
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,qDAAyD;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,2EAAmF;AAC7G;AACA,4BAA4B,6EAAqF;AACjH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,uCAAuC,qDAAyD;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,2EAAmF;AAC7G;AACA,4BAA4B,6EAAqF;AACjH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,6 +1,6 @@
1
1
  import { PhoenixLightLitElement } from "../../../../../core/phoenix_light_lit_element/phoenix_light_lit_element";
2
2
  export declare class HSearchInput extends PhoenixLightLitElement {
3
- private _input;
3
+ input: HTMLInputElement | null;
4
4
  moduleInstanceId: string;
5
5
  private _isSearchPhraseCleared;
6
6
  connectedCallback(): void;
@@ -11,8 +11,8 @@ let HSearchInput = class HSearchInput extends PhoenixLightLitElement {
11
11
  }
12
12
  connectedCallback() {
13
13
  super.connectedCallback();
14
- this._input = this.querySelector('input[type="search"]');
15
- if (!this._input) {
14
+ this.input = this.querySelector('input[type="search"]');
15
+ if (!this.input) {
16
16
  throw new Error('Search input not found');
17
17
  }
18
18
  this._setupInitialValue();
@@ -24,7 +24,7 @@ let HSearchInput = class HSearchInput extends PhoenixLightLitElement {
24
24
  if (!searchPhraseRegArray)
25
25
  return;
26
26
  const searchQuery = searchPhraseRegArray[1].replace(/\+/g, ' ');
27
- this._input.value = decodeURIComponent(this._deserializeInputPhrase(searchQuery));
27
+ this.input.value = decodeURIComponent(this._deserializeInputPhrase(searchQuery));
28
28
  }
29
29
  _deserializeInputPhrase(value) {
30
30
  if (value.indexOf('%2f') !== -1) {
@@ -42,14 +42,14 @@ let HSearchInput = class HSearchInput extends PhoenixLightLitElement {
42
42
  return value;
43
43
  }
44
44
  _setupListeners() {
45
- this._input.addEventListener('focusin', (ev) => {
45
+ this.input.addEventListener('focusin', (ev) => {
46
46
  this.emitCustomEvent(SEARCH_CUSTOM_EVENT_NAMES.focusin, {
47
47
  detail: {
48
48
  searchPhrase: ev.target.value
49
49
  }
50
50
  });
51
51
  });
52
- this._input.addEventListener('keydown', (ev) => {
52
+ this.input.addEventListener('keydown', (ev) => {
53
53
  if (ev.key === 'ArrowUp' || ev.key === 'ArrowDown' || ev.key === 'Escape')
54
54
  return;
55
55
  if (ev.key !== 'Enter') {
@@ -70,8 +70,8 @@ let HSearchInput = class HSearchInput extends PhoenixLightLitElement {
70
70
  }
71
71
  });
72
72
  });
73
- this._input.addEventListener('search', (ev) => {
74
- if (this._input.value !== '') {
73
+ this.input.addEventListener('search', (ev) => {
74
+ if (this.input.value !== '') {
75
75
  return;
76
76
  }
77
77
  this.emitCustomEvent(SEARCH_CUSTOM_EVENT_NAMES.search, {
@@ -84,13 +84,13 @@ let HSearchInput = class HSearchInput extends PhoenixLightLitElement {
84
84
  if (!ev.detail || ev.detail.moduleInstanceId !== this.moduleInstanceId)
85
85
  return;
86
86
  this._isSearchPhraseCleared = true;
87
- this._input.value = '';
88
- this._input.focus();
87
+ this.input.value = '';
88
+ this.input.focus();
89
89
  });
90
90
  document.addEventListener(SEARCH_CUSTOM_EVENT_NAMES.updateSearchPhrase, (ev) => {
91
91
  if (!ev.detail || ev.detail.moduleInstanceId !== this.moduleInstanceId)
92
92
  return;
93
- this._input.value = ev.detail.searchPhrase;
93
+ this.input.value = ev.detail.searchPhrase;
94
94
  this.emitCustomEvent(SEARCH_CUSTOM_EVENT_NAMES.keydown, {
95
95
  detail: {
96
96
  searchPhrase: ev.detail.searchPhrase
@@ -7,6 +7,7 @@ export declare class HSearchProducerContent extends PhoenixLightLitElement {
7
7
  initialItemIds: Record<string, number>;
8
8
  translations: Record<string, string>;
9
9
  searchPhrase: string;
10
+ producerAriaLabel?: string;
10
11
  private _getMatchedPhrase;
11
12
  protected render(): TemplateResult;
12
13
  }
@@ -32,6 +32,7 @@ let HSearchProducerContent = class HSearchProducerContent extends PhoenixLightLi
32
32
  ? SEARCH_CLASS_NAMES.itemActive
33
33
  : ''}"
34
34
  data-search-item-id="${this.initialItemIds.producers + index}"
35
+ ${this.producerAriaLabel ? `aria-label="${this.producerAriaLabel} ${producer.name}"` : ''}
35
36
  >
36
37
  <a
37
38
  href="${producer.url}"
@@ -67,6 +68,10 @@ __decorate([
67
68
  property({ type: String, attribute: 'search-phrase' }),
68
69
  __metadata("design:type", String)
69
70
  ], HSearchProducerContent.prototype, "searchPhrase", void 0);
71
+ __decorate([
72
+ property({ type: String }),
73
+ __metadata("design:type", String)
74
+ ], HSearchProducerContent.prototype, "producerAriaLabel", void 0);
70
75
  HSearchProducerContent = __decorate([
71
76
  phoenixCustomElement(SEARCH_COMPONENT_NAMES.searchProducerContent)
72
77
  ], HSearchProducerContent);
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,qDAAyD;AAChG;AACA;AACA;AACA;AACA,0BAA0B,2EAAmF;AAC7G;AACA,4BAA4B,6EAAqF;AACjH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,uCAAuC,qDAAyD;AAChG;AACA;AACA;AACA;AACA,0BAA0B,2EAAmF;AAC7G;AACA,4BAA4B,6EAAqF;AACjH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -7,6 +7,7 @@ export declare class HSearchProductContent extends PhoenixLightLitElement {
7
7
  activeItemId: number;
8
8
  initialItemIds: Record<string, number>;
9
9
  translations: Record<string, string>;
10
+ productAriaLabel?: string;
10
11
  getProductRateHtml: (productRate: number) => TemplateResult;
11
12
  private _getShortenProductName;
12
13
  private _getPercentPromotion;
@@ -45,6 +45,7 @@ let HSearchProductContent = class HSearchProductContent extends PhoenixLightLitE
45
45
  ? SEARCH_CLASS_NAMES.itemActive
46
46
  : ''}"
47
47
  data-search-item-id="${this.initialItemIds.products + index}"
48
+ ${this.productAriaLabel ? `aria-label="${this.productAriaLabel} ${product.name}"` : ''}
48
49
  >
49
50
  <a
50
51
  href="${product.url}"
@@ -104,6 +105,10 @@ __decorate([
104
105
  property({ type: Object }),
105
106
  __metadata("design:type", Object)
106
107
  ], HSearchProductContent.prototype, "translations", void 0);
108
+ __decorate([
109
+ property({ type: String }),
110
+ __metadata("design:type", String)
111
+ ], HSearchProductContent.prototype, "productAriaLabel", void 0);
107
112
  HSearchProductContent = __decorate([
108
113
  phoenixCustomElement(SEARCH_COMPONENT_NAMES.searchProductContent)
109
114
  ], HSearchProductContent);
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,qDAAyD;AAChG;AACA;AACA;AACA;AACA,0BAA0B,2EAAmF;AAC7G;AACA,4BAA4B,6EAAqF;AACjH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,uCAAuC,qDAAyD;AAChG;AACA;AACA;AACA;AACA,0BAA0B,2EAAmF;AAC7G;AACA,4BAA4B,6EAAqF;AACjH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,9 @@ export declare class HSearchResults extends PhoenixLightLitElement {
11
11
  translations: Record<string, string>;
12
12
  moduleInstanceId: string;
13
13
  private _productPage;
14
+ connectedCallback(): void;
15
+ private _handleActiveItemChange;
16
+ disconnectedCallback(): void;
14
17
  private _getInitialItemsIds;
15
18
  private _isProductInTheCategory;
16
19
  private _areSearchResultsNotEmpty;
@@ -13,6 +13,11 @@ let HSearchResults = class HSearchResults extends PhoenixLightLitElement {
13
13
  this.searchPhrase = '';
14
14
  this.translations = {};
15
15
  this._productPage = 1;
16
+ this._handleActiveItemChange = (ev) => {
17
+ const { activeItemId } = ev.detail;
18
+ const $activeItem = this.querySelector(`[data-search-item-id="${activeItemId}"]`);
19
+ $activeItem === null || $activeItem === void 0 ? void 0 : $activeItem.focus();
20
+ };
16
21
  this._getInitialItemsIds = () => {
17
22
  const suggestionInCategoryInitialItemId = this.results.suggestions.length;
18
23
  const categoryInitialItemId = this._isProductInTheCategory() ? suggestionInCategoryInitialItemId + 1 : suggestionInCategoryInitialItemId;
@@ -26,6 +31,14 @@ let HSearchResults = class HSearchResults extends PhoenixLightLitElement {
26
31
  };
27
32
  };
28
33
  }
34
+ connectedCallback() {
35
+ super.connectedCallback();
36
+ document.addEventListener(SEARCH_CUSTOM_EVENT_NAMES.activeItemChange, this._handleActiveItemChange);
37
+ }
38
+ disconnectedCallback() {
39
+ super.disconnectedCallback();
40
+ document.removeEventListener(SEARCH_CUSTOM_EVENT_NAMES.activeItemChange, this._handleActiveItemChange);
41
+ }
29
42
  _isProductInTheCategory() {
30
43
  return this.results.products.length && this.results.suggestions.length;
31
44
  }
@@ -68,6 +81,7 @@ let HSearchResults = class HSearchResults extends PhoenixLightLitElement {
68
81
  locale="${this.locale}"
69
82
  view="${this.view}"
70
83
  module-instance-id="${this.moduleInstanceId}"
84
+ .suggestionAriaLabel=${this.settings.suggestionAriaLabel}
71
85
  >
72
86
  </h-search-suggestion-content>`)}
73
87
  ${n((_c = this.results.products) === null || _c === void 0 ? void 0 : _c.length, () => html `
@@ -78,6 +92,7 @@ let HSearchResults = class HSearchResults extends PhoenixLightLitElement {
78
92
  active-item-id="${this.activeItemId}"
79
93
  .initialItemIds="${this._getInitialItemsIds()}"
80
94
  .translations="${this.translations}"
95
+ .productAriaLabel=${this.settings.productAriaLabel}
81
96
  ></h-search-product-content>
82
97
 
83
98
  ${n(this.settings.isLoadingMoreSearchResultsEnabled, () => n(this._areMoreProductsAvailable(), () => html `<button
@@ -100,6 +115,7 @@ let HSearchResults = class HSearchResults extends PhoenixLightLitElement {
100
115
  .initialItemIds="${this._getInitialItemsIds()}"
101
116
  .translations="${this.translations}"
102
117
  search-phrase="${this.searchPhrase}"
118
+ .producerAriaLabel=${this.settings.producerAriaLabel}
103
119
  ></h-search-producer-content>`)}
104
120
  `;
105
121
  });
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,qDAAyD;AAChG;AACA;AACA;AACA;AACA,0BAA0B,2EAAmF;AAC7G;AACA,sBAAsB,oDAAwD;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,uCAAuC,qDAAyD;AAChG;AACA;AACA;AACA;AACA,0BAA0B,2EAAmF;AAC7G;AACA,sBAAsB,oDAAwD;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -10,6 +10,7 @@ export declare class HSearchSuggestionContent extends PhoenixLightLitElement {
10
10
  view: string;
11
11
  locale: string;
12
12
  moduleInstanceId: string;
13
+ suggestionAriaLabel?: string;
13
14
  private _searchPhrase;
14
15
  private _suggestionsData;
15
16
  connectedCallback(): Promise<void>;
@@ -108,6 +108,7 @@ let HSearchSuggestionContent = class HSearchSuggestionContent extends PhoenixLig
108
108
  : ''}"
109
109
  data-suggested-value="${suggestion.suggestionName}"
110
110
  data-search-item-id="${index}"
111
+ ${this.suggestionAriaLabel ? `aria-label="${this.suggestionAriaLabel} ${suggestion.suggestionName}"` : ''}
111
112
  >
112
113
  ${n(suggestion.type === SUGGESTIONS_TYPE.suggestion, () => html ` <span> ${this._getMatchedPhrase(suggestion.suggestionName)} </span>
113
114
  <h-icon
@@ -153,6 +154,10 @@ __decorate([
153
154
  property({ type: String, attribute: 'module-instance-id' }),
154
155
  __metadata("design:type", String)
155
156
  ], HSearchSuggestionContent.prototype, "moduleInstanceId", void 0);
157
+ __decorate([
158
+ property({ type: String }),
159
+ __metadata("design:type", String)
160
+ ], HSearchSuggestionContent.prototype, "suggestionAriaLabel", void 0);
156
161
  __decorate([
157
162
  state(),
158
163
  __metadata("design:type", String)
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,qDAAyD;AAChG;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,2EAAmF;AAC7G;AACA,4BAA4B,6EAAqF;AACjH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,uCAAuC,qDAAyD;AAChG;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,2EAAmF;AAC7G;AACA,4BAA4B,6EAAqF;AACjH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -9,6 +9,7 @@ export declare class HModal extends PhoenixLightLitElement {
9
9
  _firstFocusableElement: HTMLElement | undefined;
10
10
  _focusableElements: HTMLElement[] | null;
11
11
  _lastFocusableElement: HTMLElement | undefined;
12
+ private _focusedToggler;
12
13
  private _contentRef;
13
14
  private _focusSentinelStart;
14
15
  private _focusSentinelEnd;
@@ -22,6 +23,7 @@ export declare class HModal extends PhoenixLightLitElement {
22
23
  disconnectedCallback(): void;
23
24
  firstUpdated(props: PropertyValues): void;
24
25
  updated(changedProps: Map<string, any>): void;
26
+ private _setFocusToFirstFocusableElementInModalOrCloseBtn;
25
27
  private _keepFocusWithinModal;
26
28
  private _handleCloseFromCloseComponent;
27
29
  private _bindCloseOnEsc;
@@ -23,6 +23,7 @@ let HModal = HModal_1 = class HModal extends PhoenixLightLitElement {
23
23
  this._firstFocusableElement = undefined;
24
24
  this._focusableElements = null;
25
25
  this._lastFocusableElement = undefined;
26
+ this._focusedToggler = null;
26
27
  this._contentRef = createRef();
27
28
  this._focusSentinelStart = createRef();
28
29
  this._focusSentinelEnd = createRef();
@@ -147,7 +148,18 @@ let HModal = HModal_1 = class HModal extends PhoenixLightLitElement {
147
148
  this._propsChangeStrategies[MODAL_OPENED_PROP][String(this[MODAL_OPENED_PROP])]();
148
149
  }
149
150
  }
151
+ _setFocusToFirstFocusableElementInModalOrCloseBtn() {
152
+ requestAnimationFrame(() => {
153
+ if (this._contentRef.value) {
154
+ const focusableElements = UiDomUtils.getFocusableElements(this._contentRef.value);
155
+ if (focusableElements.length > 0) {
156
+ focusableElements.length > 1 ? focusableElements[1].focus() : focusableElements[0].focus();
157
+ }
158
+ }
159
+ });
160
+ }
150
161
  async open() {
162
+ this._focusedToggler = document.activeElement;
151
163
  return new Promise((resolve) => {
152
164
  var _a;
153
165
  this[MODAL_OPENED_PROP] = true;
@@ -161,6 +173,7 @@ let HModal = HModal_1 = class HModal extends PhoenixLightLitElement {
161
173
  setTimeout(() => {
162
174
  var _a;
163
175
  (_a = this._contentRef.value) === null || _a === void 0 ? void 0 : _a.classList.remove(`modal_show-${this.transition}-start`, `modal_show-${this.transition}-end`);
176
+ this._setFocusToFirstFocusableElementInModalOrCloseBtn();
164
177
  resolve();
165
178
  }, transitionDuration);
166
179
  });
@@ -172,6 +185,10 @@ let HModal = HModal_1 = class HModal extends PhoenixLightLitElement {
172
185
  }
173
186
  _dispatchModalClosedEvent() {
174
187
  this.emitCustomEvent(MODAL_EVENTS.closed);
188
+ requestAnimationFrame(() => {
189
+ var _a;
190
+ (_a = this._focusedToggler) === null || _a === void 0 ? void 0 : _a.focus();
191
+ });
175
192
  this._backdropController.hide();
176
193
  }
177
194
  render() {
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,uCAAuC,4CAAgD;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@shoper/phoenix_design_system",
3
3
  "packageManager": "yarn@3.2.0",
4
4
  "sideEffects": false,
5
- "version": "1.11.5",
5
+ "version": "1.11.7-0",
6
6
  "description": "phoenix design system",
7
7
  "author": "zefirek",
8
8
  "license": "MIT",