@shoper/phoenix_design_system 1.18.12 → 1.18.14

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.
@@ -18,6 +18,7 @@ exports.HAccordionContent = class HAccordionContent extends phoenix_light_lit_el
18
18
  constructor() {
19
19
  super();
20
20
  this.transitionName = 'accordion-toggle';
21
+ this.isDevAccordionHeightFixFlagEnabled = false;
21
22
  this._resizeDebounceTimer = null;
22
23
  this._mutationDebounceTimer = null;
23
24
  this._mutationObserver = null;
@@ -48,18 +49,23 @@ exports.HAccordionContent = class HAccordionContent extends phoenix_light_lit_el
48
49
  window.clearTimeout(this._mutationDebounceTimer);
49
50
  }
50
51
  this._mutationDebounceTimer = window.setTimeout(() => {
51
- requestAnimationFrame(() => {
52
- this.style.height = 'auto';
52
+ if (this.isDevAccordionHeightFixFlagEnabled) {
53
+ this._forceHeightRecalculation();
54
+ }
55
+ else {
53
56
  requestAnimationFrame(() => {
54
- this._setOriginalHeightValue();
55
- if (this.hidden) {
56
- this.style.height = '0px';
57
- }
58
- else {
59
- this.style.height = this._originalHeight;
60
- }
57
+ this.style.height = 'auto';
58
+ requestAnimationFrame(() => {
59
+ this._setOriginalHeightValue();
60
+ if (this.hidden) {
61
+ this.style.height = '0px';
62
+ }
63
+ else {
64
+ this.style.height = this._originalHeight;
65
+ }
66
+ });
61
67
  });
62
- });
68
+ }
63
69
  }, MUTATION_DEBOUNCE_MS);
64
70
  };
65
71
  this._setOriginalHeightValue = () => {
@@ -90,6 +96,7 @@ exports.HAccordionContent = class HAccordionContent extends phoenix_light_lit_el
90
96
  };
91
97
  this.setAttribute('role', 'region');
92
98
  this._boundHandleTransitionEnd = this._handleTransitionEnd.bind(this);
99
+ this._boundHandleImageLoad = this._handleImageLoad.bind(this);
93
100
  }
94
101
  connectedCallback() {
95
102
  super.connectedCallback();
@@ -98,6 +105,9 @@ exports.HAccordionContent = class HAccordionContent extends phoenix_light_lit_el
98
105
  this._subscribeObserver();
99
106
  window.addEventListener('resize', this._handleResize, { passive: true });
100
107
  this.addEventListener('transitionend', this._boundHandleTransitionEnd);
108
+ if (this.isDevAccordionHeightFixFlagEnabled) {
109
+ this._setupImageLoadListeners();
110
+ }
101
111
  }
102
112
  firstUpdated(props) {
103
113
  super.firstUpdated(props);
@@ -113,6 +123,32 @@ exports.HAccordionContent = class HAccordionContent extends phoenix_light_lit_el
113
123
  this._mutationObserver = new MutationObserver(this._handleMutation);
114
124
  this._mutationObserver.observe(this, { childList: true, subtree: true });
115
125
  }
126
+ _forceHeightRecalculation() {
127
+ requestAnimationFrame(() => {
128
+ this.style.height = 'auto';
129
+ requestAnimationFrame(() => {
130
+ this._setOriginalHeightValue();
131
+ if (this.hidden) {
132
+ this.style.height = '0px';
133
+ }
134
+ else {
135
+ this.style.height = this._originalHeight;
136
+ }
137
+ });
138
+ });
139
+ }
140
+ _setupImageLoadListeners() {
141
+ const images = this.querySelectorAll('img');
142
+ images.forEach((img) => {
143
+ if (!img.complete) {
144
+ img.addEventListener('load', this._boundHandleImageLoad, { once: true });
145
+ img.addEventListener('error', this._boundHandleImageLoad, { once: true });
146
+ }
147
+ });
148
+ }
149
+ _handleImageLoad() {
150
+ this._forceHeightRecalculation();
151
+ }
116
152
  _setHeight(height) {
117
153
  this.style.height = height;
118
154
  }
@@ -125,6 +161,13 @@ exports.HAccordionContent = class HAccordionContent extends phoenix_light_lit_el
125
161
  super.disconnectedCallback();
126
162
  (_a = this._accordionGroupProps) === null || _a === void 0 ? void 0 : _a.unsubscribe(this._accordionGroupPropsObserver);
127
163
  (_b = this._mutationObserver) === null || _b === void 0 ? void 0 : _b.disconnect();
164
+ if (this.isDevAccordionHeightFixFlagEnabled) {
165
+ const images = this.querySelectorAll('img');
166
+ images.forEach((img) => {
167
+ img.removeEventListener('load', this._boundHandleImageLoad);
168
+ img.removeEventListener('error', this._boundHandleImageLoad);
169
+ });
170
+ }
128
171
  window.removeEventListener('resize', this._handleResize);
129
172
  this.removeEventListener('transitionend', this._boundHandleTransitionEnd);
130
173
  if (this._resizeDebounceTimer !== null) {
@@ -139,6 +182,10 @@ tslib_es6.__decorate([
139
182
  decorators.property(),
140
183
  tslib_es6.__metadata("design:type", Object)
141
184
  ], exports.HAccordionContent.prototype, "transitionName", void 0);
185
+ tslib_es6.__decorate([
186
+ decorators.property({ type: Boolean, attribute: 'dev_accordion_height_fix' }),
187
+ tslib_es6.__metadata("design:type", Boolean)
188
+ ], exports.HAccordionContent.prototype, "isDevAccordionHeightFixFlagEnabled", void 0);
142
189
  exports.HAccordionContent = tslib_es6.__decorate([
143
190
  phoenix_custom_element.phoenixCustomElement('h-accordion-content'),
144
191
  tslib_es6.__metadata("design:paramtypes", [])
@@ -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;"}
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;"}
@@ -25,7 +25,9 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
25
25
  constructor() {
26
26
  super(...arguments);
27
27
  this.view = search_constants.DEFAULT_VIEW;
28
+ this.isSearchIconFixEnabled = false;
28
29
  this.displayMode = 'dropdown';
30
+ this._togglerElement = null;
29
31
  this._id = v4['default']();
30
32
  this._openSearchButtonAriaLabelId = `${this._id}-open-search-button-aria-label`;
31
33
  this._searchContentContainerId = v4['default']();
@@ -170,8 +172,8 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
170
172
  };
171
173
  this._preventScrollingOnSearchContentBrowsing = (ev) => {
172
174
  var _a;
173
- const hasArrowBeenPressed = ev.key === "ArrowUp" || ev.key === "ArrowDown";
174
- const hasHomeOrEndBeenPressed = ev.key === "Home" || ev.key === "End";
175
+ const hasArrowBeenPressed = ev.key === 'ArrowUp' || ev.key === 'ArrowDown';
176
+ const hasHomeOrEndBeenPressed = ev.key === 'Home' || ev.key === 'End';
175
177
  const hasSearchContainerParent = !!((_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.closest('.search__container'));
176
178
  if ((hasArrowBeenPressed || hasHomeOrEndBeenPressed) && hasSearchContainerParent) {
177
179
  ev.preventDefault();
@@ -244,12 +246,8 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
244
246
  this._handleBackwardFocus($gridSearchItems);
245
247
  };
246
248
  this._findSearchItemsContainer = () => {
247
- const containers = [
248
- this._searchHistoryRef.value,
249
- this._searchResultsRef.value,
250
- this._searchMessageRef.value
251
- ];
252
- return containers.find(container => container && !utilities.UiDomUtils.isElementEmpty(container));
249
+ const containers = [this._searchHistoryRef.value, this._searchResultsRef.value, this._searchMessageRef.value];
250
+ return containers.find((container) => container && !utilities.UiDomUtils.isElementEmpty(container));
253
251
  };
254
252
  this._handleBackwardFocus = ($searchItems) => {
255
253
  var _a;
@@ -346,6 +344,21 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
346
344
  (_a = this._openSearchButtonLabelRef.value) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-labelledby', this._openSearchButtonAriaLabelId);
347
345
  }
348
346
  };
347
+ this._handleOpenSearch = () => {
348
+ this.classList.add(search_constants.SEARCH_CLASS_NAMES.mobileOpened);
349
+ const shouldShowMessage = this._searchPhrase !== '';
350
+ this._updateSearchView(this._searchPhrase, shouldShowMessage, false);
351
+ const $searchInput = this.querySelector(`
352
+ ${search_constants.SEARCH_COMPONENT_NAMES.searchInput} input[type="search"]
353
+ `);
354
+ $searchInput === null || $searchInput === void 0 ? void 0 : $searchInput.focus();
355
+ };
356
+ this._handleOpenSearchWithKeyboard = (ev) => {
357
+ if (ev.code !== 'Enter')
358
+ return;
359
+ ev.preventDefault();
360
+ this._handleOpenSearch();
361
+ };
349
362
  }
350
363
  async connectedCallback() {
351
364
  super.connectedCallback();
@@ -381,7 +394,7 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
381
394
  this._searchInput = this.querySelector(search_constants.SEARCH_COMPONENT_NAMES.searchInput);
382
395
  this._setupInitialSearchPhrase();
383
396
  this._setupListeners();
384
- this._setupAriaAttributes();
397
+ this.isSearchIconFixEnabled ? this._setupToggler() : this._setupAriaAttributes();
385
398
  }
386
399
  disconnectedCallback() {
387
400
  var _a;
@@ -391,6 +404,8 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
391
404
  document.removeEventListener('focusin', this._resetSearchOnFocusOutside);
392
405
  window.removeEventListener('resize', this._switchTypeOfSearchView);
393
406
  (_a = this._searchForm) === null || _a === void 0 ? void 0 : _a.removeEventListener('keydown', this._preventSubmitOnSearchClear);
407
+ if (this.isSearchIconFixEnabled)
408
+ this._teardownToggler();
394
409
  }
395
410
  _setupContext() {
396
411
  this._historyContextProvider = new context_provider_controller.ContextProviderController(this);
@@ -548,7 +563,9 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
548
563
  }
549
564
  }
550
565
  _handleChooseSearchItem($el) {
551
- const $activeSearchItem = this.displayMode === 'dropdown' ? this.querySelector(`[data-search-item-id="${this._activeItemId}"]`) : document.activeElement;
566
+ const $activeSearchItem = this.displayMode === 'dropdown'
567
+ ? this.querySelector(`[data-search-item-id="${this._activeItemId}"]`)
568
+ : document.activeElement;
552
569
  if (!$activeSearchItem)
553
570
  return;
554
571
  const $linkElement = $activeSearchItem.querySelector('a');
@@ -573,49 +590,39 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
573
590
  _submitSearchPhrase(searchPhrase) {
574
591
  this._dispatchEventWithSearchPhrase(search_constants.SEARCH_CUSTOM_EVENT_NAMES.searchPhraseSubmitted, searchPhrase);
575
592
  }
576
- _handleOpenSearch() {
577
- this.classList.add(search_constants.SEARCH_CLASS_NAMES.mobileOpened);
578
- const shouldShowMessage = this._searchPhrase !== '';
579
- this._updateSearchView(this._searchPhrase, shouldShowMessage, false);
580
- const $searchInput = this.querySelector(`
581
- ${search_constants.SEARCH_COMPONENT_NAMES.searchInput} input[type="search"]
582
- `);
583
- $searchInput === null || $searchInput === void 0 ? void 0 : $searchInput.focus();
593
+ _setupToggler() {
594
+ this._togglerElement = this.querySelector('.js-search-toggler');
595
+ if (!this._togglerElement)
596
+ return;
597
+ this._togglerElement.addEventListener('click', this._handleOpenSearch);
598
+ this._togglerElement.addEventListener('keyup', this._handleOpenSearchWithKeyboard);
584
599
  }
585
- _handleOpenSearchWithKeyboard(ev) {
586
- if (ev.code !== 'Enter')
600
+ _teardownToggler() {
601
+ if (!this._togglerElement)
587
602
  return;
588
- ev.preventDefault();
589
- this._handleOpenSearch();
603
+ this._togglerElement.removeEventListener('click', this._handleOpenSearch);
604
+ this._togglerElement.removeEventListener('keyup', this._handleOpenSearchWithKeyboard);
590
605
  }
591
606
  render() {
592
607
  super.render();
593
608
  return lit.html `
594
- <div
595
- class="${search_constants.SEARCH_CLASS_NAMES.icon} labeled-icon hidden-md-only hidden-lg-only hidden-xl-only hidden-xxl-only hidden-xxxl-only"
596
- tabindex="0"
597
- aria-haspopup="dialog"
598
- @click=${this._handleOpenSearch}
599
- @keyup=${this._handleOpenSearchWithKeyboard}
600
- >
601
- ${when.when(this._translations.openSearchButtonAriaLabel, () => lit.html `
602
- <span id="${this._openSearchButtonAriaLabelId}" class="sr-only">
603
- ${this._translations.openSearchButtonAriaLabel}
604
- </span>
605
- `)}
606
- <h-icon icon-name="icon-search" size=${icon_constants.ICONS_SIZES.l}></h-icon>
607
- <div ${ref_js.ref(this._openSearchButtonLabelRef)} class="labeled-icon__signature">
608
- ${this._translations.search}
609
- </div>
610
- </div>
611
-
612
-
609
+ ${when.when(!this.isSearchIconFixEnabled, () => lit.html ` <div
610
+ class="${search_constants.SEARCH_CLASS_NAMES.icon} labeled-icon hidden-md-only hidden-lg-only hidden-xl-only hidden-xxl-only hidden-xxxl-only"
611
+ tabindex="0"
612
+ aria-haspopup="dialog"
613
+ @click=${this._handleOpenSearch}
614
+ @keyup=${this._handleOpenSearchWithKeyboard}
615
+ >
616
+ ${when.when(this._translations.openSearchButtonAriaLabel, () => lit.html `
617
+ <span id="${this._openSearchButtonAriaLabelId}" class="sr-only">
618
+ ${this._translations.openSearchButtonAriaLabel}
619
+ </span>
620
+ `)}
621
+ <h-icon icon-name="icon-search" size=${icon_constants.ICONS_SIZES.l}></h-icon>
622
+ <div ${ref_js.ref(this._openSearchButtonLabelRef)} class="labeled-icon__signature">${this._translations.search}</div>
623
+ </div>`)}
613
624
  ${when.when(this._isSuggesterLayerVisible(), () => lit.html `
614
- <div
615
- class="${search_constants.SEARCH_CLASS_NAMES.container}"
616
- id="${this._searchContentContainerId}"
617
- role="${this._containerRole}"
618
- >
625
+ <div class="${search_constants.SEARCH_CLASS_NAMES.container}" id="${this._searchContentContainerId}" role="${this._containerRole}">
619
626
  ${when.when(this._shouldShowMessage, () => lit.html `<h-search-message
620
627
  ${ref_js.ref(this._searchMessageRef)}
621
628
  .history="${this._historyLimitedContent}"
@@ -645,8 +652,7 @@ exports.HSearch = class HSearch extends phoenix_light_lit_element.PhoenixLightLi
645
652
  module-instance-id="${this.moduleInstanceId}"
646
653
  ></h-search-results>`)}
647
654
  </div>
648
- `, () => lit.html `
649
- <div
655
+ `, () => lit.html ` <div
650
656
  class="${search_constants.SEARCH_CLASS_NAMES.container}"
651
657
  id="${this._searchContentContainerId}"
652
658
  role="${this._containerRole}"
@@ -667,6 +673,10 @@ tslib_es6.__decorate([
667
673
  decorators.property({ type: String }),
668
674
  tslib_es6.__metadata("design:type", String)
669
675
  ], exports.HSearch.prototype, "locale", void 0);
676
+ tslib_es6.__decorate([
677
+ decorators.property({ type: Boolean, attribute: 'is-search-icon-fix-enabled' }),
678
+ tslib_es6.__metadata("design:type", Boolean)
679
+ ], exports.HSearch.prototype, "isSearchIconFixEnabled", void 0);
670
680
  tslib_es6.__decorate([
671
681
  decorators.property({ type: String, attribute: 'display-mode' }),
672
682
  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,+CAAmD;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,wDAA4D;AAC7E;AACA;AACA,mBAAmB,wDAA4D;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,iBAAiB,wDAA4D;AAC7E;AACA;AACA,mBAAmB,wDAA4D;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -2,6 +2,7 @@ import { PhoenixLightLitElement } from "../../core/phoenix_light_lit_element/pho
2
2
  import { PropertyValues } from 'lit';
3
3
  export declare class HAccordionContent extends PhoenixLightLitElement {
4
4
  transitionName: string;
5
+ isDevAccordionHeightFixFlagEnabled: boolean;
5
6
  private _transitionController;
6
7
  private _contextConsumer;
7
8
  private _accordionGroupProps;
@@ -11,6 +12,7 @@ export declare class HAccordionContent extends PhoenixLightLitElement {
11
12
  private _mutationDebounceTimer;
12
13
  private _mutationObserver;
13
14
  private _boundHandleTransitionEnd;
15
+ private _boundHandleImageLoad;
14
16
  constructor();
15
17
  connectedCallback(): void;
16
18
  firstUpdated(props: PropertyValues): void;
@@ -18,6 +20,9 @@ export declare class HAccordionContent extends PhoenixLightLitElement {
18
20
  private _setStylingOptions;
19
21
  private _subscribeObserver;
20
22
  private _handleMutation;
23
+ private _forceHeightRecalculation;
24
+ private _setupImageLoadListeners;
25
+ private _handleImageLoad;
21
26
  private _setOriginalHeightValue;
22
27
  private _expand;
23
28
  private _handleTransitionEnd;
@@ -14,6 +14,7 @@ let HAccordionContent = class HAccordionContent extends PhoenixLightLitElement {
14
14
  constructor() {
15
15
  super();
16
16
  this.transitionName = 'accordion-toggle';
17
+ this.isDevAccordionHeightFixFlagEnabled = false;
17
18
  this._resizeDebounceTimer = null;
18
19
  this._mutationDebounceTimer = null;
19
20
  this._mutationObserver = null;
@@ -44,18 +45,23 @@ let HAccordionContent = class HAccordionContent extends PhoenixLightLitElement {
44
45
  window.clearTimeout(this._mutationDebounceTimer);
45
46
  }
46
47
  this._mutationDebounceTimer = window.setTimeout(() => {
47
- requestAnimationFrame(() => {
48
- this.style.height = 'auto';
48
+ if (this.isDevAccordionHeightFixFlagEnabled) {
49
+ this._forceHeightRecalculation();
50
+ }
51
+ else {
49
52
  requestAnimationFrame(() => {
50
- this._setOriginalHeightValue();
51
- if (this.hidden) {
52
- this.style.height = '0px';
53
- }
54
- else {
55
- this.style.height = this._originalHeight;
56
- }
53
+ this.style.height = 'auto';
54
+ requestAnimationFrame(() => {
55
+ this._setOriginalHeightValue();
56
+ if (this.hidden) {
57
+ this.style.height = '0px';
58
+ }
59
+ else {
60
+ this.style.height = this._originalHeight;
61
+ }
62
+ });
57
63
  });
58
- });
64
+ }
59
65
  }, MUTATION_DEBOUNCE_MS);
60
66
  };
61
67
  this._setOriginalHeightValue = () => {
@@ -86,6 +92,7 @@ let HAccordionContent = class HAccordionContent extends PhoenixLightLitElement {
86
92
  };
87
93
  this.setAttribute('role', 'region');
88
94
  this._boundHandleTransitionEnd = this._handleTransitionEnd.bind(this);
95
+ this._boundHandleImageLoad = this._handleImageLoad.bind(this);
89
96
  }
90
97
  connectedCallback() {
91
98
  super.connectedCallback();
@@ -94,6 +101,9 @@ let HAccordionContent = class HAccordionContent extends PhoenixLightLitElement {
94
101
  this._subscribeObserver();
95
102
  window.addEventListener('resize', this._handleResize, { passive: true });
96
103
  this.addEventListener('transitionend', this._boundHandleTransitionEnd);
104
+ if (this.isDevAccordionHeightFixFlagEnabled) {
105
+ this._setupImageLoadListeners();
106
+ }
97
107
  }
98
108
  firstUpdated(props) {
99
109
  super.firstUpdated(props);
@@ -109,6 +119,32 @@ let HAccordionContent = class HAccordionContent extends PhoenixLightLitElement {
109
119
  this._mutationObserver = new MutationObserver(this._handleMutation);
110
120
  this._mutationObserver.observe(this, { childList: true, subtree: true });
111
121
  }
122
+ _forceHeightRecalculation() {
123
+ requestAnimationFrame(() => {
124
+ this.style.height = 'auto';
125
+ requestAnimationFrame(() => {
126
+ this._setOriginalHeightValue();
127
+ if (this.hidden) {
128
+ this.style.height = '0px';
129
+ }
130
+ else {
131
+ this.style.height = this._originalHeight;
132
+ }
133
+ });
134
+ });
135
+ }
136
+ _setupImageLoadListeners() {
137
+ const images = this.querySelectorAll('img');
138
+ images.forEach((img) => {
139
+ if (!img.complete) {
140
+ img.addEventListener('load', this._boundHandleImageLoad, { once: true });
141
+ img.addEventListener('error', this._boundHandleImageLoad, { once: true });
142
+ }
143
+ });
144
+ }
145
+ _handleImageLoad() {
146
+ this._forceHeightRecalculation();
147
+ }
112
148
  _setHeight(height) {
113
149
  this.style.height = height;
114
150
  }
@@ -121,6 +157,13 @@ let HAccordionContent = class HAccordionContent extends PhoenixLightLitElement {
121
157
  super.disconnectedCallback();
122
158
  (_a = this._accordionGroupProps) === null || _a === void 0 ? void 0 : _a.unsubscribe(this._accordionGroupPropsObserver);
123
159
  (_b = this._mutationObserver) === null || _b === void 0 ? void 0 : _b.disconnect();
160
+ if (this.isDevAccordionHeightFixFlagEnabled) {
161
+ const images = this.querySelectorAll('img');
162
+ images.forEach((img) => {
163
+ img.removeEventListener('load', this._boundHandleImageLoad);
164
+ img.removeEventListener('error', this._boundHandleImageLoad);
165
+ });
166
+ }
124
167
  window.removeEventListener('resize', this._handleResize);
125
168
  this.removeEventListener('transitionend', this._boundHandleTransitionEnd);
126
169
  if (this._resizeDebounceTimer !== null) {
@@ -135,6 +178,10 @@ __decorate([
135
178
  property(),
136
179
  __metadata("design:type", Object)
137
180
  ], HAccordionContent.prototype, "transitionName", void 0);
181
+ __decorate([
182
+ property({ type: Boolean, attribute: 'dev_accordion_height_fix' }),
183
+ __metadata("design:type", Boolean)
184
+ ], HAccordionContent.prototype, "isDevAccordionHeightFixFlagEnabled", void 0);
138
185
  HAccordionContent = __decorate([
139
186
  phoenixCustomElement('h-accordion-content'),
140
187
  __metadata("design:paramtypes", [])
@@ -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;"}
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;"}
@@ -5,6 +5,7 @@ export declare class HSearch extends PhoenixLightLitElement {
5
5
  settings: TSearchSettings;
6
6
  view: string;
7
7
  locale: string;
8
+ isSearchIconFixEnabled: boolean;
8
9
  displayMode: TSearchDisplayMode;
9
10
  moduleInstanceId: string;
10
11
  private _historyContextProvider;
@@ -14,6 +15,7 @@ export declare class HSearch extends PhoenixLightLitElement {
14
15
  private _searchInput;
15
16
  private _inputField;
16
17
  private _searchForm;
18
+ private _togglerElement;
17
19
  private _id;
18
20
  private _openSearchButtonAriaLabelId;
19
21
  private _searchContentContainerId;
@@ -80,5 +82,7 @@ export declare class HSearch extends PhoenixLightLitElement {
80
82
  private _setupAriaAttributes;
81
83
  private _handleOpenSearch;
82
84
  private _handleOpenSearchWithKeyboard;
85
+ private _setupToggler;
86
+ private _teardownToggler;
83
87
  protected render(): TemplateResult;
84
88
  }
@@ -21,7 +21,9 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
21
21
  constructor() {
22
22
  super(...arguments);
23
23
  this.view = DEFAULT_VIEW;
24
+ this.isSearchIconFixEnabled = false;
24
25
  this.displayMode = 'dropdown';
26
+ this._togglerElement = null;
25
27
  this._id = v4();
26
28
  this._openSearchButtonAriaLabelId = `${this._id}-open-search-button-aria-label`;
27
29
  this._searchContentContainerId = v4();
@@ -166,8 +168,8 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
166
168
  };
167
169
  this._preventScrollingOnSearchContentBrowsing = (ev) => {
168
170
  var _a;
169
- const hasArrowBeenPressed = ev.key === "ArrowUp" || ev.key === "ArrowDown";
170
- const hasHomeOrEndBeenPressed = ev.key === "Home" || ev.key === "End";
171
+ const hasArrowBeenPressed = ev.key === 'ArrowUp' || ev.key === 'ArrowDown';
172
+ const hasHomeOrEndBeenPressed = ev.key === 'Home' || ev.key === 'End';
171
173
  const hasSearchContainerParent = !!((_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.closest('.search__container'));
172
174
  if ((hasArrowBeenPressed || hasHomeOrEndBeenPressed) && hasSearchContainerParent) {
173
175
  ev.preventDefault();
@@ -240,12 +242,8 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
240
242
  this._handleBackwardFocus($gridSearchItems);
241
243
  };
242
244
  this._findSearchItemsContainer = () => {
243
- const containers = [
244
- this._searchHistoryRef.value,
245
- this._searchResultsRef.value,
246
- this._searchMessageRef.value
247
- ];
248
- return containers.find(container => container && !UiDomUtils.isElementEmpty(container));
245
+ const containers = [this._searchHistoryRef.value, this._searchResultsRef.value, this._searchMessageRef.value];
246
+ return containers.find((container) => container && !UiDomUtils.isElementEmpty(container));
249
247
  };
250
248
  this._handleBackwardFocus = ($searchItems) => {
251
249
  var _a;
@@ -342,6 +340,21 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
342
340
  (_a = this._openSearchButtonLabelRef.value) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-labelledby', this._openSearchButtonAriaLabelId);
343
341
  }
344
342
  };
343
+ this._handleOpenSearch = () => {
344
+ this.classList.add(SEARCH_CLASS_NAMES.mobileOpened);
345
+ const shouldShowMessage = this._searchPhrase !== '';
346
+ this._updateSearchView(this._searchPhrase, shouldShowMessage, false);
347
+ const $searchInput = this.querySelector(`
348
+ ${SEARCH_COMPONENT_NAMES.searchInput} input[type="search"]
349
+ `);
350
+ $searchInput === null || $searchInput === void 0 ? void 0 : $searchInput.focus();
351
+ };
352
+ this._handleOpenSearchWithKeyboard = (ev) => {
353
+ if (ev.code !== 'Enter')
354
+ return;
355
+ ev.preventDefault();
356
+ this._handleOpenSearch();
357
+ };
345
358
  }
346
359
  async connectedCallback() {
347
360
  super.connectedCallback();
@@ -377,7 +390,7 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
377
390
  this._searchInput = this.querySelector(SEARCH_COMPONENT_NAMES.searchInput);
378
391
  this._setupInitialSearchPhrase();
379
392
  this._setupListeners();
380
- this._setupAriaAttributes();
393
+ this.isSearchIconFixEnabled ? this._setupToggler() : this._setupAriaAttributes();
381
394
  }
382
395
  disconnectedCallback() {
383
396
  var _a;
@@ -387,6 +400,8 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
387
400
  document.removeEventListener('focusin', this._resetSearchOnFocusOutside);
388
401
  window.removeEventListener('resize', this._switchTypeOfSearchView);
389
402
  (_a = this._searchForm) === null || _a === void 0 ? void 0 : _a.removeEventListener('keydown', this._preventSubmitOnSearchClear);
403
+ if (this.isSearchIconFixEnabled)
404
+ this._teardownToggler();
390
405
  }
391
406
  _setupContext() {
392
407
  this._historyContextProvider = new ContextProviderController(this);
@@ -544,7 +559,9 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
544
559
  }
545
560
  }
546
561
  _handleChooseSearchItem($el) {
547
- const $activeSearchItem = this.displayMode === 'dropdown' ? this.querySelector(`[data-search-item-id="${this._activeItemId}"]`) : document.activeElement;
562
+ const $activeSearchItem = this.displayMode === 'dropdown'
563
+ ? this.querySelector(`[data-search-item-id="${this._activeItemId}"]`)
564
+ : document.activeElement;
548
565
  if (!$activeSearchItem)
549
566
  return;
550
567
  const $linkElement = $activeSearchItem.querySelector('a');
@@ -569,49 +586,39 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
569
586
  _submitSearchPhrase(searchPhrase) {
570
587
  this._dispatchEventWithSearchPhrase(SEARCH_CUSTOM_EVENT_NAMES.searchPhraseSubmitted, searchPhrase);
571
588
  }
572
- _handleOpenSearch() {
573
- this.classList.add(SEARCH_CLASS_NAMES.mobileOpened);
574
- const shouldShowMessage = this._searchPhrase !== '';
575
- this._updateSearchView(this._searchPhrase, shouldShowMessage, false);
576
- const $searchInput = this.querySelector(`
577
- ${SEARCH_COMPONENT_NAMES.searchInput} input[type="search"]
578
- `);
579
- $searchInput === null || $searchInput === void 0 ? void 0 : $searchInput.focus();
589
+ _setupToggler() {
590
+ this._togglerElement = this.querySelector('.js-search-toggler');
591
+ if (!this._togglerElement)
592
+ return;
593
+ this._togglerElement.addEventListener('click', this._handleOpenSearch);
594
+ this._togglerElement.addEventListener('keyup', this._handleOpenSearchWithKeyboard);
580
595
  }
581
- _handleOpenSearchWithKeyboard(ev) {
582
- if (ev.code !== 'Enter')
596
+ _teardownToggler() {
597
+ if (!this._togglerElement)
583
598
  return;
584
- ev.preventDefault();
585
- this._handleOpenSearch();
599
+ this._togglerElement.removeEventListener('click', this._handleOpenSearch);
600
+ this._togglerElement.removeEventListener('keyup', this._handleOpenSearchWithKeyboard);
586
601
  }
587
602
  render() {
588
603
  super.render();
589
604
  return html `
590
- <div
591
- class="${SEARCH_CLASS_NAMES.icon} labeled-icon hidden-md-only hidden-lg-only hidden-xl-only hidden-xxl-only hidden-xxxl-only"
592
- tabindex="0"
593
- aria-haspopup="dialog"
594
- @click=${this._handleOpenSearch}
595
- @keyup=${this._handleOpenSearchWithKeyboard}
596
- >
597
- ${n(this._translations.openSearchButtonAriaLabel, () => html `
598
- <span id="${this._openSearchButtonAriaLabelId}" class="sr-only">
599
- ${this._translations.openSearchButtonAriaLabel}
600
- </span>
601
- `)}
602
- <h-icon icon-name="icon-search" size=${ICONS_SIZES.l}></h-icon>
603
- <div ${ref(this._openSearchButtonLabelRef)} class="labeled-icon__signature">
604
- ${this._translations.search}
605
- </div>
606
- </div>
607
-
608
-
605
+ ${n(!this.isSearchIconFixEnabled, () => html ` <div
606
+ class="${SEARCH_CLASS_NAMES.icon} labeled-icon hidden-md-only hidden-lg-only hidden-xl-only hidden-xxl-only hidden-xxxl-only"
607
+ tabindex="0"
608
+ aria-haspopup="dialog"
609
+ @click=${this._handleOpenSearch}
610
+ @keyup=${this._handleOpenSearchWithKeyboard}
611
+ >
612
+ ${n(this._translations.openSearchButtonAriaLabel, () => html `
613
+ <span id="${this._openSearchButtonAriaLabelId}" class="sr-only">
614
+ ${this._translations.openSearchButtonAriaLabel}
615
+ </span>
616
+ `)}
617
+ <h-icon icon-name="icon-search" size=${ICONS_SIZES.l}></h-icon>
618
+ <div ${ref(this._openSearchButtonLabelRef)} class="labeled-icon__signature">${this._translations.search}</div>
619
+ </div>`)}
609
620
  ${n(this._isSuggesterLayerVisible(), () => html `
610
- <div
611
- class="${SEARCH_CLASS_NAMES.container}"
612
- id="${this._searchContentContainerId}"
613
- role="${this._containerRole}"
614
- >
621
+ <div class="${SEARCH_CLASS_NAMES.container}" id="${this._searchContentContainerId}" role="${this._containerRole}">
615
622
  ${n(this._shouldShowMessage, () => html `<h-search-message
616
623
  ${ref(this._searchMessageRef)}
617
624
  .history="${this._historyLimitedContent}"
@@ -641,8 +648,7 @@ let HSearch = class HSearch extends PhoenixLightLitElement {
641
648
  module-instance-id="${this.moduleInstanceId}"
642
649
  ></h-search-results>`)}
643
650
  </div>
644
- `, () => html `
645
- <div
651
+ `, () => html ` <div
646
652
  class="${SEARCH_CLASS_NAMES.container}"
647
653
  id="${this._searchContentContainerId}"
648
654
  role="${this._containerRole}"
@@ -663,6 +669,10 @@ __decorate([
663
669
  property({ type: String }),
664
670
  __metadata("design:type", String)
665
671
  ], HSearch.prototype, "locale", void 0);
672
+ __decorate([
673
+ property({ type: Boolean, attribute: 'is-search-icon-fix-enabled' }),
674
+ __metadata("design:type", Boolean)
675
+ ], HSearch.prototype, "isSearchIconFixEnabled", void 0);
666
676
  __decorate([
667
677
  property({ type: String, attribute: 'display-mode' }),
668
678
  __metadata("design:type", String)
@@ -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;AACA;AACA,eAAe,wDAA4D;AAC3E;AACA;AACA,0BAA0B,wDAA4D;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA,eAAe,wDAA4D;AAC3E;AACA;AACA,0BAA0B,wDAA4D;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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.18.12",
5
+ "version": "1.18.14",
6
6
  "description": "phoenix design system",
7
7
  "author": "zefirek",
8
8
  "license": "MIT",